MissionPlanner的一些高阶使用设置

一、清除飞行轨迹

    有时在测试时我们希望清除地图中的飞行轨迹,在“飞行数据”页面左下方的“动作”页面,点击“清除轨迹”按钮即可。

二、打开和关闭语音

  “配置调试”->Planner->“语音合成”,勾选“启动语音”,然后后面会出现可选择的语音播报项目,按需勾选即可。

三、自定义姿态窗口下面的标签页

  姿态窗口下面的标签页有的基本用不到,可以自定义关闭。将鼠标放到任一标签页上,右键单击,选择“Customize”,在弹出的窗口中取消勾选相应标签页即可。

四、烧写自定义固件

  我们可以使用MissionPlanner向飞控中烧写自己编译的固件,步骤如下: 

  “初始设置” -> “安装固件” -> “加载自定义固件”,然后在弹出的窗口选择自己编译的固件即可。

五、实时查看各个电机的输出

在姿态窗口的下方,切换到“状态”标签页,其中ch1out对应的是1号电机的输出,ch2out对应二号电机,以此类推……

六、查看飞控固件版本号

 使用USB或者数传电台连接飞控后,如下图所示,在MissionPlanner顶部标题栏中,会显示MissionPlanner和飞控固件各自的版本号。

七、下载并分析日志

 如下图所示,在MissionPlanner姿态窗口下方的“数据闪存日志”标签页,点击“通过Mavlink下载闪存日志”按钮可以下载飞控中的日志。

 飞控的日志都是以xxxx.bin的格式存储在飞控的SD卡中的,这种“.bin”文件是一种二进制文件,内部信息是以特殊的帧格式存储的,我们无法直接阅读。当我们使用MissionPlanner将日志从飞控中下载下来之后,MissionPlanner在后台默认将下载下来的“.bin”文件转换为了我们可以直接阅读的“.log”文件,因此我们会发现日志文件夹下既有“.bin”文件又有同名的“.log”文件,二者包含的信息是一样的,但是“.log”文件会比“.bin”大得多。对于日志有如下知识点:

  • 日志在电脑上的存储文件夹为:此电脑\文档\Mission Planner\logs,此文件夹下又有多个子文件夹,其中“HEXAROTOR”文件夹中存储的是六旋翼的日志,“QUADROTOR”文件夹中存储的是四旋翼的日志,“SITL”存储的是软件仿真日志;这些子文件夹下又有名为“1”的文件夹,这个“1”文件夹内就是日志了;
  • 日志文件夹内的日志会有同名的“.bin”文件和“.log”文件,二者包含了完全相同的信息,但是“.log”文件比“.bin”文件大得多,因此,当你通过网络向别人发送日志时,只需要发送“.bin”文件(注意,1、不要将两个文件都发送过去,2、更不要直接将整个文件夹都发过去,这是非常不礼貌的);
  • 日志文件夹下还有“.gpx”文件,这是MissionPlanner自动将日志文件中的飞行航迹提取出来单独存储起来的,可以使用GoogleEarth等软件打开并查看三维航迹;
  • 关于日志的更多知识点,请参考我的另一篇文章: http://www.nufeichuiyun.com/?p=389
  • 分析日志的视频教程我已经发布到B站上了,链接:https://www.bilibili.com/video/BV1Bg4y1B7cU/

八、批量删除多个连续航点

 如果要批量删除多个连续航点,方法与在windows下删除多个连续文件一样,步骤如下:

  1. 选中第一个要删除的航点序号;
  2. 按住键盘上的“shift”键不放,选中最后一个要删除的航点的序号;
  3. 按一下键盘上的“Delete”键。

九、切换地图

 MissionPlanner支持多种地图,比如“必应卫星地图”、“谷歌中国卫星地图”、“高德卫星地图”等等,其中用的最多的还是“谷歌中国卫星地图”,切换地图的方法如下:

  1. 打开“飞行计划”页面;
  2. 在右侧下拉列表中选择打算选用的地图;
  3. 缩放一下左边的地图,或者重启一下MissionPlanner,地图就更新了,这时“飞行数据”页面的地图也会变为刚才修改的地图。

如今“谷歌卫星地图”和“谷歌中国卫星地图”都已经被封了,建议改为“必应卫星地图”。

