Patent Description:
It is necessary in many applications to control a process. For example, <CIT> and <CIT> control the motion of vehicles. In general, the process is controlled to achieve a desired state, such as a desired temperature. An example of a process which may be controlled is a vehicle. One or more aspects of the vehicle may be controlled, such as a speed of the vehicle and a steering of the vehicle. The vehicle may be controlled to achieve a desired state from a current state of the vehicle. The current and desired states may be defined by one or more parameters of the vehicle such as a heading and a position of the vehicle.

Some control schemes are only reactive to a measured state of the process such as Proportional-Integral-Derivative (PID) control schemes. Model Predictive Control (MPC) control schemes are also known which aim to achieve the desired state of the process based on the current state by predicting one or more future states of the process. MPC control is based on a model of the process under control and information about the current state of the process.

For controlling a vehicle using a model to represent the vehicle, such as in the MPC scheme, a velocity of the vehicle can have a large influence on the control of the vehicle. In particular, it has been observed that, particularly in the MPC scheme, when the velocity of the vehicle is low an accuracy of the control scheme may be reduced.

Aspects and embodiments of the invention provide a control system, a vehicle control system, a vehicle, a method and computer software as claimed in the appended claims.

According to an aspect of the present invention, there is provided a control system comprising one or more controllers, the control system comprising input means to velocity data indicative of a determined respective velocity of each of first and second lateral sides of the vehicle and processing means configured to determine a control input for the vehicle in dependence on the velocity data utilising a model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle. Advantageously use of the velocity data to determine the control input may provide improved control.

According to an aspect of the present invention, there is provided a control system comprising one or more controllers, the control system comprising input means to receive state data indicative of a current state of a vehicle and velocity data indicative of a determined respective velocity of each of first and second lateral sides of the vehicle, memory means storing data indicative of a model associated with the vehicle, processing means configured to determine a control input for the vehicle in dependence on the state data and the velocity data utilising a model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle, and output means arranged to output one or more signals indicative of the control input for controlling the vehicle. Advantageously use of the velocity data to determine the control input may provide improved control at low speed of the vehicle.

The input mean may comprise an electrical input of the one or more controllers. The memory means may be one or more memory devices. The processing means may comprise one or more processing devices. The output means may comprise a electrical output of the one or more controllers.

The processing means may be arranged to utilise the state data and the velocity data as an input for the model to determine the control input for the vehicle. Advantageously the model is provided with the state data and the velocity data to determine the control input.

The processing means may be arranged to determine an output of the model indicative of a desired velocity of the first and second lateral sides of the vehicle and to determine the control input in dependence thereon. Advantageously the output of the model is indicative of the control input for the vehicle.

Optionally the velocity data is indicative of the determined respective velocity of each of the first and second lateral sides of the vehicle at a lateral cross section of the vehicle. Advantageously the velocity along the lateral cross section of the vehicle is utilised.

The velocity data is optionally indicative of the determined respective velocity of each of first and second ends of an axle of the vehicle. Advantageously the velocity of each of the ends of the axle may be conveniently determined.

The processing means may be arranged to determine an error between the desired velocity of the first and second lateral sides of the vehicle and the velocity data. Advantageously the error is a velocity error.

The processing means may be arranged to apply feedback control to the error to determine the control input for the vehicle. The feedback control enables control of the vehicle to reduce the error.

The processing means may be arranged to perform a conversion operation on the control input to determine an actuation control input indicative of a state of one or more control actuators associated with the vehicle as the control input. Advantageously the actuation control input may be used to control the one or more actuators.

In some embodiments, actuation control input for the vehicle is arranged to control a steering angle of the vehicle. Advantageously the steering angle is convenient to control the vehicle.

The velocity data may be indicative of a determined respective velocity of each of first and second lateral sides of the vehicle at first and second positions along a longitudinal axis of the vehicle. Advantageously the velocity data may relate to more than one position along the longitudinal axis.

According to the invention, the processing means is arranged to determine the control input for the vehicle in dependence on the velocity data utilising the model indicative of movement of the vehicle, as a first model, in dependence on a respective velocity of each of the first and second lateral sides of the vehicle at the first position along the longitudinal axis, and a second model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle at the second position along the longitudinal axis. Advantageously the vehicle may be controlled at first and second positions in dependence on the first and second models.

The processing means may be arranged to determine a first control input utilising the first model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle at the first position along the longitudinal axis. Advantageously the first control input may be used to control the vehicle at the first position.

The processing means may be arranged to determine a second control input utilising the second model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle at the second position along the longitudinal axis. Advantageously the first control input may be used to control the vehicle at the second position.

The processing means may be arranged to combine the first and second control inputs to determine the control input for the vehicle. Advantageously the control inputs are combined to form a single control input for the vehicle.

The combining of the first and second control inputs optionally comprises determining a respective proportion for each control input. Advantageously the control inputs are determined proportionally to achieve control of the vehicle.

The first and second positions along the longitudinal axis may correspond to first and second axles of the vehicle. Advantageously the vehicle may be conveniently controlled with respect to the first and second axles.

The velocity of each of first and second lateral sides of the vehicle at first and second positions along a longitudinal axis of the vehicle optionally corresponds to a speed of first and second wheels of the first and second axles of the vehicle.

According to an aspect of the present invention, there is provided a vehicle control system, comprising a control system according to any of the above aspects and one or more control means for controlling the vehicle.

The control means may be controlled in dependence on the control input from the control system. The control means comprises one or more actuators. The one or more actuators may control a steering of the vehicle in dependence on the control input. Advantageously the actuators may be used to control the steering.

The vehicle control system optionally comprises velocity determining means for determining velocity data indicative of a respective velocity of each of first and second lateral sides of the vehicle. The velocity determining means may comprise one or more velocity determining devices.

The velocity determining means comprises first and second wheels speed sensors associated with first and second wheels of the vehicle.

The first and second wheels may be laterally spaced. The first and second wheels are optionally associated with an axle of the vehicle.

The vehicle control system may comprising state determining means for determining a current state of the vehicle and providing state data indicative of the current state to the control system.

According to an aspect of the present invention, there is provided a vehicle comprising a control system or a vehicle control system according to any of the above aspects.

According to an aspect of the present invention, there is provided a method of controlling a vehicle, comprising receiving state data indicative of a current state of a vehicle and velocity data indicative of a determined respective velocity of each of first and second lateral sides of the vehicle, determining a control input for the vehicle in dependence on the state data and the velocity data utilising on a model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle, and controlling the vehicle in dependence on the control input.

The method may comprise determining an output of the model indicative of a desired velocity of the first and second lateral sides of the vehicle and determining the control input in dependence thereon.

The method optionally comprises performing a conversion operation on the control input to determine an actuation control input indicative of a state of one or more control actuators associated with the vehicle as the control input.

According to an aspect of the present invention, there is provided computer software which, when executed by a computer, is arranged to perform a method according to an aspect of the present invention. Optionally the computer software is stored on a computer-readable medium. The computer software may be tangibly stored on the computer readable medium.

According to an aspect of the present invention, there is provided a method of controlling a vehicle, comprising determining a speed of the vehicle, selecting a first control scheme for the vehicle when the speed of the vehicle is equal to or above a predetermined threshold and selecting a second control scheme for the vehicle when the speed of the vehicle is below the predetermined threshold, and controlling the vehicle according to the selected control scheme. Advantageously the control scheme may be appropriately selected for the speed of the vehicle.

The second control scheme may comprise determining a control input for the vehicle in dependence on the state data and the velocity data utilising on a model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle.

Any controller or controllers described herein may suitably comprise a control unit or computational device having one or more electronic processors. Thus the system may comprise a single control unit or electronic controller or alternatively different functions of the controller may be embodied in, or hosted in, different control units or controllers. As used herein the term "controller" or "control unit" will be understood to include both a single control unit or controller and a plurality of control units or controllers collectively operating to provide any stated control functionality. To configure a controller, a suitable set of instructions may be provided which, when executed, cause said control unit or computational device to implement the control techniques specified herein. The set of instructions may suitably be embedded in said one or more electronic processors. Alternatively, the set of instructions may be provided as software saved on one or more memory associated with said controller to be executed on said computational device. A first controller may be implemented in software run on one or more processors. One or more other controllers may be implemented in software run on one or more processors, optionally the same one or more processors as the first controller. Other suitable arrangements may also be used.

Embodiments of the invention will be described with reference to a vehicle and particularly to controlling a trajectory of the vehicle. It will, however, be appreciated that embodiments of the invention are not limited in this respect. Embodiments of the invention may be applied to controlling other aspects of the vehicle and, furthermore, may be applied to controlling processes more generally. In particular embodiments of the invention may be applied to controlling any process.

Referring to <FIG> there is illustrated a vehicle, generally denoted as <NUM>, illustrated at a first state <NUM>. The first state <NUM> is a current state of the vehicle at a current or present point in time. For example, the current state <NUM> may be the vehicle <NUM> at a position on a navigable path, such as a roadway or other navigable area. In addition, a plurality of intended future states or desired states of the vehicle <NUM> are illustrated along a trajectory <NUM> of the vehicle <NUM>, each indicated with a respective marker <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. Each of the desired states may be a position of the vehicle <NUM> along the navigable path in a direction of travel, or at another position on the navigable area, such as at a parked position, for example. Other desired positions of the vehicle <NUM> may be envisaged. Each of the plurality of future or desired states <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the vehicle <NUM> is defined at respective ones of a plurality of points in time, as will be explained. A respective desired state of the vehicle <NUM> may be determined for each of the plurality of points in time along the trajectory <NUM> of the vehicle <NUM> with respect to the first state <NUM> of the vehicle <NUM> such as illustrated in <FIG>. Whilst <FIG> illustrates six future states <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the vehicle <NUM> it will be appreciated that this is merely illustrative and that other numbers of future states may be envisaged. It will be appreciated that in some embodiments a predetermined number of future states each associated with a respective future point in time are considered up to a horizon, as will be explained.

The first or current state <NUM> and each of the desired states <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the vehicle <NUM> may each be defined by one or more parameters. The one or more parameters are each indicative of an aspect of the vehicle's state. For example, a first parameter may define the vehicle's position. For a vehicle <NUM> which travels on the surface of the Earth, including upon water, the position may be defined in two dimensions such as in x, y coordinates. It will be appreciated that for air-going vehicles the position may be defined in three dimensions such as x, y, z coordinates. Thus it will be appreciated that one parameter may comprise a plurality of dimensions. Although description is provided herein relating to land-going vehicles, such as wheeled vehicles, it will be appreciated that embodiments of the invention are not limited in this respect. Embodiments of the invention may be envisaged which are aircraft, such as autonomous aircraft, i.e. drones.

