Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD FOR ACCURATE AND EFFICIENT CONTROL OF AUTOMATED GUIDED VEHICLES FOR LOAD TRANSPORTATION TASKS
Document Type and Number:
WIPO Patent Application WO/2021/121537
Kind Code:
A1
Abstract:
A control method for automated guided vehicles (AGV) is disclosed. It consists of the following steps: adaptive sampling of the path given as the parametric curve C(u); computing the velocity limits at critical velocity profile points; planning optimal steering angle and traction velocity profiles for the wheels; adaptation of sample time T s and prediction horizon lengths N for model predictive control; projecting the current vehicle pose onto its closest point along the desired path; computation of the linearized models for prediction horizon, cast to quadratic program (QP); solving QP to obtain velocity and steering angle setpoint offsets; then velocity and steering angle setpoint offsets are superimposed on the nominal trajectory values, driving the tracking errors to zero; a new control cycle begins by updating the vehicle state measurements from onboard AGV set of sensors taking into account whether path is appended or not and safety changes if any.

Inventors:
KOKOT MIRKO (HR)
MIKLIC DAMJAN (HR)
Application Number:
PCT/EP2019/085210
Publication Date:
June 24, 2021
Filing Date:
December 15, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ROMB TECH D O O (HR)
International Classes:
G05D1/02; B62D15/02
Foreign References:
US20190086930A12019-03-21
CN109375632A2019-02-22
US20190086930A12019-03-21
Other References:
PADEN, B.CAP, M.YONG, S. Z.YERSHOV, D.FRAZZOLI, E.: "A survey of motion planning and control techniques for self-driving urban vehicles", IEEE TRANSACTIONS ON INTELLIGENT VEHICLES, vol. 1, no. 1, 2016, pages 33 - 55, XP011617380, DOI: 10.1109/TIV.2016.2578706
SORNIOTTI, A.BARBER, P.DE PINTO, S.: "Automated Driving", 2017, SPRINGER, article "Path tracking for automated driving: A tutorial on control system formulations and ongoing research", pages: 71 - 140
ANDREASSON, H.BOUGUERRA, A.CIRILLO, M.DIMITROV, D. N.DRIANKOV, D.KARLSSON, L.LILIENTHAL, A. J.PECORA, F.SAARINEN, J. P.SHERIKOV, A: "Autonomous transport vehicles: Where we are and what is missing", IEEE ROBOTICS & AUTOMATION MAGAZINE, vol. 22, no. l, 2015, pages 64 - 75, XP011575405, DOI: 10.1109/MRA.2014.2381357
CAMPBELL, S. F.: "Steering control of an autonomous ground vehicle with application to the DARPA urban challenge", MASTER'S THESIS, MASSACHUSETTS INSTITUTE OF TECHNOLOGY, 2007, Retrieved from the Internet
KELLY, A.: "Mobile Robotics: Mathematics, Models, and Methods", 2013, CAMBRIDGE UNIVERSITY PRESS
KIM, E.KIM, J.SUNWOO, M.: "Model predictive control strategy for smooth path tracking of autonomous vehicles with steering actuator dynamics", INTERNATIONAL JOURNAL OF AUTOMOTIVE TECHNOLOGY, vol. 15, no. 7, 2014, pages 1155 - 1164
DE FIGUEIREDO L. H.: "Adaptive Sampling of Parametric Curve. IMPA", 1993, INSTITUTO DE MATEMATICA PURA E APLICADA
RAINERI, M.PERRI, S.BIANCO, C. G. L.: "Online velocity planner for laser guided vehicles subject to safety constraints", 2017 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS, 2017, pages 6178 - 6184, XP033266670, DOI: 10.1109/IROS.2017.8206519
RAKOVIC, S.V.LEVINE W. S.: "Handbook of Model Predictive Control", 2018, BIRKHAUSER
SONTAG, E. D.: "Mathematical Control Theory: Deterministic Finite Dimensional Systems (Texts in Applied Mathematics", vol. 6, 1998, SPRINGER
ANTSAKLIS, P.MICHEL, ANTHONY N., A LINEAR SYSTEMS PRIMER, 2007
BORRELLI, F.BEMPORAD, A.MORARI, M.: "Predictive Control for Linear and Hybrid Systems", 2011, CAMBRIDGE UNIVERSITY PRESS
STELLATO, B.BANJAC, G.GOULART, P.BEMPORAD, A.BOYD, S.: "OSQP: An operator splitting solver for quadratic programs", ARXIV E-PRINTS, 2017
Attorney, Agent or Firm:
BIHAR, Zeljko (HR)
Download PDF:
Claims:
CLAIMS

