一 套件背景
御风250(激光雷达版)主要面向科研教育,该无人机实现未知环境中实时导航,规划与控制。
该套件包括
飞控
、
板载计算机
与
激光雷达
三个核心模块,能够部署常见的SLAM算法、规划算法与控制算法,是一个用于验证算法的良好平台。
目前,无人机的计算平台主流设计方案是「大脑」+「小脑」,在「大脑」-板载计算机上处理实时性要求相对较低的建图、定位与规划等算法;在「小脑」-飞控中完成实时性要求高的控制与组合导航等算法。
由于整个系统的复杂性,如何有机地组织各个模块一直是其中的
难点
。
目前主流的设计思路如下:
1.1 导航功能
在板载计算机中运行激光雷达SLAM算法(课程配套FAST-LIO算法),实现位姿估计,并且将结果发送到飞控,飞控中运行EKF算法融合外部定位。具体流程为:
-
运行激光雷达定位算法FAST-LIO,以ROS节点的方式发布雷达坐标系下的位姿;
-
在板载计算机中编写另一个ROS节点,订阅激光雷达得到的位姿,并且将其转换到飞机导航坐标系,以MAVROS消息流发布转换后的位姿。
-
飞机端通过Mavlink协议获取外部定位结果,内部以uORB消息流传入飞控的EKF2导航算法进行融合。
1.2 规划功能
在板载计算机中运行规划算法(课程配套EGO-Planner),实现在有障碍环境中的实时路径规划,并且将规划指令发送到无人机,控制无人机运动。具体为:
-
在板载计算机中运行Ego-Planner规划算法,得到雷达坐标系下规划的路径指令,包括三维位置、速度、加速度、偏航角、以及偏航角速度,以ROS节点发布;
-
另一个ROS节点订阅Ego-Planner规划结果,转化到飞机导航坐标系并且使MAVROS协议发送到飞控;
-
飞机端通过Mavlink协议获取外部指令,内部以uROB消息形式发送到飞控的控制器,作为控制器的期望值,实现无人机运动控制。
1.3 控制功能
简单的控制算法(如PID,LQR)可以在飞控中实现,对于复杂的控制算法(如MPC)可以将位置闭环,甚至姿态闭环在板载计算机中运行,最终发布角速度指令到飞控。本套件仅考虑在飞控中实现控制,飞机支持多种飞行模式:
-
自动飞行 Offboard模式:飞机使用外部指令作为期望值,能够实现复杂环境下的自主导航。
-
自动飞行 Mission模式:支持一键起飞,一键降落,自主返航等功能。
-
手动飞行模式:可以使用遥控器控制无人机运动,支持定点,定高,姿态等。
此套件实现以上各功能,支持二次开发,可自行开发更多功能。
二 套件优势
2.1 代码开源
整个套件实现全套自主导航功能,通过实测,代码全部开源。有Demo参考,能够有效初步调试时坐标变换不清晰导致的异常结果。
2.2 赠送配套课程
-
《御风250(激光雷达版)环境配置与代码逻辑讲解》
-
-
2.3 多传感器融合,提升系统安全性
具体包括:IMU,磁力计,气压计,GPS,光流,下视TOF,激光雷达。
2.4 设计保护罩,减小炸机损失
设计激光雷达保护支架,有效保护激光雷达,减小意外炸机带来的损失。
2.5 已完成飞控参数调节,飞行效果良好
三 配套设施汇总