This article is part of the series Proceedings of the International Congress in Honour of Professor Hari M. Srivastava.

Open Access Research

Computational analysis of the Cauchy problem associated to the kinematic model of a mobile robot

Daniela Coman1 and Adela Ionescu2*

Author Affiliations

1 Department of Engineering and Management of Technological Systems, Faculty of Mechanics, University of Craiova, Craiova, Romania

2 Department of Applied Mathematics, University of Craiova, Craiova, Romania

For all author emails, please log on.

Boundary Value Problems 2013, 2013:138  doi:10.1186/1687-2770-2013-138

The electronic version of this article is the complete one and can be found online at:

Received:15 December 2012
Accepted:26 April 2013
Published:24 May 2013

© 2013 Coman and Ionescu; licensee Springer

This is an Open Access article distributed under the terms of the Creative Commons Attribution License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


Recently, the specific problems arising to mobile robots are the following: determining the position and orientation of the robot on the field, planning an optimal path of motion and stationary or moving objects avoidance.

This paper realizes a computational analysis of the Cauchy problem associated to a mobile robot kinematics. The ‘phase portrait’ graphical tool of the mathematical soft MAPLE11 points out the influence of the initial conditions: the initial velocities of the driving (left and right) wheels of the robot on the robot trajectory. Considering a pair of two simulation cases for the initial conditions brings a good reliability of the analysis.

MSC: 68T40, 70B15, 70B10, 37M05.

mobile robot; differential drive; kinematic model; phase-portrait

1 Introduction

The basic goal of this work is to get a consistent computational analysis of the trajectory of a two-wheeled differential robot. This implies a few levels: analytical, computational and experimental. For the moment, we shall focus on the computational level.

The mobile robot placing in a workspace represents the definition of the position and orientation possibilities that can be achieved in that space. Controllability of a mobile robot defines the possible trajectories from its workspace. In order to move in the workspace, the mobile robots need certain mechanical components to allow precise movement (or movement would be chaotic). Currently, there are several components, including wheel, track and legs. The most popular designs are the wheeled mobile robots. The wheeled mobile robots are also better controlled than other types of robots. Disadvantages of wheeled robots are that they cannot navigate well over obstacles such as rocky terrain, sharp slopes, or areas with low friction. Usually, robots of this type are used during competitions (e.g., a soccer game, a sumo fight etc.) and are most popular in the consumer market. Robots can have any number of wheels, but three wheels are sufficient for static and dynamic balance. Additional wheels can add to balance; however, additional mechanisms will be required to keep all the wheels on the ground when the terrain is not flat.

Mobile robot kinematics is defined by the number, type and arrangement of the wheel mobile platform. Combination and arrangement of these different types of wheels determine the type of mobile robot kinematic model. The most popular design among the mobile robots is a two-wheeled robot with differential drive. This differential motion mechanism has the following advantages:

– ensures smooth motion;

– achieved by propelling and directing by the angular speed difference between the wheels.

Besides the advantages mentioned above, the mechanism of differential motion has some disadvantages:

– the transverse displacements impossibility;

– the risk of slipping.

A differential two-wheeled robot is a mobile robot whose movement is based on two separately driven wheels placed on either side of the robot body. It can thus change its direction by varying the relative rate of rotation of its wheels and hence does not require an additional steering motion. One or more free wheels (or ‘castor’ wheels) assure the robot equilibrium. Each castor wheel is independently mounted on a vertical non-drive axis of the body and it is automatically and freely aligned on the route as a result of the forces developed by the two ‘drive wheels’. If both wheels are driven in the same direction and at the same speed, the robot will go in a straight line. Otherwise, depending on the speed of rotation and its direction, the centre of rotation may fall anywhere in the line that joins the two wheels. Since the direction of the robot is dependent on the rate and direction of rotation of the two driven wheels, these quantities should be sensed and controlled precisely. This usually creates some problem. If both wheels are turned with equal speed in opposite directions, the robot will rotate about the central point of the axis.

In what follows, a few mechanisms found in the structure of the mobile robots are presented.

(a) A wide-spread mobile robot is the two-wheeled mobile robot. Its kinematic scheme is presented in Figure 1.

thumbnailFigure 1. Kinematical scheme of the two-wheeled mobile robot.

An important component present in this structure type is ICR-instantaneous center of rotation, with R-radius from ICR.

The velocity of each wheel can be varied. The robot must rotate about a point that lies along the common axis of left and right wheels in order to perform rolling motion. This point that the robot rotates around is known as the ICR (Instantaneous Center of Rotation).

There are the following three interesting cases concerning the left and right velocities V L and V R :

1. If V L = V R , then R and the robot moves in a straight line.

2. If V L = V R , then R = 0 and the robot rotates about the midpoint of the wheel axis.

3. If V L = 0 , then the robot rotates about the left wheel and if V R = 0 , then the robot rotates about the right wheel. In this case R = L 2 .

The synchro drive configuration is a popular arrangement of wheels in indoor mobile robot applications. In a synchronous drive robot, each wheel is capable of being driven and steered, as depicted in Figure 2. Typical configurations have three steered wheels arranged as vertices of an equilateral triangle often mounted by a cylindrical platform. All the wheels turn and drive in unison [1].

thumbnailFigure 2. Synchronous drive robot.

A typical tricycle drive robot has three wheels with odometers on the two rear wheels with steering and power provided through the front wheel (as depicted in Figure 3).

thumbnailFigure 3. Tricycle drive robot.

The omnidirectional robots are able to move in any direction at any time and they are also holonomic. They can be realized by either using spherical, castor, or Swedish wheels. The omnidirectional robot depicted in Figure 4 is based on three spherical wheels, each activated by one motor. In this design, the spherical wheels are suspended by three contact points, two given by spherical bearings and one by a wheel connected to the motor axle. This concept provides excellent maneuverability and is simple in design. However, it is limited to flat surfaces and small loads, and it is quite difficult to find round wheels with high friction coefficients.

thumbnailFigure 4. Omnidirectional drive robot.

2 The kinematic-mathematical model of the two-wheeled differential drive mobile

In what follows some considerations regarding the mathematical models for a class of mobile robots, namely two-wheeled differential drive mobile robots, some of the most utilized mechanical structures in mobile robotics practice, are presented.

In this section the basic mathematical model of the non-slipping and pure-rolling two-wheeled mobile robot is concisely exposed.

The position and direction of a mobile robot is given by [ x , y , θ ] T which consists of the coordinates x, y of the robot and the angle θ between the orientation of the robot and the X-axis. According to the motion principle of rigid body kinematics, the motion of a mobile robot can be described using the formulas (1) and (2) below [1,2]:

v l = r ω l , v r = r ω r , (1)

ω = v r v l L , v = v l + v r 2 , (2)

where ω l is the angular velocity of the left wheel, ω r is the angular velocity of the right wheel, ω is the angular velocity of the robot center, v l is the velocity of the left wheel, v r is the velocity of the right wheel, v is the velocity of the robot, r is the radius of the wheel, L is the distance between the two wheels.

From equations (1) and (2), we obtain

ω = r L ( ω r ω l ) , (3)

v = r 2 ( ω r + ω l ) . (4)

The dynamic function of the robot is defined as [1,2]

[ x ˙ y ˙ θ ˙ ] = [ cos θ 0 sin θ 0 0 1 ] [ v ω ] . (5)

The velocity vector U is defined as [ v , ω ] T . The posture vector P is defined as [ x , y , θ ] T , which consists of the coordinate of the robot and the angle between the orientation of the robot and the X-axis.

By combining (3), (4) and (5), we obtain the relation of the velocity vector U and the posture vector P associated with the robot kinematics:

ω r = 1 r v + L 2 r ω , ω l = 1 r v L 2 r ω . (6)

Equations (5) and (6) describe the kinematical model of the two-wheeled mobile robot.

3 Methods

In the computational analysis of the mobile robot trajectory, some specific and fast tools of MAPLE11 soft are used. These tools are generally based on a wide spread numeric method - the Fehlberg fourth-fifth order Runge-Kutta method - the so-called ‘rkf45’ method - with degree four interpolant [3].

A widespread and fast graphical tool is the ‘phase-portrait’ tool. The ‘phase-portrait’ is a plot builder which realizes the phase-portrait for a system of differential equations. It is a fast procedure based on specific numeric methods for approximating the solution of the studied differential system. For the present computational aim, the classical method of Euler has been chosen, in fact, the ‘forward Euler’ method.

The calling sequence has the following form:

phaseportrait ( deqns,   vars,   trange,   inits,   options )

The parameters are the following:

deqns - a list or a set of first-order ordinary differential equations, or a single differential equation of any order;

vars - dependent variable, or a list or a set of dependent variables;

trange - range of the independent variable;

inits - a set or a list of lists; initial conditions for solution curves;

options - (optional) equations of the form keyword = value.

The default method of integration is method = classical[rk4] . Other methods can be specified in the optional equations. Note that because numerical methods are used to generate plots, the output is subject to the characteristics of the numerical method in use. In particular, unusual output may occur when dealing with asymptotes of solution curves. This also means that the initial conditions of the problem must be given in a standard form, that is, the function values and all derivatives up to the differential order of the differential equation at the same point minus one.

By default, plots are produced with boxed axes. In contrast with DEplot tool, this tool does not produce a direction field constituted by field arrows. This is not possible in 3D case, but its role is taken by the ‘scene’ parameter. Below some of the basic parameters of the procedure are detailed.

The inits parameter must take the form of

[ [ x ( t 0 ) = x 0 , y ( t 0 ) = y 0 , z ( t 0 ) = z 0 , ] , [ x ( t 1 ) = x 1 , y ( t 1 ) = y 1 , z ( t 1 ) = z 1 , ] , ]

inits is a list (or a set) of lists, each sublist specifying one group of initial conditions (for one solution curve).

The ‘scene’ parameter has the following form:

scene = name,   name,   name

scene specifies the plot to be viewed. For example, scene = [ x , y , z ] indicates that the plot of x versus y versus z is to be plotted, with t implicit, while scene = [ t , y , z ] plots t versus y versus z (t explicit). This option can also be used to change the order in which to plot the variables. If vars is entered as a set, there is no default ordering; if entered as a list, the given ordering is used.

The parameter ‘stepsize’ has the following form:

stepsize = real

and specifies the distance between mesh points to be used in generating the graph. For trange = a b , the default stepsize value is abs ( ( b a ) ) / 20 . If the stepsize specified is too large, the default is used.

In this paper the ‘phase-portrait’ graphical tool is tested in order to get comparative graphical analysis with other MAPLE tools. This plot tool is appropriate for the proposed model as it produces an appropriate representation of the trajectory of the studied mobile.

4 Computational simulations of the kinematic model

4.1 The Cauchy problem associated to the model

From mathematical standpoint, equations (3) and (6) represent a system of first-order differential equations together with its basic parameters.

The Cauchy problem associated to equation (3) is considered:

{ x ˙ = cos θ v , y ˙ = sin θ v , θ ˙ = ω ( x ( t 0 ) , y ( t 0 ) , θ ( t 0 ) ) , (7)

where the associated initial condition is deduced from the initial velocity of the robot, that means, from the left and right velocity pairs ( v l , v r ) given by the relation (2) above.

For the simplicity of the calculus, we take in the following analysis the notation

θ = z (8)

and thus the Cauchy problem becomes

{ x ˙ = cos z v , y ˙ = sin z v , z ˙ = ω ( x ( t 0 ) , y ( t 0 ) , z ( t 0 ) ) , (9)


v = 1 2 v l + 1 2 v r , ω = 1 L v l + 1 L v r . (10)

4.2 Computational modeling in case studies

In this section the results of computational simulations of the mobile robot trajectory in some specific conditions are presented. These conditions are in agreement with the experimental simulations recently realized in the University of Craiova in order to analyze the trajectory of this robot type.

In our experiment, we use a YSR-A mobile robot which is small in size ( 7.5   cm  × 7.5   cm  × 7.5   cm ) and a black wooden rectangular playground. A host computer controls the robot by commanding the robot velocities like a radio-controlled car. There are three different programs included in the YSR-A robot; a program receives commands of the host computer, the other program counts the numbers of Encoder, and another program controls the motor’s movement by speed commands from the host computer.

The robot system consists of four parts: micro-controller, motor driver, communication, and power unit. The functions of the components are the following:

1. the communication part: receives communication commands from the host computer;

2. the power part: makes power to operate the motor and micro-controller;

3. the micro-controller part: translates the communication commands from the host computer and makes the control commands of the motor. The micro-controller is Intel 80C296SA;

4. motor part: impresses electricity to the motor as much as wanted by commands of the motor.

The experimental results obtained with the YSR-A robot are presented in snap-shots in Figures 16-27. This experiment is filmed by a SAMSUNG Digital Color CCD camera (SDC-410ND) and Figures 16-27 are captured from a clip. Following the pictures in their successive order, it comes easy that the robot trajectory is indeed circular.

The mobile robot trajectory is simulated in an interval of 0 18 time units, divided into five parts, representing the stages of observation and simulation cases too.

The initial parameters are as follows: the distance between the two wheels L = 6.7   cm , the initial position and orientation for the first stage being ( x 0 , y 0 ) = ( 0 , 0 ) , θ 0 = 0 . The ‘phase-portrait’ procedure is used, where the initial conditions at the next stage depend on the velocities calculated at the precedent stage. For the velocities pair, a few trigonometric variation functions were tested [4]. For the present aim, the left and right velocities were varied in two separate situations:

(a) Case 1. v r = | 15 cos ( π 17 t ) | , v l = | 15 cos ( 3 π 19 t ) | ;

(b) Case 2. v r = | 9.5 cos ( 2 π 0.1 t ) | , v l = | 11.5 cos ( 3.5 π 0.1 t ) | .

We have chosen these combinations, taking into account that the basic trigonometric functions sin and cos are periodic and their variation is formed by loops. Figures 5 and 6 show the functions for the two cases.

thumbnailFigure 5. Case 1 for the variation functions of the left and right velocities of the mobile.

thumbnailFigure 6. Case 2 for the variation functions of the left and right velocities of the mobile.

For each of the above cases, the ‘phase-portrait’ procedure was applied step by step for the Cauchy problem (9) on the intervals: [ 0 , 4 ] , [ 4 , 8 ] , [ 8 , 10 ] , [ 10 , 14 ] , [ 14 , 18 ] . At each step, the initial conditions, the values of the velocities pair ( v l , v r ) , were calculated based on the solution of the differential system (9) at the preceding step. The ‘scene’ parameter was chosen [ x ( t ) , y ( t ) ] in order to give for the mobile trajectory a ‘seen from above’ image.

First there are presented the plots for the first simulation case, in Figures 7-11. Each case and specific observations are labeled on the figure.

thumbnailFigure 7. ( v l , v r ) = ( 8 , 4 ) , t = 0 4 .

thumbnailFigure 8. ( v l , v r ) = ( 8.2042 , 13.9871 ) , t = 4 8 . The trajectory records negative values and seems to be routed several times.

thumbnailFigure 9. ( v l , v r ) = ( 6.0254 , 11.0851 ) , t = 8 10 . Important modifications of the trajectory.

thumbnailFigure 10. ( v r , v l ) = ( 11.8371 , 9.0395 ) , t = 10 14 .

thumbnailFigure 11. ( v l , v r ) = ( 14.1873 , 4.1049 ) , t = 14 18 . The trajectory seems to be formed by arcs.

For the second simulation case, the results are presented in Figures 12-15.

thumbnailFigure 12. ( v l , v r ) = ( 6.7595 , 2.9357 ) , t = 4 8 .

thumbnailFigure 13. ( v l , v r ) = ( 3.5537 , 7.6857 ) , t = 8 10 . Important modification of the trajectory.

thumbnailFigure 14. ( v l , v r ) = ( 8.1317 , 9.5000 ) , t = 10 14 . Special modification in the allure and values of the trajectory.

thumbnailFigure 15. ( v l , v r ) = ( 1.7990 , 2.9357 ) , t = 14 18 . Significant modification comparing to the preceding cases.

In Figures 16-27, the trajectory evolution for the YSR-A robot is presented in snap-shots. As specified above, the figures exhibit, in their successive order, a circular trajectory.

thumbnailFigure 16. Frame 1 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 17. Frame 2 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 18. Frame 3 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 19. Frame 4 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 20. Frame 5 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 21. Frame 6 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 22. Frame 7 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 23. Frame 8 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 24. Frame 9 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 25. Frame 10 captured from clip using the variation functions of the left and right wheel velocities proposed in Case 1.

thumbnailFigure 26. Frame 11 captured from clip using the variation functions of the left and right wheel velocities robot proposed in Case 1.

thumbnailFigure 27. Frame 12 captured from clip using the variation functions of the left and right wheel velocities of the YSR-A robot proposed in Case 1.

5 Discussions

At first sight, it must be observed that at the beginning of the analysis, when starting with the initial velocities ( 8 , 4 ) , the mobile robot trajectory seems to be circular, and at the further stages it changes, recording a periodic trend or a ‘loop’ trajectory. The trajectory modification records itself significant modifications. Thus an important influence of the initial conditions of the Cauchy problem on the mobile trajectory is noticed.

In the first simulation case, for t = 4 8 , the trajectory becomes thick, recording a periodicity trend. This is very interesting since there is no other case with this situation in the analysis. After that, the mobile tends to have not a complete circle. Moreover, for t = 14 18 , a trajectory formed by line segments is recorded.

In Case 2 of simulation, it is very important to notice the special trajectory form for t = 10 14 : a half loop with positive values, and a complete different allure for t = 14 18 with negative values. Again the trajectory allure has a strong modification from a simulation stage to the next one. And all these in no special conditions for the time unit simulation parameter: in MAPLE, the time unit can have from the smallest values to bigger ones.

In fact, it is no rule for this important change of the trajectory, all these special events issue in a random way. Thus we can say that the Cauchy problem associated to the mobile kinematics is in fact a sensitive-case model.

6 Conclusion

The basic conclusion of the above analysis is that the Cauchy problem analyzed here brings a new approach of the studied mobile robot kinematics. The ‘phase-portrait’ graphical tool is extremely helpful because it is fast and has very flexible parameters. Note that here only a situation for the ‘scene’ parameter of the procedure, namely ‘ scene = [ x ( t ) , y ( t ) ] ’, was used. Other possibilities for ‘scene’ would give another perspective for the mobile trajectory analysis. We must take into account that we can assimilate the mobile in his move with a material point lying in the middle of the axis that joins the centers of the left and right driving wheels, and rotating around its ICR.

Thus, from qualitative reasoning, some basic ideas for next target have to be outlined:

• To increase the number of simulations, for more variation functions for the pair ( v l , v r ) .

• To use another analytical or numerical MAPLE tools for getting more analysis data on the Cauchy problem behavior. Testing step by step the Cauchy problem was possible due to the flexible structure of the MAPLE11 graphical/computational tools [5]. At the same time, this shows that these repetitive simulations are relatively easy to perform.

It is important to notice the issues of repetitive phenomena: in the above analysis, a specific allure of the trajectory is repeated. The further changes are due to the initial conditions variations. Repetitive phenomena can be collected in order to realize a global panel of random distributed events in the kinematics of a two-wheeled differential drive mobile robot and to use the statistical observations in the further analysis. Finally, the feasibility and effectiveness of the proposed computational analysis for the mobile robot trajectory is demonstrated by the experimental results.

Competing interests

The authors declare they have no competing interests.

Authors’ contributions

DC realized the basic conception of the model analysis, established the analysis steps and contributed to the interpretation of the results. Also, she realized the experimental simulations with the specified mobile robot in order to match the mathematical model. AI realized the computational simulations in MAPLE11, contributed to the final analysis of results and final manuscript arrangement.


Dedicated to Professor Hari M Srivastava.


  1. Fahimi, F: The Autonomous Robots: Modeling, Path Planning, and Control, Springer, Berlin (2008)

  2. Kim, JH, Kim, DH, Seow, KT: Soccer Robotic, Springer, Berlin (2004)

  3. Abell, ML, Braselton, JP: Maple by Example, Elsevier, San Diego (2005)

  4. Coman, D, Ionescu, A: Motion control of the soccer robot based on fuzzy logic. In: Simos T, Maroulis G (eds.) Topics in Fuzzy Logic, 6th International Conference on Computational Methods in Science and Engineering, Crete, Greece, September 2008. Lecture Notes in Advances Computational Science 1148. pp. 57–60. Melville, New York (2009)

  5. Hindmarsh AC, Stepleman RS (eds.): Odepack, a Systemized Collection of ODE Solvers, North-Holland, Amsterdam (1983)