Skip to content

swri-robotics/gilbreth

Repository files navigation

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

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

     mkdir -p ~/gilbreth_ws/src
     cd ~/gilbreth_ws/
     catkin init
    
  • Fetch the gilbreth source code:

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

     cd ~/gilbreth_ws
     catkin build
    

Visualize The Simulation Enviroment

Setup

  • Source the catkin workspace

     cd ~/catkin_ws
     source 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
  2. Activate the gripper:

    rosservice call /gilbreth/gripper/control "enable: true"
    

    Use "false" in order to turn off the gripper

  3. 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

  4. 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

  5. Stop the part spawner

    rosservice call /stop_spawn "{}"
    
    

Run the Main Application