更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品
由于树莓派本身的运算能力限制,Diego 1#的制作到上一篇博文应该算是一个里程碑了,后续将基于新的硬件进行开发制作Diego 1# plus,重点会在图像处理上,笔者曾经尝试使用树莓派来做,但经过多次反复试验,即使跑一个人脸识别的代码,树莓派的CPU使用率都在80%上以上,无奈想玩更高级的东西,就的升级硬件了。本文做为一个阶段性的总结,就把Diego 1#制作过程中走过的坑说明下:
1.底盘
Diego1#所使用的底盘,总的来说满足一般机器小车的要求,但也有些不足之处:
a. 动力不足:最大速度只能在0.2m/s,这个是PID输出已经是最大值255了。
b. 稳定性不足:因为需要使用PID对两个电机进行调速,但即使这次调好了,可以走直线,关掉电源,重新打开,可能就又走不了直线了。
c. 通过性不足:原来选用这款底盘,本来是看重通过性的,但实际使用过程中发现通过小台阶的时候非常容易打滑,不管是熟料履带,和金属履带都存在同样的问题。
笔者倒是不准备更换底盘,只是有想法更换驱动马达,大家有什么用的比较好的也可要推荐。
2.树莓派3b
树莓派3b可以说是一个非常适合初学者使用的主板,可以在上面安装Ubuntu 16.04,并且按照Ros kinetic完整版本,对应一般的运动控制器计算能力已经足够,完成基于激光雷达的SLAM,语音识别,都不在话下,但是一旦使用到图像视频处理,就基本上非常卡了,更不用说基于深度相机的SLAM,图像识别,根本就跑不起来了,所以大家要想做图像处理,就不要去踩这个坑了。
3.Arduino UNO
Arduino UNO作为执行层面的控制器,性能已经足够,在Diego1#中都还没有发挥它性能。
4.电源
电源部分一定要把控制和动力电源分开,树莓派使用一般的18650+3A输出的降压模块就可以了,但是机械臂的控制是对电流要求比较高,现在Diego1#中使用7个舵机,虽然舵机标的是每个0.5A的电流,但一旦有堵转电流就直线上升,笔者使用了6A 12V输出的18650电池+10A输出的降压模块,才能保证其在抓取比较轻的物体情况下正常使用,如果电流不足则会出现机械臂乱动不受控制的现象。
5.机械臂
机械臂只是一个模型而已,控制精度就不要要求了,只要能按照控制逻辑动起来就可以了。
总的来说,要想学习ROS机器人,就是要多动手,自己做,会学的很快。
另外后续的文章将重点在个人网站www.diegorobot.com上更新。