The state of the vehicle <NUM> may also be defined by a heading parameter θ which defines a direction in which the vehicle <NUM> is facing i.e. oriented. Particularly, although not exclusively, for vehicles not having a front face i.e. which may travel in any direction, θ may indicate the direction of travel of the vehicle <NUM>. The state of the vehicle <NUM> may be defined by other parameters such as, for example V indicative of a velocity of the vehicle <NUM>.

As noted above, in a Model Predictive Control (MPC) control scheme the current state <NUM> of the vehicle, as defined by X(k), i.e. at time k, and one or a plurality of desired states <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, as defined by Xd, of the vehicle <NUM> are used to determine control inputs for the vehicle <NUM>. In some embodiments Xd is a vector of a plurality of desired states of the vehicle at respective points in time. Considering discretised time where the current time is k and a plurality of future points in time are considered which are defined as k+<NUM>, k+<NUM>. k+H, where H is a time horizon i.e. a maximum time in advance of the current time for which desired states of the vehicle <NUM> are considered, control inputs U to the vehicle <NUM> may be determined. In some embodiments U is a vector of a plurality of control inputs of the vehicle <NUM> at respective points in time. Between the current state <NUM> and the time horizon H a predetermined number of desired states <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> may be determined.

<FIG> indicates a plurality of future states <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the vehicle <NUM>. For example, the state <NUM> may be at time k+<NUM>, state <NUM> and time k+<NUM> etc. The plurality of future states <NUM>-<NUM> are defined along the trajectory <NUM> of the vehicle <NUM>.

For a generic process, the state at k+<NUM> in a state space representation denoted as X(k+<NUM>) is: <MAT> where U is the control input provided to the vehicle <NUM> and A and B are state and input matrices, respectively.

The state at k+<NUM> can be given by: <MAT>.

The above equations can be used to provide an estimate of future states: <MAT>.

Where X' is a set of future states of the vehicle <NUM> and U' is a set of control inputs to the vehicle <NUM>. X' and U' define a state of the vehicle <NUM> and one or more control inputs at each of the plurality of points in time, respectively, Z is a function of A's and N is a function of A's and B's as in the estimate of future states, above.

Once the future states X(k + <NUM>). X(k + Nx) of the vehicle <NUM> are determined, an optimisation step using a cost function Jk may be performed, as shown below: <MAT>.

T represents matrix transposition, as will be appreciated, and Q and R are weights which may be diagonal matrices providing a respective weight at each point in time, as below: <MAT>.

Control of the vehicle <NUM> may be optimised by determining a solution of: <MAT>.

In order to determine the control inputs U to the vehicle <NUM>, such as using the MPC control scheme, it is necessary to have a model of the vehicle <NUM>. Notwithstanding a number of wheels of the vehicle, the vehicle <NUM> may be modelled as a kinematic bicycle model <NUM>. An illustration of such a model is illustrated in <FIG>. The bicycle model <NUM> according to an embodiment of the invention is defined by L which is a wheelbase of the bicycle i.e. length, δ is a steering angle, θ is heading, v is velocity x, y and xf, yf are coordinates for a position of rear and front wheels, respectively, and T is a sample time. It will be appreciated that other models, including other vehicle models, may be used and embodiments of the present invention are not limited to use of this model.

Combining the MPC scheme with the example bicycle model <NUM>, for a position in x, y coordinates and heading θ gives: <MAT>.

Where the left hand side shows a continuous time representation and the right hand side is a discrete time representation.

As can be appreciated from the above, the velocity of the vehicle, represented by v, is influential in terms of the above representations. In particular, it can be observed that when the velocity of the vehicle is low i.e. the value of v is low, particularly approaching <NUM>, problems may arise. This is because, as velocity reduces, the value of v in the above equation tends to <NUM> and accurate measurement of the current state of the vehicle becomes increasingly difficult. In particular, accurate estimation of one or more of position (x, y) and heading of the vehicle becomes increasingly influential, such that noise or errors present in these measurements increases in significance.

The above problem can be further explained in that instantaneous longitudinal motion of a vehicle is independent of an angle of steered wheels of the vehicle, whereas instantaneous rotation motion depends on the longitudinal actuation (velocity of the vehicle v) and lateral actuation (steered angle of wheels). A vehicle cannot rotate, no matter what the angle of its steered wheels, if it is not moving (v=<NUM>), and for the same wheel position, the rotation will be faster as the vehicle moves faster longitudinally. This is observable in the kinematic bicycle model of <FIG> with: <MAT>.

Therefore, any control applied to the motion of the vehicle has to implicitly solve the described actuation coupling. In particular, for the bicycle model of <FIG>, it is necessary to solve the equation below in order to find the steering action required.

It can be observed from the equation above that when a vehicle has to be accurately controlled to a stationary position, a singularity is created as velocity tends to <NUM> i.e. a division by <NUM> is undefined or infinity.

Another problem has also been noted with existing control schemes. Existing control schemes control a positional state of the vehicle with respect to a single point reference or datum position of the vehicle, which is typically associated with one of the vehicle's axles, such as a rear axle of the vehicle. It will be appreciated that the reference position may alternatively be located a centre of mass of the vehicle, a centre of a front axle of the vehicle etc. In view of errors such as associated with sensors associated with determining the position of the vehicle, i.e. via GPS for example, and controllers associated with the vehicle, position errors exist for other points of the vehicle. Particularly for large vehicles, such as having a relatively long wheelbase, for example although not exclusively SUVs, commercial vehicles etc., a positional accuracy of another point of the vehicle may not be achievable with a single point control system.

