prajval10 / industrialRobot_task_planning

This is the public repo of my M.S thesis on "Implementation of Human-Robot Collaboration Model in Manufacturing Scenarios"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flexible Human-Robot Collaboration Models in Manufacturing Scenarios

Project performed at the University of Genova, Italy and Schaeffler Group.

If you use this software package in any form, please cite the following paper link:

Murali, Prajval Kumar, Kourosh Darvish, and Fulvio Mastrogiovanni. 
"Deployment and evaluation of a flexible human–robot collaboration model 
based on AND/OR graphs in a manufacturing environment." 
Intelligent Service Robotics 13.4 (2020): 439-457.

Software Architecture

Theory

The overall cooperation task is based on a modular, reactive architecture. The architecture has two phases, namely the Offline Phase and the Online Phase. The Offline Phase is composed of teaching safe way-points for the robot in the manufacturing work-cell. This process is application-dependent and is done by a robot programmer.

The Online Phase has three layers namely the representation layer shown in blue,the perception layer in orange and interface layer in green.

  • Representation layer: Responsible for task representation, task allocation and task planning.
  • Perception layer: Responsible to find the object pose and grasp location to the robot.
  • Interface layer: Responsible for providing interfaces to robot (robot drivers) and humans (GUIs).

External Dependency

Software Dependency

Sl. No Dependency Remark Version
1. AND/OR Mandatory
2. AI Planner Mandatory
3. ROS Mandatory Atleast Indigo
4. UR Modern Driver Mandatory Included in this repo
5. Gazebo Mandatory

Hardware Dependency

The architecture is tested on UR10 Universal Robot running firmware version CB 3.0 and PolyScope version 3.5. The gripper used is OnRobot RG6 gripper and Cognex 7802 machine vision system for the perception.

Packages

Configuration_files
     |
     |
     +----> and_or/files-->pallet_assembly.txt
     |
     |
     +----> sequential_planner/files----> Action_Definition_list.txt
                          |
                          |
                          +-------------> State_Action_list.txt

These files have to be replaced in the AND/OR and AI_planner packages. The pallet_assembly.txt provides the task representation, while the files Action_Definition_list.txt and State_Action_list.txt provides the necessary actions for the task manager.

System Setup

Linux:

 git clone https://github.com/prajval10/industrialRobot_task_planning.git
 cd industrialRobot_task_planning
 catkin_make

Add the following to your .bashrc file:

# Path to the `industrialRobot_task_planning/src` folder
export FLEX_INSTALL_PREFIX=<prefix>
# Gazebo related env variables (see http://gazebosim.org/tutorials?tut=components#EnvironmentVariables )
export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:${FLEX_INSTALL_PREFIX}/my_ur_gazebo/models

Disclaimer The software here is presented as is and is no longer actively maintained and updated.

About

This is the public repo of my M.S thesis on "Implementation of Human-Robot Collaboration Model in Manufacturing Scenarios"


Languages

Language:C++ 62.3%Language:Python 28.7%Language:CMake 7.5%Language:Shell 1.6%