.. _ros-code-from-a-clean-slate: ROS CODE: STARTING FROM A CLEAN SLATE ===================================== .. toctree:: :maxdepth: 2 :hidden: ros_create_catkin_ws_and_package ros_code_node_simple ros_code_cmakelists ros_run_and_launch ros_code_spin_at_frequency ros_code_pub_and_sub_simple ros_define_and_use_custom_message_types .. admonition:: Contents of this part posed as questions Put together in code :ref:`ros-key-elements` starting from a clean slate: #. :ref:`ros-create-catkin-ws-and-package`, from scratch #. :ref:`ros-code-node-simple` #. :ref:`ros-code-cmakelists` #. :ref:`ros-run-and-launch` #. :ref:`ros-code-spin-at-frequency` #. :ref:`ros-code-pub-and-sub-simple` #. :ref:`ros-define-and-use-custom-message-types` #. Define and use a custom service (C++ and Python) (coming soon) #. Interrogate topics, messages, and services (coming soon) #. Add and use parameters (coming soon) | ---- .. image:: https://i.creativecommons.org/l/by/4.0/88x31.png :alt: Creative Commons License :align: left :target: http://creativecommons.org/licenses/by/4.0/ | Paul N. Beuchat, 2023 | This page is licensed under a `Creative Commons Attribution 4.0 International License `_. ---- |