一、Ubuntu版本
Ubuntu16.04.7 LTS:http://releases.ubuntu.com/16.04/
二、ROS版本
安装ROS Kinetic步骤:http://wiki.ros.org/cn/kinetic/Installation/Ubuntu
三、遇到的问题
1.rosdep init ERROR
安装ros的最后一步是rosdep init和rosdep update,rosdep是解决ros包依赖问题的一个工具。
rosdep init会从ros官方服务器上下载一个“20-default.list”文件,放在“/etc/ros/rosdep/sources.list.d/”路径下;打开“20-default.list”发现里边是一些yaml文件的网址,这些yaml文件里保存着一些ros工具或者常见ros包的依赖关系,也即:这些ros工具或者ros包依赖于哪些其它ros包。
错误:
sjj@ubuntu:~$ 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.
解决方式:
#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加
151.101.84.133 raw.githubusercontent.com
#保存后退出再尝试
参考:https://blog.csdn.net/u013468614/article/details/102917569
2.rosdep update ERROR
当执行rosdep update,rosdep会尝试访问yaml文件网址,把yaml里的信息转存到本地,这样当你配置上述ros工具或者ros包时,ros会按照依赖关系自动把所需的依赖一并下载。这也是为什么一些人会认为rosdep失败也不影响ros使用,因为只有当你下载相关包时才会用到rosdep。
错误:
sjj@ubuntu:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
<urlopen error timed out> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)
解决方式:
网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github的访问,进而解决rosdep update失败问题。
在rosdep的若干个脚本文件中,把 https://ghproxy.com/ 添加到相应URL前面即可。
1.首先修改rosdep下载资源的脚本文件:
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py,把以下行添加到脚本中的download_rosdep_data()函数中,以应用代理服务:
url="https://ghproxy.com/"+url
2.然后,用同样的方法修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py里面的DEFAULT_INDEX_URL参数,如下:
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
3.接着,以下4个文件中也使用了“raw.githubusercontent.com”网址,同样的方法把“https://ghproxy.com/”添加到网址前:
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行
4.最后,在 /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 的第204行添加如下代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
5.执行rosdep update成功
参考:https://blog.csdn.net/Kenny_GuanHua/article/details/116845781
四、测试ros是否安装成功
1、CTRL+ALT+T打开终端(Termial),输入以下命令,初始化ROS环境:
roscore
成功打开如下图所示:
上面显示有ROS的版本,还有一些节点、端号等内容。
2、再 打开一个新的终端(Termial),输入以下命令,弹出一个小乌龟窗口:
rosrun turtlesim turtlesim_node
3、出现一个小乌龟的LOGO后,再 打开一个新的终端(Termial),输入以下命令
rosrun turtlesim turtle_teleop_key
然后,通过方向键控制小乌龟的移动:如下图所示
4、 打开新的Termial,输入以下命令,可以查看ROS节点信息:
rosrun rqt_graph rqt_graph
如果你能顺利进行到这一步,说明ROS安装成功了。
参考:https://blog.csdn.net/weixin_43159148/article/details/83375218