2.2 mavros发布姿指令控制PX4

2023-05-16

说明

使用遥控飞行

px4在stablize模式下,我们使用遥控器去控制px4飞行;
在飞行过程中,通常我们用4个通道就可以控制飞机飞行;
其中roll、pitch、yaw打杆的量就是我们期望无人机达到的姿态;
而throttle就是油门的大小;

自主飞行

不通过遥控器去发指令,而是由程序去发类似的指令控制px4飞行;
就可以达到和人在stablize下控制无人机一样的效果(但愿如此);
这里通过mavros给px4发布类似的信息,去替代上面的4个通道的指令,

发布的消息主题:

通过mavros/setpoint_raw/attitude

消息处理

1、其中ned下的欧拉角就是实际我们期望飞机达到的姿态角;
2、这个姿态角首先转换到enu坐标系下;
3、然后将欧拉角转换成四元数
4、油门限幅和归一化
5、发布消息

在这里插入图片描述

测试验证

现象

可以在qgc里面,通过主界面右上角的姿态角可以看到,飞机的实际的飞行姿态和我们在代码里面设置的期望姿态是否一致;
也可以看到飞机按照我们期望的姿态朝着一个方向飞去;

问题(1):

这里我也试过使用mavlink检测器里面去看attitude,但是实际发现实际的姿态一直在跳动;

问题(2):

将log下载后上传px4 log view
发现无法看到具体的数据

code 地址

github仓库
文件名为:publish_att.cpp
提交分支为:main
Commit: 5bcc46b4b3fba5a309b99a6beff498f613ecf390

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

2.2 mavros发布姿指令控制PX4 的相关文章

随机推荐

  • 传统网格中心的A*算法回顾

    A 算法回顾
  • Hybrid A*示例代码KTH的path_planner分析

    Hybrid A star Algorithm Analysis updating 1 Data Flow in main cpp span class token comment init ros node span ros span c
  • 算法:如何对任务进行调度

    1 假设有一个中央调度机 xff0c 有n个相同的任务需要调度到m台服务器上去执行 xff0c 由于每台服务器配置不一样 xff0c 因此 xff0c 服务器执行一个任务所花费的时间也不同 xff0c 第i个服务器执行一个任务所花费的时间也
  • PELCO-D协议

    由于项目的需要 xff0c 近期对云台控制协议PELCO D进行了研究 xff0c 现对云台控制说明书中的信息进行笔记记录 PELCO D协议通过命令报文控制云台 xff0c 通过返回信息对云台位置进行实时监控 PELCO D控制命令格式如
  • URL读数据、Configuration类、HDFS 的API操作

    从Hadoop URL 读取数据 使用java net URL对象文件打开数据流 xff0c 从hadoop文件系统中读取文件 注意 xff1a 不支持通过URL方式进行写操作 让java程序能识别Hadoop中的hdfs URL方案还需要
  • iptables-ipset仅允许国内访问---端口白名单

    前言 xff1a 境外肉鸡攻击有点多 xff0c 并业务无境外访问需求 xff0c IDC机房网络防火墙无法实现8K多条的china大陆地址导入 xff1b 为实现仅china大陆地址访问 xff0c 在业务端口如这里的80 xff0c 使
  • 什么是任务栈?

    在一个裸机系统中 xff0c 如果有全局变量 xff0c 有子函数调用 xff0c 有中断发生 那么系统在运行的时候 xff0c 全局变量放在哪里 xff0c 子函数调用时 xff0c 局部变量放在哪里 xff0c 中断发生时 xff0c
  • Ubuntu vscode 配置c/c++环境 ---- 静态代码检查

    我曾一度因为vscode中c语言的静态代码检查问题而困扰 xff0c 想想还是太懒了 xff0c 不愿意折腾 xff0c 今天搞一下 首先在ubuntu中装vscode xff0c xff0c xff0c 然后装clang span cla
  • ubuntu22.04 运行qq音乐闪退

    修改 usr share applications中的qqmusic desktop xff0c 在Exec后加上 no sandbox 如下图所示 xff1a
  • PIXHawk用QGC刷Firmware

    1 准备版本 2 开始刷 确定后会出现弹窗 xff0c 再弹窗的文件名处粘贴
  • Xfce4快捷键个性化配置(个人向)

    将xfce4部分常用快捷键设置为Gnome下的快捷键 窗口操作 xff08 在 窗口管理器 gt 键盘 里 xff09 切换同一应用的窗口 xff1a Alt 43 96 最大化窗口 xff1a Super 43 上隐藏窗口 xff1a S
  • 树莓派安装Dronekit连接PIX读取基础数据

    本文主要参考于苍穹四轴DIY的公众号文章 xff1a http span class token operator span span class token operator span span class token operator
  • PX4调试起飞

    一 下载固件 在px4的git上找到相应对于硬件型号的固件 xff1b 二 烧录固件 在qgc上 xff0c 点击高级上的自定义 xff0c 即可烧录相应固件 xff1b 三 选择机架 校准传感器 设置遥控器 选择机架类型之后 xff0c
  • PX4编译——搭建你的第一个应用(Hello Shy)

    一 编译环境 1 ubuntu20 04 2 px4 V2 二 编写测试程序 下载好px4code之后 xff0c 在src examples px4 simple app里面有cmakelist txt和px4 sample app cp
  • PX4开发说明

    本栏文档主要参考PX4的用户指导 xff1b 记录在px4开发过程中的心得体会和备忘 xff1b PX4 User Guide https docs px4 io master en dev setup dev env html
  • prometheus学习

    记录一下在阿木实验室 学习开源项目prometheus的过程
  • Error: No valid host was found.

    使用openstack创建虚拟机经常会遇到以下的这个错误 Error No valid host was found There are not enough hosts available 从字面意思就可以看出是无法找到可用的host的资
  • debian sid 安装 sopcast

    刚刚装了sopcast 由于是编译的 xff0c 所以记录一下以便以后删除干净 http sopcast com download linux html 上有详细说明 1 xff09 下载 sp auth tgz xff0c 把sp sc
  • 2.1 mavros发布位置指令控制px4

    1 说明 写一个节点给px4发送位置控制指令 xff0c 比如我想让飞机飞到10 xff0c 10 xff0c 10这个坐标 xff1b 2 发布和订阅的mavros主题 发布的主题 xff1a mavros setpoint positi
  • 2.2 mavros发布姿指令控制PX4

    说明 使用遥控飞行 px4在stablize模式下 xff0c 我们使用遥控器去控制px4飞行 xff1b 在飞行过程中 xff0c 通常我们用4个通道就可以控制飞机飞行 xff1b 其中roll pitch yaw打杆的量就是我们期望无人