Patent Description:
Aspects of the invention relate to a control system, a method, a vehicle, computer software, and a non-transitory computer-readable storage medium.

It is known for a vehicle to host a system that enables the host vehicle to operate in accordance with a predefined autonomous mode. The host vehicle may be instructed to operate in accordance with the predefined autonomous mode by a user (occupant) of the host vehicle i.e. via an input device at which a user input is received to control operation of the predefined autonomous mode.

The occupant may desire for the speed and path of the host vehicle in the autonomous mode to be appropriate to a driving context. The driving context may relate to factors such as the environment outside the host vehicle. The environment includes infrastructure and other road users (ORUs). The driving context may relate to the specific preferences of the occupant. The driving context may relate to the condition of the host vehicle.

<CIT> discloses a travel control device for planning a trajectory when a highway exit or a branch is present on a road.

It is an aim of the present invention to address disadvantages of the prior art.

Aspects and embodiments of the invention provide a control system, a method, a vehicle, computer software, and a non-transitory computer-readable storage medium.

According to an aspect of the invention there is provided a control system according to claim <NUM>. The control system advantageously enables the host vehicle to approach bifurcations in a manner that is predictable to its occupant and to other road users. Without such functionality, the host vehicle may attempt to remain centred as the first lane widens, which may cause vehicle to exit the autonomous mode if the lane width exceeds a threshold width, or the host vehicle may continue and snap into one of the plurality of lanes which may be confusing to the occupant and other road users.

The one or more controllers may collectively comprise: at least one electronic processor having an electrical input for receiving the information; and at least one electronic memory device electrically coupled to the at least one electronic processor and having instructions stored therein; and wherein the at least one electronic processor is configured to access the at least one memory device and execute the instructions thereon so as to cause the host vehicle to perform the determining and the causing the control.

The control system is configured to determine a lateral distance from a lane position within the first lane to a lane position within at least one of the plurality of lanes. The lateral distance is from a first target lane position between lateral edges of the first lane to a second target lane position between lateral edges of the at least one of the plurality of lanes. The control system is configured to determine a longitudinal distance to a start of at least one of the plurality of lanes. The start of the at least one of the plurality of lanes may be associated with a start location of a road marking denoting a lateral edge of at least one of the plurality of lanes. The control is dependent on the longitudinal distance and the lateral distance. This advantageously enables a smoother manoeuvre through the bifurcation.

The control may cause the host vehicle to follow a curve-shaped planned path, wherein a first end of the curve is colinear with a lane position within the first lane and a second end of the curve is colinear with a lane position within one of the plurality of lanes. The curve may be clothoidal or sigmoidal. This advantageously enables a smoother manoeuvre through the bifurcation.

A determination of a path associated with the control of the speed and/or direction may be constrained by at least one constraint associated with a derivative of lateral displacement of the host vehicle with respect to longitudinal displacement of the host vehicle or time. The constraint may be associated with the second derivative. Which one of the plurality of lanes the host vehicle enters and/or a speed of the host vehicle through the bifurcation may be dependent on the constraint. This advantageously enables a smoother manoeuvre through the bifurcation.

The control system may be configured to select a target one of the plurality of lanes and plan a path to enter the target lane, wherein the target lane is selected in dependence on at least one of: a requirement to select a nearside available lane (reduces inconvenience to other road users wishing to overtake on the offside lane); a constraint associated with a derivative of lateral displacement of the host vehicle with respect to longitudinal displacement of the host vehicle or time (enables a smooth manoeuvre through the bifurcation); or a navigation constraint (so that a subsequent manoeuvre is not required).

The control of the direction may comprise causing a steering subsystem of the host vehicle to control steering of the host vehicle to follow a planned path of the host vehicle determined in dependence on the processing.

The determining the bifurcation may utilise map data. This advantageously enables the manoeuvre to be planned in advance.

According to another aspect of the invention there is provided a method according to claim <NUM>.

According to a further aspect of the invention there is provided a vehicle according to claim <NUM>.

According to a further aspect of the invention there is provided computer software according to claim <NUM>.

According to a further aspect of the invention there is provided a non-transitory, computer-readable storage medium according to claim <NUM>.

<FIG> illustrates an example of a vehicle <NUM> in which embodiments of the invention can be implemented. In some, but not necessarily all examples, the (host) vehicle <NUM> is a passenger vehicle, also referred to as a passenger car or as an automobile. Passenger vehicles generally have kerb weights of less than <NUM>. In other examples, embodiments of the invention can be implemented for other applications, such as industrial vehicles.

The host vehicle <NUM> may comprise any appropriate prime mover (not shown) or a plurality of prime movers. An example of a prime mover is an internal combustion engine.

Another example of a prime mover is an electric motor. The vehicle may be an electric vehicle or a hybrid-electric vehicle.

The host vehicle <NUM> may be operable in an autonomous mode. The host vehicle <NUM> may also be operable in a non-autonomous mode.

A control system <NUM> is shown in <FIG> which may implement, at least in part, the functionality of the autonomous mode. The control system <NUM> may implement, at least in part, the functionality of the non-autonomous mode. The control system <NUM> may comprise means to cause any one or more of the methods described herein to be performed, at least in part.

The control system <NUM> may comprise one or more (electronic) controllers <NUM>. One controller <NUM> is shown in <FIG>.

The controller <NUM> of <FIG> includes at least one electronic processor <NUM>; and at least one electronic memory device <NUM> electrically coupled to the electronic processor <NUM> and having instructions <NUM> (e.g. a computer program) stored therein, the at least one electronic memory device <NUM> and the instructions <NUM> configured to, with the at least one electronic processor <NUM>, cause any one or more of the methods described herein to be performed.

The control system <NUM> may be supplied separately from or together with any input devices and any actuators controlled by the control system <NUM>.

<FIG> illustrates a non-transitory computer-readable storage medium <NUM> comprising the computer program <NUM> (computer software).

<FIG> shows an example of a system <NUM> for a vehicle such as the host vehicle <NUM> of <FIG>. The system <NUM> may implement, at least in part, the functionality of the autonomous mode.

The system <NUM> comprises the control system <NUM>. The system <NUM> may comprise one or more actuators for operation by at least the control system <NUM> in at least the autonomous mode. The actuators may be operably (directly or indirectly) coupled to one or more outputs of one or more controllers of the control system <NUM>.

The actuators may comprise one or more torque control actuators. The torque control actuators are for controlling torque received at one or more road wheels of the host vehicle <NUM>.

The torque control actuators may comprise a brake control actuator <NUM>.

The brake control actuator <NUM> comprises any appropriate means for controlling a negative torque received by road wheels of the host vehicle <NUM>.

In an implementation, the brake control actuator <NUM> may comprise a friction brake actuator for applying friction brakes of the host vehicle <NUM>.

The brake control actuator <NUM> may be operated in dependence on an output signal such as a brake demand signal output from the control system <NUM>, in the autonomous mode.

The torque control actuators may comprise an acceleration control actuator <NUM>.

The acceleration control actuator <NUM> comprises any appropriate means for controlling a positive torque received by road wheels of the host vehicle <NUM>, for instance means for controlling a torque output of the prime mover.

In an implementation, the acceleration control actuator <NUM> may comprise a throttle position actuator for controlling an opening degree of a throttle for an internal combustion engine.

The acceleration control actuator <NUM> may be operated in dependence on an output signal such as a torque demand signal output from the control system <NUM>, in the autonomous mode.

The actuators may comprise a steering control actuator <NUM>. The steering control actuator is part of a steering subsystem of the host vehicle <NUM>, for controlling the direction of the host vehicle <NUM>.

The steering control actuator <NUM> comprises any appropriate means for controlling a direction of the host vehicle <NUM>, for instance means for controlling a steering angle of front road wheels of the host vehicle <NUM>.

