Optimal Velocity Planning of Wheeled Mobile Robots on Specific Paths in Static and Dynamic Environments

The control system of a mobile robot generally comprises two different modules: a trajectory planner and a trajectory tracking controller, although some researchers have proposed algorithms that integrate both tasks. To completely solve the trajectory planning problem is to define an open-loop path and its velocity profile from an initial to a final posture, while avoiding any potential obstacles. In time-optimal planning of a wheeled mobile robot (WMR), the problem is solved by defining control inputs for the wheels that minimize navigation time from the origin to the target posture. This goal implies two tasks, which can be carried out simultaneously or sequentially: path-planning (PP), which involves the computation of the shortest feasible path; and velocity-planning (VP), which involves the computation of the fastest feasible velocity profile for the entire domain of the path. Several approaches have been developed to perform both tasks. The most widely used approaches are free configuration-time space based methods, (Reinstein & Pin, 1994), but these algorithms are computationally expensive, even when one is only dealing with PP or VP separately. To reduce the computational cost, researchers have recently published methods which do not require computing the C-space obstacles (Wang et al., 2004), as well as methods that search for a probabilistic road map (LaValle & Kuffner, 2001). Some other approaches that use intelligent computing-based methods have also been presented, such as those that use artificial potential fields-based methods (Liu & Wu, 2001), fuzzy logic (Takeshi, 1994), genetic algorithms (Nerchaou, 1998) or neural networks (Zalama et al., 1995). In order to find an optimal and feasible solution for the two problems, mechanical, kinematic and dynamic characteristics of the WMR that limit its motion must be taken into account, as well as other environmental, task-related and operational issues. These constraints can be summarized by upper boundary functions of the velocity, acceleration and deceleration of the WMR. In general, the functions are not constant, nor are they even continuous. They are therefore nonintegrable constraints, and the time optimal planning is a nonholonomic problem. A significant number of nonholonomic constraints, which include not only mechanical and kinematic but also dynamic characteristics of the WMR, are difficult to deal with when PP and VP are approached simultaneously. The vast majority of existing algorithms consider

only kinematic constraints or some dynamic conditions derived from simplified models of the WMR and/or its environment.But the resulting trajectory may be unexecutable, or tracked by the robot with high spatial and temporal errors.However, when PP and VP are approached sequentially, the difficulty of both problems is significantly reduced.Such approaches make it possible to include more complex constraints for the WMR's velocity and acceleration, especially with regards to its kinematic and dynamic characteristics.To our knowledge, the first references addressing VP with kinematic and dynamic constraints for WMR is (O'Dunlaing, 1987).This paper, like a number of other algorithms to solve the VP stage, is based on constant maximum values for robot velocity and acceleration, set to arbitrary constants which are unrelated to the mechanical characteristics of the system.More recent works seek to find more efficient bounds for these operating variables, but never in a global way and always based on simplified dynamic robot models.(Weiguo et al., 1999) propose a velocity profile planner for WMRs on flat and homogeneous terrains, where velocity and acceleration are limited only by the outer motor torques and by the absolute slippage of the vehicle on the ground.(Choi & Kim, 2001) develop another planner where velocity and acceleration are constrained by dynamic characteristics related to the performance of the robot's electric motors and its battery's power.(Guarino Lo Bianco & Romano, 2005) present a VP algorithm for specific paths that generate a continuous velocity and acceleration profile, both into safety regions limited by upper boundary functions not described in the paper.The method involves an optimization procedure that has a significant computational cost.Some other limitations have been studied, mainly within the framework of projects for planetary exploration.(Shiller, 1999) deals with some dynamic constraints: sliding restrictions, understood as the avoidance of absolute vehicle slippage, tip-over and loss of wheel-ground contact constraints, which are important issues when dealing with irregular outdoor terrains.The author works with a very simplified robot model, neglecting sideslip and assuming pure rolling, so wheel deformations and microslippages which can cause important tracking errors are not quantified.(Cheriff, 1999) also proposes a set of kinematic and dynamic constraints over the robot's path, dealing specifically with 3D irregular and non-homogeneous grounds.The resulting trajectory planner directly incorporates a complete dynamic WMR model, considering non-linear motions and specifically accounting for wheel-ground interactions, which makes it necessary to run complex algorithms that significantly increase computational cost.(Lepetic et al., 2003) present a VP method that considers dynamic constraints by bounding the acceleration by the maximum wheel-ground adherence capacity.This maximum is computed as a function of a constant friction coefficient for every posture and of the weight borne by the wheel.Load transfer due to lateral forces is considered to calculate the weight on the wheel, but only as a constant maximum value, derived from a simplified model of the WMR, that reduces the lateral maximum acceleration to the same value for every posture.The VP method published by (Krishna et al., 2006) builds a trajectory continuous in space and velocity, which incorporates environment and sensory constraints by setting a maximum velocity for the entire path of the robot that is decreased when an obstacle is detected within its visibility circle.The velocity constraint is computed as a function of the position and velocity of the obstacle and of a maximum acceleration or deceleration value of the WMR, established as constant values for every posture.This chapter deals with time-optimal planning of WMRs when navigating on specific spatial paths, i.e., when the PP is previously concluded.First, the computation of the upper boundary functions of its velocity, acceleration and deceleration are described.Then a method for time-optimal planning is proposed, the main goals of which are: -To fully exploit velocity, acceleration and deceleration constraints, avoiding the planning of velocities or accelerations that lead to dangerous motions.

