注意:myCobot 280系列仅支持树莓派版本,暂不支持M5版本。

识别AR码

本案例使用eye-to-hand的模式,使用摄像头,Python+OpenCV相结合,通过OpenCV中的ArUco标记进行姿态估计,并将符合情况的AR码框出,通过相关点位计算出AR码相对于机械臂的空间坐标位置。为机械臂设置一套相关动作,根据识别的AR码不同放置不同的区域中。

1 程序编译

点击桌面上的ROS1 Shell图标或者桌面下方栏的对应图标,打开ROS1环境终端:

然后输入以下指令:

cd ~/catkin_ws  # 进入工作区的src文件夹中
catkin_make # 构建工作区中的代码
source devel/setup.bash # 添加环境变量

2 摄像头调整

首先,需要使用python运行mycobot_ai包下的OpenVideo.py。若开启的摄像头为电脑摄像头则需要修改cap_num,具体可参考:注意事项。确保摄像头完全包含整个识别区域,且识别区域在视频中是正正方方的,如下图所示。若识别区域在视频中不符合要求,则需要调整摄像头的位置。

  • 点击桌面上的ROS1 Shell图标或者桌面下方栏的对应图标,打开ROS1环境终端,输入以下命令进入目标文件夹:

cd ~/catkin_ws/src/mycobot_ros/mycobot_ai/aikit_280_pi/
  • 输入以下命令,打开摄像头进行调整
python scripts/OpenVideo.py

3 案例重现

使用前提

将二维码板子翻转至背面摆放,或者拿两张卡片遮挡住板子上的两个二维码,防止启动AR码程序时出现误识别。

树莓派版本:

  • 点击桌面上的ROS1 Shell图标或者桌面下方栏的对应图标,打开ROS1环境终端,输入以下命令启动launch文件:

roslaunch aikit_280_pi vision_pi.launch
  • 打开另一个ROS1环境终端(打开方式同上),输入以下命令进入目标文件夹:
cd ~/catkin_ws/src/mycobot_ros/mycobot_ai/aikit_280_pi/
  • 再输入以下命令启动AR码识别程序:
python scripts/aikit_encode.py

注意事项

  1. 当摄像头没有正确自动框出识别区域,需要关闭程序,调整摄像头的位置,可将摄像头向左向右移动等操作。
  2. 若命令终端没有出现ok,且无法识别颜色时,需要将摄像头稍微向后或向前移动一下,当命令终端出现ok时程序即可正常运行。
  3. OpenCV图像识别会受环境的影响,若处在较为昏暗的环境下识别效果将大大降低。

results matching ""

    No results matching ""