1. A control method for automated guided vehicles (AGV), where said AGV is equipped with: one or more computer-controlled actuators and optionally brakes, allowing the control of a steering and a speed of the said AGV over the parametrically set path curve C(u) within the given environment; set of sensors, capable to interact with the said environment, that generates signals from which the AGV position is calculable within the said environment; and a processing unit which is capable to execute said control method steps; control the AGV's actuators and optionally brakes and receive the signals generated by the AGV sensors; where initially: vehicle parameters, list of path's segments and constrains, and vehicle state is loaded into the processing unit; wherein said method consists of the following steps where said method: i) performs adaptive sampling of the path given as a parametric curve to identify the critical velocity points represented as the ordered sequence U; ii) computes the velocity limits L at critical velocity profile points determined in step i) taking into account the AGV kinematic characteristics and environment traffic rules and finalizes ordered sequence U and corresponding velocity limits L that define specific wheel traction velocities; iii) plans optimal traction velocity and steering profiles for the wheels taking into account maximum accelerations of the said wheels, where the said step ends with nominal traction velocity and steering setpoints for each wheel; iv) adapts the sample time Ts and prediction horizon lengths N in the model predictive control (MPC) to the current AGV's velocity to maintain high accuracy at low speeds by increasing the sample time and prediction horizon at lower speed, in order to insure lateral error elimination; v) projects the current vehicle pose onto its closest point along the desired path, and then samples discrete path poses for the entire prediction horizon, assuming nominal velocities and steering angles, to obtain reference coordinate frames and linearization points for the next step; vi) computes linearized models for the prediction horizon, casts the optimal control problem to a quadratic program (QP); vii) solves QP from step vi) to obtain velocity and steering angle setpoint offsets Avj, Avr, AS and ASr ; viii) velocity and steering angle setpoint offsets Avj, Avr, AS and ASr are superimposed on the nominal trajectory values Vj , vr, S and Sr, thus driving the tracking errors to zero; the actuators execute necessary operations on the AGV under control of the said method; and ix) a new control cycle begins by updating the vehicle state measurements from AGV sensors; and

A. if the path is not appended the safety inputs are checked, and if unchanged program control is directed to step iv) - otherwise, if changed the program control is directed to step ii); or

B. if the path is appended, the method is directed to step i)·

2. A control method for automated guided vehicles (AGV) according to claim 1, wherein adaptive sampling in step i) is performed by using Bezier curves.

3 . A control method for automated guided vehicles (AGV) according to any of preceding claims, wherein in step ii) the AGV velocity limits are selected from: acceleration and velocity limits imposed by the vehicle actuators, segment-specific velocity limits due to the traffic rules or safety input activation and limits imposed by the steering velocity limits.

4. A control method for automated guided vehicles (AGV) according to any of preceding claims, wherein in step iii) a first-order lag of wheel velocity responses and a first or second order lag of wheel steering responses are taken into account which is relevant for ensuring good tracking, as well as the external velocity limit control; the resulting trajectory for each respective wheel minimizes the total travel time by adjusting the actuator traction velocities in continuous manner while achieving the imposed vehicle velocity limits per path segments.

5. A control method for automated guided vehicles (AGV) according to any of preceding claims, wherein in step vi) when vehicle configuration is with multiple actuated wheels, the said method avoids undesired wheel interaction which leads to some of the wheels blocking or slipping.

6. An automated guided vehicle (AGV) comprising means for carrying out the method of claims 1-5.

Description:
A METHOD FOR ACCURATE AND EFFICIENT CONTROL OF AUTOMATED GUIDED

VEHICLES FOR LOAD TRANSPORTATION TASKS

DESCRIPTION

Technical Field

The present invention belongs to the technical field of controlling position or course in two dimensions specially adapted to land vehicles along the already precomputed path involving the speed control of the vehicle. More specifically, the said vehicle control includes, inter alia, control over vehicles with multiple actuated wheels, with the provision to explicitly avoid wheel slippage and ensures that velocity and acceleration constraints along the said path are respected.

Technical Problem

Autonomous or self-driving vehicles, which can move without being controlled by a human operator, have significant commercial potential in a wide area of applications, from transportation of people to material handling. Recent interest in self-driving cars has led to significant research advances in path planning and control methods for autonomous motion, as described in:

• Paden, B., Cap, M., Yong, S. Z., Yershov, D., and Frazzoli, E. (2016). A survey of motion planning and control techniques for self-driving urban vehicles. IEEE Transactions on intelligent vehicles, l(l):33-55;

DO1:10.1109/tiv.2016.2578706

• Sorniotti, A., Barber, P., and De Pinto, S. (2017). Path tracking for automated driving: A tutorial on control system formulations and ongoing research. In Automated Driving, pages 71-140. Springer; ISBN 978-3-319-31893-6.