十、打开MissionPlanner的隐藏功能

 MissionPlanner有很多处于测试中的、未对普通用户公开的隐藏功能,比如:集群飞行、移动RTK基站、Mavlink解析、Mavlink注入、FFT等,其打开方式非常简单:在MissionPlanner主页面,按快捷键组合“Ctrl+F”即可,弹出如下页面即为隐藏功能的合集:

十一、MissionPlanner中的禁飞区显示

 如下图所示,有时候MissionPlanner的地图中会显示一些淡红色的圈,这种圈是禁飞区,一般是以机场为中心的圆,但是注意:

  1. MissionPlanner和APM飞控固件并不会限制你在禁飞区里的飞行,这个圆圈只有提示作用,请大家起飞前一定要确保自己是否在禁飞区附近;
  2. MissionPlanner中的这些禁飞区不一定是最全的,事实上在任何地方飞行前,都最好确认一下这里是否允许飞行;
  3. MissionPlanner的这种圈状的提示是一种很粗略的画法,有可能即使你在圈里,但是并不在实际的禁飞区中;
  4. 再次强调,做任何事前先考虑一下后果,掂量一下自己是否能承受得起最差的情况,然后再做决定。在禁飞区飞行,如果真出现了干扰客机飞行甚至机毁人亡的惨剧,我相信不是任何人能承受的起的,合法合理飞行,坚决不做无人机圈里的“老鼠屎”,从你我做起!

十二、最新版MissionPlanner的官方下载链接

 很多时候大家在使用MissionPlanner时出现各种奇怪的问题,是由于使用了比较老的MissionPlanner版本导致的,但是各个论坛、帖子中的MissionPlanner版本比较混乱,很难找到一个最新的官方稳定版MissionPlanner安装包,我将官方最新稳定版的MissionPlanner下载链接放在这里,方便大家下载:

http://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.msi

 这个链接直接连通官方下载通道,永远都是最新的稳定版本。根据我的测试,使用迅雷下载会比浏览器直接下载快一点。

十三、常用参数说明

APM常用参数设置方法:http://www.nufeichuiyun.com/?p=47

APM固件参数使用技巧:http://www.nufeichuiyun.com/?p=936

十四、修改MissionPlanner主题

 之前有朋友问MissionPlanner日志分析界面能否把背景调整为白色,这样方便截图打印,这个可以通过修改MissionPlanner主题来实现,方法如下图所示:

 修改主题后,重启MissionPlanner,效果如下:

十五、设置遥测速率

 你想不想体验一下姿态窗口更加丝滑的显示效果?你想不想体验一下飞机在地图中更加流畅地移动?那么请到如下界面进行设置:

 其中每个项目后面的下拉菜单用来设置飞控下发该项目的频率,8指的就是8Hz。一般情况下,使用USB连接飞控时,由于通信速率很高,这里的各个频率都可以设置的很高(超过10Hz,甚至50Hz都行);但是如果是使用数传电台连接的飞控,受限于通信速率和电台缓存的大小,如果设置的过高,就会无法有效传输的情况,建议尝试各种数字以探索自己的数传电台的极限(不同数传电台配置不同,这里没有统一的标准)。

 每个项目的作用如下:

  1. 高度:很不幸 ,这里是翻译错误,在英文界面下,这里的单词是“Attitude”,是姿态的意思,但是翻译者看成了“Altitude”,于是翻译成了高度。实际上,这里就是姿态,如果你想让地面站首页的姿态窗口刷新更加丝滑,就增大这里的值;
  2. 位置:飞机的位置信息下发速率,如果你想让飞机在地图里的运动不是一蹦一蹦的,就增大这个值;
  3. 模式/状态:飞行模式和飞机状态数据;
  4. 遥控:遥控器各个通道输入值和飞控各个PWM通道输出值;
  5. 传感器:各个传感器的输出值。

 对于多旋翼固件,这一部分的代码在“ardupilot/ArduCopter/GCS_Mavlink.cpp”中,搜索“STREAM”关键词可以找到。

