-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Environment config tutorial #334
Conversation
Signed-off-by: maryaB-osr <marya@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
The reason that this doesn't really show up on Windows on macOS is because neither our packaging nor our from-source instructions embed the distribution name. We should probably update those instructions to do something like: macOS:
Windows:
One general comment I have: is it at all possible to get a preview of what these will look like "live"? It would just make reviewing them easier. Thanks. I'll do a review of the actual changes as best I can without it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left a bunch of comments about the actual content.
Background | ||
---------- | ||
|
||
ROS 2 relies on the notion of combining spaces using the shell environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be:
ROS 2 relies on the notion of combining workspaces using the shell environment.
Though it occurs to me that we don't define what a workspace is in this tutorial. Do we define that elsewhere? If so, we should link to it. If not, we should add a definition here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I asked you about the interchangeability of "workspace" and "environment" and it was unclear. So how would you define "workspace" in the context of this tutorial where we're using the word "environment"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, so the thing is that they are somewhat intertwined.
Generally, "environment" refers to how your shell is setup. When you first start up the shell (assuming no customizations), you'll have just a few environment variables setup: PATH
for finding executables, SHELL
defining what shell you are using, etc.
A "workspace" is a ROS term for where you are doing development. /opt/ros/dashing
is a workspace (though a special one) that defines the core of ROS 2; we generally refer to this as an "underlay" workspace, since you layer things on top of it. When developing for a robot, you'll also typically have a local workspace (say in ~/robot_ws
) that has the robot-specific code you are working on. This is generally referred to as an "overlay" workspace.
Where the environment and the workspace overlap is when you source /opt/ros/dashing/setup.bash
and ~/robot_ws/install/local_setup.bash
. When you do that, the workspaces will change your environment so that things that they provide can be found. They'll modify your PATH to find executables, modify LD_LIBRARY_PATH to find libraries, modify PYTHONPATH to find python modules, etc.
Let me know if this explanation makes more sense to you, or if you need further clarification here.
This enables heroku "review apps" Signed-off-by: Michael Carroll <michael@openrobotics.org>
Note, I cherry-picked #336 to here, just to verify Heroku behavior. |
I was trying to apply this tutorial to everyone (all platforms) but I'm just going to go with the route @jacobperron suggested and assume Linux + installed from debians. So that means we don't need all the macOS and Windows commands as well. |
Something that might be worth mentioning in this tutorial is the significance of the variable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added some more context for you.
Honestly, I preferred your previous plan of making tabs for Linux, macOS, and Windows. Just removing the latter two seems like a step backwards to me, as it is our intention to support all of those, and I think the tutorials should follow.
Background | ||
---------- | ||
|
||
ROS 2 relies on the notion of combining spaces using the shell environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, so the thing is that they are somewhat intertwined.
Generally, "environment" refers to how your shell is setup. When you first start up the shell (assuming no customizations), you'll have just a few environment variables setup: PATH
for finding executables, SHELL
defining what shell you are using, etc.
A "workspace" is a ROS term for where you are doing development. /opt/ros/dashing
is a workspace (though a special one) that defines the core of ROS 2; we generally refer to this as an "underlay" workspace, since you layer things on top of it. When developing for a robot, you'll also typically have a local workspace (say in ~/robot_ws
) that has the robot-specific code you are working on. This is generally referred to as an "overlay" workspace.
Where the environment and the workspace overlap is when you source /opt/ros/dashing/setup.bash
and ~/robot_ws/install/local_setup.bash
. When you do that, the workspaces will change your environment so that things that they provide can be found. They'll modify your PATH to find executables, modify LD_LIBRARY_PATH to find libraries, modify PYTHONPATH to find python modules, etc.
Let me know if this explanation makes more sense to you, or if you need further clarification here.
Oh yeah, this is a good idea. I think this should be added. |
Is it necessary to use ROS 2? It seems a little advanced. I will add it, but can I put (advanced) in the heading? |
I agree that it's not the best idea, and I revoke it, but I think it's a big problem that some of the Windows solutions are basically just "google it". I can try to come up with a way to make it more tactful though. I was also worried about having more and more shortcomings like that pop up throughout the rest of the tutorials. |
I totally agree that we shouldn't put "google it" into the tutorials. My previous comments to this effect were more along the lines of "somebody needs to do more research here to figure out what the correct solution is". And I think we should do that research before releasing the tutorial. |
It's necessary if you are on a network with multiple people using ROS 2, otherwise your turtle in turtlesim might move around unexpectedly if someone else is doing the tutorials at the same time as you :D I think it's worth suggestion something like, "if your lab or office has multiple computers running ROS 2, you should coordinate with your colleagues in selecting different domain IDs". |
@clalancette which repo would be a good place to make an issue about this? |
Signed-off-by: maryaB-osr <marya@openrobotics.org>
…into tutorial1 Signed-off-by: maryaB-osr marya@openrobotics.org
The from-source instructions would be in this repository, in https://github.com/ros2/ros2_documentation/blob/master/source/Installation/Dashing/ (and the other versions). The packaging one is trickier. It may also be the case that we just fix this with documentation in this repository. For instance, in https://index.ros.org/doc/ros2/Installation/Dashing/Windows-Install-Binary/#downloading-ros-2 where we say "Unpack the zip file", it might be better to assume |
Signed-off-by: maryaB-osr <marya@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
@clalancette @jacobperron |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good!
I have a few more suggestions.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
If your lab or office has multiple computers running ROS 2, it is important that each system sets a unique value for the environment variable ``ROS_DOMAIN_ID``. | ||
You can find out how to do that `here <https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#choose-a-dds-domain-id>`__. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than linking to that on-boarding guide (which has some references intended for people working at OSRF and should probably be relocated) I think it's better to provide an explanation/how-to in this section.
You can find out how to do that `here <https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#choose-a-dds-domain-id>`__. | |
The domain ID is used to segment the network in order to avoid interference between ROS 2 programs. | |
Once you have determined a unique integer for yourself, you can set the environment variable with the following command: |
Linux/macOS:
export ROS_DOMAIN_ID=<your_domain_id>
Windows:
set ROS_DOMAIN_ID <your_domain_id>
To have the setting persist between shell sessions, you can add the above command to your shell startup script (Linux/macOS). For Windows, I think you can use setx
(untested):
setx ROS_DOMAIN_ID <your_domain_id>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, agreed, I like the addition of this section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Jacob! For now I'm going to leave a todo under this section to test it on Windows. Unfortunately don't have time for that atm, but testing will happen once all tutorials are done.
(unless that's horrible practice and there's any objections...?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can remove the TODO, since we should go through and test the tutorials anyways before the next release. If something is wrong, someone will raise an issue or PR 🤞
Co-Authored-By: Jacob Perron <jacob@openrobotics.org>
Co-Authored-By: Jacob Perron <jacob@openrobotics.org>
Co-Authored-By: Jacob Perron <jacob@openrobotics.org>
Co-Authored-By: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love the tabbed interface for Linux, macOS, and Windows. Overall, this is looking really good. I have one minor comment to fix, and after that and @jacobperron 's comment about ROS_DOMAIN_ID is fixed, I'm happy to approve.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
If your lab or office has multiple computers running ROS 2, it is important that each system sets a unique value for the environment variable ``ROS_DOMAIN_ID``. | ||
You can find out how to do that `here <https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#choose-a-dds-domain-id>`__. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, agreed, I like the addition of this section.
Also left a note to test Windows domain ID command Signed-off-by: maryaB-osr <marya@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One more thing to fix :).
|
||
.. code-block:: bash | ||
|
||
set ROS_DOMAIN_ID <your_domain_id> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be:
setx ROS_DOMAIN_ID <your_domain_id>
|
||
To maintain this setting between sessions on Linux and macOS, you can add the above command to your shell startup script using the syntax from section 2 of this tutorial. | ||
|
||
On Windows, you can use the command: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This block should be removed now, since it is up in the tabbed interface.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to add under line 171: "The Windows command does this automatically" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see. I misread this section.
Actually, I think it would be better to put all of this language underneath the individual tabs. That way we don't have this floating section outside of the tabbed interface. Does that make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, that was my initial thought too. No reason for the tabs to only include code!
Signed-off-by: maryaB-osr <marya@openrobotics.org>
Signed-off-by: maryaB-osr <marya@openrobotics.org>
* Environment config tutorial (#334) * Environment config tutorial Signed-off-by: maryaB-osr <marya@openrobotics.org> * Added pages to some empty links for CI check Signed-off-by: maryaB-osr <marya@openrobotics.org> * Add requirements.txt and app.json for Heroku build (#336) This enables heroku "review apps" Signed-off-by: Michael Carroll <michael@openrobotics.org> * Addressed reviews and implemented tabs Signed-off-by: maryaB-osr <marya@openrobotics.org> * Added tabs install instructions for travis Signed-off-by: maryaB-osr <marya@openrobotics.org> * Fixed Travis warnings Signed-off-by: maryaB-osr <marya@openrobotics.org> * Prereqs note about using debs. for linux Signed-off-by: maryaB-osr <marya@openrobotics.org> * Added reference for linking Signed-off-by: maryaB-osr <marya@openrobotics.org> * Update Goal statement Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * Remove leading arrowhead from Windows command Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * Empty line before .. todo: Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * "value" to "integer" for ROS_DOMAIN_ID Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * Added ROS_DOMAIN_ID explanation Signed-off-by: maryaB-osr <marya@openrobotics.org> * Link to ROS Answers Also left a note to test Windows domain ID command Signed-off-by: maryaB-osr <marya@openrobotics.org> * Syntax error on ROS answers link Signed-off-by: maryaB-osr <marya@openrobotics.org> * Changed domainID tabs to include script command Signed-off-by: maryaB-osr <marya@openrobotics.org> * Fixed too much indentation Signed-off-by: maryaB-osr <marya@openrobotics.org> * Update Windows ROS_DOMAIN_ID config section (#341) * Update Windows ROS_DOMAIN_ID config section Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update source/Tutorials/ConfiguringROS2Environment.rst Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * New tutorial for introducing turtlesim for ROS 2 (#342) * New tutorial for introducing turtlesim for ROS 2 Signed-off-by: maryaB-osr <marya@openrobotics.org> * Trying one image Signed-off-by: maryaB-osr <marya@openrobotics.org> * New file not included in toctree Signed-off-by: maryaB-osr <marya@openrobotics.org> * All images and fix toctree (?) Signed-off-by: maryaB-osr <marya@openrobotics.org> * More concise goal statement Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * Update Windows ROS_DOMAIN_ID config section (#341) * Update Windows ROS_DOMAIN_ID config section Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update source/Tutorials/ConfiguringROS2Environment.rst Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * Removed ros2 run explanation (for next tutorial) Signed-off-by: maryaB-osr <marya@openrobotics.org> * "turtled" to "turtle" Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * clalancette's requested changes Signed-off-by: maryaB-osr <marya@openrobotics.org> * dirk-thomas's requested changes Signed-off-by: maryaB-osr <marya@openrobotics.org> * forgot to remove "2" from file name Signed-off-by: maryaB-osr <marya@openrobotics.org> * fixed backticks and added sentence about pen Signed-off-by: maryaB-osr <marya@openrobotics.org> * corrections from dirk-thomas Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial on ROS 2 topics (#344) * New tutorial on ROS 2 topics Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed random ? Signed-off-by: maryaB-osr <marya@openrobotics.org> * comment out empty reference Signed-off-by: maryaB-osr <marya@openrobotics.org> * remove "on" Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * clarify topics definition Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * "process" > "topic" Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * reword "command line introspection" Co-Authored-By: William Woodall <william+github@osrfoundation.org> * properly name topics and nodes Co-Authored-By: William Woodall <william+github@osrfoundation.org> * clarify not all robots need a data stream Co-Authored-By: William Woodall <william+github@osrfoundation.org> * typo "you" > "your" Co-Authored-By: William Woodall <william+github@osrfoundation.org> * address comments on definition of topics Signed-off-by: maryaB-osr <marya@openrobotics.org> * Rearrange background info Signed-off-by: maryaB-osr <marya@openrobotics.org> * typo Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * minor edits Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial on ROS 2 services (#346) * New tutorial on ROS 2 services Signed-off-by: maryaB-osr <marya@openrobotics.org> * adding links on turtlesim, config, topics Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed cluttered parameter services Signed-off-by: maryaB-osr <marya@openrobotics.org> * YAML syntax only on cmd line Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * specified synchronous services will wait Signed-off-by: maryaB-osr <marya@openrobotics.org> * single quotes inside double quotes Co-Authored-By: Scott K Logan <logans@cottsay.net> * addressed cottsay's reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * more intuitive topics/services description Signed-off-by: maryaB-osr <marya@openrobotics.org> * more concise wording Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * missing comma Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * typo Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for ROS 2 parameters (#347) * New tutorial for ROS 2 parameters Signed-off-by: maryaB-osr <marya@openrobotics.org> * Forgot toctree and goal statement Signed-off-by: maryaB-osr <marya@openrobotics.org> * italics > bold Signed-off-by: maryaB-osr <marya@openrobotics.org> * small edits based on reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * Change the main README to say to use pip for sphinx and required sphinx-tab installation. (#363) Add sphinx and sphinx-tab into requirements.txt Clarify to use pip3 so people implicitly know that python3 is required Further clarify sphinx requirements * New tutorial for ROS 2 nodes (#343) * New tutorial for ROS 2 nodes Signed-off-by: maryaB-osr <marya@openrobotics.org> * commented out empty reference (for now) Also added link target to concept overview page Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed pic link, added code blocks Signed-off-by: maryaB-osr <marya@openrobotics.org> * "Hopefully" sounds silly Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * "multiple nodes" to "one or more" Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * added node info with actions Signed-off-by: maryaB-osr <marya@openrobotics.org> * added links for prereqs and next steps Signed-off-by: maryaB-osr <marya@openrobotics.org> * fixed node def & added design doc link Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for ROS 2 actions (#350) * New tutorial for ROS 2 actions Signed-off-by: maryaB-osr <marya@openrobotics.org> * travis warning Signed-off-by: maryaB-osr <marya@openrobotics.org> * explicitly describe action goal process Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * correct services definition Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * correct implemenation details Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * cancel > preempt Co-Authored-By: Jacob Perron <jacob@openrobotics.org> * minor updates Signed-off-by: maryaB-osr <marya@openrobotics.org> * jacobperron's review Signed-off-by: maryaB-osr <marya@openrobotics.org> * Changed `action show` to `interface show` Signed-off-by: maryaB-osr <marya@openrobotics.org> * updated hidden actions in node info & removed bash Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for ROS 2 rqt_console (#351) * New tutorial for ROS 2 rqt_console Signed-off-by: maryaB-osr <marya@openrobotics.org> * missing spaces in topic pub yaml Co-Authored-By: Michel Hidalgo <michel@ekumenlabs.com> * change tense Co-Authored-By: Michel Hidalgo <michel@ekumenlabs.com> * first > top Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * specify new terminal Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * change file names and add links to prereqs Signed-off-by: maryaB-osr <marya@openrobotics.org> * minor changes from reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * addressed reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * typo + updated remapping syntax Signed-off-by: maryaB-osr <marya@openrobotics.org> * Updated remapping syntax (#354) * Updated remapping syntax Signed-off-by: maryaB-osr <marya@openrobotics.org> * tabs for eloquent/dashing remap syntax Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for ROS 2 bag files (#355) * New tutorial for ROS 2 bag files Signed-off-by: maryaB-osr <marya@openrobotics.org> * trying to make alt-text for internal links work Signed-off-by: maryaB-osr <marya@openrobotics.org> * added available links Signed-off-by: maryaB-osr <marya@openrobotics.org> * addressed reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for creating a workspace (#359) * New tutorial for creating a workspace Signed-off-by: maryaB-osr <marya@openrobotics.org> * typo Signed-off-by: maryaB-osr <marya@openrobotics.org> * typo Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * addressed reviews (dirk-thomas & clalancette) Signed-off-by: maryaB-osr <marya@openrobotics.org> * revert source paths until PR 380 merges Signed-off-by: maryaB-osr <marya@openrobotics.org> * underlay != main installation Co-Authored-By: Tully Foote <tfoote@osrfoundation.org> * main source not mandatory Co-Authored-By: Tully Foote <tfoote@osrfoundation.org> * underlay != main installation (again) Co-Authored-By: Tully Foote <tfoote@osrfoundation.org> * tfoote and clalancette suggestions Signed-off-by: maryaB-osr <marya@openrobotics.org> * trailing whitespace Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for creating a package in ROS 2 (#362) * New tutorial for creating a package in ROS 2 Signed-off-by: maryaB-osr <marya@openrobotics.org> * addressed review from ivanpauno & sloretz Signed-off-by: maryaB-osr <marya@openrobotics.org> * ivan's final review Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for ros2doctor (#378) * New tutorial for ros2doctor Signed-off-by: maryaB-osr <marya@openrobotics.org> * linter Signed-off-by: maryaB-osr <marya@openrobotics.org> * claireyywang's review Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for service and client using C++ (#370) * new tutorial for service and client using C++ Signed-off-by: maryaB-osr <marya@openrobotics.org> * linter fix Signed-off-by: maryaB-osr <marya@openrobotics.org> * linter Signed-off-by: maryaB-osr <marya@openrobotics.org> * forgot package name in pkg create Signed-off-by: maryaB-osr <marya@openrobotics.org> * improve sentence structure Co-Authored-By: Michel Hidalgo <michel@ekumenlabs.com> * minor changes Signed-off-by: maryaB-osr <marya@openrobotics.org> * target > targets * Update parameters tutorial (#384) * Update parameters tutorial Signed-off-by: maryaB-osr <marya@openrobotics.org> * linter Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for Python pub/sub (#364) * New tutorial for Python pub/sub Signed-off-by: maryaB-osr <marya@openrobotics.org> * fix linter issue Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed mentions of line numbers, plus other reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed comments from long code blocks Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed parenthesis from file names Signed-off-by: maryaB-osr <marya@openrobotics.org> * final nits Signed-off-by: maryaB-osr <marya@openrobotics.org> * macOS users already have dependencies installed Signed-off-by: maryaB-osr <marya@openrobotics.org> * Consistent indentation in code blocks Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * unneeded codeblock line Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for service/client with Python (#372) * New tutorial for service/client with Python Signed-off-by: maryaB-osr <marya@openrobotics.org> * title underline too short Signed-off-by: maryaB-osr <marya@openrobotics.org> * trailing whitespace Signed-off-by: maryaB-osr <marya@openrobotics.org> * fix indentation and other nits Signed-off-by: maryaB-osr <marya@openrobotics.org> * Consistent indentation in code blocks Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * wrong section Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for ROS 2 launch files (#353) * New tutorial for ROS 2 launch files Signed-off-by: maryaB-osr <marya@openrobotics.org> * Forgot to include in toctree Signed-off-by: maryaB-osr <marya@openrobotics.org> * trailing white space Signed-off-by: maryaB-osr <marya@openrobotics.org> * missing period Co-Authored-By: Chris Lalancette <clalancette@openrobotics.org> * inside pkg > provided by pkg Co-Authored-By: Michel Hidalgo <michel@ekumenlabs.com> * python modules explanation Co-Authored-By: Michel Hidalgo <michel@ekumenlabs.com> * handful of reviews Signed-off-by: maryaB-osr <marya@openrobotics.org> * linter & added next steps to rqt_console Signed-off-by: maryaB-osr <marya@openrobotics.org> * more trailing whitespaces... Signed-off-by: maryaB-osr <marya@openrobotics.org> * trying linenos Signed-off-by: maryaB-osr <marya@openrobotics.org> * adjust indented space on linenos Signed-off-by: maryaB-osr <marya@openrobotics.org> * another attempt at linenos indentation Signed-off-by: maryaB-osr <marya@openrobotics.org> * change indentation Signed-off-by: maryaB-osr <marya@openrobotics.org> * fix indentation on python block Signed-off-by: maryaB-osr <marya@openrobotics.org> * give up on linenos for now Signed-off-by: maryaB-osr <marya@openrobotics.org> * fixed indentation...? Signed-off-by: maryaB-osr <marya@openrobotics.org> * New tutorial for C++ pub/sub (#366) * New tutorial for C++ pub/sub Signed-off-by: maryaB-osr <marya@openrobotics.org> * try C++ code highlighting Signed-off-by: maryaB-osr <marya@openrobotics.org> * one incorrect directive Signed-off-by: maryaB-osr <marya@openrobotics.org> * fixed some indentation Signed-off-by: maryaB-osr <marya@openrobotics.org> * changed entry points to executables Signed-off-by: maryaB-osr <marya@openrobotics.org> * removed parenthesis from file name Signed-off-by: maryaB-osr <marya@openrobotics.org> * New branch for cleaning up staging This commit organizes the order of the tutorials, adds an introduction to the beginner tutorials, and hyphenates all the page names Signed-off-by: maryaB-osr <marya@openrobotics.org> * added next steps sections and other internal links Signed-off-by: maryaB-osr <marya@openrobotics.org> * change msg show to interface show Signed-off-by: maryaB-osr <marya@openrobotics.org> * linter Signed-off-by: maryaB-osr <marya@openrobotics.org>
The goal here (and for all the tutorials) is to utilize tabs to switch between linux/osx/windows commands. I'm still trying to find a sphinx tabs extension that works.
In the mean time, it'd be good to know what the equivalent commands are in osx and windows for the commands on lines 40, 52, and 64.
Another question I have is about switching distros on osx and windows. The tutorial mentions that one of the benefits of sourcing setup files is how easy it makes it to switch between distros. However, just looking at the installation guides for osx and windows, the sourcing commands don't mention the distro.
linux:
source /opt/ros/<distro>/setup.bash
osx:
. ~/ros2_install/ros2-osx/setup.bash
windows:
> call C:\dev\ros2\local_setup.bat
Also wondering if the advice on line 74 (to retry the installation guide if your environment variables aren't set) makes sense.
And any other general feedback is appreciated.
Signed-off-by: maryaB-osr marya@openrobotics.org