Jul 4, 2008

一路走来(切题得一塌糊涂)

  有多少人还记得自己小时候学走路时一路的跌跌撞撞??
  我已经不记得了,或者是从来没有记起过,也正因为这样,我总认为既然我走路没有问题,当然我教人走路也没有问题;既然教人走路没有问题,那教机器人走路也一定没有问题。
  囧·····
  可是事实不是这样的····

  暑假终于是结束了,有机会可以回过头来认真的回想一下过去的点点滴滴。

  先介绍一下我们实验室的机器人。日本V-Stone公司的产品(没法子,日本人在机器人这方面确实做得很好),身上17个servomotor(17个自由度)分布是这样的。两条腿各5个,两条胳膊各3个,加个脑袋。整体来说这款humanoid robot还是比较出色的
   因为出色,所以·····难玩·····李博士就对我们说过,关节算法不是小本可以玩得起的~~~都是博士的课题······可是还是要调的,因为我们是小本,所以我们缺少谨慎的考虑因此我们有更多的创造力和韧性。因此很快的,李老大的那句不怎么振奋人心的话就被我们抛到脑后了。
   OH YEAH,大学的最后一个暑假就这样的开始了。


   由于机械组不知道舵机有初始位的(失误啊),所以他们都不给CPU Board上电就直接的把机器人组装好了。所以我们只好把原先装好的机器人重新大卸八块,挨个把舵机初始化好后装上去。这可是个苦差事啊。
   因为这是个仿人机器人,所以对加电后初始状态有很高的要求:脚掌舵机需为水平;小腿关节(x1),大腿关节(x2)这三个电机加电后必须保证转轴中心在一条垂线上;盆骨关节电机要求水平;手臂的标准难以测定,但是最低要求是所有手臂电机在极限位置不应该卡死,还要求两手臂对称···终于充分的认识到了标准的重要性,标准可以让以后的工作更好的开展。要不然,从一开始我们所面对的就是个畸形产物,就无法继续做下去,或者越做越糟糕。

   调整舵机的那段时间里真让人感觉是在地狱里走了一回,在崩溃的边缘挣扎(想象看,舵机的转轴上那么多密密麻麻的小齿)···舵机(servomotor)这玩意,太脆弱了,我相信负责调动作的四人小组里人人心里都会这么犯嘀咕。举例子来说吧:
   欧阳兄就上错了一个螺丝(M24上成M25),由于M25比较长,舵机自己卡住了,就那么几秒钟时间,一股青烟升起······囧······烧了·····拆开一看,电路板烧了·····
   CD兄正在调一个走路动作,抬起了左腿(重心已经移动到右腿了),就这么坚持了一会儿,他正在调两腿间距呢,突然间,又是一股青烟升起······囧·····又烧了······拆开一看,还是电路板上黑了一大块·····我们可爱的舵机啊······只有4个舵机备用,两天内就牺牲了一半了,这速度·····
   这时候我们才细细品味6月份到访的日本UEC Aoyama教授用英语想我们讲述的这段话,也是这时候我们才发现他说得真是太经典太生动了:Be careful when the robot walks . If you don't , some servomotors will burn out and you will find some smoke rise······
   小心小心再小心,舵机就是这么脆弱,一旦阻塞就容易发热,一旦发热,就要烧舵机的。舵机还是比较贵的,所以不可能尽情的烧的······烧的可都是人民币啊,这个想法一直延续至今·······我想对于实验室新招的那些成员,更是要强调这些。

   回到调试这里(顿时跳过了一段艰苦岁月进入一段相对少艰苦一点的岁月),终于把机器人弄得站起来了。加电后小家伙终于站起来了,RobotX到那时才正式出生呢。可是这小娃娃,只能站着,不会走路·····
   接下来,还没来得及喘口气,又开始新的征途,走路
   
   人是怎么样走路的呢?几个学生很激烈的讨论这个问题的场景实在很少见吧,而我们要弄清楚的正是这样一个已经被忽略了的问题。经过讨论我们制定的一套方案是:
   准备动作:先屈膝,重心前移一定距离,上身前倾
   走路动作:每次走路,应先把重心移动到一腿,抬起另一腿,前移,落下,重心移到该腿上,抬起原先重心所在腿,前移,落下,然后重复。
    制定了这个方案后我们还第一次认清了人原来不是走直线的啊,呵呵~~~~~

    方案总是越简单越实用越好,可是,实际做起来总是不断的有问题冒出来。
    按照我们的方案,出现了一个问题,就是,舵机承重时会有一定的偏移角,而这角度是因舵机而异的,所以,调整机器人走路时是绝对不对称的,而且,很不对称。另外一个问题是,走直线成了一件很难很难的事。人走路时是靠眼睛来修正路线的,而机器人只能靠走过一小段路后停下来调整方向,这样做还不如把走路和调整方向分开来得实际,所以我们前前后后做了很多个动作模块。前进,后退,左平移,右平移,大(小)角度左右转·······使用这些模块我们基本可以走到一个预期的地方,得到一个预期的站立姿态(因为还有下蹲取物的动作),不过终于是做完了。

    接下来就要开始联调了。九月底老板们要来看货了,要在那之前调好。不过,我们已经把所有动作做出来并调试过了,这回应该可以轻松一点了吧(重复了无数次的猜想)

   

No comments:

Powered By Blogger