新手玩嵌入式硬件,用Arduino还是树莓派?分享下我的AI
先言简意赅回答今天的问题,几点我的建议:从Arduino入手,找几个开源项目熟悉开发流程,最重要的是培养兴趣和成就感用什么硬件平台以及工具取决于你想做什么东西,没有万能的工具不要局限自己的知识边界,没有人说玩单片机就不能用树莓派了,电子世界其乐无穷,进一寸有一寸的欢喜
分享下我是如何走上AI之路的。从大二开始入门单片机,硬件至今做了有五六年了;差不多大四的时候开始对Linux和操作系统感兴趣,研究生从EE转到了CS方向;目前在某绿厂AI实验室做深度学习算法方面的研究工作。所以不管是Arduino还是树莓派,我都算玩得比较彻底了。
我个人是个迷你机器人爱好者,本身也是电子专业的,平时很喜欢制作各种机器人项目,也开源了一些东西。
记得Vector机器人刚出没多久就入手了一个,它是目前玩具机器人中最聪明的一个了外观很可爱,传感器也足够丰富(摄像头、麦克风阵列、触摸传感器、红外线传感器、IMU),而且官方很厚道开放了SDK,可以用python自己编程实现一些功能,可玩性尚可。但我在把玩了一个礼拜之后还是把它卖掉了,原因是这么好玩的机器人,我却不能按自己的想法添加修改硬件,不能忍!!
于是我用Arduino做的第一个迷你自平衡机器人蛋黄1。0就诞生了,功能非常简单,就是自平衡(原理跟小米平衡车一样),可以说这个小机器人打开了我之后人生中电子设计路上狂奔的开关,入门了Arduino又自学了STM32,自己写过软件库又焊过各种元件封装的电路板,转眼,已经是5年前的事儿了。
这个小机器人自此打开了我人生中电子设计路上狂奔的开关,入门了Arduino又自学了STM32,自己写过软件库又焊过各种元件封装的电路板,学习了AndroidAPP开发又掌握了3D建模技能之后,终于无法再满足于这样粗制滥造的设计了,于是两年之后的蛋黄迎来了2。0版本的更新Nano,变成了这个样子
这个机器人的制作可以说把当时我所掌握的所有知识都用上了,个人对机器人的小巧属性有谜之偏执,在不自己设计PCB而只是用现成模块拼凑的情况下能做到这个集成度真的可以说已经感动了自己。。。
有了之前的积累,很快蛋黄3。0来了,一个和Vector类似的小机器人小氪诞生了,没有用任何开源ARM板,而是直接基于闲置的Android手机(得益于移动互联网的高速发展现今绝大部分的手机性能都远远强于树莓派),实现了语音对话和视觉功能,这是3年前的我在干的事。
虽说以上蛋黄1。0,2。0,3。0看着复杂,但终归只是8位单片机(也叫MCU)的产物,智能这个词对于单片机的世界来说分量太过沉重了,Arduino、51、MSP430、包括ARM家族的STM32上面的资源都太过于有限,能运行的操作系统也只有深度剪裁优化过的一些RTOS,无法承载复杂编程的需求。
那蛋黄的4。0版本在哪里呢?肯定是朝着集成度更高,更加智能的方向去努力。用树莓派做蛋黄4。0版本的想法是不是合理的呢?树莓派虽说性能不比高通MTK等一票高端SOC,但好歹是运行着Linux的,对于计算机视觉和机器学习来说也有像OpenCV和TensorFlow这样的开源框架支持,做一些智能应用非常合理。
目前我已经毕业,闲暇时间并不如在学校的时候那般充足,而且现在的岗位是做机器学习算法,看似与硬件再并无交集,但是个人对机器人的热爱丝毫没有减少,能亲手从一堆阻容芯片塑料铁皮和杂乱敲下的代码中让一个机器人诞生出来,始终让我觉得有种上帝造人的愉悦
如果对机器人感兴趣,一定要有乐于折腾的精神,前几天看了波士顿动力的Atlas从10年轻蹒跚学步到如今飞檐走壁的视频,真心感觉到热血沸腾。
对于我自己,机器人的躯体之外,我更想做的,也是让它变得更为智能,拥有有趣的灵魂,这也是我投身AI行业的一个原因。AI世界的未来是属于云和边缘的,行业巨头们都纷纷推出自己的边缘计算硬件,大家熟知的树莓派算一个。