宋诗雨
在2016年机器人奥林匹克中国区的比赛中,我参加了人形机器人挑战项目的比赛,并获得中学组的冠军。回顾比赛,一幕幕仍历历在目。
按照比赛规则要求,此次人形机器人挑战项目包括投掷和竞走,两者综合成绩为参赛选手的最终成绩。
人形机器人投掷项目比的是机器人投掷物块的远近。通过观察,我发现机器人的投掷成绩在比赛中几乎起到决定性的作用,是拉开比分的关键。投掷程序的编写很简单,无非是弯腿、向后调整重心,同时向后摆臂,手臂向前摆动,掷出物块。这是在赛场上最常用的一套程序,这套程序能取得的成绩最远是30厘米,而投掷成绩的满分却是130厘米。很显然,按照以往的编程操作,不会有非常理想的成绩。
我试着用物理知识来分析投掷过程。在最初的投掷程序中,机器人虽然有一定的初速度,但机器人的手臂给物块的力很小,导致物块的加速度很小。比赛对机器人的高度有限制,不能超过50厘米。投掷的瞬间,物体所处的高度恒定,所以在空中运动的时间恒定,而初速度不变,因此只要加大物体的加速度就可以加大物块的水平位移。在物块质量不变的前提下,加大物块的加速度就需要加大机器人的手臂给物块的力。
找到了问题的根源,剩下的任务就迎刃而解了。在老師的帮助下,我将原有机器人的胳膊换成软尺,当机器人的一只手臂勾住另一只手臂并使之有较大幅度的弯曲时,将物块放在机器人的手臂上,两只手臂松开的瞬间,物块弹出,因为受到较大的弹力的作用,物块可以飞出很远,甚至能超过150厘米。
就这样,我轻松地拿到了这个项目的满分。
接下来进行的是人形机器人的竞走项目。该项目要求人形机器人走完160厘米路程,用时最短者胜出。
机器人走路程序的编程最麻烦,主要表现在以下几个方面:机器人走路时很难找准重心,容易走歪。调整机器人的速度时要很谨慎,不同的动作对速度的要求不同。比如在踢腿时,速度可尽量调快,但在机器人转移重心时要放慢速度,“稳”为上策。
我在比赛现场发现了两种走路方法:一种是大踏步式,程序约为10步。先让机器人的重心完全落在右腿上,抬右腿踢出,落脚。接着调整重心到左腿,抬左腿踢出,落脚。再转移重心到右腿,抬右腿……如此进行循环。这样走路迈出的步子大,但频率慢,重心不好找,要求选手对机器人的掌控能力很高。
另一种方法是小碎步,每次只迈出一小步,这种走路方式虽然步子小,但频率极快,重心很好找。
在赛场上,大踏步式走路方式的最短用时是17秒,而小碎步的最短用时是11秒,并且比大踏步式的走路稳得多,也不易发生偏转。
当然,两种走路方式各有优缺点,无论哪种方式,最重要的还是参赛选手的内心素养和整体实力。
我想起了一位参赛选手的话:“调控机器人的过程就是发现问题、解决问题的过程,要追求极致,努力做到完美。”不论是人形机器人的投掷还是竞走,都需要有直面问题的韧劲和追求完美的执著。(指导老师:徐勤波)