在树莓派、香蕉派上安装ROS JADE (Arch Linux)

在ros官方网站上对于raspberry pi、banana pi等ARM设备只提供了Ubuntu系统的安装方式,对于Arch等暂时还没有支持。而对于刚出的ROS发行版Jade,更是连PC版都只有Ubuntu、MacOS的安装说明。但是Jade在Arch上的安装是有办法的,在ARM设备上也是可行的。

以Banana Pi、Arch Linux为例。

和安装indigo过程相同,需要先启用Arch的AUR,安装yaourt。教程见我的上一篇文章。
在安装好后,使用

$ yaourt -S ros-jade-ros-base

命令开始安装。(我选择的是base,也就是只有ros的基本文件,如果有需要更多组建的可以试着安装-desktop-full,不过我没有试过,不知道在ARM上是否可行,再说在ARM上本来目的就是精简空间,就不要装太多可视化工具啥的了)

注意,不要添加--noconfirm 这个参数,因为ARM上我们在安装ROS的过程中是要不断更改PKGBUILD文档的,如果加了这个参数那就无法更改。不过也因此,在ARM安装ROS需要你在屏幕面前盯着,比较费时。

在每一此询问是否修改PKGBUILD文档的时候,都要选是。
在树莓派、香蕉派上安装ROS JADE (Arch Linux)_第1张图片

在第一次询问的时候,会问你用什么编辑器打开这个文档,输入你常用的编辑器,比如vi或者vim,我一般用vim,输入之后回车即可。

接下来会看到这些东西:
在树莓派、香蕉派上安装ROS JADE (Arch Linux)_第2张图片

找到我高亮的那一行,any(XXXXXXXXX),在括号里是该组件支持的设备类型,我们的板子是armv7h,不在里面,但是经过测试,这些组建应该都有支持arm的,所以我们要把armv7h添加进去。一种办法是添加’armv7h’,不过一个更简单的办法是直接添加或者改成’any’,这样各种设备就都支持了。大家也会发现有些组件这里本来就是’any’,那就什么都不需要做直接退出就好。
这里写图片描述
遇到的每一个组件都需要这么做,再加上ARM编译比PC慢很多,所以安装ROS整个过程比较慢,在网络较好的情况下可能也得2-3小时。

在安装快结束的时候,可能会出现一个ERROR(只有在安装indigo时会有,jade可以直接跳过),缺少一个组件。这个程序是没有ARM版的,所以目前应该是无解。不过经过测试不安装它ROS也完全可以正常运行没有任何问题,所以直接跳过即可。所以我们要重新开始安装,输入

$ yaourt -S ros-jade-ros-base —needed

注意我后面的—needed参数,可以直接定位到安装中止的地方,这个参数也可以用于误操作退出安装或者网络出现问题的情况。
现在,—needed应该直接定位到了以这个组件作为dependency的组件的安装,在这个程序的PKGBUILD里面,找到dependency( ),把括号中的这个组件:删除,然后继续安装,就没有问题了。

至此,ROS也就全部安装完成了。

你可能感兴趣的:(ARM,ROS,archLinux,robotics,raspberrypi)