更多内容见CSDN博客专栏:无人机飞控
相关资源:https://gitee.com/ss15/ph47
8.1. 概述
Ground Control Station(CSS)是一个地面站软件开发平台,通过对控制站工程的设计搭建,从而开发出面向各种不同用途,具备不同功能特性的地面控制站。CSS具备以下3点突出特性:
用户的全部显示及操作界面、内部数据构成、数据通讯协议、运行控制逻辑均可快速定制及搭建。
CSS具备插件扩展机制,并提供插件工程源代码,用户能够根据自身需求对CSS功能进行任意扩展。
使用CSS搭建的控制站之间可进行任意拓扑结构的组网及协同工作。同时提供sdk 可实现CSS与其他应用程序间通讯组网。
8.2. CSS安装运行说明
CSS的安装非常简单,只需要CSS dev suit for Release.7z压缩包解压到任意指定文件夹下即可。
CSS因为需要适配加固型笔记本相对较低的显示分辨率,故在目前2K或4K显示器上运行时可能会出现字体过小的情况,可通过更改显示设置进行调整。
CSS正常运行不需要连接互联网,地图控件当中使用的卫星图或地形图为离线地图包形式。但当CSS首次运行时,Windows安全中心会询问是否需要连接网络,这是因为CSS具备在局域网中组网运行的能力。如当前工程不需要CSS进行组网,可禁止CSS访问网络。
8.3. CSS控制站工程搭建流程
8.3.1. 数据总线编辑
可以把数据总线(bus)当中的总线数据项(bus item)看作是一个个的变量,而整个数据总线就是包含了这些变量及使用方法的一个集合。CSS数据总线编辑的作用,就是为即将实现的地面站创建用于容纳来自于无人机各种飞行数据的变量。CSS中数据总线编辑器功能就是对数据项进行创建、修改、删除等操作。
8.3.2. 数据帧编辑
BBP飞控板以mavlink message即通常所称数据帧的形式持续向GCS下行发送飞行及状态数据,CSS能够对符合mavlink1.0协议的任意数据帧进行解析。数据帧编辑的作用就是将mavlink数据帧中携带飞行数据的字段(field)关联到指定的总线数据项上。从而在CSS运行过程中自动进行数据解析,并对关联的总线数据项进行赋值,从而实现CSS对飞行数据的接收。
同时,数据帧编辑同样适用于CSS上行控制数据的绑定设置。这样,通过数据总线及数据帧的编辑机制,就实现了CSS控制站与无人机(飞控板)之间的数据通信实现与定制。
8.3.3. 仪表控件编辑
在对来自于无人机(飞控板)的飞行数据进行接收后,需要以适当的形式将这些数据显示出来,这就是仪表控制编辑的环节作用。CSS内置了针对飞行控制的10种仪表控件,用户通过选择不同的仪表控件,设置不同的显示及操作特性,并关联到指定的数据总线上,就完成了从飞行数据接收、解析到显示及操作的全流程。
8.3.4. 控制逻辑编辑
同时,在CSS工作过程当中,还可以根据接收到message的类型、数据数值、用户操作、系统事件等设计逻辑控制关系(使用控制逻辑编辑器),进而实现更多的GCS功能。
8.3.5. 插件功能定制.
一般情况下,通过以上4个步骤即可搭建起功能完备的地面控制站。此外CSS支持使用DLL插件扩展系统功能,按照CSS插件代码规范开发插件后,用户可设计更加复杂的CSS数据处理流程,及更加复杂的逻辑控制功能。
8.3.6. CSS控制站组网.
多个CSS控制站还可通过组网方式实现更加复杂的控制站协作控制功能.
8.4. CSS基本使用介绍
8.4.1. GCS 启动与停止
运行CSS程序后,还需要点击 “飞控综显” 标签页下的 “GCS启动” 按钮,CSS 才进入接收飞控数据以及对飞控实施上行控制的正常工作状态。
若GCS启动一切正常,则标签栏右上角的“运行信息”显示列表内运行信息全部为绿色背景。若启动出现错误或警告,则会以红色或黄色背景显示相应信息;除了红黄色外,灰色背景表示一般执行过程信息;而蓝色背景则表示当前显示信息来自于飞控板(无人机)。CSS运行信息显示均遵循上述规则。
此外右键单击信息列表框,选择弹出菜单可清除当前显示信息。
CSS启动并成功与BBP连接握手后显示运行信息
同样,点击 “GCS停止”按钮即令CSS 停止运行。通常 CSS 控制站工程的各种设计与定制需要在 GCS 停止状态下进行。但如仪表控件定制编辑等少数功能也可在 GCS 运行状态下实施。
8.4.2. 遥测数据记录与数据分析
CSS内置了飞行遥测数据分析工具,用户可对同时对多条飞行数据绘制数据曲线对飞行过程进行评估、分析。同时也可将飞行数据导出为通用格式,供更加强大的数据分析工具如Matlab进一步进行分析处理。
若在GCS启动前"飞控综显"标签页的"自动记录"按钮处于选中状态(默认值),则GCS启动对所有接收到和上行发送的mavlink message进行记录,并储存为.tlog格式文件。后续可以通过"数据分析"页面提供的各种功能对记录数据进行显示分析,也可将数据导出为txt格式供Matlab进一步分析处理。
8.4.3. 系统开发
用户可以运行现有的GCS工程来实现作为无人机地面站的各种功能。也可以对现有的工程进行修改,或者创建全新的GCS工程以适应自己的需求。
CSS中"系统开发"标签页用于控制站工程的开发.该页上常用按钮功能如下:
8.4.4. CSS运行环境
由于CSS需要兼顾户外加固笔记本或平板较低分辨率的运行环境,故推荐运行分辨率不建议高于1920x1080,否则会造成默认字体及控件过小不便于使用的情况。
8.5. CSS控制站工程CssDemo_BBDB简介
CSS软件自带一个CssDemo_BBDB控制站工程示例,该工程适用于PH47代码框架下各飞控板如BBP,BBP FEI等。该控制站工程演示了CSS控制站工程搭建的各种方法技巧等。CssDemo_BBDB在实现上更侧重于飞控软件的调试与测试需求,而非偏向于作为无人机实际地面控制站使用。二次开发用户可在其基础上进行修改或创建更加适应自己需求的控制站工程。
8.6. CssDemo_BBDB控制站工程的功能简介
飞行姿态状态数据显示,主要以数值、指示灯方式,辅以少量数据曲线形式。
以卫星图及街道图方式显示飞机位置、航迹、航线;航点数据上传及下载。
机载参数批量下载,单个或多个上传设定
控制站端遥测数据记录,回放以及数据分析
飞控端飞行数据记录,HIL半实物仿真回放,下载
RC及指令两种模式实施飞行控制
加速度计,磁强计,空速计校准
上行通用控制命令的设定及发送
飞控板下行通讯速率设定,串口波特率设定
双飞控板协作控制
通过机载参数设定,对多项飞控系统功能进行配置设定
8.7. CssDemo_BBDB控制站工程界面功能介绍
8.8. CssDemo_BBDB功能快速使用指南
8.8.1. 启动控制站
点击"飞控综显"标签=>点击"GCS启动"按钮。
注意:CssDemo_BBDB工程中的绝大多数操作都需要在控制站运行状态下才能正常执行,如无特殊说明,下述操作均默认为处于GCS运行状态下。
8.8.2. 停止控制站运行
点击"飞控综显"标签=>点击"GCS停止"按钮
8.8.3. 运行中记录遥测数据
控制站启动前,点击"飞控综显"标签=>令"自动记录"按钮处于选中状态。
8.8.4. 设置飞控默认下行传输速率
点击"飞控综显"标签切换到飞控综合页面=>点击界面上"MsgRst"按钮控件。
注意:可以接受用户输入操作的仪表控件通常在其右侧有一个"把手"(handle)小图标,GCS处于运行状态时当鼠标掠过该控件时,图标会点亮,表示这是一个用户可操作的仪表控件。
8.8.5. 设置飞控最小传输速率
与上面类似,点击"MsgMin"按钮控件即将当前飞控板下行通讯速率设置为最小值。
设置通讯速率最小化通常用于在数传电台传输数据时由于信道质量不佳而出现数据阻塞、丢失(俗称卡)情况。将速率最小化后,能够提高关键性通讯数据传输可靠性。但与此同时,CSS显示界面上的显示数据类型以及更新速率会减少及降低。
8.8.6. 开始机载数据记录
飞控综显页面点击"Startlog"按钮开始机载数据记录,BBP飞控板可循环记录最多6组飞行数据,每组飞行数据以250hz速率进行记录,共包含86个关键姿态状态数据。在BBP现有16MbyteFlash容量下,记录时间最长约8分钟。
机载飞行数据记录方式由于其时间分辨率高的特点,尤其适用于飞控研发、测试过程中关键性数据的记录分析。
.
对于常规飞行数据记录,通常采用控制站遥测数据记录方式,该方式时间分辨率低,但记录时间长(>=90分钟)。
8.8.7. 停止机载数据记录
点击"Stop"按钮停止机载数据记录。
8.8.8. HIL半实物仿真
飞控综显页面点击"HilSim"按钮开始利用最近一次记录的机载飞行数据开始半实物仿真数据回放。
此模式的特点在于,回放过程中进入控制系统的各传感器数据不是来自于传感器真实测量所得,而是来自于回放的数据记录。
此模式通常用于飞机处于地面状态时进行飞控的测试调试工作。
飞行记录数据相关信息可通过在调试串口输入getloginfo;命令进行查询,也可通过CSS动作编辑器创建一个查询loginfo的功能按钮。
8.8.9. 起飞前电机解锁控制(仅对于 Fixedwing 或Copter项目)
切换到飞控综显页面 =>
点击红色的“PreArm”按钮控件=>
“PreArm”按钮开始闪烁,表示当前已处于预解锁状态=>
点击"ARM"按钮解锁
若当前状态符合解锁条件,则ARM按钮点亮,PreArm按钮停止闪烁,解锁成功(BBP飞控板固定翼电机解锁条件为RC各摇杆回中,空速,气压传感器工作正常)
8.8.10. 电机解锁后重新锁定(仅对于 Fixedwing 或Copter项目)
在飞控综显页面点击"DisArm"红色按钮,若当前符合锁定条件,则"ARM"按钮指示灯熄灭,电机重新进入锁定状态(已经锁定,或飞机处于飞行状态下不允许重新锁定电机)
8.8.11. 预备起飞/待机状态切换(仅对于 Fixedwing 或Copter项目)
在飞控综显页面点击"Prepare"紫色按钮即令当前BBP飞控进入弹射起飞前的预备状态。在该状态下,在弹射器或者弹射橡筋弹射准备就位的情况下,只要释放飞机执行弹射,则飞机自动进入弹射起飞模式起飞。
点击"Standby"紫色按钮后重新进入待机模式
8.8.12. 飞行模式切换(仅对于 Fixedwing 或Copter项目)
飞控综显页面点击"Stab0"红色按钮切换至增稳模式(目标姿态角)控制模式飞行,切换成功后,该按钮被点亮,下同
点击"Fbw1"红色按钮切换至定高定速模式控制模式飞行。
后续将开放更多飞行模式
8.9. 飞行数据分析与机载记录数据
CSS具备对遥测飞行记录数据进行图形化显示及分析功能。同时也可对飞控板上的板载飞行记录数据(黑匣子)进行下载及分析。
上述两种飞行记录数据的区别如下:
8.9.1. 打开遥测飞行记录数据并绘制数据曲线
切换到数据分析标签页面
点击Open tlog 按钮
选择需要打开的文件
点击确定打开文件
打开文件后,在CSS右上角的“当前运行信息”窗口会显示相关信息
tlog文件打开后,CSS左侧就出现了“待分析数据选择”窗口,该窗口中显示了tlog文件中所包含的所有上下行mavlink数据帧类型,点击数据帧名称前的+号,即可展开该数据帧内的所有字段(Field)。
右键点击某一字段名称后弹出选择菜单,可选择Add data加入该字段的数据曲线,也可选择Del data删除当前曲线。
同时在该窗口下方出现数据属性窗口,可在该窗口中设置曲线的y轴原点、曲线颜色、粗细3种属性。
8.9.2. 缩放、撤回、集中显示数据曲线
点击“放大”“缩小”按钮可对当前显示的数据曲线进行缩放
也可通过鼠标左键点击后拖动确定当前放大区域,此方法更为方便
点击“撤回”按钮可撤销上一步缩放操作
点击“集中显示”按钮将显示的所有曲线集中到当前显示区域内
8.9.3. 数据曲线逐点数据获取
点击选中“逐点显示 ”按钮后,进入逐帧数据分析模式,左右移动鼠标即可对当前曲线的数据进行逐帧分析,在显示区域右上方显示当前曲线的时间戳以及数值。此数值为数据帧字段的真实记录数值,而非拟合数据。在分析过程中可适当利用曲线放大缩小功能进行辅助。
8.9.4. 飞行数据导出供Matlab进行深入分析
与打开遥测飞行记录文件相同,在数据分析标签页面点击“导出txt”按钮,,随后选择需要的文件,点击确认,随后出现选择对话框,在该对话框中左键双击选择需要导出数据的数据帧(可以多选,最多不超过32个),随后点点击OK按钮即可将tlog当中的帧数据导出成为txt格式文件。
如果tlog文件比较大,那么导出需要一定的时间,CSS右下角进度条,以及由右上角“当前运行信息”均会有相应提示。
txt文件存储在与打开的tlog文件相同路径下,文件名以数据帧文件命名。打开文件将后内容一般如下图。开始两行信息为数据帧名称,以及数据列对应的字段名称。关于数据帧内容构成,可参见数据帧编辑器。
8.9.5. 机载飞行数据下载
在CSS停止工作状态下,点击“机载数据”按钮,开始对控制板当中的最新一条飞行数据进行下载。同时,在“当前运行信息”窗口中显示下载进度以最终完成信息。机载飞行数据下载完成后存储为.pilot格式,可使用CSS数据分析功能直接打开。如果机载飞行数据记录数据量较大,那么下载需要的时间可能会比较长。
8.10. Control Station Studio标准版与专业版
目前CSS有标准版和专业版两个版本,其中标准版免费向用户提供。这两个版本的区别主要是在高级功能特性及搭建开发性能指标上存在差别,具体如下: