请选择 进入手机版 | 继续访问电脑版
正在上传图片(0/1)

特洛Tello EDU教育编程无人机【实测&教程】

 6
手机看帖 9 5143
原文:https://mp.weixin.qq.com/s/XT1Vtbr2QSXvQkzj-0Pvfw
此贴图文太多,不便于编辑,感兴趣的可以去原文阅读。

一:操控与娱乐性能
这款无人机可以通过移动设备(手机/ipad)安装配套的App进行操控,可以说非常简单,极易上手。在我们测试过程中,6岁的多的小朋友经过指导便可以控制无人机在室内进行飞行。你可以从网上看到很多相关的评测文章,了解硬件相关的信息与特性。我们接下来主要是讲这款无人机关于编程操作的相关评测,该文也可以做为一个简单的入门引导教程。

二:这款无人机适合小孩子吗?
除了针对这款飞行器配备的操控APP外,你还可以下载另一个可以用于学习编程的TELLO EDU 同名APP,这个应用主要有三大功能板块,如下图所示。第一就是主界面的12星球编程游戏,用来进行编程学习,利用积木编程控制飞行器闯关,从而学习编程知识与无人机编程操控,这一点可以说是专门针对编程入门的青少年而设计的;第二就是左下角的“遥控”手柄,可以直接与无人机进行wifi链接,然后进行遥控飞行;第三就是通过积木编写程序程控制你的无人机,也就是左下角的“积木”。




对于小孩子来说,学习建议先从编程游戏开始,如果你有scratch基础更佳。点击图中的地球(5个关卡),便可以进入到游戏编程中(目前一共12个星球,后面的关卡需要付费购买),这个编程游戏既可以用来学习编程的相关知识,同样也是进行真机编程操控的一个教程,积木式编程可以说是针对小学生进行编程教育的最佳选择。




再通过挑战游戏掌握了相关指令的功能与使用后,接下来就可以点击左下角的积木进入编程控制界面了。点击左上角,通过wifi搜索到Tello的无线网络,连接后就可以进行编程控制了。通过各种积木组合,控制无人机做各种飞行动作。




除了官方的APP之外,Tello EDU还支持Scratch来进行编程控制,这都非常适合孩子进行编程学习。

三:如何通过Scrath来控制Tello EDU?
那么如何在我们的scratch软件(公众号回复“?”一分钟了解什么是scratch)中添加无人机扩展呢?首先确认你的电脑已经安装了scratch2.0,并能够进行无线网络连接,如过无法通过无线连接无人机,程序将无法进行控制。

第一步:电脑上安装node.js(搜索Node.js 安装配置教程)

第二步:下载扩展程序,并解压。(点击文末阅读原文)

第三步:打开Scratch,按住shift键不放,用鼠标点击菜单中的“文件”,选择“导入实验性HTTP扩展功能”,选择上一步下载文件Scratch-tello目录中的“TelloChs.s2e”,这样就完成了扩展添加。,你会在更多积木中看到。




第四步:使用node.js命令运行刚刚下载的文件夹里的 “Tello.js”。




第五步:将电脑接入Tello EDU的无线网络就可以开始你的创作了。




在使用Scratch进行编程控制的时候有些朋友会发现某些指令操作会被忽略掉,根据我们分析可能是因为Scratch发出的指令,都会通过UDP协议发送给无人机,它只是负责发送,而并不会等待无人机给出响应,就有可能存在无人机在某一时刻同时收到多个指令(比如无人机在执行往前飞10米的过程中收到往回飞),导致部分指令并没有给出正确的响应,以至于不会被执行,目前的方法可能就只有在指令间加长等待时间,如果你熟悉Js的话,不妨去尝试修改一下Tello.js文件,让程序指令能够逐条响应去执行,或者在收到错误的返回信息后能够重试等等。

四:如何使用其它语言来编写程序控制Tello EDU?
Tello EDU在苹果公司的Swift Playgrounds App中推出了“Tello星际探索”配套教程。该教程以探索外太空的神秘旅行作为故事背景线,令用户在完成挑战任务的同时,逐步学习Swift编程语言。




其实对于深入学习编程的用户来说,Tello EDU可完美支持各种编程语言:Python、C++、Java、PHP、JS等等,不管哪种语言,你需要做的就是连接Tello的wifi后,编写程序通过sockt进行连接,向特定的端口发送command命令(所有命令可以查看官方SDK2.0使用说明,这是后续进行编程必不可少的文档)就能控制Tello的飞行。比如你可以下载这个python的程序示例(点击文末阅读原文),文件夹里有两个版本的python程序,分别对应Python2与python3。




       以下载的python3/Tello3.py为例(需要在Python3的环境下运行),运行结果如图所示,此时你只需要输入“command”指令将无人机切换到SDK模式,然后输“takeoff”指令,无人机便会起飞,接下来你可以根据SDK文档中的指令随意进行控制了。



       对应的python2的程序示例,你只需要将给无人机下达的一系列指令保存到“command.txt”文件中,如图:



