Build and run ============= We provide a run-time environment based on docker which is extremely simple to build and gives immediate access to the SIT-AW-ANCHORING ROS 2 stack. Our docker environment is built on top of the `ROS Humble `_ base image. The current release of SIT-AW-ANCHORING also depends on: * `Owlready2 `_, to manipulate and reason over OWL ontologies. Owlready2 is available under the GNU LGPL licence v3. * `scipy `_, to process inference rules that involve numerical data more rapidly and effectively than `SWRL `_. Scipy is distributed under the BSD 3-Clause license. How to build ------------ Assuming that `` is the path to the root folder of SIT-AW-ANCHORING on your filesystem, use the following command to build it: .. code-block:: bash cd make start-docker The docker build process may take a while. After the build ended, a `docker run` command is automatically executed and your console looks like this: .. image:: graphics/install-make_start_docker_finished_edit.png :width: 800 :alt: Example of console output at the end of the docker build process. That's all! You are ready now to run the stack. .. note:: The `docker run` command uses `volumes `_ as mechanism for persisting data generated by and used by Docker containers. * `/src` is mounted to `/root/ros2_ws/src`. * `/tests` is mounted to `/tmp/tests`. How to run ---------- We provide a `bringup` launch script to start and activate the lifecycle nodes that compose the SIT-AW-ANCHORING stack, namely `ontology_manager` and `digital_twin_integrator`. Nodes are configured with default options that you can change at run-time, using the `ros2 param` command-line tool. Use this command to launch the bringup script: .. code-block:: bash ros2 launch bringup activate_launch.py Now open another terminal and "join" the docker to run commands that enable the interaction with SIT-AW-ANCHORING nodes. To join the docker, ensure that your working directory is set to `` and give the command .. code-block:: bash make join-docker You can now refer to ``_ to see some concrete example of how to interact with SIT-AW-ANCHORING nodes.