No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.2.0
License LGPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description source code of ROS package good run in T440
Checkout URI https://github.com/lochinasc1017/ur5_easyhandeye_d435i_calibration.git
VCS Type git
VCS Version master
Last Updated 2020-04-09
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Use visp_hand2eye_calibration to determine the extrinsic parameters of cameras.

Additional Links

No additional links.

Maintainers

  • Marco Esposito

Authors

  • Marco Esposito

easy_handeye: TF / VISP Hand-Eye Calibration

This package wraps the hand-eye calibration routine from the ViSP library (contained in the visp_hand2eye_calibration package) to provide a simple camera pose estimation solution. Input is expected as transformations published in TF.

Two scripts are provided:

  • calibrator: takes care of sampling the specified transformations, computing the calibration and storing the result in a .yaml file.
  • publisher: loads the calibration from the .yaml file and publishes it in tf; by default uses the frames specified during calibration, but they can be overridden individually via ROS params.

The included launch files allow to override all the script params, and to start the GUI contained in rqt_easy_handeye.

ROS API

All following topics and parameters live in the namespace specified by the top-level launch file (e.g. robot_device_eye_on_{hand,base}). This allows multiple calibrations to coexist.

Topics/Services

  • take_sample: a sample of each transformation is added to the list
  • remove_sample(int): removes the specified sample from the list
  • compute_calibration: the calibration transformation is computed from the lists of transformations
  • save_calibration: the calibration is saved in the parameters and to file
  • sample_list: after adding or removing a sample, the list is published here
  • calibration_result: after computation the transform is published on this topic

Parameters

  • namespace: the calibrator script will save the result in ~/.ros/easy_handeye/$namespace; the publisher will load the data from the same path.
  • eye_on_hand: if true, this is an eye-on-hand calibration, else eye-on-base.
  • tracking_base_frame: contains the tf id of the tracking system coordinate origin frame.
  • tracking_marker_frame: contains the tf id of the tracking system target.
  • robot_base_frame: contains the tf id of the robot’s base link.
  • robot_effector_frame: contains the tf id of the robot’s end effector link.

References

[1] Tsai, Roger Y., and Reimar K. Lenz. “A new technique for fully autonomous and efficient 3D robotics hand/eye calibration.” Robotics and Automation, IEEE Transactions on 5.3 (1989): 345-358.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Launch files

  • launch/publish.launch
      • eye_on_hand — eye-on-hand instead of eye-on-base
      • namespace_prefix [default: easy_handeye]
      • robot_effector_frame [default: ]
      • robot_base_frame [default: ]
      • tracking_base_frame [default: ]
      • inverse [default: false]
  • launch/ur5_d435i_calibration.launch
      • namespace_prefix [default: ur5_realsense_handeyecalibration]
      • robot_ip — The IP address of the UR5 robot
      • marker_size [default: 0.1] — Size of the ArUco marker used, in meters
      • marker_id [default: 800] — The ID of the ArUco marker used
  • launch/eye_to_hand_calibration.launch
      • namespace_prefix [default: ur5_realsense_handeyecalibration]
      • robot_ip — The IP address of the UR5 robot
      • marker_size [default: 0.1] — Size of the ArUco marker used, in meters
      • marker_id [default: 400] — The ID of the ArUco marker used
  • launch/calibrate.launch
      • eye_on_hand — if true, eye-on-hand instead of eye-on-base
      • namespace_prefix [default: easy_handeye] — the prefix of the namespace the node will run in, and of the folder in which the result will be saved
      • robot_base_frame [default: base_link]
      • robot_effector_frame [default: tool0]
      • tracking_base_frame [default: tracking_origin]
      • tracking_marker_frame [default: tracking_target]
      • publish_dummy [default: true] — if true, a dummy calibration will be published to keep all frames in a single tf tree, hence visualized in RViz
      • start_rviz [default: true] — if true, rviz will be started with the provided config file
      • rviz_config_file [default: $(find easy_handeye)/launch/rviz_easy_handeye.config] — the path to the rviz config file to be opened
      • start_rqt [default: true] — if true, rqt will be started with the provided perspective
      • rqt_perspective_file [default: $(find easy_handeye)/launch/rqt_easy_handeye.perspective] — the path to the rqt perspective file to be opened
      • freehand_robot_movement [default: false] — if false, the rqt plugin for the automatic robot motion with MoveIt! will be started
      • move_group [default: manipulator] — the name of move_group for the automatic robot motion with MoveIt!
      • translation_delta_meters [default: 0.1] — the maximum movement that the robot should perform in the translation phase
      • rotation_delta_degrees [default: 25] — the maximum rotation that the robot should perform
      • robot_velocity_scaling [default: 0.3] — the maximum speed the robot should reach, as a factor of the speed declared in the joint_limits.yaml
      • robot_acceleration_scaling [default: 0.2] — the maximum acceleration the robot should reach, as a factor of the acceleration declared in the joint_limits.yaml

Plugins

No plugins found.

Recent questions tagged easy_handeye at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.