However, different applications pose different demands, and control methods used for material handling vehicles, sometimes called Automated Guided Vehicles, AGVs, as discussed in the reference below:

• Andreasson, H., Bouguerra, A., Cirillo, M., Dimitrov, D. N.,

Driankov, D., Karlsson, L., Lilienthal, A. J., Pecora, F.,

Saarinen, J. P., Sherikov, A., and Stoyanov, T. (2015).Autonomous transport vehicles: Where we are and what is missing. IEEE Robotics & Automation Magazine, 22(l):64-75;

DOI: 10.1109/MRA.2014.2381357 must meet the specific requirements of load manipulation, in particular the items 1.-5. below:

1. positioning accuracy within +5 mm and 0.5° for picking up and delivering loads which are typically collocated on pallets,

2. respecting vehicle constraints and ensuring load and environment safety,

3. real-time execution on platforms with constrained computational capabilities,

4. ability to control different vehicle kinematic configurations, to provide sufficient maneuverability for operating in constrained spaces, as well as,

5. minimal travel times for maximum efficiency and resource utilization.

To deal with the conflicting nature of these requirements, the industrial state of the art is to use relatively simple controllers which consider the geometric relationships between the path and the vehicle, such as the "Pure pursuit" controller disclosed in: • Campbell, S. F. (2007). Steering control of an autonomous ground vehicle with application to the DARPA urban challenge. Master's thesis, Massachusetts Institute of Technology. https://dspace.mit.edu/handle/1721.1/42301 or LQR (linear-quadratic regulator) controllers used by the market leader Kollmorgen Automation AB (2019), see the link:

• https://ndcsolutions.com/media/1219/master-thesis-model- predictive-control-of-automated-guided-vehicle-b.pdf

These approaches directly satisfy the accuracy (item 1) and real-time execution (item 3) requirements. Safety constraints (item 2) and adaptation to vehicle kinematics (item 4) are satisfied by hand-tuning heuristic rules on parameters, which can be a tedious and time- consuming process, e.g., velocity limits are imposed on particular segments of vehicle paths and then verified and adjusted by simulation.

Efficiency (item 5) is often sacrificed, i.e., the vehicles are not being used to their full potential. In particular, maximum vehicle velocities on curved segments are often artificially reduced to maintain the required accuracy. So, the focus of the present invention is to unlock the velocity potentials of the AGVs by the proposed method.

The presented method solves the problem of computing the required steering and velocity input signals which drive an autonomous vehicle safely and accurately along the desired path. It runs in real-time on standard industrial hardware providing significantly better accuracy at higher velocities and when making turns, compared to state-of-the- art control systems. It explicitly takes into account the vehicle kinematic model and constraints, providing optimal control signals without extensive parameter tuning. Finally, it optimizes path traversal times enabling maximum vehicle utilization. State of the Art

Considering the state of art, there are numerous documents describing speed optimization, such as US patent application US2019/086930A1 for the invention SPEED OPTIMIZATION BASED ON CONSTRAINED SMOOTHING SPLINE FOR AUTONOMOUS DRIVING VEHICLES; filed in the name of BAIDU USA LLC.

However, in order to describe the motivation for the present invention, the closest prior art document will be cited in each method step disclosed in the detailed description of the invention.

Summary of the Invention

The present invention discloses a control method for automated guided vehicles (AGV), where said AGV is equipped with: one or more computer-controlled actuators and optionally brakes, allowing the control of steering and velocity of the said AGV over the parametrically set path curve within the given environment; a set of sensors, capable to interact with the said environment, that generates signals from which the AGV position is calculable within the said environment, and a processing unit which is capable to execute said control method steps; control the AGV's actuators and optionally brakes and receive the signals generated by the AGV sensors

At start, the vehicle parameters, list of path's segments and constrains, and vehicle state are loaded in the processing unit. The disclosed method consists of the following steps where said method: i) performs adaptive sampling of the path given as a parametric curve to identify the critical velocity points represented as the ordered sequence U; ii) computes the velocity limits L at critical velocity profile points determined in step i) taking into account the AGV kinematic characteristics and environment traffic rules and finalizes ordered sequence U and corresponding velocity limits L that define specific wheel traction velocities; iii) plans optimal traction velocity and steering profiles for the wheels taking into account maximum accelerations of the said wheels, where the said step ends with nominal traction velocity and steering setpoints for each wheel; iv) adapts the sample time and prediction horizon lengths in the model predictive control to the current AGV's velocity to maintain high accuracy at low speeds by increasing the sample time and prediction horizon at lower speed, in order to insure lateral error elimination; v) projects the current vehicle pose onto its closest point along the desired path, and then samples discrete path poses for the entire prediction horizon, assuming nominal velocities and steering angles, to obtain reference coordinate frames and linearization points for the next step; vi) computes linearized models for the prediction horizon, casts the optimal control problem to a quadratic program (QP); vii) solves QP from step vi) to obtain velocity and steering angle setpoint offsets; viii) velocity and steering angle setpoint offsets are superimposed on the nominal trajectory values, driving the tracking errors to zero; the actuators execute necessary operations on the AGV under control of the said method; and ix) a new control cycle begins by updating the vehicle state measurements from AGV sensors; and

