当前位置: 首页 > news >正文

marm_ros2 机械臂视觉抓取操作流程

MARM视觉抓取

1. OverView

1.1 程序介绍

name介绍
A1_descriptionmarm urdf配置文件
A1_moveit_configmarm moveit配置文件
arm_controllermarm 机械臂硬件控制sdk
capture_image相机sdk,二维码识别接口
custom_interface机械臂控制msg, srv接口
moveit_controller_server机械臂控制server接口

1.2 系统需求

  • ubuntu 22.04

  • ros2 humble, moveit2, rviz2, python-serial, camera-calibration


2. 机械臂使用

2.1 marm从仿真到实体控制

流程:
moveit → joint-states → 机械臂sdk → serial → 机械臂实体控制

  1. 启动moveit机械臂

    codeBash
    ros2 launch A1_moveit_config demo.launch.py

    启动成功后可以看到rviz的视图。

  2. 启动机械臂sdk

    • 机械臂控制程序依赖串口,刚插入机械臂usb线材后需要给串口增加权限:

      sudo chmod 777 /dev/ttyCH341USB0
    • 启动机械臂SDK:

      python3 arm_controller.py
      

 注意: 如果程序报找不到`serial`库,通过 `pip install python-serial` 指令安装`serial`库。

启动程序后,可以在rviz中看到机械臂的实施状态,拖动轨迹球,然后点击 plan&execute 即可看到机械臂的规划与运动。同时,机械臂sdk会监听moveit中机械臂各个关键的实时状态,并将moveit中的关节角度发布给真实机械臂,实现对机械臂的控制。


RViz界面截图,显示了机械臂模型和各种控制选项。

2.2 机械臂舵机温度参数设计

通过步骤2.1可完成对机械臂的真实控制。机械臂默认的舵机温度保护参数是50度,这里为了方便我们长时间测试机械臂不会温度保护,需要将机械臂的温度保护参数从新设置。

  1. 安装cutecom串口工具

    sudo apt install cutecom
  2. 启动发送温度指令
    通过CuteCom工具,将六个舵机的温度保护参数设置到80。


CuteCom软件界面,显示了发送到串口的指令,用于设置舵机温度保护参数。


3. 视觉抓取

3.1 相机标定

capture-image包中有两个word文档,分别是标定用的标定板以及识别用的二维码。

  1. 标定相机
    将打印的标定二维码粘贴到硬纸板上,要求粘贴要平整。

  2. 启动相机节点

    codeBash
    ros2 launch capture_image capture_image.launch.py
  3. 启动标定节点(需要提前安装camera-calibration)

    codeBash
    ros2 run camera_calibration cameracalibrator --size 10x7 --square 0.021 image:=/camera/image_raw camera:=/camera --no-service-check

    注意: size是标定板的交点个数, square是标定板中每个小方块的实际尺寸。

启动成功后会出现标定界面,左右,前后,旋转倾斜移动二维码版直到标定程序中x, y, size, skew变成绿色则表明标定成功,然后点击 calibrate 进行计算,计算成功后点击 save 按钮将标定结果保存。默认保存在/tmp目录下的一个压缩包,解压后将ost.yaml文件保存到capture_image下替换。


相机标定程序界面,显示了正在标定的棋盘格图案,以及X, Y, Size, Skew等参数条。

3.2 Aruco视觉定位

  1. 启动相机

    ros2 launch capture_image capture_image.launch.py
  2. 启动aruco识别

    ros2 run capture_image aruco_object_pose_node

启动后可以看到已经识别到二维码,同时终端也会打印识别的位置信息。


Aruco标记检测程序的截图,左侧是摄像头捕捉到的带有Aruco标记的物体,右侧是终端输出的实时位置信息。

3.3 视觉抓取demo测试

通过2.1, 3.1, 3.2可以实现对机械臂的硬件控制,相机的标定,以及二维码识别的部分,完成以上各个部分的测试后可以进行一个完整抓取。

  1. 启动moveit

    ros2 launch A1_moveit_config demo.launch.py
  2. 启动arm_control

    python3 arm_controller.py
  3. 启动capture_image

    ros2 launch capture_image capture_image.launch.py
    
  4. 启动机械臂action控制

    ros2 run moveit_controller_server moveit_controller_server_node
  5. 启动aruco识别

    ros2 run capture_image aruco_object_pose_node
  6. 启动抓取demo

    ros2 run moveit_controller_server marm_demo

启动demo程序后,动作步骤如下:

  1. 机械臂移动到识别位置,进行aruco定位。


    机械臂悬停在一个带有Aruco标记的黄色方块上方。

  2. 机械臂移动到抓取位置,然后抓取物体。

    
    

    机械臂的夹爪正在抓取黄色的方块。

  3. 机械臂移动到stand位置。

    
    
    机械臂抓着方块移动到预设的站立位置。

  4. 机械臂将方块移动到put放取位置。


    机械臂将黄色方块放置在目标区域。

http://www.dtcms.com/a/525554.html

相关文章:

  • 像淘客基地这样的网站如何做网站引导页在线做
  • Wordpress 仿站 工具深圳金科威公司官网
  • python在Arcgis Pro中 多边形锐角识别与切割脚本笔记
  • 一种使用 PowerToys 的键盘管理器工具编辑惠普暗影精灵11 的 OMEN 自定义按键的方法
  • 锂电池充放电管理学习
  • 复数等式:为何对所有整数都成立?
  • CLIP模型全解析:从对比学习到零样本识别的革命
  • 广州网站优化步骤用公司网站后缀做邮箱
  • 202.快乐数
  • 黑色asp企业网站源码办公空间设计说明300字
  • 站群 网站如何做网站页面设计网页说明
  • 昆山的网站建设网站建设改手机号
  • HTML:Video视频切换时不重新加载
  • CSP-S模拟赛六总结
  • 网站开发工具中的三剑客湖南建设人力资源网证书查询
  • 朝阳网站推广网站开发费用说明
  • seo做的好的网站有哪些东莞最新招聘
  • seo网站优化多少钱全球咨询公司排名
  • ElementPlus 如何支持移动端
  • 家庭服务器分享
  • xv6 第二章_操作系统架构
  • 创建网站要多长时间网站链接只显示到文件夹怎么做的
  • 写出网站开发的基本流程wordpress nova 汉化
  • 1024~
  • 选图片的网站网站引流.
  • Java的内部类介绍
  • 企业自建服务器网站建设流程建设网站需要注意事项
  • 描述性统计 vs 推断性统计:观察与判断的区别
  • Power BI 10 月功能更新全解析
  • C语言解决轮转数组