Skip to content

ROS packages to control the Franka Emika Panda robot and simulate various e-grocery tasks.

Notifications You must be signed in to change notification settings

rutiglianogabriele/thesis_uaic_ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-Grocery task with a robotic arm controller by an Active Inference Controller (AIC)

This repository contains all the ROS packages developed during the course of my Master Thesis in Automation and Robotics Engineering at Danmarks Tekniske Universitet (DTU).

Table of contents

General Info

The available packages are:

  1. move_panda: Developed during the course of my master thesis. This package contains all the launch files and scripts to run the various e-grocery tasks.
  2. object_detection: Developed during the course of my master thesis. This package contains the scripts needed to launch the camera and perform object detection and tracking. Morevoer, with the file test_static_task
  3. franka_aic: This package has been originally developed by the authors in: https://github.com/cpezzato/active_inference. It has been modified to also implement the uAIC in: https://github.com/cpezzato/unbiased_aic. This package contains the scripts and launch files to run the MRAC, AIC and uAIC controllers on the real Franka Emika Panda robot.
  4. predictor: This packaged has been developed by student Christian Kampp Kruuse during the course of his master thesis. This package contains the scripts and launch files needed to run the Kalman Filter required to perform the prediction of the object pose during the dynamic e-grocery task.

To Keep in Mind

The packages "move_panda", "object_detection" and "predictor" are project specific packages, this mean that they work well with the hardware set-up used during the course of this specific thesis project. For a different hardware set-up the code might need adaptation.

Results

The results of the simuation of the e-grocery tasks can be seen at the following shared drive: https://drive.google.com/drive/folders/1bWAupsXqaDjYjVLPrEB_1UMEMhO6jONW?usp=drive_link

How to Install

Simply clone this repository inside your workspace and build it. Assuming your workspace is "my_ws":

cd my_ws/src
git clone git@github.com:rutiglianogabriele/thesis_uaic_ws.git
cd ..
catkin build

How to Run It

First align the camera and the robot. Run the object_tracking_dynamic.py and place an object in the working area (table) of the robot. Two windows will pop-up, make sure to:

  1. Align the blue strokes to the base frame of the robot (vertical blue line aligned with the front small triangle, horizonal line aligned with the lateral lights of the robot)
  2. Align the white horizontal line with the upper (from camera view, facing the robot base) side of the bolts.
  3. For task with the conveyor belt: align the conveyor belt with the two lower white horizontal lines on the bottom
Here is an example of how it should look:


At this point, run the conveyor belt at the desired speed and run this in a terminal on the computer:
cd Gabriele_thesis/panda_ws 

Open two more terminals and do:

source ./devel/setup.bash 

in all of them.

Then run each command in each different terminal tab (one command, one tab):

roscore
roslaunch franka_aic MRAC_controller.launch (for the MRAC controller)
roslaunch franka_aic AIC_controller.launch (for the uAIC controller)

In the last terminal you can launch the desired e-grocery task. These launch file will take care of launching also the necessary nodes for the gripper and camera. Run either of the following:

roslaunch move_panda egrocery_static_task.launch (for the static e-grocery task, without conveyor belt)
roslaunch move_panda egrocery_dynamic_task.launch (for the dynamic e-grocery task, with conveyor belt)

About

ROS packages to control the Franka Emika Panda robot and simulate various e-grocery tasks.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published