In an implementation, the steering control actuator <NUM> may comprise a motor for actuating a steering rack of the host vehicle <NUM>. Additionally or alternatively, the steering control actuator <NUM> may comprise a friction brake actuator, configured to control a braking torque differential between left and right wheels of the host vehicle <NUM>.

The steering control actuator <NUM> may be operated in dependence on an output signal such as a steering signal output from the control system <NUM>, in the autonomous mode.

One or more of the actuators <NUM>, <NUM>, <NUM> may be operable automatically by the control system <NUM> in the autonomous mode. One or more of the actuators may be operable under manual control by a vehicle occupant in the non-autonomous mode.

The system <NUM> may comprise one or more input devices <NUM>, <NUM>, <NUM>, <NUM>. The input devices may be coupled to one or more inputs of one or more controllers of the control system <NUM>.

The signals to the actuators may be dependent on signals from the input devices.

The input devices may comprise sensing means <NUM>, <NUM>, <NUM>, such as one or more sensor units. The sensing means may enable machine vision for autonomous driving.

The sensing means outputs to the control system <NUM> environment information indicative of the environment in the vicinity of the host vehicle <NUM>. The environment information is indicative of one or more environment characteristics, e.g. road type, presence of other road users, road markings, road priorities, etc..

The sensing means may be configured for or suitable for attachment to the host vehicle <NUM>. The sensing means may comprise an optical sensor such as a (visual) camera <NUM>. An optical sensor is for imaging in the visible light spectrum.

The sensing means may comprise range detection means <NUM>. The term "range detection means" will be understood to mean any sensing means for detecting sensor data indicative of a range of a target object from the host vehicle <NUM>. The range detection means <NUM> may comprise a rangefinder. The range detection means <NUM> may comprise a laser rangefinder. The laser rangefinder may comprise a lidar sensor. The control system <NUM> with at least one of the sensing means may be arranged to capture a doppler shift in an emitted signal. The sensing means may comprise a radar sensor <NUM>. The sensing means may comprise an ultrasound sensor (not shown).

The system <NUM> may comprise a plurality of the input devices, each input device representing a different sensing modality. For example, the system <NUM> may comprise lidar sensors, radar sensors and cameras. This redundancy improves safety and enables autonomous driving in various environments such as driving at night or through fog.

The sensing means may be capable of detecting objects within a first sensing range. The first sensing range may be, at most, a maximum line of sight distance from the sensing means. The first sensing range may be from approximately <NUM> to approximately <NUM> from the location of the sensing means.

Objects may be recognised by a classification process (algorithm) of the control system <NUM>. Objects which may be classified may include one or more of: automobiles; heavy goods vehicles; motorcycles or pushbikes; emergency services vehicles; road signs and their instructions (including temporary street furniture such as traffic cones); and road markings and their instructions. The locations of the objects may be determined, for example using range detection means <NUM>. Which lane the objects are in may be determined. A relative speed between the host vehicle <NUM> and an object may be determined, which may indicate whether a separation (also referred to as headway, inter-vehicular distance, following distance) from the object is increasing or decreasing and at what rate. The movement of the objects may be tracked using optical flow analysis for example.

The sensing means collectively provide a field of view around the host vehicle <NUM>. The field of view may extend <NUM> degrees horizontally around the host vehicle <NUM> or less. The collective field of view also extends vertically by any appropriate amount. The individual sensor units may be located at the front, rear and/or sides of the host vehicle <NUM>. Sensor units may be located at corners of the host vehicle <NUM>. Sensor units may be located on wing mirrors of the host vehicle <NUM>. Some sensor units may be located high on the host vehicle <NUM>, such as above the waist of the host vehicle <NUM>. Some sensor units may be at bumper height or lower.

The input devices may communicate with the control system <NUM> using any appropriate electronic communication network. Similarly, the actuators may be configured for drive-by-wire operation, therefore communication between the control system <NUM> and the actuators may also be via any appropriate electronic communication network. Redundancy may be provided by implementing multiple communication networks and/or backup controllers in the control system <NUM> and/or backup power supplies coupled to independent power sources (e.g. batteries). Example communication networks include a Controller Area Network (CAN), an Ethernet network, a Local Interconnect Network, a FlexRay(TM) network or the like.

The system <NUM> may comprise a telematics unit <NUM>. The telematics unit <NUM> may comprise one or more controllers. The telematics unit <NUM> may be a telematics control unit (TCU). The illustrated TCU does not form part of the control system <NUM> but it may do in other examples. The TCU may be configured at least to function as a vehicle software update client. The TCU may comprise an antenna arrangement. The antenna arrangement may be configured as a receiver, a transmitter or as a transceiver. This enables software updates to be obtained from a remote (offboard) information source <NUM> such as a server, another vehicle according to a vehicle-to-vehicle (V2V) communication model, or external infrastructure according to a vehicle-to-infrastructure (V2I) communication model.

The TCU may be configured to download software-over-the-air (SOTA) updates for installation in the host vehicle <NUM>. Software components for SOTA updates could include at least one of: executable code, configuration data, graphics, map data, dynamic data such as dynamic map data and dynamic traffic data and weather data, audio calibration, multimedia, and firmware.

SOTA updates are received via a wireless communication network, such as a cellular network. The host vehicle <NUM> may subscribe to a cellular network service. The TCU may comprise a subscriber identity such as an international mobile subscriber identity (IMSI) number, to facilitate access to the cellular network. A subscriber identity module (SIM) may be installed in the host vehicle <NUM> to enable the TCU to access the IMSI and therefore the cellular network. An operator of the cellular network may associate the IMSI with a customer account and bill the customer for data usage and/or access to the cellular network. Additionally or alternatively, the TCU may comprise means to access a short-range communication network such as a wireless local area network or a wireless personal area network. The TCU may comprise means, such as a universal serial bus interface, for wired communication with the remote information source <NUM>.

Advantageously, SOTA functionality enables the dynamic data to be downloaded while the host vehicle <NUM> is undergoing a journey. This enables substantially live updates. The telematics unit <NUM> may be configured to schedule the SOTA downloads from the remote information source <NUM> according to push or pull methods. Client-server, V2V and/or V2I communication models could be used. The telematics unit <NUM> may be configured to perform the downloads periodically at a predetermined interval which may depend on the download payload. For instance, the interval for downloading dynamic traffic data may range from the order of minutes to the order of hours. The interval for downloading dynamic map data may range from the order of minutes to the order of months. The interval for downloading non-dynamic data may range from the order of months to the order of years, or it may need to be manually updated at a dealership.

Dynamic traffic data as described above may be obtained via a SOTA update and/or a service provider application programming interface. Dynamic traffic data comprises substantially live information on traffic conditions. For example, the dynamic traffic data may indicate slow moving or stopped traffic. The dynamic traffic data may be associated with one or more metrics associated with traffic density, flow rate, speed, inter-vehicular distance, or journey time. The metrics may indicate a current condition, a change, or an expected condition. The metrics may be associated with particular locations and/or with particular times. Falling speeds/flow rates/inter-vehicular distances and rising densities/journey times are indicators of traffic conditions.

The dynamic traffic data enables a traffic condition to be determined. The traffic condition could be determined by comparing a current condition with a change or expected condition. A traffic condition could be determined when at least one threshold is passed such as an absolute or relative threshold. The relative threshold could be a statistical significance threshold, for example.

The dynamic traffic data may have sufficient resolution, granularity and/or detail to enable the traffic condition to be associated with a specific lane of a highway, from a plurality of lanes for travel in a same direction. This enables certain lanes to be avoided before a traffic queue is reached.

Dynamic map data as described above may comprise information that enables map data stored onboard the host vehicle <NUM> to be supplemented. The map data may be used by the control system <NUM> and/or a navigation subsystem of the host vehicle <NUM> for route planning. Map data indicates at least roads and junctions. Locations may be indicated by map data via global position coordinates. The navigation subsystem may be configured to receive user navigation inputs defining navigation constraints. Navigation constraints may comprise one or more of a destination, a waypoint, a navigation route or acceptable routes, an avoidance setting (e.g. avoidance of toll roads), a target to be reduced/minimised such as minimum distance or minimum travel time, or a target to be achieved such as a time of departure or arrival. Once a navigation route has been selected, the selected navigation route may impose navigation constraints on the autonomous mode, to enable autonomous navigation.

