如果可以选择,你会想要一辆自动驾驶汽车、一套自动炒菜的厨房设备和几台能够互相配合的清洁机器人,还是会选择一个能把以上事情都包办的仿人机器人?
现在就有科学家想让仿人机器人学习科目三!不过不是跳科目三,而是正儿八经地学开车。
仿人机器人开车的姿势能有多狂野?仿人机器人才不会乖乖地双手握住方向盘,而是单手操控方向盘。要抓方向盘,就需要手和方向盘之间有足够的摩擦力。于是,北京理工大学仿人机器人研究团队最近提出了一种由摩擦力驱动的仿人机器人驾驶方法。相关研究以“A Friction-Driven Strategy for Agile Steering Wheel Manipulation by Humanoid Robots”为题,发表在中国科技期刊卓越行动计划高起点新刊Cyborg and Bionic Systems上。
想象一下,那些坐在驾驶座上的人,他们的关节有的转动得多,有的转动得少,这个差别其实关系到仿人机器人要如何在狭小空间内驾驶。
还有人转动方向盘的速度。人在参加赛车比赛时可以快速地转动方向盘。不过如果机器人把方向盘转得太快,有可能机器人从方向盘上脱手。
所以经过一番研究,研究团队为仿人机器人驾驶设计了一种新的“单手摩擦”策略。这不是为了耍酷,而是为了让机器人像人类一样灵活驾驶。
研究人员构建了一个方向盘阻力扭矩模型,让仿人机器人能像人类一样通过摩擦来控制方向盘。这个模型能够防止机器人打滑,还能保持控制。为了弄清楚这个模型怎么工作,研究人员还做了实验,把方向盘的状态(比如位置和角速度)跟相应的阻力扭矩联系起来。
他们用卡尔曼滤波器组合了机器人关节编码器、末端的6轴的力/扭矩传感器和摄像头视觉跟踪的数据,来得到更准确的位置信息。
他们设定了一个摩擦阈值,用来找出防滑的数据点。数据里有些异常值,他们用Grubbs的测试方法把这些异常值去掉了。根据处理过的数据,他们画出了方向盘转动方向不变时的扭矩和位置的关系图。为了让仿人机器人更顺畅地改变方向盘转动方向,他们还设计了一个特殊的切换函数。
仿人机器人要是一把捏下去,不知轻重,就会弄坏方向盘。所以操碎了心的研究人员提出了一个控制框架,使仿人机器人在操纵方向盘时,能精确控制末端执行器姿态以跟踪方向盘角度,并使用适当的力度。
这个框架有两个优化任务。末端执行器任务试图将当前测量的车轮角度与目标参考角度之间的误差最小化,将它们的运动联系起来,并惩罚偏离期望的末端执行器状态。
导纳任务试图将测量的接触力与目标参考之间的误差最小化,根据建模值确定目标力量,并使用比例增益转换为所需的速度,以防止突然移动。在每个控制时间步同时解决这两个问题,实现两个关键目标:精确跟踪目标轮角度和应用适当的力量。这使得仿人机器人能够逼真地模拟单手人类转向行为。
这一通操作之后,效果究竟怎么样?研究人员做了个实验,仿人机器人操纵方向盘,让它驾驶汽车绕过障碍物。这个机器人手臂上装了个6轴的力/扭矩传感器,还加了个被动摩擦板。为了记录数据,还用了视觉标记和摄像头来测量方向盘的角度。
实验里,仿人机器人驾驶汽车走了一个S形的弯道。它用腿来踩油门和刹车,同时记录了方向盘的角度、旋转速度和接触力的比例。
结果发现,仿人机器人转方向盘的速度超快,每秒能转超过2弧度!接触力的比例都在安全范围内,没有超过静摩擦系数的80%,所以没打滑。
在初步测试时,早早地意识到需要改变方向,仿人机器人就能在1.1秒内把方向盘的转动速度从顺时针2.83弧度/秒调整到了逆时针2.55弧度/秒。可以看出控制框架表现得很好!
总的来说,这个实验证明了提出的摩擦驱动策略很有效。仿人机器人能像人类一样平稳地操纵车辆,完成避障机动。