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

Управление захватом робота Panda устроено следующим образом.

  1. Имена суставов захвата:

    gripper_joint_names = [
        "panda_finger_joint1",
        "panda_finger_joint2",
    ]
    

    У робота Panda два сустава захвата: panda_finger_joint1 и panda_finger_joint2.

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

    gripper_pd_joint_pos = PDJointPosMimicControllerConfig(
        self.gripper_joint_names,
        lower=-0.01,  # Приём: при очень тонких объектах можно прикладывать усилие
        upper=0.04,   # Положение полностью открытого захвата
        stiffness=self.gripper_stiffness,
        damping=self.gripper_damping,
        force_limit=self.gripper_force_limit,
    )
    
  3. Способ управления:

    • Panda использует PDJointPosMimicController — имитирующий (Mimic) контроллер.

    • Это значит, что два пальца движутся синхронно: одно входное значение управляет обоими суставами.

    • Диапазон управления — от -0,01 (слегка закрыт) до 0,04 (полностью открыт).

    • В исходной позе положение захвата задано 0,04 (полностью открыт):

      keyframes = dict(
          rest=Keyframe(
              qpos=np.array([
                  0.0, np.pi/8, 0, -np.pi*5/8, 0, np.pi*3/4, np.pi/4,
                  0.04, 0.04,  # Два сустава захвата, оба полностью открыты
              ]),
              pose=sapien.Pose(),
          )
      )
      
  4. Определение захвата объекта: Panda определяет, успешно ли захвачен объект, методом is_grasping, который опирается на контактные силы и углы.

По сравнению с роботом GEN72-EG2:

  • У Panda два сустава захвата, а у GEN72-EG2 — четыре.
  • Оба используют один и тот же контроллер PDJointPosMimicController, поэтому суставы захвата движутся синхронно.
  • Диапазоны управления похожи: у Panda от -0,01 до 0,04, у GEN72-EG2 от 0,0 до 0,04.
  • Для управления достаточно одного значения, которое задаёт все суставы захвата сразу.

Итог: во время обучения захват обоих роботов открывается и закрывается одним значением в диапазоне от 0,0 до 0,04, где 0,0 — полностью закрыт, а 0,04 — полностью открыт.