Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ This gives you a clear view of timing patterns, delays, and irregularities, maki
The default interval is 1 second.
The default statistics topic is ``/statistics``.

:doc:`Learn how to enable topic statistics </Tutorials/Advanced/Topic-Statistics-Tutorial/Topic-Statistics-Tutorial>`
:doc:`Learn how to enable topic statistics <../../Tutorials/Advanced/Topic-Statistics-Tutorial/Topic-Statistics-Tutorial>`

Services
--------
Expand Down
30 changes: 15 additions & 15 deletions source/First-Steps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,54 +35,54 @@ Steps
1 Learn about fundamental concepts behind ROS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* :doc:`About ROS </About-ROS>`
* :doc:`/Concepts/Basic/About-Nodes`
* :doc:`/Concepts/Basic/Interfaces-Topics-Services-Actions`
* :doc:`/Concepts/Basic/About-Parameters`
* :doc:`About ROS <About-ROS>`
* :doc:`Concepts/Basic/About-Nodes`
* :doc:`Concepts/Basic/Interfaces-Topics-Services-Actions`
* :doc:`Concepts/Basic/About-Parameters`

2 Install ROS and turtlesim
^^^^^^^^^^^^^^^^^^^^^^^^^^^

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>`
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>`
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>`

3 Try out working with the main communication components of the ROS framework
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

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

4 Learn about introspection with logs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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`
To see introspection through logs in action, complete the rqt_console tutorial: :doc:`Tutorials/Beginner-CLI-Tools/Using-Rqt-Console/Using-Rqt-Console`

5 Learn about using launch files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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`
Complete the launch files tutorial: :doc:`Tutorials/Beginner-CLI-Tools/Launching-Multiple-Nodes/Launching-Multiple-Nodes`

6 Learn about data recording and playback
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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`
Complete the recording and playback tutorial: :doc:`Tutorials/Beginner-CLI-Tools/Recording-And-Playing-Back-Data/Recording-And-Playing-Back-Data`

Next steps
----------

To complete your knowledge of the ROS framework, we recommend familiarizing yourself with ROS client libraries: :doc:`/Tutorials/Beginner-Client-Libraries`
To complete your knowledge of the ROS framework, we recommend familiarizing yourself with ROS client libraries: :doc:`Tutorials/Beginner-Client-Libraries`
2 changes: 1 addition & 1 deletion source/How-To-Guides/Core-maintainer-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ A pull request can be merged if all of the following are true:
* The CI build reports a passing result on all platforms
* The PR has been reviewed and approved by at least one maintainer

For more information about what happens when a PR is reviewed, see :doc:`/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR`.
For more information about what happens when a PR is reviewed, see :doc:`../The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR`.

After a PR is merged, it will automatically get built with the next `nightlies <https://ci.ros2.org/view/nightly>`__.
It is highly recommended to check the nightlies after merging pull requests to ensure no regressions have occurred.
Expand Down
2 changes: 1 addition & 1 deletion source/How-To-Guides/Using-Custom-Rosdistro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The motivating example that this guide will use is a desire to use a previous ve
It is possible that during transition periods from one operating system to another, Rolling on the older operating system may become unusable due to support shifting to a new OS (i.e. moving to Ubuntu 22.04 to 24.04).
Thus, we wish to set a prior version of rosdistro that aligns with a working Rolling distribution on a given operating system to keep our systems functioning before upgrading to the new operating system.

To achieve this with package binaries, take a look at the :doc:`snapshot repository </Installation/Snapshot-Repository>`.
To achieve this with package binaries, take a look at the :doc:`snapshot repository <../Installation/Snapshot-Repository>`.

Important Preliminaries
-----------------------
Expand Down
6 changes: 3 additions & 3 deletions source/Installation/Snapshot-Repository.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ This article describes how to install ROS from a snapshot of the ROS apt reposit
Summary
-------

