Repository to the TP3 group project for the PSR 2023/2024 classes.
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.
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
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:
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
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:
The control of the robutler can be done in 3 different ways:
[ ] Robot move objects (75%)
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