Skip to content

lucasleocarvalho/Robotica_Probabilistica

Repository files navigation

ROS2 Teaching Project for Undergratuate Students

This repository was created as a starting point for undergraduate students interested in learning about the Robot Operating System (ROS) — a robust and widely used robotics framework in the industry for a variety of applications. The course is structured into four modules, described below, with the following objectives:

  • 1 - Provide an introductory overview of robotics concepts and robot modeling;
  • 2 - Introduce the ROS ecosystem and its communication mechanisms with robotic hardware;
  • 3 - Explore the use of robot simulators to validate and test system functionality;
  • 4 - Present an introduction to computational vision and path planning concepts.

At the end of each module, students are given a practical challenge to apply their knowledge and reinforce learning through hands-on experience.

Modules

As mentioned above, each of these modules is designed to provide students with the fundamental concepts they need to progress through the course. The modules cover everything from basic principles to intermediate-level knowledge, preparing students to complete the assignments given at the end of each module. The course is divided as follows:

ROS2 - Basic concepts:

In this module, students will be introduced to the core concepts of the ROS 2 system, including node creation, topics, publishers, and subscribers. They will also be encouraged to develop basic scripts and test them using the tools available within the ROS environment, such as Rviz, Turtlesim, and others. By the end of this module, students are expected to be able to develop their own ROS 2 scripts and apply them within the Turtlesim simulation, demonstrating a solid understanding of the foundational elements of the system.

Simulation Environment

At this stage of the course, students are introduced to the Gazebo simulation environment, where they will learn the basics of robot and world creation. They are also encouraged to experiment with different robot and environment parameters to observe how these factors influence simulation effectiveness and system validation. By the end of this stage, students should be able to build their own simulations and customize them according to their specific objectives.

Robot Modeling

This module is intended to introduce students to the fundamentals of robot modeling, covering the core principles of robot dynamics and kinematics. Due to the complexity of this topic, the module serves primarily to help students understand the underlying concepts behind their simulations and gain insight into how these principles are applied in real-world applications.

Computational Vision and Path Planning

As a bonus in the course, students will be introduced to key concepts in computer vision — such as image tensor manipulation and the use of cameras as sensors — as well as an introduction to path planning. With this knowledge, they will be fully capable of developing their own basic obstacle avoidance and data acquisition scripts, and testing them within their simulated environments.

How to use

In order to use this repository, it's very important to know that it was created using the ROS 2 Humble distribution. Therefore, some functionalities might not work properly if you are using a different distribution. To get started, clone this repository into your ROS 2 workspace using:

git clone https://github.com/Ruzkita/Robotica_Probabilistica

You also need to install all the required libraries to run the script. To do that, open a terminal in the cloned repository and run:

pip install -r requirements.txt
sudo apt install ros-humble-cv-bridge

Then, build and source your workspace:

colcon build
source install/setup.bash

After this, you will be able to launch the simulation using:

ros2 launch ros2_gazeboworld launch_gazebo.py

References

https://docs.ros.org/en/humble/Tutorials.html
https://gazebosim.org/docs/latest/building_robot/

About

This repository was created to support robotics education for undergraduate students.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages