Zum Hauptinhalt springen

robco_hardware

Veraltete Dokumentation

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.

Das Paket robco_hardware stellt ein ros2_control-Hardware-Interface für RobCo-Roboter bereit.

hinweis

Die ROS-2-Schnittstelle wird derzeit nicht standardmäßig auf RobCo-Robotern ausgeliefert. Wenn Sie die ROS-2-Schnittstelle auf Ihrem RobCo-Roboter nutzen möchten, wenden Sie sich bitte an den RobCo-Support.

Übersicht über die ros2_control-Schnittstelle von RobCo

Das Hardware-Interface verwenden

Die ROS-Schnittstelle ist beim Start der Control Unit des Roboters deaktiviert und muss vor der Nutzung des Hardware-Interface über die RobFlow-API aktiviert werden. Das ist im Browser möglich und unter Das Hardware-Interface verwenden beschrieben.

Standardmäßig erwartet das Hardware-Interface, über die Topics robco_joint_states und robco_joint_commands mit der auf dem Controller laufenden ROS-Bridge zu kommunizieren. Diese Topic-Namen lassen sich über die optionalen Parameter joint_states_topic und joint_commands_topic am XML-Tag <hardware> der URDF-Datei konfigurieren, wie unter Die URDF-Datei zusammensetzen gezeigt.

Bereitgestellte Command-Interfaces

Das Hardware-Interface stellt die folgenden Arten von Command-Interfaces bereit:

  • position + velocity + acceleration (müssen alle gleichzeitig aktiv sein)
  • effort (Gelenkmoment)
hinweis

Zu jedem Zeitpunkt muss an allen Gelenken des Roboters derselbe Satz von Command-Interfaces aktiv sein. Ein Gelenk kann also keinen anderen Satz von Command-Interfaces verwenden als ein anderes.

Interface für Gelenkposition/-geschwindigkeit/-beschleunigung

Sind die Interfaces position, velocity und acceleration aktiv, arbeitet der interne Controller im Modus Trajektorien-Streaming. Die internen Sollwerte für Gelenkposition, -geschwindigkeit und -beschleunigung werden unmittelbar aus den von ros2_control kommenden Werten übernommen.

Interface für das Gelenkmoment (effort)

Ist nur das Interface effort aktiviert, arbeitet der interne Controller im Modus Drehmoment-Streaming. In diesem Modus kompensiert der Controller ausschließlich die Gravitation (τg) und die Coriolis-Kräfte (τcoriolis). Der effort-Befehl (τROS) wird anschließend addiert, um den endgültigen Drehmomentvektor zu bilden, der an die Motoren kommandiert wird:

τmotor = τROS + τg + τcoriolis