# -----------------------------------
mobile_base_controller:
  type        : "diff_drive_controller/DiffDriveController"
  left_wheel  : '$(arg prefix)left_wheel_joint'
  right_wheel : '$(arg prefix)right_wheel_joint'
  publish_rate: 41.2               # this is what the real MiR platform publishes (default: 50)
  # These covariances are exactly what the real MiR platform publishes
  pose_covariance_diagonal : [0.00001, 0.00001, 1000000.0, 1000000.0, 1000000.0, 1000.0]
  twist_covariance_diagonal: [0.1, 0.1, 1000000.0, 1000000.0, 1000000.0, 1000.0]
  enable_odom_tf: false

  # Wheel separation and diameter. These are both optional.
  # diff_drive_controller will attempt to read either one or both from the
  # URDF if not specified as a parameter.
  # We don't set the value here because it's different for each MiR type (100, 250, ...), and
  # the plugin figures out the correct values.
  #wheel_separation : 0.445208
  #wheel_radius : 0.0625

  # Wheel separation and radius multipliers
  wheel_separation_multiplier: 1.0 # default: 1.0
  wheel_radius_multiplier    : 1.0 # default: 1.0

  # Velocity commands timeout [s], default 0.5
  cmd_vel_timeout: 0.5

  # frame_ids (same as real MiR platform)
  base_frame_id: $(arg prefix)base_footprint # default: base_link
  odom_frame_id: $(arg prefix)odom           # default: odom

  # Velocity and acceleration limits
  # Whenever a min_* is unspecified, default to -max_*
  linear:
    x:
      has_velocity_limits    : false
      max_velocity           : 2.0  # m/s; move_base max_vel_x: 0.8
      has_acceleration_limits: true
      max_acceleration       : 3.0  # m/s^2; move_base acc_lim_x: 1.5
  angular:
    z:
      has_velocity_limits    : false
      max_velocity           : 2.0  # rad/s; move_base max_rot_vel: 1.0
      has_acceleration_limits: true
      max_acceleration       : 2.0  # rad/s^2; move_base acc_lim_th: 2.0