A. if the path is not appended the safety inputs are checked, and if unchanged program control is directed to step iv) - otherwise, if changed the program control is directed to step ii); or

B. if the path is appended, the method is directed to step i).

In some embodiment, the adaptive sampling in step i) is performed by using Bezier curves. The velocity limits in step ii) are selected from: velocity limits imposed by the vehicle actuators, segment-specific velocity limits due to the traffic rules or safety input activation and limits imposed by the steering velocity limits.

In one embodiment, in step iii) said method takes into account a first-order lag of wheel velocity responses and first or second order lag of wheel steering responses which is relevant for ensuring good tracking, as well as the external velocity limit control; the resulting trajectory for each separate wheel minimizes the total travel time by adjusting the actuator traction velocity and steering setpoints in a continuous manner while achieving the imposed vehicle velocity limits per path segments.

In one of the variants when vehicle configuration is with multiple actuated wheels, the said method in step vi) avoids undesired wheel interaction which leads to some of the wheels blocking or slipping.

An automated guided vehicle (AGV) comprising means for carrying out the method as described above is disclosed.

Description of the Figures

Figures 1A and IB represent the flowchart of the disclosed method for automated guided vehicles.

Figure 2 represents typical AGV path and kinematics.

Figure 3A depicts "crab" driving mode where orientation of vehicle is constant in world-fixed frame. Figure 3B represents "double-steer" driving mode where orientation is always aligned with line tangent to the path, represented on both figures 3A, 3B as the solid line. Subscripts /, r denote front and rear wheel paths defined in accordance with equation (9).

Detailed Description of the Invention The invention discloses a control method for automated guided vehicles (AGV). In general, said AGV is equipped with: one or more computer-controlled actuators in the form of AGV's wheels with controllable steering and traction, and optionally brakes, allowing the control of AGV over the parametrically set path curve C(u) within the given environment; and set of sensors, capable to interact with the said environment, that generates time-depended signals from which the AGV's pose in time is calculable within the said environment.

A processing unit, which is capable to execute said control method steps; e.g. to control the AGV's actuators, optionally brakes and receive the signals generated by the AGV sensors, which can be located outside of the AGV but connected wirelessly or via cabling in order to perform the desired task in a reliable manner. In other variants, the processing unit can be integrated with the AGV which is the preferred solution. The processing unit is a standard computer, e.g., industrial hardware, with appropriate inputs-outputs linked with the said AGV motion control parts. The person skilled in the art will immediately recognize the requirements said processing unit should satisfy in order to be reliably connected with the AGV's actuators and, optionally, the brakes.

The presented method solves the problem of computing the required steering and velocity input signals which drive an autonomous vehicle safely and accurately along the desired path. It runs in real-time on standard industrial hardware and explicitly takes into account the vehicle kinematic model and constraints, providing optimal control signals without extensive parameter tuning. Finally, the said method optimizes path traversal times enabling maximum vehicle utilization.

The notation that will be used consistently throughout the document can be summarized as follows:

• x a denotes the scalar x property of a

• X a denotes the scalar x property of a given by the source b • x a denotes the vector X property of a in the world-fixed frame {w}

• X a denotes the vector X property of a in frame of reference {b}

The method assumes a typical AGV navigation scenario, depicted in Figures 2, 3A and 3B, a vehicle with two actuated wheels - front and rear (subscript / and r) both with two degrees of freedom - steering and traction - moving along a designated fixed path.Wheels are defined with their pose in respect to the AGV's tracking point, given by their offset along vehicle x-y axes and mounting angles Q and d r . Steering angle of each wheel is denoted by d and the traction by velocity v. This is a generic kinematic model which is applicable to all vehicles without wheel steering offset, i.e., whose wheel steering axis is coincident with wheel traction contact point. The presented method can analogously be adapted for vehicles with different number of actuated wheels. Differential drive vehicles and vehicles with Ackermann steering geometry are defined with corresponding mode of motion and actuated wheel limitations.

By setting appropriate constraints on the relationship between , S r , v and v r this simple model can describe all significant kinematic configurations used in the industry today. The AGV's angle 0 AGV depicts the inclination of vehicle reference frame with respect to the x— y coordinates fixed to the environment, i.e., the rotation of vehicle- fixed coordinate system (denoted by the superscript AGV in the rest of the document) with respect to the world-fixed coordinate system (denoted by the superscript w in the rest of the document). The vehicle reference frame is centered on the vehicle tracking point which can be an arbitrarily selected point on vehicle.A generic model of the kinematic configuration, depicted in Figure 2, can be written as equation (1):

R(9A G V)is the rotation matrix from the vehicle-fixed frame to the world-fixed coordinate frame. H is the velocity Jacobian matrix linking wheel speed to vehicle tracking point speed, measured with respect to the world-fixed frame and expressed in the vehicle-fixed coordinate frame. is the vector of wheel velocities as a function of both actuators. QAGV = \ X AGV YAGV ^AGV ] T is the system state vector defined as vehicle pose and AGV = [ V AGV X v AGV y w Aΰn] T is its derivative. The model is derived according to the methodology outlined in the reference below:

• Kelly, A. (2013). Mobile Robotics: Mathematics, Models, and Methods. Cambridge University Press. and augmented by modeling the traction velocity and steering dynamics by first or second order lag. The lag model is a analogous to the approach in:

• Kim, E., Kim, J., and Sunwoo, M. (2014). Model predictive control strategy for smooth path tracking of autonomous vehicles with steering actuator dynamics. International Journal of Automotive Technology, 15(7):1155-1164.

Namely, AGV velocities are an order of magnitude lower than road vehicle velocities, maximum velocities are typically up to 2 m/s and masses are much larger - payloads vary by industry from 1000 kg to over 100 tones. This kinematic model describes AGVs in typical operating conditions with sufficient accuracy without unnecessary computational complexity.

The main steps of the control method, which is based on Model predictive control (MPC) principles are outlined in Figures 1A-1B. Upon receiving a new path, the path pre-processing steps Step 1 - Step 3 are performed, which yield a reference trajectory.

In the update loop, a quadratic optimization problem is formulated based on current vehicle state and the reference trajectory, which is then solved using an efficient solver. The first element of the optimized output sequence is superimposed on the reference trajectory input, yielding actuator setpoints which drive the vehicle state along the reference trajectory.

In the rest of the text the steps will be studied in detail. Initially, the vehicle model, parameters and constrains, and also path are preloaded into the system. The vehicle parameters are each wheels mounting position rf v = \xf GV y† GV , r AGV = [x AGV y r AGV ] T and mounting orientation 0 AGV , 6 AGV , maximum traction velocities Vf, v r , and corresponding maximum wheel accelerations af, a r , as well as the maximum values of steering angle Sf , S r , maximum steering angle velocities a , w t and other values that represents the vehicle as such. In the rest of the text the superscript param will be used to denote such values, e.g . It should also be noted, in the rest of the document analogous calculations for both wheels shall be denoted by subscript w - which should not be confused with the world- fixed frame denoted by superscript w.

A path is defined as a list of continuous segments, each defined as parametric curve C(u)= [XAGV(. u ) y AG vi u )] T with the corresponding mode of motion and maximum vehicle speed assigned to each segment due to traffic or other safety reasons. In the rest of the text the superscript segment will be used to denote this value, i.e., v se gment _ For a path segment starting at C 0 (u 0 ) and ending at C^u^ , its curve can be linearly reparametrized by C(U(T)) where u 0 = u(0), u 1 = u(1) and U(T) is defined by:

U(T)= u 0 + t(i — u 0 ) (2)

In the rest of the document parameter u will be used as if it were reparametrized so C 0 = C(0), = C(l) and 0<u<l are true.

Curve length s(a, b) from C(a) to C(b) can be computed by Gaussian quadrature:

By modes of motion we understand different kinematic configurations which can be defined as a function S AGV u)which describes the evolution of vehicle nominal orientation along segment C(u) . For instance, most often utilized kinematic configurations are "steer drive" and its variation "double steer drive", where vehicle orientation is always aligned with the line tangent to a path, see Figure 3B, defined with equation (5):

Another example is "crab drive", Figure 3A, where vehicle orientation is constant in world-fixed frame, and is trivially defined as:

§ AGV ( u ) = const. (5)

Nominal heading of the vehicle z n9 u 9 i which denotes direction in which the vehicle tracking point moves in world-fixed frame, is always aligned with the path tangent:

Correspondingly, nominal vehicle speed is defined by the following expression:

Nominal angular velocity of AGV is calculated from a mode of motion: Considering the relative dynamics between the tracking point of the vehicle and its actuated wheels, nominal position of a wheel is defined as a function C w (u), i.e., a path that each actuated wheel traverses:

With analytically defined wheel path C w (u)= [x w (u) y w (u)] T , nominal wheel heading w (u) is calculated analogously to equation (6) and nominal wheel speed v w (u) analogously to equation (7).Nominal traction velocity v w (u) is defined by:

