飞控,从入门到放弃(二) —— 硬件搭建
本文最后更新于 492 天前,其中的信息可能已经有所发展或是发生改变。

总的来说,要搭建一套比赛用的无人机,基本上需要下面几个东西:

  • 机架
  • 航模电池
  • 电调、电机、桨叶
  • 飞控
  • 遥控器
  • SLAM硬件
  • 上位机

一个一个来讲。

如果你懒的话可以直接按照我在前言中给出的配置买。

机架

淘宝上有卖机架的,联系老师的话估计老师那边也会有现成的机架传下来,这个没啥好说的。

航模电池

常用的航模电池有3S和4S,这里的S代表的是电芯数,3S就是有三个电芯。电芯数量决定了电池的电压大小,间接影响了无人机的续航,但是电芯越多重量也更大,导致飞机需要的升力越大(耗电也更大),所以到底是3s还是4s需要自己综合考虑。

我们队伍使用的是5300mAh的3S电池,额定电压11.1v,可用电压区间在10.5到12.6v,使用在前言中提到的那套配置,能续航4分钟以上(非极限续航),基本能满足比赛的要求。

当电池电压不足时会导致无人机升力不足,掉高度,这点需要注意。

听说新动模型的格氏电池挺不错。(厂商看到了记得结下广告费)

电池比较娇贵,也是消耗品,建议多买几块。

在使用电池时千万注意:
1.不要短接电池两端(万用表电流档测电池电压)
2.使用平衡充充电时不要把3S的插头插入4S或其他规格插头上
3.使用完后把BB响拔下来
如果出现上面的任何一点,你都将会使本就不富裕的钱包雪上加霜。

另外建议买几个BB响,将它插到航模电池的检测端,当电池低于指定电压时会发出超级大的声音,有效避免电池过放。

电调 & 电机 & 桨叶

电调与电机的配置直接决定了无人机的载重能力,建议选择的电调额定电流不低于30A,如果后期可能需要使用3D激光雷达等比较重的设备,建议最少电调额定电流在35A及以上。我们队伍最开始使用30A电调,换上Mid-360时飞机升力不足,起飞不了;试了一套35A的电调才能正常起飞(最终还是换上了50A的电调和新电机)。

现在淘宝上也有四合一电调(一个电调直接控制全部的四个电机),这种电调可能动力没四个独立的强,但是省空间,重量也要比四个加起来轻一些,可以自行考虑。

电机的选择建议询问淘宝卖家。

桨叶的选择就比较随意,只要机架能放下就行,我们使用的是三叶桨,桨叶越多升力越大,但多少叶最适合就母鸡咯。桨叶有正反方向之分,安装时需要按照根据电机旋转方向安装正确方向的桨叶。

连接电调和电机时,三根线可以随便插,随便调换其中两根的顺序即可改变电机的旋转方向,旋转方向需要与飞控地面站内的配置一样。连接电调和飞控时,需根据飞控说明书安装,电机的位置与插在飞控哪里有关。这两点任何一个出错了都将导致炸机,千万注意。

飞控

现在比较常见的飞控品牌有PixhawkAcfly我只知道这两个),Pixhawk的社区比较完善,出问题了应该能找到解决方法,但是中文资料比较少;Acfly是国内的品牌,网上几乎没有任何关于Acfly的资料,有问题只能去官方售后群内问(群管理员还有点爱搭不理的感觉),好处是国内用的人比较多(?),可能有祖传的代码能用。

隔壁队伍炸了个Acfly后,换成了Pixhawk,听说也不是很好用,所以这个自行选择吧。我们队伍使用的是Acfly A9,这个系列文章也有飞控二次开发教程和代码,如果使用这个飞控可以直接拿来用。

遥控器

遥控器好像区别不是很大,我们选择的是富斯i6S和IA10B接收器,其中IA10B中的10是代表通道数,通道数越多遥控器上能使用的按钮就越多,一般有6、8、10的通道数版本,遥控器左右两个摇杆占据了4个通道,剩下的通道数将分配给上方的按钮。一般来说,遥控器上有4个按钮,所以8通道版本是最合适的;但是实际上6通道也够用了,按钮基本上只需要一两个用于调试就行了。