Packages are synced from the ``ros-testing`` :doc:`apt repository </Installation/Testing>` into the main ROS apt repository periodically for each active distribution.
Packages are synced from the ``ros-testing`` :doc:`apt repository <Testing>` into the main ROS apt repository periodically for each active distribution.
When a sync happens, the older versions of the updated packages are removed from the main repository and can no longer be installed.
Also, while maintainers and ROS Bosses strive to avoid regressions, packages failing to build are removed when syncing.
This is disruptive if your build or deployment depends on a specific set of package versions.
Expand Down Expand Up @@ -114,7 +114,7 @@ Then update the apt caches:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The rosdistro index is versioned separately from the apt repositories, so ``rosdep`` may resolve keys against a newer state of `rosdistro <https://github.com/ros/rosdistro>`__ than the snapshot you installed.
Syncs are tagged in ``rosdistro`` using the same ``<distribution>/<date>`` naming as snapshots, so you can :doc:`pin the index </How-To-Guides/Using-Custom-Rosdistro>` to the tag matching your snapshot.
Syncs are tagged in ``rosdistro`` using the same ``<distribution>/<date>`` naming as snapshots, so you can :doc:`pin the index <../How-To-Guides/Using-Custom-Rosdistro>` to the tag matching your snapshot.

.. code-block:: console

Expand Down Expand Up @@ -200,7 +200,7 @@ How is this different from the ``ros-testing`` repository?
The two point in opposite directions.
The ``ros-testing`` repository holds packages that have *not yet* been synced into the main repository, so you can test them before a release.
A snapshot holds packages exactly as they were at a *past* sync, so you can keep installing the versions you already tested.
See :doc:`Testing with pre-release binaries </Installation/Testing>`.
See :doc:`Testing with pre-release binaries <Testing>`.

Can I use a snapshot on a production robot?
Snapshots receive no bug fixes and no security updates.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Summary
Making a pull request allows you to collaborate with other ROS contributors, providing a space to discuss and review your code changes before a ROS maintainer merges them.
Pull requests are welcome for any of `the ROS repositories <https://github.com/ros2>`__.

For more information about contribution etiquette, see :doc:`Contributing </The-ROS2-Project/Contributing>`.
For more information about contribution etiquette, see :doc:`Contributing <..>`.

Prerequisites
-------------
Expand All @@ -29,13 +29,13 @@ Prerequisites

* If your pull request is for a code change:

* Make sure you've followed the guidance in the :doc:`Developer guide </The-ROS2-Project/Contributing/Developer-Guide>`.
* Check that your code complies with the relevant section of the :doc:`Code style guide </The-ROS2-Project/Contributing/Code-Style-Language-Versions>`.
* Make sure you've followed the guidance in the :doc:`Developer guide <../Developer-Guide>`.
* Check that your code complies with the relevant section of the :doc:`Code style guide <../Code-Style-Language-Versions>`.
* Make sure you've :ref:`run the tests <colcon-run-the-tests>` and the appropriate linter for your code changes.

* If your pull request is for a documentation change:

* Make sure you've followed the guidance in :doc:`/The-ROS2-Project/Contributing/Contributing-To-ROS-2-Documentation`.
* Make sure you've followed the guidance in :doc:`../Contributing-To-ROS-2-Documentation`.

Steps
-----
Expand Down Expand Up @@ -101,7 +101,7 @@ Aim to reply back to review comments within one week, so that you and the review
4 Merging the pull request
^^^^^^^^^^^^^^^^^^^^^^^^^^

After you've actioned any feedback, your pull request must be approved by a :doc:`Committer for the target ROS repository </The-ROS2-Project/Governance>` before it can be merged.
After you've actioned any feedback, your pull request must be approved by a :doc:`Committer for the target ROS repository <../../Governance>` before it can be merged.

