Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermediate launch tutorial #2002

Merged
merged 18 commits into from
Oct 13, 2021
Merged

Intermediate launch tutorial #2002

merged 18 commits into from
Oct 13, 2021

Conversation

kurshakuz
Copy link
Collaborator

This tutorial shows the way to use launch files for large projects. It also shows examples of using parameters, YAML files, remappings, namespaces, default arguments, and RViz configs in launch files.

Signed-off-by: Shyngyskhan Abilkassov abilkasov@gmail.com

@kurshakuz kurshakuz changed the title Launch tutorial Intermediate launch tutorial Oct 9, 2021
@audrow audrow self-requested a review October 11, 2021 16:24
Copy link
Member

@audrow audrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good.

Some high level feedback:

  • Think about where you will end paragraphs. In general, I think of one paragraph as one idea. It should be fairly self-contained. I've advised combining several paragraphs.
  • Make sure to be clear about parameters and arguments. In some sections it seems that they are used interchangeably, but they are different.
  • Lastly, this PR seemed to have more grammar mistakes and typos than some of your previous PRs. Make sure to give it a proofread before marking the PR as ready for review.

That being said, overall the content is really good. Thanks for putting this together!

@kurshakuz
Copy link
Collaborator Author

kurshakuz commented Oct 12, 2021

I have now included some more content covering basics of using namespaces and wildcards. However, this tutorial does not go into a lot of details and tries to cover as much content as possible.

More in depth tutorials could definitively be helpful, especially the one covering more wildcard syntax like /**/some_node and /foo/*. That information was dispersed among different PRs and issues and finding those took some time.

@kurshakuz kurshakuz requested a review from audrow October 12, 2021 11:09
Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a small comment

Copy link
Member

@audrow audrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks better. I've added a few phrasing changes.

Do you think it would be good to also cover the wildcard within a namespace? (See comment)


.. code-block:: YAML

/**:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would also be good to show how to use the wildcard operator to set parameters for a subset of nodes (which I think is possible). For example, something like, /turtles/**, which would apply to nodes in the /turtles namespace.

Copy link
Collaborator Author

@kurshakuz kurshakuz Oct 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have omitted that for a time being as it currently does not work as expected. I tried to use that /**/sim phrase, but it is not working. I mentioned my case here: ros2/design#303 (comment)

I believe also that design features are not yet fully defined as some related PRs and issues are still open ros2/rclcpp#1265 (comment).

Otherwise, do you know the way to make it work?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This syntax could be added or covered in its own tutorial later as mentioned in #2002 (comment).

Copy link
Member

@audrow audrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, nice work!

@audrow audrow merged commit 9a63591 into ros2:rolling Oct 13, 2021
@kurshakuz
Copy link
Collaborator Author

@mergify backport foxy galactic

mergify bot pushed a commit that referenced this pull request Oct 13, 2021
* launch code and initial tutorial structure

* add more information about ROS parameters

* add sections on remappings and rviz config

* update section on env variables

* update code descriptions

* add results section

* remove pipfile

* add setup.py configuration instructions

* add prerequisites section

* restructure and enumerate sections

* apply review suggestions

* fix grammar

* add section on using namespaces

* add subsection on wildcards

* instruct to create a new launch file instead of updating the existing

* minor fix

* add reference to Creating your first ROS 2 package tutorial

* apply suggestions

(cherry picked from commit 9a63591)
mergify bot pushed a commit that referenced this pull request Oct 13, 2021
* launch code and initial tutorial structure

* add more information about ROS parameters

* add sections on remappings and rviz config

* update section on env variables

* update code descriptions

* add results section

* remove pipfile

* add setup.py configuration instructions

* add prerequisites section

* restructure and enumerate sections

* apply review suggestions

* fix grammar

* add section on using namespaces

* add subsection on wildcards

* instruct to create a new launch file instead of updating the existing

* minor fix

* add reference to Creating your first ROS 2 package tutorial

* apply suggestions

(cherry picked from commit 9a63591)
@mergify
Copy link
Contributor

mergify bot commented Oct 13, 2021

Command backport foxy galactic: success

Backports have been created

Hey, I reacted but my real name is @Mergifyio

audrow pushed a commit that referenced this pull request Oct 13, 2021
* launch code and initial tutorial structure

* add more information about ROS parameters

* add sections on remappings and rviz config

* update section on env variables

* update code descriptions

* add results section

* remove pipfile

* add setup.py configuration instructions

* add prerequisites section

* restructure and enumerate sections

* apply review suggestions

* fix grammar

* add section on using namespaces

* add subsection on wildcards

* instruct to create a new launch file instead of updating the existing

* minor fix

* add reference to Creating your first ROS 2 package tutorial

* apply suggestions

(cherry picked from commit 9a63591)

Co-authored-by: kurshakuz <abilkasov@gmail.com>
audrow pushed a commit that referenced this pull request Oct 13, 2021
* launch code and initial tutorial structure

* add more information about ROS parameters

* add sections on remappings and rviz config

* update section on env variables

* update code descriptions

* add results section

* remove pipfile

* add setup.py configuration instructions

* add prerequisites section

* restructure and enumerate sections

* apply review suggestions

* fix grammar

* add section on using namespaces

* add subsection on wildcards

* instruct to create a new launch file instead of updating the existing

* minor fix

* add reference to Creating your first ROS 2 package tutorial

* apply suggestions

(cherry picked from commit 9a63591)

Co-authored-by: kurshakuz <abilkasov@gmail.com>
@kurshakuz kurshakuz deleted the launch-tutorial branch October 27, 2021 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants