logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

我有一个疑问,目前ArduPIlot与ROS2的通信方式是用DDS,我想知道其中的micro ros agent和Micro XRCE-DDS Client他们都扮演了什么角色?

组件所在位置作用飞控板(MCU)轻量 ROS 客户端,发送传感器数据、接收控制命令代理,负责将 MCU 数据桥接到标准 ROS 2 网络[ArduPilot 飞控板]v| DDSv[标准 ROS 2 节点]💡核心理解Client:在资源受限设备上,把 MCU 数据变成 ROS 2 消息格式,支持最小化通信协议。Agent:在资源充足设备上,把 Client 的轻量消息“翻译”成完整 ROS 2

1.使用的各个硬件的介绍。(1.5Pixhawk6C飞控板)

解决:将AT9S遥控器的右杆的前后设置为油门,因为初始右杆前后是俯仰,现在俯仰改油门,遥控器mode-系统设置-摇杆模式:1(原来是2),改完之后得重新在Mission planner遥控器校准。(4)设置完之后保存,写入参数,重启地面站,保存后再打开,会报错提醒这一步,应该将上面那个对应的伺服器功能改为GPIO,结束。(3)开启继电器,设置继电器输出用硬件的哪一个口,我用的是PWM(AUX)的3

#嵌入式硬件#单片机
micro_ros_agent在DDS通信中起到什么作用?中

micro_ros_agent是DDS与XRCE-DDS之间的协议代理/中间件桥,属于DDS/ROS2中间件层而非传输层。它充当MCU与ROS2世界的翻译中转站,将MCU的简化DDS消息转换为完整DDS消息,底层可使用串口/UDP/TCP等传输方式。其核心功能是资源管理和协议转换,相当于边境口岸+翻译官+物流分拣中心的复合角色,使资源受限的MCU能够接入ROS2/DDS生态系统。

MIcro_ros_agent(1)

链接:https://micro.ros.org/docs/overview/features/

#mcu
4.实验的全流程操作。(4.2 Nav2自主导航【控制器用的是Ardupilot开源飞控】)

首先,请仔细阅读(只是我的个人经验,可能有误),说明我的情况:我刚开始使用的ROS2版本为humble,机载计算机为树莓派5,ubuntu系统用的是24.04(树莓派5只能安装24.04),但是ubuntu24.04由于版本对应有误却不能直接二进制安装ROS2(humble),所以我源码安装编译ROS2(humble)和Navigtaion2软件包,但在我实际运行Navigation时却总是运行失

到底了