ROS1在windows和linux下,indigo,kinetic,melodic和noetic,都能互通,不会遇到问题。

ROS2的DDS版本有差异性,dashing和foxy有不能联通情况,与micro-ros也有一些不稳定问题。

安装ROS2 foxy非常简单:

机器人操作系统ROS1和ROS2各版本联通性笔记_应用程序

机器人操作系统ROS1和ROS2各版本联通性笔记_github_02

使用windows或linux的dashing版本,一切正常如下:

机器人操作系统ROS1和ROS2各版本联通性笔记_github_03

但是如果使用foxy,调试结果如下:

机器人操作系统ROS1和ROS2各版本联通性笔记_github_04

机器人操作系统ROS1和ROS2各版本联通性笔记_linux_05

有问题的。版本不匹配,如果匹配一切ok。

上面网址提供了许多教程用来学习微型ROS,微型ROS支持的不同RTOS的相关工具。主要分为两部分:​核心教程​和​高级教程​。

如果不熟悉micro-ROS,强烈建议按以下顺序学习教程:

  • Linux上的第一个micro-ROS应用程序

    本教程说明如何安装micro-ROS框架和工具。然后在Linux下开发自己的第一个micro-ROS应用程序。(如果已经知道ROS 2,将看到这些工具已与标准ROS 2很好地集成在一起。)

  • 在RTOS上的第一个micro-ROS应用

    在本教程中,将从上一教程中为实时操作系统(RTOS)学习如何构建应用程序。将看到如何用应用程序刷新微控制器板,以及如何从在Linux上运行ROS 2的微处理器中进行通信。(本教程介绍了micro-ROS支持的所有三个RTOS,即NuttX,FreeRTOS和Zephyr。选择取决于项目需求!)

  • 用RCL和RCLC编程

    在本教程中深入学习micro-ROS C++ API的概念。如果已经熟悉ROS 2 C++ API或底层的ROS客户端支持库(rcl),将很快掌握这部分内容。

  • 优化中间件配置

    在本教程中,将针对特定的应用案例优化应用指导完成在基于Linux的微处理器上运行的微控制器和micro-ROS代理之间的中间件配置。