Skip to content

Commit

Permalink
tf2 listener cpp tutorial: minor syntax/wording improvements (#4434)
Browse files Browse the repository at this point in the history
* tf2 listener cpp tutorial: minor syntax/wording improvements

* add link to tf2 concepts page

(cherry picked from commit bfbd9bc)

# Conflicts:
#	source/Tutorials/Intermediate/Tf2/Writing-A-Tf2-Listener-Cpp.rst
  • Loading branch information
ottojo authored and mergify[bot] committed May 15, 2024
1 parent 2cc0ec7 commit 6322516
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions source/Tutorials/Intermediate/Tf2/Writing-A-Tf2-Listener-Cpp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,11 @@ Open the file using your preferred text editor.

// Call on_timer function every second
timer_ = this->create_wall_timer(
<<<<<<< HEAD
1s, std::bind(&FrameListener::on_timer, this));
=======
1s, [this]() {return this->on_timer();});
>>>>>>> bfbd9bc4 (tf2 listener cpp tutorial: minor syntax/wording improvements (#4434))
}

private:
Expand Down Expand Up @@ -212,7 +216,7 @@ Open the file using your preferred text editor.
To understand how the service behind spawning turtle works, please refer to :doc:`writing a simple service and client (C++) <../../Beginner-Client-Libraries/Writing-A-Simple-Cpp-Service-And-Client>` tutorial.

Now, let's take a look at the code that is relevant to get access to frame transformations.
The ``tf2_ros`` contains a ``TransformListener`` header file implementation that makes the task of receiving transforms easier.
The ``tf2_ros`` contains a ``TransformListener`` class that makes the task of receiving transforms easier.

.. code-block:: C++

Expand All @@ -235,7 +239,7 @@ We call ``lookup_transform`` method with following arguments:

#. The time at which we want to transform

Providing ``tf2::TimePointZero()`` will just get us the latest available transform.
Providing ``tf2::TimePointZero`` will just get us the latest available transform.
All this is wrapped in a try-catch block to handle possible exceptions.

.. code-block:: C++
Expand All @@ -244,6 +248,10 @@ All this is wrapped in a try-catch block to handle possible exceptions.
toFrameRel, fromFrameRel,
tf2::TimePointZero);

The resulting transformation represents the position and orientation of the target turtle relative to ``turtle2``.
The angle between the turtles is then used to calculate a velocity command to follow the target turtle.
For more general information about tf2 see also the :doc:`tf2 page in the Concepts section <../../../Concepts/Intermediate/About-Tf2>`.

1.2 CMakeLists.txt
~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -323,7 +331,7 @@ The resulting file should look like:
),
])
This will declare a ``target_frame`` launch argument, start a broadcaster for second turtle that we will spawn and listener that will subscribe to those transformations.
This will declare a ``target_frame`` launch argument, start a broadcaster for the second turtle that we will spawn and a listener that will subscribe to those transformations.

3 Build
^^^^^^^
Expand Down

0 comments on commit 6322516

Please sign in to comment.