MultiWii飞控介绍
纵观使得无人机得以实现的三大突破—电机、电池、控制系统,我发现控制系统是最有意思的。也许是写代码的职业生涯给我带来的偏见,但好歹我也是带有些人情味的。当然,也有些人有真实的关于开发我们的电机和电池的故事,但是这些故事都被深埋在那些享有专利的公司之中。不过我们在这儿寻找的那些飞行控制器基本上都是些开放资源,所以关于他们自主开发的故事也将被公之于众。我们将寻找几个关于无人机控制系统的项目。这些项目都已开发了可以在无人机上运行的软件,用以控制无人机并使无人机稳定飞行。同时,许多项目也已经包含了地面控制台软件来监控以及调整无人机,甚至是开放式资源的硬件规范。我们将追溯每个项目的历史,并找出一个选择该系统而不是其他系统的理由。
MultiWii
MultiWii有着出色的稳定控制性能
MultiWii是一个用于控制多旋翼模型的通用方案。最初,它只是开发用于支持搭载陀螺仪和加速度计的NintendoWii控制手柄,目前已经支持多种传感器类型。
结尾处的这两个“i”是参考了任天堂的电视游戏系统。当固态陀螺仪第一次被用于商业产品时,最早使用它们的一种产品正是Wii控制器。在当时,不计其数的Wii控制器被拆解开,就因为这是得到芯片最可靠的方法。同时,一个使用从Wii控制器里得到的陀螺仪开发出来的完整的控制系统被连接到Arduinos用来控制多轴飞行器。这个项目就以MultiWii这个名字而被知晓。
MultiWii是基于Arduino的开源项目,能为各种平台提供自稳控制,被广泛地用于多轴飞行器与航拍。除飞控以外,该项目当前还包含有适用于自己通讯协议的的视频叠加方案,地面站配置工具,以及一个第三方的基于Arduino的I2C接口的GPS导航模块。
最原始的Wii控制器只有加速度计并没有陀螺仪,所以它不足以控制飞行。使用运动扩展或者是双节棍就可以使一个控制器有3个陀螺转子。一些最早的MultiWii控制器没有加速度计,因此没有绝对的参考标准。但是使无人机摇晃、倾斜、偏航变得稳定的比率提供了有效的控制使其飞行。
也许有人会说,MultiWii飞控早就过时了,说得没错,但是对开发者来说,它有着相当重要的入门意义。相比浩如烟海的APM源码库来说,MultiWii飞控的代码量算是相当的小,有基本编程经验的人,花不多时间就能理顺整个飞控的控制流程;同时MultiWii飞控的功能也是简洁可靠,用于飞行器的自稳控制并不比其他当前主流飞控差;虽然当前基于GPS的飞行模式还不够成熟,但是其GPS导航模式已经可以可靠工作。所以,挖掘其中的价值还是很有意义的。
MultiWii的发展已经像无人机控制器一样成熟了,也正因为如此使得许多分支项目诞生了。这包括了其中最著名的Baseflight和Cleanflight,之后我们将在本章加以介绍。这项技术的成熟意味着将产生各种程序支持。MultiWiiConf,这个主要配置程序已经可以在所有的主要桌面和手机平台上使用了。因为一些分支项目已经以MultiWii串行协议(MSP)维护了兼容性用以交流沟通,MultiWiiConf和许多MultiWii支持程序同样也可以用其他控制系统了。
当MultiWii支持GPS稳定性时也有许多面向最新传感器的实验版本,这确实有它自己的局限性。MultiWii这个名字中的“Multi”意味着它是用于多轴飞行器。的而不是用于直升机的,当然也不是用于固定翼飞机的。它也不能完成一些复杂的、自主的任务。(后者正是我们寻找下一代无人机控制系统的动力。)
第一架MultiWii三轴飞行器
第一架使用MultiWii的飞行器是Alexandre Dubus在2010年制造的一架三轴飞行器(见图)。它只有一个陀螺仪(没有加速度计),所以它并没有什么参考价值。不过,据报道这架三轴飞行器飞行得却非常棒。
页:
[1]