机器手臂,可以怎么玩
万能的某宝
就像硬件开发入坑,大部分新人的第一个“项目”是基于某宝网上淘来的的开发板实现的。这些开发板方案成熟,资料详尽,上手相对简单,只要肯下苦功都能学到很多硬件或者嵌入式编程的知识。所以,我选择先去某宝上探探路。在经过仔细搜寻对比以后,我发现网上的开发版本机器手臂控制方案基本有这几种:
- 基于ARM单片机控制方案
- 基于arduino控制方案
- 基于树莓派控制方案
而无论基于哪一种控制方案,其基本原理都可以理解为,上位机或者其他遥控装置发送指令给主控,驱动相应的舵机工作。舵机转动后带动传动杆,驱动机器手的“手指”完成抓取物等动作。为了方便二次开发,不同的方案也选择了不同的预留接口,比如串口、I2C等。也能用下面这个框图简单概括:
关于主控
上述所提的主控方案其实可以区分为两大类,ARM单片机和Arduino方案的本质比较接近,二次开发都是围绕对主控的GPIO进行的。Arduino和ARM单片机相比,就是已经将一些更底层的寄存器封装成库,供扩展的硬件或者嵌入式软件也已经模块化,调用起来更加方便。但是Arduino毕竟还是源自单片机,运算能力有限,在对更复杂的一些数据处理的时候也显得无能为力。假设要开发成图像、语音、指纹识别等加入算法的功能时,这一类的主控方案只能是搭载相应的数据采集器(如摄像头、麦克风),最终数据处理还要透过主板上传到上位机(或者更高级的处理器)去完成。
至于树莓派,由于其是带有linux操作系统的微型计算机,所以我觉得基于树莓派做二次开发更应该归类到上位机软件开发中去。树莓派的CPU性能较单片机更为强大,自身就可以处理算法,做图像识别这种复杂运算,玩法更百变。当然,价格也相较底层开发板更贵。
其他
搭配机械手臂,供应方一般会有一套带基本功能的上位机(手机或者电脑)控制软件,方便做二次开发。当然,一般也会建议使用者根据需求购买体感手套。
体感手套的方案一般也有两种:单片机和Arduino。
而其原理可以理解为,当手指动的时候带动传动杆,拨动控制板上的电位器改变电阻大小。这些数据被手套的主控收集以后通过连接线或者蓝牙模块(无线传输方式)发送到机器手臂的主控上,机器手臂的“手指”就会随着戴着手套的手指一起完成动作。有一些自由度高(这属于结构知识点)的机械手臂还能在倾角传感器的作用下跟着控制者手腕的转动一起转。
至此,应该基本上完成了某宝常见的(消费类)仿生机械手臂方案浅谈。原创码字,如有错漏,我也不知道怎么办。。。