close-circle
Close
0%
0%

Control of a vehicle with two driving wheels

This project describes the kinematics of a "mouse bot" or wheelchair type of vehicle and presents a suitable control law for it

Similar projects worth following
A few weeks ago Simon Merret posted a question about how to control an electric wheelchair. The topic was closely related to a previous project I posted here about the path-planning of a similar vehicle. I decided to study the kinematics a bit further an put together a document describing how this would be done. The document is work in progress but already contains most of what I was planning to include. A few Matlab/GNU Octave scripts that simulate the vehicle are included for the convenience of the reader.

A few weeks ago Simon Merret posted a question about how to control an electric wheelchair. The topic was closely related to a previous project I posted here about the path-planning of a similar vehicle. I decided to study the kinematics a bit further an put together a document describing how this would be done. The document is work in progress but already contains most of what I was planning to include. A few Matlab/GNU Octave scripts that simulate the vehicle are included for the convenience of the reader.

Rathet than posting a long description here, all material is made available in a document that is linked in the Files section.

paper.pdf

MAIN DOCUMENT [HERE'S WHERE ALL STUFF IS EXPLAINED]

Adobe Portable Document Format - 1.10 MB - 04/21/2017 at 17:18

eye
Preview
download-circle
Download

animations.zip

animations of the example tests in the document (more details in the paper)

Zip Archive - 267.54 kB - 04/21/2017 at 12:53

download-circle
Download

calc_ratelimit.m

source code (more details in the paper)

x-objcsrc - 194.00 bytes - 04/21/2017 at 17:19

download-circle
Download

demo_limiter.m

source code (more details in the paper)

x-objcsrc - 3.10 kB - 04/21/2017 at 12:53

download-circle
Download

simulate_vehicle_2.m

source code (more details in the paper)

x-objcsrc - 5.45 kB - 04/21/2017 at 12:52

download-circle
Download

View all 7 files

  • First uploads, etc

    adria.junyent-ferre04/21/2017 at 17:28 0 comments

      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:

      1. 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.
      2. 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.
      3. I would like to have a summary section in the document describing the step by step process of designing the controller.
      4. 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).

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates