19

阿木币

0

精华

43 小时

在线时间

老司机

Rank: 2

发表于 2020-5-16 13:20:30 5623 浏览 3 回复

missionplanner 中的飞行模式是从飞控端下载下来的吗?还是.....

最近用老版本的missionplanner切换飞行模式时候 提示 “no mode changed”,请问mp中的飞行模式是不是从飞控端请求下来的?另外,ardupilot不同版本 不同机型的飞行模式肯定是不同的,mp是怎么兼容这些的呢?有研究mp的大神们解答一下啊

amov_msq已获得悬赏 1 阿木币

最佳答案

问题问的 无法下手啊,每个固件类型,飞控里面都要标识,地面站读取参数就是知道这是什么固件

扫一扫浏览分享
回复

使用道具 举报

139

阿木币

0

精华

287 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2020-5-16 13:46:12
问题问的 无法下手啊,每个固件类型,飞控里面都要标识,地面站读取参数就是知道这是什么固件
我不为己,谁人为我,但我只为己,那我又是谁?
回复 点赞

使用道具 举报

19

阿木币

0

精华

43 小时

在线时间

老司机

Rank: 2

 楼主| 发表于 2020-5-16 14:10:26
amov_msq 发表于 2020-5-16 13:46
问题问的 无法下手啊,每个固件类型,飞控里面都要标识,地面站读取参数就是知道这是什么固件 ...

刚才看了一点儿mp代码  是这样吗:地面站从飞控读取固件类型(arduplane arduopter px4),根据类型不同,使用对应的飞控模式列表  我现在不太明白的是:这个列表是哪儿来的?是在mp里提前写好的?还是从飞控参数里下载的?
另外:mp中,ParameterMetaDataBackup.xml 和 ParameterMetaData.xml文件是干啥用的?
回复 点赞

使用道具 举报

19

阿木币

0

精华

43 小时

在线时间

老司机

Rank: 2

 楼主| 发表于 2020-5-16 23:29:35
刨了一下mp的代码  大概明白了
1.mp的根目录下有个xml文件(我这个用的是中文的mp,文件是ParameterMetaData.zh-Hans.xml),飞行模式(FLTMODE)的类型在这里
2. mp会调用这个函数public static string GetParameterMetaData(string nodeKey, string metaKey, string vechileType) ,从上面说的xml中提取相应的vechileType(机型)的所有飞行模式,把这些模式存到一个列表中,用的时候从这里查找;
3. 我这个出现no mode changed的原因是:我用的一个朋友改过的地面站,原来是用在旋翼上的,最近想拿来用在垂起上,他在调用translateMode的时候直接写的旋翼的模式,但是这个时候我的机型却是固定翼,然后在固定翼机型的飞行模式列表查找这个模式当然找不到了 就报错no mode changed
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表