可以在M100上使用的机载处理器及无线设备

可以在M100上使用的机载处理器及无线设备

置顶 精华  1
手机看帖 24 70029




      使用M100进行的各种应用开发可以说五花八门,从科研类的SLAM、集群控制,到行业应用例如电线巡逻、3D扫描建模等等,需求不同,控制M100的方式也各不相同,本文主要介绍使用无线设备对M100进行远程控制或是在M100上搭载计算设备进行实时控制,希望可以给各位开发者一些参考。
    另外欢迎各位开发者加入M100及Guidance的技术交流群,群号 469284875,希望各位开发者能够互相帮助,共同提高,当然QQ群的主要作用是作为即时的交流平台,我们更希望各位开发者遇到问题时以在官方论坛发帖的形式解决,一方面官方论坛里有官方技术人员,回答时更为权威和准确,另一方面也能留下一些资料,方便之后遇到相同问题的开发者参考。    
    首先说一下利用无线设备控制M100, 传统的做法是购买115200波特率的无线串口模块,某宝上非常多,另外,由于M100上没有5V或3.3V的供电端口,仅有4个连接了6S电池的接口,因此开发者需要自行购买一个26V转5V的电压转换模块或者移动电源供电,其中,转电压模块可以考虑购买航模专用的UBEC(感谢高老师提供的信息),也可以购买其他转电压模块。
    无线串口的好处是方便在地面用 PC 监控飞行器的各种状态信息,比如姿态、速度、加速度等等,对于一些不需要回传太多数据的场景应用非常方便。 然而,从实际使用效果来看,由于大多数人的无线模块都是半双工的,不能同时收发数据,当飞控往地面发送较多信息时,会出现丢包现象,而 M100 的地面站默认的发送数据量非常大,导致部分开发者一开始使用无线串口进行激活操作时失败,直到降低了回传的数据量才能成功激活,我们自己的测试结果是仅能承受 3-4 50HZ 的数据就达到极限了(测试方法是逐渐增加回发的数据量,然后重复激活 100 次,统计激活成功率)。
    当然,除了无线串口,还可以使用3G、WIFI、蓝牙等等方法进行无线控制,这些都需要仔细考虑延迟、信号干扰及丢失等问题,并不是靠谱的控制方式,因此官方并不是很推荐采用无线的方法控制M100,去开发一个mobile sdk+数据透传说不定效果更好。

  下面是本篇的重点部分——使用板载处理器通过UART串口控制M100,实现全自主任务执行。对不同的板载处理器可以从处理性能、操作系统、重量及功耗等方面进行划分,M100的载重能力和电池大大限制了可选范围,因此对于板载处理器我个人的选择是板子重量在400g以内,功耗低于30W,下面简单介绍一些我了解过的并且有不少小型飞行器方面应用案例的处理设备。
(1)Intel x86架构的高性能处理设备(Intel NUC,技嘉Brix,以及各类ATOM工控板等)
(2)ARM架构的单板计算机(Raspberry Pi2,cubieboard,pandaboard,Odroid等)
(3)单片机类(STM32)
(4)特殊类(ARM+FPGA,ARM+GPU,ARM+DSP)

1.Intel x86架构的高性能处理设备
    如果你需要直接在M100进行SLAM、复杂图像处理时,Intel的x86架构芯片将会是比较好的选择,即将推出的Guidance SDK对于X86的支持也比较好,目前,M100带得动的性能最好的x86处理器应该是Intel 的NUC和技嘉的Brix等mini PC ,当然除了这两家,还有其他厂商也有生产,搜索关键词mini PC即可。
可以在M100上使用的机载处理器及无线设备_第1张图片

图片1nuc.png (117.04 KB, 下载次数: 4)

下载附件  保存到相册

2015-8-11 23:51 上传



    NUC和Brix已经有i7的版本了,性能绝对爆表,大小仅10CM左右,重量和功耗也在M100的承受范围之,可以自己加SSD,有足够的USB接口和显示接口,也完全支持windows和ubuntu等操作系统,是追求性能的首选
     如果既想使用x86架构,对处理性能的要求又没那么苛刻,并且经费有限的话,可以考虑购买x86架构的工控板,关键词mini-itx,nano-itx,这一类产品主要是应用于嵌入式场景的,低功耗、体积小、价格便宜是主要特点,性能上还是可以爆树莓派几条街的,下面是一款比较常见的J1900工控板,功耗15W以内,重量300g以下,价格600,自己买一些内存条就可以欢快地跑代码了。

可以在M100上使用的机载处理器及无线设备_第2张图片

gongkong.png (432.42 KB, 下载次数: 3)

下载附件  保存到相册

2015-8-11 23:52 上传



2. ARM架构的单板计算机(SBC)
    最近几年大火的树莓派便是属于这一类,关键词SBC(Single Board Computer),基本都是采用了ARM A7、 A15、 A9,可以流畅运行linux,主要产品包括MinnowBoard、Odroid、Raspberry Pi2、Firefly等等,这类板子尽管性能不如Intel,但胜在体积更小,功耗更低,价格也便宜了不少,wiki上有对各个板子的详细参数对比:
https://en.wikipedia.org/wiki/Comparison_of_single-board_computers
这几款板子里个人推荐使用Odroid xu4,重70g左右,4核A15+4核A7的SOC,是目前的主流手机处理器配置,可以装ubuntu运行ROS。

可以在M100上使用的机载处理器及无线设备_第3张图片

odroid.png (140.77 KB, 下载次数: 2)

下载附件  保存到相册

2015-8-11 23:52 上传



3.单片机类(STM32)
这个论坛里已经有人完成了,大家直接去看原帖就行。
http://bbs.dji.com/forum.php?mod=viewthread&tid=19754&extra=page%3D1%26filter%3Dtypeid%26typeid%3D182

4.特殊类(ARM+FPGA,ARM+GPU,ARM+DSP)
    如果你的项目需要比较密集型的计算,但是对于功耗要求又比较高的话,这一类应该会是不错的选择,例如使用ARM核跑一个linux操作系统,再使用FPGA或者是GPU跑图像处理程序,主要推荐的是两个产品:ZYNQ和tegre k1(未来还有x1)。
    XINLINX的zynq系列是ARM+FPGA的soc,具体的资料就不上了,在工业上的应用也是非常多的,如果有FPGA基础那么开发起来会很顺利,效率也会很高。除了XINLINX,Altera也推出了ARM+FPGA的soc,并且各位手中就有产品——没有错就是Guidance这个黑科技。
    基于zynq的开发板Zedboard:

可以在M100上使用的机载处理器及无线设备_第4张图片

zynq.png (240.1 KB, 下载次数: 3)

下载附件  保存到相册

2015-8-11 23:52 上传



    最后一个是NVIDA 的产品JETSON TK1。密集型计算不是cpu的强项,而是gpu的菜,tk1采用了4核 A15+GPU的结构,其ARM核本身已经很强力了,再加上CUDA对图像处理的加速,应该可以满足大部分需求。2015CES上parrot使用 tk1做了一个3D扫描建模的演示,有兴趣的同学自己google吧。

可以在M100上使用的机载处理器及无线设备_第5张图片

tk1.png (519.98 KB, 下载次数: 77)

下载附件  保存到相册

2015-8-11 23:52 上传



你可能感兴趣的:(UAV)