<FIG> illustrates a front-wheel steered vehicle <NUM> having an example length d=<NUM>. A positional error (Pe) is illustrated at a control point corresponding to a centre of a rear axle, for example. A heading error θe is also illustrated. For a heading error of <NUM>° and positional error of <NUM> at the control point, the positional error at the front bumper of the vehicle is given by: <MAT>.

Thus it can be appreciated that, particularly for a long vehicle, even with very small errors in position and heading for the single control point of the vehicle <NUM>, a relatively large position error may exist at another point of the vehicle <NUM>.

In embodiments of the invention, vehicle movement is modelled based upon a velocity of each wheel of an axle of the vehicle. Thus a model of the vehicle is determined in embodiments of the invention utilising a speed of movement of each side of the vehicle, in particular each longitudinal end of an axle of the vehicle. The speed of movement of each longitudinal end of the axle of the vehicle corresponds, in some embodiments, to a wheel speed of a wheel located at each respective end of the axle. Advantageously a control solution determined in dependence on such a model is not dependent on a velocity of the vehicle, as discussed above, and therefore improved control at low speeds of the vehicle may be obtained.

<FIG> illustrates a vehicle axle <NUM>. In the example of <FIG> the axle <NUM> is a rear axle of the vehicle, although it will be appreciated that a front or intermediate axle may be considered. The rear axle <NUM> is associated with a first wheel <NUM> and a second wheel <NUM> which are disposed at respective ends of an axle body <NUM> through which, for a driven axle, torque is communicated to the wheels <NUM>, <NUM>. The first wheel <NUM> represents a first lateral side of the vehicle and the second wheel <NUM> represents a second lateral side of the vehicle. A driveshaft <NUM> is partially shown extending forward at a centre of the axle <NUM>. The first wheel is <NUM> is a left-hand wheel and the second wheel <NUM> is a right-hand wheel. A length between each of the wheels, or track, is denoted by L. VL is a velocity of the first wheel <NUM> and VR is a velocity of the second wheel <NUM>. V is a velocity of the axle and θ̇ is a change in heading over time. Given the velocity of each wheel <NUM>, <NUM> of the axle <NUM> can be conveniently measured by wheel speed sensors, θ̇ and ẋ, ẏ being a change in position can be given by: <MAT> <MAT> <MAT>.

The left hand side is continuous time representation and the right hand side is a discrete time representation. As explained above, k indicates a current state and k+<NUM> a first future state. As can be appreciated, this model is similar to the kinematic bicycle model of <FIG> described above. Thus, a solution for motion control can be similarly applied as described above, but which advantageously does not require solving by an inverse of velocity.

Using the above model, a control solution according to an embodiment of the invention is defined. The control solution determines an individual speed of each wheel at either end an axle of the vehicle i.e. a speed of each of the first and second wheels <NUM>, <NUM> shown in <FIG> i.e. VL and VR. However, it will be appreciated that for most vehicles i.e. those with steered wheels, the speed of each wheel is not directly controlled to steer the vehicle. Instead, wheel angle, i.e. a steering wheel angle (angle of steered wheels of the vehicle), and longitudinal force applied by one or more of an engine, electric machine(s) and brakes is controlled. Thus it is necessary to convert individual wheel speeds into the magnitudes available in said actuation i.e. steering wheel angle and longitudinal force.

<FIG> illustrates a control scheme <NUM> for a vehicle according to an embodiment of the invention. The control scheme is for wheel angle (u2) for one axle of the vehicle, such as illustrated in <FIG>. The control scheme illustrated in <FIG> does not include control of velocity (u1) of the vehicle as velocity control does not suffer from the problem mentioned above. The control scheme illustrated in <FIG> is a model predictive control (MPC) control scheme. However it will be appreciated that embodiments of the invention are not restricted to the MPC control scheme. Embodiments of the invention are applicable to any control scheme having a dependence on velocity, such as a control scheme requiring solution to vtan(delta) or similar.

The control scheme <NUM> illustrated in <FIG> comprises a MPC module <NUM>, a summation node <NUM>, a control module <NUM>, a conversion module <NUM> and the vehicle is represented as <NUM>. The vehicle <NUM> is provided with a control input <NUM> indicative of wheel angle δ i.e. a desired or requested angle of the steering wheels of the vehicle. The wheel angle δ is a desired wheel angle indicated by the control input. The vehicle <NUM> provides, from one or more sensors associated therewith, state data <NUM>, <NUM> which is indicative of a current state of the vehicle <NUM>. The state data <NUM> is indicative of the current state of the vehicle and in the embodiment shown comprises a location or position <NUM> of the vehicle (x, y) and an orientation of the vehicle θ. The state data <NUM> is provided to the MPC module <NUM>, as shown. The vehicle <NUM> further provides velocity data <NUM> which, in the illustrated embodiment, is indicative of a velocity of each lateral side of the vehicle <NUM> i.e. VL, VR. The velocity data <NUM> may be determined from respective wheel speed sensors associated with wheels of one or more axles of the vehicle <NUM>. The embodiment of <FIG> is a control scheme for controlling one axle of the vehicle <NUM>, which may be a front axle. Thus the wheel speed of a wheel at either end of the axle is indicated by the velocity data <NUM>. The velocity data <NUM> may be a function of speeds of first and second wheels <NUM>, <NUM> associated with an axle <NUM> of the vehicle <NUM> i.e. f(VL, VR). As will be explained, the velocity data <NUM> is provided to the summation node <NUM>, in the illustrated embodiment to a subtraction input of the summation node <NUM>.

