一、ROS的介绍
ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。
二、ROS软件安装
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 keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
3.安装ROS
sudo apt update
sudo apt-get install ros-melodic-desktop-full
说明:
需要根据Ubuntu的版本选择合适的ROS版本。否则会出现Unable to locate package ros-kinetic-desktop-full
的错误。ROS的版本主要有Melodic、Lunar、Kinetic版本,根据linux系统不同选择合适的版本,报错也就解决了。安装时间比较长。
4.初始化rosdep
sudo rosdep init
rosdep update
说明:
(1)使用sudo rodep init
出现sudo rosdep:找不到命令提示
的错误
解决方法:
sudo apt install python-rosdep
(2)出现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.
的错误
解决方法:
cd /etc
sudo gedit hosts
在文本后面添加(ip是通过https://site.ip138.com进行输入raw.githubusercontent.com查询获取得到,任意选择一个)
ip raw.githubusercontent.com
不过这里存在网络问题,如果使用的是移动网通过上面方法也无法解决问题,最终用电信网解决。
(3)出现ERROR: error loading sources list: <urlopen error <urlopen error timed out (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)
网上大多数解决方式都是说多试几次就成功了。笔者尝试了很多次都还是有问题,最终放弃了在线安装。
本地安装的方式
①下载相关文件
Github下载地址:https://github.com/ros/rosdistro
②解压文件
unzip rosdistro-master.zip -d rosdistro
③修改20-default.list
文件
sudo nano /etc/ros/rosdep/sources.list.d/20-default.list
文件内容修改如下:
#os-specific listings first
yaml file:///home/lyy/ros/rosdistro/rosdep/osx-homebrew.yaml osx
#generic
yaml file:///home/lyy/ros/rosdistro/rosdep/base.yaml
yaml file:///home/lyy/ros/rosdistro/rosdep/python.yaml
yaml file:///home/lyy/ros/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/lyy/ros/rosdistro/releases/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
此处及后面的lyy均指代的是自己Ubuntu的用户名
④修改source_list.py
文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
将原DEFAULT_SOURCES_LIST_URL
一行注释,在其后添加如下内容
DEFAULT_SOURCES_LIST_URL = 'file:///home/lyy/ros/rosdistro/rosdep/sources.list.d/20-default.list'
⑤修改rep3.py
文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
将原REP3_TARGETS_URL
一行注释,在其后添加如下内容
REP3_TARGETS_URL = 'file:///home/lyy/ros/rosdistro/releases/targets.yaml'
⑥修改__init__.py
文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
将原DEFAULT_INDEX_URL
一行注释,在其后添加如下内容
DEFAULT_INDEX_URL = 'file:///home/lyy/ros/rosdistro/index-v4.yaml'
修改完成后
rosdep update
5.设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.安装rosinstall
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
三、ROS第一个例程——小海龟
开启小海龟仿真的步骤:
①启动ROS Master
roscore
②启动小海龟仿真器
rosrun turtlesim turtlesim_node
③启动海龟控制节点
rosrun turtlesim turtle_teleop_key
说明:
每个步骤分明需要打开一个终端,小海龟的运行路径是在最后一个终端上,通过上下左右按键控制的。
四、参考资料
1.Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)
2.Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)
小结
安装ROS的整个过程,首先需要选择对应版本的ROS,接着就是在网络问题上的处理。目前网上还没有比较好的方法来解决线上安装过程遇到的网络问题,最佳的方式就是放弃线上安装,选择本地下载安装,不然会花费比较久的时间。