From b28efcf667d950bc3f712c97d9e6023bc0c744d5 Mon Sep 17 00:00:00 2001
From: CS <christoph.schroeter1@mailbox.tu-dresden.de>
Date: Wed, 11 Aug 2021 11:51:02 +0200
Subject: [PATCH]

---
 cobot1.xml                   | 109 +++++++++++++++++++----------------
 scripts/tron_testing_auto.sh |   4 +-
 2 files changed, 60 insertions(+), 53 deletions(-)

diff --git a/cobot1.xml b/cobot1.xml
index bbbf7c5..abd6c94 100644
--- a/cobot1.xml
+++ b/cobot1.xml
@@ -249,8 +249,8 @@ bool glass_in_target_pos = false;
 			<name x="535" y="-110">moving_to_glass</name>
 			<label kind="invariant" x="484" y="-93">bottle_in_start_pos == false</label>
 		</location>
-		<location id="id16" x="773" y="-8">
-			<name x="680" y="-17">start_pour</name>
+		<location id="id16" x="773" y="-59">
+			<name x="680" y="-68">start_pour</name>
 		</location>
 		<location id="id17" x="833" y="-263">
 			<name x="790" y="-297">shut_down</name>
@@ -333,7 +333,16 @@ bool glass_in_target_pos = false;
 		<location id="id42" x="977" y="493">
 			<committed/>
 		</location>
+		<location id="id43" x="773" y="8">
+			<name x="705" y="0">pouring</name>
+		</location>
 		<init ref="id33"/>
+		<transition>
+			<source ref="id43"/>
+			<target ref="id18"/>
+			<label kind="guard" x="782" y="25">bottle_diff_to_start_ang &gt; 110</label>
+			<label kind="synchronisation" x="782" y="42">asap!</label>
+		</transition>
 		<transition>
 			<source ref="id42"/>
 			<target ref="id26"/>
@@ -421,8 +430,8 @@ bool glass_in_target_pos = false;
 		<transition>
 			<source ref="id28"/>
 			<target ref="id16"/>
-			<label kind="synchronisation" x="773" y="-93">goal?</label>
-			<label kind="assignment" x="773" y="-76">orient_constraint_set = false</label>
+			<label kind="synchronisation" x="782" y="-102">goal?</label>
+			<label kind="assignment" x="782" y="-85">orient_constraint_set = false</label>
 		</transition>
 		<transition>
 			<source ref="id27"/>
@@ -624,8 +633,8 @@ bool glass_in_target_pos = false;
 		</transition>
 		<transition>
 			<source ref="id16"/>
-			<target ref="id18"/>
-			<label kind="synchronisation" x="782" y="25">move_success?</label>
+			<target ref="id43"/>
+			<label kind="synchronisation" x="782" y="-34">move_success?</label>
 		</transition>
 		<transition>
 			<source ref="id15"/>
@@ -663,12 +672,12 @@ bool glass_in_target_pos = false;
 	</template>
 	<template>
 		<name>testdonecatcher</name>
-		<location id="id43" x="0" y="0">
+		<location id="id44" x="0" y="0">
 		</location>
-		<init ref="id43"/>
+		<init ref="id44"/>
 		<transition>
-			<source ref="id43"/>
-			<target ref="id43"/>
+			<source ref="id44"/>
+			<target ref="id44"/>
 			<label kind="synchronisation" x="8" y="-42">test_done?</label>
 			<nail x="59" y="-17"/>
 			<nail x="59" y="17"/>
@@ -676,12 +685,12 @@ bool glass_in_target_pos = false;
 	</template>
 	<template>
 		<name>positionupdatecatcher</name>
-		<location id="id44" x="-731" y="-544">
+		<location id="id45" x="-731" y="-544">
 		</location>
-		<init ref="id44"/>
+		<init ref="id45"/>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-1181" y="-816">i : int[0,max_ang_diff]</label>
 			<label kind="synchronisation" x="-1181" y="-833">glass_diff_to_start_ang_update?</label>
 			<label kind="assignment" x="-1181" y="-799">glass_diff_to_start_ang = i</label>
@@ -689,8 +698,8 @@ bool glass_in_target_pos = false;
 			<nail x="-935" y="-799"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-450" y="-790">i : int[0,max_ang_diff]</label>
 			<label kind="synchronisation" x="-476" y="-807">glass_diff_to_target_ang_update?</label>
 			<label kind="assignment" x="-442" y="-773">glass_diff_to_target_ang = i</label>
@@ -698,8 +707,8 @@ bool glass_in_target_pos = false;
 			<nail x="-484" y="-790"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-493" y="-382">i : int[0,max_ang_diff]</label>
 			<label kind="synchronisation" x="-493" y="-399">bottle_diff_to_start_ang_update?</label>
 			<label kind="assignment" x="-493" y="-365">bottle_diff_to_start_ang = i</label>
@@ -707,8 +716,8 @@ bool glass_in_target_pos = false;
 			<nail x="-510" y="-382"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-1198" y="-416">i : int[0,max_ang_diff]</label>
 			<label kind="synchronisation" x="-1232" y="-433">bottle_diff_to_target_ang_update?</label>
 			<label kind="assignment" x="-1207" y="-399">bottle_diff_to_target_ang = i</label>
