|
发表于 2020-9-1 09:51:23
6456 浏览 6 回复
关于EKF2_AID_MASK
麻烦哪位大佬能详细解释下,当EKF2_AID_MASK==1,用GPS定位的时候,如果外部视觉还在继续给飞控发定位消息的时候,这时候,飞控到底是怎么定位的呢?我看代码,是觉得当EKF2_AID_MASK为1时,外部视觉定位应该是不影响的. 但在实际飞行p200的时候,却出现了这样的问题,EKF2_AID_MASK设为24,视觉定位飞行不正常(后来发现是没有订阅到t265的定位信息,位置估计传给飞控的定位信息全为0,但这不是我提问的重点哈);将EKF2_AID_MASK设为1,position飞行正常;然后我就将EKF2_AID_MASK设为1,启动了p200的vio_fly脚本,(脚本包含位置估计,位置控制,t265等节点),position飞行不正常.按我的理解,这时候即使视觉定位不正常,由于EKF2_AID_MASK参数为1,此时也应该能正常定点飞行啊.
eason已获得悬赏 1 阿木币最佳答案
一种思路,断开mavros订阅vision数据,卸载mavros-extras扩展包,
sudo apt-get remove ros-melodic-mavros-extras
这样即便发布了t265的数据,但没人订阅传到飞控之中。 ...
|
扫一扫浏览分享
|
|
|
|
|
|
|
发表于 2020-9-1 09:58:49
|
|
|
|
|
|
|
楼主|
发表于 2020-9-2 09:05:28
|
|
|
|
|
|
|
发表于 2020-9-2 09:09:46
一种思路,断开mavros订阅vision数据,卸载mavros-extras扩展包,
sudo apt-get remove ros-melodic-mavros-extras
这样即便发布了t265的数据,但没人订阅传到飞控之中。 |
|
|
|
|
|
|
|
楼主|
发表于 2020-9-2 10:14:58
那我直接把位置估计里的send_to_fcu给屏蔽掉是不是就可以了?卸载了之后,当希望用到T265定位的时候就麻烦了呀.
其实我更纠结的是,不修改任何地方,只是更改EKF2_AID_MASK为gps,那t265的数据对定位到底有没有影响.今天我又在Prometheus里用圆形穿越仿真了一下(EKF2_AID_MASK参数设为1,位置估计里vision输出强制全部给0),发现是没有影响的,但不明白真机飞行时怎么就有影响了. |
|
|
|
|
|
|
|
发表于 2020-9-2 13:27:42
正在看他的融合问题,真实飞机是v1.9.2的代码,prometheus用的是110固件。
等复现你的问题再详细描述原因。 |
|
|
|
|
|
|
|
楼主|
发表于 2020-9-2 16:47:15
|
|
|
|
|
|
|