From 0fa7f92a5f534b433c066456dd048e7ff2478fea Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Wed, 1 Jul 2020 08:58:49 +0200 Subject: [PATCH] Update safetyzone model. - also make definitions less verbose again - resolves #28 --- ros2rag.starter/src/main/jastadd/Computation.jrag | 8 +------- ros2rag.starter/src/main/jastadd/Definitions.ros2rag | 8 ++++---- ros2rag.starter/src/main/jastadd/RobotModel.relast | 2 +- .../de/tudresden/inf/st/ros2rag/starter/StarterMain.java | 1 - 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/ros2rag.starter/src/main/jastadd/Computation.jrag b/ros2rag.starter/src/main/jastadd/Computation.jrag index b61f819..bddac5a 100644 --- a/ros2rag.starter/src/main/jastadd/Computation.jrag +++ b/ros2rag.starter/src/main/jastadd/Computation.jrag @@ -14,13 +14,7 @@ aspect Computation { System.out.println("isInSafetyZone(" + pos + ")"); for (Zone sz : getSafetyZoneList()) { for (Coordinate coordinate : sz.getCoordinateList()) { - IntPosition inside = coordinate.getPosition(); - if (inside.getX() <= pos.getX() && - inside.getY() <= pos.getY() && - inside.getZ() <= pos.getZ() && - pos.getX() <= inside.getX() + getSize().getX() && - pos.getY() <= inside.getY() + getSize().getY() && - pos.getZ() <= inside.getZ() + getSize().getZ()) { + if (coordinate.getPosition().equals(pos)) { return true; } } diff --git a/ros2rag.starter/src/main/jastadd/Definitions.ros2rag b/ros2rag.starter/src/main/jastadd/Definitions.ros2rag index 7d49c97..60e7d19 100644 --- a/ros2rag.starter/src/main/jastadd/Definitions.ros2rag +++ b/ros2rag.starter/src/main/jastadd/Definitions.ros2rag @@ -10,23 +10,23 @@ RobotArm.AppropriateSpeed canDependOn Joint.CurrentPosition as dependency1 ; // --- mapping definitions --- ParseLinkState maps byte[] bytes to panda.Linkstate.PandaLinkState {: - System.out.println("ParseLinkState"); +// System.out.println("ParseLinkState"); return panda.Linkstate.PandaLinkState.parseFrom(bytes); :} SerializeRobotConfig maps config.Robotconfig.RobotConfig rc to byte[] {: - System.out.println("SerializeRobotConfig"); +// System.out.println("SerializeRobotConfig"); return rc.toByteArray(); :} LinkStateToIntPosition maps panda.Linkstate.PandaLinkState pls to IntPosition {: - System.out.println("LinkStateToIntPosition"); +// System.out.println("LinkStateToIntPosition"); panda.Linkstate.PandaLinkState.Position p = pls.getPos(); return IntPosition.of((int) (Math.round(p.getPositionX() * 2)), (int) (Math.round(p.getPositionY() * 2)), (int) (Math.round(p.getPositionZ() * 2 + 0.5))); :} CreateSpeedMessage maps double speed to config.Robotconfig.RobotConfig {: - System.out.println("CreateSpeedMessage"); +// System.out.println("CreateSpeedMessage"); return config.Robotconfig.RobotConfig.newBuilder() .setSpeed(speed) .setLoopTrajectory(true) diff --git a/ros2rag.starter/src/main/jastadd/RobotModel.relast b/ros2rag.starter/src/main/jastadd/RobotModel.relast index ea347d0..415d3e5 100644 --- a/ros2rag.starter/src/main/jastadd/RobotModel.relast +++ b/ros2rag.starter/src/main/jastadd/RobotModel.relast @@ -1,6 +1,6 @@ Model ::= RobotArm ZoneModel ; -ZoneModel ::= <Size:IntPosition> SafetyZone:Zone* ; +ZoneModel ::= SafetyZone:Zone* ; Zone ::= Coordinate* ; diff --git a/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java b/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java index a4a0f70..66a48f6 100644 --- a/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java +++ b/ros2rag.starter/src/main/java/de/tudresden/inf/st/ros2rag/starter/StarterMain.java @@ -42,7 +42,6 @@ public class StarterMain { model.MqttSetHost(config.mqttHost); ZoneModel zoneModel = new ZoneModel(); - zoneModel.setSize(makePosition(1, 1, 1)); Zone safetyZone = new Zone(); for (int[] coordinate : safetyZoneCoordinates) { -- GitLab