ROS备忘

client

roscpp:roscpp是ROS的C ++客户端库。它是使用最广泛的ROS客户端库,旨在成为ROS的高性能库。

rospy:rospy是ROS的纯Python客户端库,旨在为ROS提供面向对象的脚本语言的优点。rospy的设计优先于实现速度(即开发人员时间)而不是运行时性能,以便可以在ROS中快速对算法进行原型设计和测试。对于非关键路径代码(例如配置和初始化代码),它也是理想的选择。许多ROS工具都是用rospy编写的,以利用类型自省功能。ROS Master,roslaunch和其他ros工具是用rospy开发的,因此Python是ROS的核心依赖项。

PhaROS是MIT许可下的客户端库,支持无Pharo的Smalltalk语言。

ROS 2

Why ROS 2?

Changes between ROS 1 and ROS 2

  • 更好的跨平台支持
  • ROS 1针对Python2。ROS2至少需要Python 3.5。
  • ROS 2广泛使用 C++ 11/C++ 14/C++ 17
  • 重用现有的中间件
  • 在ROS 2中,Python包可以使用setup.py文件中的任何内容
  • roslaunch: 在ROS 1中,roslaunch文件是用XML定义的,功能非常有限。在ROS 2中,启动文件是用Python编写的
  • 通过 message bridges, ros1/2可以互操作

借助ROS 2,我们将设计新的API,并尽最大可能结合第一代API社区的集体经验。关键概念(分布式处理,匿名发布/订阅消息传递带有反馈(即操作)的RPC ,语言中立,系统自检性等)将保持不变

安装

版本

最新: ROS2 Foxy

在树莓派上使用

Install ROS2 Foxy on Raspberry Pi 4

ROS2是用于机器人应用程序的出色框架/中间件

Write a Minimal ROS2 Python Node

参考