- The services (or background processes) do not have access to the sourcing of your ROS installation (ie:
setup.bash). - To address this issue, we have provided you with several options:
Using the additionalAgentContent/agentSetupHeader.sh mentionned in the previous page:
- If you have a ‘classic’ ROS2 installation (ie: only one ROS2 distribution is installed on your system, and it is located in
/opt/ros/<YOUR_DISTRIBUTION>/), you can simply keep the defaultagentSetupHeader.shwhich has theDISABLE_AUTOMATIC_ROS_INSTALL_SEARCHvariable set to0. This means that before any ROS2 implementation installation, we will go and look for asetup.bashfile inside any folder located in/opt/ros/and source it before launching the implementation. - If you have a custom installation of ROS2 that is not located in
/opt/ros, or you have several ROS2 distributions installed that are located in/opt/ros, you should set theDISABLE_AUTOMATIC_ROS_INSTALL_SEARCHto1so that we do not automatically search for your ROS2 installation, and instead you should point to your ROS2’ssetup.bashfile inside theFILES_TO_SOURCE_IN_HEEX_AGENT_ENVlist, that way it shall be sourced before any of your implementation installation. As mentionned in the previous page, keep in mind that if the order of sourcing is important, the sourcing of each file in theFILES_TO_SOURCE_IN_HEEX_AGENT_ENVlist is done by order of declaration. - Note that you can also include specific environment variables (like for example a
ROS_DOMAIN_ID) by adding theirkey:valueinto theVARIABLES_TO_EXPORT_IN_HEEX_AGENT_ENVvariable. This applies to non-ROS variables as well.
Using the /opt/heex/defaultAgentSourcing.sh mentionned in the previous page:
- If you need to add configuration to your system but have no access to the installer (i.e: you use the No-Code RDA functionnality), you may source the installation path to your ROS2 env, any Custom Topic definition and any environment variables inside the
/opt/heex/defaultAgentSourcing.shfile.