blob: b3fa9f24a26748bbb733b64685c2923be8285747 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:robotics.components="http://www.eclipse.org/papyrus/robotics/components/1" xmlns:robotics.functions="http://www.eclipse.org/papyrus/robotics/functions/1" xmlns:robotics.generics="http://www.eclipse.org/papyrus/robotics/generics/1" xmlns:robotics.parameters="http://www.eclipse.org/papyrus/robotics/parameters/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/robotics/components/1 http://www.eclipse.org/papyrus/robotics/1#//components http://www.eclipse.org/papyrus/robotics/functions/1 http://www.eclipse.org/papyrus/robotics/1#//functions http://www.eclipse.org/papyrus/robotics/generics/1 http://www.eclipse.org/papyrus/robotics/1#//generics http://www.eclipse.org/papyrus/robotics/parameters/1 http://www.eclipse.org/papyrus/robotics/1#//parameters">
<uml:Model xmi:id="_6nSQsEfEEeiwO_ETU0BG9A" name="MARAClient">
<packageImport xmi:type="uml:PackageImport" xmi:id="_lwxc0ExOEei_Sui04GqxlQ">
<importedPackage xmi:type="uml:Model" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_LaOOAJcvEeeV0-Lu2yLOjA"/>
</packageImport>
<packageImport xmi:type="uml:PackageImport" xmi:id="_vPI0sExOEei_Sui04GqxlQ">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
</packageImport>
<packageImport xmi:type="uml:PackageImport" xmi:id="_jo5BgAa7Eeq8VKjHfobYhA">
<importedPackage xmi:type="uml:Model" href="pathmap://ROS2_LIBRARY/hrim.servicedef.uml#_T7frkG-0EeiX6ta975XXMg"/>
</packageImport>
<packagedElement xmi:type="uml:Class" xmi:id="_-9MoUEiFEeiAtInRNnLmIQ" name="MARAClient">
<ownedAttribute xmi:type="uml:Property" xmi:id="_SlDjQEiHEeiAtInRNnLmIQ" name="Initial" type="_SkoFcEiHEeiAtInRNnLmIQ"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_k7IdANB3EemDj5ABsPyZmA" name="motor1_goal_axis1" type="_mcT74NB3EemDj5ABsPyZmA" aggregation="composite"/>
<ownedAttribute xmi:type="uml:Property" xmi:id="_HwTekNCYEemHtJk8ZqRL8Q" name="counter">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Port" xmi:id="_dxr9kAa7Eeq8VKjHfobYhA" name="motor2_goal_axis2" type="_jqFUUAa7Eeq8VKjHfobYhA" aggregation="composite"/>
<ownedConnector xmi:type="uml:Connector" xmi:id="_-ASD0AbuEeq69tbfZET3mw">
<end xmi:type="uml:ConnectorEnd" xmi:id="__ucOwAbuEeq69tbfZET3mw" role="_k7IdANB3EemDj5ABsPyZmA"/>
<end xmi:type="uml:ConnectorEnd" xmi:id="__uc10AbuEeq69tbfZET3mw" partWithPort="_SlDjQEiHEeiAtInRNnLmIQ" role="_U12hMEiHEeiAtInRNnLmIQ"/>
</ownedConnector>
<ownedConnector xmi:type="uml:Connector" xmi:id="__sxGoAoWEeqdoNLER_xlJw">
<end xmi:type="uml:ConnectorEnd" xmi:id="__uOfMAoWEeqdoNLER_xlJw" role="_dxr9kAa7Eeq8VKjHfobYhA"/>
<end xmi:type="uml:ConnectorEnd" xmi:id="__uPGQAoWEeqdoNLER_xlJw" partWithPort="_SlDjQEiHEeiAtInRNnLmIQ" role="_SE04YAa8Eeq8VKjHfobYhA"/>
</ownedConnector>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_UMuiANCjEemHtJk8ZqRL8Q" name="timerCallback" visibility="public">
<language>C++</language>
<body>// Create message with the same type as the topic, &lt;hrim_actuator_rotaryservo_msgs::msg::GoalRotaryServo>.
auto msg = std::make_shared&lt;hrim_actuator_rotaryservo_msgs::msg::GoalRotaryServo>();
// Fill message content
if (counter &lt; 10) {
float position_deg = 30+5*counter;
msg->position = position_deg * 3.1416/180.0; // Position to rads
msg->velocity = 0.4; // Velocity in rads/s
msg->control_type = 4; // Position and velocity control
motor1_goal_axis1_pub->publish(*msg);
}
else if (counter &lt; 20) {
float position_deg = 30+5*(counter-10);
msg->position = position_deg * 3.1416/180.0; // Position to rads
msg->velocity = 0.4; // Velocity in rads/s
msg->control_type = 4; // Position and velocity control
motor2_goal_axis2_pub->publish(*msg);
}
else {
counter = 0;
}
// Log
RCLCPP_INFO(get_logger(), &quot;Iteration number %d&quot;, counter);
counter++;</body>
</ownedBehavior>
<nestedClassifier xmi:type="uml:Class" xmi:id="_SkoFcEiHEeiAtInRNnLmIQ" name="Activity">
<generalization xmi:type="uml:Generalization" xmi:id="_SkqhsEiHEeiAtInRNnLmIQ">
<general xmi:type="uml:Class" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_dFzyYPn9Eee8c8wpObBu7w"/>
</generalization>
<ownedAttribute xmi:type="uml:Port" xmi:id="_U12hMEiHEeiAtInRNnLmIQ" name="axis1" aggregation="composite"/>
<ownedAttribute xmi:type="uml:Property" xmi:id="_x8WMkNCjEemHtJk8ZqRL8Q" name="periodic" visibility="public" type="_UMuiANCjEemHtJk8ZqRL8Q"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_SE04YAa8Eeq8VKjHfobYhA" name="axis2" visibility="public" aggregation="composite"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_iSTi0AoNEeq2kcvPXHB4lg"/>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_kiyUIEiHEeiAtInRNnLmIQ" name="ParameterSet"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_mcT74NB3EemDj5ABsPyZmA">
<interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Ayg2kOFuEemg9cDNf5aMXA" client="_mcT74NB3EemDj5ABsPyZmA">
<supplier xmi:type="uml:Interface" href="pathmap://ROS2_LIBRARY/hrim.servicedef.uml#_8xO909AnEemDj5ABsPyZmA"/>
<contract xmi:type="uml:Interface" href="pathmap://ROS2_LIBRARY/hrim.servicedef.uml#_8xO909AnEemDj5ABsPyZmA"/>
</interfaceRealization>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_jqFUUAa7Eeq8VKjHfobYhA">
<interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_kQNgMAa7Eeq8VKjHfobYhA" client="_jqFUUAa7Eeq8VKjHfobYhA">
<supplier xmi:type="uml:Interface" href="pathmap://ROS2_LIBRARY/hrim.servicedef.uml#_8xO909AnEemDj5ABsPyZmA"/>
<contract xmi:type="uml:Interface" href="pathmap://ROS2_LIBRARY/hrim.servicedef.uml#_8xO909AnEemDj5ABsPyZmA"/>
</interfaceRealization>
</nestedClassifier>
</packagedElement>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_6voUYEfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6vqJkEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/bpc/1#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#__9qqMJZ1Eeeq1f8hGgKVzA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7CwrwEfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7CxS0EfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#__9qqMJZ1Eeeq1f8hGgKVzA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7Cyg8EfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7Cyg8UfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//components"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_EZ1TgJZ2Eeeq1f8hGgKVzA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7Cyg8kfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7Cyg80fEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//commpattern"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_8Z6x8Je6EeeiCOWsEr9OuA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7CzIAkfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7CzvEEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//deployment"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_tu6OsJe9EeeiCOWsEr9OuA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7CzvEUfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7CzvEkfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//services"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_SlbOAJe_EeeiCOWsEr9OuA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7C0WIEfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7C0WIUfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//commobject"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_bz5AcPCaEeee6ab5J_C5Dg"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7C0WIkfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7C09MEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//functions"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_SV7GwC6LEei0V9-WLHIyvg"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7C09MUfEEeiwO_ETU0BG9A">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7C1kQEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//parameters"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_-pU5oDmpEei--ZsfKWaFtw"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_vBSogEfFEeiuVfmPqBuUBA">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBVEwEfFEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//MARTE_Foundations/NFPs"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_U_GAoAPMEdyuUt-4qHuVvQ"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_vBXhAEfFEeiuVfmPqBuUBA">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBXhAUfFEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//MARTE_Annexes/VSL/DataTypes"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9FdqwA-MEdyLh7muGbCqMw"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_QpoCUEfMEeiuVfmPqBuUBA">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QpopYEfMEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_I4cKUEoDEeie-dKbx_4wnA">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I442QEoDEeie-dKbx_4wnA" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//generics"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_eFhjMEnvEeien6eLHpkAxA"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_B6r-QHmIEeiEH8S4hjo5YQ">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B6tMYHmIEeiEH8S4hjo5YQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eP0y4KcHEemKm7jDzAkd-g">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eP5EUKcHEemKm7jDzAkd-g" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
</profileApplication>
</uml:Model>
<robotics.components:ComponentDefinition xmi:id="_-9VLMEiFEeiAtInRNnLmIQ" base_Class="_-9MoUEiFEeiAtInRNnLmIQ"/>
<robotics.components:Activity xmi:id="_Skrv0EiHEeiAtInRNnLmIQ" base_Class="_SkoFcEiHEeiAtInRNnLmIQ"/>
<robotics.components:ActivityInstance xmi:id="_SlFYcEiHEeiAtInRNnLmIQ" base_Property="_SlDjQEiHEeiAtInRNnLmIQ"/>
<robotics.components:ActivityPort xmi:id="_U14WYEiHEeiAtInRNnLmIQ" base_Port="_U12hMEiHEeiAtInRNnLmIQ"/>
<robotics.parameters:Parameter xmi:id="_ki1XcEiHEeiAtInRNnLmIQ" base_Class="_kiyUIEiHEeiAtInRNnLmIQ"/>
<C_Cpp:Include xmi:id="_rrFA0Hh8Eei2lO6rEWqUCQ" preBody="#include &lt;iostream>&#xA;using namespace std;" base_class="_-9MoUEiFEeiAtInRNnLmIQ" base_Classifier="_-9MoUEiFEeiAtInRNnLmIQ"/>
<robotics.components:ComponentDefinitionModel xmi:id="_3qoH0NAQEemsvtLt7dgtCQ" base_Package="_6nSQsEfEEeiwO_ETU0BG9A"/>
<robotics.components:ComponentService xmi:id="_mcWYINB3EemDj5ABsPyZmA" base_Class="_mcT74NB3EemDj5ABsPyZmA"/>
<robotics.components:ComponentPort xmi:id="_pGAiANB3EemDj5ABsPyZmA" base_Port="_k7IdANB3EemDj5ABsPyZmA"/>
<robotics.components:ComponentService xmi:id="_jqHwkAa7Eeq8VKjHfobYhA" base_Class="_jqFUUAa7Eeq8VKjHfobYhA"/>
<robotics.components:ComponentPort xmi:id="_kQPVYAa7Eeq8VKjHfobYhA" base_Port="_dxr9kAa7Eeq8VKjHfobYhA"/>
<robotics.components:ActivityPort xmi:id="_SE3UoAa8Eeq8VKjHfobYhA" base_Port="_SE04YAa8Eeq8VKjHfobYhA"/>
<robotics.generics:Connects xmi:id="__udc4AbuEeq69tbfZET3mw" base_Connector="_-ASD0AbuEeq69tbfZET3mw"/>
<robotics.components:PeriodicTimer xmi:id="_iTsC4AoNEeq2kcvPXHB4lg" base_Class="_iSTi0AoNEeq2kcvPXHB4lg" period="500ms"/>
<robotics.generics:Connects xmi:id="__uPtUAoWEeqdoNLER_xlJw" base_Connector="__sxGoAoWEeqdoNLER_xlJw"/>
<robotics.functions:Function xmi:id="_q8gh8ApREeqDRcGhdVQkjQ" base_Class="_UMuiANCjEemHtJk8ZqRL8Q"/>
</xmi:XMI>