A collection of ROS 2 demonstration packages for the TurtleBot 2 platform, including teleoperation, following, mapping, and localization.
turtlebot2_demo is a collection of demonstration packages that enable the TurtleBot 2 mobile robot to run on ROS 2 (Robot Operating System 2). It provides core robotics functionalities like teleoperation, object following, environment mapping, and localization, serving as a migration example from ROS 1 to the newer ROS 2 framework. The project solves the problem of adapting existing TurtleBot 2 hardware and software to work with ROS 2's improved middleware and architecture.
Robotics developers and researchers working with TurtleBot 2 platforms who want to migrate their applications to ROS 2, or those learning ROS 2 through practical mobile robot examples.
Developers choose this project because it provides working, tested examples of key robotics applications on ROS 2, demonstrates multiple code porting strategies from ROS 1, and serves as an official reference implementation from the ROS 2 development team.
This repository provides a suite of demonstration applications for the TurtleBot 2 mobile robot using the ROS 2 (Robot Operating System 2) framework. It serves as a critical step in migrating robotics functionality from ROS 1 to the newer ROS 2 ecosystem, showcasing different porting strategies for existing components.
The project is a practical exploration of ROS 2 migration, intentionally using multiple implementation strategies to discover best practices for porting robotics software from the ROS 1 ecosystem.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Demonstrates four distinct porting strategies from ROS 1 to ROS 2, such as writing new rclcpp nodes or forking packages, providing real-world reference for developers transitioning codebases.
As part of the ROS 2 project, it ensures compatibility with ROS 2 frameworks like rclcpp and serves as a trusted reference implementation from the core development team.
Includes key robotics applications like joystick teleoperation, object following with depth cameras, 2D SLAM with Cartographer, and AMCL localization, covering essential mobile robot tasks.
The README provides step-by-step guides for installation from binaries or source, including dependency management and udev rule configuration, which reduces initial setup hurdles.
Primarily designed for the Orbbec Astra camera; using Kinect or Asus Xtion Pro requires extra work, as noted in the README, which limits flexibility for users with different sensors.
Installation involves multiple steps, such as building from source with memory constraints and managing ROS 1 dependencies, making it time-consuming and prone to errors for newcomers.
The project is explicitly described as a work in progress with functionality missing compared to the ROS 1 equivalent, so it's not suitable for applications needing all original features.
Tied to specific ROS 2 distributions like Bouncy, which may be outdated, and requires corresponding ROS 1 versions, leading to potential compatibility problems with newer systems.