10. 视觉3D抓取#
一种适用于AIRBOT机械臂结合视觉在桌面识别抓取物体的操作方法。
提醒
联络技术支持团队获取本文所需要的代码文件Stacking_Bricks.zip。
前置教程:
注意
在进行视觉抓取前一定要先执行相机内外参标定!!!
10.1 环境准备#
10.1.1 Python环境准备#
本文视觉部分硬件使用Intel RealSense系列相机
依赖 | 版本 |
---|---|
pyrealsense2 | 2.55.1.6486 |
10.1.2 RealSense相机驱动准备#
依赖 | 版本 |
---|---|
Intel RealSense SDK 2.0 | 2.0 |
10.1.3 物理环境准备#
尽量选取颜色为白色底色的桌面,本例程识别小木块依赖色域分割,如环境背景为蓝色绿色红色有可能导致识别失败。
10.1.4 环境安装步骤#
安装RealSense相机驱动 #ubuntu可以不用手动下载SDK,直接运行下列命令
激活conda虚拟环境:
安装pyrealsense2环境:
10.2 启动机械臂控制服务#
打开一个终端,运行机械臂控制服务
或<INTERFACE>
为接口名称,可通过ip link
查看,默认连接的设备名称为canX
(X 为编号,从0开始计数),如can0, can1等。<PORT>
为 gRPC 服务器监听端口。如果连接多个设备,每个设备应使用不同的端口号。为不同的设备可自定义不同 PORT 值,如50000, 50001, 50010等。 关键要点包括: 例:
10.3 运行 stacking_bricks.py机械臂视觉垂直抓取示例#
10.3.1 下载并解压Stacking_Bricks.zip:#
文件包内容解释

-
brick_detect_realsense.py 实现使用realsense相机识别积木
-
arm_kdl.py 为AIRBOT_Play机械臂对应的运动学计算包
-
airbot_realsense.py realsense相机配置程序
-
configs 存放相机参数以及相机内外参标定数据
10.3.2 内外参参数配置#
内外参参数获取方法详见实现相机内参外参自动化标定
将实现相机内参外参自动化标定标定获得的txt文件保存在此目录下,程序将自动读取txt中的相机内外参参数。

10.3.3 程序运行效果及展示#
在文件包目录下打开终端
正常运行后将在屏幕显示:
- 图中绿框为识别到的小积木,参数为积木颜色以及在相机坐标系下的积木坐标
- 本例程可以检测蓝色、绿色、红色三种颜色的积木

按下q将关闭该窗口并开始搭积木,建议使用颜色深一些的背景提高识别成功率。