class Gamepad6DOFTeleop(Teleoperator)

Met deze class wordt een teleoperator geïmplementeerd die een 6DOF gamepad gebruikt om een UR robotarm te besturen. De gamepad biedt intuïtieve controle over zowel de lineaire als de hoekige bewegingen van de robot, evenals de gripper.

6DOF Gamepad controls

  • Linker analog stick: Lineaire X/Y beweging

  • Rechter analog stick: Hoekige X/Y rotatie (roll/pitch)

  • LB/RB bumpers: Hoekige Z rotatie (yaw)

  • LT/RT triggers: Lineaire Z beweging (omhoog/omlaag)

  • A/X knop: Gripper controle (standaard open, sluit wanneer ingedrukt)

get_action()

In de get_action methode worden de inputs van de gamepad gelezen en omgezet in een actie dictionary die de gewenste bewegingen en gripper positie bevat. De lineaire en hoekige snelheden worden bepaald door de positie van de sticks en triggers, terwijl de gripper positie wordt bepaald door de A/X knoppen.

{'linear_x.vel': np.float32(0.0), 'linear_y.vel': np.float32(0.0), 'linear_z.vel': np.float32(0.0), 'angular_x.vel': np.float32(0.0), 'angular_y.vel': np.float32(0.0), 'angular_z.vel': np.float32(0.0), 'gripper.pos': 0.0}

Notitie

De gripper.pos waarde is 0.0 wanneer de gripper open is en 1.0 wanneer deze gesloten is.

Configuratie

De class Gamepad6DOFTeleop(Teleoperator)kan worden geconfigureerd in het config_gamepad_6dof.py. Pas daarvoor de class Gamepad6DOFTeleopConfig(TeleoperatorConfig) aan.