Skip to content
GuiHome edited this page May 13, 2017 · 19 revisions

Overview

This repository contains material for several tutorials dealing with dexterous manipulation planning based on moveitlogo and applied to the Shadow Robot Hand shadowlogo

Content

Packages

  • hand_ik_coupling_plugin : A simplified IK solver for coupled joints written as a plugin
  • kdl_coupling_extension : A library to handle coupling in IK, used by hand_ik_coupling_plugin
  • sr_moveit_hand_config now taken from shadow in shadow_kinetic branch: The solution to part one creating the hand moveit config
  • sr_multi_description now taken from shadow in shadow_kinetic branch: The robot_description of an arm and hand robot
  • sr_multi_moveit_config now taken from shadow in shadow_kinetic branch: MoveIt! configuration for an arm and hand
  • resources : A folder containing meshes and grasp descriptions
  • regrasping_app : Code base for tutorial 2 part 3
  • kinematics_tools : A tool to publish interactive markers to control multi fingers planning state

Tutorials

  1. Setup the workspace
  2. Preparing a dexterous planning environment
    • Part 1 handles the configuration generation using the MoveIt! wizard
    • Part 2 handles the creation of a special IK plugin to solve kinematics for coupled joints of the Shadow Hand
  3. Using the planning environment
    • Part 1 Access MoveIt! capabilities by program
    • Part 2 Precise grasping with a dexterous hand
    • Part 3 Regrasping with obstacle avoidance
    • Part 4 Multifinger planning with interactive markers

Setup the workspace

System requirements

System requirements are different if you want to do tutorial 1 only or both tutorials.

Tutorial 1 only

Tutorial 1 supposes you have at least ROS Indigo + MoveIt! + some Shadow Robot packages installed. Use your package manager to install the following system dependencies

ros-kinetic-desktop-full
ros-kinetic-moveit

Additional requirements for tutorial 2

Tutorial 2 requires extra packages to be compiled from source. They will be installed locally in the workspace as an overlay of the ROS system install.

  • pr2_mechanism_msgs
  • sr_common
  • sr_core
  • sr_interface
  • ros_ethercat
  • sr_ur_arm
  • universal_robot
  • lma_kinematics_plugin

The procedure will install the required source files and compile them

  1. Create a catkin workspace called shadow_ws using catkin tools
sudo apt-get install python-catkin-tools
mkdir -p shadow_ws/src
cd shadow_ws
catkin init
catkin config --extend /opt/ros/kinetic --install
  1. Copy this .rosinstall file in the src folder. Be warned that this is not the latest source code from shadow but one working for this tutorial
  2. Call wstool update
  3. Call catkin build in the workspace root

In up coming workspace creation, always source this new installed workspace

Download and compile the tutorial packages

  1. Go into a clean catkin workspace, if you don't have one, create one following this tutorial
  2. Clone the git repository of the tutorial into the src folder
cd src
git clone https://github.com/guihomework/dexterous-manipulation-tutorial.git
  1. Source the system packages OR the shadow_ws workspace for tutorial 2
source opt/ros/kinetic/setup.bash

or

source shadow_ws/install/setup.bash
  1. In the workspace root start the compilation
catkin build
  1. Source your workspace
source devel/setup.bash