pixhawk px4 添加自定义mavlink消息

2023-05-16

首先添加一个uORB topic,然后添加一个mavlink解析程序,这将会将一个输入的mavlink消息解析并传入uORB topic中。

注:本例程,nsh仍然看不到消息,如果哪位朋友可以看到自定义的消息,希望能指导交流。 

博客地址连接:http://www.cnblogs.com/spyplus/p/pixhawk_note_mavlink_customization.html

FantasyJxf      http://blog.csdn.net/oqqenvy12/article/details/56849572

FantasyJxf的博客不详细,但是思路清晰

1、原文中定义的ca_trajectory.msg消息如下:

      

uint64_t应改为uint64

2、原文中自定义的xml文件如下,我是定义的custom_messages.xml文件,内容一样。

 

3、将mavlink generator生成c语言源文件Out目录定位到一个空的文件夹,注意语言选择C,协议选择2.0,将生成的custom_messages文件夹拖到/mavlink/include/mavlink/v2.0

目录下。

4、将原文中创建的自定义消息类更改为本文件夹所示的类。

5、按原文的方法进行编译会在 v2.0/custom_messages/mavlink_msg_ca_trajectory.h文件的开

 头定义的结构体产生错误:

Typedef struct MAVLINK_PACKED mavlink_ca_trajectory_t{

                 uint64_t timestamp;

                         :

                         :

                 Uint16_t seq_id;

}mavlink_ca_trajectory_t;

要去掉上面高亮的mavlink_ca_trajectory_t,就可以编译过去。

6、(1)在 mavlink_receiver.h中增加一个处理类MavlinkReceiver 中的输入mavlink消息的函

数:

void handle_message_ca_trajectory_msg(mavlink_message_t *msg);

这个函数是定义在MavlinkReceiver类中的。

 

2)在 mavlink_receiver.h中加入一个类MavlinkReceiver中的uORB消息发布者

orb_advert_t _ca_traj_msg_pub,也是在类中定义的。

7、但是在启动nsh时出现的 Using MAVLINK 1.0消息。?

  然后在其他配置步骤不变的情况下,在v1.0/message_definitions/下创建自定义消息custom_message.xmlmavlink generatorOut生成的custom_messages复制到v1.0目录下。能编译过去,但是不能在nsh看到消息,通过nsh下输入ls obj命令查看消息

8、然后确保启用流,通过在启动脚本中添加以下行(-r配置流速率,-u标识UDP端口14556上的mavlink通道):  

示例:

1)在ttyS1串口上启动mavlink,波特率为921600,最大发送速率为80kB / s

mavlink start -d /dev/ttyS1 -b 921600 -m onboard -r 80000

(后来回顾时感觉是/dev/ttyS1 端口没有选对,由于目前没有时间,没机会尝试)

2)在UDP 14556端口上启动mavlink,并以50Hz的速率发送HIGHRES_IMU消息:

mavlink start -u 14556 -r 1000000nsh提示warn信息)

mavlink stream -u 14556 -s HIGHRES_IMU -r 50

   本实例的命令为:mavlink stream -r 50 -s CA_TRAJECTORY -u 14556

