Skip to content

Latest commit

 

History

History
88 lines (58 loc) · 4.29 KB

File metadata and controls

88 lines (58 loc) · 4.29 KB

First steps with ROS - learning path

ROS (Robot Operating System) is an open-source ecosystem that provides framework, tools, and libraries for building, deploying, running, and maintaining robotic applications. This page presents a set of articles and hands-on activities to introduce the main concepts behind the ROS framework. Working through these will give you the essential knowledge needed to start developing applications with ROS.

Area: ROS-framework | Content-type: learning-path | Experience: beginner

The ROS framework is the “plumbing” which makes communication between different parts of a robot possible. It includes messaging, standard interfaces, and support for multiple programming languages and platforms.

You need to understand the fundamental concepts of the framework before you can work with ROS to develop or maintain applications. The turtlesim tool and the tutorials in this site will help you get up to speed.

None. The steps outlined in this article will guide you through downloading and installing everything you need to learn the basics of ROS.

ROS installation includes the essential packages for working with ROS. If you're familiar with Linux, our recommended platform is Ubuntu (deb packages). Otherwise, a good alternative installation platform is Windows (binaries): :doc:`Installation options </Installation>`

With turtlesim, a lightweight 2D simulation tool designed for beginners, you can learn core ROS concepts in a simple visual environment: :doc:`Install and set up turtlesim </Tutorials/Beginner-CLI-Tools/Introducing-Turtlesim/Introducing-Turtlesim>`

Use turtlesim to familiarize yourself with the main communication components and try out messaging in the ROS framework.

  1. Complete the nodes tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Nodes/Understanding-ROS2-Nodes`
  2. Complete the topics tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Topics/Understanding-ROS2-Topics`
  3. Complete the services tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Services/Understanding-ROS2-Services`
  4. Complete the parameters tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters`
  5. Complete the actions tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Actions/Understanding-ROS2-Actions`

Introspection enables you to see information about how a system is operating. Nodes use logs to output messages concerning events and status in a variety of ways.

To see introspection through logs in action, complete the rqt_console tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Using-Rqt-Console/Using-Rqt-Console`

Launch files allow you to start and configure a number of processes containing ROS nodes simultaneously, instead of opening multiple terminals and re-entering configuration details for each node.

Complete the launch files tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Launching-Multiple-Nodes/Launching-Multiple-Nodes`

Sometimes it's useful to replay data to reproduce the results of your tests and experiments, to debug your robot's behaviour, or to share your work with others.

Complete the recording and playback tutorial: :doc:`/Tutorials/Beginner-CLI-Tools/Recording-And-Playing-Back-Data/Recording-And-Playing-Back-Data`

To complete your knowledge of the ROS framework, we recommend familiarizing yourself with ROS client libraries: :doc:`/Tutorials/Beginner-Client-Libraries`