Using Ackermann to control left and right?

asked 2020-01-28 11:12:53 -0600

CoachAllen gravatar image

Greetings,

I am looking over this documentation on Ackermann Steering. I only need a little assistance understanding how it might translate to my rover.

To help illustrate, we have an old atv that we stripped down and replaced the gas motor with a brushless servo motor to propel it; and a BLDC motor driving the steering column where the handle bars used to be.

My URDF file however, has been simplified.

  • Tube Chasis (base_link)

  • Rear Left Wheel (base_link_to_rear_left_wheel)(Not driven meant to roll only)

  • Rear Right Wheel (base_link_to_rear_right_wheel)(Not driven meant to roll only)

  • Left Steering Knuckle (base_link_to_left_steering_knuckle)(Ackermann joint)

  • Left Wheel Hub (Driven)(Supposed to handle x/-x linear velocity)

  • Front Left Wheel (Fixed Joint to the Left Wheel Hub)

  • Right Steering Knuckle (base_link_to_right_steering_knuckle)(Ackermann joint)

  • Right Wheel Hub (Driven)(Supposed to handle x/-x linear velocity)

  • Front Right Wheel (Fixed Joint to the Right Wheel Hub)

So what I need help understanding is found here:

mobile_base_controller:
  type: "ackermann_steering_controller/AckermannSteeringController"
  rear_wheel: 'rear_wheel_joint'
  front_steer: 'front_steer_joint'
  pose_covariance_diagonal: [0.001, 0.001, 1000000.0, 1000000.0, 1000000.0, 1000.0]
  twist_covariance_diagonal: [0.001, 0.001, 1000000.0, 1000000.0, 1000000.0, 1000.0]

I can see here that they are talking about a relationship between the front_steer_joint and the rear_wheel_joint. But I am failing to grasp is how this translates to having a left and right side of the vehicle. Can anyone fill me in?

Cheers,

edit retag flag offensive close merge delete

Comments

Chirp Chirp

CoachAllen gravatar imageCoachAllen ( 2020-01-29 19:45:43 -0600 )edit

Hi Allen, I met the same problem, have you figured it out?

VZRXS gravatar imageVZRXS ( 2020-02-21 00:07:45 -0600 )edit