FetchIt : The Mobile Manipulation Challenge [ DRAFT v 0.1]

Hi and welcome to the first draft of the Notebook QuickStart Guide to newcomers for the Fetch-It Mobile Manipulation Challenge. Here you will find basic instructions on how to get started coding for the FetchIt! challenge, and become the lucky winner of a new Fetch-Robot, while at the same time learning all about real world robot manipulation.

You will find all the documentation and more details in the official FetchIt! Challenge Git DOCUMENT

First of all, a word of our SPONSORS:

This Challenge wouldn't be possible without the support of all the companies mentioned below. Thank you to everyone that made this Challenge possible:

How to launch the Simulation in the ROSDS:

The simulation is the arena where the challenge will take place:

To launch the simulation you just have to follow this simple steps:

  • CLICK on the Simulations TAB, and select the option Select Launch File.

  • Open the dropdow menu and select the launch file named main.launch form the package fetchit_challenge, and hit the Launch button.

  • After around 15 to 30 seconds, depending on your system, you should get something similar to this:

Environment Definition:

This will be the arena where the challenge will take place:

This rosject contains a Gazebo simulation of the environment that will be used for the challenge:

Here you can find the different stations described in more detail in the official documentation:

  • Screwbin_station

  • Kit Station

  • Shunk-Machine and Gear pick Station

  • GearBox Pick Station

  • Drop-Off Station

Gear system to be assembled:

This is the gear system that will have to be assembled. The simulation of the system has been created from a 3D Printable Kit from ThingiVerse, created By CharlieTCU.

The Schunk-Machine

The Schunk Machine kindly donated by Schunk, has a special spot in the environment. It will be in charge of machining some elements. The Fetch Robot will have to open the Shunk Machine door and place the elements there, and pick others up. In this simulation the Schunk Machine fully controls and the speed can be changed publishing in its corresponding topic.

  • To control the speed, open a shell:

Then type on the terminal, the command to publish on the topic:

In [ ]:
$ rostopic pub /shunk_machine/lathe_joint_velocity_controller/command std_msgs/Float64 "data: 10.0"

The Fetch Robot:

The star of the show is of course the Fetch Mobile Manipulator Robot. This simulation is prepared for Navigation and for MoveIt.

For example, you can launch the pick and place demo, which will try to search for an object on a table and try to pick it up and put it in another location nearby.

  1. Move the Fetch robot closer to the Schunk table. You can use /cmd_vel or just use the arrows of Gazebo.
  2. Then go to the terminal and type:
In [ ]:
$ cd /home/user/simulation_ws/
$ source devel/setup.bash
$ roslaunch fetch_gazebo_demo pick_place_demo.launch

The robot should try to pick any object in a table nearby:

Additionally, you can launch Rviz. Open a sencond webshell and then type:

In [ ]:
$ rosrun rviz rviz

In order to see the Rviz window, go to the menu and select Tools -> Graphical tools

Once you get the Rviz window, you can load an included config file to visualize the important items. Select the following Rviz config file: fetch_gazebo/fetch_gazebo_demo/config/pick_place_demo.rviz

You can also move the Fetch robot around with the keyboard. You Just have to type the following command in the WebShell and move it with the keys: 'u','i','o','j','k','l','m',',','.'.

  • Open a webShell:

  • Type:
In [ ]:
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Source of the code:

3D Assets:

The Caddy was created with OnShape Online Software, you can acces the file and export it from this LINK. Big shout out to the OnShape Team for making an awsome Online tool!

EXTRA Info:

Some addaptations had to be made for fetch for melodic pickandplace_demo to work.