两台机器人悬空抬起了“伤员”,把腿当手,还能变身拖车|东京大学
统计 阅读时间大约6分钟(2079字)

20小时前 两台机器人悬空抬起了“伤员”,把腿当手,还能变身拖车|东京大学

来源:机器人大讲堂
传统绳驱并联机器人大多只驱动一个末端,这项研究让两台机器人共用一套绳系,协同作业。

作者:Ally     出品:机器人大讲堂

绳驱并联机器人(CDPR)又有了新用法。

东京大学的研究团队提出了一套叫TwinX的系统。两台轮腿机器人之间连一根“机间绳”(inter-body wire),再各自把绳子挂到周围的柱子上,就组成了一个能同时驱动两个浮动连杆的绳驱并联系统。

真机实验中,这对搭档先用无人机把绳子挂到天花板的柱子上,然后悬在半空,把腿当手臂用,从腰部和腿部两点托起假人放到担架上:

6120daa46e0b5b7175c9164a53d484f9.jpg

最后收绳变成车辆形态,把担架拖走:

445c84af63183a6b0882d3e09b9cdc71.jpg

论文已被IEEE Robotics and Automation Letters接收。

01.

绳驱机器人的“单人”难题

CDPR的原理不复杂:从多个绞盘引出绳索连到末端执行器,调节每根绳的长度和张力,就能控制末端的位置和姿态。

c4d27dc826c921db4a300aa4d7146ba1.png

绳子能传递的力最高可以到它的断裂强度,长度又能达到几十米,所以这类系统能在很大的工作空间里输出很大的力。比如CoGiRo用多根绳把一个箱形末端挂在框架上,装上机械臂后可以在仓库这么大的三维空间里作业;Pylos把3D打印头当作末端,打印空间达到13.6×9.4×3.3米。近年还出现了“环境锚定”式CDPR:机器人自己带着绞盘,把绳子挂到树木、柱子上来驱动自身。

不过这些系统大多只驱动单个末端。托举、搬运大件物体往往需要多点支撑,让多台机器人协作是一条思路。麻烦在于,CDPR的每个末端都要好几根绳,绳子又横跨大片工作空间,末端一多,绳与绳、绳与本体之间就容易互相干涉,布线设计也越来越难。此前也有相关尝试,比如两台机械臂在同一根共享绳索上移动,或者基于等效机构的双臂系统,但它们的运动都只能沿直线,没有用上CDPR工作空间大、自由度高的优势。

02.

一根机间绳,换来更大的可行空间

TwinX的做法是在两个本体之间加一根绳。

团队先用一个简化模型展示效果。在二维平面上,把两个本体看作质点,每个质点各用两根绳连到上方的环境锚点。然后在两者之间加一根机间绳,看两个本体的哪些位置组合能在重力作用下保持静力平衡。

5c3a3e0901f227ecbc7e5443610d673f.png

结果显示,加了机间绳之后,可行的位置组合明显变多(图中绿色区域),在多种对称和非对称的高度条件下都能看到这个趋势。

论文强调,效果的来源在于这根新增的绳连在两个本体之间。如果改用一根新的环境锚定绳来获得类似的拉力方向,就得在环境里再找一个锚点,而且这根绳很容易穿过本体或其他绳所在的区域。机间绳直接把另一台机器人当作连接对象,在提供额外拉力方向的同时,不会和本体或其他绳干涉。作者也指出,真实系统受平台姿态范围、绳张力上下限等约束,实际可用的工作空间会比理想模型小。

硬件上,TwinX由两台结构相同的轮腿机器人WiXus组成,按颜色分别叫WiXus-Blue和WiXus-Red,每台都带有电脑、电池和相机。机间绳由Blue上的卷绳模块收放,最大连续张力约400N。每台机器人最多可以向环境引出4根绳,对应卷绳模块的最大连续张力约120N。把绳挂到环境里的工作由“飞行锚”自主完成,飞行锚就是无人机加锚具的组合。

在地面上时,轮腿负责移动;被绳吊到空中后,轮腿不用再支撑身体,可以当手臂去操作物体。收紧机间绳,两台机器人还能对接成一体,不过这部分不是本文的重点。

a4fe058a6b96f9f4fa7ecb172461d357.png

03.

两台机器人,共用一个雅可比

控制方面,团队把两台机器人当作一个整体来建模:所有绳的张力通过雅可比矩阵W,映射为两台机器人受到的共12维力旋量。W是分块结构,两台机器人各自连到环境的绳分别占一块,机间绳则在两块里都出现,两边的方向正好相反。所有量都定义在RTAB-Map的同一个地图坐标系下。

控制分三部分。首先,根据每台机器人重心与目标位置的偏差,用PD控制算出参考速度;然后把参考速度换算成绳的速度,做比例反馈;重力补偿项则通过一个带张力上下限约束的二次规划求解。

8cc10be8c92d9a4de5ece91247b3234c.png

实际运行时,两台机器人各自在本机完成定位和控制计算,再通过UDP交换定位结果和雅可比分量,这样双方维护的是同一个全系统雅可比。UDP通信线程运行在200Hz,主控制线程50Hz;在实验用的同一个Wi-Fi网络下,往返延迟平均4.1ms,最大5.9ms。每台机器人都会算出所有绳的指令,但只执行自己负责的那部分,机间绳由Blue负责。目标位置通过摇杆给定。

04.

实测:挂绳、抬人、拖担架

团队先在MuJoCo里做了仿真。4个锚点分别设在(±1.5, ±1.0, 2.0)处,目标点之间用最小加加速度(min-jerk)轨迹插值。测试分成两组对比:两台机器人保持相对位置(keep)和改变相对位置(change);正在移动(MOVE)和停在目标点(HOLD)。

结果显示,控制器整体上能跟上目标位置序列,没有出现控制崩溃。误差较大的时段,都出现在目标位置接近或超出当前布线可行范围的时候。

位置误差大致在0.1米量级。这个精度不够做精细定位,但对粗略搬运、拖拽这类任务够用。另外,keep和change、MOVE和HOLD之间,误差特性没有明显差别。

真机实验模拟了一个救援场景:天花板上固定着4根柱子,地上放着一个重5kg、高150cm的假人和一副担架,担架事先已经用Red引出的绳子连好。

33def3cb68acd440f49ee626b8435eda.png

第一阶段,4个飞行锚用基于RGB-D相机的方法,把两台机器人各自的两根绳挂到4根柱子上。所有飞行锚都由Red负责观测和控制。

第二阶段使用4根环境绳加1根机间绳,一共5根绳。两台机器人悬在空中,用腿托住假人的腰部和腿部,把它转移到担架上。

823eb9b27db975bee1e9bbb53c8c5541.png

数据显示,Blue跟踪得比较好,Red有部分时段跟踪不足,指令张力在100N的软件上限处饱和。作者做了估算:每台WiXus重9.4kg,环境绳是斜拉的,竖直分量按1/√3近似,扣掉两台机器人的自重后,在120N的硬件上限下净载荷约9.5kg,在100N的软件上限下约4.7kg。这个数值和5kg的假人很接近,与观察到的张力饱和相符。

第三阶段由操作员手动控制,执行与挂绳相反的动作,把绳从柱子上解开,再收回绳子,飞行锚也跟着一起回收。第四阶段,TwinX收紧机间绳变成车辆形态,再卷收Red的绳,把担架拖走。

这次实验的意义在于把现场布绳、支撑目标、转移、运输串成了同一个系统里的完整流程。用飞行锚挂绳时,实际能同时使用的绳数量很有限,而TwinX在4根环境绳这样的现实条件下,实现了两个浮动体的多点支撑和运输。

推荐阅读
{{item.author_display_name}}
{{item.author_display_name}}
{{item.author_user_occu}}
{{item.author_user_sign}}
×
右键可直接复制图片
×