1 前言
Unbuntu安装Ros教程众多但时间太久大多不再能解决现在安装遇到的问题,保证时效。
2 版本选择
不同的Unbutn安装的Ros版本不同。Ubuntu18.04对应的ros版本为ROS Melodic
提示:请安装对应版本,不要安装错了。版本对应如下
3 下载步骤
提示:接下来的步骤将参考Ros官网的步骤详解 :RosMelodic官网
注:国内网络打开该网址需要等待非常长的时间,我下面的几个安装步骤和官网是一样的。当然你也可以去参考官网
注:请保证这个环节中网络的稳定,建议插有线网或链接高速wifi
(1)检查Unbuntu的软件和更新源
将四个选项全部选上,同时将下载源更换为国内源。我这里用的是阿里云,换成清华中科大都是可以的。
(2)设置Ros的下载源
注:接下来是将ros 的下载源设置为中科大源,使用外国的源下载速度很慢。
设置中科大源: 在终端输入如下命令后回车。
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
设置公钥: 在终端输入如下命令后回车。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
注:我这里已经安装过一次钥匙了,所以显示不太一样。如果遇到问题 请尝试亲手在Unbutu终端输入以上命令。CSDN复制黏贴进终端有可能会出问题。
更新最新可用软件包列表:在终端输入以下命令后回车。
sudo apt update
常见问题:
设置钥匙时候如果不能设置,可能是因为电脑中没有安装相应钥匙功能的包 可以执行以下命令解决 并重复设置钥匙的步骤。
(3)安装ROS
在终端输入以下命令后回车。
sudo apt install ros-melodic-desktop-full
接下来就是漫长的等待
注:这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件(新手强烈建议安装这个就好)。
(4)设置环境变量
在终端输入以下命令后回车。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
(5)下载其他功能组件
在终端输入以下命令后回车。
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
这些组件可以构建和管理开发者自己的ROS工作空间,强烈建议安装。详情见 :[Ros官网]
(6)rosdep init 初始化
在终端输入以下命令后回车。
sudo rosdep init
rosdep update
常见报错
第一种报错:
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.
第二种报错
ERROR: Rosdep experienced an error: (‘The read operation timed out’,)
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.21.0
Traceback (most recent call last):
File “/usr/lib/python2.7/dist-packages/rosdep2/main.py”, line 146, in rosdep_main
exit_code = _rosdep_main(args)
SSLError: (‘The read operation timed out’,)
初始化的这一步将会从外国的网站raw.githubusercontent.com拉取一些信息和文件。这个网站现在被墙了,导致这一步出错。第二种是因为Python3优先级的原因,ros支持Python2
(7)安装rosinstall
sudo apt-get install python-rosinstall
(8)加载环境设置文件
source /opt/ros/melodic/setup.bash
(9)创建并初始化工作目录
ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化
catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建
cd ~/catkin_ws/
catkin_make
(10)设置环境变量
sudo apt install net-tools
gedit ~/.bashrc
在打开的文档末尾写入下列代码。
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME=192.168.89.135
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
查看自己ip进行修改。
小海龟测试,打开三个终端:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
roscore报错解决:
Command ‘roscore‘ not found, but can be installed with: sudo apt install python-roslaunch
解决方法:
查看是否安装包 。
cd /opt/ros/melodic/bin
ls
发现没有roscore,安装,在bin目录。
sudo apt-get install ros-melodic-desktop
重新查看,发现有了roscore,成功。