The dynamic map data and dynamic traffic data may be compatible with said map data. Dynamic map data may comprise indications of at least one of the following conditions: traffic conditions such as roadworks and/or lane closures; speed limit changes such as variable speed limit changes imposed by permanent variable speed limit systems; weather conditions; or road surface conditions. Examples of roadworks include road closures, lane closures and traffic diversion routes. Examples of lane closures include blocked lanes, whether caused by roadworks, broken down vehicles or other causes. Examples of road surface conditions include potholes, loose or broken surface material, low friction hazards (e.g. ice or spilled liquids), or objects in the road (e.g. lost cargo). The indications may specify one or more locations such as where the condition starts and/or ends. The indications may specify which lane or lanes the condition applies to. The indications enable certain lanes or roads to be avoided before a traffic queue is reached. The above indications may be available by analysis of data from the sensing means, however for a much shorter range. Indications from multiple sources, such as the dynamic map data and the sensing means, may be combined to improve certainty.

The map data, dynamic map data and/or dynamic traffic data may comprise a fine level of granularity. For example, the individual lanes for travel in a same direction on a highway may be distinguishable. The map data and/or dynamic map data may comprise a high level of detail. For example, indications of road markings and/or road sign (traffic sign) information may be distinguishable from the data. Distinguishable road markings may comprise indications of lane boundaries. Distinguishable lane boundaries may be indicated by lane boundary markings in the data or may be indirectly indicated by lane centre position information in the data. The map data and/or dynamic map data may be of any suitable format that enables an identification of an instruction regarding a lane, a junction, a right of way (priority) or caution.

The control system <NUM> may further be configured to determine a highway law applicable to the host vehicle's current location and/or to a planned location or route of the host vehicle <NUM>. The control system <NUM> may be configured to apply information associated with the applicable highway law to correctly identify instructions from the map data and/or dynamic map data. For example, if a planned route is in the United Kingdom the control system <NUM> may be configured to recognize road markings or traffic (road) sign information in a manner that corresponds to the requirements of the Highway Code. This is advantageous because the same road markings or signs can have different legal meanings in different highway jurisdictions.

The additional detail from the map data and/or dynamic map data may enable not only improved route planning by a navigation subsystem, but also improved path planning for the autonomous mode. For example, the control system <NUM> may process the map data and/or dynamic map data to determine which lanes the host vehicle <NUM> will travel on at which points on a journey. The control system <NUM> may further determine when lane changes may need to occur as directed by road signs or other information from the data. Certain lanes can be avoided or moved out of before a traffic queue is reached. Further, the dynamic data may define a second sensing range of machine vision, farther than the first sensing range. For example, the dynamic data may at least cover an entire route planned by the navigation subsystem and may cover one or more alternative routes in case of a later route recalculation. This enables certain lanes or roads to be avoided. The dynamic data may cover a regional, national or even international area. However, a greater coverage area may adversely affect a time taken to download updated dynamic data.

The input devices may define one or more sensing modes for detecting objects or contexts such as road markings, road signs or traffic conditions, etc. The map data/dynamic data may define a further sensing mode for detecting at least some of the same objects or contexts. Therefore, some objects and contexts can be determined from plural modes of information. The control system <NUM> may be configured to aggregate the multi-modal information and process the aggregated data to increase a confidence score of at least one property of the object or context. The property may relate to a presence or absence of the object or context, its location, its size, or anything else useful for autonomous mode driving. This advantageously enables a realistic indication of a driving context within at least the first sensing range. A required manoeuvre may only be performed if the confidence score is above a threshold.

A decision to perform a manoeuvre may be made on the basis of information from a longer-range low-trust sensing mode such as map data and/or dynamic data, but it may be required that the information leading to the decision is subsequently verified using a shorter-range high-trust sensing mode such as the sensing means, for the manoeuvre to be performed. For example, information from the sensing means may be used to verify that information from the map data/dynamic data is accurate, before one or more planned manoeuvres are performed. The longer-range low-trust sensing mode may correspond to map data and/or dynamic data. The shorter-range high-trust sensing mode may correspond to one or more of the above-described sensing means.

Other dynamic data that may be obtainable by the control system <NUM>, e.g. via the TCU, may include dynamic traffic data indicative of an emergency services vehicle location. The dynamic traffic data may indicate if an emergency services vehicle is approaching. This provides advance warning for the host vehicle <NUM> to manoeuvre out of a position in which it would obstruct the emergency services vehicle. The data may be received from client-server, V2V and/or V2I communication.

The host vehicle <NUM> may additionally comprise at least one human-machine interface (HMI) (not shown), facilitating access to one or more of the functions of the control system <NUM> described herein, and/or for presenting one or more outputs of the control system <NUM> described herein to the occupant (e.g. driver). The presentation may use visual means, audio means or any other appropriate means. User inputs to the HMI may be via touch, gesture or sound-based commands, or any other appropriate means. The HMI may comprise one or more of an output HMI, an input HMI, or an input-output HMI. Examples of output HMI in a vehicle include a centre console display, an instrument cluster display, audio speakers, a head-up display, a rear seat occupant display, a haptic feedback device, or the like. Examples of input HMI include touchscreens, manual actuators such as buttons and switchgear, and sensors for speech command recognition or non-touch gesture recognition. The input HMI may be close to a driver's seat. Advantageously, some input HMI may be located on the steering wheel.

A handover process may be implemented for initiating the autonomous mode, which will now be described. The control system <NUM> may be configured to receive at least one signal indicative of a suitability of initiation of the autonomous mode. The received signal may be indicative of a vehicle characteristic. The received signal may be indicative of a user characteristic. The received signal may be indicative of an environment characteristic. The received signal may be from the sensing means, or from another part of the control system <NUM> such as an algorithm that processes the map data and/or dynamic data.

The control system <NUM> may be configured to cause output of an availability signal indicative of an availability of the autonomous mode in dependence on the received signal, for example for presentation to the occupant via an HMI. If no availability signal is output, the host vehicle <NUM> is not operable to enter the autonomous mode. The control system <NUM> may be configured to determine whether to transmit the availability signal in dependence on at least one of the vehicle characteristic, the user characteristic, or the environment characteristic. One or more criteria associated with one or more of the characteristics may need to be satisfied, for the availability signal to be transmitted. An indication of the availability signal may be continuously presented to the occupant until at least one of the criteria is no longer satisfied. The availability signal may be continuously presented to the occupant until a user input is received in response to the availability signal. Examples of the user input and examples of the criteria are defined below.

The control system <NUM> may be configured to receive the user input in the form of a user activation signal indicative of the occupant's request to initiate the autonomous mode in response to the availability signal. The user input may be made via HMI. The user activation signal may be received during driving of the host vehicle <NUM>, in other words while the host vehicle <NUM> is in a travelable state. For example, the host vehicle <NUM> may be in the non-autonomous mode. The control system <NUM> may be configured to output a driving mode signal to cause the host vehicle <NUM> to initiate the autonomous mode in response to the user activation signal. Initiating the autonomous mode may comprise a transition phase during which control of vehicle movement is transitioned away from the occupant to the control system <NUM>. A duration of the transition phase may be dependent on one or more of the vehicle characteristic, the user characteristic or the environment characteristic to ensure a smooth transition.

The environment characteristic may be indicative of an environment external to the host vehicle <NUM> and in the vicinity of the host vehicle <NUM>. The environment may be a driving environment. The driving environment may be a current driving environment while the host vehicle <NUM> is being driven. The driving environment may be indicative of a type of road on which the host vehicle <NUM> is driving. Optionally, the control system <NUM> may be configured not to transmit the availability signal unless at least the environment characteristic satisfies a road type criterion. The environment characteristic may be indicative of other environments too.

