ROS可以在Raspberry Pi上运行吗?


28

ROS在树莓派运行?

ROS被任命为在计算机网络上运行,该计算机具有不同的计算机,甚至同一台计算机上的不同内核执行不同的工作。这些机器之一可以是Raspberry Pi吗?

我正在考虑将R-Pi用作移动机器人上的EtherCAT主设备,并使用加密狗通过WiFi与主PC进行通信。

  • R-Pi甚至可以运行ROS吗?
  • R-Pi是否具有足够的处理能力来执行一些1kHz伺服?
  • 通过WiFi连接可以在主机上运行一些伺服吗?

Answers:


16

官方的RaspberryPi操作系统是Debian的版本,但其网站上也有ArchLinux版本。

尽管ROS声称是跨平台的,但目前它们仅正式支持Ubuntu。但是,根据ros.org,已经为以下操作系统进行了实验性安装:

  • OS X(自制软件)
  • 软呢帽
  • Gentoo
  • OpenSUSE
  • 德比安
  • Arch Linux
  • 视窗

虽然我没有任何第一手经验(我的两个Pis都可耻地坐在角落里),但是ros.org的设置指南又快又脏。

answer.ros.org上也有类似的说明。

万一遇到任何问题,RaspberryPi论坛也可能会有所帮助。而且,当然,SE拥有自己的PI.SE(感谢@Jivings和@ppumkin进行提醒)。

否则,只需谷歌“ ros raspberry pi”,您应该会找到更多的信息。


IMO,Debian是Raspberry Pi的更好选择。我相信从社区的角度来看,与其他版本的Linux内核相反,您会发现它更容易获得更好的支持。
DogEatDog 2012年

3
@DogEatDog我不同意,Arch也得到了很好的支持。另外,这里不要脸的插头;从这个问题的任何树莓派问题将在受到欢迎树莓派以及官方论坛。
Jivings

@Jivings我简直不敢相信我忘了检查RaspberryPi.SE ...尽管到目前为止,对ROS的快速搜索并未产生任何结果;-)
ThomasH 2012年

@ThomasH-您认为可以在答案中添加指向PI.SE的链接吗?我们在那里分配了答案以及可能的解决方案。我不只是想编辑答案,因为它是正确的。
Piotr Kula 2012年

因为ROS在BSD下运行-直到最新版本的FreeBSD才支持ROS-当然,ROS源也必须在最新的BSD代码上运行。这一切都与硬浮动和BroadCom针对该特定ARM的一些驱动程序更新有关(PS-BCM的视频驱动程序将开源,因此将来应该分配更多的支持)
Piotr Kula 2012年

6

当您的所有依赖项都在工作时,机器人技术就足够困难了。您需要做的最后一件事是不兼容的组件或不受支持的组合带来的其他问题。

我仔细研究了一下,这是我的进步:

Raspberry Pi不支持Ubuntu,因为它的ARM CPU使用了较旧的指令集(我相信ARM v6?),而Ubuntu团队在2009年就放弃了对此的支持。

Beaglebone在许多方面类似于Raspberry Pi,并具有更新的指令集,因此它将运行Ubuntu。但是,“最好的” Ubuntu ARM发行版来自Linaro项目,他们放弃了对Beaglebone的支持,并进行了一些修订(最近是Linaro 12.03),因为它使用的是较旧的TI OMAP 3处理器(欢迎来到快速智能手机的美好世界)进展)。

我的下一步是看一下TI Pandaboard,它使用当前受支持的新型OMAP 4处理器,但其价格接近200美元。

但是现在Ubuntu正式为Nexus 7发布了。Nexus 7价格为200美元,可以为您提供Raspberry Pi提供的所有功能以及更多功能。请记住,即使是使用Raspberry Pi,一旦添加了充电器,wifi适配器,存储卡和电缆,您的价格就会比35美元接近100美元,因此,恕我直言,Nexus 7的价格要便宜得多。

最后,不要尝试从非实时操作系统中输出1 khz信号。为自己连接一个便宜的微控制器,例如PJRC Teensy(Arduino克隆),让它为您处理简单的实时任务。这样,您便将廉价的CPU专用于这些简单的时间敏感任务。在支持多个计时器的16 MHz频率下,一个小的AVR MCU可以毫无问题地处理六个任务。


