飞行控制器
概念介绍
飞行控制器是一台机载计算机,它将来自飞手的控制信息与传感器信息相结合,用于调节每个桨叶的动力,并根据需要飞行。
飞行控制器负责:
- 飞行控制,包括电机控制,起降,手动飞行模式。
- 飞行器状态信息,例如姿态,位置,速度。
- 传感器子组件,例如指南针,IMU 和定位系统。
- 飞行器子部件,例如起落架。
- 飞行限制系统,例如 GEO 区域和 GEO 系统。
- 飞行仿真,用于测试和调试。
基本飞行控制概念请阅读 飞行控制。
状态信息
飞行控制器以高达 10Hz 的频率提供详细的状态信息,包括:
- 飞行器位置,速度和高度
- 剩余电池和飞行时间信息
- 返航点位置
- 传感器信息(指南针、IMU、卫星定位)
- 返航点状态
- 电机是否打开以及飞行器是否在飞行
- 飞行限制和 GEO 系统信息
飞行
电机控制
可以通过 Mobile SDK 中的 API 打开和关闭电机。只能在飞行器不飞行时关闭电机。如果存在 IMU 或指南针校准错误,或者 IMU 仍在预热,则电机将不能打开。
开始和结束飞行
飞行器起降可通过 Mobile SDK 中的 API 进行触发。当飞行器悬停在地面 1.2米(4英尺) 以上时,起飞即视为完成。自动起飞只能在电机关闭时启动。
发送自动着陆命令后,飞行器将下降到当前位置并着陆。
飞行控制
飞行可以通过以下几种方式进行控制:
- 手动飞行: 遥控器可以由用户手动控制。
- 航线飞行: 简单的高级自动化飞行。
- 虚拟摇杆控制: 可使用模拟手动飞行的 Mobile SDK API 发送摇杆命令。
飞行方向
遥控器操纵杆可用于向前,向后,向左和向右移动飞行器。但是,如果看不清飞行器的朝向,飞行员可能很难在地面的角度来控制飞行器。
几种飞行方向模式可以使飞行更轻松:
- Course Lock: 飞行器相对于锁定的航向进行飞行。
- Home Lock: 飞行器相对于返航点进行飞行。
- Aircraft Heading: 飞行器相对于飞行器机头进行飞行。
有关更多详细信息,请查看 飞行控制概念。
飞行限制
最大的飞行器高度和离返航点的距离可以用来限制飞行器可以飞入的区域。Mobile SDK 提供了 API,允许开发人员查询和更改这些限制。
GEO 地理围栏系统(GEO)
DJI 大疆 GEO 地理围栏系统是由 DJI 大疆创新独立研发,致力于为 DJI 大疆用户提供实时更新的飞行安全与飞行限制相关信息,以及法律法规的全球信息系统。GEO 地理围栏系统为 DJI 大疆用户提供最佳的飞行资讯,提供合适的飞行时间和地点以协助您制定最佳的飞行决策。除了实时空域信息,GEO 系统还包含了警示和飞行限制系统、解禁系统和针对部分决策的轻微问责制。
传感器
飞行控制器管理飞行器的几个子组件,包括传感器和起落架。
指南针
指南针测量磁场方向,并用于确定飞行器相对于北方的航向。如果在电磁干扰附近飞行,有时需要校准指南针。指南针校准将用户通过方位角垂直和水平旋转飞行器。
IMU-惯性测量单元
IMU包含一个加速度计和陀螺仪,用于测量线性加速度和角速度。IMU是一个灵敏的系统,它取决于温度,有时需要重新校准。飞行器会自动进行预热,并且可以在飞行控制器状态数据中监视其状态。必要时,可通过Mobile SDK API进行校准。某些产品具有多个IMU以实现冗余。
RTK 定位系统
DJI 产品内置 GPS 和 GLONASS 卫星的消费级卫星定位系统。消费级卫星定位可能会出现几米的位置误差。
DJI DRTK 定位系统可进行厘米级定位。DRTK 是使用 GPS + GLONASS 或 GPS + 北斗(取决于 DRTK 模型)的实时动态卫星定位系统。
该系统需要基站和移动站,它们通过无线链路连接在一起。基站接收器部署在地面上的已知位置,而移动站部署在飞行器上。基站和移动站可能同时接收错误的卫星信号。由于基站位于已知位置,因此它可以将实时校正信息发送到移动站,从而为移动站提供相对于基站的厘米精确定位信息。
该移动站带有两个天线,可以将它们部署在飞行器的相对两侧。由于两个天线的位置都可以组合成航向矢量,因此在磁场干扰较大的环境(例如大型金属结构或高压线路附近)中,航向矢量通常比指南针航向更精确。
视觉系统和智能飞行助手
摄像机可用于检测障碍物并准确确定相对位置和速度。这些摄像头通常向下安装在产品上,以便定位,而面向前方则用于障碍物检测。它们与用于捕获照片和视频的主相机是分开的。
避障
一些产品具有成对的摄像机,这些摄像机使用立体视觉来确定环境的深度。例如,Mavic Pro具有一对面向飞行器前部的摄像头,而Phantom 4 Professional具有面向前方和后方的两对摄像头。该视觉系统使飞行器可以停在其飞行路径的前方,也可以绕过障碍物。
视觉系统使用户能够以更高的舒适度飞行,因为他们犯错误并撞击物体的可能性较低。但是,为了安全飞行,仍然需要了解系统的局限性。难以检测到的物体是那些很小,很窄,外观光滑(无法提取视觉特征),两个摄像头都不在视野内,或者离产品太近或太远的物体 (请查看 产品页面 ) 获取更多特性)。
定位
面向下方的摄像头可以比消费级卫星定位系统更准确地确定相对位置和速度。它们还可以用于在GPS信号不好的环境(例如建筑物内部)中悬停。
智能飞行助手
Mobile SDK 提供了智能飞行助手,可以访问避障和定位视觉系统的状态信息。
另外,警告和距离信息也将提供给开发者们用于躲避障碍物。
起落架
某些产品具有可移动的起落架,这些起落架在降落时会展开以保护相机,但在飞行时可以升起(缩回)避免遮挡相机的视野。
起落架可以通过编程方式或自动方式展开或缩回。自动起落时,飞行控制器将确定何时展开起落架以及何时收起起落架。在需要快速着陆的情况下,最好以编程方式部署起落架,可以高处就可以自动触发起落架展开。
运输模式
在运输模式下,起落架将与飞行器机身位于同一几何平面上,因此可以轻松运输。
飞行时间和电池阈值
飞行器的飞行时间取决于飞行器的总重量、飞行器上可用的存储(电池)能量、飞行器在其中飞行的环境以及飞行器的飞行方式。与在轻载下无风悬停相比,在重载下快速逆风飞行的飞行时间要短。
在飞行过程中,飞行控制器和智能电池将根据飞行过程中收集的数据,以估算当前飞行的剩余时间。它还将提供从当前位置回到返航点所需的电池电量百分比的估计值。
此外,可以设置两个手动电池阈值,这些阈值将在电池电量不足时自动启动如下行为:
- 返航: 阈值通常设置在 25% 到 50% 之间,如果超过阈值,它将自动启动返航警告。如果 10 秒钟之内未采取任何措施,则飞行器将返航。可以通过按遥控器上的 Return Home 按钮取消返航。
- 就地降落:阈值通常设置在 10% 到 25% 之间,如果超过该阈值将立即使飞行器就地降落。
返航
在以下几种情况下,飞行器可以自动返航(RTH):
- 智能返航: 由飞手通过应用程序或遥控器触发。
- 失控返航: 如果遥控器和飞行器之间的无线链接丢失。
- 低电量返航: 如果电池电量下降到足以返航的阈值以下会触发。
自动返航时,飞行器将升至最低高度,使用 GPS 定位飞行至返航位置(返航点),然后降落。
一般情况下,飞行器起飞时,飞控会自动设置返航点为当前起飞的位置。之后,可以通过 Mobile SDK 中的 API 更新返航点,但是通过 API 更新返航点时,必须距离初始起飞位置 30m 以内。
注意: 如果起飞时 GPS 信号不足以记录返航点,则会等待到 GPS 信号足够强时才会记录返航点。在恶劣的卫星信号环境中起飞时,开发人员应确保设置的返航点在用户期望的范围内。
智能返航
按遥控器上的智能返航按键以启动智能返航。然后,飞行器将自动返回到最后记录的返航点。
遥控器的操纵杆可用于更改飞行器的位置,以避免在智能返航过程中发生碰撞。按一次按钮并按住以启动返航,再次按下以终止返航并重新获得对飞行器的完全控制。
您也可以通过 Mobile SDK 启动和取消智能返航。
失控返航
如果成功记录了返航点并且指南针正常工作,当遥控器信号丢失超过三秒钟,则会自动触发失控返航。如果重新建立了遥控器信号连接,则失控返航可能会中断,并且飞手可能会重新获得对飞行器的控制。
在某些任务中,当信号连接丢失时,不希望立即返航。可以使用 Mobile SDK API 设置失控保护行为。
低电量返航
当电池电量降至某个阈值以下(通常为 25% 至 50%)时,飞行器将要求返航。监视飞行控制器状态的 API 也会收到返航状态推送,同时遥控器将开始发出哔哔声。
可以通过按遥控器上的智能返航按键或通过使用 SDK 发送取消命令来取消返航过程。
无线链接丢失
如果距离太大或障碍物阻碍了链接,有时遥控器和飞行器之间的无线连接可能会丢失。
如果链接丢失 3 秒钟,飞行器将开始执行失控保护行为。行为选项包括:
- 自动返航 (请查看本页对“返航”的介绍)
- 悬停
- 下降
Payload SDK 通讯
使用 Mobile SDK 的应用程序可以通过无线通信链路与飞行器上部署的 Payload SDK 应用程序进行通信。Mobile SDK 使开发人员能够检测 Payload SDK 应用程序是否已连接至飞行控制器,并向其发送和接收数据。
模拟器
DJI 飞行控制器支持仿真模式,可以更快,更安全地开发应用程序。飞行控制器接受控制命令,并使用它们来模拟传感器和状态信息。在室内可以先在模拟器中测试应用程序。
可以使用 Mobile SDK 启动和停止模拟器。模拟器的程序控制意味着持续的集成环境可以在每次构建应用程序时利用模拟器进行全面的应用程序测试。
Windows 应用程序可用于可视化模拟的飞行。有关使用模拟器的更多详细信息,请参见 模拟器教程。
虚拟摇杆
Mobile SDK 中的虚拟摇杆功能可以模拟遥控器的操纵杆,可以模拟手动飞行的方式进行自动飞行。与航线任务相比,这是一种更为复杂但灵活的自动飞行方法。
坐标系
可以选择 “Ground” 坐标系或 “Body” 坐标系。所有水平移动命令(X、Y、俯仰、横滚)将相对于坐标系。
倾角控制模式
又可以称为横滚俯仰控制模式。可以使用 X/Y 速度或横滚/俯仰角度设置虚拟摇杆命令以水平移动飞行器。较大的横滚角和俯仰角分别导致较大的 Y 和 X 速度。横滚角和俯仰角始终相对于水平面。横滚和俯仰方向取决于坐标系。
下表详细说明了飞行器如何根据坐标系和横滚俯仰控制模式进行移动。根据表格进行简单解释,当使用 “Ground” 坐标系、当前横滚俯仰模式的角度(Angle)模式、当前飞行器航向为北的前提下,若给飞行器一个正值的俯仰角度,飞行器将往南移动。
坐标系 | 横滚俯仰控制模式 | 飞行器航向 | 飞行控制数据.俯仰(正) | 飞行控制数据.俯仰(负) | 飞行控制数据.横滚(正) | 飞行控制数据.横滚(负) |
---|---|---|---|---|---|---|
Ground | Angle | North | Go South | Go North | Go East | Go West |
Angle | East | Go South | Go North | Go East | Go West | |
Ground | Velocity | North | Go East | Go West | Go North | Go South |
Velocity | East | Go East | Go West | Go North | Go South | |
Body | Angle | North | Go South | Go North | Go East | Go West |
Angle | East | Go West | Go East | Go South | Go North | |
Body | Velocity | North | Go East | Go West | Go North | Go South |
Velocity | East | Go South | Go North | Go East | Go West |
偏航控制模式
可以设置为“角速度模式”或“角模式”。在“角速度模式”下,偏航参数指定旋转速度(以度/秒为单位),并且偏航受使用的坐标系影响。当偏航控制模式设置为“角模式”时,该值将在地面坐标系中解释为一个角度。请确保选择正确的坐标系。
垂直油门控制模式
垂直移动可以使用速度或位置来实现。位置是相对于起飞位置的高度。速度始终是相对于飞行器的,并且不遵循典型的坐标系惯例(正垂直速度会导致飞行器上升)。