The MPC module <NUM> is arranged to receive the state data <NUM> indicative of the current state of the vehicle <NUM>. The MPC module <NUM> is arranged to access a memory storing data indicative of a model of the vehicle <NUM> according to an embodiment of the invention. The MPC module <NUM> utilises the model, as described above, to predict a plurality of future states of the vehicle i.e. at time k+<NUM>, k+<NUM> etc. As noted above, the model described above avoids problems associated with low velocities of the vehicle <NUM> by being based upon the speed of movement of each side of the vehicle <NUM> i.e. wheel speeds of laterally-spaced wheels of the vehicle <NUM>. The MPC module <NUM> is arranged to determine a control input <NUM> for the vehicle <NUM>. In the illustrated embodiment, dependent upon a desired trajectory of the vehicle and the predictions of the future states of the vehicle, the MPC module <NUM> is arranged to determine the control input U for the vehicle <NUM> by optimising a cost function J as described above. A control output <NUM> from the MPC module <NUM> is provided as u2 as shown in <FIG>.

The control input <NUM> is provided from the MPC module <NUM> for controlling the speed of each lateral side of the vehicle <NUM>. The control input <NUM> may be indicative of a desired wheel speed VL, VR of the wheels <NUM>, <NUM> of the axle <NUM> of the vehicle <NUM> as illustrated in <FIG>. In <FIG>, the control input provided by the MPC module <NUM> u<NUM> is indicative of a differential speed of wheels <NUM>, <NUM> at each side of the axle, and a length of the axle L, as noted above. The determined control input <NUM> may be of the form: <MAT>.

The summation node <NUM> receives the control input <NUM> from the MPC module <NUM>. The summation node <NUM> receives an input <NUM> indicative of a measured velocity of the respective sides of the vehicle <NUM>. The input <NUM> indicative of the measured velocity of the respective sides of the vehicle <NUM> is, in the illustrated embodiment, the velocity data <NUM> indicative of a wheel speed of the wheels <NUM>, <NUM> at each end of the axle i.e. the right and left wheels VL, VR. The velocity data <NUM> received by the summation node <NUM> may be a function of the respective wheel speeds i.e. f(VL, VR). The summation node <NUM> is arranged, in one embodiment, to determine an error e between the inputs <NUM>, <NUM> i.e. to determine the error e between the control input <NUM> received from the MPC module <NUM> and the current wheel speeds <NUM>. Data indicative of the error e is provided to the control module <NUM>.

The control module <NUM>, in embodiments of the invention, provides actuation agnostic control. That is, the control module <NUM> operates independent of a means by which actuation of the controlled one or more variables is achieved. In some embodiments of the invention, the control module <NUM> is arranged to provide proportional integral differentiation (PID) control. An output of the control module <NUM> may be indicative of a wheel speed of the wheels of the vehicle. The control module <NUM> is arranged to receive, as an input, the data indicative of the error e from the summation node <NUM> which, in the illustrated embodiment, is indicative of an error in the speed of each lateral side of the vehicle <NUM> i.e. wheel speed error in some embodiments of the invention.

As mentioned above, since for most vehicles wheel speed is not the actuated variable for control of heading or steering of the vehicle <NUM> i.e. the output of the control module <NUM> does not directly represent the available actuation of the vehicle, the output of the control module <NUM> requires conversion to the available actuation of the vehicle <NUM>, which in the illustrated embodiment is steering wheel angle. The conversion module <NUM> may provide conversion according to one of: <MAT>.

A selection between the above to equations is made dependent on the axle of the vehicle which is being steered i.e. v. sin may be used with a front axle, whereas v. tan may be used with a rear axle of the vehicle.

The model utilised with the control scheme illustrated in <FIG> only considers a two wheeled (single axle) vehicle i.e. having left and right wheels, as in <FIG>. Therefore, according to the model used in the MPC module <NUM>, the vehicle is able to rotate with a centre of the axle <NUM> longitudinally static i.e. without forward motion. For a three, four or more wheeled vehicle, such rotation without motion is not achievable. Therefore the control strategy may be restrained in some embodiments by one or both limitations: <MAT>.

The above requirement is for both wheel velocities to have the same sign i.e. positive or negative, and: <MAT>.

The above equation expresses that most vehicles have a different turning radius which defines a minimum wheel speed of the vehicle when turning.

<FIG> illustrates a control scheme <NUM> for a vehicle according to another embodiment of the invention. The control scheme <NUM> is for a vehicle <NUM> having at least two axles. In particular, the embodiment of <FIG> is for control of steering wheel angle with control of two axles of the vehicle <NUM>, although it will be appreciated that this is not limiting i.e. more than two axles may be controlled. The two axles in <FIG> are referred to as front and rear axles of the vehicle where a speed of wheels associated with the two axles is controlled. In particular, in one embodiment a differential speed of the wheels of the two axles is controlled i.e. u2front and u2rear. As with the embodiment illustrated in <FIG>, it will be appreciated that embodiments of the invention are not restricted to the MPC control scheme.