-
To plan a feasible trajectory, with continuous velocity and deceleration -To bound the jerk of the WMR -To be of low computational cost.The method firstly deals with velocity planning in static environments and then presents an algorithm to modify the resulting trajectory to avoid moving obstacles.Special attention is paid to the efficiency of the second algorithm, an advantage which makes it highly useful for local and/or reactive control systems.

Problem definition
Problem 1: Given a WMR's path, computed to navigate in a static and known environment, plan the fastest, feasible and safe trajectory, considering the constraints imposed by the mechanical configuration, kinematics and dynamics of the robot and by environmental and task-related issues.Problem 2: Modify the trajectory quickly and locally to avoid moving obstacles.A generalized posture of a WMR, parameterizing by the path length, s, can be defined by the vector is the position and θ(s) the orientation of the WMR's guide point on a global frame (Z coordinate is constant by assuming navigation is on flat ground).δ(s) is a function kinematically related to the curvature of the trajectory, κ(s); specifically, it is a function of the steer angles of the wheels of WMRs with steering wheels or a function of the difference between the angular velocities at the traction wheels for WMRs with differential drive.The path, P(s), can be defined by a continuous series of generalized postures from the initial posture, q 0 , to the final one, q f.Therefore, if S is the total length of the path: To transform P(s) into a trajectory, a velocity function must be generated for the entire path domain.It must be defined in positive real space (if the WMR is only required to move forward, as is the usual case) and planned to make the robot start from a standstill and arrive at the final posture also with null velocity.That is: Additional conditions are strongly required of V(s) to obtain a feasible trajectory: 1. Continuity, since the kinematics of WMR make it impossible to develop other types of maneuvers.2. Confinement into a safety region of the space-velocity plane (s×v), upper limited by a boundary function of the velocity, V Lim (s). 3. Confinement of its first derivative with respect to time, acceleration or deceleration, into a safety region of the space-acceleration plane (s×a), upper limited by a boundary function of the acceleration, a Lim (s), and lower limited by the negative value of a boundary function of deceleration d Lim (s).
4. Continuity of acceleration or deceleration: this condition ensures that the jerk of the robot, the second derivative of its velocity, is finite, so that the robot's movements are smooth.High jerk is not recommended for WMRs for a number of reasons: it causes the robot to shake significantly and thus complicates on-board tasks; it makes tracking control more difficult, since wheel microslippage increases and wheel behavior becomes less linear (Wong, 2001); and it increases the error of onboard sensor systems. 5. Additionally, low computational cost is beneficial for the generation of the velocity profile.This goal is especially pursued when solving problem 2, for the purpose of possibly incorporating the algorithm into local controls or reactive planners, to adjust the trajectory in the presence of new unexpected obstacles that appear in the visibility area of the robot's sensorial systems (Krishna et al., 2006).

Velocity constraints
This section deals with constructive characteristics, kinematic configuration and the dynamic behaviour of a WMR, as well as operational matters, in order to identify the constraints that influence the maximum velocity of a WMR's guide point.For all the constraints detailed in the following subsections, an upper boundary function of velocity, parametrized by s, can be generated.The function is built by assigning the lowest upper bound of all the velocity constraints to each posture: This chapter addresses the case of a WMR guided by steering wheels; in the case of WMRs with differential drive, the approach will be similar and therefore the constraints can easily be deduced under the same considerations.

Construction constraints
Thermal and mechanical characteristics of motors and batteries impose maximum rotational velocities on the tractive and steering servomotors, ω tm max and ω sm max , respectively (Choi & Kim 2001).Thus, if ξ t is the reduction ratio of the drive-train and R the wheel's radius, the maximum linear velocity of driven wheels on the ground is: Further, if ξ s is the reduction ratio of the steering-train, the maximum velocity of variation of the steering angle, i.e. the maximum steering gain, is:

