UAVCAN是一种针对车载移动网络的开放式轻量级协议。最近,它的开发者和维护者Pavel KirienkoSpym在PX4开发者峰会上讨论了该协议,PX4开发者峰会是一次大型无人机社区会议,围绕PX4自动驾驶仪使用了开源生态系统,UAVCAN是其中的一部分。帕维尔(Pavel)在报告发布后还为哈布里(Habé)的俄语社区准备了一篇详细的文章。
在本文中,我将从无人机自动控制系统开发人员的角度讨论使用该协议的实际方面:我们如何选择UAVCAN,我们将如何使用它以及未来会看到哪些机会。
混合无人机
垂直起降(VTOL)飞机是直升机和飞机的混合体,由于机翼的空气动力学升力而可以比直升机持续更长的时间,并且不需要跑道或发射装置以及像传统飞机无人机一样的降落伞。这种设备的开发现在是流行且有希望的方向。这样的设备可以用于传送,映射,监视和其他目的。大多数飞行出租车项目都基于相同的设计原则,例如:
- 德国Lilium公司的全电动空中出租车Lilium Jet ;
- 塞巴斯蒂安·特伦(Sebastian Trun)的凯蒂·霍克(Kitty Hawk)公司生产的低噪声Heaviside电动飞机(很多人从无人驾驶汽车中知道)
- 空中客车公司的Vahana项目。
Innopolis大学的垂直起降飞机
我们已经开发了三种型号的小型无人机,它们具有不同的翼展,有效载荷和电源-全部为电动和内燃机。我们在飞机设计方面与喀山航空学院和喀山的航空企业合作,我们的工作重点是电子,算法和自动控制。
UAVCAN与它有什么关系?
对于那些从事无人机业务的人来说,典型的控制结构如下所示:

基于PX4自动驾驶仪的典型无人机布局。来源
电动机由速度控制器(ESC)控制,自动驾驶仪的设定值通过PWM信号提供给这些设定值。传感器通过UART,I2C,SPI等不同接口连接。加上遥测,远程控制,电源-您会从电线上得到这样的“蜘蛛”。但这不是主要问题。
导线越长,即设备越大,该电路越容易受到拾取的影响。我们必须从一开始就考虑这一点,因为我们的飞机的翼展为2米和4米,这不是极限。
以前,对于40米飞艇的项目,我们与CAN一起工作(仅协议基于CANOpen)。使用UAVCAN的决定对我们来说是顺理成章的事情:PX4已经得到了支持,甚至团队中对此也没有任何争议。最初,我们想用数字接口代替长的PWM线,以便将我们的解决方案扩展到具有不同翼展的飞机上。
事实证明,UAVCAN不是用于CAN的CAN
通过用UAVCAN链接替换PWM链接,我们不再担心长电线和噪声问题,并且大大减少了自动驾驶仪连接的数量。
如何执行此操作有两种选择。首先是使用带有UAVCAN接口的电机调速器和伺服驱动器。例如,在Zubax。第二个是使UAVCAN适配器直接安装在ESC旁边。我们选择了第二个选项,因为带有UAVCAN接口的ESC的选择很小。首先,我们使用了UAVCAN for Hobbyists(UC4H)项目的适配器,然后我们决定使用内置的DC-DC转换器,我们自己的电路,固件和镗孔二极管来制造自己的设备。
我们带有UAVCAN接口的设备
有味道
然后我们意识到,我们可以使用UAVCAN总线而不是十几根导线来不仅与执行器进行交互,而且还可以与大多数外部设备进行交互。这对安装在特殊平台上的控制器的隔振效果也很好。结果,我们开发了许多供自己使用的设备,但现在我们发现它们对其他人很有趣:
- 转换器CAN-PWM多达4个通道:设备连接到CAN总线,接收和处理控制信号,输出PWM。您可以直接通过最高60 V的电池为电路板供电;它包括一个DC-DC转换器,可为电路板和用电设备提供5 V(3 A)的电压(例如,伺服电机);
- GPS /磁力计/气压计;
- , Power Management Unit (PMU): ( ). . — , DC-DC . 1000 . CAN ;
- ;
- ;
- ;
从技术上讲,这些设备基于STM32微控制器。我们设计自己,并在pcbway.ru订购生产。固件使用libcanard实现。
我们对使用UAVCAN的感觉是相当低的入门门槛。新员工用了不到一周的时间就对STM32和PX4自动驾驶仪两侧的距离传感器进行了编程。

