参考链接:
在Ubuntu20.04中安装ROS Noetic
解决Ubuntu安装ros报错E
这两个链接可以搞定,唯一要注意的是公钥:
设置公钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
其他的我试了,但是没成功!
至此已经在Ubuntu20.04的系统中完整安装ROS Noetic。
接下来参考这个链接:
Ubuntu18.04安装ROS Melodic
我是从这里开始参考的: 避免后面出现sudo rosdep:找不到命令提示,这里需要执行如下命令:
sudo apt install python-rosdep
这里我就报错了
参考这两个链接还是报错:
ROS初始化 sudo rosdep init失败
安装ROS时执行到sudo rosdep init时出现sudo: rosdep:找不到命令提示
最后成功的命令是:
~~sudo apt install python3-rosdep2~~
sudo apt install python3-rosdep
2022年1月7更新:
这里有个大坑,一定要执行sudo apt install python3-rosdep 而不是sudo apt install python3-rosdep2,原因是这样的Missing packages after installing rosdep based on python3-rosdep2 in Noetic
我是倾向于这个回答的,我的踩坑结果也是符合这个回答所提到的
下午报错:
sudo rosdep init
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
参考这个链接解决问题:
sudo rosdep init 出现error
主要思路是将需要翻墙的yaml放在本地,然后将地址都换成本地地址。
我的/etc/ros/rosdep/sources.list.d/20-default.list
里的内容:
yaml file:///home/qiao/project/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///home/qiao/project/rosdistro/rosdep/base.yaml
yaml file:///home/qiao/project/rosdistro/rosdep/python.yaml
yaml file:///home/qiao/project/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/qiao/project/rosdistro/releases/fuerte.yaml fuerte
我修改完的几个函数是这样的:
DEFAULT_SOURCES_LIST_URL = 'file:///home/qiao/project/rosdistro/rosdep/sources.list.d/20-default.list'
REP3_TARGETS_URL = 'file:///home/qiao/project/rosdistro/releases/targets.yaml'
DEFAULT_INDEX_URL = 'file:///home/qiao/project/rosdistro/index-v4.yaml'
总结就是:
首先下载github.com/ros/rosdistro这个包
(这个包的地址)/rosdep/source.list.d/20-default.list
/usr/lib/python3/dist-packages/rosdep2/sources_list.py
/usr/lib/python3/dist-packages/rosdep2/rep3.py
/usr/lib/python3/dist-packages/rosdistro/__init__.py
接下来参考这个文章:
ubuntu16.04中进行ROS通信编程(话题编程)
报错:
CMake Error at comm/CMakeLists.txt:210 (add_dependencies): The dependency target "comm_generate_messages_cpp" of target "talker" does not exist. CMake Error at comm/CMakeLists.txt:213 (add_dependencies): The dependency target "comm_generate_messages_cpp" of target "listener" does not exist.
catkin_make编译之前在终端输入:source devel/setup.bash
报错:
找不到roscpp std_msgs image_transport
这其中任意一个
在功能包的CMakeLists.txt里加上find_package,我的是这样的
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
)
报错reacore 启动不了:
sudo apt install python3-roslaunch
sudo apt-get install python3-roslaunch
sudo apt-get install ros-noetic-roslaunch
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
最后开个终端roscore就可以启动了!
至此,就跑通了一个demo。
头疼,睡觉!