When the Committer approves your pull request, they will merge it to the target branch (usually **rolling**), and you will receive a notification from GitHub.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ Summary
Reviewing a pull request (PR) from a contributor allows you to check that their changes meet the appropriate guidelines and standards.
Anyone is welcome to review and approve a pull request.
Changes are ready to merge after they have been approved.
Only a :doc:`Committer </The-ROS2-Project/Governance>` for the target repository can merge a pull request into that repository, and they will not do so until it has been approved.
Only a :doc:`Committer <../../Governance>` for the target repository can merge a pull request into that repository, and they will not do so until it has been approved.

Prerequisites
-------------

A code or documentation contributor has :doc:`made a pull request </The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR>` to merge their changes into one of `the ROS repositories <https://github.com/ros2>`__.
A code or documentation contributor has :doc:`made a pull request <Making-a-PR>` to merge their changes into one of `the ROS repositories <https://github.com/ros2>`__.

Steps
-----
Expand Down Expand Up @@ -57,7 +57,7 @@ Steps
* Follow the :doc:`Code style guide <../Code-Style-Language-Versions>`.
* Include tests for the new feature or bug fix.

* For documentation changes, ensure the changes follow the :doc:`documentation guidance </The-ROS2-Project/Contributing/Contributing-To-ROS-2-Documentation>`.
* For documentation changes, ensure the changes follow the :doc:`documentation guidance <../Contributing-To-ROS-2-Documentation>`.
* Confirm that the Continuous Integration (CI) run for the pull request passes cleanly.

#. Provide your review comments.
Expand Down Expand Up @@ -117,7 +117,7 @@ When you are satisfied with the changes and they are ready to be merged, approve
* A pull request must have at least one approval, and in most cases, two approvals, from a developer (other than the author) before it can be merged to the target branch.
* Only a Committer for the target repository can merge an approved pull request.

* See the :doc:`current ROS Committers </The-ROS2-Project/Governance>` for the list of people with merge permissions for the target repository.
* See the :doc:`current ROS Committers <../../Governance>` for the list of people with merge permissions for the target repository.

* If the pull request has any dependencies, ensure that dependent pull requests are merged in the correct order.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Following is the definition of the class's constructor.
``super().__init__`` calls the `Node <{package_link(rclpy)}api/node.html>`__ class's constructor and gives it your node name, in this case ``minimal_publisher``.

`create_publisher <{package_link(rclpy)}api/node.html#rclpy.node.Node.create_publisher>`__ declares that the node publishes messages of type {interface(std_msgs/msg/String)} (imported from the ``std_msgs.msg`` module), over a topic named ``topic``, and that the "queue size" is 10.
Queue size is a required :doc:`Quality of Service </Concepts/Intermediate/About-Quality-of-Service-Settings>` (QoS) setting that limits the amount of queued messages if a subscriber is not receiving them fast enough.
Queue size is a required :doc:`Quality of Service <../../Concepts/Intermediate/About-Quality-of-Service-Settings>` (QoS) setting that limits the amount of queued messages if a subscriber is not receiving them fast enough.

Next, `create_timer <{package_link(rclpy)}api/node.html#rclpy.node.Node.create_timer>`__ is used to create a callback that executes every 0.5 seconds.
``self.i`` is a counter used in the callback.
Expand Down Expand Up @@ -415,7 +415,7 @@ Make sure to save the file, and then your pub/sub system should be ready.
4 Build and run
^^^^^^^^^^^^^^^
You likely already have the {package(rclpy)} and {package(std_msgs)} packages installed as part of your ROS 2 system.
It's good practice to run `rosdep <https://docs.ros.org/en/independent/api/rosdep/html/>`__ (check the :doc:`rosdep tutorial </Tutorials/Intermediate/Rosdep>`) in the root of your workspace (``ros2_ws``) to check for missing dependencies before building:
It's good practice to run `rosdep <https://docs.ros.org/en/independent/api/rosdep/html/>`__ (check the :doc:`rosdep tutorial <../Intermediate/Rosdep>`) in the root of your workspace (``ros2_ws``) to check for missing dependencies before building:

.. tabs::

Expand Down
Loading