黑客父亲将 3D 打印机,改造成桌上冰球机器人
Jose Julio 是一名黑客,同时作为机器械爱好者,他也有过一些机器人项目的经验。话说有一次 Julio 想做一部属于自己的 3D 打印机,但当他从 3D 打印机爱好者论坛 RepRap 买来一切所需的部件后,却有东西让他改变主意了。
原因是 Julio 的爱女很喜欢那种游乐园里面的桌上冰球游戏,为满足女儿心愿的 Julio 灵机一动:步进马达、驱动器、轴承、控制机械部件运作的电路板、甚至是运送喷头的传送带都已经集齐了,以上这些原本为 3D 打印而设的部件,同时难道不也是桌上冰球机器人的基本材料?
于是这位有爱的黑客爸爸就开始动工了。和 3D 打印机最大的不同是,桌上冰球需要一张桌子,Julio 买来了便宜的木板做成了一张 100 x 60 cm 的木桌。然后为了实现桌上冰球上气流问题,经过一轮实验,他发现有一个方法即简单而成本足够低:只需要两只二手 PC 风扇,另外他在这块木板上钻下均匀的小孔,这样整个表面就成为一个有气流浮动的桌面冰球桌了。
不过整个项目最大的挑战仍然是机器人部分,Julio 采用的是三马达设计(两个负责 Y 轴移动,另外一个负责 X 移动),负责打球的机器人则安装在本来是为 3D 打印机而设的传送带上。为了让整条传送带足够耐用以及让机器人身手足够快捷,Julio 在材料上作了一些改动,比如他将运送带上的金属支架,换成从风筝上取下来的碳纤管,这样做能大大减低机器人的重量。
至于软件方面,Julio 就不能使用 RepRap 提供的驱动了。因为冰球机器人和 3D 打印喷头的行动特点最大的不同是,前者需要不停地调整自己的位置,根据冰球的轨迹接受新的加速度和路标命令,而后者仅仅是一个均匀的点对点运动。所以 Julio 用精简的 Arduino 语言驱动步进马达,以保证机器人能够以极高速度的情况下灵活运作。
传感器方面,Julio 本来想采用 Pixy 传感器,但最后他还是决定选择 PS3 上玩动作感应游戏所用的摄像头 PS EYE 来代替。
整部冰球机器人的工作大致可以实现了:游戏用的冰球被涂上特定的颜色用于传感器识别,高达刷新帧率 60Hz 的 PS EYE 则负责捕捉冰球的轨迹,之后通过电脑计算后驱动机器人撞击冰球。而且 Julio 提到这对摄像机的畸变要求很高,所幸这部 PS EYE 虽然分辨率非常低(320 x 240),但几乎没有畸变。
对于一部合格的冰球机器人来说,需要透过摄像头拍下两个特定帧数内冰球的位移,从而计算出冰球的轨迹,而且对于桌上冰球来说,还需要考虑到球撞击到墙后的运动轨迹,所以这花了这位黑客爸爸的一些功夫。
不过目前来说,Julio 对这部冰球机器人还是十分满意的,因为他使用的都是现成、低廉的材料,而且整个系统安装十分容易,机器人要从桌面移除也只要六根螺丝。
目前这个冰球机器人还在不断改进之中,它的水平可以轻松击败一个小孩(难度还可以调低),但如果是一个有技术的成年人的话(他强调是他自己),要赢分还是不难的。Julio 表示将来会继续完善这部机器人的稳定性和功能,以及加入比赛规则等功能,甚至以后他会再做一部姐妹机,实现机器人在冰球场上对打。
不过他认为最重要的,是对于这次整个项目一直陪伴在身边的女儿来说,一定受益不浅!
最后奉上 Julio 亲自录制的机器人视频,如果你也有兴趣做一个,可点击他的个人博客获取详细步骤。
题图来自:gametablesonline