SLAM硬件

同时定位与地图构建(英语:Simultaneous localization and mapping,简称SLAM)是一种概念:希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。

飞控需要使用SLAM硬件传递给它的信息确定自己身处的位置以及控制飞行稳定度,SLAM的好坏将会直接决定飞机是否能飞稳,也影响了后续代码的复杂度(好的SLAM能允许我在代码里面直接控制飞机飞向预定的坐标点,而不需要通过各种图像来确定我是否真的到了这一个点),另外它也很玄学。

一维/二维定位

首先讲讲Z轴也就是高度的定位,用的比较多的是TF-Mini,它的本质就是通过激光来测算出当前的Z轴高度,虽说是激光,但是其实也不是很准,一般配合其他SLAM硬件使用,例如T265。

然后XY轴的定位,用的比较多的是光流LC302/LC306/LC307,光流能用来干的事情就比较有限了,基本上只是初期搭建飞机时把光流直接插在飞控上,然后测试飞机是否能定点悬停以及调整飞机基础参数。感觉这东西应该是能通过算法拿到XY轴坐标信息的,但是我没研究过所以不确定。

以上两个硬件都比较初级,按照飞控说明书安装即可使用了,多用于刚装好飞机的时候调试用,在正式比赛中可能并不会使用,所以这里简单略过。

三维定位

对于三维定位,我知道的硬件方案有两种,基于视觉的Intel Realsense T265和3D激光雷达Livox Mid-360(应该也有其他的3D激光雷达可以用,我只知道这个),其中3D激光雷达的方案在具体实现上又可以分为 基于点云和惯性测量单元IMU的雷达惯性里程计Fast_LIO纯基于点云对场景建模的Open3D_SLAM ,这两种方案的区别将在SLAM专题中讲到,这里可以暂时不用了解。

T265通过视觉信息和内置的IMU计算得到当前的坐标,它的主要问题是T265得到的数据不太可靠,并且经常出现问题,有人研究过T265在特定频率的晃动下数据将完全不可用,此时飞机会炸机。另外,T265也有体质差异,不同硬件有些容易炸有些不容易炸(我们队伍的这块甚至放在小车上低速移动也会炸),所以也许Intel发现用视觉做SLAM的方案局限性太大了吧,现在T265已经不再更新和维护,相关软件也在最新版本中移除了硬件支持。

Livox Mid-360本质上来说只是个3D激光雷达+IMU,它的返回是点云数据(周围无数个点的位置和距离)和IMU数据(加速度,俯仰角啥的),通过这两个数据再结合一些算法就能计算得到当前的坐标信息。这个硬件啥都好,就是贵(这是我的问题),官方售价4k但是没货,淘宝上售价5k甚至一度炒到了6k,这钱是真好赚啊。它的数据根据算法的不同在鲁棒性等方面有所区别,但是也比T265要好很多,目前还没有发现数据不可靠的情况。就是如果时间允许的话建议加个保护罩(官方好像有售),这万一调试的时候磕了碰了,心和钱包都会一紧。

整体方案

刚搭好无人机时使用光流+TF-Mini测试飞机,确定能定点之后使用TF-Mini+T265或TF-Mini+激光雷达测试定点,如果出现高度不稳定的情况就把TF-Mini拆掉之后再测试。在我的测试中,使用Livox Mid-360 + TF-Mini会出现高度不稳的情况,但单独使用Livox Mid-360会缓慢掉高度(不会很厉害,也有可能是飞控代码问题,相信后人的智慧),具体TF-Mini的安装与否需要自行测试。

使用新的SLAM方案后首先使用定点模式测试飞机是否能悬停,使用绳子拉扯之后是否能会到原位,如果没问题的话代表这套方案至少能用,效果好不好就需要用具体题目来测试了。

上位机

通常,无人机的控制逻辑是:飞控负责控制好飞机的姿态,上位机发送命令给飞控来操作无人机执行前进后退一类的动作;另外上位机还需要运行针对题目要求写的代码、图像处理的代码、各种传感器数据处理、SLAM算法、外部设备控制,所以上位机是完成题目最重要的部分,它需要负责的事情比较多,对性能的要求也比较大

