ROS2 CLI Reference
The following environment variables should have been set properly after a successful installation:
- To use a different domain ID
- To limit the ROS2 communication to localhost
# output a list of nodes with lifecycle $ ros2 lifecycle nodes # output a list of available transitions for a node $ ros2 lifecycle list <node_name> # get lifecycle state of a node $ ros2 lifecycle get <node_name> # trigger lifecycle state transition of a node $ ros2 lifecycle set <node_name> <transition>
Possible transitions to invoke are :
The ROS2 daemon is a node that helps to accelerate the node discovery process. It is not required to run ROS2 nodes but it makes the newly started node to discover other nodes faster, which is especially useful for CLI commands like "ros2 node list".
This set of commands is to check the ROS messages and services (as the interface between nodes)
To handle parameter files:
To start the same node using your saved parameter values, use:
This command pair is useful for testing if UDP multicast is working properly. You open one terminal and run "ros2 multicast receive" and then open another terminal and run "ros2 multicast send". If the send command is successful, you should see the message in the receive terminal.
On Linux, if the multicast communication is not successful, try to run the following command to enable multicast on the interface.
And you may also need to update the firewall rules to allow multicast traffic. 
Build Tools: colcon
$ colcon build --symlink-install # build the selected package only $ colcon build --symlink-install --packages-select <package_name> # build the selected package and its dependencies $ colcon build --symlink-install --packages-up-to <package_name> # build the selected package and packages that depends on it $ colcon build --symlink-install --packages-above <package_name>
The "--symlink-install" option is to create a symlink to the build directory instead of copying the files. "This allows the installed files to be changed by changing the files in the source space (e.g. Python files or other not compiled resourced) for faster iteration."
-  https://docs.ros.org/en/humble/Concepts/About-Domain-ID.html
-  https://github.com/ubuntu-robotics/ros2_cheats_sheet
-  https://docs.ros.org/en/rolling/How-To-Guides/Installation-Troubleshooting.html#enable-multicast
-  https://github.com/ros2/demos/blob/humble/lifecycle/README.rst