From 5e8d91c1f493bfe2ba5c3f2f18468aec4d204c25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9verin=20Lemaignan?=
 <severin.lemaignan@pal-robotics.com>
Date: Thu, 2 Dec 2021 14:56:28 +0100
Subject: [PATCH] [doc] explained how to use docker to run all the nodes

---
 README.md | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 76e79d4..fb464b3 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # SPRING Architecture
 
 This repository contains high-level documentation of the H2020 SPRING
-architecture.
+architecture, as well as mock ROS nodes for all the architecture modules.
 
 ![Screenshot of the architecture, displayed in Boxology](doc/architecture-boxology.png)
 
@@ -9,5 +9,43 @@ The [architecture.json](architecture.json) file contains the details of the
 nodes and interfaces in `json` format, and can be visualised with [the SPRING branch of Boxology](https://github.com/severin-lemaignan/boxology/tree/spring). You can [download a binary for Linux here](https://github.com/severin-lemaignan/boxology/releases), or compile it yourself. Note that Boxology tends to crash often! Ctrl+S is your friend!
 
 
+## Running the mock nodes
 
+### Using Docker
 
+Launch the full SPRING architecture with:
+
+```
+docker run -it --network=host registry.gitlab.inria.fr/spring/dockers/spring-base roslaunch springarchitecture start_all.launch
+```
+
+This will start all the nodes visible in the architecture diagram above, either
+the mock ones (if the node prefixed by `MOCK` in the diagram), or the actual
+ones.
+
+The ROS nodes are visible from the host system as well. For instnace, in a different terminal, try:
+
+```
+rostopic list
+```
+
+Replace `start_all.launch` by eg `start_all_INRIA.launch` to start all the
+SPRING nodes *except* eg INRIA's ones (replace INRIA by your institution). This
+makes it easy to test your own nodes while running the code of the partners 'as
+it'.
+
+### Compile manually
+
+[spring-mock-ws](spring-mock-ws) is a regular `catkin` workspace that contains
+all the mocked-up nodes, and a script to fetch the released ones.
+
+To build it:
+
+```
+cd spring-mock-ws
+sh ./fetch_released_nodes.sh # this requires SSH access to gitlab.inria.fr
+catkin build
+source devel/setup.bash
+```
+
+You should then have all the SPRING nodes ready to be used.
-- 
GitLab