UR10 RG2机械臂手臂+RealsenseZR300 机器人手眼标定 系列第四篇

本文详细介绍了使用Intel Realsense ZR300相机进行UR10 RG2机械臂的手眼标定过程,包括相机外参标定原理、步骤、遇到的问题及解决方案。通过修改launch文件和解决节点冲突,成功实现了camera和base的正确标定,为后续的机器人定位和控制奠定了基础。
摘要由CSDN通过智能技术生成

参考文章了链接:

https://blog.csdn.net/zhang970187013/article/details/81098175

https://github.com/IFL-CAMP/easy_handeye/tree/master

https://blog.csdn.net/sinat_23853639/article/details/80276848

跑了一个星期参考文章,一点点推进但是一直有问题,各种乱七八糟节点冲突 没有发布话题 ,坐标系也老是跳,页面出现闪退的情况,干脆把文章写的launch前面的几步单独拎出来跑,没想到问题竟然就这样解决了...


  IntelRealsense ZR300相机外参标定

  首先,标定的原理是:基坐标系(base_tree)和相机(camera_tree)两个坐标系属于不同的tree,通过将标签贴到手上,相机识别出标签的position 和 orention,并通过hand_eye标定包得到marker_frame(机械手),进一步得到相对于base的位置关系。即子坐标系(camera_rgb_optical_frame)到父坐标系(base_link)之间的关系。在之后如果摄像头识别到物体的位置(在camera坐标系下),即可通过transform(这种转换关系),转化为base(也就是机器人知道的自己的位置坐标系)坐标系下的位置,这样机器人就通过转化关系得到相机识别到的位置实际在空间中的位置。

总体步骤为:

1.清除无关节点

#rosnode cleanup

2.启动相机驱动程序

 #roslaunch realsense_camera zr300_nodelet_rgbd.launch 

3.连接机器人

#roslaunch ur_control ur10_control.launch robot_ip:=192.168.2.24

4.启动moveit和rviz

#roslaunch ur10_rg2_moveit_config demo.launch

5.启动标定程序 launch节点

#roslaunch ur10_realsense_handeyecalibration.launch 

launch文件经过修改后:(单独终端跑就解决了rviz老是闪退、坐标系跳动、采集错误等问题)

其中:start robot/robot222 以及前面的start realsense单独拎出来在节点里面跑,这样就解决了问题。

<launch>
    <arg name="namespace_prefix" default="ur10_realsense_handeyecalibration" />
 
    <arg name="robot_ip" doc="The IP address of the UR10 robot" />
		<!--<arg name="marker_frame" default="aruco_marker_frame"/>-->
    <arg name="marker_size" doc="Size of the ArUco marker used, in meters" default="0.1" />
    <arg name="marker_id" doc="The ID of the ArUco marker used" default="100" />

    <!-- start the realsense -->
    <!-- <include file="$(find kinect2_bridge)/launch/kinect2_bridge.launch" /> -->
   <!--  <group ns="namespace1"> -->
    <!-- <include file="$(find realsense_camera)/launch/zr300_nodelet_rgbd.launch" /> -->
        <!-- <arg name="depth_registration" value="true" /> -->
    <!-- </group> -->
    <!-- </include> -->
 
    <!-- start ArUco -->
    <node name="aruco_tracker" pkg="aruco_ros" type="single">
        <!-- <remap from="/camera_info" to="/kinect2/hd/camera_info" /> -->
        <remap from="/camera_info" to="/camera/rgb/camera_info" />
        <!-- <remap from="/image" to="/kinect2/hd/image_color_rect" /> -->
        <remap from="/image" to="/camera/rgb/image_rect_color" />
        <param name="image_is_rectified" value="true"/>
        <param name="marker_size"        value="$(arg marker_size)"/>
        <param name="marker_id"          value="$(arg marker_id)"/>
      <!--   <param name="reference_frame"    value="kinect2_rgb_optical_frame"/>
        <param name="camera_frame"       value="kinect2_rgb_optical_frame"/> -->
        <param name="reference_frame"    value="camera_rgb_optical_frame"/>
        <param name="camera_frame"       value="camera_rgb_optical_frame"/>
        <param name="marker_frame"       value="camera_marker" />
    </node>

<!-- start the robot -->
  <!--   <include file="$(find ur_modern_driver)/launch/ur10_bringup.launch">
        <arg name="limited" value="true&#
  • 5
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值