查看原文
其他

我用废旧的Android手机做了个机器人

点击蓝字关注☞ 刘望舒 2022-06-29


作者:稚晖
链接:https://www.zhihu.com/people/zhi-hui-64-54

做...做成机器人?

比如像这样↓


图片看不出来效果,给你看视频!


难道没有人觉得智能手机是近乎完美的机器人开发平台吗?


仔细想想,现在的Android手机具备用作机器人开发平台的几乎一切要素:

  • 高性能低功耗的嵌入式处理器

  • 丰富的传感器(陀螺仪、加速度计、光线传感器、红外传感器、麦克风...)

  • 易于扩展的接口(USB-Host、蓝牙、WiFi)

  • 方便的调试工具链(ADB、USB、高清大屏)

  • 基于Linux的Android开源系统

  • ...

更何况,Android的字面意思,就是“机器人”啊!!!图标也是机器人
好了言归正传,接下来我会介绍一下我是产生这个大胆的想法,并付诸实践的~
众所周知,智能手机其实就是一台微型电脑系统,得益于移动互联网玩了命似的快速发展,智能手机的更新迭代速度可谓是一骑绝尘。有市场的地方就有技术突破,这些年移动Soc的升级速度也是紧跟着坐上了快车,如今2019年旗舰的Soc(以高通骁龙855为例)最高主频已经达到了2.84GHz这样恐怖的数字。更何况还有CPU架构的巨大改进以及GPU、NPU、DSP等各种异构能力加成,对于嵌入式硬件来说,实在是非常合适的开发平台。
有想法之后就该制定方案了,个人对小巧精致的物品有蜜汁执念,以前也用单片机做过很多有趣的小机器人项目。
可以看到,虽然用性能羸弱的单片机,也能做一些简单的控制,但是对于像是语音、视觉、流媒体之类的复杂功能,对连MMU单元和操作系统都没有的芯片来说实在是强人所难。
现在有Android手机作为机器人的大脑,那事情就有趣起来了。如上面所分析,Android智能手机作为机器人开发平台的潜力无限,只是有一个缺点:
手机它不会动啊。

是的,作为资深极客,面对这样的问题自然是要脑洞大开,首先让我们来给它设计一个“身体”↓


模型使用3D打印制作出来。然后我们需要设计机电模块,来控制Android手机机器人底座的电机,实现自由运动。这里我自己绘制了一块PCB电路板,通过USB接口或者蓝牙与手机通信↓


然后Android手机我用的是一台闲置的Moto RAZR M,系统是Android 5.0,当年超窄边框非常经典的机型~


组合到一起,就是这个效果↓


ok,剩下的工作,就是在Android上进行APP开发,充分利用各种传感器和网络功能,以及手机的强大运算能力,来实现我要的效果。


机器人的虚拟形象使用了Cortana的模型;NLP功能主要是使用讯飞开放平台实现;CV部分基于OpenCV和JNI开发;视频中语音有两种唤醒方式,关键词唤醒和利用手机额头的距离传感器唤醒;智能家居的网关是自己设计的,基于ESP系列的WiFi芯片...

最终实现的效果如下↓


这其中技术细节太多,就不一一讲解了,感兴趣的可以参考下面的技术路线导图↓

可以说很好地符合了题主的要求,用闲置Android做机器人,有趣,极客,且路子野。


----------  END  ----------

重磅!后厂技术官-技术交流群已成立
扫码可添加后厂技术官助手,可申请加入后厂技术官大群和细分方向群,细分方向已涵盖:Java、Python、机器学习、大数据、人工智能等群。一定要备注:开发方向+地点+学校/公司+昵称(如Java开发+北京+快手+阿信),根据格式备注,可更快被通过且邀请进群
▲长按加群

推荐阅读

•  重磅!阿里巴巴推出国产开源的JDK

•  美团外卖Flutter动态化实践

•  任正非:华为没有 996,更没有 007!

•  真香!红色警戒游戏源代码被开源了!

•  HTTP/3 来了 !


推荐一个技术号


Github实验室,由国内一线大厂专家、985博士、硕士组成的团体运营。主要分享和研究业界实用、有趣的开源项目,学习资源,开发工具,学术交流。

关注就无套路送你一份5000页Java面试最强合集PDF。

长按二维码识别关注


最近面试BAT,整理一份面试资料大厂Java面试通关指北,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 BAT 领取,更多内容陆续奉上。如有收获,点个在看,诚挚感谢明天见(。・ω・。)ノ♡

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存