本文共 3723 字,大约阅读时间需要 12 分钟。
ROS在ubuntu18.04LTS上的安装我录屏放到B站上了
============================
对于不同平台可以安装不同的,树莓派这种计算能力低的安装ROS-Base就可以,之前我在其他地方就看到,就是不装ROS图形那些东西什么的。笔记本上或者TX2上装Desktop-Full install就好,TX2的计算性能还是足够的。
ZN无人机第一期11节
这里也这么说了
这是我随便搜到的一个树莓派装ROS的教程里说的。
=========================================================================================
下面是我在树莓派的ubuntu 18.04 meta上装ROS的记录(实际就是按照ROS官方给的ROS-melodic的教程来,除了一些比如镜像源修改下,其他的都一样)
摘自博文:
可以参考古月的ROS21讲里的ROS安装视频
实际操作发现古月的这个暗转教程有坑的,他那添加的是Ubuntu的官方源不是国内的镜像源!!!!!!说都没说!!!!!看书发现他写在书上,我看视频里他后来那都是阿里云的链接以为他给的源就是国内的,实际不是!!!!
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'
果然换了中科大的源速度立马快N倍,而不是几kb,不然一个update半个小时都没完。
实际下ROS时也是去中科大的源下了,只需要把古月的第一句改为上面那一句。
下ROS用家里wifi太慢了我最后选择树莓派连我的手机热点,而且电脑和树莓派同时连手机热点。你在树莓派终端上ifconfig得到树莓派的wifi的ip地址之后(也是192.168..),是可以在自己电脑上ssh的。用自己手机热点就飞快多了。我感觉你到时候树莓派装在无人机上,和电脑wifi相连,也应该可以手机热点。当然用手机热点这也是古月的ROS安装视频里面说了提醒我的。我估计装librealsense的时候用手机热点也好一些。
sudo apt install ros-melodic-desktop 这步连手机热点从下载到安装当然都是它自动进行用了半个小时左右,很难想象不用热点是上面后果,靠家里wifi几KB每秒的速度。还有中途出现一个说什么让你重启的,我选了yes,但实际它也没有重启又继续运行下去了,不知道什么意思。没见别人说有这一步骤,但是似乎也没有影响,选个yes然后它又继续正常安装了。中途没有任何报错,之前用家里wifi下的时候还报错过上面连不上服务器估计是网太慢了,总之用手机热点弄没有任何问题。
sudo rosdep init 这个运行后显示,可能是因为古月装的是desktop-full 而我装的是desktop,少了一些东西?
于是我先跳过rosdep这两个命令,直接去设置环境变量,
运行完设置环境变量那两个语句,然后就可以一个是先输入ros再双击TAB键可以看到ROS的一些命令行工具(如果环境变量没有设置好,这些系统是找不到的),再一个是直接输入roscore命令,可以启动ROS。我已经弄成了。自此ROS就算装好了,
我这里roscore后输出的信息和古月的ROS书上写的一样
古月的最后一个命令,不是必须的,到上面为止ROS 已经装好了,古月的最后一个命令,是说为了方便日后的开发,可以装一下。不过我发现这步也是ROS官方教程要求的,那我也装上吧。
上面没有弄的rosdep我发现ROS的官方教程有些,我觉得我还是有必要把它弄一弄。
我现在知道为什么我那里说找不到rosdep,官网现在的教程是要你自己先装,古月的那个可能已经过时了,古月的那个中途弄rosdep是和ros kinetic的教程一样,kinetic的教程里是这样的,但是melodic的教程里是放再最后,而且要自己先安装。
不过我在运行
sudo rosdep init
这个命令显示报错,说一个Github的网站连不上,网络原因么?我此时连的热点,莫非需要代理?
网上搜了下这个问题很常见,确实需要代理。考虑到后面装Librealsense应该也需要代理,所我先把终端代理弄好。
我实现终端代理后,再运行sudo rosdep init就成功了,没有说那个网站连不上了,
当然实际运行是 sudo proxychains rosdep init
不对,好像还是不行,我试着直接浏览器打开那个网址根本打开不,可能就是那个网站的原因!!!!!网址打不开啊,我自己的笔记本开了代理的,这样浏览器都打不开肯定有问题。
我过了几个小时再这么弄又好了!!!现在是凌晨0点52分
看这前后两个同样地命令,一个失败,一个成功,当然前后隔了几个小时,中途打电话去了。还有有没有方法能导出这些记录的?我在这篇博文写了 :
然后我进一步运行最后一个命令 rosdep update 直接运行也是报错了,连不上,所以我加为 proxychains4 rosdep update 然后就一切顺利,全是ok,弄完了。看来终端代理真的非常重要!!!!!!
下面这个截图非常清晰地反应了这个过程。
至此我的ROS安装应该就真正完成了!!!!
这个命令我之前运行了,而且ROS melodic的教程是把它放在rosdep之前的,我应该照着做了,也看到命令行记录李敏又这个命令了,
这里我再次强调,跟着ROS melodic的官方教程来,你会发现连古月的ROS的教程可能都不对,原本你这么信赖的,当然他帮助了我很好理解里面的安装步骤,再去看官方的安装步骤好些,直接看官方的安装步骤可能也不太好,有的可能不明白。
8月19日凌晨0点58分,
所需要的命令我放在这(全程连手机热点,按照ROS melodic的官方教程来
proxychains4的,如果加了代理不行可以过一阵子再试试,可能就好了,终端代理的方法我写在另一篇博文里了 :)
下面这个也证实了,确实rosdep那两个命令也就是最后两个命令需要代理!
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'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential (这步里面的python-rosdep是我2020.11.10后来加上的,我认为是我当时写的时候漏写了,实际应该是装了的,官方教程里也是有这个,你这步不装python-rosdep,官方教程里下一步也是要你装python-rosdep这个,所以我觉得我当时写的这个所有的命令应该少写了python-rosdep的安装,所以加上去,我实际应该是装了,不装怎么完成下面两步呢,我当时应该是复制古月的这步命令所以里面没有,而古月它是按照ros的kinect版本来的,他的ubuntu版本是16.04,有些许不同,还是实际以ROS官方的ROS melodic的安装教程为准,我实际又在我电脑上这么装了一遍没有问题(当然电脑上装和树莓派不同的地方第四条命令稍微改下,因为可以装更全更大的ROS,可以改为sudo apt install ros-melodic-desktop-full)。所以这条命令按照现在这个加了python-rosdep的来。)
proxychains4 sudo rosdep init
proxychains4 rosdep update
下面附上 也就是ROS官方的ROS melodic的安装教程的截图
但是我树莓派要确定装的是ROS的哪种。首先参考我这篇博文:
由于我看到APM的那个T265树莓派的视频里面看到他们用了rviz,所以我觉得装destop 不装destop-full,另外有个树莓派教程也是装的desktop。
转载地址:http://bzlni.baihongyu.com/