Kinematic constraints
With regards to kinematic linkages between the driven wheels and the guide point, if d tw max is the position vector on the ground of the most distant driven wheel with respect to the guide point, an upper bound for the WMR's velocity is given by: On the other hand, by considering kinematic linkages between the steering wheels and the guide point, a second boundary function for the velocity is found as: The numerator must be calculated from a kinematic model of the robot, whereas the denominator can be directly computed from the known spatial path.

Dynamic constraints
A dynamic model of the robot is needed to generate boundary functions relating to its dynamic characteristics.Since this model is only used to fully define the VP algorithm, specifically when defining V Lim , a Lim and d Lim , but not when computing the trajectory, it can be as complex as needed for successful results without increasing computational cost.One may therefore use a model which is not limited by its degrees of freedom, geometric nonlinearities, integration tolerances, etc...

Maximum velocity to bound spatial error
Let the quadratic spatial error of a WMR be the square of the distance from the actual position of its guide point tracking a trajectory to the position planned by the PP, measured on the ground plane and parameterised by the normalised arc length, s ~, defined as the ratio of s to the total path length, S, i.e. S / s s ~= .Let the actual tracked trajectory, which will involve a side-slip angle with a value that is generally non-zero, be expressed by a two dimensional function on a world reference frame as: Then, the quadratic spatial error can be calculated by: And the total quadratic spatial error is the integral of ( 9) over the entire path: If the planned path, P(s) in ( 1) is particularized for stationary manoeuvres, i.e. with constant velocity and curvature, the WMR's planned position in the same world reference frame can be expressed as a function of s ~ as: The actual tracked trajectory, with side-slip angle β A and curvature κ A , will generally differs from the planned trajectory and is given by (Prado et al., 2002): κ A and β A can be approximated by the trajectory obtained as simulation output of a sufficiently accurate dynamic model or by experimental results.If enough simulations or tests are performed to characterize the dynamics of the WMR in stationary trajectories, it is possible to fit κ A and β A to functions of the planned curvature and velocity.Therefore, by substituting (11) and ( 12) into (10) and considering the simulation or experimental results to compute κ A and β A , the total spatial error of the WMR when navigating a whole stationary cycle can be calculated as a function of the planned V and κ.Although it is known that in general the planned variables V and κ do not stay constant at adjacent postures, it is understood that they will experience smooth variations when smooth paths are planned.Therefore, the error at each posture will be approximated by the error in (10) computed as described in this section, i.e. considering neighbourhoods where the V and κ are kept constant.Finally, TE s 2 will be upper limited by a magnitude relative to the total area of the circle that defines the stationary planned trajectory.Therefore, if tol s is the percentage of the admissible tolerance for the spatial error, the following constraint is imposed: When ( 13) is applied to (10), a velocity constraint V Lim3 for the WMR is obtained.

Maximum velocity to bound temporal error
When a WMR is navigating, it must do more than consider position error; temporal error can also be important if one wishes to fit or synchronise several objects.Let the temporal error of a WMR be the time gap between the actual time when the robot arrives at a posture, t A , and the time when it is planned to arrive, t: For a stationary trajectory of length S tracked with actual velocity V A , this error is: V A in a stationary trajectory can be approximated by the velocity obtained in experimental tests or simulations of a sufficiently accurate dynamic model of the WMR.As stated for the spatial error, such outcomes make it possible to express V A as a function of the characteristics of V and κ.The velocity planner fixes an upper bound for the temporal error associated to each posture, given by a value relative to the time that the path tracker estimates the robot will spend in the stationary trajectory, with relative tolerance t t rel .Then the following inequality must be satisfied: www.intechopen.com By substituting ( 15) in ( 22), a new upper boundary function V Lim4 is generated as:

Tip-over limitation
Tip-over occurs when the robot's entire weight shifts to one side of the vehicle, and the other wheels are about to lose contact.Thus, the robot is at risk of tipping-over when its total weight is entirely borne by the outer wheel (Shiller, 1999).The extreme situation, depicted in Fig. 1 for positive κ, where h is the height of the centre of gravity (c.g.) of the robot and B 1 and B 2 are the lateral distances between the outer wheel and the c.g. for positive and negative κ, respectively (although generally B 1 =B 2 ), yields a relation between the lateral force, F y , and the vertical force, F z, given by: By neglecting gyroscope torques, the lateral force, Fy, on flat grounds is simply the centrifugal force, while F z is the robot's weight.Thus, if g is the gravity constant, equation ( 18) requires V to be lower than:

Operational constraints
The need to fit and synchronise the robot's motion with its environment, whether static or dynamic, makes operational constraints necessary.

