该文章源于:https://max.book118.com/html/2017/0105/80287887.shtm
- Mission Planner简介
Misson Planner是无人机地面站控制软件,适用于固定翼,旋翼机和地面车。仅仅在 windows 系统下工作。Misson Planner 可给你的自行设备提供配置工具或动力学控制。
其主要特点:
● 给控制板提供固件加载
● 设定,配置及调整飞行器至最优性能
● 通过在地图上的鼠标点击入口来规划,保存及加载自动任务给飞控板
● 下载及分析由飞控板创建的任务记录
● 与 PC 飞行模拟器连接,提供硬件在环的 UAV 模拟器
● 通过适当的数传电台,可以监控飞行器状态,记录电台传输数据,分析电台记录或在 FPV 模式
2.Misson Planner安装
Misson Planner 是 windows 系统上的自由开源软件,安装非常简单。
首先下载最新 Misson Planner 安装文件
- 下载地址:http://firmware.diydrones.com/Tools/MissionPlanner/MissionPlanner-latest.msi
- 运行安装文件,并按向导执行即可。
- 安装包将自动安装所需软件驱动,包括 DirectX plug-in,如遇下面情况,请选择安装软件驱动即可。
- 软件将安装到 C:\Program Files (x86s)\APM Planner, 并创建打开 Mission Planner 的图标在开始菜单。
- 安装完毕后,即可启动 Mission Planner ,启动后即可通过连接按钮,下载固件或连接飞控板。
- 如果有升级版本,软件自动通知
3.飞控板固件加载
● 用 MicroUSB 连接 Pixhawxk 飞控板,USB 连接 PC 机。
● 打开 Mission Planner 软件,左上角区域从下拉菜单中选择 COM 口,可以选在 AUTO 选项,并设置串口通讯波特率为 115200。
● 在主画面上,选择 Initial Setup│Install firmware 画面,选择恰当的飞行器图标,回答提示画面“Are you sure ” “Yes”。当 Mission Planner 探测到 pixhawk 后,将要求你拔下飞控板,再次插入飞控板,数秒后点击 OK 按钮,这个期间满足 bootloader 接受下载新固件的请求。
● 当下载完美结束后,在软件状态条处显示“erase”,“program”,“verify..”和“upload Done”等信息,表明固件下载成功。
4.链接飞控板
● 连接飞控板和 PC 机可以选择 USB 电缆,数传电台或者 IP Connection。
● 在 Mission Planner的软件的左上角,选择连接的串口号和波特率 57600,并点击连接。
串口号是 windows 自动提供的,并在下拉菜单中出现。注意连接波特率必须选择 57600,而下载固件时的波特率必须选择 115200。
● 连接成功后,连接按钮将显示 Disconnect, 用于断开连接操作
● 如果遇见没有连接上,可能的原因如下:
检查正确的波特率, USB 为 115200,数传电台为 57600
检查串口号是否正确,串口号是否存在?
如果是 USB 口,请尝试不同的 USB 口
如果使用 UDP 或 TCP 连接,检查防火墙是否畅通
● 飞控板上电后,会有声音和 LEDs 等显示状态,以确认飞控板固件运行正确
5.Mission Planner 显示面板及特点
Mission Planner 功能分为:连接,飞行数据,
5.1 连接 Connect
用于下载固件到飞控板,或者通过数传电台连接飞控板
5.2 飞行数据 Flight Data
● Mission Planner GCS 主画面,数传电台与飞行器连接后,主画面显示如下数据:
● HUD 细节:1.空速(地速,如果没有安装空速管) 2.转弯速率 3.航向 4.侧滑角 5.电台连接,bad packets% 6.GSP 时间 7.高度 8.空速 9.地速 10.电池状态 11.人工水平线 12-15 状态显示
● 小提示:
地图显示当前 GPS锁定位置
当飞机右倾时,人工水平线左倾,飞机左倾,人工水平线右倾
飞机状态输出, WPDist: 代表距离下一个航点距离 BearingERR: 航向角偏差 AlterERR:高度偏差,WP:下一个航点 Mode:当前飞行模式
Plane output: 自动驾驶仪输出的前4个通道信号
autopilot 状态下,可以发送飞行指令,当遥控器处于手动模式的位置时,发送飞行指令无效
双击HUD,会全屏显示 HUD
双击速度仪表,可以 IU 改最大比例尺
可以下载地图替代谷歌地图,按下 control-F,允许你上传图,
制导模式:
● 鼠标右键点击菜单,点击“fly to here”可以控制飞行器飞行,偏离原来规划航点
5.3 飞行规划 Flight Planning
● 左上角显示鼠标,显示当前经纬度,
● 右侧显示控制面板
● 在下面显示航点信息及动作。
5.4 初始化设置 Initial setup
● 初始化固件,当要下载新固件时
● 3DR 数传电台设置,数传电台
● 其他可选硬件设置,比如超声波传感器,光流传感器等等
5.5 参数配置和调整 Params Configure 安定 tuning
以下这些菜单,需要与飞控板连接以后才能看到
● Planner: 地面站选项,诸如 logs,测量单位,ETC 等存储
● Basic Pids: Auto pilot 连接以后,这个选项出现,TBO。
● Flight Modes: 如何设置 6 个通道的飞行模式
● Standard Params: atuo pilot 连接上后,会出现这个菜单 TBD
● GeoFence: 飞行区域设置
● FailSafe: 故障模式
● Advance Params: 高级参数设置
● Full Parameter List:飞行器的所有飞控参数都可以在这里设置并保存,并能比较,加载以前的数据。
● Copter Pids:设置 Copter 的飞行器的 pids 参数
5.6 仿真器
仿真高级选项菜单 Advanced View,当使用 HIL 仿真技术,配置选项设置画面
6 飞行任务规划
Mission Planner 可以给飞行器设置自动任务,当飞行器处于 auto 模式时启动自主飞行模式。
6.1 航点规划及动作
● 设置 Home Position:对于 Copter, Home Position 就是飞控板上电的位置,这意味着如果执行 RTL 模式,将自动返航到 Home Position。对于固定翼飞机,Home Position 是 GSP 第一次锁定的位置。
● 任务简述:Copter 任务,自动起飞到 20m 高度,然后飞行到 WP2 点,爬升到 100m 高,然后等待 10 秒,然后飞行器将处理 WP3,下降到 50m ,然后返航降落。因为缺省的高度是 100m ,因此返航着陆高度也是 100m 。当到达着陆地点后,飞机降落。任务假设着陆地点在起飞点。
● 在航点设置画面的下方,有详细的航点规划及动作,可通知下拉菜单改变航点动作,通过地图鼠标拖拉改变航点位置。
● 缺省参数设置: Default Alt: 缺省的飞行,RTL模式时,有自己的高度,如果 Hold Default ALT 选定后,RTL 将按高度飞行;Verify Alt,与地图数据匹配,检查高度数据,己反应距地高度,进行地形匹配或避免撞地。
● 通过右侧按钮可以保存航行任务,加载航行任务,方便重复执行任务。
● Prefetch 提前下载地图数据到地面站,避免在野外无网络,无法连接地图数据。点击 Prefetch 按钮后,按下 alt 键,用鼠标拖动的矩形区域下载选择的位置图片
● Grid: 鼠标右键菜单, 通过点击增加项点的方式绘制一个多边形,然后点击 Grid 菜单,自动绘制一个网格状的航点轨迹,然后在定义在每个航点的动作。
设置 Home Location 菜单,通过鼠标可以任意设置Home Position
● 通过 Measure Distance 按钮,测量航点之间的距离
● Auto grid : Auto grid 功能可以生成“割草机”轨迹,以收集当地的图片。在地图上选择鼠标右键,选择多边形绘制需要的区域,选择 auto WP—Grid菜单,按照对话框自动处理高度和距离,将自动生成如下网格航点:
● 任务指令: 在地图的下方有表格的列表,将按当前飞行器类型产生指令列表,并增加一列航向参数需要用户提供。这些指令包括: 导航到航点,临近盘旋,执行特殊动作 ( 如拍照等) 和条件指令。全部的指令在 Mavlink Mission Command Messages 定义。
6.2任务指令参考
MavLink 协议定义了大量的 Mav cmd 航点指令( 通过 MavLink mission item message 传递 ),飞控板处理这些指令和命令行参数,这些命令必须是与指定飞行器相关的,无效指令将被忽略。
每种飞行器只执行相关的命令和命令行参数,不相关的指令忽略不执行,可能还有些有用的命令行参数没有被处理,由于消息大小限制。
● 指令分类: navigation 导航命令用于控制无人机移动,包括: 起飞,移动到航点,改变飞行姿态,着陆: DO 动作命令: 辅助功能,不影响飞行位置,比如相机快门,抛投伺服等: Condition 条件命令,用于延迟 DO 命令,至到条件满足,例如: UAV 达到指定高度和指定航点的距离条件。对于指定航点,一般先执行 NAV 导航指令,只到完成导航任务或在航点一定误差范围内,然后在执行一些列 DO 命令当条件完成后。
● Mission Planner支持的旋翼机指令:
6.3相机控制与自动操作
● 相机快门和云台指令 3 个通道
● 在飞行器移动的间隔时间或指定的航点上执行快门动作,如果相机安装在云台上,还可以控制云台的指向
● 对于简单的应用,可以手动控制航点和快门指令,对于复杂的测绘任务,自动生成任意区域的指令任务。
● 云台指令:DOSET ROI 云台指向指定区域,DO MOUNT CONTROL 云台控制到 roll, pitch, yaw 方向
● 伺服指令: DO SET SERVO:DO_ SET _RELAY 给指定的驱动信号
● 自动任务举例 1 :
Create WP Circle—— Createa circle of waypoints.
Area—— Displays the arca of the current polygon (if defined).
Create Spline Circle—— A circle where the altitude of waypoints follows a rising spline (relevant to flying vehicles).
Survery(Gird)——Automatically create waypoints and camcra control commands to Survey a specified polygon.
Survey(Grid2)—— Under comstruction! This is a simpler grid control for creating a rectangular survey area.
SimpleGird——A simple auto-created survey grid. No camcra control is defined .so this must be added separately.
● 自动任务举例 2 :
在飞行规划画面,创建多点区域
在区域内,鼠标右键点击菜单:Auto WP│Survey (Gird):
Mission Planner 将自动显示配置画面,画面上定义了相机参数,并自动计算拍照距离,即DO SET _CAM TRIGG_ DIST命令参数。
当点击“Accept”按钮后,接受这些参数,Mission Planner 将生成一系列航点覆盖指定区域,包括起飞和着陆航点,调用DO SET CAM TRIGG DIST 指令,用于设置相机快门指令的距离,最后再次调用DO SET CAM TRIGG DIST 来设置参数回 0 ,停止拍照。注意 2 次调用指令的参数不同。
最后,执行任务后,会得到 15 张图片。
6.4 转场点设置
当飞行器执行 RTL ( Return To Launch) 模式,比如被失效保护 Failsafe 模式启动,缺省的模式返回出发点,但是经常性这种情况不可实现,由于距离和电量的关系。
鉴于此种情况,我们现在支持多点 Rally Points 模式。只要无人机进入 RTL 模式,就会就近找到Home Point 或者最近的 Rally Point , 而不是返回起飞点。飞机将会在当地盘旋,Copter 将会试图降落
设置 Rally Points,在飞行规划地图上,点击鼠标右键,选择菜单 Rally Set Rally Point,
Rally Point 高度需要设置,
重复上面的操作,重新设置多个 Rally Points ,点击菜单按钮上传数据,即可
小提示: 当使用 geofence 时,Rally point不能出界; 确认 RallyPoint 的高度足够高,以避开建筑或山丘;因为内存关系,一般最多设置 10 个接力点,对于固定翼飞机,盘旋半径与其他盘旋点一致,由WP LOITER RAD 参数确定: RTL _ALT 等参数没有用到。
6.5 地形跟踪
固定翼无人机 3.0.4 以后都有地形跟踪功能,Terrain following, 即要求飞控板有本地存储数据,如 Pixhawk. Copter 3.4 以上版本支持地形数据,支持任务和着陆。
● Terrain Following 保存数据在 microSD 上,地图数据给出地形海平面高度,在 Pixhawk, 数据存储在 APM\TERRAIN 目录下,在 MicroSD 卡上。
● 这些数据可以通过 2 种方式传递到飞控板上,一种是 USB 方式,一种是数传电台方式,一旦地形数据存储到 SD 卡上后,当 GCS 不连接后,就会用于飞行控制。当然这些数据,只用于 Auto 模式,RTL 模式
● 地形数据可以通过数传电台,向地面站请求,也可以保存在 SD 卡上
● 地形跟踪飞行模式: RTL, Loiter, Cruise, FbwB, Guided ( Flyto ), AUTO
● 地形参数 TERRAIN FOLLOW. 参数缺省是关闭的,因此没有地形跟踪使用,一旦设置 TERRAIN _FOLLOW为 1 ,就启动了地形跟踪模式
● 地形跟踪用于: FPV, Safe RTL, Aerial Photography
● 地形数据: 地面站从网上下载,这里设计TERRAIN SPACING,TERRAIN ACCURACY参数,分别描述地形跟踪的精度和最小距离。
● 设置固定翼地形跟踪:确定固定翼 3.0.4 固件,确认 Mission Planner1.3.9 更高版本,设置 TERRAIN ENABLE 为 1 并且 TERRAIN FOLLOW 为 1 ,当 GPS 锁定后,通过 USB 连接飞控板,检查 flightData->Status ,查看地形跟踪状态数据
● 地形跟踪对于机头指向很敏感,当前位置指向的飞行轨迹飞行时,保证固定翼飞行爬坡足够,能够避开地形数据。地形指向参数 TERRAINLOOKAHD 参数,爬坡参数 TECS MAX CUMB 参数,与地形跟踪相关。
7.基于数据记录的故障诊断
7.1 基于logs诊断问题
● 有 2 种飞行数据记录,即 DataflashLogs 机载数据记录,适用飞行过后下载进行研究。对于 Copter 飞行器,上电后即开始记录。Telemetrylogs 电台数据记录,通过电台记录飞行数据到 Mission Planner 地面站中,两者的数据基本一致。
● 机械故障:通常机械故障包括 E S C 故障或电机故障,或螺旋桨损坏,这些故障表现: 期望的俯仰和滚转指令与测量的俯仰和滚转传感器数据出现巨大差异,这中不一致在 dataflash logs 中体现数据的严重分离,如下图:
● : 高频振动会引起Copter的加速度传感器,基于高度和水平位置估计的漂移偏大,将导致高度保持不稳定或盘旋出现漂移。振动数据可以从 dataflash 数据的 IMU 数据中的 AccX ,AccY, AccZ 数据看出。水平数据 AccX, AccY 征程范围在 - 3+ 3 m/s/s, AccZ在 15—5m/s/s 范围内,正常情况时,加速度会不是变化随着 Copter 的飞行变化,对于可接受的振动范围参见下图:
Tlogs RAW_ IMU 数据更新频率为 10HZ, 比较慢,不好看出是飞行带来的问题还是振动带来的问题,而 DataFlash 中的数据更新频率是 50HZ, 看振动现象比较容易。如果 TLOG 中的 xacc,yacc 数据在 -300-+300 之间, zacc 在 -500- -1500 之间,下面的数据表明在高度保持过程中,出现了振动问题,尽管更新速率比较慢。
指南针干扰: 指南针干扰通常是电源板分布导致磁场变化引起的,比如电源,电机,电调等引起的电磁场变化,可能引起指南针传感器问题面引起飞行方向错误。通过绘制 tlog 中的 mag filed 和油门数据 VFR HUD, 就很容易找到问题所在。下面的图像显示,一种可以接受的电磁干扰,可见 mag.field 数据变化在 10%- 20%,当 throttle 迅速拉起后,一般低于 30% 的干扰都是可以接受的,30% -60% 的干扰是模糊地带,也可能是 ok, 如果在油门拉起后,mag field 高于 60% 是绝对不可接受的.
小提示: magfield 数值在120-550 之间,在各地有所不同;磁场干扰在 compassmot setup 中有设置;Dataflashlog 中的 COMPASS 消息中,与RAW IMU xmag, ymag. zmag 数据一致 :磁场数据有补偿,一般指 -150-+150 之间,SENSOR OFFSET 变量组,mag_ofs x, mag ofs _Y, mag ofs_ z; 在上图中的开始阶段,磁场强度有一个短暂的脉冲可以忽略,因为在油门拉起之前,因为它可能是上电引起的磁场强度的突变。
● GPS 故障:当在自动模式,RTL,AUTO,Loiter,由 GPS 信号产生的位置误差可能引起
Copter 位置错误,导致错误 Copter 疯狂的飞向错误的地点,这中间那个故障会在 tlogs 和 dataflashlog 记录中体现,即卫星数量的减少和 hdop 的增加。
tlogs 绘图,GPSRAW _IT组,“eph”和“satellites visible” 值,参见上图,卫星数量低于 9 ,伴随明显的 GPS 位置改变.在 Dataflashlogs 中,GPS 消息可以看 “HDop” 和 “NSats”列,注意: hdop 值与 DataflashData 中的值单位不同。
● 电源故障: 电源模块提供可靠电源供电,但也有失效的时候,这些可以从 logs 中,机 Copter 还在空中 ( 气压计,惯性传感器测量高度数据 ) 的时候,突然掉电的现象可从 logs 中看到。Dataflash, CTUN 消息种的 BaroALt, GPS 消息,ReALt, Tlog 中的 VFR HUDalt, GLOBAL POSITION relative_alt 数据绘制曲线图如下:
板电压信号变化范围在 0.10-0.15 之间是正常范围。由于与其他设备共享电源,导致供电电压的波动,很可能引起供电电源的失效或其他异常行为,板子的电压可通过如下方法绘制:
Dataflash CURRENT 消息的 VCC, Tlog HWSTATUS 中的 Vcc 来绘制,下面的图,表明在油门推动后,板电压下降 0.15V ,在允许范围内,第 2 张图标明电压随机变化在 0.15V 范围内,可接受。
● 未知的 ERRORS 包括失效 Failsafes :当飞行控制器发生异常行为时,会引起失效保护模式 failsafes。有 5 种失效保护模式可以被激活: 油门失效, GPS 失效, GCS 失效, 电池失效 和 越界。理想的方法是在 dataflashlog 数据第列中过滤” ERR “,所有的 ECode 都在源代码文件 defines.h 文件中有说明,
7.2数传电台记录诊断
● Tlog 是在 MAVLink telemetry 消息一发送, 即自动开始创建记录,文件格式为 YYYY-MM-DD hh-mmOss .tlog 在 Mission Planner 的安装目录下的 logs 目录中,同时 .rlog 文件也生成,包括所有的 tlog 文件中内容和调试信息,这个文件的调试信息不能用于回放。
● 设置数据传输的速率,Software->Planner telemetry 下拉菜单来设置传输数率。因为所有的数据都记录在 tlog 中,这个也控制保存在 tlog 中的数据。实际保存的数据可能比请求的数率低,由于 CPU 的原因。
● 任务回放:数据记录后,可以通过回放来观察数据记录。点击 Telemetry logs tab, 点击“Load Log”并找到 tlog 文件,点击“play”按钮即可。
在回放过程中,可以跳到你期望的飞行时段观察飞行数据,通过滑块操作。当回放开始后,HUD 将显示无人机在地图中的位置和飞行状态。点击图中的“Tuning”选择框,然后双击数据显示坐标,就会弹出显示数据的对话框,用于用户选择显示数据曲线。
● 创建 3d 飞行轨迹图像: 可创建 KMZ 文件,选择 Telemetry Logs tab ,点击 Tlog->Kml or Graph 按钮,再按下” Create KML+GPX “按钮,选择 flight tlog, 参见下图:
经过如上操作后,.kmz 和 .kml 文件将在 tlog 文件的基础上创建,这个文件讲可以在 goole 地球上看到 3d 的飞行轨迹。可以通过双击或拖动方式,在 google Earth 上查看飞行和轨迹,不同的飞行模式显示不同的色彩轨迹。
● 提取参数和航点: 从 tlog 文件中提取参数和航点信息,创建 .KML 文件,这些文件可以 excel 文件提取,航点信息文件也可以用于飞行规划的加载数据。
● 从飞行数据绘制图形 :切换到 flight data 画面, 点击 telemetry logs 画面,点击” Tlog->Kml or graph “按钮,点击 “Graph Log” 按钮,选择 flight tlog 文件。
注意: 绘图窗口可选择绘制的曲线,在绘制的曲线上,左右鼠标用于给绘制图形定义比例尺,可选择绘制色彩,通过鼠标滚轮改变图形的窗口大小等等小技巧。
7.3 闪存数据记录
Dataflash logs 存在在飞控板上,如 pixhawk 的 dataflash 上,可以下载到 Mission Planner 上,来观察数据。
● 通过 MAVLink 下载 logs:usb 连接飞控板,打开 Mission Planner Flight Data 画面,在左下角的“DataFlash Logs”画面中,点击“Download Dataflash Log Via Mavlink ”按钮
然后选择你要下载的数据,这些数据并保存在 MissionPlanner/logs 目录中。
● 自动分析 logs 数据:
通常点击“Log Analysis”按钮,选择一个 Log 文件,然后生成最为简单的基础报告,这个报告将显著显示通常的问题。
● 手动查看 log:点击“Review a Log ”按钮,选择 log 文件,查看更为详细的信息,详见下图:
以上这些信息包含 GPS,IMU 等数据,参见下图
绘制图形:选择适当的行,会看见当前列的头,然后找到期望绘图的列,点击“Graph this data”按钮。例如 ATT’s 的 ROLL_ in 和 ROLL 数据绘制图如下:
鼠标滚动键用于缩放图形,也可以选择要仔细观察的区域,土多鼠标邮件选择设置比例尺等等操作来查看数据:也可以过滤相关消息类型,选择要选择的消息,在下拉菜单中选择。
● 设置想要记录的数据:LOG _ BITMASK 参数用于控制在 dataflash 记录的数据,最新版本可以设置独立的消息,如下:
● 消息细节: ATT(姿态信息),ATUN(自动调整), ATDE, CAM, CMD, COMPASS, CURRENT, CTUN, D32, DU32, ERR, EKF, GPS 等信息
7.4 记录数据与回访任务
如果有数传电台,就能够在 Mission Planner 地面站上记录飞行数据在“.tlog”文件中,你加载和任意回放并转换为“KMZ”文件,并谷歌地球上看飞行轨迹,下图是播放画面:
当 log 文件回放时,可以通过点击地图上的“Turning”选择框分析数据,可双击数据坐标弹出对话框,让你选择那数据是你想绘制的。如下图:
7.5 振动测分析
● 飞控板的加速度传感器对振动非常敏感。加速度计的数据可以用来估计飞行器的位置,若有额外的振动会导致依赖精确位置的飞行模式的飞行性能下降。振动影响所有的飞行器类型,尤其对 Copter 无人机在 AltHold,Loiter,RTL,GUIDED,Position 和 AUTO 飞行模式。如果你发现振动超出容忍范围内时,可以按照下面的办法设置振动阻尼。
● Copter-3.3 以上版本: 完成一次常规飞行,下载 dataflash 数据:使用 GCS 观察 VIBE 消息的VibeX,VibeY,VibeZ 数据,这些数据是加速度 m/s/s 输出的标准偏差。下图是 3DRIRIS 提取的数据,标明正常的范围在 15m/s/s, 但不时会有尖峰变化到 30/s/s ,最大可按受数值显示要低于 60m/s/s.
图上曲线 Clip0,Clip1,Clip2 数值,每次增加都可能达到最大值极限值 16g,理想状态,这些数值应该为 0 或者更低的数据<100,除非飞行器硬着陆情况,因此 lris 无人机存在严重的振动问题。
下面是飞行器由于振动问题导致的位置估计偏差很大
关于振动数值的标准偏差的计算参见相关文献。对于振动的测量以及估算对飞行器的设计改进很有帮助。
- 开源 Mission Planner 的二次开发基础
8.1 Visual Studio Community 13.0 打开 Mission Plannner solution
● Visual Studio Community 13.0 是 free 版本, MS 公司提供给个人用户,仅仅能创建各户端程序。Mission Planner GCS 地面站是采用C#编程语言编写的开源软件,对于特定客户,可以重新定义软件功能和二次开发
● 打开 Visual Studio;Open->Project->Solution, 进入到源代码目录,选 ArduPilotMega.sln, Visual Studio 将打开相关应用,包括相关程序包:设置 “Solution Configuration” to “Debug “ 或 “Release”; 设置 “Solution Platforms” to “X86” ; 在工程窗口,鼠标右键点击就 “Mission Planner” 选择 Properties,标记和取消 “Sign the ClickOnce manifests”;
● Mission Planner 由多个项目构成,你可以通过展开“Mission Planner”和“Libs”来查看:
Mission Planner; AviFile; BaseClasses; BSE.Windows.Forms ; Core ; GeroUtility; GMap.Net.Core; GMap.Net.WindowsForms; KMLib; MAVLink; MetaDataExtractor; MissionPlanner.Comms; MissionPlanner.Controls; Mission Planner.Utils; px4uploader; SharpKml; ZedGraph;
● Building Mission Planner: 在试图编译 Mission Planner 之前,因该有一个官方的版本,因为有一些“.dll”文件没有包含在 Git 资源中:
选择: Select Build->Batch Buil.., “Select ALL” ,然后选择按下”Rebuild “ 第一次编译肯定会遇到错误,请尝试多次这种办法。
● 如果发生相关的” .dll” 丢失的错误,(1) .右键点击”Solution Explorer” 选择 Properties, Reference Paths; (2) 在文件夹入口,浏览并选择 Mission Planner 的安装目录,例如: C:\Program Files (x86)\Mission Planner:(3) 点击 “Add Folder “按钮,添加 “installed MP” 目录到 Reference paths; (4) 点击 Build Events, 删除所有以前建立和后来建立的选项,并重新建立。
● 对于更多的丢失参考,重复以上工作,为每个项目重新设置参考路径,将会减少错误。
● 如果看到” BSE.Windows.Form” ..Could not locate the code Analysis tool At”., 通过取消 “BSE. Windows .Forms” 的代码分析中的 “Enable Analysis” 选项。
● 在 Vs 环境中,选择 BUILD,Configuration Manager 后,表明那个一个项目需要每次都要编译: 检查 Build ,有些只要编译一次,:重复做,: Build Clean Solution,Build,Rebuild 操作。所有项目都没有错误后,编译成功。
8.2 发布修改后的Mission Planner
● 如果修改成功,你可以成功在本地 PC 机上使用编译后的文件,但不能直接拷贝文件到其他机器上使用,这是因为运行文件需要一系列的依赖文件在不同的目录中,或者需要一个打包软件帮助你完成这个任务
● 或者需要作者加入网络开发组织,去把你的任务加到开源项目中去。
若有收获,就点个赞吧