但是在nsh仍然看不到消息。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pixhawk px4 添加自定义mavlink消息 的相关文章

  • PX4代码学习系列博客(6)——offboard模式位置控制代码分析

    分析offboard模式的代码需要用到以下几个模块 local position estimator mavlink mc pos control mc att control mixer 程序数据走向 mavlink 一般的offboar
  • ardupilot之添加mavlink消息

    本文是这篇文章的复现 xff1a http www sohu com a 213599378 175233 一 mavlink分析 Mavlink 的全称是Micro Air Vehicle link xff0c pixhawk把它作为与地
  • PX4飞控之PWM输出控制

    PX4飞控之PWM输出控制 多旋翼电调如好盈XRotor xff0c DJI通用电调等都支持PWM信号来传输控制信号 常用的400Hz电调信号对应周期2500us xff0c 一般使用高电平时间1000us 2000us为有效信号区间 xf
  • 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞

    无人机仿真 PX4编译 xff0c gazebo仿真及简单off board控制模式下无人机起飞 前言 在上篇记录中 xff0c 已经对整体的PX4仿真环境有了一定的了解 xff0c 现如今就要开始对无人机进行起飞等仿真环境工作 xff0c
  • PX4 ---- Indoor Flight

    文章目录 室内飞行ROS amp PX4Pose Data 飞机配置MAVROS 基于工训赛 VIO 飞行总结 室内飞行 ROS amp PX4 Pose Data 飞机配置 VIO 参考此处 xff0c 采用 T265 配置 相机与飞控机
  • PX4 -- EKF2

    文章目录 EKF2参数高度估计Range Finder滤波 单变量更新单变量更新对多变量的影响 EKF2 参数 EKF2 中有一类 GATE 参数 当测量值在 VAR GATE 范围内才会更新值 高度估计 四种高度控制方法 xff1a 气压
  • DroneKit教程(三):连接Pixhawk飞控

    DroneKit教程 xff08 三 xff09 xff1a 连接Pixhawk飞控 DroneKit提供了非常简便的代码 xff0c 可通过多种方式与飞控连接 连接飞控 使用DroneKit中的connect函数 xff0c 可以方便地连
  • DroneKit教程(五):使用自定义MAVLink指令

    DroneKit教程 xff08 五 xff09 xff1a 使用自定义MAVLink指令 DroneKit的实质是通过发送和接受MAVLink消息 xff0c 向飞控发送控制指令 从飞控获取各种状态信息 DroneKit的所有内置功能都是
  • PX4模块设计之一:SITL & HITL模拟框架

    PX4模块设计之一 xff1a SITL amp HITL模拟框架 1 模拟框架1 1 SITL模拟框架1 2 HITL模拟框架 2 模拟器类型3 MAVLink API4 总结 基于PX4开源软件框架简明简介的框架设计 xff0c 逐步分
  • PX4模块设计之十一:Built-In框架

    PX4模块设计之十一 xff1a Built In框架 1 Nuttx Built In框架2 PX4 Built In框架2 1 NSH Built In关联文件2 2 NSH Built In关联文件生成2 3 NSH Built In
  • PX4模块设计之十三:WorkQueue设计

    PX4模块设计之十三 xff1a WorkQueue设计 1 WorkQueue启动2 WorkQueue接口2 1 基本接口2 2 辅助接口2 3 WorkQueue任务函数2 3 1 Flat Build2 3 2 Protected
  • mavlink解析

    之前看了mavlink协议 xff0c 网上关于mavlink的资料不多 本系列共三篇 xff0c 这是第一篇 本文大概总结了下对mavlink协议的理解 以下如不说明都是说mavlink v1 0版本 首先附上mavlink的各个消息的简
  • vlc-添加自定义的demuxer解复用插件----播放h264裸文件

    使用vlc3 0 6 在ubuntu 64bit上编译 xff0c vlc使用插件的方式组织对多种视频源的支持 xff0c 比如 avi mp4 mkv 等等 xff0c 这里想添加一个自己的demuxer xff0c 从一个h 264文件
  • PX4软件在环仿真注意点

    注 xff1a 最新内容参考PX4 user guide 点击此处 PX4下载指定版本代码和刷固件的三种方式 点击此处 PX4sitl固件编译方法 点击此处 PX4开发指南 点击此处 PX4无人机仿真 Gazebo 点击此处 px4仿真 知
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • PX4——Range Finder 篇

    Range Finder 此处选用的是 Benewake 下的 Lidar 参数设置 General Configuration 除了官方的参数设置外 xff0c 我在 EKF2 中还找到了 EKF2 RNG AID 参数 xff0c 用来
  • pixhawk之NSH调试

    一 ardupilot固件 windows环境 前期准备 1 xff1a pix烧录程序 xff0c Arducopter或者library中的example都可以实现 2 xff1a 拔掉SD卡 xff08 脚本中提到的没有SD卡进入ns
  • mavlink模块中接收offboard模式下的mavlink消息流

  • PX4:Policy “CMP0097“ is not known to this version of CMake.

    make px4 fmu v3 时报的错 CMake版本的问题 由https blog csdn net zhizhengguan article details 118380965推测 xff0c 删除cmake policy也没事 ma
  • 飞行姿态解算(三)

    继之前研究了一些飞行姿态理论方面的问题后 又找到了之前很流行的一段外国大神写的代码 来分析分析 第二篇文章的最后 讲到了文章中的算法在实际使用中有重大缺陷 大家都知道 分析算法理论的时候很多情况下我们没有考虑太多外界干扰的情况 原因是很多情

随机推荐