Maximum velocity to prevent collisions
V is limited by a value that ensures the WMR will come to a complete stop at a distance greater than a safety distance from any obstacle, L safe .Such a stop will be performed at the maximum deceleration, b max , a constant calculated in section 4. Therefore, the distance run by the robot until it stops, is: When V obs is the maximum estimated velocity of the obstacle towards the robot (0 in static environments), the distance covered by the object is: If D obs is the distance from the robot guide point to the obstacle in completely known environments, or the radius of vision of the external sensor system in partially known environments (Krishna et al., 2006), in order to ensure that the robot maintains its safety distance, it must satisfy: By replacing ( 20) and ( 21) in ( 22), a new upper limit for the velocity is found as:

Maximum velocity to approach the target posture
In the same way, in order to ensure safe stopping at the target point of the path, another upper boundary function is given by: Where C 2 is an arbitrary constant greater than 1, which reflects a security percentage for stopping, and S is the total path length.

Environmental constraints
A set of velocity constraints which are solely dependent on the robot's working environment can be defined as a function which assigns a maximum speed V i to each portion of the path, with expressions such as:

Acceleration and deceleration constraints
The same constructive, kinematic, dynamic and environmental topics which were analysed for velocity are studied for acceleration and deceleration in this section.From all the constraints detailed in next subsections an upper boundary function of acceleration, a Lim , and deceleration, d Lim , can be generated as:

Constructive constraints
The maximum torques of tractive motors, T tm , steering motors, T sm , and the braking mechanism, T bm , dictate the maximum torques achievable at the wheels.If η t and η s are the efficiency of the drive-train and of the steering-train, these values are given by:

Kinematic constraints
As occurs with velocity, the robot's kinematics would make its acceleration be a function of the acceleration of the wheels.But as is argued in section 4.4, this value is limited exclusively by the dynamic capabilities relative to the resisting loads.

Wheel-ground adhesion constraint
In order to avoid slippage, the maximum effort that the wheel-ground contact can support in a direction j is limited by the wheel-ground friction coefficient,µ, as: µ can be assumed to be constant for uniform rubber wheels if slippage does not occur and terrain characteristics are uniform (Wong, 2001).F wi n is the vertical load borne by the i-th wheel, which changes with: ground irregularities, transients for non-stationary manoeuvres, lateral load transference produced by the centrifugal force on curved paths and longitudinal load transference on accelerated or decelerated paths.The first two phenomena can be neglected, especially for navigation in industrial environments.Regarding the two dynamic load transfers, F wi n can be computed as a function of the static weight borne by the i-th wheel, 0 n wi F , as: Where wi L r is the vector of longitudinal position of the centre of the i-th wheel with respect to the c.g. of the WMR and wi B r is the vector of its lateral position.
The maximum lateral effort that can be borne by the steering wheel is computed by replacing in (29) the sum of (30) extended for those wheels: Therefore, if d c is the castor distance, i.e. the longitudinal distance from the rotation axis of the steering system to the wheel centre, the available steering torque limited by the wheelground adherence capacity is: Regarding driven and braking wheels, by replacing in (29) the sum of ( 30) for all those wheels, the longitudinal driven and braking efforts limited by the wheel-ground adherence capacity are given by the following equations, respectively:

Maximum tractive and braking efforts
The maximum acceleration is that which is reached applying the maximum available effort when rolling, grade and aerodynamic resistances are overcome.For WMRs, aerodynamic resistance is habitually neglected, because of their low navigation velocity.Therefore, the maximum acceleration when negotiating a grade j, and with rolling resistance coefficient f r , is: F long | max is the maximum longitudinal effort, limited either by the motors or by the wheelground adherence capacity.Therefore, by introducing the power capacities computed in (28) and the maximum adhesion of ( 33) into (34), the following upper boundary functions are defined: ) ) These are constant functions as long as f r can be considered constant, which occurs when the operating variables stay within a small interval, which is the most common situation for WMR motion in industrial environments (Wong, 2001).

Maximum steering efforts
The maximum acceleration available for the steering angle, δ, can be calculated as: T steer | max is the maximum steering torque at the wheel, limited either by power of the steering system, in (28) or by adhesion, in (32); I s is the mass moment of inertia of the whole steering system; and T wi res is the self-aligning torques of the i-th wheel.
Looking at the left-hand side of (37), it can be expressed by: This upper bound depends on the velocity, which would take the VP to an iteration loop.In order to avoid this costly procedure, V is substituted by the single-valued upper boundary function of velocity, V LIM (s), defined in section 3, making the acceleration boundary even more restrictive.

Path Segmentation
In order to reduce its complexity, the proposed method divides the path into segments where all of the velocity constraints are continuous and monotone or constant, i.e.where the velocity of the path can be continuous and monotone or constant when it matches its upper boundary function.The velocity profile for the entire path is generated sequentially from the first segment to the last one according to the method describe later on in this section.
A set of p+2 segmentation points, P s ={0, 1 ss, ... p ss, S}, sorted in increasing order, divides P(s) into p+1 segments, SG={ 1 Sg, ... p+1 Sg}, where i Sg is the subset of P(s) corresponding to the domain s⊂[ i-1 ss, i ss].P s , comprises: the initial point of the path, s=0; its final point, s=S; and every point that satisfies at least one of the following conditions: -To be a local extremum of the velocity boundary function: consequently V Lim is monotone over i Sg, so that V(s) can also be monotone when it matches V Lim .

