PX4默认使用的EKF配置为融合GPS的水平位置与气压计高度。如果我们想使用视觉定位,就需要把修改配置文件。
● 注意,此修改意味着EKF融合来自mavros/vision_pose/pose的数据,并不是修改完无人机就可以视觉定位了,需要相关程序提供mavros/vision_pose/pose的数据,相关程序包括视觉SLAM、激光SLAM和获取Gazebo真值等。如果没有额外的视觉数据,想要飞行必须改回基于GPS和气压计的定位。一般情况下,自主飞行的无人机需要有位姿数据,查看/xxx_xx/mavros/local_position/pose应该有正确的数据。
1.打开rcS配置文件
1.11版本(我安装的是1.11版本,所以直接按以下修改)
1.11版本可以直接修改rcS文件
gedit ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/rcS
2.修改参数
通过注释来修改不同的参数
修改前
# GPS used
param set EKF2_AID_MASK 1
# Vision used and GPS denied
#param set EKF2_AID_MASK 24
# Barometer used for hight measurement
param set EKF2_HGT_MODE 0
# Barometer denied and vision used for hight measurement
#param set EKF2_HGT_MODE 3
修改后
# GPS used
#param set EKF2_AID_MASK 1
# Vision used and GPS denied
param set EKF2_AID_MASK 24
# Barometer used for hight measurement
#param set EKF2_HGT_MODE 0
# Barometer denied and vision used for hight measurement
param set EKF2_HGT_MODE 3
3.删除原参数配置文件
重启仿真前,需要删除上一次记录在虚拟eeprom中的参数文件,否则仿真程序会读取该参数文件,导致本次rcS的修改不能生效
rm ~/.ros/eeprom/parameters*
rm -rf ~/.ros/sitl*