.. _isaac_sim_ros_bridge: =============================== ROS & ROS2 Bridge =============================== .. _isaac_sim_ros_bridge_about: About ================= The :ref:`isaac_sim_glossary_ros` Bridge Extensions connect |isaac-sim| to ROS or ROS2. The `Robot Operating System (ROS) `_ is a set of software libraries and tools to help build robot applications. This extension provides a common set of components to define the data being published/received between |isaac-sim| and ROS. .. note:: Only one of the ROS Bridge Extensions can be enabled at any given time. See :ref:`isaac_sim_app_enable_ros` for more details. .. _isaac_sim_ros_bridge_requirements: Requirements ================== See :ref:`isaac_sim_app_install_ros` for requirements. .. _isaac_ros_bridge: ROS Bridge =============================== The ROS Bridge Extension enables publishing and subscribing of several rostopics and rosservices that are commonly needed for robotic simulation. This extension is enabled by default. If it is ever disabled, it can be re-enabled from the `Extension Manager <../../prod_extensions/prod_extensions/ext_extension-manager.html>`_ by searching for ``omni.isaac.ros_bridge``. ROS and ROS2 bridges cannot be enabled simultaneously. To enable one, make sure the other is disabled first. .. note:: Internally the ROS bridge runs a custom roscpp build of ROS Noetic so that it works properly with the |omni| framework and python 3. This is backwards compatible with ROS Melodic. .. note:: If communicating with another host (i.e real robot, an existing ROS stack, etc) please set the ``ROS_IP`` and ``ROS_MASTER_URI`` environment variables before starting |isaac-sim_short| Prerequisites ----------------------- This extension requires a ROS installation capable of running ``roscore``. The extension will continually check if rosmaster is available before starting up. .. note:: |isaac-sim| does not run roscore by default, this is to be more flexible for use cases where |isaac-sim| is being integrated with existing ROS workflows. ROS Packages --------------- We provide example ROS packages as part of your |isaac-sim| download. See :ref:`isaac_included_ros_packages` to learn more. Next Steps ---------- We recommend going through the :ref:`isaac_ros_tutorials`. .. _isaac_ros2_bridge: ROS2 Bridge =============================== Similar to the :ref:`isaac_ros_bridge`, the ROS2 Bridge Extension enables publishing and subscribing of several rostopics and rosservices that are commonly needed for robotic simulation. This extension is disabled by default. It can be enabled from the `Extension Manager <../../prod_extensions/prod_extensions/ext_extension-manager.html>`_ by searching for ``omni.isaac.ros2_bridge``. Note ROS and ROS2 bridges cannot be enabled simultaneously. To enable one, make sure the other is disabled first. ROS 2 Packages --------------- We provide example ROS2 packages as part of your |isaac-sim| download. See :ref:`isaac_included_ros2_packages` to learn more. Next Steps ---------- We recommend going through the :ref:`isaac_ros2_tutorials`. Common Components For ROS and ROS2 ================================== All ROS related functions are in forms of Omnigraph Nodes. To use Omnigraph, go to *Window > Visual Scripting > Action Graph*. ROS (or ROS2) related nodes are listed under Isaac Ros (Isaac Ros2). .. _isaac_sim_ros_bridge_references: References ================== - `ROS Documentation `_ - `ROS2 Documentation `_