easy-handeye标定注意事项

参考坐标系问题

简单相机-如只有RGB广角相机

只有一个坐标系,就是Aruco跟踪坐标系是RGB相机的坐标系,最终标定的坐标系也是同一个坐标系,也就是下面的camera_frame

<!-- start ArUco -->
<node name="aruco_tracker" pkg="aruco_ros" type="single">
<remap from="/camera_info" to="/camera/color/camera_info" />
<remap from="/image" to="/camera/color/image_raw" />
<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=""/>
<param name="camera_frame" value="camera_link"/>
<param name="marker_frame" value="camera_maker" />
</node>
<!-- start easy_handeye -->
<include file="$(find easy_handeye)/launch/calibrate.launch" >
<arg name="namespace_prefix" value="$(arg namespace_prefix)" />
<arg name="eye_on_hand" value="false" />
<arg name="start_rviz" value="false"/>
<arg name="move_group_namespace" value="" />
<arg name="move_group" value="dofbot" />
<arg name="tracking_base_frame" value="camera_link" />
<arg name="tracking_marker_frame" value="camera_maker" />
<arg name="robot_base_frame" value="base_link" />
<arg name="robot_effector_frame" value="link6" />
<arg name="freehand_robot_movement" value="false" />
<arg name="robot_velocity_scaling" value="0.5" />
<arg name="robot_acceleration_scaling" value="0.2" />
</include>
 
而要进行aruco定位的时候,如下面的camera_frame也是camera_link
 
<!-- start ArUco -->
<node name="aruco_tracker" pkg="aruco_ros" type="single">
<remap from="/camera_info" to="/camera/color/camera_info" />
<remap from="/image" to="/camera/color/image_raw" />
<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=""/>
<param name="camera_frame" value="camera_color_optical_frame"/>
<param name="marker_frame" value="camera_maker" />
</node>

RGBD等复杂相机-本身具备多个坐标系关系

对于RGBD等多个坐标系的相机,标定的结果一定是camera_link(也就是相机tf系列的基坐标系),而aruco跟踪一定是RGB相机的坐标系

<!-- start ArUco -->
<node name="aruco_tracker" pkg="aruco_ros" type="single">
<remap from="/camera_info" to="/camera/color/camera_info" />
<remap from="/image" to="/camera/color/image_raw" />
<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=""/>
<param name="camera_frame" value="camera_color_optical_frame"/>
<param name="marker_frame" value="camera_maker" />
</node>
<!-- start easy_handeye -->
<include file="$(find easy_handeye)/launch/calibrate.launch" >
<arg name="namespace_prefix" value="$(arg namespace_prefix)" />
<arg name="eye_on_hand" value="false" />
<arg name="start_rviz" value="false"/>
<arg name="move_group_namespace" value="" />
<arg name="move_group" value="dofbot" />
<arg name="tracking_base_frame" value="camera_link" />
<arg name="tracking_marker_frame" value="camera_maker" />
<arg name="robot_base_frame" value="base_link" />
<arg name="robot_effector_frame" value="link6" />
<arg name="freehand_robot_movement" value="false" />
<arg name="robot_velocity_scaling" value="0.5" />
<arg name="robot_acceleration_scaling" value="0.2" />
</include>
 
而要进行aruco定位的时候,如下面的camera_frame也是camera_link
 
<!-- start ArUco -->
<node name="aruco_tracker" pkg="aruco_ros" type="single">
<remap from="/camera_info" to="/camera/color/camera_info" />
<remap from="/image" to="/camera/color/image_raw" />
<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=""/>
<param name="camera_frame" value="camera_color_optical_frame"/>
<param name="marker_frame" value="camera_maker" />
</node>

末端执行器坐标系的选定

下面是首演标定参数配置,标定类型不同,参数robot_effector_frame 不同

<!-- start easy_handeye -->
<include file="$(find easy_handeye)/launch/calibrate.launch" >
<arg name="namespace_prefix" value="$(arg namespace_prefix)" />
<arg name="eye_on_hand" value="false" />
<arg name="start_rviz" value="false"/>
<arg name="move_group_namespace" value="" />
<arg name="move_group" value="dofbot" />
<arg name="tracking_base_frame" value="camera_link" />
<arg name="tracking_marker_frame" value="camera_maker" />
<arg name="robot_base_frame" value="base_link" />
<arg name="robot_effector_frame" value="link6" />
<arg name="freehand_robot_movement" value="false" />
<arg name="robot_velocity_scaling" value="0.5" />
<arg name="robot_acceleration_scaling" value="0.2" />
</include>

眼在手上(eye on hand)

robot_effector_frame必须是固定相机的那个坐标系

眼在手外(eye to hand)

robot_effector_frame必须是固定ARuco码的坐标系

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值