Gazebo

Gazebo is our default simulator. Follow the instructions on the next section to install and run a simulation of our robot hands using Gazebo.

Installing the software (sim)

If you do not actually have a real hand but would like to use our hand in simulation, then please run the following command:

  • ROS Melodic (Recommended):

    bash <(curl -Ls bit.ly/run-aurora) docker_deploy product=hand_e sim_hand=true container_name=dexterous_hand_simulated  tag=melodic-release launch_hand=true
    
  • ROS Kinetic:

    bash <(curl -Ls bit.ly/run-aurora) docker_deploy product=hand_e sim_hand=true container_name=dexterous_hand_simulated  tag=kinetic-release launch_hand=true
    
  • ROS Indigo:

    bash <(curl -Ls bit.ly/run-aurora) docker_deploy product=hand_e sim_hand=true container_name=dexterous_hand_simulated  tag=indigo-release launch_hand=true
    

You can also add reinstall=true true in case you want to reinstall the docker image and container. When it finishes it will show:

Operation completed

and it will create two desktop icons that you can double-click to launch the hand or save the log files from the active containers to your desktop.

If you have an Nvidia graphics card, you can add nvidia_docker=true to use nvidia-docker.

More params and their explanation can be found here.

Starting a robot simulation

First you need to start the hand container by either double clicking the icon 1 - Launch Server Container in the “Shadow Advanced Launchers” folder or running the following command:

docker start dexterous_hand_real_hw

Shadow Dexterous hands

  • The hand will start automatically if you have run the one-liner with the argument launch_hand=true. To start it manually, simply run the following command in the container:

    roslaunch sr_robot_launch srhand.launch
    

    This will launch the five finger hand (shadowhand_motor) by default .

  • If you want to start the dexterous hand plus, you can add the hand_type like this:

    roslaunch sr_robot_launch srhand.launch hand_type:=hand_e_plus
    
  • If you want to launch another hand, these are the hands available:

      Hand hand_type Parameter Left Hand Parameter
    image0 Hand E hand_e hand_id:=lh
    image1 Hand E Lite hand_lite Right hand only
    image2 Hand E Extra Lite hand_extra_lite Right hand only
    image3 Hand E Plus hand_e_plus hand_id:=lh

    To start the simulation, you can run:

    roslaunch sr_robot_launch srhand.launch hand_type=hand_e
    

    The hand_type param can be changed to start any of the available Shadow hands shown in the table.

  • If it is a left hand, hand_id:=lh should be added. For example:

    roslaunch sr_robot_launch srhand.launch hand_type=hand_e_plus hand_id:=lh
    
  • Moveit will enable advanced behaviour (inverse kinematics, planning, collision detectection, etc…), but if it is not needed, you can set use_moveit:=false

Note

If when you launch the hand you see some errors related to LibGL, this is a good indication that you have an NVidia card and should add the nvidia flag when running the installation one liner. Run the one liner again with the correct NVidia flags mentioned above and also -r true to reinstall the docker image and container.

Bimanual hand system

Bimanual

To start the simulation of a bimanual system, you can run:

roslaunch sr_robot_launch sr_bimanual.launch

Unimanual arm and hand system

../_images/unimanual_arm_and_hand.png

To start the simulation of a unimanual right system, you can run:

roslaunch sr_robot_launch sr_right_ur10arm_hand.launch

To add a scene, you can add scene:=true and you our default scene. You can also add your own scene adding a scene_file parameter.

../_images/unimanual_arm_and_hand_with_Scene.png

Similarly, to start the simulation of a unimanual left system, you can run:

roslaunch sr_robot_launch sr_left_ur10arm_hand.launch

Bimanual arm and hand system

../_images/bimanual_arm_and_hand.png

To start the simulation of a bimanual arm and hand system, you can run:

roslaunch sr_robot_launch sr_right_ur10arm_hand.launch

To add a scene, you can add scene:=true and you our default scene. You can also add your own scene adding a scene_file parameter.

../_images/bimanual_arm_and_hand_with_Scene.png