上位机的选择就比较多了,总的来说可以分成两大类,NUC和Nvidia Jetson。

NUC

Next Unit of Computing (NUC) 是luck(幸运)的谐音,它是一种小型设备或计算元件,可提供全面的台式机体验、游戏体验或边缘设备体验。NUC 迷你电脑包含标准电脑的所有组件:处理器、内存、固态硬盘、LAN 或 Wi-Fi,并支持集成和独立显卡选项。最初采用迷你电脑形式的设备现在已经发展成用户期盼已久的新一代解决方案,因此得名 NUC。

虽然NUC一般是指Intel的某个产品线,但是为什么要局限在Intel和,AMD不香么?所以我这里说的NUC指的是使用x86架构的小型电脑。

选择NUC的好处有:CPU性能强劲,不需要单独处理ARM架构依赖的问题,比赛结束后还能当电脑来用;缺点是:功耗大,接口少(只有USB口,没有GPIO),没有CUDA加速(没有独显),可能重量更重。

Jetson

NVIDIA® Jetson™ is the world’s leading platform for autonomous machines and other embedded applications. It includes Jetson modules, which are small form factor, high-performance computers, the NVIDIA JetPack™ SDK for accelerating software, and an ecosystem with sensors, SDKs, services, and products to speed up development. Jetson is compatible with the same AI software and cloud-native workflows used across other NVIDIA platforms and delivers the power-efficient performance customers need to build software-defined autonomous machines.

你可以简单地理解成Jetson就是有CUDA加速的树莓派(树莓派是什么东西,请问度娘),CUDA加速主要用于加速人工智能、深度学习一类程序的计算,这东西在比赛中确实是可能用到的,例如在本系列文章中会讲到的Yolo,虽然即使没有CUDA加速也能用CPU硬跑,但是效果具体如何就需要自行验证了(NUC的CPU性能很强,估计也不会差)。

选择Nvidia Jetson的好处有:有CUDA加速(也是Jetson与其他微型单板计算机例如树莓派的主要区别),功耗低,接口丰富(有GPIO);缺点是:想要性能好得砸钱,比赛结束后就吃灰,Jetson设备上有一套不同于其他设备的编译方式以及开发方式。

这里给点必坑建议,如果要用Jetson的话千万不要选择Jetson Nano,因为这个型号确实比较老了,性能什么的已经跟不上了,有这钱上NUC绝对吊打。我们队伍先后用过Jetson Nano 4GB和Jetson Orin NX 8GB,nano的性能差到跑OpenCV编译要6-7个小时,编译自己写的C++代码要等一分钟以上(代码量只有几百行),并且在我自己使用中开启比赛需要的各种依赖+自己写的代码+OpenCV处理后帧数出现惊人的0.5帧,基本上属于不能用的水平,所以听我一句劝,真爱生命 远离Nano。最后,我们斥巨资4k上了Jetson Orin NX 8GB就一切都很美好了,编译OpenCV只需要半个小时不到,跑Yolo也挺丝滑。

总结

选择NUC主要的缺点还是在于功耗比Jetson大,以及纯使用CPU跑深度学习的效果好不好上。在购买之前还得综合考虑功耗以及重量,个人感觉如果使用了NUC,3S的电池可能就不太顶得住了,另外还需要多买几个CH340(USB转串口)+USB拓展坞啥的。

选择Jetson的话需要砸钱,以及对你的资料查找能力有一定考验,例如编译OpenCV时Jetson设备的编译就与其他设备不一样,配置环境比较麻烦,如果你之前从来没有接触过Linux的话建议还是选择x86架构的NUC方便一些,少很多麻烦。

小结

本篇文章内所说的只覆盖了比较重要的几个硬件选择,在实际搭建无人机的过程中还需要分电板、升/降压模块等东西;再者每年都有新的硬件出来,我上面提到的不一定就是最完美的解决方案,在你看到这篇文章的时候可能我上面提到的硬件又被淘汰了,所以能有个学长给点参考意见的话还是很重要的。

说了这么多又好像什么都没说,最终的决定权还是在看到这句话的你手上,选择困难症的话照着我这个队伍的方案买也不差(应该)。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