概要
上一讲我们在机器人的坐标系-安逸的机器人学 这篇文章里介绍了笛卡尔直角坐标系。在一个机器人系统里面,坐标系有很多个, 所以这一讲以机械臂系统为例,带大家认识一下机械臂系统里都有哪些坐标系。
特邀嘉宾
本期的特邀嘉宾是Panda,它的全名叫做 franka-emika-panda, 是一款由Franka Emika公司生产的七自由度协作机械臂。 用过ROS MoveIt的同学应该对他不会感到陌生, MoveIt的Tutorial里面使用就是这款机械臂,Franka Emika公司是MoveIt的赞助商。
世界坐标系
别名: 大地坐标系, 全局参考坐标系(Global Coordinate System), 固定坐标系 世界坐标系 (World Coordinate System)是一个固定在“地面”上的一个静止的参考坐标系, 这个坐标系不会随着时间发生平移/旋转。 当然这里的地面是广义上的地面,对于一个桌面级的机器人我们也可以将世界坐标系定义在桌子上。物体在其他的坐标系中的位姿(位置跟姿态)都可以转换到这个世界坐标系下, 得到一个统一的标准的描述, 所以也称之为全局参考坐标系。
上图是机器人操作系统ROS中的可视化工具RVIZ的软件运行截图, 这个网格所在的平面就是地面, 世界坐标系落在地面上。
机械臂本体
机械臂基坐标系
机械臂基坐标系(Robot Arm Base Coordinate System) 简称基坐标系(Base Coordinate System),一般定义在机械臂基座的位置上。 如果机械臂是固定在地面上的,则机械臂基坐标系相对世界坐标系就是静止的; 如果机械臂安装在滑轨上/AGV移动平台上,基坐标系相对于世界坐标系就是动态变换的. 在只有单个机械臂的简单应用场景下,默认机械臂的基坐标系与世界坐标系重合。
在上图中基坐标系的名称为panda_link0。 机械臂基坐标系的定义方法:基坐标系的X轴正方向为基座的正前方,Z轴正方向为基座的上方, Y轴正方向为机械臂基座的左侧.
关节坐标系
关节臂型的机械臂的本体的两个重要的组成部分: 旋转关节(Joint)与连杆(Link) .
关节坐标系(Joint Coordinate System)顾名思义就是定义在关节上的坐标系. 下图是Panda的关节坐标系
上图中panda_link_1 到panda_link_7 之间的坐标系为关节坐标系, 这款机械臂是7自由度的,对应着七个坐标系。 需要注意的是这里的标注名称为panda_link_i, 其实改成panda_joint_i 要更贴切一些。 去掉标注名后,会更清爽一些, 同时也更直观.
工具坐标系
机械臂是需要给人类打工的,在做不同的工作的时候,就会用到不同的工具. Panda自带的工具是夹子(Gripper). 工具坐标系的一般定义方法是以工具中心点(Tool Center Point, 简写TCP)为原点建立坐标系. 其实这个原点的定义方法不是很准确,只能说这个适用与爪子的类型, 我的理解是需要将工具坐标系的原点定义在机械臂跟工件发生接触的位置, 例如焊接机器人的工具坐标系就应该定义在焊接头的位置。
如果工具自身比较复杂的话,也可以继续划分为好几个坐标系。还是以夹子为例, 爪子上的左右两侧的手指位置都会有一个坐标系,定义为左手指坐标系跟右手指坐标系。
腕部坐标系
英文: Wrist Coordinate System 别名: 腕关节坐标系 跟工具连接在一起的那个关节还有一个特殊的称呼叫做腕关节(Wrist), 类比人的手臂,人的手掌可以看作是工具,腕关节就是人的手腕. 腕关节所在的坐标系就是腕部坐标系.
目标坐标系
英文: Goal Coordinate System 目标坐标系是机械臂工具所需到达到位姿下的坐标系。运动结束时,机械臂工具坐标系与目标坐标系重合.
为了让这个课程更加直观,我录制一个演示视频,戳下方链接(记得关注我的B站账号哦)
安逸的机器人学-ROS-MoveIt!运动规划的效果
工作场景
工作台坐标系
英文:Workspace Coordinate System 部分工业机器人手册里也会称之为用户坐标系, 用户可以根据自己的需要进行定义。
工件坐标系
英文: Work Object Coordinate System 工件自身的坐标系,工件的坐标系原点一般定义在物体的中心位置,对于抓取类的工作,这种定义方式会比较方便一些。 如果是吸取工件这类任务,一般将工件坐标系 定义在物体的上表面。
摄像头坐标系
英文: Camera Coordinate System 如何识别工件在工作台上的位姿,这就需要某种测量工具. 其中一种方法就是使用摄像头Camera,通过获取的二维图像与三维的点云信息对工件进行位姿估计Pose Estimation。 下图是Intel Realsene深度摄像头的坐标系定义. 在摄像头坐标系测量得到的物体的位姿,还需要进一步转换为机械臂基坐标下的位姿,这样机械臂才能进行抓取. 确定机械臂基坐标与摄像头坐标系之间的变换关系的过程就叫做手眼标定 Hand-Eye-Calibration.
机械臂视觉抓取案例
挑选了两个机械臂视频引导的视频
机械臂色块识别与抓取 OpenCV+树莓派4+华馨京4DoF机械臂
这个是我开发的相对比较简单的视觉抓取的案例,因为是在平面上进行抓取,而且物块的高度是固定的已知的。物块的位姿只有三个自由度
- wx 在工作台上的x坐标
- wy 在工作台上的y坐标
- $\theta$ 物块的旋转角度
- 海量的商品种类,在大型的物流仓储应用场景里面需要识别的物体的种类可能超过几百万种。
- 商品的叠放次序是无序的,需要判断商品的6DoF的位姿,同时还要判断抓取点的位置.
如果你对这个话题感兴趣,推荐你看一下李淼博士(库柏特创始人兼CEO,瑞士洛桑联邦理工大学博士)的这个讲座: 基于视觉的机器人抓取学习及其产业应用
课后总结
下一讲,我们正式进入对于位姿描述于空间变换的正题, see you。
在成都
视频-鹤鸣茶舍-嗑瓜子的小鸟 5月份的一个雨天 ,来到少城公园里的鹤鸣茶舍喝茶。喝茶的时候,有一只小鸟飞到我们的桌子上嗑瓜子。