<?xml version="1.0" encoding="UTF-8"?><umlet_diagram><element><type>com.umlet.element.custom.State</type><coordinates><x>400</x><y>180</y><w>200</w><h>160</h></coordinates><panel_attributes>Observe Current
--
-Objective is to move
into the current
- Wait until the current
heading is roughly 
opposite of the desired
heading
-.
fg=black
bg=green</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.custom.FinalState</type><coordinates><x>800</x><y>750</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>720</x><y>700</y><w>100</w><h>80</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>80;60;20;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>660</x><y>630</y><w>190</w><h>90</h></coordinates><panel_attributes>Wrap Up/Clean Up
--
- Set State Vector Values
- Join any finished threads
-.
fg=black
bg=yellow</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>580</x><y>231</y><w>270</w><h>71</h></coordinates><panel_attributes>lt=&lt;-
 
Timeout (just go)</panel_attributes><additional_attributes>250;39;20;29</additional_attributes></element><element><type>com.umlet.element.custom.Systemborder</type><coordinates><x>90</x><y>150</y><w>950</w><h>630</h></coordinates><panel_attributes>topcenter:Movement
</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>800</x><y>350</y><w>210</w><h>130</h></coordinates><panel_attributes>Moving
--
- Monitor movement by
querying the motor controller
- Error conditions: over-current,
torque limit, EZServo error
-.
bg=green</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>260</x><y>520</y><w>170</w><h>150</h></coordinates><panel_attributes>Move Error Recovery
--
- Fairly simple solutions 
may exist of common
problems (e.g., cycle
power to the EZservo)
- Save state and try again
if possible
-.
bg=pink</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>590</x><y>460</y><w>250</w><h>167</h></coordinates><panel_attributes>lt=&lt;-
 
Not Done</panel_attributes><additional_attributes>210;20;60;40;20;120;120;140;220;100;230;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>410</x><y>616</y><w>270</w><h>64</h></coordinates><panel_attributes>lt=&lt;-
Abort Move</panel_attributes><additional_attributes>250;44;20;24</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>370</x><y>356</y><w>450</w><h>184</h></coordinates><panel_attributes>lt=&lt;-
Try Again</panel_attributes><additional_attributes>430;54;240;24;160;34;130;74;20;164</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>860</x><y>260</y><w>40</w><h>110</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>20;90;20;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>830</x><y>230</y><w>100</w><h>50</h></coordinates><panel_attributes>Start Move
bg=green</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>580</x><y>216</y><w>270</w><h>54</h></coordinates><panel_attributes>lt=&lt;-
Current Acceptable</panel_attributes><additional_attributes>250;24;110;34;20;34</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>313</x><y>320</y><w>187</w><h>130</h></coordinates><panel_attributes>lt=&lt;-
Current Unacceptable</panel_attributes><additional_attributes>97;20;87;110;167;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>790</x><y>460</y><w>105</w><h>190</h></coordinates><panel_attributes>lt=&lt;-
Finished</panel_attributes><additional_attributes>20;170;60;140;70;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>170</x><y>180</y><w>100</w><h>40</h></coordinates><panel_attributes>Init
bg=yellow</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.custom.InitialState</type><coordinates><x>100</x><y>160</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.control.Group</type><coordinates><x>150</x><y>1520</y><w>220</w><h>40</h></coordinates><panel_attributes></panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>410</x><y>1340</y><w>100</w><h>40</h></coordinates><panel_attributes>Error Recovery
bg=pink</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>0</x><y>1490</y><w>100</w><h>40</h></coordinates><panel_attributes>state</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>150</x><y>1520</y><w>220</w><h>40</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>200;20;20;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>100</x><y>150</y><w>90</w><h>70</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>70;50;20;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>250</x><y>180</y><w>170</w><h>40</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>150;20;20;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>410</x><y>386</y><w>410</w><h>174</h></coordinates><panel_attributes>lt=-&gt;
Error</panel_attributes><additional_attributes>390;84;160;34;20;154</additional_attributes></element></umlet_diagram>