智能夹取
本案例使用eye-to-hand的模式,使用摄像头,Python+OpenCV相结合,通过OpenCV中的ArUco标记进行姿态估计,并将符合情况的AR码框出,通过相关点位计算出AR码相对于机械臂的空间坐标位置。为机械臂设置一套相关动作,根据识别的AR码不同放置不同的区域中, 根据AR码的旋转角度进行夹取。
支持末端执行器: myCobot Pro 自适应夹爪、myGripper F100力控夹爪
1 摄像头调整
首先,需要使用python运行aikit_V2包下的OpenVideo.py。若开启的摄像头为电脑摄像头则需要修改cap_num,具体可参考:注意事项。确保摄像头完全包含整个识别区域,且识别区域在视频中是正正方方的,如下图所示。若识别区域在视频中不符合要求,则需要调整摄像头的位置。
M5版本:
- 打开一个控制台终端(快捷键Win+R,输入cmd进入终端),先切换到aikit_V2所在文件夹路径,再进入目标文件夹
cd Desktop/aikit_V2/AiKit_320M5/
- 输入以下命令,打开摄像头进行调整
python scripts/OpenVideo.py
树莓派版本:
- 打开一个控制台终端(快捷键Ctrl+Alt+T),进入目标文件夹
cd ~/aikit_V2/AiKit_320PI/
- 输入以下命令,打开摄像头进行调整
python scripts/OpenVideo.py
2 识别物料准备
将AR码贴于可识别物体中心点上,默认使用4种不同ID的AR码进行识别定位,每个AR码的尺寸大小默认是 5cm x 5cm,可以自行打印使用。
AR码下载链接:Smart_gripping_AR_code_materials.pdf
3 案例重现-夹爪款
使用前提
将二维码板子翻转至背面摆放,或者拿两张卡片遮挡住板子上的两个二维码,防止启动AR码程序时出现误识别。
M5版本:
- 打开一个控制台终端(快捷键Ctrl+Alt+T),输入以下命令进入目标文件夹:
cd Desktop/aikit_V2/AiKit_320M5
- 末端装配 Pro自适应夹爪,可运行:
python scripts/aikit_gripper_encode.py
- 末端装配 myGripper F100力控夹爪,可运行:
python scripts/aikit_smart_force_gripper_encode.py
树莓派版本:
- 打开一个控制台终端(快捷键Ctrl+Alt+T),输入以下命令进入目标文件夹:
cd ~/aikit_V2/AiKit_320PI
- 末端装配 Pro自适应夹爪,可运行:
python scripts/aikit_gripper_encode.py
- 末端装配 myGripper F100力控夹爪,可运行:
python scripts/aikit_smart_force_gripper_encode.py
效果演示:
注意事项
- 由于myCobot 320第六关节有限位,所以物体的旋转角度范围应该在:-180 ~ +180。
- 确保摄像头与物块上的二维码平行,尽量减少视角畸变。如果物块上的二维码不是完全平放(存在倾斜),视角的变化会使二维码的形状在图像中发生扭曲,影响识别。
- 确保物块表面和二维码区域光线均匀,避免阴影或强光反射。如果物块表面光滑反光,则会对摄像头造成干扰,破坏二维码的边缘检测。