Skip to content

Open ROS Components for Robots from Fetch Robotics/ IRVL Fetch Robot with ATI F/T sensor and deformable UMI fingers

Notifications You must be signed in to change notification settings

IRVLUTD/fetch_ros_IRVL

 
 

Repository files navigation

fetch_ros_IRVL

ROS Components for Robots from Fetch Robotics used at the Intelligent Robotics and Vision Lab at the University of Texas at Dallas. Our Fetch Robot uses an ATI-Gamma F/T sensor at the wrist; in this forked repository you will find the updated components for our robot, such as the new .urdf, moveit configuration, and so on.

New .Urdf

As mentioned before, our Fetch robot is equipped with an ATI-Gamma force and torque sensor at the wrist. Consequently, the original .urdf can no longer be used for the proper control of the robot. We created a new .urdf fetch.urdf to replace the original at the fetch_description base ros package located within the '/opt/ros/' directory.

IRVL Fetch Robot

Replacing the original .urdf file will make the robot boot with the new robot representation which will respect the new joint limits when using teleoperation. In the case that the robot has been calibrated the change will only take effect if the calibration is reseted to it's factory model. You can do this by running:

    calibrate_robot --reset

Check if the change took effect by running

    calibrate_robot --date

The output should be 'uncalibrated'.

Moveit Configuration

Since we have updated the .urdf file we also made modifications to the fetch_moveit_config package. First, we added the new 'ati_link' to the fetch.srdf for the simplification of the MoveIt path planning. Second, we reduced the joint velocity limits in joint_limits.yaml to more reasonable speeds.

After the changes have been made, ensure they are loaded by restarting the roscore service. NOTE: The fetch_drivers will reset; place the fetch robot in a resting position! (arm tucked, torso down) before running the command.

    sudo service roscore restart

Robot Calibration

To calibrate our updated robot we had to make some adjustments to the files used in the calibration process referred to at the Fetch and Freight manual. The calibration robot process uses the RGB-D camera to detect the positions of 4 LEDs in the Gripper while performing 99 different poses. To calibrate the new robot model we had to:

  1. Modify the calibration poses in calibration_poses.bag to ensure that the LEDs are visible by the RGB-D camera. This was done using the script modify_poses.py by adding an offset to the wrist_roll_joint.
  2. The 4 LED positions were updated in capture.yaml. The original positions are with respect to the original wrist_roll_joint; we used a simple transformation to devise the new positions. point_angle_rotation.py
  3. After modifying the files you can follow the instructions in the Fetch and Freight manual to calibrate. Note that after running the command:
    calibrate_robot --arm --install --velocity-factor=0.5

If you have sudo privilege the robot drivers will restart immediately after performing the calibration. i.e. the arm will become unactuated and fall. We also recommend using the velocity-factor argument to reduce the speed of the robot.

Notes

  • The tuck_arm routine tuck_arm.py was modified to account for our new robot model and to ensure no collisions with the installed equipment. For our robot the script was located within the '/opt/ros/melodic/lib/fetch_teleop/' directory.
  • We included our calibrated model in calibrated_files.

New Deformable Fingers

We have also changed the original Fetch fingers to a adapted version of the UMI deformable fingers. Both .urdfs modeling the original fingers and the new deformable fingers are included in the fetch_description package.

Deformable Fingers Image
# fetch_ros Original Readme.md

Open ROS Components for Robots from Fetch Robotics

Documentation

Please refer to our documentation page: http://docs.fetchrobotics.com/

ROS Buildfarm Development Branches

Fetch Package Indigo Devel Kinetic Devel Melodic Devel ROS 1 (Noetic) Dashing Devel
fetch_ros EOL ❎ not supported Build Status 🛠️ forthcoming 🛠️ 🚧 in planning 🚧

Kinetic support, has been skipped. Ubuntu 18.04 and 20.04 support both ROS1 and ROS2, so it was decided that effort will go towards ROS2 support in the future instead of supporting Kinetic. Noetic support is in the works, also.

ROS Buildfarm Release

Fetch Package Indigo Kinetic * Melodic Source Melodic Debian
fetch_calibration EOL Build Status Build Status
fetch_depth_layer EOL Build Status Build Status
fetch_description EOL Build Status Build Status
fetch_ikfast_plugin EOL Build Status Build Status
fetch_maps EOL Build Status Build Status
fetch_moveit_config EOL Build Status Build Status
fetch_navigation EOL Build Status Build Status
fetch_teleop EOL Build Status Build Status

About

Open ROS Components for Robots from Fetch Robotics/ IRVL Fetch Robot with ATI F/T sensor and deformable UMI fingers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.5%
  • Python 5.7%
  • CMake 1.7%
  • Shell 0.1%