Distributed
To launch a node or engine externally on, for example, a different physical machine, you must set its process to
EXTERNAL. See process for more info.
In this case, you as a user are responsible for launching the node/engine.
Note
When using the Ros1 Backend for running across multiple machines,
please make sure that the ROS_MASTER_URI is correctly configured on every machine.
See here for more info.
You will have to pass the following arguments
Path to the appropriate executable python script (
executable_node.pyfor nodes,executable_engine.pyfor engines).--backend: Backend that was selected for the environment (e.g.eagerx.backends.ros1/Ros1oreagerx.backends.single_process/SingleProcess).--loglevel: The desired log level (as an integer). Seeconstantsfor more info.--env: The environment name.--name: The name of the node/engine. For engines, the name is alwaysengine. If the node is part of an engine-specific implementation of an object, the node name is<object_name>/<node_name>.
For nodes, an example would look like:
python3 <path>/<to>/<package>/eagerx/core/executable_node.py --backend eagerx.backends.ros1/Ros1 --loglevel 20 --env CamEnv --name obj/camera_api
For an engine, an example would look like:
python3 <path>/<to>/<package>/eagerx/core/executable_engine.py --backend eagerx.backends.ros1/Ros1 --loglevel 20 --env CamEnv --name engine