[英]Handling of ROS / MAVROS messages on bare metal hardware
我有一个项目,涉及使用预定义的MAVLink和ROS / MAVROS消息的小子集与代理进行简单的串行通信。
我在没有基础操作系统的裸机嵌入式ARM Cortex F4硬件上运行(除了我自己的支持串行通讯和其他硬件I / O的框架以外)。
关于此任务的MAVLink方面,该过程似乎相对简单。 消息ID是预定义的,并且MAVLink头文件(从XML生成)包含打包和序列化功能。 我已经成功实现并测试了这方面。
但是,我正在努力实现与ROS和MAVROS相同的功能。
我注意到,MAVROS分发包含一些头文件,这些头文件定义了MAVROS消息以及从MAVLink消息到/从MAVLink消息的转换。
以下要点概述了我要理解的过程。
最终,我要做的就是序列化和反序列化ROS / MAVROS消息的一小部分,而无需占用大量框架开销。 尽管允许我使用MAVLink进行此操作的信息是容易获得且易于实现的,但是我找不到与ROS / MAVROS消息实现相同功能所需的等效信息。
任何帮助或澄清将非常欢迎!
非常感谢!
我曾经和pixhawk合作过。 我会尽力为您提供帮助。 据我所知,有关mavros的文档包括:
基本上,mavros包含两个部分:
libmovcon是mavlink收发器,可从无线电/以太网/ wifi网络发送/接收消息,并将已编码(仍为MAVLINK格式)的消息发布/订阅到ROS消息分发系统。 mavros是发布/订阅消息的ENCODED版本并有选择地将其解码并转换为ROS消息的粘合剂。 (例如,将mavlink全局速度转换为ROS geometry_msgs / TwistStamped)
回到您的问题:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.