The control scheme <NUM> of <FIG> comprises a respective set of operations <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM><NUM> associated with each axle of the vehicle <NUM>. In the illustrated embodiment, the control scheme comprises a first set <NUM> of operations associated a first axle and a second set <NUM> of operations associated with a second axle. The first set <NUM> of operations providing a control input based on the first axle and the second set <NUM> of operations provides a control input based on controlling the second axle. An output of each of the plurality of sets of operations <NUM>, <NUM> are combined at a combining node <NUM> to provide a control input <NUM> for the vehicle <NUM>, as in the embodiment described above with respect to <FIG>.

For each of the plurality of axles of the vehicle <NUM>, the control scheme <NUM> comprises a MPC module <NUM>, <NUM>, a summation node <NUM>, <NUM>, a control module <NUM><NUM>, a conversion module <NUM>, <NUM> and a proportioning module <NUM>, <NUM> which each produce a respective control input <NUM>, <NUM> for the respective axle. That is, the control scheme of <FIG>, which is arranged to control two axles of the vehicle <NUM>, includes two of each of the aforesaid modules divided amongst the first and second sets <NUM>, <NUM> of operations.

Each of the MPC module <NUM>, <NUM>, summation node <NUM>, <NUM>, control module <NUM><NUM> and conversion module <NUM>, <NUM> operate as described with respect to <FIG>. In <FIG>, the conversion modules <NUM>, <NUM> are each arranged to provide a conversion for the respective axle of the vehicle <NUM>. In the illustrated embodiment the conversion module <NUM> provides conversion for the front axle, which may be v. sin (δ) to provide δfront indicative of wheel angle for the front axle, whilst the conversion module <NUM> provides conversion for the rear axle, which may be v. tan(δ) to provide δrear indicative of wheel angle for the rear axle.

The proportioning module <NUM>, <NUM> associated with each axle is arranged to receive the signal indicative of steering wheel angle for the respective axle i.e. δfront or δrear and to determine a respective proportion of the combined control signal <NUM> for that axle. In some embodiments, the proportioning module for one axle, such as the proportioning module <NUM> for the front axle, may apply to an input kfront as a value from <NUM> to <NUM>, whilst the other proportioning module, such as the proportioning module <NUM> for the rear axle applies <NUM>-kfront. In this way, the respective signals may be combined at the combining module <NUM> in appropriate proportions.

The control scheme comprises a combining module <NUM> which is arranged to receive the control input <NUM>, <NUM> for each axle of the vehicle and to combine the control inputs to form a combined control input <NUM> for the vehicle as will be explained. In the control scheme of <FIG> the combining module is a summation module <NUM> arranged to sum each of the respective control inputs <NUM>, <NUM>. The vehicle is represented in <FIG> as <NUM>. The vehicle <NUM> is provided with a control input <NUM>, which as in <FIG> is indicative steering wheel angle δ for the vehicle <NUM>.

The vehicle <NUM> provides, from one or more sensors associated therewith, state data <NUM> which is indicative of a current state of the vehicle <NUM>. The state data <NUM> indicative of the current state of the vehicle <NUM> in the embodiment shown comprises a location or position of the vehicle (x, y) and an orientation of the vehicle θ. The state data <NUM> is provided to each the MPC modules <NUM>, <NUM> as shown. That is, the same state data is provided to the plurality of MPC modules <NUM>, <NUM> of the control scheme. The vehicle <NUM> further provides velocity data <NUM>, <NUM> indicative of a velocity of each lateral side of the vehicle <NUM> i.e. VL, VR for each axle of the vehicle <NUM>. The velocity data <NUM>, <NUM> may be determined from respective wheel speed sensors associated with wheels of each axle of the vehicle <NUM>. The velocity data <NUM>, <NUM> may be a function of speeds of first and second wheels <NUM>, <NUM> associated with each axle <NUM> of the vehicle <NUM> i.e. f(VL, VR). In the scheme of <FIG>, first velocity data <NUM> associated with a first axle i.e. the front axle is provided to summation node <NUM>, whilst second velocity data <NUM> associated with a second axle i.e. the rear axle is provided to summation node <NUM>. Thus each summation node <NUM>, <NUM> is provided with velocity data <NUM>, <NUM> for the respective axle under control.

<FIG> illustrates a system <NUM> according to an embodiment of the invention. The system <NUM> may be implemented by one or more electronic controllers. The system <NUM> comprises a control means <NUM> according to an embodiment of the invention, current state determining means <NUM> for determining one or more parameters of a current state of the vehicle, desired state determining means <NUM> and vehicle control means <NUM>. The desired state determining means <NUM> may be used with embodiments using an MPC control scheme, although may not be present in other embodiments.

The control means <NUM> may comprise electronic circuitry. The control means may be a controller <NUM> according to an embodiment of the invention. The control means <NUM> may comprise one or more electronic processing devices <NUM>, or processors, which operably execute computer-readable instructions. The computer-readable instructions may be stored in a memory <NUM> accessible to the one or more electronic processing devices <NUM>. The computer readable instructions may, when executed, cause the one or more electronic processing devices <NUM> to implement a control scheme <NUM>, <NUM> according to an embodiment of the invention such as one of those <NUM>, <NUM> illustrated in <FIG> or <FIG>. The computer-readable instructions may cause the processing device <NUM> to perform a method <NUM>, <NUM> according to an embodiment of the invention, such as one of those illustrated in <FIG> or <FIG> to provide such the control scheme <NUM>, <NUM> for a vehicle. The control means <NUM> comprises input means <NUM> to receive a signal indicative of the current state of the vehicle <NUM>. The signal may be an electronic signal which is indicative of current state data. The current state data may be provided by the current state determining means <NUM>. The control means <NUM> may comprise input means <NUM> to receive a signal indicative of the desired state of the vehicle <NUM>. The signal may be an electronic signal which is indicative of desired state data. The desired state data may be provided by the desired state determining means <NUM>. The control means <NUM> comprises output means <NUM> to output a signal indicative of one or more control inputs which are provided to the vehicle <NUM>. The signal may be an electronic signal, hereinafter vehicle control signal, which is indicative of the one or more vehicle control inputs, U. The control signal may be provided to the vehicle control means <NUM>.

