Raspberry Pi是否有专门用于运行机器人应用程序的操作系统?还是旨在优化以仅运行一些特定程序的操作系统?

我已经使用Arduino一段时间了。就效率而言,对我来说,仅上载一组特定的命令并让硬件只需要处理这些命令,而不必担心运行完整的操作系统对我来说很有意义。在Raspberry Pi上可以做这样的事情吗?

#1 楼

您在问两件事。 1)是否有特定于机器人的操作系统,以及2)是否可以在R-Pi上进行硬件级控制而不会弄乱操作系统。这是一种错误的二分法,因为操作系统是一种收益,而不是成本,除非您受到处理能力的严格限制。

微控制器(Arduino)旨在处理时间紧迫的事物,通常只有一两个时间紧迫的事情。它们非常适合转动轮子等。在进行高级计划时,高级语言/库非常有帮助。就像多线程应用程序等一样,这就是您的OS所在的地方。没有有关项目的更多详细信息,我无法帮助您确定最合适的是Arduino还是R-Pi。

要回答1:是的,只是到处逛逛。

要回答2:是的,可以使用硬件接口IO来编写API。但是您将需要这样的东西:

您->操作系统->微控制器->硬件。

请参阅此出色的答案

评论


$ \ begingroup $
Josh,您好,如果您想链接到答案(或问题),最好单击该答案(或问题)下方的共享链接,因为这些链接是永久性的。您在“此出色答案”链接中使用的URL指向问题页面,并且不可移植,因此,如果问题标题发生更改,则URL可能会中断。我想您是在指这个答案。
$ \ endgroup $
– Mark Booth♦
2012-12-13 11:28



#2 楼

根据您的问题,您可能会对微控制器的RTOS感兴趣。 FreeRTOS是一个非常流行的版本,显然已移植到Raspberry Pi。

#3 楼

您可以使用简化的Linux(无需X-Windowing和其他机器人可能不需要的图形实用程序)。 Raspian-Lite就是这样一种操作系统。

然后有许多机器人框架将在Raspberry Pi上运行。它们在Linux OS下运行。

ROS(机器人操作系统)是最流行的框架之一,但学习起来也最复杂。正如彼得·帕克(Peter Parker)所学:强大的力量将带来巨大的学习曲线。 :)

ROS是用C ++编写的,但是可以用多种语言(包括Java和Python)进行访问。

Gobot。这是用Go语言编写的框架。它具有框架了解的许多传感器和板。您可以将主要智能设备放在大型计算机上,并在机器人上使用具有无线连接的较小板。 Gobot有姊妹项目(Artoo-使用Ruby,Cylon.js-使用JavaScript)。

Go是一种类似C的语言,由Google创建,非常易于使用。我将其视为C的BASIC(对于C而言,Go就像对Fortran一样,对于C而言)。

我正在考虑启动Gobot的Rust端口(Rust是另一种类似于Go的类似于C的语言,但它被设计为尽可能地保证类型安全。许多Rust编译器捕获C / C ++常见的指针错误。