Considering the vehicle orientation and wheel mounting orientation, the nominal steering angle for a wheel <5 w (u) is calculated by the following formula:

From this, a nominal steering velocity of an actuated wheel can be expressed as:

Curvature K w (u) of parametric curve C w (u) is defined in a standard manner by equation (13), where, for 2D vector cross product, its analog

It should be noted that by equations (10) and (12) for the vehicle described by the mounting position r^ GV of its wheels, moving along path segment defined as parametric curve C(u) in a mode of motion A G V( u ), nominal traction and steering velocity of each wheel are expressed dependent on a common nominal velocity of vehicle v AGV u).

The disclosed method is divided in steps described below.

Step 1 - performs adaptive sampling of the path segments expressed as a parametric curve C(u) to identify critical velocity points, characterized by highly non-linear steering dynamics. Parametric curve, adaptively sampled by the n+ 1 points, is represented by the ordered sequence U = {u 0 = 0, u lt ,u n = 1). Starting with U = {0, 1}, each segment is recursively split into n smaller sub-curves C k starting at C(u fc ) and ending at C(u fc+1 ) for Vk 6 {0, 1, ...,n— 1} until they satisfy the sufficient linearity criterion defined by:

The adaptive sampling is performed as explained, for instance, in the reference:

• de Figueiredo L. H. (1993).Adaptive Sampling of Parametric Curve. IMPA, Instituto de Matematica Pura e Aplicada, Rio de Janeiro, Brasil. http://ariel.chronotext.org/dd/defigueiredo93adaptive.pdf

As a direct consequence of path length equation (3) and definition of the sufficient linearity by equation (14), the path is sampled more often in the areas where higher derivatives of a curve are more prominent, i.e., for u k £ u £ u k+1 and £(£ ¾ )— 1, meaning that C(u)is sufficiently constant for n— 1). The value of linearity criterion £(C ¾ ) is an implementation detail or can be set as an additional parameter.

These new points are also identified as initial critical velocity profile points.Namely, by reordering equation (12), traction velocity limit Vw(u) can be expressed from maximum steering velocity nominal angular velocity &> AGV (u):

While it is obvious from equations (13) and (9) that K w (u) depends on higher derivatives of C(u), mode of motion 0 AGV (u) in most cases is also defined depending on at least the first derivative of the path. Even in cases where this is not true, vehicle paths used in a real-world applications are planned to minimize travel time, i.e., maximize vehicle velocity and minimize traveled distance, which means sparse segments with complicated and sharp turns. Hence presented method is sufficient to define initial critical velocity profile points.

In one of preferred embodiments, path segments C(u) are defined as Bezier curves, but the above approach is equally adaptable to any parametrically defined curve.

Step 1 ends with performed adaptive sampling of the path segments C(u) to avoid needless sampling of sufficiently linear segments and identifies initial critical velocity profile points sequence U for the next step.

Step 2 - computes the vehicle velocity limits at critical velocity profile points defined as a sequence of limits: Also, it inserts additional samples into the ordered critical velocity points sequence U where step 1 had failed to address the traction velocity limit v^(u) non-linearity.

Maximum nominal velocity of vehicle is defined by considering the traction and steering velocity limits v w and of each wheel imposed as vehicle parameters, segment-specific velocity limit v se3ment as well as safety input activation limit y sa f et v. First, from equations (10) and (12) following ratios are defined for each wheel:

Vw(u)

K (u) (17)

V AGV( U ) w(u)

Rw(u) (18) VAGV( U )

With this, we can define with the following expression:

Also, we can define wheel traction velocity limit

