Welcome to the ROS Noetic Tutorials repository! This repository is designed to help you learn and master ROS (Robot Operating System) Noetic using both Python and C++. We start with the basics and gradually move towards more advanced topics, including MoveIt and beyond.
- Introduction
- Getting Started
- Basic Concepts
- Intermediate Concepts
- Advanced Concepts
- Example Projects
- Contributing
- License
This repository contains a series of tutorials to help you learn ROS Noetic. Whether you are a beginner or an experienced developer, these tutorials will guide you through the process of building and deploying your own ROS-based applications.
To get started with these tutorials, you need to have ROS Noetic installed on your system. You can follow the official installation guide to set up your ROS environment.
Clone this repository to your local machine:
git clone https://github.com/abhismirai10/ros_noetic_tutorials.git
cd ros_noetic_tutorials
Learn how to create and manage nodes in ROS. Nodes are the basic building blocks of a ROS system. Understand how to use topics to communicate between nodes.
- Python: talker.py
- C++: talker.cpp
- Python: listener.py
- C++: listener.cpp
Learn how to create and use custom message types in ROS. Custom messages allow you to define specific data structures for communication between nodes.
- Python: msg_pub.py
- Python: msg_sub.py
- C++: msg_pub.cpp
- C++: msg_sub.cpp
Discover how to create services for synchronous communication.
- Python: services/server.py
- C++: services/server.cpp
Learn how to use parameters to configure your nodes.
Explore how to implement actions for long-running tasks.
- Python: actions/client.py
- C++: actions/client.cpp
Use launch files to start multiple nodes simultaneously.
- Launch: launch/tutorial.launch
Learn how to change parameters at runtime.
Dive into MoveIt for advanced motion planning and manipulation.
- Tutorial: moveit/moveit_tutorial.md
Implement navigation algorithms for autonomous robots.
- Tutorial: navigation/navigation_tutorial.md
Integrate perception capabilities into your ROS applications.
- Tutorial: perception/perception_tutorial.md
Check out these example projects that combine multiple concepts.
- Project 1: examples/project1
- Project 2: examples/project2
We welcome contributions from the community! If you have a tutorial or an improvement, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/tutorial-name
). - Commit your changes (
git commit -am 'Add new tutorial'
). - Push to the branch (
git push origin feature/tutorial-name
). - Create a new Pull Request.
This repository is licensed under the MIT License. See the LICENSE file for more details.
Happy coding and exploring ROS Noetic!
Feel free to customize this `README.md` file as per your specific needs.