MiniDrones家族是Parrot公司在今年7月新推出的入门级智能玩具产品线。MiniDrones产品线丰富,覆盖了从陆地的弹跳机器人Jumping Drones,可以在水面飞行的水翼艇Hydrofoils Drones,直接在空中飞行的四轴飞行器Airborne Drones 产品。这次极果科技拿到的测试产品是Parrot派诺特的智能弹跳机器人 ,竞速系列 Jumping Race Drone。
竞速系列有三种角色可选,分别是 Max (红色), Tuk-Tuk (黄色), Jett (白色)。
竞速系列产品,最高速度可以达到8mph ,约和12.8km/h. 弹跳高度75cm ,Tuk不是普通的电动玩具或者模型玩具,而是再带Linux操作系统,可以实时进行视频串流(Streaming)与录制,自带三轴加速度传感器与陀螺仪的智能机器人,他不配置不同的遥控器,而是直接通过手机或者平板电脑完成控制,Tuk本身就是一个WIFI热点。
这是 Max
这是 Jett
这次极果送来的产品是TUK-TUK
我们先试玩,然后在尝试入侵系统。
我一直在互联网公司做机器学习方面的研发工作,也是第一次玩Tuk这种玩具。首先研究了下说明书,打开手机开始寻找名字叫MiniDrone的热点,发现没有找到,咨询了另外一个资深工程师,也没有搞定,顿时陷入僵局,我想不会这个产品有缺陷吧。
然后尝试Google大法,看来培养翻墙能力还是非常重要的(不解释)。 一番Google之后,有三个重要发现:
第一Tuk已经有新固件可以升级,在法文版网站有下载。
第二Wifi热点的名字叫TukTuk_xxx。
第三 安装完电池后,不能直接Search到Tuk Wifi的,需要Tuk完成自检,完全启动起来,也就是说Tuk的两个眼睛要变成绿色。才可以用手机搜索wifi热点连接。整个启动过程大概需要1分钟左右。
作为软件工程师,当然要跑最新的固件.
电池下方可以看到固件版本 ve2.0.30 ,官方最新固件ve2.1.0 ,注意中文版和英文版网站都没有下载,只有在法文版网站才能下载到。下载地址 http://www.parrot.com/fr/support/parrot-jumping-race-drone/
下载完固件后,直接把Tuk 用usb口连接到电脑,然后把js_evo_update.plf 拷贝到Tuk的根目录,注意不要改名。然后在电脑 Eject Tuk设备,然后等在固件自动安装。安全起见Tuk的两个眼睛会交叉闪烁,如下图,在等待5min后,两只眼睛会变成绿色,说明固件更新成功。
安装FreeFlight3 免费Apps。
Parrot MiniDrones全系列产品都可以 用FreeFlight来操控,完成安装后,在没有连接Tuk以前,初始界面是这样的。
注意右边的菜单栏,是没有直接控制选项的。首页默认播放Parrot的宣传视频。
在WIFI完成同Tuk连接后,手机的网络连接自动变成3G连接。重新进入FreeFlight,软件提示建立连接完成。
同时主屏视频区域自动切换到FPV(第一视角)模式,这个模式在战斗机自动座舱中有大量应用。这次再次激活主菜单,软件增加自由路线模式,直接手工控制。以及路线规划,可编程驾驶模式。以及内部存储器访问选项,可以直接查看Tuk拍摄的照片和视频。
我们选择自由路线模式,Tuk眼中的我们。
点击中间的圆形按钮,Tuk提供了很多内置动作,旋转2s,旋转跳,慢摇,节拍器,回旋等。
自由路线的操作视频,在写字楼中庭,使用Tuk内置摄像机录制
自由路线,Jump视频,实际测试弹跳高度在40cm左右,外部摄像机拍摄
Tuk还支持可编程模式,在路线计划的菜单,可以进入可编程模式
这个是我们测试的时候,做的一个规划,是实际使用中,发现一个BUG,就是站立姿势以后,没有切换到旋转跳动作。
Hack MiniDrone ,研究硬件与操作系统
作为软件工程师,最令人兴奋的就是通过软件方法入侵系统了。在我用手机连接上Tuk之后,发现Tuk给我手机分配的IP地址是192.168.2.2 .猜测Tuk自己的地址应该是192.168.2.1 . 打开Safari,测试一下80端口. 80端口就是我们通常访问网站的端口。
很令人兴奋,里面有产品序列号,编译时间,版本号,编译器等信息。
开启Telnet工具,尝试直接连接内部系统, 首先创建一个Telnet连接。
连接测试Bingo
成功进入系统,看来Tuk配置了MPU6050三轴加速度传感器,MPU6050是这个样子的。
这个芯片可以提供Tuk姿态感知功能。例如拿起来Tuk,他会低吼表示生气,放到平地上他的眼睛会变绿,表示可以工作状态。这种状态的感知就是通过MPU6050来实现的。另外Tuk可以保持站立姿势,类似Segway的自动平衡车功能,也是通过这个传感器来实现的。执行cat /proc/version 发现操作系统版本 为Linux 2.6.36 , Linux统治世界中。执行 cat /proc/cpuinfo 看一下CPU 为ARM926EJ-S V51架构。
ARM926EJ是32位 CPU ,支持 Linux,Windows CE. 对应的国产方案就是 MTK6516。在小米出来之前,国产山寨手机普遍采用此CPU,工作频率最大576MHZ,最小192MHZ。跑手机的话有些吃力,但是驱动TukTuk的话,性能还是足够的。
这个CPU通常的的最小系统是这个样子的。
下面了解一下Tuk的电池。
中国生产(全球制造中心不是虚名哈), 电池容量 550mAh, 最大提供25C的放电能力,C表示电池容量,就是550ma, 25C最大放电能力就是8.25A,这是很大的供电能力,保障Tuk可以弹跳75cm左右。 Tuk不带充电器,如果用电脑充电的话,可能要1个多小时才能充满,用iPhone充电器的话,可以保证半个小时内搞定。
电池最长续航20min。但是如果频繁弹跳的话,能坚持10min就不错了。
另外为了保护电池,尽量延长电池寿命,Tuk设计了比较完善电池保护功能,电池电量不足的时候,会报警,如果强行发出跳跃指令,系统也会拒绝执行。
最后感谢极果提供的测试机会,这次测试有些心得:
1. Parrot 在智能系统/玩具领域走的很领先,产品设计细节非常到位。
2. 客户端软件有些小BUG,不过瑕不掩瑜。
3. MiniDrone系列的摄像头成像质量还有很大提升空间。
4. 产品可玩性好,不管是极客,电脑黑客,还是普通玩家,都有用武之地。
5. 很期待linux下面的SDK,可以部署更高阶算法进去。