-
To be a point of discontinuity of V Lim : at the first stage, the VP algorithm proposed herein will only deal with the velocity limits at the end points of the segment.Later it will check if V Lim (s) is exceeded at any intermediate point and, in such a case, a time-consuming iterative process will be carried out.Since any discontinuity of V Lim increases the risk of failing to meet the velocity constraint, they are shifted to the ends of the segments by selecting them as segmentation points.

VP of a segment of the path in static environments
The piece of V(s) for i Sg is generated from the time-space (t×s) function i σ(t), which computes the path length navigated as: Thus, the velocity profile for the segment is: i σ(t) must start at the initial position of i Sg and arrive at its final position.If the origin of time is shifted to the first point of i Sg, without loss of generality, and if i t is the time taken by the WMR to navigate i Sg, the position boundary conditions are: The first derivative of i σ(t) with respect to time, i σ'(t), must also satisfy the velocity boundary conditions, which are given at the edge points of the segment by: The second equation of ( 43) sets the velocity at the end of i Sg to the maximum value permitted by the V Lim at this point, in order to obtain the fastest trajectory; while the first equation of ( 43) compels the WMR to start from a standstill for the first segment of the path, i=1, or ensures continuity between adjacent segments for any other case.Note that i-1 σ'( i-1 t) was set to its highest feasible value when planning the previous segment i-1 Sg.The cubic polynomial is selected to generate i σ(t), since it has just enough parameters to satisfy the boundary conditions in ( 42) and ( 43) and it has inverse, so that (41) can be computed.Thus, the t×s function of the path can be expressed as: By applying ( 42) and ( 43) to ( 44), the boundary conditions can be summed up as: i t must be computed to confine i V(s) into the safety zone of the s×v plane limited by [0≤V(s), V(s)≤V Lim (s)], and its first derivative into the safety zone of the s×a plane limited by [-d Lim (s)≤V'(s), V'(s)≤a Lim (s)]; further, i t must be computed to ensure the continuity of i σ(t) up to its second derivative for the entire domain of the path, specifically between adjacent segments.The magnitude i σ''(t) is important because local extrema of V Lim are always located at the ends of the segments that partition the path.The velocity planned for these points is the maximum possible, under (43).If a maneuver with positive acceleration is planned for a segment whose end point is a local maximum of V Lim , the velocity boundary will be violated at the beginning of the next segment.A similar situation would occur for a local minimum when negative acceleration is planned.A direct approach to the problem would involve solving a large system of non-linear inequalities, a process of very high computational cost (Muñoz, 1995).Therefore, a method is proposed, working mainly with closed mathematical expressions and thereby reducing computational cost significantly.The method is based on setting the acceleration to zero at the segmentation points, so that acceleration continuity is ensured and the problem of failing to meet the velocity constraints just after local extrema of V Lim , explained in a previous paragraph, is overcome .The maximum acceleration of i Sg, i A, is planned to be reached at an intermediate point, i t c , which yields one of the acceleration profiles showed in Fig. 2, therefore: By integrating ( 46) and calculating the integration constants to satisfy the initial velocity boundary condition of ( 43) and to ensure continuity between i σ' 1 (t) and i σ' 2 (t), the velocity profile of the segment, also plotted in Fig. 2, is: Finally i σ(t) is computed by integrating (47) with the integration constants to satisfy the first position boundary condition of (42) and to ensure its continuity at i t c : The proposed algorithm initially selects i t c at the half-way point of i Sg.So: In this case, by taking into account the second velocity condition in (43) it is found that: In order to arrive at the position given by the second equation of (50), i A must be: Therefore, by replacing ( 51) in (50), the value of i t needed for navigating i Sg with the selected velocity profile is computed as: While the maximum acceleration must be: ( )() i σ(t) is fully defined by replacing ( 49), ( 52) and ( 53) in ( 48).It satisfies the boundary conditions of position and velocity at the initial and end points of i Sg and ensures the continuity up to its second derivative over both i Sg and the entire path domain.But a Lim (s) and d Lim (s) constraints must also be satisfied, hence it is necessary to check that: When i-1 v< i v, an acceleration maneuver is planned for the segment.So if the acceleration restriction fails, it occurs because its upper boundary, the first inequality of (54), is violated.This problem can be solved by decreasing the final velocity to the maximum permitted by the maximum feasible acceleration in the segment.Thus, the velocity at the end of the segment is modified to be: ( ) ( ) where the modified acceleration, i A * , is computed as: And the time that the WMR takes to navigate the i-th segment is recomputed as: Obviously, i v*< i v, since i A*< i A, and it is not necessary to check the velocity constraint at the end point of i Sg again.
On the other hand, when i-1 v< i v, a deceleration maneuver is planned for the segment.Therefore, if the acceleration restriction fails, it occurs because its lower boundary, the second inequality of ( 54), is violated.In this case it is not possible to reduce deceleration by increasing the final velocity, since i v was selected as the maximum permitted by V Lim .As a consequence, it becomes necessary to decrease the initial velocity to the maximum permitted by the maximum feasible deceleration: ( ) ( ) where i A * is computed as: And the new time it takes to navigate the i-th segment is recomputed by: This strategy requires the velocity profile of i-1 Sg to also be modified by planning i-1 v * as the velocity at its final posture, in order to ensure the continuity of V(s).The proposed algorithm ensures the velocity constraint will be satisfied at the end points of i Sg, but not along the entire segment.Thus, it must be checked: If this constraint is violated now, the iterative processes detailed in section 5.3 must be performed.When i V(s) was computed by the proposed algorithm, inequality (61) failed in very few cases for the tests carried out with the WMR RAM, mentioned in section 7, and therefore the iterative strategies were necessary very infrequently.The same results can be expected for any WMR that works with spatial paths planned as smooth curves (continuous in curvature), because V Lim depends on the curvature of the path and its first derivative with respect to the path length, and these functions are smooth if the spatial path is smooth.The last task to build i σ(t) involves undoing the time shifting, i.e., setting the time at the initial point of i Sg equal to the time at the final point of i-1 Sg.That is:

Acceleration maneuvers
When (61) is not satisfied in i Sg and i-1 v< i v, i V(s) is iteratively slowed down by delaying i t c from the half-way point of i Sg to a value i t c *, given by: Then i σ(t) is recomputed under (48) but substituting i t c with i t c * and with the maximum acceleration recomputed to be a value that satisfies the conditions in ( 42) and ( 43): And i t is substituted with i t* computed under (57).N in (63) keeps on increasing and i σ(t) being modified until ( 61) is satisfied.By deriving (64) with respect to i t c * : It is observed that for acceleration maneuvers the derivative is always negative.Thus, delaying i t c *, i.e. increasing i t c * in (73), implies reducing the maximum acceleration needed to satisfy the boundary conditions of the segment, although the time consumed in navigating it is increased.Hence a long trajectory with low velocity at all points is planned, and the velocity constraint is satisfied.Obviously, if the acceleration constraint was satisfied before the modification, it is also verified now and does not need to be checked again.

Deceleration maneuvers
When (61) is not satisfied in i Sg and i-1 v> i v, a similar strategy to the one described in the previous section for acceleration maneuvers is applicable, but in this case, in order to plan a maneuver of lower deceleration, i t c is advanced to a value i t c *, which is given by: Then i σ(t) is recomputed by ( 48), substituting i t c with i t c * , maximum deceleration recomputed by ( 64) to be a value that satisfies the conditions in ( 50) and ( 51), and substituting i t with i t * computed under (57).N in (66) keeps on increasing and i σ(t) being modified until ( 61) is satisfied.It can be observed that the derivative of the modified deceleration, i d * =i A * , given by ( 65), is always positive when i-1 v> i v. Therefore, advancing the control point implies reducing the maximum deceleration and therefore increasing the time consumed in tracking the trajectory.Consequently if the deceleration constraint was satisfied before the modification, it is also verified now and does not need to be checked again.This modification leads to planning lower velocities at all points of the segment, except for points that are very close to the end point.Only when the velocity constraint fails in this region but not at the end point is the proposed method unable to find a feasible solution.But such a situation is not expected to occur when the spatial path is planned as smooth curves and the segmentation of section 5.1 is applied.

Velocity planning algorithm in static environments
The comprehensive algorithm proposed in this chapter for VP in static environments is summarized in the following flowchart:

Velocity Planning in Dynamic Environments
Crossing points of moving obstacles with the WMR's path can be represented by a set R=[ 1 R 2 R … l R] of rectangular forbidden regions in the s×t plane (Liu & Wu, 2001).Each region k R is defined by a segment of the space with end points [ k s ini , k s fin ] and an interval of time limited by [ k t ini , k t fin ], as shown in Fig. 3.The function i σ(t), computed previously, is not a valid solution of the VP problem if it intersects a forbidden region.The problem can be solved by planning a slower trajectory that allows the moving obstacle to cross the robot's path before it arrives at the crossing region.The opposite solution, to plan a faster trajectory so that the robot passes through the dangerous space before the obstacle arrives, it is not possible, since i σ(t) was built to achieve the highest feasible velocity profile.A secondary aim of the modification strategy, as stated in section 2, is to achieve a low computational cost.This is accomplished by both modifying only the segments adjacent to where the obstacle is found and by avoiding iterative strategies.If i σ(t) intersects the forbidden region k R, the trajectory is slowed down by dividing iSg into two subsegments: . The first one, i1 Sg, plans a velocity profile, , that makes the WMR avoid the obstacle.The second segment, i2 Sg, plans a velocity profile, that makes the WMR arrive at the final position imposed by the second position boundary condition of (42) with the velocity imposed by the second velocity boundary condition of (43).

