Skip to content

arianwu/allegro_hand

Repository files navigation

Allegro Hand

This repository provides ROS support for the Allegro Hand. The packages were developed on Ubuntu 18.04 with ROS Melodic and haven't been tested in other environments.

Contents

  1. Summary
  2. Installing Drivers
  3. Package Descriptions

Summary

This repository was based on the packages found in NYU-robot-learning's Allegro-Hand-Controller-DIME repo and using the description found in simlabrobotics's allegro_hand_model_v4 repo.

Using only Allegro-Hand-Controller-DIME, the robot was controlled by a node that subscribed to /allegroHand/joint_cmd and would handle the PD+grav_comp controller.

To launch this controller, you need to execute:
roslaunch allegro_hand allegro_hand.launch

I have added the ability to use ros_control framework by writing a hardware interface for the allegro hand. This allows to use the variety of controllers that the framework offers.

To launch this controller, modify the config file allegro_hand_control.yaml in the package allegro_hand_ros_control to use the desired controller (note that the Hardware Interface only counts with an effort interface). Then, execute:

roslaunch allegro_hand_ros_control allegro_hand.launch

you might want to use this with another robot. When doing that, it is better to enclose the launch under a namespace:

roslaunch allegro_hand_ros_control allegro_hand.launch __ns:=allegro

Installing Drivers [1]

Before setting up the controller, we need to ensure that we have all the drivers necessary for establishing communication over the PCAN channel. Make sure to install the following dependencies first before setting up the allegro controller package.

  1. Install these C++ dependencies:
    sudo apt-get install cmake gcc g++ libpopt-dev
    
  2. Set up the necessary drivers using the following commands:
    cd ../
    mkdir drivers && cd drivers
    
    wget https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.12.0.tar.gz
    tar -xvzf peak-linux-driver-8.12.0.tar.gz
    cd peak-linux-driver-8.12.0
    make clean
    make NET=NO_NETDEV_SUPPORT
    sudo make install 
    sudo modprobe pcan
    cd ..
    wget https://www.peak-system.com/quick/BasicLinux
    tar -xvzf BasicLinux
    cd PCAN-Basic_Linux-4.5.4/libpcanbasic
    make
    sudo make install
    
  3. Test the installation of the drivers using the following command:
    cat /proc/pcan
    
    You will be able to see the pcan driver stream data if you are connected to a PCAN device.
  4. You can also run the following command to list all the PCAN devices connected to the system:
    ls -l /dev/pcan*
    
  5. If you do not see any available files, you may need to run:
    sudo ./driver/pcan_make_devices 2
    
  6. After installing the drivers install ROS followed by it's PCAN package:
    sudo apt-get install ros-melodic-libpcan 
    

Package Descriptions

I will only describe the packages that I have added. For the rest of packages, please refer to this repo. For a more detailed description of each package, please refer to the README.md file in each of these packages (TO BE DONE).

  • allegro_hand_description contains a modified version of the urdf file in [2] to be compatible with Gazebo
  • allegro_hand_gazebo: contains the launch and configuration file for simulation of the allegro hand in gazebo.allegro_hand_gazebo
  • allegro_hand_moveit_config: package generated by the MoveIt Setup Assistant to work with MoveIt framework (not recommended, too slow)
  • allegro_hand_ros_control: ros_control Hardware Interface, configuration files for ros_controllers, and launch files to connect to the real robot
  • allegro_hand_teleop: scripts and executables to interact with the robot, log information and send trajectories

References

[1] NYU-robot-learning/Allegro-Hand-Controller-DIME

[2] simlabrobotics/allegro_hand_model_v4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published