PedroMaia21 / PSR_TP3

Repository to crate the TP3 group project for the PSR classes. The members are: Maria Rodrigues, Pedro Maia, Salomé Dias
0 stars 0 forks source link

PSR_TP3 - Robutler 1

Repository to the TP3 group project for the PSR 2023/2024 classes.

UA_logo

Project Description

This project represents the creation of a robutler - robot to do easy domestic chores based in the turtlebot3 waffle_pi - and its testing in a simulated gazebo world.

This robot is capable of moving to any place in the house and identify objects as commanded

The tecnologies used to make this project were:

The challenges of this project consisted in learning how to understand and sucessfully use the ROS environment as well as the development of advance programming knowledge, like the usage of artificial vision to execute object recognition, the commanding and manipulation of robots and robotic manipulators as well as the understanding of node communication.

Something that still needs development is the control of the robotic arm, challenge that was way to complex to trully understand at this point in time.

Installing and running the project

Installing

To execute the instalation of this project, it is necessary to have the ROS workspace operational (instalation guide here)

Other dependencies may include:

After the cloning to the repository to the source file in you ROS workspace you should compile the packages using:

catkin buld
source devel/setup.bash

or

catkin_make

After this steps, the programm is ready to run

Running

To run this project, all you have to do is write in your terminal

roslaunch robutler1_bringup main.launch

or, if you have a low spec computer and don't need the spawning of the gazebo GUI, you can run

roslaunch robutler1_bringup main_test_mode.launch

After this command will appear a Rviz window and a Robutler Simulation Control window as can be seen in the following image:

Screenshot after launching the main_test_mode.launch file

There is also an alternative way (not recomended) to launch every file one by one (and consequantly in different terminals) and this may be a good way to troubleshoot if some error occurs during the launch of the aplication

The commands are (remember that each line should be in a new terminal window):

roslaunch robutler1_bringup gazebo.launch #or roslaunch robutler1_bringup gazebo_test_mode.launch
roslaunch robutler1_navigation localization.launch
roslaunch robutler1_bringup bringup.launch
roslaunch robutler1_navigation navigation.launch
roslaunch robutler1_detection detection.launch
rosrun robutler1_interface mission_manager.py
roslaunch robutler1_interface menu.launch

Rviz Interface explained

As is possible to see in the next image the visual interface in the Rviz is composed by 3 camera images and a map in the center with the robot model

The map was obtained using the slam method and is stored in the package robutler1_navigation in the folder /maps

The 3 camara images consist in:

Screenshot from 2024-01-30 02-36-50

How to controll the robot

The control of the robutler can be done in 3 different ways:

Functionalities/Improvements

Missions

The members involved in this project are: Maria Rodrigues ¹, Pedro Maia ², Salomé Dias ³

¹ 102384, rodrigues.mariaalves@ua.pt

² 102959, pedromaia@ua.pt

³ 118163, salome.marie@ua.pt