This project is just a place for me to upload the material for this short paper I wrote discussing the kinematics of a two-wheeled vehicle and a control law for the vehicle. I uploaded the document together with the source code of the scripts I used in the document plus some animations I produced with the scripts. Very soon I realised there were quite a few typos and writing mistakes in the document and I even missed the source code of one of the functions required to run the scripts.
There are good news, though: I've tested and confirmed that the source code can run in Octave Online, which will come in handy if anyone who doesn't have Matlab license or doesn't have the will to install GNU Octave wants to give my scripts a look.
There are a few known issues with the theory I present in the document and I hope I'll address those at some point:
- a reference input with a forward motion that is close to zero is tricky for the reference calculation method because it may make the vehicle either move forwards or backwards. This uncertainty can be a concern in practice.
- the accelleration and jerk limiting algorithm effectively smoothens the linear speed of the vehicle but it doesn't smoothen the rotating speed of the vehicle. As a result, the aforementioned problem can cause sudden changes of the rotating speed. This issue needs to be fixed before the algorithms are tested in real life.
- I would like to have a summary section in the document describing the step by step process of designing the controller.
- I would like to add a separate section describing a control law where the vehicle is constrained to not move backwards or forwards (this could be a solution to the problems described above).