It should be noted that any other wheel traction and steering velocity limit, or vehicle linear and angular velocity limit can be analogously appended into the equation (19) by calculating its ratio with nominal vehicle velocity V AGV ( u

It is obvious that maximum steering velocity 0^, aram constrains vehicle velocity limit for 3u fc 6 U only when i?w(i½)= max(l7 w (u fc )) is true. For additional sampling, only sub-sequences of critical velocity points holding this property should be considered. This is achieved by defining a measure of sampling quality -6 w (u k ) as the ratio of traction velocity limit linear interpolation with constant acceleration a k = mid-sample = Uk+Uk+1 .

If current sampling quality is -P w (u k ) ¹ 1 for u k E U and 3/c 6 {0, 1, . ., h — 1}, we insert u ( into ordered critical velocity points sequence U. We repeat this process until { w (u k )— 1 for u k E U and VkE[0,1,...,n— 1}. Precision of sampling quality measure ^ ( u f c) is an implementation detail or can be set as an additional parameter.

The presented resampling algorithm will address every sub-sequence where equation (21) is true for any wheel mounting position r^ GV and mode of motion

Step 2 ends with a finalized ordered sequence U of critical velocity points, that completely describes velocity limit profile non-linearity while avoiding needless sampling density of path segment C(u), and computed corresponding velocity limits sequence L which can be transformed to specific wheel traction velocity by equation (17).

Step 3 - plans optimal traction velocity and steering angle profiles for each of the wheels, i.e., nominal traction velocity setpoint v w (u) and nominal steering setpoint S w (u).

Nominal traction velocity setpoint v w (u) is calculated considering the maximum accelerations and ensuring that following expression from equation (17) is always true: This can be done by using a divide-and-conquer approach mentioned in the reference:

• Raineri, M., Perri, S., and Bianco, C. G. L. (2017). Online velocity planner for laser guided vehicles subject to safety constraints. In 2017 IEEE/RSJ International Conference on

Intelligent Robots and Systems (IROS), pages 6178-6184.

However, the method disclosed herein optimizes the efficiency of computation by utilizing adaptively sampled critical velocity profile points represented as the ordered sequence U and corresponding sequence of limits L instead of velocity bounding function, which reduces needed computation time and can be done online if necessary. The said optimization also enables online segment appending and external velocity limit control - e.g. dynamically limiting vehicle velocity due to safety considerations. The planner also takes into account a first-order lag of wheel velocity responses, which is relevant for ensuring good tracking in differential configurations. The resulting trajectory for each respective wheel minimizes the total travel time by adjusting the actuator traction velocities in a continuous manner while achieving the imposed vehicle velocity limits per segments.

Nominal steering angle setpoint <5 w (u) is calculated by applying first or second order lag of wheel steering responses onto nominal steering angle defined by equation (11) while taking into account traction nominal velocity setpoint v w (u) .

Step 3 ends with nominal traction velocity setpoint v w (u) and nominal steering setpoint <5 w (u) for each wheel, i.e., planned nominal trajectory. Step 4 - adapts the sample time to the current velocity. This is a key feature that enables the controller to maintain high accuracy at low speeds. In this step the model predictive control (MPC) is used, which is well known in the art; i.e. reference below:

• Rakovic, S.V., Levine W. S. (2018). Handbook of Model Predictive Control. Birkhauser Basel, ISBN 978-3-319-77489-3.

The prediction horizon of the model predictive control (MPC) controller is specified by the number of time steps that the controller optimizes. At lower speeds the controller "sees" a shorter section of the path, which can lead to insufficient control action for eliminating lateral position error. In simple terms, in order to eliminate lateral error, the vehicle must first steer towards the path, increasing the angular error. At lower speeds, the cost of the angular error increase outweighs the reduction of lateral error within the prediction horizon. By increasing the sample time and prediction horizon at lower speed, we can still insure lateral error elimination.

Step 4 therefore ends with the sample time T s and prediction horizon lengths N adapted to the current velocity, in an empirical manner.

Step 5 - Once a nominal trajectory is established for each actuator, defined by the set <5f(u), i?f(u), S r (u) and v r (u), as well as sample time T s and prediction horizon lengths N, we project the current vehicle position r AGV = \ X AGV VAGV] T onto its closest point along the desired path segment C(u). Parameter u of the closest point is calculated by iterating the Newton-Raphson method:

Function f(u)= 0(u) C(u) is a dot product between vector 0(u)= C(u)— r AGV > connecting the vehicle position r AGV and its projection onto a curve C(u), and a curve tangent vector C(u). When f(u)= 0 , we have a perpendicular projection. Since theoretically a perpendicular projection onto a curve can have multiple solutions, our initial guess u 0 corresponds to a previous known nominal vehicle position which guarantees fast and accurate convergence.

We then sample discrete path poses for the entire prediction horizon, assuming nominal traction velocity and steering angle setpoints, to obtain reference coordinate frames and linearization points for the next step. This simplification (using the nominal trajectory instead of the actual vehicle trajectory) increases method efficiency without sacrificing accuracy, as long as the tracking errors are sufficiently small.

Step 6 - The discrete-time version of the model described in equation (1) is transformed to the path-fixed coordinate frame at every sampled time and linearized around the sampled trajectory poses. Linearization about a trajectory can be performed as described in:

• Sontag, E. D. (1998). Mathematical Control Theory: Deterministic Finite Dimensional Systems (Texts in Applied Mathematics) (v. 6). Springer; ISBN-13: 978-1461268253

The linearization can be written as: where represents the input vector. The matrices A k and B fc define vehicle model responses to perturbation. Further details on linear system models can be looked up in a textbook such as:

• Antsaklis, P., Michel, Anthony N. (2007).A Linear Systems Primer.

Equation (24) is in suitable form for Receding Horizon Control (RHC) implementation in a way already performed in the reference: • Borrelli, F., Bemporad, A., and Morari, M. (2011). Predictive Control for Linear and Hybrid Systems. Cambridge University Press, Cambridge.

A scalar cost function which includes the state error weight Q and input cost weight R is given below: where:

Aq (k + 11 k) = A k Aq(k)+ B k A (k), Aq(fc)e Q, DP(fc)e¾ k = 0, ...N - 1 (26)

The cost matrices can be tuned to achieve adequate system behavior but must maintain positive-semi definiteness to satisfy convergence requirements. The constraint equations are composed of constrains imposed by system dynamics, state constrains Q and input constrains Zl . When implementing the input constrains matrices, we constrain both absolute input values and rates of change, taking into account the operating point of the system. For absolute input values, this yields a set of inequalities in the form:

For rates of change, the generalized inequality can be written down as: r MIN T S - Au(k + 1)£ Au(k + 1)- DP(fc)£ r MAX T S - DP (k + 1) (28) where Au(k + 1)= u(/c+ 1)— u(/c) and r implies acceleration for velocity inputs and steering velocity for steering inputs.

In vehicle configurations with multiple actuated wheels, special care must be taken to avoid undesired wheel interaction which would lead to some of the wheels blocking or slipping. The longitudinal and lateral slip components can be derived from the kinematic model set in equation (1) and written as: a is the difference between the rigid-body motion of the vehicle transformed to the individual wheel poses and the actual steering and rolling motion of each wheel, all expressed in the vehicle-local coordinate frame. By substituting equation (1) into equation (29) we obtain a nonlinear equation which can be linearized as:

We can now add an additional term to the cost function of equation (25) that will penalize inputs which cause wheel slippage, which has the form å T R ff å, where R ff becomes a design parameter which can be set to a high value.We focus on penalizing and constraining inputs instead of states, as this has been experimentally found to be computationally more efficient and lead to better controller behavior.

Finally, step 6 computes linearized models for the prediction horizon, cast to quadratic program (QP).

Step 7 - Equations (25) and (26) define a quadratic optimization problem for which efficient solvers exist, open-source:

• Stellato, B., Banjac, G., Goulart, P., Bemporad, A., and Boyd, S. (2017).OSQP: An operator splitting solver for quadratic programs. ArXiv e-prints. or proprietary, e.g., the solver signed by embotech AG, 2019.

Vehicle constraints such as steering angle limits, their velocities as well as linear accelerations are taken into account explicitly. The final result of step 7 is to obtain velocity and steering angle setpoint offsets, i.e., Av j , Av r , AS j and AS r by solving the optimization problem defined by equations (25) and (26).

Step 8 - The velocity and steering angle setpoint offsets i.e. Av j , Av r , AS and AS r from step 7 should be superimposed on the nominal trajectory values V j , v r , S and S r , thus driving the tracking errors to zero. The actuators and driving motors execute necessary operations on the AGV under control of the program.

Step 9 - A new control cycle begins by updating the vehicle state measurements from onboard set of sensors. Before proceeding with control computation, safety sensor inputs are checked, and the velocity profile is re-planned as needed.

By combining the Receeding Horizon Control (RHC) methodology with appropriate choices of mathematical model, path pre-processing and linearization methodology, the described method offers the following salient features: positioning accuracy satisfying industrial requirements (+5 mm, 0.5°), also on curved segments; explicit safety guarantees by taking into account vehicle constraints; real time execution on platforms with constrained computational capabilities, due to the simplified dynamic model; applicability to all industrially relevant vehicle kinematic configurations, including those with multiple actuated wheels; explicitly avoids wheel slippage and ensures that velocity and acceleration constraints are respected; on-line path and velocity modifications, e.g., appending segments during motion and reacting to velocity change requests for safety reasons; by applying optimization, parameter tuning is simplified, i.e., with a single set of weights Q and R optimal behavior is achieved over the whole range of operating points; and maximum vehicle utilization by minimizing travel times. The method as described in steps 1-9 is more than aggregation of methods/features, i.e., known approaches for partial problems in the field. This is especially true for the approaches disclosed in steps 4 and 5 in non-trivial combination with other steps.

Industrial Applicability

Industrial applicability of the above method, which belongs to the technical field of controlling position or course in two dimensions along the already precomputed path involving the speed control of the vehicle - is obvious. Furthermore, it is known in the art that the AGVs are not being used to their full potential. Namely, maximum vehicle velocities on curved segments are often artificially reduced to maintain the required accuracy. The present invention, i.e., the proposed method, unlocks the velocity potentials of the AGVs by the novel approach which is disclosed in steps 1-9 of the present invention.