The road type criterion may be satisfied if the environment characteristic is indicative that the host vehicle <NUM> is travelling on a required type of road. The required type may be a motorway. Articles <NUM>(j) and <NUM> of the Vienna convention on road traffic define the term motorway. A motorway may be referred to as a freeway or highway in some countries. The term 'highway' is used in this document. For those countries which have not ratified the above convention, their highways are defined herein as those which possess many or all of the following characteristics of a highway:.

The road type criterion may not be satisfied if the road is of another type and/or does not possess all or at least certain ones of the above characteristics. For example, some roads are main roads that possess many of the above characteristics but allow pedestrians and non-motorized vehicles to use the roads. The availability signal may not be transmitted for such roads.

In other examples, the required type of road may be another type of road rather than a highway, or the requirement may merely be that the host vehicle <NUM> is not on a certain type of road such as a minor or urban road. Optionally, the road may be required to possess multiple lanes in a direction of travel of the host vehicle <NUM> to satisfy the road type criterion. In other examples, there may be no road type criterion for entering the autonomous mode.

The driving environment such as the type of road may be determined directly from metadata in the map data. The metadata may be indicative that the road is a highway. Alternatively, the required type may be determined indirectly from indications that the road possesses one or more of the above characteristics. Indications of the above characteristics may be determined by recognition of relevant road signs or road markings conveying these requirements, or by recognition of infrastructure such as a dividing strip. This may be detected by the sensing means and recognized by an object classification algorithm or determined from the map data or dynamic map data.

The environment characteristic may be indicative of a current weather condition in the vicinity of the host vehicle <NUM> or an upcoming weather condition to be encountered by the host vehicle <NUM>. Information indicative of a weather condition may be indicative of rain falling on the host vehicle <NUM>. The information may be indicative of the presence of snow or ice on the ground. The information may be indicative of at least one of a temperature, a humidity, a wind speed, a visibility, atmospheric pressure, precipitation. The control system <NUM> may be configured to not output the availability signal unless at least one weather criterion is satisfied. weather criterion may be satisfied if an indicated weather condition is a predetermined acceptable weather condition or is not a predetermined unacceptable weather condition. A weather criterion may be satisfied if an indicated temperature is within a predetermined acceptable temperature range. A weather criterion may be satisfied if an indicated humidity is within a predetermined acceptable humidity range. A weather criterion may be satisfied if an indicated atmospheric pressure is within a predetermined acceptable pressure range. The weather condition may be determined from a sensor on the host vehicle <NUM> or from information downloaded from an offboard weather service.

The user characteristic may be indicative of a current user characteristic of the occupant of the host vehicle <NUM> while the host vehicle <NUM> is being driven by the occupant. The user characteristic may be indicative of an awareness of the occupant of the vehicle. Information indicative of the awareness of the occupant may be obtained from one or more user sensors (not shown). The one or more user sensors may comprise at least one of a camera <NUM> and a physiological sensor to capture data indicative of the awareness of the occupant. The control system <NUM> may be configured not to output the availability signal unless at least one awareness criterion is satisfied. The occupant's awareness may need to be above a predetermined awareness threshold to satisfy the awareness criterion. In an implementation, the awareness may be quantified by numerical indicators such as a frequency or length of time for which the occupant's gaze has not been within a predefined area associated with driving, a blink rate, a head pose angle, or the like. In other words, the autonomous mode may be unavailable to the occupant of the host vehicle <NUM> if the occupant is not sufficiently aware to be able to resume control of the host vehicle <NUM> from the autonomous mode if required. In some examples, the occupant characteristic may relate to a physiological state. To satisfy a physiological criterion for the availability signal, quantifiable indicators such as heart rate or brain activity may be detected using one or more biometric sensors.

The user characteristic may be indicative of a separation of at least a part of the occupant from one or more controls of the host vehicle <NUM>. For example, the user characteristic may be indicative of whether one or more hands of the occupant are on the steering wheel. The availability signal may be determined not to be output unless at least a non-separation criterion is satisfied. The non-separation criterion may be satisfied if one or more hands of the occupant are on the steering wheel.

The vehicle characteristic may be indicative of a current vehicle characteristic of the host vehicle <NUM> while the host vehicle <NUM> is being driven. The vehicle characteristic may be indicative of a current speed of the host vehicle <NUM>. Information indicative of the current speed could be obtained from a speed sensor (not shown). The availability signal may be determined not to be output unless at least a speed criterion is satisfied. The speed criterion may be satisfied if an indicated current speed of the host vehicle <NUM> is within a predetermined acceptable speed range, such as less than an upper limit of about <NUM> kilometres per hour. Other vehicle characteristics may be checked too such that the availability signal is determined not to be output in one or more of the following situations: a tyre pressure is outside a predetermined acceptable range; an oil level is below a predetermined threshold; a fuel level is below a predetermined threshold; the host vehicle <NUM> is towing; a loaded weight of the host vehicle <NUM> exceeds a predetermined threshold; or a state of health of one or more components of the host vehicle <NUM>, e.g. a traction battery, is outside a predetermined acceptable state of health.

The vehicle characteristic may be indicative of a detection range of one or more of the sensing means. The detection range may be less than the first sensing range in certain conditions, particularly weather conditions such as fog. The availability signal may be determined not to be output unless at least a detection range criterion is satisfied. The detection range criterion may be satisfied if the received signal is indicative that the detection range of the one or more sensing means is greater than a predetermined range threshold. The autonomous mode may be unavailable to the occupant of the host vehicle <NUM> if the detection range of the one or more sensors does not meet the predetermined range threshold.

Once the transition phase is entered, control of the host vehicle <NUM> moves away from the occupant and to the control system <NUM> of the host vehicle <NUM>. The transition phase may comprise modifying a vehicle movement in preparation for the end of the transition phase. For example, a steering of the host vehicle <NUM> may be controlled autonomously during the transition phase to substantially centre the host vehicle <NUM> within a lane of the road. A braking torque of the host vehicle <NUM> may be controlled autonomously during the transition phase to control a distance of the host vehicle <NUM> from a further vehicle ahead of the host vehicle <NUM> along a road. During the transition phase, the host vehicle <NUM> may also continue to respond to manual control inputs from the occupant. As the transition phase progresses, the host vehicle <NUM> may become less responsive to user control until the host vehicle <NUM> is controlled fully autonomously in the autonomous mode. The occupant is informed of progress through the transition phase by the transition signal described hereinbefore.

Once the transition phase is complete, the control system <NUM> controls the host vehicle <NUM> in the autonomous mode. SAE International's J3016 defines six levels of driving automation for on-road vehicles. The term autonomous mode as used herein will be understood to cover any of the SAE levels three or higher, such that the control system <NUM> will control all aspects of the dynamic driving task. At levels four or five, one or more aspects of one or more of the handover processes described herein for transitioning to and/or from the autonomous mode may not be implemented.

Driver-assistance functions such as cruise control, adaptive cruise control,a lane change assistance function, or a lane keeping function, are at a lower level of autonomy than the autonomous mode.

In the autonomous mode the occupant may not be required to keep one or more hands on the steering wheel, so a monitoring step requiring the occupant to keep one or more hands on the steering wheel may be omitted. In other implementations, the autonomous mode may require the monitoring step. Whether the hand(s) are on the steering wheel may be determined using any appropriate sensing means such as a touch sensor or camera or steering wheel torque/angle sensor. The monitoring may be performed periodically or continuously. If the hands are not on the steering wheel, one or more prompts may be issued.