The current state determining means (CSDM) <NUM> is arranged to, in use, determine one or more parameters of the current state of the vehicle <NUM>. The CSDM <NUM> may comprise one or a plurality of devices for determining each respective parameters of the current state. The CSDM <NUM> may comprise a magnetometer device for determining a current heading of the vehicle <NUM>. The current state determining means <NUM> may comprise a location determining device which may comprise a receiver for receiving wireless navigation signals, such as from GPS or GLONASS satellites, from which the location of the vehicle may be determined. The CSDM <NUM> may comprise other devices such as an altimeter device for determining an altitude of the vehicle <NUM>, one or more scanning devices for scanning i.e. transmitting and receiving radiation from an environment of the vehicle <NUM>, such as LIDAR. The CSDM <NUM> may comprise imaging means, such as one or more imaging devices, for outputting image data corresponding to the environment of the vehicle <NUM>, such as one or more cameras. Other devices may be envisaged which are useful for determining parameters of the vehicle's current state. The CSDM <NUM> may output the current state data, X(k), indicative of the one or more parameters of the vehicle's current state. The current state data may be indicative of the vehicle's position or location and the vehicle's current heading. The CSDM <NUM> may comprise a wheel sensor associated with each of one or more wheels of the vehicle to provide wheel speed data indicative of the respective wheel's rotational speed.

The desired state determining means (DSDM) <NUM> may comprise electronic circuitry. The DSDM <NUM> may comprise one or more electronic processing devices, or processors, which operably execute computer-readable instructions. The computer-readable instructions may be stored in a memory accessible to the one or more electronic processing devices. The computer readable instructions may, when executed, cause the one or more electronic processing devices to determine the desired state of the vehicle <NUM>. The desired state may be, for example, a position along a navigable path or within a navigable area, such as a road, or a parked position of the vehicle <NUM>. Other desired states of the vehicle may be envisaged. The DSDM <NUM> may be provided with the current state data from the current state determining means <NUM>. The DSDM <NUM> may be arranged to access digital map data, such as stored in a storage means accessible to the DSDM <NUM>, indicative of a layout or geometry of the navigable path from which the desired state may be determined. The DSDM <NUM> may, for example, receive image data provided by the current state determining means <NUM> in order to determine a parked location of the vehicle relative to one or more obstacles in the environment of the vehicle <NUM>, such as other parked vehicles. The DSDM <NUM> provides the desired state data, Xd, to the control means <NUM>.

The vehicle control means (VCM) <NUM> is provided, as an input, with the vehicle control signal from the control means <NUM>. The control signal may be signal <NUM> in <FIG> or signal <NUM> in <FIG> indicative of a desired steering wheel angle of the vehicle <NUM>, <NUM>. The VCM <NUM> comprises means for controlling the state of the vehicle <NUM>, which in the illustrated embodiment is means for controlling a steering wheel angle. The VCM <NUM> may be arranged to influence, or control, the one or more parameters of the vehicle's state determined by the CSDM <NUM>. Thus the VCM <NUM> may comprise a steering controller of the vehicle. The steering controller may be associated with one or more actuators arranged to move a steering system of the vehicle. For example, the actuators may comprise one or electric motors or hydraulic actuators associated with a steering system of the vehicle <NUM>, <NUM>.

<FIG> illustrates a control method <NUM> according to an embodiment of the invention. The control method <NUM> is for controlling a vehicle according to an embodiment of the invention. In particular, the method <NUM> is for controlling the steering of the vehicle.

The method <NUM> comprises a step <NUM> of receiving state data <NUM>, <NUM> associated with the vehicle. As described above in connection with <FIG> and <FIG>, the state data <NUM> is indicative of the current state of the vehicle. The state data <NUM>, <NUM> may comprise a location or position of the vehicle (x, y) and an orientation of the vehicle θ. The state data may be output by the CSDM <NUM> of the system <NUM> illustrated in <FIG>, and received by the controller <NUM> at the input means <NUM>.

The method <NUM> comprises a step <NUM> of receiving velocity data <NUM>, <NUM>, <NUM> associated with the vehicle. As described above in connection with <FIG> and <FIG>, the velocity data <NUM>, <NUM>, <NUM> is indicative of a velocity of each lateral side of the vehicle <NUM> i.e. VL, VR for one or more axles of the vehicle <NUM>, <NUM>. When the method <NUM> implements the control scheme <NUM> of <FIG>, the velocity data <NUM> may comprise velocity data associated with one axle of the vehicle <NUM>, such as the front axle. When the method <NUM> implements the control scheme of <FIG>, the velocity data <NUM>, <NUM> is associated with each of a plurality of axles of the vehicle <NUM>, such as front and rear axles of the vehicle <NUM>. The velocity data <NUM>, <NUM>, <NUM> may be output by the CSDM <NUM> of the system <NUM> illustrated in <FIG>, and received by the controller <NUM> at the input means <NUM>. The velocity data <NUM>, <NUM>, <NUM> may be output from one or more wheel speed sensors associated with a plurality of wheels of the vehicle <NUM>, <NUM>.

