农业无人机
工业无人机
军警无人机
娱教无人机
水下无人机
反无人机设备
无人机配件
无人机租赁
无人机培训
当前位置:全球无人机网 » 无人机技术 » DIY » 正文

200美元“造”出一台可由语音控制外加能进行人脸识别的自主飞行无人机

发布日期:2016-11-18  来源:Parrot派诺特我要投稿我要评论
继“如何用100美元和TensorFlow来造一个能‘看’东西的机器人” 之后,Lukas又一最新力作。

结合深度学习和便宜硬件的更多探奇。

在“造”出能进行物体识别的机器人后,下一步就很清晰了,我要“造”一个能飞的东西!我决定搞一个能自主飞行的无人机,并要它能识别人脸和响应语音指令。

    选择一台成品无人机

开始“黑入”一台无人机的最难的部分就是如何开始。我最初的选择是用零件组装一台无人机。但和我完成的大部分的DIY项目一样,从零开始一般都耗费了太多的时间,还不如直接买一个成品。实话实说,我自己组装的无人机从来没有正常的飞行过。而买一台成品机就既省事又省钱。

绝大部分无人机厂商都宣称提供API接口,但对于业余玩家来说就没有一个明确的最佳选择。大部分能提供貌似可用的API接口的无人机都要超过1000美元。这对于入门级的玩家来说就太贵了。

但经过搜索,我发现Parrot AR 无人机2.0版(见图1)是一个低端可“黑”入无人机的极佳选择。新的售价是200美元,不过很多人在买了以后就不怎么再玩了,所以在eBay上花130美元或更少就能买到一个不错的二手货。



图1:我车库里的无人机收藏。最左边的就是Parrot AR无人机。图片由Lukas Biewald授权使用

论飞行稳定性,Parrot AR型不如更贵的Parrot Bebop 2型(550美元)。但是Parrot AR型所带的叫node-ar-drone的node.js客户端库是非常好用的。

Parrot AR型的另外一个优点是它非常皮实、耐摔。在测试自主飞行代码的时候,我的无人机频繁地撞到墙、家具、植物甚至是我们家的客人,并坠落。但它还是依旧能正常飞行。

比起“造”能在地上跑的机器人,“造”无人机最不爽的一点就是它的电池可用时间太短了。基本上是充电几小时,飞行十几分钟。所以我建议多买两块电池,循环充电使用。

    给我的无人机开发程序

我经过实践发现,Javascript内在的事件驱动的特性使得它成为一种非常好的控制无人机的语言。请相信我,无人机飞行的时候,是有非常多的异步事件发生。我写Node.JS的时间并不长,但在这个项目过程中,我对它的印象非常深刻。上一次我正儿八经地为机器人写程序用的是C语言。处理C语言的线程和异常是一件非常让人头疼的事,所以我尽量避免再使用它。我希望有人能为其他的机器人平台开发出Javascript的接口,因为这会让为机器人开发程序(完全无法预知会发生什么事)变得更简单更有趣。

    架构设计


我决定在我的笔记本上运行控制逻辑,同时在云端运行机器学习的部分。这种架构设计比在树莓派板上直接运行神经网络的延迟要低。我认为这种架构对于业余无人机项目而言是合适的。

微软、谷歌、IBM和亚马逊都提供快速且便宜的机器学习API。最终我选择了微软的认知服务API来完成这个项目,因为它是唯一提供定制化的人脸识别功能的API。

图2里展示了整个无人机项目的系统架构。



图2:智能无人机的系统架构。图片由Lukas Biewald授权使用

    开始动手

默认地,Parrot AR无人机2.0版自己可以提供一个无线网络,供客户端接入,但是这个功能却极度烦人。每次你要实验点东西,你都需要从本地网络断开,再连到无人机的无线网里。好消息是,有一个叫ardrone-wpa2的项目,非常有用,用它你可以“黑”进无人机,并让无人机连到你自己的无线网络里。

Telnet到无人机操作系统上并游荡一番是挺有趣的。Parrot无人机使用的是一个简化版的Linux操作系统。你上次Telnet到某个系统上是什么时间哪?下面的命令例子就演示了如何打开一个终端并直接登录到无人机的操作系统上。

% script/connect “The Optics Lab” -p “particleorwave” -a 192.168.0.1 -d 192.168.7.43

% telnet 192.168.7.43

    通过命令行来控制飞行

在安装了node库之后,下一步就是生成一个node.js的命令行运行环境,然后就可以开始控制你的无人机了:

var arDrone = require(‘ar-drone’);

var client = arDrone.createClient({ip: ‘192.168.7.43’});

client.createRepl();

drone> takeoff()

true

drone> client.animate(‘yawDance, 1.0)

如果你按照我上面所说的一步一步地实验到这里,你的无人机肯定已经坠落过了——至少好几次。我已经无数次地把我的无人机的保护外壳给它粘回机身上,直到它彻底解体,随后我只好再买了一个新的。我不得不说,其实Parrot AR型在没有保护外壳的时候飞行得更好。但这种方式会使无人机变得很危险。因为没有保护外壳的话,一旦无人机撞到东西,它的螺旋桨就会直接打到物体上,并留下刮痕。
 
本文链接:https://www.81uav.cn/tech/201611/18/209.html
标签:  
0相关评论
免责声明:凡注明来源全球无人机网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,请注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

图文推荐

推荐新闻

推荐品牌

关于本站

合作服务电话

  • 客服热线:0755-23779287
  • 展会负责:18933794284
  • 广告合作:点击这里给我发消息
  • 展会合作:点击这里给我发消息

公众号/APP下载


    (公众号)


    (Android下载)

Copyright©2005-2019 81UAV.CN All Rights Reserved  访问和使用全球无人机网,即表明您已完全接受和服从我们的用户协议。 SITEMAPS 网站地图 网站留言
运营商: 湛江中龙网络科技有限公司 全球无人机网 
ICP备案号:粤ICP备15079343号-1 
全国公安机关 备案信息 可信网站不良举报 文明转播