The host vehicle <NUM> may comprise a driver distraction function. One or more distraction criteria associated with the driver distraction function may be inhibited upon entering the autonomous mode. For example, in the non-autonomous mode the driver distraction function may alert the occupant when their gaze points outside a predetermined area such as the windscreen. The alert may be transmitted when the gaze is outside the predetermined area for a threshold duration and/or frequency. In the autonomous mode the driver distraction function may be disabled or the predetermined thresholds may be modified to become more permissive.

While the host vehicle <NUM> is in the autonomous mode, one or more algorithms are implemented for controlling speed and/or direction of the host vehicle <NUM>. The control system <NUM> transmits the output signals to the actuators in dependence on the algorithms. The algorithms may comprise at least some of: a lane centring algorithm; a lane change algorithm; a path planning algorithm; a speed control algorithm; a machine learning algorithm. The algorithms may be context-aware. The algorithms may process information from one or more of the sensing means; map data; dynamic data; and navigation constraints. For example, the algorithms may be traffic-aware from the dynamic traffic data. The algorithms may interoperate with each other to determine the output signals. The algorithms may plan variations of the output signals over a future period of driving.

Algorithms for autonomous driving are known and include regression algorithms, classification algorithms, clustering, and decision matrix algorithms. Cost or loss functions may be employed to find optimal paths and speeds and minimize risk to humans.

The lane centring algorithm is for keeping the host vehicle <NUM> within a predetermined lateral position (target lane position) within lane lateral edges (lane boundaries). The lane boundaries may be identified by specific road markings under the relevant highway law. If road markings are not visible, for instance due to faded paint, a putative lane and/or its boundaries may be identified based on detection of a traffic corridor of other road users driving in a detected consistent manner, e.g. in lines.

The lane position may be off-centre on occasion, dependent on detected characteristics such as environment characteristics, e.g. other road users or infrastructure proximal to a lane boundary. This provides a reassuring separation between the host vehicle <NUM> and lateral objects. A minimum separation from one or both lane boundaries may be maintained. The minimum separation may be around <NUM> to <NUM> metres from the nearside boundary, optionally <NUM> metres.

The lane change algorithm may be for keeping the host vehicle <NUM> within a nearside lane if required by applicable highway law. The lane change algorithm may enable the host vehicle <NUM> to manoeuvre from a first lane to a second lane to avoid detected traffic. The lane change algorithm may enable the host vehicle <NUM> to implement a vehicle overtaking function to overtake another road user. The lane change algorithm may enable the host vehicle <NUM> to change lanes to follow a navigation route. A turn signal/indicator of the host vehicle <NUM> may be flashed automatically just before the lane change is performed.

Keeping the host vehicle <NUM> within a nearside lane may be the responsibility of a nearside bias function of the lane change algorithm. The nearside bias function may require a nearside lane to be selected in normal driving conditions. The nearside bias function may comprise one or more parameters that define constraints to be met. The constraints may be for lane hogging avoidance. An example constraint may be to delay changing lane from a nearside lane to an offside lane to overtake other road users until the overtake can be performed within a threshold time. A related constraint may be to change lane from the offside lane back to the nearside lane following an overtake as soon as possible. The threshold time may be the time spent outside the nearside lane without overtaking another road user in the nearside lane. The threshold may depend on applicable highway law but tends to be of the order of tens of seconds rather than minutes.

Whether a lane change is performed may depend on a space availability signal indicative of a presence of a space in front of or behind another road user of a size sufficient to accommodate the host vehicle <NUM>, should the host vehicle <NUM> need to change lanes to occupy that space. The space availability signal may be determined in dependence on inputs from the sensing means. The space availability signal may affect where, when and/or how fast a manoeuvre is performed. For example, the space availability signal may be used by the speed control algorithm when the lane change algorithm determines a requirement for a lane change. The space may be in a target lane for the lane change. The space may be between a lead (downstream) other road user and a rear (upstream) other road user. The space may be a current or expected space. The control system <NUM> may be configured to determine if the expected space will have a size sufficient to accommodate the host vehicle <NUM> at a predetermined time in the future. Determination of the expected space may depend on a detected indication of a relative speed of the other road user or users. The speed may be controlled in dependence on the space availability signal, for example to ensure that the space in front of and behind the host vehicle <NUM> is of a sufficient, e.g. above-threshold, detected size. The threshold size is an example of a manoeuvring constraint to be satisfied before the manoeuvre can be performed. The threshold may depend on the speed of the host vehicle <NUM>. The speed of the host vehicle <NUM> may be controlled before the lane change. The speed may be controlled to be close to a speed of a lead other road user, a speed of a rear other road user, or between both.

The path planning algorithm may be for planning a specific path to be followed. Planning the path comprises determining one or more manoeuvre requirements indicative of required manoeuvres of the host vehicle <NUM>. A manoeuvre is defined herein as a change of speed or course. Changing course may be performed using the steering control actuator.

Absent of navigation constraints, the path may follow the highway as far as possible. With navigation constraints, the path may follow those portions of the navigation route during which the autonomous mode is on or available. The path may extend beyond the first sensing range. The portion of the path within the first sensing range may be optimised. Examples of optimisations include reducing/minimizing targets such as derivatives of velocity (acceleration, jerk) when steering the host vehicle <NUM>. Cost functions or the like may be used to perform optimisations.

The speed control algorithm is for planning a required speed of the host vehicle <NUM> to be followed using the torque control actuators. The speed control algorithm may enable functions such as adaptive cruise control, overtaking speed boost, and lane changes. The speed control algorithm may also be for complying with a speed limit detected using road sign recognition or map data. The speed may be controlled in advance of traffic conditions beyond the first sensing range, indicated for example by the dynamic data. The speed control algorithm may determine a speed to maintain a required separation from a lead object and/or rear road user, i.e. a required headway, in accordance with adaptive cruise control methodologies.

The machine learning algorithm is for controlling one or more parameters of one or more of the other algorithms, in dependence on information indicative of past use of the host vehicle <NUM>. The information may be indicative of past use of the host vehicle <NUM> in the autonomous mode and/or the non-autonomous mode. The information may be indicative of inputs such as steering inputs, acceleration inputs and braking inputs. The information may be indicative of environment characteristics. The information may be associated with information from the sensing means. The information may be associated with traffic conditions, road works or the like. The information may be indicative of locations of the past use. The information may be indicative of a temporal pattern of use of the host vehicle <NUM>. For example, the times of the past use may have been recorded. The temporal pattern may enable locations visited at a recurring time and/or day and/or date to be established, such as a workplace. The information may be used for training of the machine learning algorithm. Machine learning enables an optimization of vehicle behavior for repeated journeys. Further, at least some of the parameters may be user-settable using HMI according to preference.

Whether a manoeuvre is performed may be subject to one or more manoeuvring constraints. If a manoeuvring constraint cannot be satisfied, the path planning algorithm may need to modify the manoeuvre or an abort condition for aborting the manoeuvre may even be satisfied. In an example, the abort condition may be satisfied when the cost of performing the manoeuvre is high. The abort condition may be satisfied when the cost of performing the manoeuvre is higher or a threshold amount higher than the cost of performing a different manoeuvre. If an abort condition is satisfied, the manoeuvre is not performed. The abort conditions may be checked just before performing the manoeuvre. An example check for satisfaction of the abort condition comprises continually detecting objects as described above. An object may render an intended manoeuvre or already planned path inappropriate. A static object obstructing the path may be such an object. Examples include roadworks or debris intersecting the path. Another road user, whether moving or not, may also render the manoeuvre or path inappropriate. The check may be dependent on an expected trajectory of the other road user relative to the planned path of the host vehicle <NUM>. If the other road user is predicted to need to change its speed and/or course as a result of the manoeuvre by the host vehicle <NUM>, the abort condition may be satisfied. The check may depend on detection of signals of intent from the other road users such as turn signals. If an abort condition is satisfied, the host vehicle <NUM> may remain in the autonomous mode and the speed and/or path may be re-planned accordingly.