然后运行“tello_test.py.”程序(命令: python tello_test.pycommand.txt),无人机将起飞,前进200cm后降落。

这只是比较简单的两个示例,有兴趣的朋友可以进行比较复杂的逻辑控制,比如,你想通过语音控制你的无人机进行飞行,我想这一定很酷。开放的SDK,令Tello EDU具备宽广的适用范围,从刚开始接触编程的青少年到对编程热爱的成年人都可以借助Tello EDU一展身手。

五:挑战卡的使用。
Tello EDU套装中包含四块配件,称为“挑战卡”。挑战卡上印制着由小火箭、挑战卡ID、星球三部分组成的复杂图案,形成相互区别的标记。Tello EDU通过视觉传感器对挑战卡上的图像信息进行探测和识别。






那怎么玩呢?我们还是需要先了解一下官方提供的:挑战卡使用说明。这些功能需要我们通过编程来实现,说明里同时介绍了挑战卡的摆放和环境光线的一些要求,不然会对传感器的识别造成影响。



开始测试:根据要求摆放好挑战卡与无人机。打开TELLO EDU,在积木编程里,打开“飞行积木”,最下面的三个积木对应的就是挑战卡说明文档中的三个功能(具体使用请对照使用说明中的“go”、“jump”、“curve”)

      根据说明需要先打开探测功能,但是在积木指令里并没有找到(猜测:或许默认就是打开的),那我们就直接编写几个指令来测试一下,如下图。




点击开始,无人机起飞,识别到1号卡,然后移动到上方,但是后面的识别指令并未成功执行,重复测试多次,问题依旧,具体原因未知。此处提出个小的建议,希望能在app的操控界面上显示当前指令的执行结果,那对于使用积木编程来说可是非常方便调试的。

从目前测试来看,对于挑战卡的使用我还是比较推荐使用python,使用python2的程序示例,我们把挑战卡的指令都保存在“command.txt”中,这个程序最大的好处就是可以通过电脑查看到无人机探测的结果,ok表示识别成功,error表示失败(比如在飞弧线的时候,它可能会返回半径过大,指令就不会被执行)。这样就可以结合无人机的飞行状态知道哪里出了问题。




在这个视频中依次实现了直线飞行,识别旋转,弧线飞向,最终降落,你可以清晰的看到每条指令的执行情况。

我们在你刚下载的scratch扩展中也添加了几个相关的指令,可以实现挑战卡探测并直线飞行,如图:




运行程序后,无人机将打开探测器,然后你可以对着麦克说:“起飞”,无人机就可以飞起来了,然后等待5s(主要是给无人机一个识别的过程),然后无人机将以10cm/s的速度飞往2号挑战卡的坐标(100、100、100)处。如果你有兴趣,可以根据SDK为scratch添加更多扩展积木指令。

六:物体识别



我们通过app操控Tello EDU的时候,可以利用APP进行拍照录像。除此之外呢,还可以通过SDK打开它的视频流,然后通过编程接收视频数据,在界面上进行显示、录制、提取单帧图像进行姿势识别并绑定特定姿势和飞机控制命令,实现Tello的姿态控制。这些操作对编程都有较高的要求,如果你跟我一样对图像处理不是很了解,或者你是刚刚起步,那么请不要着急,现在要做的就是学习,探索。如果你是这方面的专业人士,你也可以下载官方的程序demo作为参考,或者在社区里跟大家一起分享你的经验。

七:多机编队飞行
接下来我们将测试一下编队飞行,使用SDK中的AP指令可以将Tello EDU转为station模式,并连入到AP,从而实现让一台电脑或智能设备同时控制多台Tello EDU,组成复杂队形飞行。对于编队飞行官网上的操作说明很少,只提到使用SwiftPlaygrounds中的教程则让编队飞行功能更简单易用,即便是初学者也能迅速上手,由于条件原因,未能亲测。于是自然想到了编写程序进行控制,文末阅读原文下载程序。




在这个过程中也遇到了很多坑,比如最早我看到的是1.0的SDK,对于如何编队飞行百思不得其解,总不至于多个设备下运行同样的程序来控制吧,这根本不现实。后来从官网下载了2.0的SDK,看到可以通过AP将无人机并到一个网络里,于是茅塞顿开。很激动的将其它几台无人机都接入到另一台无人机上,满以为会轻松搞定,却发现根本找不到其它无人机,反复折腾测试,仍旧无果。于是尝试将所有无人机接入我的路由(使用手机热点),终于可以在网络中找到“大家”了,于是开始用程序测试,至此我的编队飞行测试算是成功了。

