基于深度视觉实现机械臂对目标的识别与定位

机械臂手眼标定

根据相机和机械臂的安装方式不同,手眼标定分为眼在手上和眼在手外两种方式,双臂机器人的相机和机械臂基座的相对位置固定,所以应该采用眼在手外的手眼标定方式。

后续的视觉引导机械臂抓取测试实验基于本实验实现,通过视觉引导右臂完成抓取目标物,所以默认已使用机械臂右臂和相机完成了手眼标定。

打印 Marker 标签

打印标定需要使用到的 Marker 标签,可以从下面的网站下载 marker 标签并打印出来:

Online ArUco markers generator (chev.me)

注意:

 Dictionary 一定要选 Original ArUco

 Marker ID 和 Marker size 自选,在 launch 文件中做相应的修改(本教程演示使用 Marker ID:582,Marker size:30mm)

打印时,要选择原始大小,否则要测量一下打印出来的真实大小

配置及编译运行

修改 aruco_ros 功能包 launch 下的 single_realsense.launch 文件,根据打印的marker 标签,需要配置 single_realsense.launch 文件,将其中的 markerId 和markerSize 修改为实际打印 marker 对应的参数。

修改 dual_arm_demo 功能包 launch 下的 demo_recognize_target_pose.launch文件

根据手眼标定后在 ~/.ros/easy_handeye 路径下生成的rm_d435_eye_on_base.yaml 文件,将其中的 tf 关系输入到demo_recognize_target_pose.launch 文件中的相应位置。

编译运行

将提供的源码包拷贝到 catkin_ws 工作空间的 src 目录下或将源码包拷贝到自己创建的其他工作空间的 src 目录下。

通过 rosdep 安装源码包依赖,执行以下命令

rosdep install -y --from-paths . --ignore-src --rosdistro melodic -r

使用 catkin 工具配置进行编译,执行如下命令:

cd ~/catkin_ws

catkin build

编译成功后执行以下命令启动 launch 文件:

source devel/setup.bash

roslaunch dual_arm_demo demo_recognize_target_pose.launch

打开一个新的终端,执行以下命令启动 image_view 订阅/aruco_single/result

显示图像:

cd ~/catkin_ws

source devel/setup.bash

rosrun image_view image_view image:=/aruco_single/result

回到上一个启动 demo_recognize_target_pose.launch 的终端,将打印 marker的纸张放到相机视野内,图像会显示识别到 marker 及对应坐标系,终端会打印输出 marker 在相机坐标系下的位姿和目标物在右臂机械臂 base_link 坐标系下的位姿。

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值