Motorized Wheels PID

Contents

Motorized Wheels PID#

Computes the required wheel motor torques to achieve the command, then filters then through PID controllers. Requires that the behavior has a Two-wheeled differential drive with limited torque kinematics.

Example#

The video has been recorded using

$ navground_py record_video motor_pid.yaml motor_pid.mp4 --factor 5

with the following configuration

steps: 900
time_step: 0.0333
scenario:
  groups:
    - type: wheelchair
      color: darkcyan
      number: 1
      radius: 0.25
      control_period: 0.1
      orientation: 1
      kinematics:
        type: 2WDiffDyn
        max_speed: 2
        max_acceleration: 1.0
        max_angular_speed: 3.14
        wheel_axis: 0.5
        max_backward_speed: 0.1
        max_forward_speed: 1.0
      behavior:
        type: Dummy
        heading: target_point
        modulations:
          - type: MotorPID
            k_p: 1
            k_d: 0.01
            k_i: 0.1
      task:
        type: Waypoints
        waypoints: [[2, 0], [-2, 0]]
        loop: true
        tolerance: 0.5