Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

В обучении с подкреплением симметричное открытие и закрытие захвата Franka Panda обеспечивается контроллером PDJointPosMimicController (имитирующий контроллер). Он работает так.

  1. Единый управляющий параметр: Хотя у Panda два сустава захвата (panda_finger_joint1 и panda_finger_joint2), имитирующий контроллер заставляет оба сустава использовать один управляющий сигнал: достаточно одного значения, чтобы управлять всем захватом.

  2. Реализация в коде:

    class PDJointPosMimicController(PDJointPosController):
        def _get_joint_limits(self):
            joint_limits = super()._get_joint_limits()
            diff = joint_limits[0:-1] - joint_limits[1:]
            assert np.allclose(diff, 0), "Mimic joints should have the same limit"
            return joint_limits[0:1]
    

    Этот код показывает, что имитирующему контроллеру нужны только пределы первого сустава, а тот же управляющий сигнал применяется ко всем остальным суставам.

  3. Конфигурация контроллера:

    gripper_pd_joint_pos = PDJointPosMimicControllerConfig(
        self.gripper_joint_names,  # Содержит два сустава захвата
        lower=-0.01,  # Минимальное положение (слегка закрыт)
        upper=0.04,   # Максимальное положение (полностью открыт)
        ...
    )
    
  4. Упрощение пространства действий:

    • Физически управляются два сустава, но в пространстве действий нужна только одна размерность.
    • Например, при вводе 0,04 оба сустава переходят в положение 0,04 (полностью открыт).
    • При вводе 0,0 оба сустава переходят в положение 0,0 (полностью закрыт).

Преимущества такого подхода:

  • Упрощение обучения: алгоритму обучения с подкреплением нужно научиться управлять одним параметром, а не двумя пальцами по отдельности.
  • Гарантия симметрии: какое бы значение ни было подано, захват всегда открывается и закрывается симметрично.
  • Соответствие физике: реальный захват Franka Panda конструктивно устроен так, чтобы синхронно и симметрично двигать пальцы.

У робота GEN72-EG2 используется тот же метод управления: несмотря на четыре сустава захвата, имитирующий контроллер PDJointPosMimicController сохраняет их синхронное симметричное движение.