The Heex Runtime Environment also support ROS agents, but please be aware of the following:

  • The services (or background processes) do not have access to the user’s environment variables, so we initially do not have access to variables like $ROS_DISTRO.

  • To address this issue, we have provided you with 2 options, both using the additionalHreContent/HRE_setup_header.sh mentionned in the previous page

    • If you have a ‘classic’ ROS installation (ie: only one ROS distribution is installed on your system, and it is located in /opt/ros/<YOUR_DISTRIBUTION>/), you can simply keep the default HRE_setup_header.sh which has the DISABLE_AUTOMATIC_ROS_INSTALL_SEARCH variable set to 0. This means that before any ROS agent installation, we will go and look for a setup.bash file inside any folder located in /opt/ros/ and source it before launching the Agent.
    • If you have a custom installation of ROS that is not located in /opt/ros, or you have several ROS distributions installed that are located in /opt/ros, you should set the DISABLE_AUTOMATIC_ROS_INSTALL_SEARCH to 1 so that we do not automatically search for your ROS installation, and instead you should point to your ROS’s setup.bash file inside the FILES_TO_SOURCE_IN_SERVICES_ENV list, that way it shall be sourced before any of your Agent installation. As mentionned in the previous page, keep in mind that if the order of sourcing is important, the sourcing of each file in the FILES_TO_SOURCE_IN_SERVICES_ENV list is done by order of declaration.
  • For ROS1 users only: It is up to you to launch the roscore as it will not be launched automatically.