自研机器人协调控制系统,挑战部分波士顿动力实验效果
- 一.系统简介
- 功能
- 使用
- 实验
- 二.详细实验解读
- 波士顿动力近似试验1:空间定点
- 自定义试验1:太极云手
- 自定义试验2:醉鬼
- 自定义试验3:边转边走
- 自定义试验4:平移
- 自定义试验5:自动变向
- 波士顿动力近似试验2:过独木桥
- 波士顿动力近似实验3:走桩
- 波士顿动力近似实验4:看点绕圈
- 波士顿动力近似实验5:上下楼梯
- 自定义试验6:行走模式切换
- 波士顿动力近似实验6:四足慢速行走
- 自定义试验7:平衡同时运动
- 波士顿动力近似实验7:斜坡运动
- 三.补充说明:
这是完整实验效果的视频链接: 机器人协调控制系统实验效果.
一.系统简介
功能
这是我自主研发的六足控制系统,全部python实现,已经实现的功能包括:六足协调运动,四足协调运动,手部精确控制,头部云台控制,自动转向,地图导入,自动水平归位等功能。
使用
只需告诉机器最终希望达到什么状态,系统会自动生成中间的所有动作,用最自然地方式达到目标状态,并且可以中途修改决策,系统自动衔接新的动作。所有指令均抽象到scratch水平,与控制小车运动一样简单,而且可以精确到环境坐标。
实验
基于这套控制系统,我设计了几个实验,包括挑战7个近似波士顿动力的实验效果、7个自定义实验效果,所有实验均为控制系统的不同决策组合生成。
二.详细实验解读
注:我的协调控制系统,能够自动判断行走细节,包括落地足能牢牢抓住地面不打滑,这在每一个实验中基本都做到了,所以不在赘述。
波士顿动力近似试验1:空间定点
6足机器人4足站立,腾出2足做手,分别指向身体两侧空中点位,任意摇晃身体,同时锁定所有足尖的坐标不动。类似波士顿动力机器狗展示过的实验,扭动身体,同时锁定空间某一点,不发生移动。本实验重点展示本系统的精确坐标控制功能。
自定义试验1:太极云手
在后4足落地模式下,2只前足可作为手控制,这里展示了控制两手,反向画圈的云手效果,并且增加身体对应扭动,头部始终锁定更高的足尖位置。本实验重点展示本系统的手部独立控制功能。
自定义试验2:醉鬼
行走过程中,身体保持偏航角不动,不断扭转滚转角和俯仰角,仿佛醉鬼走路。本实验重点展示本系统允许身体扭动决策与行走决策同时执行,并且互不影响。
自定义试验3:边转边走
身体偏航角旋转同时,沿着指定方向匀速前进。本实验重点展示本系统可以自动配合身体的偏航角变化,修改各足运动方案,使移动决策和转身决策能够同时进行,互不影响。
自定义试验4:平移
保持身体角度不动,走一个正方形。本实验重点展示本系统支持身体锁定朝着某个方向,并且依然可以准确控制身体进行任意位移。
自定义试验5:自动变向
在移动的同时,身体自然转到运动方向。本实验重点展示本系统支持身体自动跟随运动调整角度,这符合自然界动物的运动习惯。
波士顿动力近似试验2:过独木桥
导入独木桥地形(两桥间隔略大于6足预设间距),行走时各足落地点,限制在桥上。由于这台机器人,不可能尝试2足行走,因此本实验引入两个独木桥,难度远低于波士顿动力双足机器人走独木桥实验。本实验重点展示本系统支持机器人的在很窄的轨道上行走。
波士顿动力近似实验3:走桩
导入木桩地形,间隔5厘米,设置5*5的方块落足区域。同样类似波士顿动力双足机器人,在有限选择落脚点的区域中行走,由于无需考虑2足的平衡问题,本实验难度也远低于波士顿动力双足机器人走桩实验。本实验重点展示本系统支持机器人的在前进方向被限制落点,可以自动生成踩着桩位行走的动作。
波士顿动力近似实验4:看点绕圈
近似模仿波士顿动力机器狗实验:绕圈走时依然可以将头部精确锁定在空间某一位置。本系统可以做到身体绕行一周,头部摄像头始终盯着中心一点看。(视频中的实验效果有待完善:因为身体累计误差和陀螺仪延迟矫正,导致一周最后几个转弯并未走好。)
波士顿动力近似实验5:上下楼梯
导入楼梯地形,自动完成地形的运动优化,并协调身体和腿部,完成台阶上下行走。同样类似波士顿动力机器狗爬楼,这一次我额外增加要求,爬楼时保持身体水平,这样未来可应用于很多载人场合。因此每上一个台阶,本系统都会预先抬高身体。由于当前机器人的腿较短,并且足尖结构导致有效角度不能太平,我降低了台阶高度,以确保足尖落地而不是腿骨架落地(后者将破坏精确控制)。但即使如此,视频中,由于腿的长度不足,依然发生了滑动,导致下楼的判断,有了1~2厘米的偏差,出现了些许不自然。
本实验重点展示本系统支持多平面地形的移动,并且能够自动生成多平面的行走过渡方案。
自定义试验6:行走模式切换
在预设的几种不同行走模式之间,灵活切换。本实验验证本系统,可以通过决策,切换到任意运动模式,并且切换过程同样自然生成,无需重启相关线程,全过程运动无缝衔接。
波士顿动力近似实验6:四足慢速行走
4足行走模式,抬起中间两足,使机器人只有4足落地,进行4足行走。由于机器人配重并不均衡,加上各机械臂重量较重,以及舵机受力时达到厘米级形变误差,慢速行走时抬腿很容易引发全身重心飘移,因此我引入了较显著的左右补偿运动,用于补救重心的晃动误差。这一点上,我认为,波士顿动力机器狗在被设计时已经优化过配重,因此可以忽视很多腿部运动带来的重心问题。这也是我放弃尝试快速跑动的原因之一,硬件差距实在太大了,光靠算法编程弥补,我预估时间成本会非常大。
自定义试验7:平衡同时运动
随机修改地面角度,包括偏航角,通过每隔0.5秒触发的动作检查以及角度矫正,使身体始终保持决策角度,同时依然完成决策动作。本实验验证本系统,支持任何运动执行的同时,进行水平矫正。由于机器人在晃动地面上操作的场景并不常见,因此本功能更适合在曲面上行走时,保持身体角度,同样是为载人情况预设的功能。因此我将“保持水平”,作为运动判断的附加功能,添加到了本系统中。
波士顿动力近似实验7:斜坡运动
模仿波士顿动力机器人斜面行走实验,6足机器人在斜面上完成行走和转身,整个过程保持身体水平,并且与“醉鬼”不同,不仅倾斜身体,还附加倾斜身体重心,使6条腿在理论上始终保持最均匀的受力,以便站的更稳。本实验验证本系统,自动生成的动作,能够使机器人在固定倾角的斜坡上依然能站立稳定,并且行走如履平地。即所有倾斜相关判断,都来自理论计算,而非陀螺仪计算,陀螺仪仅仅在硬件误差累积到一定程度时,进行矫正。这样设计是为了系统功能统一,同时也是出于节约树梅派算力的角度考虑。
注:由于机器人没有任何受力传感信号(当时买来才知道,真的想哭),所以所有受力分析,重心控制,全部都是理论计算,这也是我不做快速跑步的另一个原因(根本没判断数据可以修正理论和实际的偏差,结果只能一通乱跑)。
三.补充说明:
由于种种硬件条件限制,我没有尝试快速跑步,重点专注于精确控制。另外由于本人精力有限,我尚未尝试视觉三维建模,因此所有环境信息,都是按照地图导入的形式输入的,加上这个六足机器人本身有不小的结构和形变误差,所以理论坐标位置和实际依然有1~2厘米的偏差。
本次研究全部成本:2500元树莓派机器人1台+100元陀螺仪1个+我8个月业余时间
做这个项目,一方面是想验证我自创的一套强化学习理论,另一方面,我也想证明:在机器人控制的理论计算上,中国并不输美国!!!
加油中国!!!
注:目前暂不公开