PX4开发指南-11.5.外部位置估计
Using Vision or Motion Capture systems
在遵循以下说明之前,请确保您的自动驾驶仪具有启用了LPE模块的固件版本。PX4固件的LPE版本可以在最新PX4版本的zip文件中找到,也可以使用
make
命令(如px4fmu-v2_lpe
)从源代码生成。有关详细信息,请参阅Building the Code。
本文旨在使用除GPS之外的位置数据源构建一个基于PX4的系统,例如像VICON、Optitrack之类的运动捕捉系统和像ROVIO、SVO或者PTAM之类的基于视觉的估计系统。
位置估计既可以来源于板载计算机,也可以来源于外部系统(例如:VICON)。这些数据用于更新机体相对于本地坐标系的位置估计。来自于视觉或者运动捕捉系统的朝向信息也可以被适当整合进姿态估计器中。
现在,这个系统被用来进行室内位置控制或者基于视觉的路径点导航。
对于视觉,用来发送位姿数据的MAVLink消息是VISION_POSITION_ESTIMATE。对于运动捕捉系统,相应的则为ATT_POS_MOCAP。
默认发送这些消息的应用是ROS-Mavlink接口MAVROS,当然,也可以直接使用纯C/C++代码或者MAVLink()库来发送它们。
LPE Tuning for Vision or Mocap
使能外部位姿输入
需要设置几个参数(从QGroundControl或者NSH shell)来使能或者禁用视觉/运动捕捉。
设置系统参数
CBRK_NO_VISION
为0来使能视觉位置估计。设置系统参数
ATT_EXT_HDG_M
为1或者2来使能外部朝向估计。设置为1使用视觉,设置为2使用运动捕捉。
Disabling barometer fusion
如果从肉眼所看到或mocap信息已经可以获得极准确的高度,则禁用LPE中的压力校正可以减少Z轴上的漂移。
在参数
LPE_FUSION
中有一个开关,您可以从QGroundControl设置。 只是取消勾选“fuse baro”。Tuning noise parameters
If your vision or mocap data is highly accurate, and you just want the estimator to track it tightly, you should reduce the standard deviation parameters, LPE_VIS_XY and LPE_VIS_Z (for vision) or LPE_VIC_P (for motion capture). Reducing them will cause the estimator to trust the incoming pose estimate more. You may need to set them lower than the allowed minimum and force-save.
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号