Skip to content
Snippets Groups Projects
Commit a6e56056 authored by René Schöne's avatar René Schöne
Browse files

use reachability connection instead of dummies

parent 81596ea8
No related branches found
No related tags found
1 merge request!1Multiple scenes, multiple robots and more
Pipeline #9748 passed
...@@ -29,8 +29,9 @@ public class MainB { ...@@ -29,8 +29,9 @@ public class MainB {
private final static String TOPIC_EXIT = "place-b/exit"; private final static String TOPIC_EXIT = "place-b/exit";
private final static String TOPIC_MY_SCENE_INIT = "place-b/init"; private final static String TOPIC_MY_SCENE_INIT = "place-b/init";
private final static String TOPIC_ROBOT_REACHABILITY = "place-b/reachability/%s";
private final static String TOPIC_MY_SCENE_UPDATE_FROM_ROS = "place-b/scene/update"; private final static String TOPIC_MY_SCENE_UPDATE_FROM_ROS = "place-b/scene/update";
private final static String TOPIC_COMMANDS = "place-b/commands"; private final static String TOPIC_COMMAND = "place-b/command";
private final static String TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A = "place-a/logical/update"; private final static String TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A = "place-a/logical/update";
...@@ -69,7 +70,12 @@ public class MainB { ...@@ -69,7 +70,12 @@ public class MainB {
); );
Scene myScene = UtilB.convert(scene); Scene myScene = UtilB.convert(scene);
model.setMyScene(myScene); model.setMyScene(myScene);
Util.extractRobotNames(scene).forEach(name -> model.addRobot(UtilB.createRobot(name))); for (String name : Util.extractRobotNames(scene)) {
Robot robot = UtilB.createRobot(name);
model.addRobot(robot);
// assumption: robots do not change during runtime, so we have stable connections
robot.connectCanReachObjectOfInterestWrapper(mqttUri(String.format(TOPIC_ROBOT_REACHABILITY, name), config));
}
/// Set (dummy) reachability, if configured /// Set (dummy) reachability, if configured
if (config.useReachability) { if (config.useReachability) {
...@@ -91,7 +97,7 @@ public class MainB { ...@@ -91,7 +97,7 @@ public class MainB {
/// Connect endpoints /// Connect endpoints
model.connectMyScene(mqttUri(TOPIC_MY_SCENE_UPDATE_FROM_ROS, config)); model.connectMyScene(mqttUri(TOPIC_MY_SCENE_UPDATE_FROM_ROS, config));
model.connectOtherScene(mqttUri(TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A, config)); model.connectOtherScene(mqttUri(TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A, config));
model.connectNextOperation(mqttUri(TOPIC_COMMANDS, config), false); model.connectNextOperation(mqttUri(TOPIC_COMMAND, config), false);
logStatus("Start"); logStatus("Start");
......
mqttHost: "localhost" mqttHost: "localhost"
filenameInitialScene: "src/main/resources/config-scene-b.json" filenameInitialScene: "src/main/resources/config-scene-b.json"
useReachability: true useReachability: false
reachability: reachability:
- idRobot: "arm1" - idRobot: "arm1"
filename: "src/main/resources/dummy-reachability-b-arm1.json" filename: "src/main/resources/dummy-reachability-b-arm1.json"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment