首页 > 其他分享 >【ROS2机器人入门到实战】Micro-ROS介绍与服务安装

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装

时间:2023-09-07 15:31:48浏览次数:45  
标签:micro -- dev Micro Agent ROS shm ROS2


1.Micro-ROS介绍与服务安装

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

你好,我是爱吃鱼香ROS的小鱼。本节我们主要介绍下Micro-ROS几大主要特点。

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_MicroROS

先上系统框架图,下面再一一介绍。

一、特点1:运行在微控制器上的ROS2

首先从名称看,Micro-ROS,Micro指的就是microcontrollers即微控制器。

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_介绍与安装_02

核心作用就是上面这句话micro-ROS puts ROS 2 onto microcontrollers。既然是在微控制器上,因硬件资源受限,其功能肯定会有所裁剪,但核心的ROS2通信功能依然保有。

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_docker_03

二、特点2:MicroROS支持多种通信协议并依赖Agent

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_docker_04

所谓Agen其实就是一个代理,微控制器可以通过串口,蓝牙、以太网、Wifi等多种协议将数据传递给Agent,Agent再将其转换成ROS2的话题等数据,以此完成通信。

三、特点3:通过RCLC-API调用MicroROS

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_ROS2_05

因为MicroROS遵循RCLCAPI,所以和在上位机中使用Python或者C++调用MicroROS有所不同,最终代码风格如下面这段所示

#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>

rclc_executor_t executor;
rclc_support_t support;
rcl_allocator_t allocator;
rcl_node_t node;
rcl_timer_t timer;


void setup() {
  // Configure serial transport
  Serial.begin(115200);
  set_microros_serial_transports(Serial);
  delay(2000);

  allocator = rcl_get_default_allocator();

  //create init_options
  RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));

  // create node
  RCCHECK(rclc_node_init_default(&node, "micro_ros_platformio_node", "", &support));

  // create publisher
  RCCHECK(rclc_publisher_init_default(
    &publisher,
    &node,
    ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32),
    "micro_ros_platformio_node_publisher"));


  // create executor
  RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
  RCCHECK(rclc_executor_add_timer(&executor, &timer));

  msg.data = 0;
}

四、在上位机上安装Agent

我们使用Docker来进行Agent的安装。

4.1 安装Docker

打开终端,复制粘贴输入下面代码

wget http://fishros.com/install -O fishros && . fishros

接着输入密码,在下面的界面输入8,一键安装Docker,完成后等待即可。

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_docker_06

4.2 运行Agent

安装完成Docker后打开终端,输入下面的指令

sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev /dev/ttyUSB0 -v6

稍微等待下载完成,看到如下界面表示成功启动。

【ROS2机器人入门到实战】Micro-ROS介绍与服务安装_MicroROS_07

上面的指令是使用串口通讯协议运行microros-agent,还可以通过UDP、TCP、CAN等协议运行,具体指令如下

# UDPv4 micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6

# Serial micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev [YOUR BOARD PORT] -v6

# TCPv4 micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO tcp4 --port 8888 -v6

# CAN-FD micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO canfd --dev [YOUR CAN INTERFACE] -v6

五、总结

本节我们主要介绍了MicroROS的主要特点,接着介绍使用Docker下载和运行Agent,既然搞定了上位机,下一节我们正是开始在开发板上编写MicroROS节点,然后测试与上位机的连接是否正常。


标签:micro,--,dev,Micro,Agent,ROS,shm,ROS2
From: https://blog.51cto.com/u_15473553/7397689

相关文章

  • Microsoft SQL Server Management Studio 常用的快捷键不见了
    问题安装SSMS18.1后,发现隐藏/显示结果窗格的快捷键Ctrl+R没法用了分析当Ctrl+R时,状态栏看到有反应,说明快捷键默认被转给其他功能了。翻一翻菜单,发现是这里用了,如图。解决移除已有的快捷键为结果窗格设置设置快捷键......
  • vcpkg 文档移至 Microsoft Docs 平台
    vcpkg文档移至MicrosoftDocs平台vcpkg文档有了一个新主页:vcpkgdocumentation|MicrosoftLearn。这是大多数微软文档托管的一个平台,具有很多特性,使得搜索、导航、创作和审阅文档变得更为容易。所有当前的vcpkg文档都在新平台上可见,我们仍然致力于从其他位置删除文档(vcp......
  • prosto xxhash64
     SELECT*,xxhash64(CAST(shop_nmASvarbinary)),from_big_endian_64(xxhash64(CAST(shop_nmASvarbinary)))FROMdb_ads.ads_merchandise_dim_shop ......
  • Microsoft Visual Studio 2022(编程工具)下载 中文版介绍
    微软强调VisualStudio2022将完全支持.NET6及其统一框架,用于Windows和Mac开发者的Web、客户端和移动应用程序。软件地址:看置顶贴软件功能一、开发:编写没什么错误的代码遇到困难时使用IntelliSense代码建议快速准确地键入变量。无论导航到所需的任何文件、类型、成员......
  • 【ROS2机器人入门到实战】学会使用按键-GPIO输入
    3.学会使用按键-GPIO输入写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。上一节完成了LED灯的......
  • 【ROS2机器人入门到实战】嵌入式开发之从点灯开始
    第十三章嵌入式开发之从点灯开始写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是小鱼。本章开始我们将一起走进机......
  • 【ROS2机器人入门到实战】使用开源库驱动IMU
    2.使用开源库驱动IMU写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。上一节我们安装好了MPU605......
  • cross-env的理解
    1、什么是cross-env?它是运行跨平台设置和使用环境变量(Node中的环境变量)的脚本。2、cross-env的作用是什么?当我们使用NODE_ENV=production来设置环境变量的时候,大多数windows命令会提示将会阻塞或者异常,或者,windows不支持NODE_ENV=development的这样的设置方式,会报错。因......
  • 探索MicroRNA的神秘世界:数据的故事
    介绍在生物学的神秘领域中,MicroRNA是一个相对新的研究领域,也是一个令人兴奋和充满潜力的领域。MicroRNAs是一种小分子RNA,能够调控基因的表达,对我们的生物体内各种重要过程有着深刻的影响。从癌症研究到遗传疾病的治疗,MicroRNA都扮演着关键角色。在这篇博客中,我们将一起探索Micro......
  • Cross Swapping CFE (并查集正负集合)
     思路:把每个草做抽象为点, 观察性质:图中对称的2个点,要交换,可以通过2种的操作方式得到, 2个操作异号, 反之2个操作同号通过+-表示和祖父是什么关系,通过并查集来看看当前有没有在同一个集合里面. ......