In certain circumstances, the autonomous mode may need to hand control at least partially back to the occupant by switching to the non-autonomous mode. The non-autonomous mode may be entirely non-autonomous or may be less autonomous than the autonomous mode. The non-autonomous mode may require manual control or at least supervision by a human driver. The non-autonomous mode may comprise one or more driver assistance functions. For example, the non-autonomous mode may comprise at least one of the following functions: cruise control; adaptive cruise control; lane keeping assistance; braking assistance; overtaking assistance; parking assistance.

The control system <NUM> may be configured to receive at least one further signal indicative of a requirement to switch from the autonomous mode to the non-autonomous mode. The further signal may be indicative of a vehicle characteristic. The further signal may be indicative of a user characteristic. The further signal may be indicative of an environment characteristic. The further signal may be from the sensing means, or from another part of the control system <NUM> such as an algorithm that processes the map data and/or dynamic data.

The control system <NUM> may be configured to cause output of a user prompt signal in dependence on the further signal, for example if it is determined that a required highway exit junction approached by the host vehicle <NUM> is within a threshold driving time and/or distance. The user prompt signal may prompt the occupant to take an action to enable the host vehicle <NUM> to transition out of the autonomous mode. If the occupant takes the prompted action, the host vehicle <NUM> transitions out of the autonomous mode. If the occupant does not take the prompted action, the occupant may be determined to be non-responsive which is an internal hazard associated with the host vehicle <NUM>, therefore the control system <NUM> may determine a requirement to stop the host vehicle <NUM> and cause the host vehicle <NUM> to stop accordingly. In some examples, the requirement to stop may be determined before the user prompt signal is output, for example in dependence on a vehicle characteristic, user characteristic and/or environment characteristic. For example, a failure of a vehicle component may have occurred or the occupant may be unconscious.

The user prompt signal may be presented to the occupant via HMI. The control system <NUM> may be configured to receive a user readiness signal from the occupant in response to the user prompt signal. The user readiness signal may be transmitted in dependence on user actuation of HMI or a vehicle control such as the steering wheel. In one example, the HMI comprises a plurality of input HMIs on the steering wheel. The input HMI may comprise buttons or any other appropriate means. The input HMIs may be located at left and right sides of the steering wheel with reference to a centred steering wheel, i.e. no steering lock applied. The input HMIs may be located such that at least one digit of each the occupant's hands can remain at least partially hooked over the circumferential tube-like member of the steering wheel, at <NUM> o'clock and <NUM> o'clock or <NUM> o'clock and <NUM> o'clock positions, when the input HMIs are actuated by the occupant's hands. The input HMIs may need to be pressed concurrently and/or for a threshold duration.

Additionally or alternatively, the user readiness signal may be transmitted in dependence on user actuation of a vehicle control such as the steering wheel, accelerator pedal or brake pedal. For example, turning the steering wheel or depressing the pedal by more than a threshold amount causes the user readiness signal to be transmitted. In other examples, the HMI could take any other appropriate form.

The control system <NUM> may be configured to determine whether a user readiness signal has been received within a predetermined period of time from the user prompt signal. For example, the predetermined period of time may be from the range approximately <NUM> seconds to several minutes, depending on the required trade-off between user reaction time and maximum autonomous mode driving time. If the autonomous mode is for highway driving only, the predetermined period of time may be longer, in the order of minutes rather than seconds. For example, the predetermined period of time may be two or more minutes. The predetermined period of time may depend on the level of autonomy of the host vehicle <NUM>, and may be greater for level four than for level three. The predetermined period of time may vary in use in dependence upon the vehicle characteristic, the user characteristic and/or the environment characteristic. The predetermined period of time may be settable by the occupant although may not be below a minimum time. The control system <NUM> may be configured to output one or more reminder signals for presentation to the occupant via HMI, between transmitting the user prompt signal and receiving the user readiness signal. For example, the reminder signal may comprise at least one of an audible alert, a haptic alert, a visual alert. A characteristic of the reminder signals such as a frequency, volume, number of output HMIs employed, may vary for each subsequent reminder signal. In an implementation, the user prompt signal at <NUM> seconds causes an audible instruction, a first reminder signal at <NUM> seconds causes another audible instruction, and subsequent reminder signals at <NUM>, <NUM>, <NUM> seconds etc., each cause a combination of an audible instruction, and haptic pulses through the driver's seat and/or steering wheel.

The environment characteristic, vehicle characteristic and/or user characteristic may be as described above, wherein the user prompt signal is transmitted if one or more of the criteria described above are no longer satisfied. Additionally or alternatively, different environment characteristics, vehicle characteristics and/or user characteristics may be defined for the determination whether to transmit the user prompt signal.

Regarding the environment characteristic, the control system <NUM> may be configured to transmit the user prompt signal in response to a current or upcoming change of driving environment. The upcoming change may be within a threshold distance or driving time. The change may be caused by non-satisfaction of the road type criterion and/or weather criterion as described above. Additionally or alternatively the change may be caused by detection of one or more of: a traffic light on the road; a toll booth on the road; an off-ramp from the road for following a navigation route. The off-ramp may specifically be for leaving a highway onto a minor road, rather than for transitioning from one highway to another highway.

Regarding the user characteristic, the control system <NUM> may be configured to transmit the user prompt signal in response to a changed user characteristic. For example, the change may be caused by non-satisfaction of the awareness criterion and/or the physiological criterion. In an implementation, the user prompt signal may be transmitted if the occupant is drowsy or unconscious.

Regarding the vehicle characteristic, the control system <NUM> may be configured to transmit the user prompt signal in response to a changed vehicle characteristic. For example, the change may be caused by non-satisfaction of the detection range criterion or any other of the criterion or situations described earlier. Additionally or alternatively, the change may be caused by a determination of a fault with the host vehicle <NUM>, which is defined as a type of internal hazard associated with the host vehicle <NUM>. The fault may be caused by one or more of: power failure; communication failure; or sensing means failure. The power failure may comprise an electrical power failure such as a failure of the power supply and/or backup power supply. The power failure may comprise a mechanical power failure such as an inhibited availability of propulsive torque from the prime mover, which may be caused by the prime mover becoming inoperable or entering a limp home mode. The mechanical power failure may correspond to a failure of a drivetrain component such as the transmission or differential. The mechanical power failure may correspond to a failure of an actuator with a responsibility for the dynamic driving task in autonomous mode. The power failure may comprise failure of headlamps at night. The communication failure may comprise a failure of one or more of the electronic communication networks. The communication failure may comprise a failure of one or more controllers with a responsibility for the dynamic driving task in autonomous mode. The communication failure may comprise a failure of a domain controller. The sensing means failure may comprise a failure of one or more of the sensing means. The fault may trigger a determination that the host vehicle <NUM> is to stop. The user prompt signal may be transmitted to enable the occupant to control how the host vehicle <NUM> is stopped. The control system <NUM> may be configured to stop the host vehicle <NUM> without driver intervention.

Various methods will now be described for being performed during autonomous driving in the autonomous mode. At least some of the methods are in accordance with one or more aspects of the present invention. The control system <NUM> could be configured to implement one or more of the methods. Computer software could be configured to, when executed, perform one or more of the methods via the control system <NUM>.

With reference to <FIG> and <FIG>, there is provided a method <NUM>, <NUM> for controlling the host vehicle <NUM> operable in the autonomous mode (and, in some examples, operable in the non-autonomous mode), the method comprising: determining <NUM>, <NUM> a bifurcation of a first lane into a plurality of lanes; and causing <NUM>, <NUM> control of the speed and/or direction of the host vehicle <NUM> as the host vehicle <NUM> approaches the bifurcation, in dependence on the processing.

For context, an example of a bifurcation on a highway is a transformation from a first number of lanes to a second number of lanes. Usually, this is accompanied by a widening of the upstream lane(s). A road user approaching a bifurcation is given a choice of multiple lanes for continuing on the highway. The multiple lanes are for remaining on the highway (at least past a proximal junction) and are not marked as off-ramps.

