Vehicle State

I was thinking about this on my own, but turns out there is also a great lecture.

Thinking about vehicle state in the context of Autonomous Racing.

This is extremely important because if you don’t capture all the information about the vehicle state and try to run any sort of machine learning on it, it just won’t work very well.

Vehicle State is captured by:

  • Position
    1. Use and positions relative to a global or local coordinate system
    2. Use progress along track, + distance from the centerline, Frenet Frame
  • Heading
  • Velocity
  • Steering Angle (I mean, this steering angle can be changed pretty instantaneously)
  • Vehicle Dynamics
    • Sideslip angle
    • Slip Angle
    • Wheelslip

Personal Thoughts

I was only thinking about position and heading when brainstorming in Head-to-Head Autonomous Racing. I was thinking:

  • velocity + steering angle is something changed instantaneously? These are values that you control
  • Vehicle dynamics was something more for the track than the car? And these are the same throughout.

But really, you need to think about

(there are two ways to go about it), work in a Cartesian Coordinate, or in the Frenet Frame

UPDATE

The above vehicle state is extremely naive. It does not take into account the Vehicle Dynamics at all. If you feed this in some sort of MPC, it probably thinks it can always follow the racing line since any command would result in the correct output.

The reason I had this oversight was because I was thinking of the problem in terms of RL, which is generally model-free. You get the RL agent to sort of figure out parameters.

  • And through something like domain randomation, it would know
  • But that’s stupid, because you’re never going to have optimal performance, nor can the RL agent capture that information. It merely sees a reward.

Rather, more information through Vehicle Dynamics information in the state is super useful.