本文主要是介绍2.2 mavros发布姿指令控制PX4,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
说明
使用遥控飞行
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
这篇关于2.2 mavros发布姿指令控制PX4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!