马峥华
来自iCenter Wiki
Day 1
- 作为课程的第一天,以引入和介绍为主。主要学习以下内容:
- 双足行走机器人和乐聚机器人公司简介
- 双足行走机器人的应用范围较轮式机器人更广,可以适应复杂的地面环境。技术要求也更复杂,例如控制平衡,抗扰动。
- 观察机器人
- 包含16个舵机。通过在关机状态下观察,我直观地了解到舵机控制的对象,舵机相当于可以180度旋转的轴,模拟人体的关节。16个舵机组合起来,就能模仿双足行走的动作,
并且做出多种姿势。
- 陀螺仪开启时能够进入“不倒翁”模式。
- 编程软件的安装和基本介绍
- 插入动作,新建动作,基本编程语句
Day 2
- 学习内容
- 调整参数的方法插入动作
- 基本的编程语句和语法;动作关键帧;
- 以“金鸡独立”和“俯卧撑”两个动作为例体验由关键帧编写动作的过程
- 学习体验
- 昨天查看代码时,发现与之前金工实习时接触过的机床很相似,给定初始结尾位置的“坐标”和移动速度,自动生成补间动作。但含有16个舵机的双足行走的机器人更加复杂,
对重心的把握是重点。第一个动作“金鸡独立”,为了保持机器人在动作过程中不倒,必须在初末位置中间加入数个关键帧。第二个动作“俯卧撑”的难点是机器人从俯卧姿势再次站立。这个过程不仅涉及姿势上的微调,还涉及舵机移动的速度。在某些步骤放慢或加快,会得到不同的效果。今天的操作给了我直观的感受:控制双足行走机器人的腿部平衡不是那么容易的。
- 每一台机器人都是不同的,它是一个实际的物体,由实际的舵机、导线、外壳拼接组成,不是纸上的一个电气元件。这个都明白,但这能说明什么呢?理论计算的结果和理想化的
分析很可能与实际情况不符。今天的第一个动作“金鸡独立”,在插入第一个关键帧(稍微抬脚)时,本该向右侧偏斜的机器人向左偏斜。我发现在这个状态下向左和向右都能达到稳定状态,似乎没有必然的理由一定会向哪一侧偏斜。我认为这与它初始状态的重心有关。我将这个动作再拆分,插入更多关键帧,问题得到解决。一个“完美”的程序,机器人在实际运行的过程中也总会出现这样那样的偏差。一方面,这需要我们根据自己的机器人进行调试。另一方面,这也促成了传感器,容错机制,维持稳定性等领域的研究。
- 为了让倒地的机器人站起来,不同的人会有不同的方法。这些方法的稳定性,效率,实用性也存在不同。自己花了很长时间慢慢实验出来的方法,与公司封装的方法相比还差得
很远。公司的新方法更是非常巧妙。实现一个动作需要对姿势和速度的调节有熟练掌握并有一定的经验,这要在今后几天逐渐训练吧。
- 问题
- 本机器人能实现很多功能,但是在操作、探测、运行精密度上还存在一些不便。机器人的动作性能受地面性质影响很大。
- 观看了机器人竞赛的视频后,我们发现机器人在传感器探测等方面还有一些限制。理论上,借助探测范围为锥面的红外距离传感器和比较精确的步态控制(每步距离一致),
“头撞不到强但肩膀撞墙”的问题是可以解决的。
- 这两天主要使用了简易版软件,教育版软件有更多的功能,更丰富的动作代码,明天开始探索新世界。
Day 3
- 应用前两天所学知识编写一段机器人舞蹈,进一步熟悉编程各项操作。
- 熟悉足球赛场地,足球赛分组。
Day 4
- 学习内容
- 编写足球比赛所需的快走,转向,守门,踢等动作
- 学习教育版软件,学习传感器的使用
- 学习体验
- 经过之前动作的编程和因音乐舞蹈的编写,感受到编写机器人动作的复杂性。在一些场合,要完成机器人集体舞蹈则更有挑战性,不仅要保证完成动作,还要保证所有机器人动作一致,
这需要经过多次的调试。我比较好奇实际中用的调试方法是什么(例如上百个机器人同时跳舞的任务),可能出现的意外太多,是否有其他解决方案?
- 今天在编写踢球动作时,在桌上尝试时能够完整做出踢球动作,在“足球场”上则不能完成。会出现诸如手打到球,极易摔倒等问题。原因在于场地粗糙程度与桌面不同,球相对机器人过大。
- 在使用教育版的软件时,我发现传感器在灵敏度(探测的灵敏度,信息处理的速度)存在不足,因此在设计程序时需要考虑“容错”。
Day 5
- 继续机器人足球动作的编程。足球比赛是要求争分夺秒的,在我们的比赛中能“先抢到球”非常关键。我认为编写稳定的,快速的前后移动。左右移动很重要。如果直接使用系统自带的动作,会有一定的的延迟。
- 踢球的动作还需要优化,包括“正踢”,侧踢等。