Another example of a bifurcation occurs at a re-opening of a closed lane following a hazard or roadworks. Traffic in the nearest adjacent lane may have a choice between remaining in their current lane or moving over to the now-reopened lane without signalling. For off-highway implementations, bifurcations may occur on minor multi-lane roads, junction lanes, etc. For example, bifurcations may occur on roundabouts to enable choosing between spiralling out from a centre of the roundabout or continuing around the roundabout.

A road with a bifurcation comprises a pre-bifurcation region, a bifurcation region and a post-bifurcation region. The pre-bifurcation region comprises any number of lanes for travel in a first direction. <FIG> illustrates a first lane <NUM> in the pre-bifurcation region. The post-bifurcation region comprises a greater number of lanes than the pre-bifurcation region. <FIG> illustrates a plurality of lanes <NUM>, <NUM> in the post-bifurcation region. The plurality of lanes comprises a second lane <NUM> and a third lane <NUM>. The bifurcation is a region in which it is difficult for the path planning algorithm to guide the host vehicle <NUM>, due to an absence of lane boundaries and/or due to larger than expected lane widths.

The transition from the bifurcation region to the post-bifurcation region may be defined as a start location <NUM> of at least one of the plurality of lanes <NUM>, <NUM>. In <FIG> the start location <NUM> is denoted by a start of a road marking indicative of a lane boundary. The road marking indicative of a lane boundary is of the type that road users are forbidden to straddle. Therefore, manoeuvring should be completed upstream of the end of the bifurcation region, in other words before the host vehicle <NUM> reaches the end of the bifurcation region. Another example of a start location <NUM> is a location of a conversion from a first road marking that is not indicative of a lane boundary (e.g. short dashed line with a small segment-to-gap ratio) to a second road marking that is indicative of a lane boundary (e.g. long dashed line with a large segment-to-gap ratio). The first and second road markings may be colinear, the only difference therebetween being a characteristic such as segment length, gap length, segment-to-gap ratio, paint colour and/or line thickness. Whether a road marking is indicative of a lane boundary depends on applicable highway law which associates the characteristics with specific meanings such as lane boundaries. The control system <NUM> may be configured to associate a road marking having a predetermined characteristic or characteristics with a lane boundary.

The lane boundary in <FIG> is the shared right edge of the second lane <NUM> and the left edge of the third lane <NUM>. It would be appreciated that the lanes could be divided by other detectable means such as dividing strips or traffic barriers.

In some examples, the start location <NUM> may not be dependent on road markings. For example, the start location <NUM> could be defined as a location at which a closed lane reopens. This may be indicated by a road sign such as temporary road furniture such as a final traffic cone along a series of traffic cones, for example.

The bifurcation region extends upstream from the start location <NUM>. The bifurcation region represents a space within which road users are permitted to alter their lateral positions to enter their preferred post-bifurcation lane. The width of the space may increase and may become greater than the width of the first lane <NUM>, allowing a large amount of lateral movement. This may create a chance of overtaking or undertaking by other road users, particularly if the host vehicle <NUM> does not control its lateral position assertively in the manner of a human driver who knows where they are going.

The bifurcation region extends upstream from the start location <NUM> by a longitudinal distance D. D defines the length of the bifurcation region. The distance D may be sufficiently high for a given speed limit to enable road users to smoothly enter their preferred lanes without straddling post-bifurcation lane boundaries.

It may be unclear at what location the first lane <NUM> ends and the bifurcation region begins if there are no road markings or signs that would indicate such a transition. Therefore, the length of D may be a predetermined value associated with an assumed length of the bifurcation region. In other examples, D may be extend between the start location <NUM> and a known upstream reference location. D may be variable. D may depend on the specific bifurcation.

The start location and/or known upstream reference location may be indicated by map data/dynamic data. The known reference location may be a location at which the first lane <NUM> starts to widen, or some other indicator of the start of the bifurcation region. Other indicators include, for example, the location of a road sign or road marking warning drivers of the bifurcation and/or instructing them to get in lane.

In other examples, the start location <NUM> may be unknown and the known upstream reference location may be known. The parameter D may extend downstream from the upstream reference location. In a use case, the upstream reference location may correspond to a location at which a previously closed lane re-opens, as indicated by a last traffic cone or a road sign.

<FIG> illustrates a method <NUM>. The method <NUM> comprises at block <NUM> determining a bifurcation of a first lane <NUM> into a plurality of lanes. A bifurcation may be identifiable in various ways. For example, the bifurcation may be indicated by metadata in the map data or dynamic data. A bifurcation may be identifiable by analysing features in the map data such as lane boundaries. A bifurcation may be identifiable using the sensing means; however, the bifurcation would have to be in the first sensing range so there would not be much time to perform the method and optimise the host vehicle speed/position. A bifurcation may be distinguishable from the data associated with the machine learning algorithm. Off-ramps may be an ignored type of bifurcation.

The method comprises at block <NUM> causing control of the speed and/or direction of the host vehicle <NUM> as the host vehicle <NUM> approaches the bifurcation, in dependence on the determined bifurcation. The awareness of the bifurcation means that the speed/direction can be controlled smoothly to avoid lane straddling or snapping into a lane in the post-bifurcation region, unwanted oscillations in the bifurcation region, or an unnecessary transition to the non-autonomous mode. The control may be performed by one or more of the output signals described above.

<FIG> illustrates a method <NUM>. Block <NUM> is the same as block <NUM>. Block <NUM> is the same as block <NUM>. Blocks <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and <NUM> represent a bifurcation control strategy. The bifurcation control strategy may be for enabling a particularly smooth manoeuvre through the bifurcation region. The particular strategy of <FIG> calculates the trajectory of the host vehicle <NUM> from the first lane <NUM> to one of the plurality of lanes for continued travel on the highway. If the trajectory does not exceed a lateral acceleration or jerk limit, the lane is selected as a target lane. If it does, the next lane is selected and the limit is checked again.

At block <NUM>, the method <NUM> comprises selecting a target one of the plurality of lanes and planning a path to enter the target lane. That is, a single one of the plurality of lanes is selected as the target lane. The target lane may be selected from the map data. The target lane may be selected in dependence on a requirement to select a nearside available lane. The target lane may be selected by the nearside bias function. The requirement may be enforceable under applicable highway law. This prevents lane-hogging. In some examples, the target lane may be selected in dependence on a requirement to initially select a lane with the minimum lateral separation from the first lane <NUM>, i.e. the closest available lane.

The lane may be non-selectable if it is not legally available, for example if the lane is a carpool lane or a public-transport only lane. The target lane may be selected in dependence on a navigation constraint.

The navigation constraint may require the target lane to be available for continuing along a planned navigation route. In an implementation, the target lane may be a most nearside available lane that enables the host vehicle <NUM> to continue along a planned navigation route.

At block <NUM>, the method <NUM> comprises determining a longitudinal distance D to a start of at least one of the plurality of lanes. The at least one lane may be the target lane, at least to start with. The start location <NUM> and/or upstream reference location may be determined. The longitudinal distance D may be a fixed predetermined distance stored in the electronic memory device. For instance, D could be from approximately <NUM> to approximately <NUM> metres. In an implementation, D may be approximately <NUM> metres. The longitudinal distance D may be user-programmable. Alternatively, the longitudinal distance D may be dependent on the detected bifurcation. For example, the longitudinal distance D may be indicative of the distance from the known upstream reference location and the known start location <NUM> of the post-bifurcation region.

At block <NUM>, the method <NUM> comprises determining a lateral distance (Dn or Dn1 in <FIG>) from a lane position within the first lane <NUM> to a lane position within at least one of the plurality of lanes. The at least one lane may be the target lane. The lateral distance may be from a first target lane position between lateral edges of the first lane <NUM> to a second target lane position between lateral edges of the target lane. The first target lane position may be in the lane centre. The second target lane position may be in the lane centre. Or, one or both of them may be off-centre, but maintaining a required minimum separation from the lane boundaries. The control may be dependent on the determined lateral distance. The first and second target lane positions may be determined by the lane centring algorithm.

