gilbreth icon indicating copy to clipboard operation
gilbreth copied to clipboard

robotic product handling simulation

Gilbreth

Robotic product handling simulation

Lillian Moller Gilbreth was an American psychologist and industrial engineer.

Getting Started

The project is based on Ubuntu 18.04, ROS Kinect, gazebo 9.0, wstool and catkin tools. Links to the instructions for installing ROS, Gazebo, etc. are provided below

Installation

  • Source the ROS environment script

    ource /opt/ros/kinetic/setup.bash
    
  • Create a "gilbreth_ws" catkin workspace

    kdir -p ~/gilbreth_ws/src
    d ~/gilbreth_ws/
    atkin init
    
  • Fetch the gilbreth source code:

    d ~/gilbreth_ws/src
    stool init .
    stool merge https://raw.githubusercontent.com/swri-robotics/gilbreth/kinetic-devel/gilbreth.rosinstall
    stool update
    osdep install --from-paths . --ignore-src -y
    
  • Build the workspace

    d ~/gilbreth_ws
    atkin build
    

Visualize The Simulation Enviroment

Setup

  • Source the catkin workspace

    d ~/catkin_ws
    ource devel/setup.bash
    

View the URDF

   roslaunch urdf_tutorial display.launch model:=$(rospack find gilbreth_support)/urdf/gilbreth.xacro
```	
 
It may be necessary to select "world" in the "Fixed Frame" drop down in the rviz window.
 

### Run the Gazebo simulation environment

1. Launch the gazebo simulation environment:

	```
	roscd gilbreth_gazebo
	roslaunch gilbreth_gazebo gilbreth_environment.launch rviz:=false
	```

 - Use "rviz:=true" to show rviz
	
1. Activate the gripper:

	```
	rosservice call /gilbreth/gripper/control "enable: true"
	```
 Use "false" in order to turn off the gripper

1. Activate the conveyor:

	```
	rosservice call /gilbreth/conveyor/control "state: power: 100.0"
	```
 The "power" can range from 0.0 to 100.0.  Use 0.0 to stop the conveyor

1. Start the part spawner:
	
	```
	rosservice call /start_spawn "{}"
	```
 This command will make parts appear on the conveyor at random intervals. The frequency, types of parts and other properties can be configured in this [yaml file](gilbreth_gazebo/config/conveyor_objects.yaml)
 
1. Stop the part spawner
	```
	rosservice call /stop_spawn "{}"

### Run the Main Application
- [See here](DEMO.md)