- PRACTICE DESCRIPTION
- INSTALLATION
- TESTING THE CODE OPERATION
- PACKAGE TESTS PERFORMED
- DEVELOPED USING
- TECHNICL ASPECTS
- CONTRIBUTION
- AUTHORS
- ABOUT LICENSE
The developed application contains the necessary for the Tiago robot to patrol along 5 waypoints in simulation
To obtain this code package and be able to test it, the following steps must be followed:
First of all, make sure you also have a clone of the ir_robots and book_ros2 packages. If not, check out the links below and follow the steps to get them:
Create a clone of this GitHub repository in the src directory of the workspace you are going to work with
cd ~/<workspace>/src
git clone <url>
Compile the workspace
cd ..
colcon build
In case you have already compiled recently and only need to do it with this new package:
colcon build --packages-select nc_bt_patrolling
Before launching the simulator we must make sure to configure the tiago_nav_params.yaml file of the br2_navigation package so the Tiago is correctly configured to be using the home map we've previously made. Also, we need to ensure the world used by the ir_robots package, defined in the params.yaml file. The world must be 'aws_house'
Once this is done, to run the code we will follow the steps defined below, on the start-up section
First of all we execute in a terminal the command to launch the Gazebo simulation
ros2 launch ir_robots simulation.launch.py
When Gazebo has opened completely, we launch from another terminal the navigation
ros2 launch br2_navigation tiago_navigation.launch.py
Finally, we launch our package with the following command:
ros2 launch nc_bt_patrolling patrolling.launch.py
To verify that the code passes the roslint and other tests correctly, if modifications have been made, the following commands should be executed from the workspace
colcon build --packages-select nc_bt_patrolling
colcon test --packages-select nc_bt_patrolling
During the practice we have been making sure that all the code periodically passed the tests, if we execute both commands mentioned above immediately after having made the clone of the repository we will see that all the tests pass successfully
All the software used to carry out this project is mentioned below:
- ROS2 Humble - Middleware for robot programming
- ir_robots - Used to run the Gazebo simulation
- book_ros2 - Used to navigate properly with the br2_navigation package
__
As a curiosity, our package is also parameterized so the waypoints can be easily changed if wanted as well as the names of the different locations through thew file params.yaml Tiago, by means of the implementing code, checks five points that it receives as parameters one by one. First the gym area, then the bed, the pilates area, the area around the sofa and finally the kitchen. Once it has patrolled all of them, it returns to the first one and repeats the sequence The implementation is dome with continuous integration
Here is a schematic image of the behavior tree used for the implementation of the code:
In addition, we also have a video of how our package works:
Please read the CONTRIBUTING.md for details of our code of conduct, and the collaboration process
Practice carried out by URJC students and members of the NocomPila team:
- Javier Mayorga Caro - javioled
- Marvin Pancracio Manso - mpancracio2020
- Moisés Muñoz Suárez - mmunozs2020
- Víctor Bárcena Mena - vbarcena2020
You can also find more information about all our projects in our GitHub
Also you can go to our youtube channel to watch more videos
This project is under license, for more details see the file LICENSE