十六、规划循环运行的航线(设置航点自动跳转)

 有时候我们想让飞机按照一个航线循环飞行,这个可以通过在最后一个航点的结尾添加一个“DO_JUMP”航点来实现,如下图所示,该点的命令名为“DO_JUMP”,第一个参数是要跳转到的航点的编号(从1开始的),第二个参数是循环次数,意思是总共循环跳转多少次(比如如果此值为10,则在第10此跳转完成后,不再跳转),注意,如果此值设置为0,则从不跳转,等效于没有添加这个跳转航点

 注意:

  1、不存在无限循环的跳转逻辑,如果想无限循环,可以将“Repeat#”设置为一个较大的数来代替;

  2、“DO_JUMP”点后面的经纬度是无效的,不管设置为任何值,对飞行逻辑没有任何影响,因为飞控实际上只使用了前两个参数。

十七、实时显示本架次的“飞行时间”

 本架次的实时飞行时间对于我们估算剩余电量意义很大,MissionPlanner通过简单设置即可显示这一关键信息:

 在MissionPlanner姿态窗口下方的“快速”标签页中,“双击”一个打算替换为显示飞行时间的项目,会弹出可选信息勾选列表,选择下图红色方框中的一个项目即可:

 上述四个项目各自的含义如下:

  • timeInAir:本次上电后飞机在空中的累计时间,单位:秒。如果此次上电后飞机多次起降,中间没有拔插电池,则这里是各个起降在空中的时间之和;
  • timeInAirMinSec:意义跟“timeInAir”一样,只不过以“分钟·秒”的格式显示,更加方便;
  • timeSinceArmInAir:本次解锁后在空中的时间,单位:秒。这个跟之前的起降无关;
  • timesincelastshot:这个我没有用过,大家可以自己试试,看看到底是什么意思,不过一般情况下“timeInAirMinSec”就够用了。

十八、打开MissionPlanner高级模式

 有时候,MissionPlanner连接飞控后发现没有“全部参数表”等关键的页面,这是由于MissionPlanner的布局被修改为“Basic”导致的,具体为什么会变成这样,我暂时没有找到规律,不过解决方法很简单,按照下图步骤操作即可:

十九、修改地图中飞机飞行轨迹的长度

 如下图所示,有时我们我们想让地图中飞机的飞行轨迹多保留一段时间,从而看出飞机飞行轨迹的全貌。

 按照下图所示方法调整轨迹的长度即可,里面数值的单位MissionPlanner官方并没有给出说明,大家可以根据当前轨迹的长度与你期望的长度等比例缩放即可:

二十、将日志导出为Matlab格式

 做科研的朋友可能需要将飞控日志导出为Matlab可以识别的格式,这个功能已经被集成到了MissionPlanner中了。如下图所示,点击“创建Matlab文件”按钮,然后在弹出的窗口中选择要分析的日志,等待几秒钟之后,在此日志所在文件夹下会出现一个与日志同名的“.mat”格式的文件,这就是你要的东西。注意,导出过程很快并且没有进度条以及导出完成的弹窗提示,当你看到这个文件出现后,就可以认为导出已经完成。

二十一、将飞控恢复为默认参数

 如果不小心将飞控参数调乱了,或者飞控出现莫名其妙的问题,可以尝试恢复默认参数,操作步骤如下图所示:

二十二、MissionPlanner无法显示飞行模式

 如下图所示,有的时候我们会遇到MissionPlanner无法显示飞行模式的情况,所有的模式都显示为“Unknown”,这是由于MissionPlanner的配置文件损坏导致的(与飞控无关),我们可以删除此配置文件,MissionPlanner会在下次打开时自动新建此配置文件,从而可以解决问题。

 解决步骤如下:

 1、关闭MissionPlanner;

 2、删除“此电脑” -> “文档” -> “Mission Planner”文件夹(如果你没有将MissionPlanner安装在C盘默认路径下面,这个文件夹可能不在这个位置,具体在哪里请自行查找)。注意,我们平常下载的飞控日志就在此文件夹下的“logs”文件夹下,如果这些日志有用,请先备份“logs”文件夹

 3、打开MissionPlanner,你会发现MissionPlanner就会按照首次安装时那样弹出一些设置窗口,按照默认设置即可。

二十三、使用“游戏手柄”代替遥控器来控制飞机

 APM官网给出了设置方法,链接如下:https://ardupilot.org/copter/docs/common-joystick.html?highlight=joystick

发表评论