PX4-Autopilot + ROS Offboard 模式开发(1) 概述
PX4-Autopilot
PX4 Autopilot Software
项目地址:https://gitcode.com/gh_mirrors/px/PX4-Autopilot
免费下载资源
·
本文将基于PX4 Offboard模式进行地面站键盘控制设计,以提升飞行安全性、减少飞行事故造成的零件损耗和进度延误。
1. Offboard模式概述
参考PX4v1.13官方文档
Offboard Mode - PX4 User Guide (v1.13)
Offboard模式具有以下主要特征:
- 位置/速度/姿态设定点(Setpoint)由运行在机载电脑(Companion Computer)上的MAVLink API(MAVSDK或者MAVROS)提供;机载电脑通过Wifi或者串口与PX4自驾仪通讯。
- 使用该模式前:
- 必须解锁(Arm)飞机。
- 必须向自驾仪发布2Hz以上的设定点信息流(Stream)。
- 如果设定点发布频率小于2Hz,飞机将自行退出该模式。
- 只有部分设定点坐标轴和域值受MAVLink支持,务必使用受支持的值。
- 运行该模式时:
- 需要提供位置或者位姿信息(如GPS、光流、运动捕捉等)。
- 设定点必须以大于2Hz的频率发布。
- RC控制(Radio Control,无线电控制)除切换模式外的功能被禁用。
- 远程MAVLink通讯丢失时,飞机将在等待超时后尝试降落或进入其他模式。
- 受支持的MAVLink消息组合(以下只针对直升机/多轴飞行器/垂直起降飞行器,其他机型请参阅官方文档)
- SET_POSITION_TARGET_LOCAL_NED(只支持MAV_FRAME_LOCAL_NED和MAV_FRAME_BODY_NED坐标轴值)
- 位置设定点
- 速度设定点
- 加速度设定点
- 位置+速度设定点
- 位置+速度+加速度设定点
- SET_POSITION_TARGET_GLOBAL_INT(只支持MAV_FRAME_GLOBAL坐标轴值)
- 位置设定点
- 速度设定点
- 推力设定点
- 位置+速度设定点
- SET_ATTITUDE_TARGET
- 姿态/方位+推力设定点(SET_ATTITUDE_TARGET.q+SET_ATTITUDE_TARGET.thrust)
- Body坐标系角速度+推力设定点(SET_ATTITUDE_TARGET .body_roll_rate .body_pitch_rate .body_yaw_rate + SET_ATTITUDE_TARGET.thrust)
- SET_POSITION_TARGET_LOCAL_NED(只支持MAV_FRAME_LOCAL_NED和MAV_FRAME_BODY_NED坐标轴值)
- Offboard参数
- COM_OF_LOSS_T:超时等待时间
- COM_OBL_ACT:Offboard模式丢失、未连接RC控制时,切换到的模式
- COM_OBL_RC_ACT:Offboard模式丢失、连接RC控制时,切换到的模式
- COM_RC_OVERRIDE:操纵杆移动时,是否自动切换至位置模式(Position Mode),默认不切换。
- COM_RC_STICK_OV:引起上述模式切换的操纵杆移动量。
2. ROS Offboard控制例程
参阅此链接:
GitHub 加速计划 / px / PX4-Autopilot
8.03 K
13.3 K
下载
PX4 Autopilot Software
最近提交(Master分支:1 个月前 )
8ed3489b
- the module documentation parser can only resolve defines from the same file
- also it cannot deal with defines embeded in strings
- what board should it add for the general documentation anyways?
As a result of these issues I suggest to stay with the original hardcoded
/fs/microsd for the documentation. It's still the most common path as far as
I can see.
3 个月前
84d4ee0e
which is up to date containing "Use SO_REUSEPORT only if it exists"
and is advertised by GitHub because the commit is on a branch
3 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)