Giter Club home page Giter Club logo

aruco_hand_eye's Introduction

ARUCO / VISP Hand-Eye Calibration

rviz wam screenshot

Use Cases

This package uses the ARUCO planar target tracker from aruco_ros and the VISP hand-eye calibration from visp_hand2eye_calibration to provide a simple camera pose estimation package. � If you're unfamiliar with Tsai's hand-eye calibration [1], it can be used in two ways:

  • eye-in-hand -- To compute the static transform from a robot's end-effector to the optical frame of a camera. In this case, the camera is mounted on the end-effector, and you place the visual target so that it is fixed relative to the base of the rboot.
  • eye-on-base -- To compute the static transform from a robot's base to the optical frame of a camera. In this case, the camera is mounted to the base of the robot (or kinematic chain), and you place the visual target so that it is fixed relative to the end-effector of the robot.

Usage

For both use cases, you can either launch the aruco_hand_eye.launch launchfile, or you can include it in another launchfile as shown below. Either way, the launchfile will bring up the aruco_ros tracker and the visp_hand2eye_calibration solver, along with an integration script. By default, the integration script will interactively ask you to accept or discard each sample.

eye-in-hand

<launch>
  <include file="$(find aruco_hand_eye)/launch/aruco_hand_eye.launch">
    <arg name="markerid"   value="582"/>
    <arg name="markersize" value="0.141"/>
    <arg name="publish_tf" value="true"/>

    <arg name="marker_parent_frame" value="/base_link"/>
    <arg name="camera_parent_frame" value="/ee_link"/>

    <arg name="camera" value="/camera/rgb"/>
    <arg name="camera_frame" value="/camera_rgb_optical_frame"/>
  </include>
</launch>

eye-on-base

<launch>
  <include file="$(find aruco_hand_eye)/launch/aruco_hand_eye.launch">
    <arg name="markerid"   value="582"/>
    <arg name="markersize" value="0.141"/>
    <arg name="publish_tf" value="true"/>

    <arg name="marker_parent_frame" value="/ee_link"/>
    <arg name="camera_parent_frame" value="/base_link"/>

    <arg name="camera" value="/camera/rgb"/>
    <arg name="camera_frame" value="/camera_rgb_optical_frame"/>
  </include>
</launch>

Examples

For calibrating a kinect mounted to the base of a manipulator that can grasp the target:

roslaunch aruco_hand_eye kinect.launch ee_frame:=/my/robot/ee_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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.