Given the position of the vehicle (𝑥,𝑦) at different time points, the speed of the vehicle (m/s), the direction the vehicle is facing (heading — in degrees), the track width of the vehicle, and the wheelbase of the vehicle, how can I calculate the steering angle of the vehicle given the vehicle is rear-wheel steering?

This is very similar to my previous question.

  • $\begingroup$ What point of the vehicle is tracked by (x,y)? Kinematically the velocity vector is tangent to the path only at the point in the middle of the non-steering wheels. Otherwise a transformation would need to be applied to get the (x,y) of the non-steering side. Please provide a sketch with the important dimensions and locations called out. $\endgroup$ Nov 12, 2019 at 20:01
  • $\begingroup$ You can assume that the point that is tracked by (x,y) is whichever makes the calculation the easiest. $\endgroup$ Nov 12, 2019 at 20:05
  • $\begingroup$ This is two different questions actually. First given a path $(x,y)$ what is the tangent vector and radius of curvature. Second is given the radius of curvature and the geometry of a vehicle, what are the steering angles? The first one is a known problem in differential geometry and the second one is a geometry problem that requires simple trigonometry. $\endgroup$ Nov 12, 2019 at 20:16
  • $\begingroup$ Ok. What is the answer then? $\endgroup$ Nov 12, 2019 at 20:19

1 Answer 1


Here is how to solve the geometry problem of getting the wheel steering angles from the known radius of curvature $r$ of a path.

I used $w$ for the track, and $b$ for the wheelbase, for a rear-wheel steering vehicle.


The wheel angles from straight equal in measure the angles shown above as $\theta_1$ and $\theta_2$ (due to similar triangles).

$$\begin{aligned} \tan \theta_1 & = \frac{b}{r-w/2} \\ \tan \theta_2 & = \frac{b}{r+w/2} \\ \end{aligned} $$

Now given a path of coordinates $(x,y)$ of the point where I drew the blue velocity vector, you need to fit a cubic spline through the points in order to get a list velocities and acceleration. Each point needs to be a function of an independent quantity such as time, so you can get a table of values for $$\begin{array}{c|c|c} \text{time} & \text{position} & \text{velocity} & \text{acceleration} \\ \hline t & (x,y) & (\tfrac{\rm d}{{\rm d}t} x, \tfrac{\rm d}{{\rm d}t} y) & ( \tfrac{{\rm d}^2}{{\rm d}t^2} x, \tfrac{{\rm d}^2}{{\rm d}t^2} y) \\ \ldots \\ t_i & (x_i,\,y_i) & (\dot{x}_i\,\dot{y}_i) & (\ddot{x}_i, \, \ddot{y}_i) \end{array} $$

Then for each point the tangent vector is given by the direction of the velocity vector

$$ \boldsymbol{\hat{e}} = \frac{ ( \dot{x}_i , \dot{y}_i )}{\sqrt{ \dot{x}_i^2 + \dot{y}_i^2 } } $$

The radius of curvature $r$ by

$$ \frac{1}{r} = \frac{ \ddot{x}_i \dot{y}_i - \ddot{y}_i \dot{x}_i }{ \left( \dot{x}_i^2 + \dot{y}_i^2 \right)^{3/2} } $$

  • $\begingroup$ This is good, but it is not the part of the problem I am struggling with. What is the differential geometry answer? $\endgroup$ Nov 12, 2019 at 20:25
  • $\begingroup$ Based on the title and the content of the question it seems the steering angles is what you wanted. Finding the curvature involves fitting cubic splines over the data and that is a Mathematics problem, or a Stack Overflow problem if you have a specific programming environment you are working with since there might be a library already out there for cubic splines. $\endgroup$ Nov 12, 2019 at 20:32
  • $\begingroup$ The question itself was based on the measurements already available to me. As mentioned, I wanted an answer which derived an approximation like the one for my previous question. $\endgroup$ Nov 12, 2019 at 20:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.