Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
R

robotics_essentials_ros2

> 编程语言
Open source

Learn the basics of robotics through hands-on experience using ROS 2 and Gazebo simulation.

2.5K stars0 likes1 views
WebsiteGitHub

About

Learn the basics of robotics through hands-on experience using ROS 2 and Gazebo simulation.

Robotics & ROS 2 Essentials

Welcome to an open-source repository that contains materials and exercises needed to learn the essential robotics skills using ROS 2.

This material is implemented for the 2024 iteration of the Master's level "Robotics & XR" course taught by Dr. Ilkka Jormanainen at the University of Eastern Finland, in collaboration with Henki Robotics.

Course overview

This course is designed to give you hands-on experience with the basics of robotics using ROS 2 and Gazebo simulation. The exercises focus on the Andino robot from Ekumen and are structured to gradually introduce you to ROS 2 and Docker.

No prior experience with ROS 2 or Docker is needed, and since everything runs through Docker, you won’t need to install ROS 2 on your system beforehand. Along the way, you’ll learn essential concepts like autonomous navigation and mapping for mobile robots. All the practical coding exercises are done in Python.

Exercises

This repository contains a set of exercises to learn the core concepts taught over the course through practical demos and coding exercises. Start from the exercises "0 - Setup" and follow the exercises one by one to learn the basics of robotics and ROS 2!

  1. Setup
    • Setup the exercises
    • Run the Gazebo simulation
    • Learn to use Docker
  2. ROS 2 Introduction
    • ROS 2 introduction
    • Gazebo and Rviz
    • ROS 2 topics; publish and subscribe
    • Transformations and tf-frames
  3. SLAM and Navigation Demo
    • Create a map using slam-toolbox
    • Navigate autonomously using Nav2
    • ROS 2 services
  4. Create your first ROS 2 package
    • ROS 2 packages - how to create your own package
    • Building and sourcing
    • ROS 2 Nodes
  5. Robot Odometry
    • Calculate and publish your robot's odometry using wheel velocities
    • Robot odometry and how to calculate it
    • Publish and subscribe to topics from Python code
  6. Path Planning
    • Basic navigation concepts
    • Modify Nav2 parameters
    • Custom path planning using Nav2

Lecture slides

These slides accompany the practical exercises included in this repository and are meant to be covered at the same time.

  1. Theme 1: Robotics in society
  2. Theme 2: Robotics applications
  3. Theme 3: Robot control theory
  4. Theme 4: Navigation
  5. Theme 5: Robotics & AI
  6. Theme 6: XR applications in Robotics

Contribute

Did you encounter a problem during your exercises, or did you find a mistake? Report issues in the "Issues" section in GitHub, and we will help you.

If you've found a fix to an existing issue, you can open a new Pull Request to fix it and contribute to this course. We highly appreciate all the contributions!

Maintainers

This course and repository is maintained by the main team members and co-founders of Henki Robotics Oy:

  • Janne Karttunen. LinkedIn. Github.
  • George-Cosmin Porusniuc. LinkedIn. Github.

Acknowledgements

We want to thank the following individuals for helping us in developing part of the material for this course and for providing support with teaching the in-person version of the course during the "Robotics & XR" Master's level course at the "University of Eastern Finland", in 2024 and 2025:

  • Prof. Ilkka Jormanainen
  • Md Sajib Pramanic
  • Haris Mashood

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++coursenavigationodometrypath-planning

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言