-
ACT原文使用WindowX遥控操作关节更大的ViperX机械臂,其余的设置包括一个机器人笼,通过交叉钢电缆加固。总共有四个罗技C922x网络摄像头,每个设置480×640RGB图像。其中两个网络摄像头安装在跟随者机器人的手腕上,可以近距离观察抓持器。其余的两个摄像机分别安装在前面和顶部。远程操作和数据记录频率都为50HZ。
-
原文考虑过使用VR控制器或摄像机捕捉到的手姿势映射到机器人的末端执行器姿势,即任务空间映射,最后没有采用的原因是精细操作需要在奇点处进行,反向运动学会出错。另一方面,联合空间映射保证了在联合限制范围内的高带宽控制,同时也需要更少的计算和减少延迟。原文只提及到通过关节角度同步来进行远程操控,但是根据视频可以看出关节同步效果好,延迟低。
-
设备部署:
使用两台大象pro600机械臂,位于操作者面向方向,摄像头位于操作者左手边,正中间为机械臂工作区间(),follower机械臂旁边搭配一盏台灯,可以有效消除上方灯光影响(),leader机械臂上方用胶带捆绑一硬质物体用来保持自由移动
-
末端执行器:
leader机械臂采用手柄加按钮,手柄为3d打印材料,按钮为自锁按钮。follower机械臂末端执行器目前有两种,用来完成推动任务的长木棍末端,和用来抓取的夹爪末端。
-
遥控系统:
前六个关节角度:leader机械臂-->python-get_angles-->python-write_angle-->socket-->树莓派-->控制follower机械臂,读取需要时间,运动也需要时间,但是读取和运动并不同步。(即读取完并传递信号给follower机械臂为程序内进程,此时程序结束,之后树莓派控制机械臂不属于程序内,就会导致可叠加的延迟)因此如果只用while循环,不断进入循环会导致延迟不断增加,所以同步过程修改代码为等待程序运行完毕之后进入下一个while循环,即等待树莓派控制机械臂完成(动作彻底完成)再获得下一个动作。
夹爪(第七个电机): 通过计算机通过leader机械臂的树莓派in端口的点位变化来控制舵机的旋转。首先按钮到计算机,线路为 树莓派GND---自锁按钮---树莓派in端口,当自锁按钮按下,电路导通,in端口获得1的输入,按钮打开线路断开,in端口状态转0。 之后计算机到舵机,大象机械臂带有读取树莓派in端口的api,计算机重复调用方法读取端口,当端口状态变化后连接u2d2旋转舵机指定角度。最后舵机到夹爪,夹爪通过3d打印,预留固定舵机的孔位,将舵机的砝码盘固定在夹爪主动件的圆盘上,舵机转动带动主动盘转动,之后带动连接件以及夹爪末端开合。
- 安装两个机械臂并校准验机,保证机械臂不会相互影响
- 划分任务区间与目标区域
- 实验区域标定:follower机械臂工作区间在黑色胶带范围内,推魔方任务为在黑色区域内把魔方推到黑色小框内,抓取为在黑色区域内将快递盒子抓取到黑色小框内
- 修改训练代码
- 摄像头安装
action: leader 的joint position
observations: follower 的 joint position and picture
具体动作: 夹爪推动快递盒,并将快递盒推动到规定黑色区域内
任务:使用摄像头获得动作照片,关节角度等信息并打包,采集50次用于后续训练
具体任务: 夹爪快递盒,放置于黑色标线的位置
任务:使用摄像头获得动作照片,关节角度等信息并打包,采集50次用于后续训练