The method <NUM> comprises a step <NUM> of determining a control input for the vehicle. In embodiments of the invention, the control input is indicative of a steering wheel angle for the vehicle <NUM>, <NUM> i.e. an angle of the steering wheels of the vehicle. Step <NUM> according to an embodiment of the invention is performed in dependence on the state data <NUM>, <NUM> received in step <NUM> and the velocity data <NUM>, <NUM>, <NUM> received in step <NUM>. Step <NUM> utilises the model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle <NUM>, <NUM> accessible to the processing device <NUM> of the controller <NUM> as discussed above. In step <NUM> one of the control schemes <NUM>, <NUM> described above may be performed to determine the control input <NUM>, <NUM> indicative of steering wheel angle for the respective vehicle <NUM>, <NUM>. The reader is directed to the explanations of the control schemes <NUM>, <NUM> described above, where the modules of said control schemes <NUM>, <NUM> represent processing steps performed as part of step <NUM>.

Step <NUM> comprises controlling the vehicle <NUM>, <NUM> according to the control input determined in step <NUM>. That is, the vehicle <NUM>, <NUM> is controlled by setting the steering wheel angle i.e. the angle of the one or more steering wheels of the vehicle, or other means for steering the vehicle such as a rudder, according to the control input. Step <NUM> may comprise outputting one or more signals indicative of the control input from the output means <NUM> of the controller. One or more actuators of the vehicle <NUM>, <NUM> may be controlled to adopt a position according the control input. Step <NUM> may comprise the VCM <NUM> of <FIG> receiving the one or more signals and controlling the state of the vehicle in dependence thereon i.e. adjusting or controlling an angle of the steering wheels of the vehicle.

Embodiments of the present invention provide apparatus and methods for controlling a vehicle and, in particular, for controlling steering of a vehicle. Embodiments of the present invention are particularly useful for controlling the vehicle at low speeds.

<FIG> illustrates a method <NUM> according to another embodiment of the invention. The method is a method <NUM> of controlling a vehicle according to another embodiment of the invention. In particular, the method <NUM> is a method of selecting a control scheme to control the vehicle.

Step <NUM> of the method <NUM> comprises determining a speed of the vehicle. The speed of the vehicle is a current i.e. instantaneous speed of the vehicle. The speed may be a speed of the vehicle over ground or over water, or an airspeed of the vehicle.

Step <NUM> comprises determining whether the speed of the vehicle is above or equal to a predetermined threshold. The predetermined threshold is a threshold speed, such as <NUM> kmh-<NUM>, 20kmh-<NUM>, 10kmh-<NUM> although it will be appreciated that other threshold speeds may be chosen. If, in step <NUM>, the vehicle is travelling above or is equal to the threshold speed, the method moves to step <NUM>. If the vehicle is travelling at a speed below the threshold speed the method moves to step <NUM>.

In step <NUM> a first control scheme is chosen for controlling the vehicle. In particular, the control scheme is a control scheme comprising control of the vehicle's steering. The first control scheme may be one in which the velocity of the vehicle, v, is used as either a numerator or denominator of an equation term, such as: <MAT>.

As explained above, such control schemes are advantageously used when the speed of the vehicle is relatively high i.e. above the predetermined threshold.

If, however, the speed of the vehicle is below the threshold speed and the method <NUM> progresses to step <NUM>, a second control scheme is selected. The second control scheme is one according to an embodiment of the present invention, such as that illustrated in <FIG> or <FIG> which may be implemented by the system of <FIG> according to the method shown in <FIG>. In the second control scheme a control input for the vehicle is determined in dependence on state data and velocity data utilising on a model indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle as explained above. Advantageously, use of such a second control improves control of the vehicle at lower speeds.

Step <NUM> comprises controlling the vehicle according to the selected control scheme.

<FIG> illustrates a vehicle <NUM> according to an embodiment of the invention. The vehicle <NUM> is a wheeled vehicle. The vehicle comprises a system <NUM> according to an embodiment of the invention such as illustrated in <FIG>. The vehicle <NUM> may be arranged to perform a method <NUM> according to an embodiment of the invention. The vehicle implements a control scheme according to an embodiment of the invention, such as that illustrated in <FIG> or <FIG>.

Claim 1:
A control system comprising one or more controllers, the control system comprising:
input means (<NUM>) to receive state data (<NUM>) indicative of a current state of a vehicle and velocity data (<NUM>, <NUM>) indicative of a determined respective velocity of each of first and second lateral sides (<NUM>, <NUM>) of the vehicle at respective first and second positions along a longitudinal axis of the vehicle;
memory means (<NUM>) storing data indicative of a first model and a second model associated with the vehicle;
processing means (<NUM>) configured to determine a control input for the vehicle in dependence on the state data (<NUM>) and the velocity data (<NUM>, <NUM>), wherein the processing means (<NUM>) is configured to determine the control input (<NUM>) for the vehicle in dependence on the velocity data (<NUM>, <NUM>) utilising the first model, which is indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle at the first position along the longitudinal axis, and the second model which is indicative of movement of the vehicle in dependence on a respective velocity of each of the first and second lateral sides of the vehicle at the second position along the longitudinal axis; and
output means (<NUM>) arranged to output one or more signals indicative of the control input (<NUM>) for controlling the vehicle.