说明
使用遥控飞行
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(使用前将#替换为@)