\documentclass{standalone}
\usepackage{tikz}
\usepackage{aeguill}
\begin{document}
% generated by Plantuml 1.2022.7       
\definecolor{plantucolor0000}{RGB}{255,255,255}
\definecolor{plantucolor0001}{RGB}{176,176,176}
\definecolor{plantucolor0002}{RGB}{128,128,128}
\definecolor{plantucolor0003}{RGB}{226,226,240}
\definecolor{plantucolor0004}{RGB}{24,24,24}
\definecolor{plantucolor0005}{RGB}{0,0,0}
\definecolor{plantucolor0006}{RGB}{254,255,221}
\definecolor{plantucolor0007}{RGB}{238,238,238}
\definecolor{plantucolor0008}{RGB}{64,64,64}
\begin{tikzpicture}[yscale=-1
,pstyle0/.style={color=plantucolor0001,fill=white,line width=1.0pt}
,pstyle1/.style={color=plantucolor0002,line width=1.5pt}
,pstyle2/.style={color=plantucolor0001,line width=0.5pt,dash pattern=on 5.0pt off 5.0pt}
,pstyle3/.style={color=plantucolor0004,fill=plantucolor0003,line width=0.5pt}
,pstyle4/.style={color=plantucolor0004,fill=plantucolor0006,line width=0.5pt}
,pstyle5/.style={color=plantucolor0007,fill=plantucolor0007,line width=1.0pt}
,pstyle6/.style={color=plantucolor0002,line width=1.0pt}
,pstyle7/.style={color=plantucolor0002,fill=plantucolor0007,line width=2.0pt}
,pstyle8/.style={color=plantucolor0008,fill=plantucolor0008,line width=1.0pt}
,pstyle9/.style={color=plantucolor0008,line width=1.0pt}
,pstyle10/.style={color=plantucolor0008,line width=1.0pt,dash pattern=on 2.0pt off 2.0pt}
,pstyle11/.style={color=plantucolor0002,fill=plantucolor0007,line width=1.5pt}
,pstyle12/.style={color=plantucolor0001,line width=2.0pt}
]
\draw[pstyle0] (153.8615pt,156.186pt) rectangle (163.8615pt,705.4822pt);
\draw[pstyle0] (313.3771pt,49.0679pt) rectangle (323.3771pt,767.5501pt);
\draw[pstyle0] (478.7515pt,49.0679pt) rectangle (488.7515pt,767.5501pt);
\draw[pstyle1] (66.7865pt,234.598pt) rectangle (556.1768pt,698.4822pt);
\draw[pstyle1] (76.7865pt,370.4221pt) rectangle (546.1768pt,485.2461pt);
\draw[pstyle1] (76.7865pt,499.2461pt) rectangle (546.1768pt,582.3642pt);
\draw[pstyle2] (158.7865pt,39.0679pt) -- (158.7865pt,733.4822pt);
\draw[pstyle2] (317.4068pt,39.0679pt) -- (317.4068pt,733.4822pt);
\draw[pstyle2] (483.3262pt,39.0679pt) -- (483.3262pt,733.4822pt);
\draw[pstyle3] (86.7865pt,10pt) arc (180:270:5pt) -- (91.7865pt,5pt) -- (225.9365pt,5pt) arc (270:360:5pt) -- (230.9365pt,10pt) -- (230.9365pt,33.0679pt) arc (0:90:5pt) -- (225.9365pt,38.0679pt) -- (91.7865pt,38.0679pt) arc (90:180:5pt) -- (86.7865pt,33.0679pt) -- cycle;
\node at (93.7865pt,12pt)[below right,color=black]{ROS ActionClient};
\draw[pstyle3] (86.7865pt,737.4822pt) arc (180:270:5pt) -- (91.7865pt,732.4822pt) -- (225.9365pt,732.4822pt) arc (270:360:5pt) -- (230.9365pt,737.4822pt) -- (230.9365pt,760.5501pt) arc (0:90:5pt) -- (225.9365pt,765.5501pt) -- (91.7865pt,765.5501pt) arc (90:180:5pt) -- (86.7865pt,760.5501pt) -- cycle;
\node at (93.7865pt,739.4822pt)[below right,color=black]{ROS ActionClient};
\draw[pstyle3] (264.4068pt,10pt) arc (180:270:5pt) -- (269.4068pt,5pt) -- (367.3475pt,5pt) arc (270:360:5pt) -- (372.3475pt,10pt) -- (372.3475pt,33.0679pt) arc (0:90:5pt) -- (367.3475pt,38.0679pt) -- (269.4068pt,38.0679pt) arc (90:180:5pt) -- (264.4068pt,33.0679pt) -- cycle;
\node at (271.4068pt,12pt)[below right,color=black]{ActorServer};
\draw[pstyle3] (264.4068pt,737.4822pt) arc (180:270:5pt) -- (269.4068pt,732.4822pt) -- (367.3475pt,732.4822pt) arc (270:360:5pt) -- (372.3475pt,737.4822pt) -- (372.3475pt,760.5501pt) arc (0:90:5pt) -- (367.3475pt,765.5501pt) -- (269.4068pt,765.5501pt) arc (90:180:5pt) -- (264.4068pt,760.5501pt) -- cycle;
\node at (271.4068pt,739.4822pt)[below right,color=black]{ActorServer};
\draw[pstyle3] (431.3262pt,10pt) arc (180:270:5pt) -- (436.3262pt,5pt) -- (531.1768pt,5pt) arc (270:360:5pt) -- (536.1768pt,10pt) -- (536.1768pt,33.0679pt) arc (0:90:5pt) -- (531.1768pt,38.0679pt) -- (436.3262pt,38.0679pt) arc (90:180:5pt) -- (431.3262pt,33.0679pt) -- cycle;
\node at (438.3262pt,12pt)[below right,color=black]{ActorPlugin};
\draw[pstyle3] (431.3262pt,737.4822pt) arc (180:270:5pt) -- (436.3262pt,732.4822pt) -- (531.1768pt,732.4822pt) arc (270:360:5pt) -- (536.1768pt,737.4822pt) -- (536.1768pt,760.5501pt) arc (0:90:5pt) -- (531.1768pt,765.5501pt) -- (436.3262pt,765.5501pt) arc (90:180:5pt) -- (431.3262pt,760.5501pt) -- cycle;
\node at (438.3262pt,739.4822pt)[below right,color=black]{ActorPlugin};
\draw[pstyle0] (153.8615pt,156.186pt) rectangle (163.8615pt,705.4822pt);
\draw[pstyle0] (313.3771pt,49.0679pt) rectangle (323.3771pt,767.5501pt);
\draw[pstyle0] (478.7515pt,49.0679pt) rectangle (488.7515pt,767.5501pt);
\draw[pstyle4] (67pt,54.0679pt) -- (67pt,81.0679pt) -- (153pt,81.0679pt) -- (153pt,64.0679pt) -- (143pt,54.0679pt) -- (67pt,54.0679pt);
\draw[pstyle4] (143pt,54.0679pt) -- (143pt,64.0679pt) -- (153pt,64.0679pt) -- (143pt,54.0679pt);
\node at (73pt,59.0679pt)[below right,color=black]{Protocol:};
\draw[pstyle4] (212pt,54.0679pt) -- (212pt,81.0679pt) -- (307pt,81.0679pt) -- (307pt,64.0679pt) -- (297pt,54.0679pt) -- (212pt,54.0679pt);
\draw[pstyle4] (297pt,54.0679pt) -- (297pt,64.0679pt) -- (307pt,64.0679pt) -- (297pt,54.0679pt);
\node at (218pt,59.0679pt)[below right,color=black]{ros\_action};
\draw[pstyle4] (347pt,54.0679pt) -- (347pt,81.0679pt) -- (472pt,81.0679pt) -- (472pt,64.0679pt) -- (462pt,54.0679pt) -- (347pt,54.0679pt);
\draw[pstyle4] (462pt,54.0679pt) -- (462pt,64.0679pt) -- (472pt,64.0679pt) -- (462pt,54.0679pt);
\node at (353pt,59.0679pt)[below right,color=black]{MessageQueue};
\draw[pstyle5] (0pt,108.6269pt) rectangle (566.1768pt,111.6269pt);
\draw[pstyle6] (0pt,108.6269pt) -- (566.1768pt,108.6269pt);
\draw[pstyle6] (0pt,111.6269pt) -- (566.1768pt,111.6269pt);
\draw[pstyle7] (259.0368pt,96.7739pt) rectangle (307.14pt,122.4799pt);
\node at (265.0368pt,100.7739pt)[below right,color=black]{\textbf{Goal}};
\draw[pstyle8] (141.8615pt,152.186pt) -- (151.8615pt,156.186pt) -- (141.8615pt,160.186pt) -- (145.8615pt,156.186pt) -- cycle;
\draw[pstyle9] (0pt,156.186pt) -- (147.8615pt,156.186pt);
\node at (9.5pt,136.4799pt)[below right,color=black]{create ActionClient};
\draw[pstyle8] (301.3771pt,183.892pt) -- (311.3771pt,187.892pt) -- (301.3771pt,191.892pt) -- (305.3771pt,187.892pt) -- cycle;
\draw[pstyle9] (163.8615pt,187.892pt) -- (307.3771pt,187.892pt);
\node at (195.4141pt,168.186pt)[below right,color=black]{goal request};
\draw[pstyle9] (164.8615pt,219.598pt) -- (174.8615pt,215.598pt);
\draw[pstyle9] (164.8615pt,219.598pt) -- (174.8615pt,223.598pt);
\draw[pstyle10] (163.8615pt,219.598pt) -- (312.3771pt,219.598pt);
\node at (190.2546pt,199.892pt)[below right,color=black]{goal response};
\draw[pstyle11] (66.7865pt,234.598pt) -- (132.0532pt,234.598pt) -- (132.0532pt,244.304pt) -- (122.0532pt,254.304pt) -- (66.7865pt,254.304pt) -- (66.7865pt,234.598pt);
\draw[pstyle1] (66.7865pt,234.598pt) rectangle (556.1768pt,698.4822pt);
\node at (81.7865pt,235.598pt)[below right,color=black]{\textbf{alt}};
\node at (147.0532pt,236.598pt)[below right,color=black]{\textbf{[goal accepted]}};
\draw[pstyle9] (476.7515pt,278.01pt) -- (466.7515pt,274.01pt);
\draw[pstyle9] (476.7515pt,278.01pt) -- (466.7515pt,282.01pt);
\draw[pstyle9] (323.3771pt,278.01pt) -- (477.7515pt,278.01pt);
\node at (335.3771pt,258.304pt)[below right,color=black]{set state and target};
\draw[pstyle9] (324.3771pt,309.716pt) -- (334.3771pt,305.716pt);
\draw[pstyle9] (324.3771pt,309.716pt) -- (334.3771pt,313.716pt);
\draw[pstyle10] (323.3771pt,309.716pt) -- (477.7515pt,309.716pt);
\node at (357.5169pt,290.01pt)[below right,color=black]{state change};
\draw[pstyle5] (0pt,339.5691pt) rectangle (566.1768pt,342.5691pt);
\draw[pstyle6] (0pt,339.5691pt) -- (566.1768pt,339.5691pt);
\draw[pstyle6] (0pt,342.5691pt) -- (566.1768pt,342.5691pt);
\draw[pstyle7] (240.3737pt,327.716pt) rectangle (325.8032pt,353.4221pt);
\node at (246.3737pt,331.716pt)[below right,color=black]{\textbf{Feedback}};
\draw[pstyle11] (76.7865pt,370.4221pt) -- (179.6265pt,370.4221pt) -- (179.6265pt,380.1281pt) -- (169.6265pt,390.1281pt) -- (76.7865pt,390.1281pt) -- (76.7865pt,370.4221pt);
\draw[pstyle1] (76.7865pt,370.4221pt) rectangle (546.1768pt,485.2461pt);
\node at (91.7865pt,371.4221pt)[below right,color=black]{\textbf{opt par }};
\node at (194.6265pt,372.4221pt)[below right,color=black]{\textbf{[abort of current action]}};
\draw[pstyle8] (301.3771pt,409.8341pt) -- (311.3771pt,413.8341pt) -- (301.3771pt,417.8341pt) -- (305.3771pt,413.8341pt) -- cycle;
\draw[pstyle9] (163.8615pt,413.8341pt) -- (307.3771pt,413.8341pt);
\node at (191.0765pt,394.1281pt)[below right,color=black]{abort request};
\draw[pstyle8] (466.7515pt,441.5401pt) -- (476.7515pt,445.5401pt) -- (466.7515pt,449.5401pt) -- (470.7515pt,445.5401pt) -- cycle;
\draw[pstyle9] (323.3771pt,445.5401pt) -- (472.7515pt,445.5401pt);
\node at (349.0047pt,425.8341pt)[below right,color=black]{set state to Idle};
\draw[pstyle9] (164.8615pt,477.2461pt) -- (174.8615pt,473.2461pt);
\draw[pstyle9] (164.8615pt,477.2461pt) -- (174.8615pt,481.2461pt);
\draw[pstyle10] (163.8615pt,477.2461pt) -- (312.3771pt,477.2461pt);
\node at (185.9161pt,457.5401pt)[below right,color=black]{abort response};
\draw[pstyle11] (76.7865pt,499.2461pt) -- (154.1038pt,499.2461pt) -- (154.1038pt,508.9521pt) -- (144.1038pt,518.9521pt) -- (76.7865pt,518.9521pt) -- (76.7865pt,499.2461pt);
\draw[pstyle1] (76.7865pt,499.2461pt) rectangle (546.1768pt,582.3642pt);
\node at (91.7865pt,500.2461pt)[below right,color=black]{\textbf{loop}};
\node at (169.1038pt,501.2461pt)[below right,color=black]{\textbf{[until action is completed or aborted]}};
\draw[pstyle9] (324.3771pt,542.6582pt) -- (334.3771pt,538.6582pt);
\draw[pstyle9] (324.3771pt,542.6582pt) -- (334.3771pt,546.6582pt);
\draw[pstyle10] (323.3771pt,542.6582pt) -- (477.7515pt,542.6582pt);
\node at (369.6072pt,522.9521pt)[below right,color=black]{feedback};
\draw[pstyle9] (164.8615pt,574.3642pt) -- (174.8615pt,570.3642pt);
\draw[pstyle9] (164.8615pt,574.3642pt) -- (174.8615pt,578.3642pt);
\draw[pstyle10] (163.8615pt,574.3642pt) -- (312.3771pt,574.3642pt);
\node at (175.8615pt,554.6582pt)[below right,color=black]{feedback callback};
\draw[pstyle5] (0pt,611.2172pt) rectangle (566.1768pt,614.2172pt);
\draw[pstyle6] (0pt,611.2172pt) -- (566.1768pt,611.2172pt);
\draw[pstyle6] (0pt,614.2172pt) -- (566.1768pt,614.2172pt);
\draw[pstyle7] (252.5128pt,599.3642pt) rectangle (313.664pt,625.0702pt);
\node at (258.5128pt,603.3642pt)[below right,color=black]{\textbf{Result}};
\draw[pstyle9] (324.3771pt,658.7762pt) -- (334.3771pt,654.7762pt);
\draw[pstyle9] (324.3771pt,658.7762pt) -- (334.3771pt,662.7762pt);
\draw[pstyle10] (323.3771pt,658.7762pt) -- (477.7515pt,658.7762pt);
\node at (357.5169pt,639.0702pt)[below right,color=black]{state change};
\draw[pstyle9] (164.8615pt,690.4822pt) -- (174.8615pt,686.4822pt);
\draw[pstyle9] (164.8615pt,690.4822pt) -- (174.8615pt,694.4822pt);
\draw[pstyle10] (163.8615pt,690.4822pt) -- (312.3771pt,690.4822pt);
\node at (186.68pt,670.7762pt)[below right,color=black]{result callback};
\draw[pstyle12] (149.8615pt,705.4822pt) -- (167.8615pt,723.4822pt);
\draw[pstyle12] (149.8615pt,723.4822pt) -- (167.8615pt,705.4822pt);
\end{tikzpicture}
\end{document}