1
在Nexus 7上将您的机器人与Ubuntu结合使用,好主意!偶然地,您知道使用这种方式的任何机器人项目吗?
2012年

5

ThomasH很好地回答了这个问题,但是我只想提出将四轴飞行器无线绑定到笔记本电脑的可能性。也就是说,只需为四轴飞行器编写一个快捷的无线(wifi ?,蓝牙?)通信协议,然后在笔记本电脑上处理大量CPU工作,同时将指令和传感器查询传输到R-PI。我们尝试了许多实现,并为所有小型机器人选择了类似的设置。同样,几乎所有令人jaw目结舌的四轴飞行器都以这种方式设置。它使生活变得轻松,并允许您在不牺牲速度的情况下使用大手笔的库。

坦白地说,四轴飞行器很可能不会超出笔记本电脑的无线范围。


明确地说,当您在这里说“大量CPU内容”时,是指涉及大量数字运算的高级控件,例如SLAM或计算机视觉。低层飞行控制将必须实时且足够高的频率进行,这在无线连接上是不可行的。
2012年

与伺服输出中一样,飞行控制必须由机载电子设备生成,是的。但是飞行命令,例如所需的旋翼速度等,可以由连接的PC生成(对此蓝牙非常有用),但是没有理由可以在R-Pi上运行这些命令。如果是这样的话,那么,“重CPU东西”指的是高层次的规划,多车协调,SLAM,CV等
乔希范德胡克



2

我会检查一下rosserial项目。基本上,它会为Arduino生成一些代码,以通过串行方式与计算机上的ROS节点进行通信。我敢打赌,您可以将其转换为Raspberry Pi,以便您可以使用其他协议在Pi与主机之间进行通信。


2

是。当然。我们已经做了很长时间了。
ROS不是“ OS”,也不大。它只是在“树莓派”中运行良好的“中间件”。
我们只是用官方的raspbian刻录(所以我们希望它可以使我们在“稳定”的环境中工作)并用源代码编译ROS。以下是分步链接(适用于Kinetic):
http :
//wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi您可以尝试使用ros_comm或桌面。
我尝试了ros_comm,然后再添加其他软件包。


1
为什么不使用Ubuntu Mate并仅从软件包中安装ROS?
FooTheBar

因为Ubuntu Mate在树莓派Pi2和Pi3上的ARM芯片上运行缓慢。Raspbian是精简的debian,在ARM芯片上运行得非常好。@FooBar
Nick Qian

有任何来源吗?我没有遇到任何速度问题。
FooTheBar

选择树莓之后,我没有尝试更多。也许现在树莓派的Ubuntu Mate dist更好,更流畅地使用了。我有兴趣再试一次,因为在ubuntu中软件管理很好。但是GPIO呢?也许ubuntu new bersion也有gpio支持,我不知道。...–
钱谦

1
那么,为什么不测试就说它慢呢?
FooTheBar


1

In contrast to what has been said in the other (rather outdated) answers, I've successfully tried running ROS on either Raspbian or Ubuntu with a Raspberry Pi 2 Model B.

After some back and forth, I'll stick with Ubuntu: While I didn't managed to access the Raspberry camera module with Ubuntu, I see major advantages in its superior package management and compatibility with ROS. You need some odd new ROS feature? Just sudo aptitude install the package and you're all set.


0

I have experience installing ROS on a Raspi using Ubuntu Mate as an operating system. It is essentially a regular ubuntu operating system, but on an arm device. It can install ROS through pre-built binaries. It requires no more configuring than a regular Ubuntu laptop. I know that there is one version of the Pi that is not officially supported (I think it is the 3B+, it's been a while since installation thankfully), but somebody figured out how to get around that issue on a forum post I googled.


link to forum post?
drerD

I already linked to the website so that you can download Ubuntu mate. It is literally as simple as a regular ubuntu machine to install ROS. I do not know why you need a forum post link... It was for a school project on private repositories (so, ROS source code not public), but Ubuntu mate is publicly available. Here is another, more specific link.
thatrobotguy


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.