沈一华
经71 2017013016
Day 1
初步熟悉Aelos机器人和开发环境,尝试加载和调整机器人手和脚的基本动作
感受到了Robotics的神奇
Day 2
主要学习了机器人动作设计方法(手工扭转+舵值调整),完成了金鸡独立、大鹏展翅、俯卧撑等难度逐渐增大的动作,在调整重心方面有了更多体会。
设计这些动作的关键在于插入关键帧的合理性,这需要逐步探索,从理论到实践的应用过程很有难度。今天更加熟悉了机器人的基本操作,但是处理动作的稳定性和优美感真的很难,还需慢慢探索。感觉自己过去在机械结构方面的了解很少,所以有时较难很好控制机器人。
和一开始设想的不太一样的地方是,比起纯粹的写代码,这次机器人实践似乎更需要实际操作中的调整和对机械结构与重心问题的理解。这一方面让编程能力并不太好的我稍稍松一口气,另一方面又给我带来一个新的难题:如何更好熟悉机器人舵机的角度,调整好它的重心使其更稳定。进行了初步尝试后,稍稍有了些感觉,希望今后的尝试能让我更加熟练,让机器人更稳定。
DAY 3
应用之前所学知识自编舞蹈
发现编动作在关键帧的插入方面很有学问,看了库里的动作往往一个简单的动作就会有很多关键帧插入,使得动作该快的地方快,该慢的地方也慢下来使极其足够稳定并在关节部分更接近人。由于编舞蹈自己凭空想动作,一开始想象力匮乏,只想出来一些手和脚的基本晃动,再加上自己编的动作因为关键帧的问题往往机器人完成得很快,很“草率”,一些人体的扭动感很难表现出来。
在自己摸索的过程中也发现了许多技巧,比如由于我刚开始两手两脚离得太近,机器人一直卡到自己的手脚,会不稳定,之后的过程中就注意尽量让每个关键帧都发挥自己合理而稳定的作用。
DAY 4
1.尝试编写足球赛的相关动作(快走,转向,踢等),在不同的场地上机器人的运动方式有较明显的不同,所以应该多测试。机器人的速度和重心平衡等问题似乎是相互影响的,在设计动作的过程中都要考虑到。
2.学习教育版软件的使用。教育版软件使用流程图的形式,我们主要尝试了不同传感器的使用,包括运用内置的红外传感器感知前方障碍物、用地磁传感器使机器人能够超特定方向移动、用火焰传感器和风扇进行机器人自动灭火等。
在传感器使用方面发现它的探测和反应并不是绝对精确的,因此在编程的过程中要给程序留有余地,许多地方采用区间的形式。
不过传感器一旦用好之后真的特别有用,未来机器人的应用一定会建立在传感器的合理使用的基础上。
Day 5
全面进入编足球赛动作的进程中。
由于我们只有12个按键可以使用,对动作的设计分配就必须合理、精简且有力。初步设计的必要动作包括快走快退、原地转圈、左移右移、左右下铲(这个貌似特别有用,既能守门又能侧踢,还有一些意想不到的效果)、前后倒地起身(必不可少)等等。左右移动转弯之类这些动作速度要快且精准。
如果能把一些动作自动连接起来效果会更好,比如走几步踢一脚,左右移动或转向后踢一脚之类的,但是程序上似乎很容易出bug并且导致机器人不稳。实际操作中能明显感到如果中途要停止机器人运动换新动作需按back再等机器人反应过来,十分缓慢且不灵敏,而且一旦按错键后会引起时间上的很大浪费,所以程序还需不断优化。足球赛对机器人的动作性能要求极高,要想发挥出色一定要编好高效率高精准的动作。
Day 6
进一步调整机器人动作,合理分配自己遥控器上按键控制的动作,初步熟悉操作。
由于机器人零点位置不同,有些动作必须要自己不断调整参数才能使机器人做得更好。不过感觉一旦到了足球场上机器人都围在一起了之后精确似乎并不是最重要的,更重要的似乎是速度和力度,但是这很难实现。
确定了守门员的身份后似乎需要的动作减少了。按理来说守门的话一个劈叉守门似乎可以应对一切,加上左右的下铲会更加完备。理论上三个机器人一起站在球门口的话对方几乎不可能进球,但实际操作上机器人肯定都会到场地中间去,所以进球可能性还是很大的。
Day 7
一场模拟比赛
机器人互相碰撞十分凶猛,与足球赛相比似乎更像拳击赛。实际操作中可以发现有些动作之前编得不太合理,还要继续微调。此外,要尽量注意自己机器人的位置,避免被推出场外这样的事情出现。
由于控制机器人不熟练,经常出现一些小bug,比如自己站在自己球门口,把对方推过来的球自己用脚推进自己的球门,十分尴尬了。但是有一些球确实很难处理,机器人的种种行为似乎不完全在我的掌控之中,这一方面要进一步完善程序,另一方面也要提高实际操作手柄的能力,找到合理的站位和踢球角度,合理运用自己所有的各种姿势。
从比赛观察来看,很容易把球打成死球,然后互相打对方机器人。不知有没有办法能将死球救活,比如左右各铲一下,但是一直在边缘移动会有很大的被推出场外的风险。
明天加油鸭!
Day 8
乐聚机器人足球比赛
比赛场面十分“壮观”,感觉基本是机器人挤在一起,搞不到球的话就运用前倒地起身等动作互撞。昨天的比赛中被挤出场地后我今天突然发现完全可以通过前倒地起身让机器人再翻进来继续比赛(再一次证明了前倒地起身动作的伟大)。
前半场的时候一开始感觉守门员似乎一直呆在球门口会很无聊,所以就往前走参与到踢球过程中。然而没想到一直被撞倒,导致未能及时返回球门口,让对方进了一个球。十分愧疚.jpg
在这一过程中,发现两个机器人互碰时后倒地远比前倒地吃亏,所以后半场时更注意运用前倒地起身这个动作,发现这个动作能有许多意想不到的效果(各种撞球之类的)。整场比赛中球经常被踢入死角,此时机器人便进入了一种互撞状态,以把对方球员撞出场外后再去管球为基本策略。上半场的时候我的机器人一直被撞倒,所以下半场我便更加关注这一点,尽量不要站在太靠边的地方,同时对于对方机器人的蓄意靠近保持警惕,在恰当时机赶紧行动。
总体上感觉从场地大小来看,如果机器人2对2可能效果会更好,3对3感觉大家都挤在一起。因为机器人踢球的射程真的很小,所以一堆机器人围着一个小球很可能就变成先把人撞倒后再行动的操作。总体而言,今天比赛的主要收获在于发现自己手柄的操作更加娴熟,对机器人的控制也更加“合我意”。不足之处在于前半场没守好门,未对对方的攻击作出合理的应对。
总结:
这次挑战单元的实践,其实是我初次真正接触机器人,虽然在各个方面都不太熟练也有一些bug出现,但总体而言非常感谢这门课给我一个参与到机器人实践中的机会,在多方面增长了知识,也提高了动手操作的能力。在舞蹈和足球赛的实践过程中对机器人的编写和操作都更加熟练,也渐渐对这个领域产生了更浓厚的兴趣。希望今后有机会更进一步地学习~