资源描述
无人机地面站(GCS)
Mission Planner 操作使用手册
小左实验室
2014-10-1
目录
Mission Planner 操作使用手册 1
1.Mission Planner简介 2
2.Mission Planner安装 2
3.飞控板固件加载 3
4.链接飞控板 5
5.Mission Planner显示面板及特点 5
5.1连接 Connect 5
5.2飞行数据Flight Data 5
5.3飞行规划 Flight Planning 7
5.4初始化设置 Initial setup 7
5.5参数配置和调整 Params Configure安定tuning 7
5.6仿真器 8
6飞行任务规划 8
6.1航点规划及动作 8
6.2任务指令参考 10
6.3相机控制与自动操作 11
6.4转场点设置 13
6.5地形跟踪 15
7.基于数据记录的故障诊断 16
7.1基于logs诊断问题 16
7.2数传电台记录诊断 20
7.3闪存数据记录 22
7.4记录数据与回放任务 25
7.5振动测量分析 26
8.开源Mission Planner的二次开发基础 29
8.1Visual Studio Community 13.0打开Mission Planner solution 29
8.2 发布修改后的Mission Planner 31
1.Mission Planner简介
Mission Planner是无人机地面控制站软件,适用于固定翼,旋翼机和地面车。仅仅在windows系统下工作。Mission Planner可给你的自动车辆提供配置工具或动力学控制。
其主要特点:
l 给控制板提供固件加载
l 设定,配置及调整飞行器至最优性能
l 通过在地图上的鼠标点击入口来规划,保存及加载自动任务给飞控板
l 下载及分析由飞控板创建的任务记录
l 与PC飞行模拟器连接,提供硬件在环的UAV模拟器
l 通过适当的数传电台,可以监控飞行器状态,记录电台传递数据,分析电台记录或在FPV模式下工作
2.Mission Planner安装
Mission Planner是windows系统上的自由开源软件,安装非常简单。
首先下载最新Mission Planner 安装文件
1.下载地址:
2.运行安装文件,并按向导执行即可。
3.安装包将自动安装所需软件驱动,包括DirectX plug-in,如遇下面情况,请选择安装软件驱动即可。
4.软件将安装到 C:\Program Files (x86)\APM Planner,并创建打开Mission Planner的图标在开始菜单。
5.安装完毕后,即可启动Mission Planner ,启动后即可通过连接按钮,下载固件或连接飞控板。
6.如果有升级版本,软件自动通知
3.飞控板固件加载
l 用MicroUSB连接Pixhawk飞控板,USB连接PC机。
l 打开Mission Planner软件,左上角区域从下拉菜单中选择COM口,可以选在AUTO选项,并设置串口通讯波特率为115200。
l 在主画面上,选择Initial Setup | Install firmware画面,选择恰当的飞行器图标,回答提示画面“Are you sure”"Yes"。当Mission Planner探测到pixhawk后,将要求你拔下飞控板,再次插入飞控板,数秒后点击OK按钮,这个期间满足bootloader接受下载新固件的请求。
l 当下载完美结束后,在软件状态条处显示“erase”,“program”,“verify..”和“upload Done”等信息,表明固件下载成功。
4.链接飞控板
l 连接飞控板和PC机可以选择USB电缆,数传电台或者IP Connection。
l 在Mission Planner软件的左上角,选择连接的串口号和波特率57600,并点击连接。串口号是windows自动提供的,并在下拉菜单中出现。注意连接波特率必须悬着57600,而下载固件时的波特率必需选择115200。
l 连接成功后,连接按钮将显示Disconnect,用于断开连接操作
l 如果遇见没有连接上,可能的原因如下:
检查正确的波特率,USB为115200,数传电台为57600
检查串口号是否正确,串口号是否存在?
如果是USB口,请尝试不同的USB口
如果使用UDP或TCP连接,检查防火墙是否畅通
l 飞控板上电后,会有声音和LEDs等显示状态,以确认飞控板固件运行正确
5.Mission Planner显示面板及特点
Mission Planner功能分为:连接,飞行数据,
5.1连接 Connect
用于下载固件到飞控板,或者通过数传电台连接飞控板
5.2飞行数据Flight Data
l Mission Planner GCS主画面,数传电台与飞行器连接后,主画面显示如下数据:
l HUD细节:1.空速(地速,如果没有安装空速管) 2.转弯速率 3.航向 4.侧滑角 5.电台连接,bad packets% 6.GPS时间 7:高度 8.空速 9.地速 10.电池状态 11.人工水平线 12-15状态显示
l 小提示:
地图显示当前GPS锁定位置
当飞机右倾时,人工水平线左倾,飞机左倾,人工水平线右倾
飞机状态输出,WPDist:代表距离下一个航点距离 BearingERR:航向角偏差 AlterERR:高度偏差,WP:下一个航点 Mode:当前飞行模式
Plane output: 自动驾驶仪输出的前4个通道信号
autopilot状态下,可以发送飞行指令,当遥控器处于手动模式位置时,发送飞行指令无效
双击HUD,会全屏显示HUD
双击速度仪表,可以IU改最大比例尺
可以下载地图替代谷歌地图,按下control-F,允许你上传图,
制导模式:
鼠标右键点击菜单,点击“fly to here”可以控制飞行器飞行,偏离原来规划航点
5.3飞行规划 Flight Planning
l 左上角显示鼠标,显示当前经纬度,
l 右侧显示控制面板
l 在下面显示航点信息及动作。
5.4初始化设置 Initial setup
l 初始化固件,当要下载新固件时
l 3DR数传电台设置,数传电台
l 其他可选硬件设置,比如超声波传感器,光流传感器等等
5.5参数配置和调整 Params Configure安定tuning
以下这些菜单,需要与飞控板连接以后才能看到
l Planner:地面站选项,诸如logs,测量单位,ETC等存储
l Basic Pids:Auto pilot连接以后,这个选项出现,TBD。
l Flight Modes:如何设置6个通道的飞行模式
l Standard Params: auto pilot连接上后,会出现这个菜单 TBD
l GeoFence: 飞行区域设置
l FailSafe: 故障模式
l Advanced Params: 高级参数设置
l Full Parameter List:飞行器的所有飞控参数都可以在这里设置并保存,并能比较,加载以前的数据。
l Copter Pids: 设置Copter飞行器的pids参数
5.6仿真器
仿真高级选项菜单Advanced View,当使用HIL仿真技术,配置选项设置画面
6飞行任务规划
Mission Planner可以给飞行器设置自动任务,当飞行器处于auto模式时启动自主飞行模式。
6.1航点规划及动作
l 设置Home Position: 对于Copter,Home Position就是飞控板上电的位置,这意味着如果执行RTL模式,将自动返航到Home Position。对于固定翼飞机,Home Position是GPS第一次锁定的位置。
l 任务简述:Copter任务,自动起飞到20m高度,然后飞行到WP2点,爬升到100m高,然后等待10秒,然后飞行器将处理WP3,下降到50m,然后返航降落。因为缺省的高度是100m,因此返航着陆高度也是100m。当到达着陆地点后,飞机降落。任务假设着陆地点在起飞点。
l 在航点设置画面的下方,有详细的航点规划及动作,可通过下拉菜单改变航点动作,通过地图鼠标拖拉改变航点位置。
l 缺省参数设置:Default Alt:缺省的飞行,RTL模式时,有自己的高度,如果Hold Default ALT选定后,RTL将按高度飞行; Verify Alt,与地图数据匹配,检查高度数据,已反应距地高度,进行地形匹配或避免撞地。
l 通过右侧按钮可以保存航行任务,加载航行任务,方便重复执行任务。
l Prefetch 提前下载地图数据到地面站,避免在野外无网络,无法连接地图数据。点击Prefetch按钮后,按下alt键,用鼠标拖动的矩形区域下载选择的位置图片
l Grid: 鼠标右键菜单,通过点击增加顶点的方式绘制一个多边形,然后点击Grid菜单,自动绘制一个网格状的航点轨迹,然后在定义在每个航点的动作。
l 设置Home Location菜单,通过鼠标可以任意设置Home Position
l 通过Measure Distance按钮,测量航点之间的距离
l Auto grid :Auto grid功能可以生成“割草机”轨迹,以收集当地的图片。在地图上选择鼠标右键,选择多边形绘制需要的区域,选择auto WP--Grid菜单,按照对话框自动处理高度和距离,将自动生成如下网格航点:
l 任务指令:在地图的下方有表格的列表,将按当前飞行器类型产生指令列表,并增加一列航向参数需要用户提供。这些指令包括:导航到航点,临近盘旋,执行特殊动作(如拍照等)和条件指令。全部的指令在Mavlink Mission Command Messages 定义。
6.2任务指令参考
MavLink协议定义了大量的Mav_cmd 航点指令(通过MavLink_mission_item_message传递),飞控板处理这些指令和命令行参数,这些命令必须是与指定飞行器相关的,无效指令将被忽略。
每种飞行器只执行相关的命令和命令行参数,不相关的指令忽略不执行,可能还有些有用的命令行参数没有被处理,由于消息大小限制。
l 指令分类:navigation导航命令用于控制无人机移动,包括:起飞,移动到航点,改变飞行姿态,着陆;DO动作命令:辅助功能,不影响飞行位置,比如相机快门,抛投伺服等;Condition条件命令,用于延迟DO命令,至到条件满足,例如:UAV达到指定高度和指定航点的距离条件。对于指定航点,一般先执行NAV导航指令,只到完成导航任务或在航点一定误差范围内,然后在执行一些列DO命令当条件完成后。
l Mission Planner支持的旋翼机指令:
MAV_CMD_MISSION_START:启动当前任务,自动(不用油门),参数:无
MAV_CMD_COMPONENT_ARM_DISARM:电机上电或掉电,参数:1,2
MAV_CMD_NAV_WAYPOINT:移动到指定航点,7个参数:2,5,6,7
MAV_CMD_NAV_RETURN_TO_LAUNCH:返回Home point或Rally Point,参数:无
MAV_CMD_CONDITION_DELAY:抵达航点后,延迟执行DO命令,参数:1 时间长度:s
MAV_CMD_CONDITION_DISTANCE:抵达当前航点指定的距离范围内,参数:1 距离
MAV_CMD_DO_CHANGE_SPEED:改变目标水平速度或油门,参数:2 速度
MAV_CMD_DO_SET_HOME:动作,设置Home Point位置,参数:1,5,6,7
MAV_CMD_DO_SET_SERVO:动作,设定给定的伺服输出管脚PWM,参数:1,2
MAV_CMD_DO_SET_RELAY:动作,设定指定输出管脚高/低电平 参数:1,2
MAV_CMD_DO_REPEAT_SERVO:给指定输出管脚指定pwm和中立波,按指定周期循环次数,参数:1-管脚号 2-pwm 3-repeat# 4-cycle(s)
MAV_CMD_DO_REPEAT_RELAY:给指定输出管脚指定高地电平,按指定周期循环次数,参数:1-管脚号 2-pwm 3-repeat# 4-cycle(s)
MAV_CMD_DO_DIGICAM_CONFIGURE (Camera enabled only):
MAV_CMD_DO_DIGICAM_CONTROL (Camera enabled only):
MAV_CMD_DO_SET_CAM_TRIGG_DIST (Camera enabled only):
MAV_CMD_DO_SET_ROI:指定云台指向区域,参数:5,6,7
MAV_CMD_DO_SET_MODE:设置系统模式,preflight,armed,unarmed,参数:1
MAV_CMD_DO_JUMP :切换到指定航点多次,参数:1,2
MAV_CMD_NAV_TAKEOFF:起飞指令,所有任务的第一次指令,参数:7
MAV_CMD_NAV_LAND:着陆,指定区域,参数:5,6 需退出Auto模式,切断动力
MAV_CMD_NAV_LOITER_UNLIM:飞到指定区域,然后盘旋,参数:5,6,7
MAV_CMD_NAV_LOITER_TURNS:指定区域盘旋,给定盘旋半径,参数:1,5,6,7
MAV_CMD_NAV_LOITER_TIME:指定区域盘旋,给定盘旋时间,参数:1,5,6,7
MAV_CMD_CONDITION_CHANGE_ALT :按指定爬升或降落速度改变至指定高度,参数:1,7 按指定速度升降至指定高度。
MAV_CMD_NAV_SPLINE_WAYPOINT:按照曲线形式航行到指定位置,参数:1,5,6,7
MAV_CMD_CONDITION_YAW:航向更改,参数:1,3,4
MAV_CMD_DO_MOUNT_CONTROL:控制相机云台,参数:1,2,3 pitch,roll,yaw 度数
MAV_CMD_DO_PARACHUTE (Parachute enabled only):
MAV_CMD_DO_GRIPPER (EPM enabled only):
MAV_CMD_DO_GUIDED_LIMITS (NAV_GUIDED only):
MAV_CMD_NAV_GUIDED_ENABLE (NAV_GUIDED only)
6.3相机控制与自动操作
l 相机快门和云台指令3个通道
l 在飞行器移动的间隔时间或指定的航点上执行快门动作,如果相机安装在云台上,还可以控制云台的指向
l 对于简单的应用,可以手动控制航点和快门指令,对于复杂的测绘任务,自动生成任意区域的指令任务。
l 云台指令:DO_SET_ROI 云台指向指定区域,DO_MOUNT_CONTROL 云台控制到roll,pitch,yaw方向
l 伺服指令:DO_SET_SERVO:DO_SET_RELAY 给指定的驱动信号
l 自动任务举例1:
Create WP Circle — Create a circle of waypoints.
Area — Displays the area of the current polygon (if defined).
Create Spline Circle — A circle where the altitude of waypoints follows a rising spline (relevant to flying vehicles).
Survey (Grid) — Automatically create waypoints and camera control commands to survey a specified polygon.
Survey (Gridv2) — Under construction! This is a simpler grid control for creating a rectangular survey area.
SimpleGrid — A simple auto-created survey grid. No camera control is defined, so this must be added separately.
l 自动任务举例2:
在飞行规划画面,创建多点区域
在区域内,鼠标右键点击菜单:Auto WP|Survey(Grid):
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以上版本支持地形数据,支持任务和着陆。
l Terrain Following 保存数据在microSD上,地图数据给出地形海平面高度,在Pixhawk,数据存储在APM\TERRAIN 目录下,在MicroSD 卡上。
l 这些数据可以通过2中方式传递到飞控板上,一种是USB方式,一种是数传电台方式,一旦地形数据存储到SD卡上后,当GCS不连接后,就会用于飞行控制。当然这些数据,只用于Auto模式,RTL模式
l 地形数据可以通过数传电台,向地面站请求,也可以保存在SD卡上
l 地形跟踪飞行模式:RTL,Loiter,Cruise,FbwB,Guided(Flyto),AUTO
l 地形参数TERRAIN_FOLLOW.参数缺省是关闭的,因此没有地形跟踪使用,一旦设置TERRAIN_FOLLOW为1,就启动了地形跟踪模式
l 地形跟踪用于:FPV,Safe RTL,Aerial Photography
l 地形数据:地面站从网上下载,这里设计TERRAIN SPACING,TERRAIN_ACCURACY参数,分别描述地形跟踪的精度和最小距离。
l 设置固定翼地形跟踪:确定固定翼3.0.4固件,确认Mission Planner1.3.9更高版本,设置TERRAIN_ENABLE为1 并且TERRAIN_FOLLOW为1,当GPS锁定后,通过USB连接飞控板,检查flightData->Status ,查看地形跟踪状态数据
l 地形跟踪对于机头指向很敏感,当前位置指向的飞行轨迹飞行时,保证固定翼飞行爬坡足够,能够避开地形数据。地形指向参数TERRAIN_LOOKAHD参数,爬坡参数TECS_MAX_CLIMB参数,与地形跟踪相关。
l
7.基于数据记录的故障诊断
7.1基于logs诊断问题
l 有2种飞行数据记录,即DataflashLogs机载数据记录,适用飞行过后下载进行研究。对于Copter飞行器,上电后即开始记录。Telemetrylogs电台数据记录,通过电台记录飞行数据到Mission Planner地面站中,两者的数据基本一致。
l 机械故障:通常机械故障包括ESC故障或电机故障,或螺旋桨损坏,这些故障表现:期望的俯仰和滚转指令与测量的俯仰和滚转传感器数据出现巨大差异,这中不一致在dataflash logs 中体现数据的严重分离,如下图:
l 振动:高频振动会引起Copter的加速度传感器,基于高度和水平位置估计的漂移偏大,将导致高度保持不稳定或盘旋出现漂移。振动数据可以从dataflash数据的IMU数据中的AccX,AccY,AccZ数据看出。水平数据AccX,AccY征程范围在-3-+3m/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%是绝对不可接受的.
小提示:mag_field数值在120-550之间,在各地有所不同;磁场干扰在compassmot setup中有设置;Dataflashlog中的COMPASS消息中,与RAW_IMU xmag,ymag,zmag数据一致;磁场数据有补偿,一般子-150-+150之间,SENSOR_OFFSET变量组,mag_ofs_x, mag_ofs_y, mag_ofs_z;在上图中的开始阶段,磁场强度有一个短暂的脉冲可以忽略,因为在油门拉起之前,因为它可能是上电引起的磁场强度的突变。
l GPS故障:当在自动模式,RTL,AUTO,Loiter,由GPS信号产生的位置误差可能引起Copter位置错误,导致错误Copter疯狂的飞向错误的地点,这中间那个故障会在tlogs和dataflashlog记录中体现,即卫星数量的减少和hdop的增加。
tlogs绘图,GPS_RAW_IT组,“eph”和“satellites_visible”值,参见上图,卫星数量低于9,伴随明显的GPS位置改变.在Dataflashlogs中,GPS消息可以看"HDop"和“NSats”列,注意:hdop值与DataflashData中的值单位不同。
l 电源故障:电源模块提供可靠电源供电,但也有失效的时候,这些可以从logs中,机Copter还在空中(气压计,惯性传感器测量高度数据)的时候,突然掉电的现象可从logs中看到。Dataflash,CTUN消息种的BaroALt,GPS消息,ReALt,Tlog中的VFR_HUD alt,GLOBAL_POSITION relative_alt数据绘制曲线图如下:
板电压信号变化范围在0.10-0.15之间是正常范围。由于与其他设备共享电源,导致供电电压的波动,很可能引起供电电源的失效或其他异常行为,板子的电压可通过如下方法绘制:
Dataflash CURRENT 消息的VCC,Tlog HWSTATUS中的Vcc来绘制,下面的图,表明在油门推动后,板电压下降0.15V,在允许范围内,第2张图标明电压随机变化在0.15V范围内,可接受。
l 未知的ERRORS包括失效Failsafes:当飞行控制器发生异常行为时,会引起失效保护模式failsafes。有5种失效保护模式可以被激活:油门失效,GPS失效,GCS失效,电池失效和越界。理想的方法是在dataflashlog数据第一列中过滤"ERR",所有的ECode都在源代码文件defines.h文件中有说明,
7.2数传电台记录诊断
l Tlog 是在MAVLink telemetry 消息一发送,即自动开始创建记录,文件格式为YYYY-MM-DD hh-mm0ss.tlog在Mission Planner的安装目录下的logs目录中,同时.rlog文件也生成,包括所有的tlog文件中内容和调试信息,这个文件的调试信息不能用于回放。
l 设置数据传输的速率,Software->Planner telemetry 下拉菜单来设置传输数率。因为所有的数据斗记录在tlog中,这个也控制保存在tlog中的数据。实际保存的数据可能比请求的数率低,由于CPU的原因。
l 任务回放:数据记录后,可以通过回放来观察数据记录。点击Telemetry logs tab,点击"Load Log"并找到tlog文件,点击"play"按钮即可。
在回放过程中,可以跳到你期望的飞行时段观察飞行数据,通过滑块操作。当回放开始后,HUD将显示无人机在地图中的位置和飞行状态。点击图中的“Tuning”选择框,然后双击数据显示坐标,就会弹出显示数据的对话框,用于用户选择显示数据曲线。
l 创建3d飞行轨迹图像:可创建KMZ文件,选择Telemetry Logs tab,点击Tlog->Kml or Graph按钮,再按下"Create KML+GPX"按钮,选择flight tlog,参见下图:
经过如上操作后,.kmz和 .kml文件将在tlog文件的基础上创建,这个文件讲可以在goole地球上看到3d的飞行轨迹。可以通过双击或拖动方式,在google Earth上查看飞行和轨迹,不同的飞行模式显示不同的色彩轨迹。
l 提取参数和航点:从tlog文件中提取参数和航点信息,创建.KML文件,这些文件可以excel文件提取,航点信息文件也可以用于飞行规划的加载数据。
l 从飞行数据绘制图形:切换到flight data 画面,点击telemetry logs画面,点击"Tlog->Kml or graph"按钮,点击"Graph Log"按钮,选择flight tlog文件。
注意:绘图窗口可选择绘制的曲线,在绘制的曲线上,左右鼠标用于给绘制图形定义比例尺,可选择绘制色彩,通过鼠标滚轮改变图形的窗口大小等等小技巧。
7.3闪存数据记录
Dataflash logs存在在飞控板上,如pixhawk的dataflash上,可以下载到Mission Planner上,来观察数据。
l 通过MAVLink下载logs:usb连接飞控板,打开Mission Planner Flight Data 画面,在左下角的"DataFlash Logs"画面中,点击"Download Dataflash Log Via Mavlink"按钮
然后选择你要下载的数据,这些数据讲保存在MissionPlanner/logs目录中。
l 自动分析logs数据:
通常点击"Log Analysis"按钮,选择一个Log文件,然后生成最为简单的基础报告,这个报告将显著显示通常的问题。
l 手动查看log:点击"Review a Log"按钮,选择log文件,查看更为详细的信息,详见下图:
以上这些信息包含GPS,IMU等数据,参见下图
绘制图形:选择适当的行,会看见当前列的头,然后找到期望绘图的列,点击"Graph this data"按钮。例如ATT's的ROLL_In和ROLL数据绘制图如下:
鼠标滚动键用于缩放图形,也可以选择要仔细观察的区域,土多鼠标邮件选择设置比例尺等等操作来查看数据;也可以过滤相关消息类型,选择要选择的消息,在下拉菜单中选择。
l 设置想要记录的数据:LOG_BITMASK参数用于控制在dataflash记录的数据,最新版本可以设置独立的消息,如下:
l 消息细节: ATT(姿态信息),ATUN(自动调整),ATDE,CAM,CMD,COMPASS,CURRENT,CTUN,D32,DU32,ERR,EKF,GPS等信息
7.4记录数据与回放任务
如果有数传电台,就能够在Mission Planner地面站上记录飞行数据在".tlog"文件中,你加载和任意回放并转换为"KMZ"文件,在谷歌地球上看飞行轨迹,下图是播放画面:
当log文件回放时,可以通过点击地图上的"Tuning"选择框分析数据,可双击数据坐标弹出对话框,让你选择那数据是你想绘制的。如下图:
7.5振动测量分析
l 飞控板的加速度传感器对振动非常敏感。加速度计的数据可以用来估计飞行器的位置,若有额外的振动会导致依赖精确位置的飞行模式的飞行性能下降。振动影响所有的飞行器类型,尤其对Copter无人机在AltHold,Loiter,RTL,GUIDED,Position 和AUTO 飞行模式。如果你发现振动超出容忍范围内时,可以按照下面的办法设置振动阻尼。
l Copter-3.3以上版本:完成一次常规飞行,下载dataflash数据;使用GCS观察VIBE消息的VibeX,VibeY,VibeZ数据,这些数据是加速度m/s/s输出的标准偏差。下图是3DR IRIS提取的数据,标明正常的范围在15m/s/s,但不时会有尖峰变化到30/s/s,最大可接受数值显示要低于60m/s/s。
图上曲线Clip0,Clip1,Clip2数值,每次增加都可能达到最大值极限值16g,理想状态,这些数值应该为0或者更低的数据<100,除非飞行器硬着陆情况,因此Iris无人机存在严重的振动问题。
下面是飞行器由于振动问题导致的位置估计偏差很大
关于振动数值的标准偏差的计算参见相关文献。对于振动的测量以及估算对飞行器的设计改进很有帮助。
8.开源Mission Planner的二次开发基础
8.1Visual Studio Community 13.0打开Mission Planner solution
l Visual Studio Community 13.0是free版本,MS公司提供给个人用户,仅仅能创建客户端程序。Mission Planner GCS地面站是采用C#编程语言编写的开源软件,对于特定客户,可以重新定义软件功能和二次开发
l 打开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";
l Mission Planner由多个项目构成,你可以通过展开"Mission Planner"和"Libs"来查看:
Mission Planner; AviFile; BaseClasses; BSE.Windows.Forms ; Core ; GeoUtility; GMap.Net.Core; GMap.Net.WindowsForms; KMLib; MAVLink; MetaDataExtractor; MissionPlanner.Comms; MissionPlanner.Controls; MissionPlanner.Utils; px4uploader; SharpKml; ZedGraph;
l Building Mission Planner: 在试图编译Mission Planner之前,因该有一个官方的版本,因为有一些".dll"文件没有包含在Git资源中;
选择:Select Build->Batch Build...,"Select ALL",然后选择按下" Rebuild ",第一次编译肯定会遇到错误,请尝试多次这种办法。
l 如果发生相关的”.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, 删除所有以前建立和后来建立的选项,并重新建立。
l 对于更多的丢失参考,重复以上工作,为每个项目重新设置参考路径,将会减少错误。
l 如果看到"BSE.Windows.Forms"..Could not locate the code Analysis tool At"., 通过取消"BSE.Windows.Forms"的代码分析中的"Enable Analysis"选项。
l 在VS环境中,选择BUILD,Configuration Manager后,表明那个一个项目需要每次都要编译;检查Build ,有些只要编译一次,;重复做,Build Clean Solution,Build,Rebuild操作。所有项目都没有错误后,编译成功。
8.2 发布修改后的Mission Planner
l 如果修改成功,你可以成功在本地PC机上使用编译后的文件,但不能直接拷贝文件到其他机器上使用,这是因为运行文件需要一系列的依赖文件在不同的目录中,或者需要一个打包软件帮助你完成这个任务
l 或者需要作者加入网络开发组织,去把你的任务加到开源项目中去。
展开阅读全文