robco_description
Dieser Bereich beschreibt die robco_ros2-Integration in der mit RobFlow 7.x
ausgelieferten Form. Er wurde nicht für RobFlow 8 aktualisiert, und die
Schnittstelle ist in aktuellen Systemen nicht verfügbar.
Eine Anleitung, wie Sie eine URDF-Datei für eine bestimmte Roboterkonfiguration erstellen, finden Sie unter Eine URDF-Datei erstellen.
Das Paket robco_description stellt eine URDF-Bibliothek mit xacro-Makros für alle Module
von RobCo-Robotern bereit. So lässt sich jede Modulkonfiguration einfach abbilden. Die
folgende URDF-Datei zum Beispiel:
<robot name="robco" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find robco_description)/urdf/robco_modules.xacro" />
<xacro:include filename="$(find robco_description)/urdf/robco.ros2_control.xacro" />
<!-- Modultyp-IDs: 304, 301, 318, 300, 300, 8, 300, 300, 800 -->
<xacro:robco_module_0304 name="joint0" next="joint1" />
<xacro:robco_module_0301 name="joint1" next="link0" />
<xacro:robco_module_0318 name="link0" next="joint2" />
<xacro:robco_module_0300 name="joint2" next="joint3" />
<xacro:robco_module_0300 name="joint3" next="link1" />
<xacro:robco_module_0008 name="link1" next="joint4" />
<xacro:robco_module_0300 name="joint4" next="joint5" />
<xacro:robco_module_0300 name="joint5" next="tool" />
<xacro:robco_module_0800 name="tool" />
</robot>
ergibt diese Roboterkonfiguration:

Unterstützung für ros2_control
Das ros2_control-Framework benötigt einige Angaben in der URDF-Datei — mindestens, welche
Command-Interfaces an jedem Gelenk unterstützt werden. Um diese Makros automatisch einzufügen,
können die bereitgestellten robco_ros2_control-Makros wie in der folgenden URDF-Datei
verwendet werden:
<robot name="robco" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find robco_description)/urdf/robco_modules.xacro" />
<xacro:include filename="$(find robco_description)/urdf/robco.ros2_control.xacro" />
<!-- Modultyp-IDs: 304, 301, 318, 300, 300, 8, 300, 300, 800 -->
<xacro:robco_module_0304 name="joint0" next="joint1" />
<xacro:robco_module_0301 name="joint1" next="link0" />
<xacro:robco_module_0318 name="link0" next="joint2" />
<xacro:robco_module_0300 name="joint2" next="joint3" />
<xacro:robco_module_0300 name="joint3" next="link1" />
<xacro:robco_module_0008 name="link1" next="joint4" />
<xacro:robco_module_0300 name="joint4" next="joint5" />
<xacro:robco_module_0300 name="joint5" next="tool" />
<xacro:robco_module_0800 name="tool" />
<!-- ros2_control-Konfiguration für die oben definierten Gelenke -->
<ros2_control name="RobcoRobot" type="system">
<hardware>
<plugin>robco_hardware/RobcoHardware</plugin>
</hardware>
<xacro:robco_ros2_control_joint joint_name="joint0" />
<xacro:robco_ros2_control_joint joint_name="joint1" />
<xacro:robco_ros2_control_joint joint_name="joint2" />
<xacro:robco_ros2_control_joint joint_name="joint3" />
<xacro:robco_ros2_control_joint joint_name="joint4" />
<xacro:robco_ros2_control_joint joint_name="joint5" />
</ros2_control>
</robot>