Changes on tower

This commit is contained in:
2023-06-19 14:26:36 +02:00
parent 330bce82ec
commit 85a23b1352
10 changed files with 8547 additions and 61 deletions

View File

@@ -0,0 +1,13 @@
@startuml
start
:Initialisiere MessageQueue;
if (Graphviz installed?) then (yes)
:process all\ndiagrams;
else (no)
:process only
__sequence__ and __activity__ diagrams;
endif
stop
@enduml

View File

@@ -1,32 +1,39 @@
@startuml animation_states
hide empty description
skinparam Shadowing true
[*] --> Standing
state Standing{
[*] --> StandingIdle
StandingIdle --> [*]
StandingIdle --> ExtendArm
ExtendArm --> RetractArm
RetractArm --> StandingIdle
[*] --> [*]
[*] --> standing_extend_arm
standing_extend_arm --> standing_retract_arm
standing_retract_arm --> [*]
StandingIdle --> Walk
Walk --> StandingIdle
[*] --> standing_walk
standing_walk --> [*]
}
Standing -> Standing
state Low{
[*] --> LowIdle
LowIdle --> [*]
LowIdle --> InspectLow
InspectLow --> PutBackLow
InspectLow --> GrabLow
PutBackLow --> LowIdle
GrabLow --> LowIdle
[*] --> [*]
[*] --> low_inspect
low_inspect --> low_put_back
low_inspect --> low_grab
low_put_back --> [*]
low_grab --> [*]
}
Standing -> ToLow
ToLow -> Low
Low --> ToStanding
ToStanding --> Standing
Low -> Low
'Spacer :D
state a #transparent;line:transparent;text:transparent
Low -up[hidden]-> a
Standing -up-> standing_to_low
standing_to_low -down-> Low
Low -up-> low_to_standing
low_to_standing -down-> Standing
@enduml

2175
uml/out/animation_states.eps Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -8,38 +8,34 @@ skinparam ArrowColor #404040
participant "ROS ActionClient" as client
participant ActorServer as server
participant ActorPlugin as plugin
note left of client: Protocol:
/note left of server: ros_action
/note left of plugin: MessageQueue
==Goal==
activate server
activate plugin
[-> client: create ActionClient
==Goal==
[-> client: neuer ActionClient
activate client
client -> server: goal request
server -->> client: goal response
client -> server: Goal-Anfrage
server -->> client: Antwort auf Anfrage
alt goal accepted
server ->> plugin: set state and target
plugin -->> server: state change
alt Anfrage akzeptiert?
server ->> plugin: neuen Status und Ziel setzen
plugin -->> server: Zustandswechsel bei\nnächstem Simulationsschritt
== Feedback==
group opt par [abort of current action]
client->server: abort request
server->plugin: set state to Idle
server-->>client: abort response
group opt par [Abbruch der Aktion]
client->server: Cancel-Anfrage
server->plugin: Status auf Idle setzen
plugin -->> server: Zustandswechsel auf Idle
server-->>client: positive Abbruchantwort
end
loop until action is completed or aborted
plugin -->> server: feedback
server -->> client: feedback callback
loop Bis Aktion vollständig ausgeführt oder abgebrochen ist
plugin -->> server: Feedback
server -->> client: Feedback
end
==Result==
plugin -->> server: state change
server -->> client: result callback
plugin -->> server: Zustandswechsel auf Idle
server -->> client: Result-Antwort
end
destroy client
@enduml

25
uml/subtree_deposit.puml Normal file
View File

@@ -0,0 +1,25 @@
@startmindmap
skinparam Linetype ortho
skinparam defaultTextAlignment center
top to bottom direction
* Sequence
** WeightedRandom\nWichtung 1:1:1
*** Laufe zu 1. Regal
*** Laufe zu 2. Regal
*** Laufe zu 3. Regal
** WeightedRandom\nWichtung 1:1
*** Sequence
**** Animation\nstanding_extend_arm
**** Animation\nstanding_retract_arm
*** Sequence
**** Animation\nstanding_to_low
**** Animation\nlow_inspect
**** Animation\nlow_put_back
**** Animation\nlow_to_standing
@endmindmap

0
uml/subtree_work.puml Normal file
View File