由于在虚拟机VMware中预先安装的Ubuntu系统是18.04版本
由百度百科知道ROS的发行版对应着Ubuntu的发行版,并且没有对应上的操作系统是不能够兼容的(最新的Noetic对应Ubuntu20.04),所以根据上图知道Ubuntu18.04对应的ROS版本是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'
国内源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME 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
在这里有可能会失败(我反正没有),失败的话,用手机热点连接(具体下面介绍)。
4、安装ROS包:
sudo apt install ros-melodic-desktop-full
5、初始化ROS包:
sudo rosdep init
到这一步大概率很多人都会有错,比如我就有Command not found的错误。
解决方法:
sudo apt install python-rosdep
是因为没有装这个功能包,装上之后,再重新运行sudo rosdep init。
运气不好的话,可能还是不行,但是问题是连不上raw.githubusercontent.com,显示website may be down。
解决方法:
sudo gedit /etc/hosts
打开这个文件,在数字域名下面添加多一行:
199.232.28.133 raw.githubusercontent.com
保存,再重新运行sudo rosdep init。
基本就可以了,然后会显示叫你输入rosdep update。
6、更新ROS包:
rosdep update
这里的话大概率会失败,显示Time out啥的,大概率是网络原因,这时候我们就需要连接手机热点来进行这一步。
如果是笔记本电脑,有无线网卡的,直接连接手机的热点进行这一步即可。
如果是跟我一样没有无线网卡的台式电脑的,可以直接用你的数据线连接你的手机,然后在手机的个人热点界面点击更多连接,有一个USB连接分享,打开后,你的台式就可以通过手机进行上网了,手机开启4g数据(不要连wifi),然后电脑rosdep update进行这一步即可。
7、环境搭配:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
依次输入,不要输错!!
8、安装rosinstall工具包:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
到这步基本上可以了。
最后输入roscore检查是否成功:
这里显示装好melodic成功,最后用小乌龟进行测验。
输完roscore后,
ctrl+alt+T额外打开一个终端,输入:
rosrun turtlesim turtlesim_node
这时会弹出一个小乌龟图片:
再额外打开一个终端,输入:
rosrun turtlesim turtle_teleop_key
即可以通过上下左右控制小乌龟动作,这里就完成了ROS的基本安装~~
——————生活就像海洋,只有意志坚强的人才能到达彼岸。