Planning the velocity profile to avoid moving obstacles
The first piece of the modified sxt function, ) t ( 1 i σ , is planned to make the WMR avoid k R by compelling it to pass through its first point at its last time, i.e.: The total time for the subsegment i1 Sg, t 1 i , is set equal to i t, the time planned for i Sg in static environments, and its point of maximum acceleration, The WMR's position at the end of i1 Sg, s î , is a lower value than is, since a lower acceleration is used during the same time.Therefore the WMR does not arrive at the final position condition, i ss, given by the second equation of ( 42), but rather at: ( ) Likewise, the velocity of the WMR at the final posture of i1 Sg, is also a lower value than i v, so it does not satisfy the final velocity condition of ( 43), but is rather: 1i σ is computed from i σ(t) by applying a lower acceleration for the same time and the velocity and acceleration constraints were successfully checked for i σ(t), the two upper limits are also satisfied by ) t ( 1 i σ .But two lower limits can be violated and they must be checked: the positive magnitude of the velocity and the deceleration constraint: If it ) t ( 1 i σ fails to meet one of these constraints, the processes detailed in subsections 6.1.1 or 6.1.2must be carried out, respectively.
The last task to build ) t ( 1 i σ involves setting the time at the initial point of the segment equal to the time at the final point of the previous segment: Finally, the velocity profile is computed by applying (41).

Modification of the velocity profile to keep velocity positive
When the lower boundary of velocity, (71), is violated, the initial velocity and the maximum deceleration of i1 Sg are modified in order to plan for the WMR to arrive at the end posture at zero velocity, i.e.: ( ) Obviously, in this case the previous segment, i-1 Sg, must be recomputed following the stated in section 5 with a new velocity boundary condition, given by: () ( )

Modification of the velocity profile to satisfy the deceleration constraint
When the lower boundary of acceleration, (72), is violated, the maximum deceleration is decreased by setting it to its maximum feasible value.Thus, A 1 i is replaced by: Additionally, the initial velocity of the subsegment must be sufficiently reduced to keep on satisfying (76) when the maximum deceleration is . The position and velocity of the WMR at the end of i1 Sg must be also recomputed by using ( 78) and ( 79) respectively, with the new values for Finally, it is necessary to recompute the previous segment, i-1 Sg, making its final velocity equal to to avoid discontinuities between adjacent segments.

Planning the velocity profile to arrive at the final position
A second function ) t ( 2 i σ is planned to be attached to in order to make the WMR arrive at i ss.The following position boundary conditions must be satisfied by Additionally, ) t ( 2 i σ must ensure continuity between i1 Sg and i2 Sg.Therefore: is generated by the procedure presented in section 5, but with the boundary conditions given by ( 88) and (89).

Velocity planning algorithm in dynamic environments
The comprehensive algorithm for VP in dynamic environments is summarized as follows:

Experimental and simulation results
The velocity planner described in previous sections is applied to the robot RAM (Ollero et al., 1993), a WMR designed for navigation with high maneuverability in indoor and outdoor industrial environments.The maximum velocity its traction motors can reach is 1.7m/s and their maximum acceleration is 10.8m/s2 The spatial paths of the robot are generated as cubic spirals, since this is curve that shows the best mechanical characteristics to be tracked by a WMR (Prado, 2000): continuity of position, orientation and curvature; bounded curvature; arbitrary selection of position and orientation at the initial and final postures; best dynamic behavior of the WMR, specifically lowest tracking errors, when it navigates with open loop control.Fig. 4 plots the planned trajectory and the trajectory actually tracked by RAM in a static environment.The time consumed for the trajectory which was planned using the proposed algorithm is 62.2s, 24.7% longer than the time that would be consumed if RAM navigated the entire path at its maximum velocity.Results show very low tracking errors: spatial errors are lower than 0.1m for a path of 84.4m, and temporal errors are lower than 1s for a trajectory of 62.2s.
www.intechopen.comIn order to test the VP algorithm in trajectories with high dynamic requirements, simulation experiments have been performed with a model of RAM (Prado et al., 2002) that increases the maximum velocity of its tractive motors up to 17m/s, also increasing its acceleration and deceleration performances by the same rate.Fig. 5 shows the planned trajectory and the trajectory tracked by the model of RAM when executing the same path as in Fig. 4. The total time planned by the proposed algorithm is 35.5% longer than the time that would be consumed if the entire path was navigated at maximum velocity.But it is only 15.2% longer than the time that would be consumed if the velocity was set to its upper boundary function, disregarding the acceleration constraint and continuity.Moreover, the greatest difference occurs in the first segment, because the acceleration constraint causes the planned trajectory to take 3.7s (26.2% of the total time) to reach the velocity boundary function.Low errors are found again: spatial errors are always lower than 0.80m and temporal errors are lower than 2s for a trajectory of 14.2 s.The velocity and acceleration profiles of the trajectory of Fig. 5, along with their boundary functions are plotted in Fig. 6.It can be observed that both velocity and acceleration remain within the safety limits while still ensuring their continuity.Similar results were found for other simulated trajectories with paths generated as cubic splines, but also as clothoids or polar splines (Prado et al. 2003).Particularly regarding velocity constraints, not one path of RAM planned as curves with continuous curvature was found for which the iteration strategies of section 5.3 were needed.Similar results can be expected for any WMR if its spatial path is planned as smooth curves.When a moving obstacle intersects the WMR's path, its velocity profile is slowed down, as explained in section 6. Fig. 7 shows the effect of including a forbidden region that intersects the 5th segment of the fast trajectory of Fig. 5.The maneuver involves an increase of 4.6s in navigation time.It can be observed that the obstacle is successfully avoided by only modifying the trajectory at the segment that intersects with the forbidden region.The modified trajectory is also continuous in velocity and acceleration and both functions remain within their respective bounded regions.

Conclusion
A method to compute velocity, acceleration and deceleration upper boundary functions for WMRs is described in this chapter.These functions confine the operating variables into safety regions in order to generate trajectories that are feasible, safe and with low tracking errors.The method first deals with issues related to the performances of steering, tractive and braking subsystems of wheeled robots, as well as mechanical properties of wheelground contact.Next, the motion capabilities of the robot's guide point are calculated as functions of the previous results, attending to the kinematics and dynamics of the complete robot system.Operational constraints caused by the need for fitting and synchronising the robot's motion with its environment are also defined.
The upper limits for velocity based on robot dynamics are fixed not only to avoid total vehicle slippage, as was previously done by other authors, but also to bound the spatial and temporal errors of a trajectory in which the space path generator and the trajectory tracker work under the kinematic problem solution.The definition of these boundary functions depends on either simulation outcomes of a sufficiently accurate dynamic model of the WMR, as complex as needed since it works offline, or on an appropriate number of experimental tests.
Topics involving navigation over 3D terrains and vehicles with very high velocities, such as the presence of ground irregularities, transients for non-stationary manoeuvres, aerodynamic effects, gyroscope torques, etc., are not dealt with in this chapter, though they should be taken into account for robots used in tasks such as outdoor exploration or vehicles developed to run on roads without a driver.
The resulting bounds are included in an algorithm to plan time optimal velocity profiles for a WMR on specific paths.Dealing with PP and VP simultaneously may make it possible to plan faster trajectories in some situations, but such methodologies involve more complex algorithms where it is very difficult to include a significant number of velocity and acceleration constraints that include nonintegrable functions.
The velocity planner proposed in this chapter is able to generate a trajectory with favorable tracking conditions, since: -It confines the velocity and its first derivative into safety zones limited by functions that can consider any velocity, acceleration and deceleration constraint which can be expressed as a function of the spatial path.
-It ensures the continuity of the velocity and acceleration over the entire path.- The jerk of the WMR is bounded.-It is of low computational cost.Nonetheless, iteration strategies are proposed to solve some specific situations, but such situations are not expected to occur when the spatial path is planned as smooth curves.
Initially, the problem is addressed for static environments, and later an algorithm is proposed to locally modify the velocity profile when crossing points where moving obstacles are detected.It is also an algorithm of low computational cost, thereby providing a beneficial characteristic for its possible use in local control systems.
The method was tested on the WMR RAM with paths planned as cubic spirals.Its successful performance was confirmed by experimental results for the feasible velocities of the WMR prototype and by simulation results for higher velocities.
acceleration of δ depends on three terms: the acceleration of the trajectory; the spatial acceleration of curvature, a characteristic directly derived from the spatial path; and www.intechopen.comon the last term, which is a characteristic of the robot that can be approximated from its kinematic model.By replacing (38) and in (37) and by isolating the acceleration, a new boundary function is given by:

Fig. 6 .
Fig. 6. a) Velocity profile of the trajectory of Fig. 5; b) acceleration profile of the trajectory of Fig. 5