5.0 | 3 ratings Rate this file 78 Downloads (last 30 days) File Size: 116 KB File ID: #44850 Version: 1.3
image thumbnail

Velocity-based dynamic model and adaptive controller for differential steered mobile robot



27 Dec 2013 (Updated )

Blocks for simulation of the differential steered dynamics. Some controllers are included.

| Watch this File

File Information

These files allow the simulation of a differential steered (unicycle-like) mobile robot considering its complete dynamic model. The dynamic model here adopted is based on velocities (not torques), which makes it easier to integrate with existing mobile robot controllers that generate references for linear and angular velocities.
Although not required, the blocks were built to be compatible with Peter Corke's Robotics Toolbox, so the user can make use of the toolbox functions.

Sets of dynamic parameters are available for the following robots (obtained via identification):

- Pioneer 3-DX with Sick LASER sensor;
- Pioneer 3-DX without LASER sensor;
- Pioneer 2 without on-board computer (no LASER sensor);
- Pioneer 2 with on-board computer (no LASER sensor);
- Robotic wheelchair carrying a 55kg person;
- Robotic wheelchair carrying a 125kg person;
- Khepera III (identified by Jeffrey Laut).

Four examples are provided:

1. "kinematic_controller_system.slx": implements a simple trajectory tracking controller using both kinematic and dynamic blocks of the differential drive mobile robot.

2. "dynamic_controller_system.slx": implements a more complex system that includes an adaptive dynamic compensation controller and the trajectory tracking controller. The system also has Band-Limited White Noise blocks to add some noise to the measured values of linear velocity, angular velocity and robot position (x,y).

Note: After running "kinematic_controller_system.slx" or "dynamic_controller_system.slx" simulations you can check the results calling the script "plot_results.m".

3. "sl_lanechange_unicycle.slx": implements the same system as the Robotics Toolbox "sl_lanechange", but using the kinematic model of the differential steered mobile robot.

4. "sl_lanechange_unicycle_dynamics.slx": implements the same system as the Robotics Toolbox "sl_lanechange", but using the kinematic and the dynamic models of the differential steered mobile robot.

Copy all files to a desired folder. The files include two libraries:

- "DiffSteer_model.slx": Library that contains the kinematic and dynamic blocks of the differential-drive mobile robot.

- "Controllers.slx": Library that contains the following blocks:
    a) trajectory tracking kinematic controller;
    b) dynamic compensation controller 1;
    c) dynamic compensation controller 2;
    d) dynamic parameters estimator (for adaptive controllers);
    e) trajectory generator;
    f) performance calculator (IAE, ITAE, ISE, ITSE and energy indexes).
If you are using Peter Corke's Robotics Toolbox, you might want to copy all files, specially "DiffSteer_model.slx" and "Controllers.slx" to the "...\rvctools\simulink" folder.

All blocks were tested in MATLAB R2012b (MATLAB Version:, Simulink Version 8.0) and R2013a (MATLAB Version:, Simulink Version 8.1) running on Windows 7.


Author: Felipe Nascimento Martins
Federal Institute of Education, Science and Technology of Espirito Santo - IFES
NERA - Núcleo de Estudos em Robótica e Automação
Blog sobre robótica: www.nossosrobos.blogspot.com

Based on a prior work by Felipe Nascimento Martins and Wanderley Cardoso Celeste
UFES - Federal University of Espirito Santo, BRAZIL

For detailed information on the system, please refer to the following papers and thesis:

MARTINS, F. N., Celeste, W. C., Carelli, R., Sarcinelli-Filho, M. and
Bastos-Filho, T. F. An Adaptive Dynamic Controller for Autonomous Mobile Robot
Trajectory Tracking. Control Engineering Practice, v. 16, p. 1354–1363, 2008.
doi: 10.1016/j.conengprac.2008.03.004

MARTINS, F. N., Carelli, R., Sarcinelli-Filho, M. and Bastos-Filho, T. F.
Dynamic Modeling and Adaptive Dynamic Compensation for Unicycle-Like
Mobile Robots. 14th International Conference on Advanced Robotics -
ICAR 2009, Germany, June, 22-26, 2009.
MARTINS, F. N. Modelagem e Compensacao da Dinamica de Robos Moveis e sua
Aplicacao em Controle de Formacao. Tese de Doutorado em Engenharia Eletrica - Automacao.
Universidade Federal do Espírito Santo, 2009.

LAUT, Jeffrey. A Dynamic Parameter Identification Method for Migrating Control Strategies
Between Heterogeneous Wheeled Mobile Robots. M.Sc. Diss. Worcester Polytechnic Institute, 2011.

Required Products Simulink
MATLAB release MATLAB 8.1 (R2013a)
MATLAB Search Path
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
11 Nov 2014 Felipe Martins

Hello, K.

The following are sets of identified parameters for some robots.

[0.2604 0.2509 -0.000499 0.9965 0.00263 1.0768]; % Pioneer 3DX with Sick LASER sensor
[0.5338 0.2168 -0.0134 0.9560 -0.0843 1.0590]; % Pioneer 3DX without LASER sensor
[0.2183 0.1918 -0.0050 0.9993 -0.0279 1.0142]; % Pioneer 3DX (identified by Jeffrey Laut)
[0.1992 0.13736 0.001954 0.9907 0.01554 0.9866]; % Pioneer 2 without onboard computer (no LASER sensor)
[0.3037 0.2768 -0.0004018 0.9835 0.003818 1.0725]; % Pioneer 2 with onboard computer (no LASER sensor)
[0.3759 0.0188 0.0128 1.0027 -0.0015 0.9808]; % Robotic wheelchair carring a 55kg person
[0.4263 0.0289 0.0058 0.9883 0.0134 0.9931]; % Robotic wheelchair carring a 125kg person
[0.0228 0.0568 -0.0001 1.0030 0.0732 0.9981]; % Khepera III (identified by Jeffrey Laut)

You can also check the dynamic parameters by clicking on the "help" option of the "DiffSteer Dynamics" block.

You can change the set of dynamic parameters by double-clicking on the "DiffSteer Dynamics" block and typing one of the above parameters on the appropriate box.

The procedure to identify the dynamic parameters for a given robot is described on the following references:

De La CRUZ, C., CARELLI, R. Dynamic model based formation control and obstacle avoidance of multi-robot systems. Robotica, n. 3, v. 26, p. 345--356, 2008.

LAUT, Jeffrey. A Dynamic Parameter Identification Method for Migrating Control Strategies Between Heterogeneous Wheeled Mobile Robots. M.Sc. Diss. Worcester Polytechnic Institute, 2011.

Comment only
05 Nov 2014 k

k (view profile)

Can you please explain how I can select which dynamic is being used?
e.g. How can I change the dynamics between Pioneer 3DX and the Pioneer 2?

And thank you so much for sharing this models, amazing job.

15 May 2014 Amine kamal  
11 May 2014 Mohamed Kamel

Thank you Prof. Martins for this file

31 Dec 2013 1.1

Small corrections on the read_me.txt file.

02 Jan 2014 1.2

Included the dynamic parameters for the Khepera III mobile robot (identified by Jeffrey Laut).

20 Nov 2014 1.3

Content offered as a toolbox (.mltbx file) automatically created by the Mathworks website. I didn't test it because I still don't have access to MATLAB 2014b.

Contact us