39 lines
10 KiB
XML
39 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="605px" preserveAspectRatio="none" style="width:521px;height:605px;background:#FFFFFF;" version="1.1" viewBox="0 0 521 605" width="521px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="420.4722" style="stroke:#181818;stroke-width:1.0;" width="10" x="133" y="118.4799"/><rect fill="#FFFFFF" height="508.8842" style="stroke:#181818;stroke-width:1.0;" width="10" x="274" y="49.0679"/><rect fill="#FFFFFF" height="508.8842" style="stroke:#181818;stroke-width:1.0;" width="10" x="433" y="49.0679"/><rect fill="none" height="335.0602" style="stroke:#000000;stroke-width:1.5;" width="449.5" x="54.5" y="196.892"/><rect fill="none" height="83.118" style="stroke:#000000;stroke-width:1.5;" width="429.5" x="64.5" y="332.716"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="137.5" x2="137.5" y1="39.0679" y2="566.9521"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="279" x2="279" y1="39.0679" y2="566.9521"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="438" x2="438" y1="39.0679" y2="566.9521"/><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="127" x="74.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="81.5" y="26.9659">ROS ActionClient</text><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="127" x="74.5" y="565.9521"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="81.5" y="587.9181">ROS ActionClient</text><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="92" x="233" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="240" y="26.9659">ActorServer</text><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="92" x="233" y="565.9521"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="240" y="587.9181">ActorServer</text><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="92" x="392" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="399" y="26.9659">ActorPlugin</text><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="92" x="392" y="565.9521"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="399" y="587.9181">ActorPlugin</text><rect fill="#FFFFFF" height="420.4722" style="stroke:#181818;stroke-width:1.0;" width="10" x="133" y="118.4799"/><rect fill="#FFFFFF" height="508.8842" style="stroke:#181818;stroke-width:1.0;" width="10" x="274" y="49.0679"/><rect fill="#FFFFFF" height="508.8842" style="stroke:#181818;stroke-width:1.0;" width="10" x="433" y="49.0679"/><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="514" x="0" y="70.9209"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="514" y1="70.9209" y2="70.9209"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="514" y1="73.9209" y2="73.9209"/><rect fill="#EEEEEE" height="25.706" style="stroke:#000000;stroke-width:2.0;" width="46" x="234" y="59.0679"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="29" x="240" y="76.9649">Goal</text><polygon fill="#181818" points="121,114.4799,131,118.4799,121,122.4799,125,118.4799" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="0" x2="127" y1="118.4799" y2="118.4799"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="7" y="112.6709">Create ActionClient</text><polygon fill="#181818" points="262,146.186,272,150.186,262,154.186,266,150.186" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="143" x2="268" y1="150.186" y2="150.186"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="76" x="150" y="144.377">Goal request</text><polygon fill="#181818" points="154,177.892,144,181.892,154,185.892,150,181.892" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="148" x2="273" y1="181.892" y2="181.892"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85" x="160" y="176.083">Goal response</text><path d="M54.5,196.892 L117.5,196.892 L117.5,206.598 L107.5,216.598 L54.5,216.598 L54.5,196.892 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="335.0602" style="stroke:#000000;stroke-width:1.5;" width="449.5" x="54.5" y="196.892"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="18" x="69.5" y="211.789">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="87" x="132.5" y="210.6509">[goal accepted]</text><polygon fill="#181818" points="421,236.304,431,240.304,421,244.304,425,240.304" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="284" x2="427" y1="240.304" y2="240.304"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125" x="291" y="234.495">Set action and target</text><polygon fill="#181818" points="295,268.01,285,272.01,295,276.01,291,272.01" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="289" x2="432" y1="272.01" y2="272.01"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="78" x="301" y="266.201">State change</text><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="514" x="0" y="301.863"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="514" y1="301.863" y2="301.863"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="514" y1="304.863" y2="304.863"/><rect fill="#EEEEEE" height="25.706" style="stroke:#000000;stroke-width:2.0;" width="79" x="217.5" y="290.01"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="62" x="223.5" y="307.907">Feedback</text><path d="M64.5,332.716 L137.5,332.716 L137.5,342.4221 L127.5,352.4221 L64.5,352.4221 L64.5,332.716 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="83.118" style="stroke:#000000;stroke-width:1.5;" width="429.5" x="64.5" y="332.716"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="28" x="79.5" y="347.6131">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="145" x="152.5" y="346.475">[until action is completed]</text><polygon fill="#181818" points="295,372.1281,285,376.1281,295,380.1281,291,376.1281" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="289" x2="432" y1="376.1281" y2="376.1281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="57" x="301" y="370.3191">Feedback</text><polygon fill="#181818" points="154,403.8341,144,407.8341,154,411.8341,150,407.8341" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="148" x2="273" y1="407.8341" y2="407.8341"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="107" x="160" y="402.0251">Feedback callback</text><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="514" x="0" y="444.6871"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="514" y1="444.6871" y2="444.6871"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="514" y1="447.6871" y2="447.6871"/><rect fill="#EEEEEE" height="25.706" style="stroke:#000000;stroke-width:2.0;" width="59" x="227.5" y="432.8341"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="42" x="233.5" y="450.7311">Result</text><polygon fill="#181818" points="295,488.2461,285,492.2461,295,496.2461,291,492.2461" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="289" x2="432" y1="492.2461" y2="492.2461"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="78" x="301" y="486.4371">State change</text><polygon fill="#181818" points="154,519.9521,144,523.9521,154,527.9521,150,523.9521" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="148" x2="273" y1="523.9521" y2="523.9521"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="160" y="518.1431">Result callback</text><line style="stroke:#A80036;stroke-width:2.0;" x1="129" x2="147" y1="538.9521" y2="556.9521"/><line style="stroke:#A80036;stroke-width:2.0;" x1="129" x2="147" y1="556.9521" y2="538.9521"/><!--MD5=[e92aed3d1e1d6eee937301aabe88a2d7]
|
|
@startuml plugin_connectivity
|
|
participant "ROS ActionClient" as client
|
|
participant ActorServer as server
|
|
participant ActorPlugin as plugin
|
|
|
|
== Goal ==
|
|
activate server
|
|
activate plugin
|
|
|
|
[-> client: Create ActionClient
|
|
activate client
|
|
|
|
client -> server: Goal request
|
|
server - -> client: Goal response
|
|
|
|
alt goal accepted
|
|
server - -> plugin: Set action and target
|
|
plugin -> server: State change
|
|
== Feedback ==
|
|
loop until action is completed
|
|
plugin - -> server: Feedback
|
|
server - -> client: Feedback callback
|
|
end
|
|
== Result ==
|
|
plugin - -> server: State change
|
|
server - -> client: Result callback
|
|
end
|
|
destroy client
|
|
@enduml
|
|
|
|
PlantUML version 1.2022.7(Mon Aug 22 19:01:30 CEST 2022)
|
|
(GPL source distribution)
|
|
Java Runtime: OpenJDK Runtime Environment
|
|
JVM: OpenJDK 64-Bit Server VM
|
|
Default Encoding: UTF-8
|
|
Language: en
|
|
Country: US
|
|
--></g></svg> |