【论文笔记】基于 ROS 的送餐机器人自主抓取实现

摘要

送餐机器人的出现可以为同属服务行业的餐饮业减轻大量用人成本,推动传 统餐厅向智慧餐厅的转变升级。

  • ROS平台作为媒介
  • 利用摄像头和六自由度机械臂
  • 对食物的自主 抓取

关键词

  1. ROS;
  2. 六自由度机械臂;
  3. 深度学习摄像头;
  4. 手眼标定

1 主要任务

本文主要研究如何利用搭载于送餐机器人上的六 自由度机械臂与摄像头,实现机器人自主抓取的功能,从而实现机器人的高度自动化与智能化。

利用 ORB_SLAM 算法可以高效地建立三维空间模型,并且可以依据建模
结果获得某点的空间坐标值,传达至机器人主机进行后续处理。

完成抓取动作过程如下。

  1. 使用 usb 与机械臂 lsc 主控板进行连接;
  2. 摄像头建模后将采集空间坐标参数发送到机器人主机;
  3. 主机转换为 robot_arm/cmdstring 格式的 topic;
  4. 由 robot_arm 节点负责将这个 topic 内容经由 usb hid 协议发送给机械臂主控板,完成抓取的操作。

2 六自由度机械臂的二次开发

2.1 用户向控制板发送数据

CMD_SERVO_MOVE参数指令

参数 意义
1 要转动舵机的数量
2 舵机转动时间的十六进制下的低两位
3 舵机转动时间的十六进制下的高两位
4 转动舵机的 ID 号
5 舵机转动角度位置的十六进制下的低两位
6 舵机转动角度位置的十六进制下的高两位

2.2 控制板向用户返回数据

参数 意义
1 运行动作组的编号
2 动作组准备执行次数的十六进制下的低两位
3 动作组准备执行次数的十六进制下的高两位

3 基于 Tsai-Lenz 算法的自主抓取设计

手眼标定法根据摄像头固定的位置可分为两种类型。

  1. 摄像头固定在机械臂之上,称为眼在手上(eye-in-hand);
  2. 摄像头固定在机械臂之外,称为眼在手外 (eye-to-hand);
    本文采用了 eye-to-hand 方式。

过程如下。
(1)物体识别:在图像中检测到物体。
(2)位姿估计:得到物体在相机坐标系下的位置和姿态。
(3)相机拟定:对物体在相机坐标系下的坐标进行 转换,得到其在机器人坐标系的坐标。

H \mathbf{H} H 表示坐标变换 ( H \mathbf{H} H 指 homogeneous matrices
齐次变换矩阵)。
已知多组机械臂在机器人坐标系中的坐标 H g \mathbf{H}_{g} Hg 、标定板在相机坐标系中的坐标 H c \mathbf{H}_{c} Hc 。 求解机械臂和相机之间的位姿关系 H g c \mathbf{H}_{gc} Hgc
A = H g i j , B = H c i j , X = H g c A=\mathbf{H}_{gij}, B=\mathbf{H}_{cij}, X=\mathbf{H}_{gc} A=Hgij,B=Hcij,X=Hgc
A X = X B AX=XB AX=XB
根据 Tsai-Lenz 算法即可求解 X X X,其核心等式如下。
S k e w ( P g i j + P c i j ) P ′ Skew(P_{gij}+P_{cij})P^{\prime} SkewPgij+PcijP
c g = P c i j − P g i j c_{g} = P_{cij}-P_{gij} cg=PcijPgij

4 结束语

猜你喜欢

转载自blog.csdn.net/m0_48948682/article/details/125745540
今日推荐