我们在小型深色无人机上测试新设备,
然后在飞机上使用它们:
在所有模式下我们的VTOL飞机试飞的简短视频
结果,我们的图如下所示:使用UAVCAN传感器和执行器的VTOL飞机图
UAVCAN将来会给我们带来什么优势
保留
在实施基于无人飞行器的产品时,最重要的任务是确保可靠性。我们已经开始对此进行研究。例如,我们的几个GPS和空速传感器可以连接并并行使用。但是还有很多事情要做。最有可能的是,使用CAN总线复制传感器和控制器将变得更加容易。您可以将两条总线连接到Pixhawk,并在总线上保留几个相同的传感器以实现冗余。
缩放比例
将来,我们希望制造起飞重量超过30千克的大型车辆,尽管这很难进行认证。基于UAVCAN的体系结构的可扩展性使构建雄心勃勃的计划成为可能。
真正的HIL仿真
现在,无人机在城市环境中的运行主题正在积极发展-城市空气流动性(UAM)。要实施UAM任务,您需要更多地依赖于传感器,例如摄像机和激光雷达。在这里,有必要开发和调试智能控制系统,并提高其可靠性。为此,Innopolis大学的另一个团队正在开发基于Unity 3D的用于自主移动物体的Innopolis Simulator,以进行测试,调试和培训。Innopolis Simulator 对于我们的VTOL飞机,我们将Innopolis Simulator与Gazebo结合使用,以进行真实感仿真,控制测试以及传感器数据(激光雷达和照相机)的处理。
现在,我们正在开发自己的动力学仿真模块,而不是具有更精确空气动力学特性的凉亭,并且还开发了另一个功能-真正的HIL仿真(来自回路中的硬件,或者来自软件和硬件仿真,PAM)。
在我们的解决方案中,所有数据均来自传感器,并且通过UAVCAN总线发送至电动机和伺服器的控制。为什么不制作用于在相同总线水平上模拟这些传感器的模块?不用设备,我们只需将带有模拟器的计算机连接到控制器即可。
现在,使用特殊的HIL_ *消息MAVLINK(遥测协议,可在串行端口或UDP / TCP上运行)完成PX4中的HIL仿真,该仿真可模拟传感器和执行器。

HITL模式下PX4的操作图。
当前在PX4中实现的Source Simulation是飞行控制器的一种独立操作模式,与“战斗”飞行配置不同。我们直接模拟UAVCAN消息,理想情况下,自动驾驶仪甚至可能不知道在模拟环境中有什么工作。但是我必须说,仿真自动驾驶仪内部且未通过CAN连接的IMU的问题尚未在概念上得到解决。提议的使用UAVCAN在HITL模式下运行的PX4方案 该解决方案提高了模拟器上调试结果的可靠性,因此您可以更安全地进行飞行测试。航空HIL模拟器。源 一种类似的方法,当在接口级别模拟设备时,
用于大型航空,但UAVCAN我们使它更方便和容易。
输出量
令人高兴的是,我们已经考虑过UAVCAN协议的亮度,可靠性和“实时性”问题,以及PX4,ROS和Linux到底是什么。如果没有这些,我们将很难制造直升机,飞机,控制系统和规划器。
协议和软件的标准化使开发人员可以说相同的语言。同时,标准化不仅很重要,而且可访问性也很重要,这在很大程度上提供了一种开源方法。这样,站在巨人的肩膀上,可以迅速完成任务,而不必为工作建立冗长的“基础结构”,我希望我们已在本文中以我们的示例进行了展示。
航班成功后,我们会喝冷咖啡