This repository contains the source files for the project of the course Fundamentals of Robotics at the University of Trento.
The document project_report contains an exhaustive report including the complete description of the code architecture, the UR5 and Shelfino motion planning strategies, the robotic vision algorithm and the outcomes of the project.
Samuele Pozzani, Enea Strambini, Daniel Marcon, Giacomo Tezza.
The following videos on YouTube show the results of the project on the simulation environment. The measured KPIs and a final analysis are available in the project report. All the three assignments have been completed!
Note: the red circles on the floor represent the centers of the four known areas. Shelfino reaches those positions to find the objects which are placed within a distance of 2 meters.
During the tests in the laboratory, the UR5 robot was recorded while performing the finite state machine related to assignment 2, and Shelfino while searching the objects in the first two areas.
The Locosim framework is required to run the project.
Clone this repository in your home folder, then cd into ros_ws
and build the project by running the following commands:
$ catkin_make install
$ source devel/setup.bash
Install requirements for YOLOv5 image recognition algorithm:
$ cd ros_ws/src/robotic_vision/scripts/yolov5
$ pip install -r requirements.txt
To start the simulation environment (RVIZ + Gazebo) use Python:
$ python3 locosim/ur5_generic.py
Run the ROS nodes and start the simulation using:
$ roslaunch main_controller simulation.launch
To generate Doxygen documentation, install Doxygen and execute:
$ doxygen Doxyfile
HTML docs will be generated inside the docs
folder.
MIT Licence or otherwise specified. See license file for details.