视觉机械臂抓取
简单介绍
主要包含两个部分,两种控制方式。
两大部分:
- 机械臂部分
- 感知部分:包含不仅限视觉感知也会设计其他传感器感知。
两种控制方式:
- 开环控制:感知部分获得物体坐标 -> 控制机械臂末端执行器到达这个坐标。
- 闭环控制:感知部分同时得到物体坐标与机械臂末端执行器坐标 -> 控制机械臂末端执行器坐标与物体坐标两坐标重合。
- 区别:开环控制中机械臂末端执行器的坐标为机械臂正逆解得到(无反馈),而闭环中的末端执行器坐标为感知部分得到(有反馈)。
抓取流程
- 读取摄像头图像
- 在图像中识别出要抓取的物体并得到其像素坐标
- 二维像素坐标(x, y) -> 以相机中心为原点的三维坐标系下的坐标 (Xc, Yc, Zc)
- (Xc, Yc, Zc) -> 三维世界坐标系的坐标(Xw, Yw, Zw)
- 根据需求与环境确定(手动)机械臂末端执行器到达(Xc, Yc, Zc)时的姿态(α, β, γ)
- 运动学逆解,通过(Xw, Yw, Zw)和(α, β, γ)这6个已知数据计算出每个电机分别需要旋转的角度j
- 根据环境与需求(有无障碍物、要求路径最短、要求时间最短等)规划出一系列中间点(逆解算出)
- 控制各个电机旋转到达各个中间节点至终点
- 末端执行器执行
机械臂部分
- 组成:机械臂机架 + 动力源 + 末端执行器 + 控制器
- 动力源:位置(角度)伺服的驱动器——舵机、步进电机、伺服电机等
- 末端执行器:多种型号样式可选
- 自由度:机械臂机架上有N个电机就有N个自由度,叫N轴机械臂(末端执行器上的电机不算)。
正逆解
N个电机旋转的角度,世界坐标系下的目标坐标和目标姿态
- 正解:已知J,算出世界坐标系下的目标坐标和目标姿态
- 逆解:已知世界坐标系下的目标坐标和目标姿态,算出J
- 旋转矩阵和变换矩阵
- D-H表代数法
- 几何法
路径规划
众多中间点组成路径。
根据路径、时间、能量、力学、障碍物等等有不同算法可以得到不同路径。
- 简单实现可人工设置少量中间点
感知部分
相机
- 普通USB相机:只能得到RGB信息,一般情况下只能获取二维信息,使用于相机固定且物体高度相差不大的场景。
- 深度相机:还可以获得深度信息,即RGB-D,如Kinect、realsense等。可以直接获得像素点的三维坐标,是用于多种场合。
找物体的方法
- 特定形状、颜色(opencv)
- 建立三维模型(object recognition kitchen)
- 动态追踪(图像差异)
- 深度学习
- 深度信息提取(高度差)