In an example implementation of block <NUM>, the lateral distance Dn is determined from known or assumed geometric information concerning the road. Lane widths Lw may be taken into account. Lane widths may be detected or predetermined values, such as from the range approximately <NUM> metres to approximately <NUM> metres. In some examples, the lane widths may all be assumed to be the same width for computational efficiency.

One way of calculating Dn involves first calculating an offset of the target lane compared to the first lane <NUM>. The offset could be calculated in various ways, for example using parameters. A first parameter may be a lateral separation of the first target lane position from a reference point. A second parameter may be a lateral separation of the second target lane position from the reference point. In some examples, determining the second parameter could involve adding a number of lane widths Lw corresponding to a lane number assigned to the target lane. For example, if the target lane is the fourth lane from the reference point, three lane widths Lw could be added and then half a lane width. To determine the lateral offset Dn required to enter the target lane, the difference between the first parameter and the second parameter may be determined.

At block <NUM>, the method comprises planning a curve-shaped path of the host vehicle <NUM> from the first lane <NUM> to the target lane, for the host vehicle <NUM> to follow. The path may be dependent on the longitudinal distance D and the lateral distance Dn.

An example path is shown in the top graph of <FIG>. A first end of the curve may be colinear with a lane position within the first lane <NUM> such as the first target lane position. A second end of the curve may be colinear with a lane position within one of the plurality of lanes such as the second target lane position.

In <FIG>, the y-axis distance from the first end to the second end of the curve may be Dn which may be a scalable value as described. The x-axis distance from the first end to the second end may be D which may be fixed or variable as described.

The curve between the first and second ends may be clothoidal or sigmoidal in shape. Other curves may be usable in some examples. The curve may be symmetrical in the manner of a normal cumulative distribution function (CDF). Alternatively, the curve may be skewed to achieve a specific rate of early or late steering or avoid anticipated obstructions such as a kerb when the road does not widen at a uniform rate.

The second, third and bottom graphs of <FIG> express the y-axis as lateral velocity, lateral acceleration and lateral jerk respectively. These are the first, second and third derivatives of lateral position with respect to longitudinal position. Notably, the path plan of <FIG> does not take into account vehicle speed. The lateral velocity, acceleration and jerk are with respect to longitudinal distance and therefore normalized by vehicle speed. In other examples, they may be with respect to time if expected vehicle speed is known and used in the calculation. Therefore, the lane selection at block <NUM> and block <NUM> could be dependent on expected vehicle speed. Dependence on vehicle speed may give more flexibility over lane selection in case vehicle speed is low, and less flexibility over lane selection in case vehicle speed is high.

It may be desirable to reduce lateral acceleration and/or jerk. Therefore, the method progresses to block <NUM> which checks one or more constraints associated with at least one of the above derivatives. In the specific example of block <NUM> as shown in <FIG>, the constraint is associated with lateral acceleration. Block <NUM> checks whether the maximum lateral acceleration of the host vehicle <NUM> is below a threshold. The constraint could be pre-determined or a variable. The constraint could be speed-dependent. The constraint could be user-selectable. The constraint could be location-dependent, i.e. fixed for different bifurcations. The threshold could be from the range approximately <NUM> to <NUM> (if speed is considered) or a normalised equivalent (if speed is not considered).

If the derivative is not within the constraint, the method may perform block <NUM> and then loop back to between blocks <NUM> and <NUM> or earlier. At block <NUM>, the method modifies at least one parameter that affects the derivative until the derivative is within the constraint. For example, the parameter may comprise lateral distance Dn, wherein Dn may be reduced. One way of reducing the lateral distance is to force the selection of another lane as the target lane, as shown in the illustrated example of block <NUM>. This reduces the rate of change of lateral position, which therefore reduces the peak lateral velocity and the peak lateral acceleration and jerk. Another way may be to control the first target lane position and second target lane position.

Additionally or alternatively, the parameter to be modified may comprise vehicle speed, wherein vehicle speed may be reduced. The vehicle speed may be reduced with or without modifying the lateral distance.

Once the derivative is within the constraint, the method continues to block <NUM> which is the same as block <NUM>. In some examples, the longitudinal distance D may be increased if legally permitted.

Many variations or adaptations to the method <NUM> of <FIG> are possible. For example, dynamic traffic data could affect lane selection. The constraint could be checked when approaching the bifurcation to see if a lower-than expected vehicle speed would enable a more nearside lane to be selected, than originally planned. The constraint could be omitted entirely. The criterion for selecting a lane may be different. For example, the initial target lane could be that which is laterally closest to the first lane <NUM> which may not be the most nearside lane.

For purposes of this disclosure, it is to be understood that the controller(s) <NUM> described herein can each comprise a control unit or computational device having one or more electronic processors <NUM>. A vehicle and/or a system thereof may comprise a single control unit or electronic controller or alternatively different functions of the controller(s) may be embodied in, or hosted in, different control units or controllers. A set of instructions <NUM> could be provided which, when executed, cause said controller(s) or control unit(s) to implement the control techniques described herein (including the described method(s)). The set of instructions may be embedded in one or more electronic processors, or alternatively, the set of instructions could be provided as software to be executed by one or more electronic processor(s). For example, a first controller may be implemented in software run on one or more electronic processors, and one or more other controllers may also be implemented in software run on or more electronic processors, optionally the same one or more processors as the first controller. It will be appreciated, however, that other arrangements are also useful, and therefore, the present disclosure is not intended to be limited to any particular arrangement. In any event, the set of instructions described above may be embedded in a computer-readable storage medium <NUM> (e.g., a non-transitory computer-readable storage medium) that may comprise any mechanism for storing information in a form readable by a machine or electronic processors/computational device, including, without limitation: a magnetic storage medium (e.g., floppy diskette); optical storage medium (e.g., CD-ROM); magneto optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM ad EEPROM); flash memory; or electrical or other types of medium for storing such information/instructions.

The term 'if' is used herein in relation to the concept of conditional performance of a function 'if' a condition is satisfied. The term 'if' in this context means that the function is capable of being performed if the condition is satisfied and is not capable of being performed if the condition is not satisfied. Additional conditions (not stated) may also need to be satisfied before the function is performed. Therefore, although it may be that the stated condition is the only condition for performing some functions, the 'if' terminology herein does not limit to such scenarios.

'Separation', 'distance' and 'position' as disclosed herein are not intended to be limited to absolute values of distance. The terms can be normalised by speed. For instance, a separation or distance may be two seconds (at <NUM> metres per second).

The blocks illustrated in the Figures may represent steps in a method and/or sections of code in the computer program <NUM>. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some steps to be omitted.

For the absence of doubt, the autonomous mode may be operable in non-highway roads.

Claim 1:
A control system (<NUM>) for a host vehicle (<NUM>) operable in an autonomous mode, the control system comprising one or more controllers (<NUM>), the control system configured to:
determine a bifurcation of a first lane (<NUM>) into a plurality of lanes (<NUM>, <NUM>); and
determine a longitudinal distance (D) to a start (<NUM>) of at least one of the plurality of lanes (<NUM>, <NUM>);
characterised in that the control system is configured to:
determine a lateral distance (Dn) from a lane position within the first lane (<NUM>) to a lane position within one of the plurality of lanes (<NUM>, <NUM>), wherein the lateral distance (Dn) is from a first target lane position between lateral edges of the first lane (<NUM>) to a second target lane position between lateral edges of the one of the plurality of lanes (<NUM>, <NUM>); and
cause control of the speed and/or direction of the host vehicle (<NUM>) as the host vehicle (<NUM>) approaches the bifurcation, in dependence on the determined bifurcation, wherein the control is dependent on the longitudinal distance (D) and the lateral distance (Dn).