[英]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.