@@ -716,8 +725,8 @@ bool glass_in_target_pos = false;
 			<nail x="-952" y="-391"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-858" y="-306">i : int[0,max_pos_diff]</label>
 			<label kind="synchronisation" x="-858" y="-323">bottle_diff_to_target_pos_update?</label>
 			<label kind="assignment" x="-858" y="-289">bottle_diff_to_target_pos = i</label>
@@ -725,8 +734,8 @@ bool glass_in_target_pos = false;
 			<nail x="-697" y="-331"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-1232" y="-561">i : int[0,max_pos_diff]</label>
 			<label kind="synchronisation" x="-1232" y="-578">glass_diff_to_start_pos_update?</label>
 			<label kind="assignment" x="-1232" y="-544">glass_diff_to_start_pos = i</label>
@@ -734,8 +743,8 @@ bool glass_in_target_pos = false;
 			<nail x="-1003" y="-527"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-773" y="-884">i : int[0,max_pos_diff]</label>
 			<label kind="synchronisation" x="-824" y="-901">glass_diff_to_target_pos_update?</label>
 			<label kind="assignment" x="-824" y="-867">glass_diff_to_target_pos = i</label>
@@ -743,8 +752,8 @@ bool glass_in_target_pos = false;
 			<nail x="-765" y="-850"/>
 		</transition>
 		<transition>
-			<source ref="id44"/>
-			<target ref="id44"/>
+			<source ref="id45"/>
+			<target ref="id45"/>
 			<label kind="select" x="-323" y="-569">i : int[0,max_pos_diff]</label>
 			<label kind="synchronisation" x="-323" y="-586">bottle_diff_to_start_pos_update?</label>
 			<label kind="assignment" x="-323" y="-552">bottle_diff_to_start_pos = i</label>
@@ -754,61 +763,61 @@ bool glass_in_target_pos = false;
 	</template>
 	<template>
 		<name>positionupdate</name>
-		<location id="id45" x="0" y="0">
+		<location id="id46" x="0" y="0">
 		</location>
-		<init ref="id45"/>
+		<init ref="id46"/>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="-331" y="59">bottle_diff_to_target_ang_update!</label>
 			<nail x="-119" y="42"/>
 			<nail x="-85" y="68"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="-323" y="-110">glass_diff_to_start_ang_update!</label>
 			<nail x="-85" y="-110"/>
 			<nail x="-119" y="-85"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="119" y="-76">glass_diff_to_target_ang_update!</label>
 			<nail x="110" y="-42"/>
 			<nail x="93" y="-68"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="102" y="59">bottle_diff_to_start_ang_update!</label>
 			<nail x="85" y="85"/>
 			<nail x="102" y="68"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="-340" y="-17">glass_diff_to_start_pos_update!</label>
 			<nail x="-119" y="-25"/>
 			<nail x="-119" y="8"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="-136" y="93">bottle_diff_to_target_pos_update!</label>
 			<nail x="-34" y="85"/>
 			<nail x="17" y="85"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="-34" y="-119">glass_diff_to_target_pos_update!</label>
 			<nail x="25" y="-102"/>
 			<nail x="-25" y="-102"/>
 		</transition>
 		<transition>
-			<source ref="id45"/>
-			<target ref="id45"/>
+			<source ref="id46"/>
+			<target ref="id46"/>
 			<label kind="synchronisation" x="127" y="-8">bottle_diff_to_start_pos_update!</label>
 			<nail x="119" y="-17"/>
 			<nail x="119" y="17"/>
@@ -816,12 +825,12 @@ bool glass_in_target_pos = false;
 	</template>
 	<template>
 		<name>goalcatcher</name>
-		<location id="id46" x="-578" y="-263">
+		<location id="id47" x="-578" y="-263">
 		</location>
-		<init ref="id46"/>
+		<init ref="id47"/>
 		<transition>
-			<source ref="id46"/>
-			<target ref="id46"/>
+			<source ref="id47"/>
+			<target ref="id47"/>
 			<label kind="synchronisation" x="-535" y="-272">goal?</label>
 			<nail x="-535" y="-280"/>
 			<nail x="-535" y="-246"/>
diff --git a/scripts/tron_testing_auto.sh b/scripts/tron_testing_auto.sh
index 0bd6aff..84ca1d1 100755
--- a/scripts/tron_testing_auto.sh
+++ b/scripts/tron_testing_auto.sh
@@ -21,8 +21,6 @@ tron_args=( # do not set -o here
     "-- 8080"
 )
 
-
-
 # tron_args to one string
 tron_args_str=${tron_args[0]}
 for single_arg in ${tron_args[@]:1}; do
@@ -37,7 +35,7 @@ for ((i=29;i<=test_count;i++)); do
     tron_args_str_output="-o $start_dir/test_output$i $tron_args_str"
     $tron_location $tron_args_str_output & tron_pid=$!
     roslaunch $package_name $roslaunch_filename & roslaunch_pid=$!
-    trap "kill $tron_pid; kill $roslaunch_pid; wait $tron_pid; wait $roslaunch_pid; return 1" SIGINT # kill both on interrupt
+    trap "kill $tron_pid; kill $roslaunch_pid; wait $tron_pid; wait $roslaunch_pid; cd $start_dir; return 1" SIGINT # kill both on interrupt
     wait $tron_pid
     kill $roslaunch_pid
     wait $roslaunch_pid # wait till actually killed, takes few seconds
-- 
GitLab