下面我跟大家分享一下操作过程。

具体操作步骤如下:

1、下载程序示例Multi-Tello-Row,运行install目录下对应的一键安装脚本(windows\linux\macos),安装所有相关的依赖项,如果没有任何错误出现,恭喜你就可以进入下一项准备工作了。

2、获取无人机编号,记录并保存。除了通过程序发送SDK指令“SN?”查看编号外你还可以直接从无人机上看到编号,它在电池的卡槽里,内测就是编号,外侧是默认的wifi名称。




3、通过程序,将无人机AP并联到你能提供的一个无线局域网内(假设你的手机热点,用户名为“Tello”,密码“11111111”),执行SDK命令“ap Tello 11111111”;或者修改formation_setup.py文件最后一行,改为自己的wifi名字以及wifi密码set_ap('Tello', '11111111'),然后执行“python formation_setup.py”完成联网操作。

4、编写飞行脚本保存在Txt文本里(如:takeoff_inthe_row.txt),这里会用到第二步获取的SN编号,示例如下:




这段指令执行的是:查找局域网内的2台tello,且电量不能低于20,绑定Tello的产品序列号SN和连上wifi后的ip地址,1和2后面就是SN编号。接下里就是飞行命令,全部起飞,5秒后根据绑定的序列号分别控制,1号前进200cm,2号后退200cm,5秒后降落。

5、这也是最后一步,运行“pythonmulti_tello_test.py takeoff_inthe_row.txt”,你的飞行编队就开始表演了。

在大疆社区里看到有人说最多支持4架,由于我们没有更多的无人机经行测试,所以暂时无法确认,但从理论上来说是不会局限于4架的。

总结
本次测试给我的最大惊喜是它开放的SDK,正因为如此,你可以使用任何语言去控制它。可以说我之前小看了Tello EDU这款产品,这是其它一些编程类的硬件产品所不具备的,因此这款产品不仅适合孩子,也适合青少年,编程爱好者,它给我们提供了更为广阔的创作空间,希望Tello EDU未来能提供更为丰富的SDK给用户。
评论
上传
你需要登录之后才能回帖    登录 | 注册
Fantacyli  Mavic Air认证用户 2019-1-9 2#
没有特洛无人机怎么搞
一位来自灵山旧州的DJI学生粉,想买MAVIC 2 ZOOM~没钱......
RYZE  超级版主 2019-1-11 3#
感谢楼主的分享
yang78582006   2019-2-26 4#
为什么我下载了示例,Python2 运行“tello_test.py.”程序闪一下就退出了。没办法控制无人机,请问,你安装的是什么版本啊?电脑是32?还是64位操作系统啊?
fansf5c7fdbb  Phantom 3 Standard认证用户 2019-3-6 5#
你好,想问下mac版的scratch怎么安装扩展?
无人机创新教育   2019-3-21 6#
楼主太牛了,大爱分享
楼主,有联系方式吗?微信,QQ都可以,想跟你交流一下EDU的具体操作。
苏冠希   2019-4-11 8#
楼主求联系方式
djiuser_hu0RVwA   2019-10-24 9#
我买了两台小试,拿到手后测试,感觉好坑,tello EDU程序需要先用,tello程序激活,关键是切换到telloEDU程序时经常遇到无法连接的情况,不知为何,要多次重复开关机,偶然的机会会连接上,还有连接成功时有时也会掉线,APP无法控制飞行器,整的一下子没了兴趣
RYZE  超级版主 2019-10-28 10#
djiuser_hu0RVwA10-24 13:55
我买了两台小试,拿到手后测试,感觉好坑,tello EDU程序需要先用,tello程序激活,关键是切换到telloEDU程序时经常遇到无法连接的情况,不知为何,要多次重复开关机,偶然的机会会连接上,还有连接成功时有时也会掉线,APP无法控制飞行器,整的一下子没了兴趣[图片]
给您带来不好的体验非常抱歉,关于EDU APP断连的问题,目前纬创资通(上海)有限公司已经在优化处理中,将会在近期发布新版本APP解决此问题,您可以拨打纬创资通(上海)有限公司服务热线  021-64952384 或 发送邮件到 stem_wsh@wistron.com 咨询相关工作人员,感谢您的理解。
取消 点赞 评论
分享至:
回复:
上传
取消 评论
快速回复 返回顶部 返回列表