一、ros版本选择:
ubuntu20.04 选 Noetic
ubuntu18.04 选 Melodic
二、安装步骤
1、添加ros软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3、更新软件源
sudo apt update
如果显示以下界面,则可以继续下一步
命中:17 http://ppa.launchpad.net/wireshark-dev/stable/ubuntu bionic InRelease
获取:18 http://mirrors.aliyun.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [302 kB]
获取:19 http://mirrors.aliyun.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2,468 B]
获取:20 http://mirrors.aliyun.com/ubuntu bionic-proposed/main amd64 DEP-11 Metadata [3,168 B]
获取:21 http://mirrors.aliyun.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [9,260 B]
已下载 2,090 kB,耗时 6秒 (341 kB/s)
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
所有软件包均为最新。
4、安装ros
# ubuntu18.04
sudo apt-get install ros-melodic-desktop-full
# ubuntu20.04
sudo apt-get install ros-noetic-desktop-full
若出现以下错误,请按照具体步骤解决
(1) 下列软件包有未满足的依赖关系:
ros-melodic-desktop-full : 依赖: ros-melodic-perception 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决方法:
# ubuntu18.04
sudo apt-get install aptitude
sudo aptitude install ros-melodic-perception
sudo apt-get install ros-melodic-desktop-full # 重新进行下载
# ubuntu20.04
sudo apt-get install aptitude
sudo aptitude install ros-noetic-perception
sudo apt-get install ros-noetic-desktop-full # 重新进行下载
5、初始化rosdep
sudo rosdep init
(1)ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
解决方法:
sudo gedit /etc/hosts
然后在打开的hosts文件中添加以下内容,然后保存退出
199.232.28.133 raw.githubusercontent.com
(2)ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
解决方法:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
这个时候再输入sudo rosdep init命令试试,正常来说会出现以下界面,而不是我之前上面的那个界面
6、更新rosdep
rosdep update
问题: 更新速度较慢
尝试用以下去解决:
(1) 安装rosdepc
sudo pip install rosdepc
(2) sudo -H.......
sudo -H pip install rosdepc
(3)如果没有显示pip的试试pip3
sudo pip3 install rosdepc
(4)如果pip3还不可以,再试试这个
sudo apt-get install python3-pip
sudo pip install rosdepc
重新初始化,更新以下,成功即显示以下画面
sudo rosdepc init
rosdepc update
7、设置环境变量
# ubuntu 18.04
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
# ubuntu 20.04
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
8、安装rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
9、安装catkin编译器
sudo apt-get install ros-melodic-catkin python-catkin-tools
三、测试是否成功
打开三个终端分别运行以下三个命令(每个命令一个终端,即三个终端)
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
如出现小海龟则说明安装成功。
错误:
zdg@1:~$ roscore
... logging to /home/zdg/.ros/log/5574b26e-2e7c-11eb-8470-4074e0a66b16/roslaunch-1-18514.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
RLException: Unable to contact my own server at [http://1:41259/].
This usually means that the network is not configured properly.
A common cause is that the machine cannot connect to itself. Please check
for errors by running:
ping 192.168.1.117
For more tips, please see
http://wiki.ros.org/ROS/NetworkSetup
The traceback for the exception was written to the log file
解决办法:
把原来的注释掉,只要改一下这个地址和用户名就可以了
改成如下:
#export ROS_HOSTNAME=192.168.1.117
export ROS_MASTER_URI=http://192.168.1.117:11311
export ROS_MASTER_URI=http://robot.local:11311
export ROS_HOSTNAME=robot.local
修改后保存,然后
source ~/.bashrc
然后再次启动roscore,成功