Method and processor for controlling in-lane movement of autonomous vehicle

A method and a processor for controlling in-lane movement of a Self-Driving Vehicle (SDV) are provided. The method comprises: acquiring initial kinematic data associated with an obstacle; determining future kinematic data associated with the obstacle; acquiring initial kinematic data associated with the SDV; determining future kinematic data associated with the SDV which is indicative of at least two candidate future states of the SDV at a future moment in time; determining at least two candidate state-transition datasets for the SDV to transition from the initial state of the SDV to a respective one of the at least two candidate future states of the SDV using only in-lane movement; determining, by the electronic device, an energy efficiency score for a respective one of the at least two candidate state-transition datasets; determining a target state-transition dataset for the SDV based on respective energy efficiency scores.

The present application claims priority from Russian Patent Application No. 2019135571, entitled “Method and Processor for Controlling In-Lane Movement of Autonomous Vehicle,” filed on Nov. 6, 2019, the entirety of which is incorporated herein by reference.

FIELD OF TECHNOLOGY

The present technology relates to self-driving vehicles (SDVs) and, specifically, to method and processor for controlling in-lane movement of the SDV.

BACKGROUND

Several computer based navigation systems that are configured for aiding navigation and/or control of vehicle have been proposed and implemented in the prior art. These systems range from more basic map-aided localization based solutions—i.e. use of a computer system to assist a driver in navigating a route from a starting point to a destination point; to more complex ones—computer-assisted and/or driver-autonomous driving systems.

Some of these systems are implemented as what is commonly known as a “cruise control” system. Within these systems, the computer system boarded on the vehicles maintains a user-set speed of the vehicle. Some of the cruise control system implement an “intelligent distance control” system, whereby the user can set up a distance to a potential car in front (such as, select a value expressed in a number of vehicles) and the computer system adjusts the speed of the vehicle at least in part based on the vehicle approaching the potential vehicle in front within the pre-defined distance. Some of the cruise control systems are further equipped with collision control system, which systems upon detection of the vehicle (or other obstacles) in front of the moving vehicle, slow down or stop the vehicle.

Some of the more advanced system provide for a fully autonomous driving of the vehicle without direct control from the operator (i.e. the driver), so-called Self-Driving Vehicles (SDVs). A given SDV includes computer systems that can cause the SDV to accelerate, break, stop, change lane and self-park.

One of the technical challenges in implementing the above computer systems is planning an SDV trajectory with respect to an obstacle (another vehicle, for example) the SDV may face while driving. When the SDV is about to make a manoeuver (changing a lane, for example), the obstacle in one of the neighbouring lanes may pose a risk/danger to the SDV, which may require the computer systems to take corrective measures, be it breaking or otherwise active accelerating resulting in building the SDV trajectory in such a way that the SDV will finish the manoeuver safely, both to the SDV and the other road users.

More specifically, the challenge of planning the SDV trajectory comprises determining kinematic data associated with the SDV at an initial moment in time (the moment of beginning the manoeuver) and at a target moment in time (the moment for finishing the manoeuver) in such a way that the SDV would finish the manoeuvre safely with respect to at least one obstacle it may face while making the manoeuvre. Based on these data, the computer systems may then be configured to determine a more optimal solution to the trajectory planning in terms of safety code rules abidance, fuel consumption, and overall comfort of passengers of the SDV, to name a few.

The acuteness of this problem is illustrated by the following hypothetical scenario. Imagine that the SDV (or a partially-autonomous vehicle) is driving down a given road section. At some point, according to a predetermined route, the SDV needs to change a lane in a predetermined time interval (for example, to exit a highway). However, there is another vehicle driving down the lane, whereto the SDV is being directed. Accordingly, the SDV trajectory should be planned in such a way that the SDV would avoid a collision with the other vehicle.

There are several trajectory-determination methods known in the art.

U.S. Pat. No. 8,918,273-B2 granted on Dec. 23, 2014, assigned to Robert Bosch GmbH and entitled “Method for determining an evasion trajectory for a motor vehicle, and safety device or safety system” teaches a method for determination of an optimized evasion trajectory by a safety device or a safety system, in particular a lane change assistance system and/or evasion assistance system, of a motor vehicle, the optimized evasion trajectory being outputted to a vehicle driver, and/or a trajectory of the motor vehicle being optionally partially adapted to the optimized evasion trajectory, by way of the method, the optimized evasion trajectory being determined by optimization of a transverse-dynamic quality factor (J), for which a transverse acceleration (a) and/or a transverse jerk (a′) of the motor vehicle is/are utilized. Also described is a safety device or a safety system, in particular to a lane change assistance system and/or an evasion assistance system for a motor vehicle, a method being executable and/or being executed by the safety device or the safety system.

United States Patent Application Publication No. 2019/0,084,619-A1 published on Mar. 21, 2019, assigned to Subaru Corp. and entitled “Traveling control apparatus of vehicle” teaches a traveling control apparatus of vehicle includes a lane change controller, a position detector, and a lane detector. The lane change controller includes first and second course generators that respectively generate first and second courses as target courses of a vehicle in first and second lanes. The first and the second course generators respectively calculate first and second target movement amounts, in width directions of the first and the second lanes, of the vehicle when the vehicle is moved along the first and the second courses, and respectively generate the first and the second courses on a basis of the first and the second target movement amounts and first and second jerks. The first and the second jerks are each a rate of change of acceleration of the vehicle in the width direction of the first lane in the first course or the second lane in the second course.

U.S. Pat. No. 9,868,443-B2 granted on Jan. 16, 2018, assigned to GM Global Technology Operations LLC, and entitled “Reactive path planning for autonomous driving” teaches a method of adaptively re-generating a planned path for an autonomous driving manoeuvre. An object map is generated based on the sensed objects in a road of travel. A timer re-set and actuated. A planned path is generated for autonomously maneuvering the vehicle around the sensed objects. The vehicle is autonomously maneuvered along the planned path. The object map is updated based on sensed data from the vehicle-based devices. A safety check is performed for determining whether the planned path is feasible based on the updated object map. The planned path is re-generated in response to a determination that the existing path is infeasible, otherwise a determination is made as to whether the timer has expired. If the timer has not expired, then a safety check is re-performed; otherwise, a return is made to re-plan the path.

SUMMARY

It is an object of the present technology to ameliorate at least some of the inconveniences present in the prior art. Embodiments of the present technology may provide and/or broaden the scope of approaches to methods of achieving the aims and objects of the present technology.

Developers of the present technology have appreciated at least one technical problem associated with the prior art approaches.

For example, in order for the SDV to change the lane safely, the SDV has to consider kinematic data (such as velocity and acceleration) of the other vehicle to avoid collision therewith. In this respect, there are at least two options of planning the SDV trajectory: (1) changing the lane including passing the other vehicle, and (2) changing the lane without passing the other vehicles, i.e. letting the other vehicle pass first. One approach to selecting one option over the other could be based on efficiency of energy consumption by the SDV associated therewith.

The developers of the present technology have realized that overall in-lane jerks (a rate of change of acceleration of the SDV in a longitudinal direction with respect to the SDV trajectory) associated with each of the possible options of planning the trajectory of the SDV performing the manoeuvre may be representative of the efficiency of energy consumption by the SDV. For example, the developers have noted that an abrupt acceleration and/or deceleration require SDV to consume more energy compared to a mode of driving at a sufficiently constant acceleration/deceleration. Accordingly, the more abrupt acceleration/deceleration of the SDV during the manoeuver is, the more energy the SDV needs to finish the manoeuvre.

The developers of the present technology have also appreciated that in-lane jerks associated with each of the options for planning the trajectory of the SDV performing the manoeuvre may be indicative of smoothness of the SDV movement, which is a factor influencing the comfort of the passengers.

In contrast with some prior art approaches, the present technology is directed to calculating, for each of possible option for planning the SDV trajectory, a speed profile (a set of velocity and acceleration values within predetermined time intervals) minimizing the in-lane jerks associated therewith, and then, selecting the most jerk-efficient option for planning the SDV trajectory portion associated with an in-lane movement.

In accordance with a first broad aspect of the present technology, there is provided a method of controlling in-lane movement of a Self-Driving Vehicle (SDV). The SDV travels in-lane on a road section. The in-lane movement of the SDV is controlled for allowing the SDV to perform a future manoeuvre. The future manoeuvre is to be performed at a pre-determined future moment in time. The method is executable by an electronic device communicatively coupled to the SDV. The method comprises: acquiring, by the electronic device, initial kinematic data associated with an obstacle which is indicative of an initial state of the obstacle at an initial moment in time, the initial moment in time being earlier in time than the pre-determined future moment in time; determining, by the electronic device, future kinematic data associated with the obstacle which is indicative of a future state of the obstacle at the pre-determined future moment in time; acquiring, by the electronic device, initial kinematic data associated with the SDV which is indicative of an initial state of the SDV at the initial moment in time; determining, by the electronic device, future kinematic data associated with the SDV which is indicative of at least two candidate future states of the SDV at the pre-determined future moment in time, the at least two candidate future states of the SDV allowing the SDV to perform the future manoeuvre at the pre-determined future moment in time; determining, by the electronic device, at least two candidate state-transition datasets for the SDV to transition from the initial state of the SDV to a respective one of the at least two candidate future states of the SDV using in-lane movement; determining, by the electronic device, an energy efficiency score for a respective one of the at least two candidate state-transition datasets, a given energy efficiency score being indicative of how fuel-efficient the transition between the initial state and the respective candidate future state is; and triggering, by the electronic device, control of the in-lane movement of the SDV based on a target state-transition dataset amongst the at least two candidate state-transition datasets, the target state-transition dataset being a most fuel-efficient state-transition dataset amongst the at least two candidate state-transition datasets.

In some implementations of the method, the method further comprises comparing, by the server, the energy efficiency scores of the at least two candidate state-transition datasets for determining the target state-transition dataset.

In some implementations of the method, the method further comprises: determining, by the electronic device, a road-rule-abiding score for a respective one of the at least two candidate state-transition datasets. A given road-rule-abiding score is indicative of whether the transition between the initial state and the respective candidate future state abides by road rules of the road section. The target state-transition dataset is the most fuel-efficient state-transition dataset amongst the at least two candidate state-transition datasets that allows the SDV to abide by the road rules of the road section.

In some implementations of the method, the future manoeuvre is a lane-change from an initial lane in which the SDV is travelling at the initial moment time to another lane in which the obstacle is present at the initial moment in time.

In some implementations of the method, the obstacle is one of a moving obstacle and an immobile obstacle.

In some implementations of the method, the pre-determined future moment in time is a moment in time when the SDV is free of the obstacle.

In some implementations of the method, the moving obstacle is another vehicle.

In some implementations of the method, a given candidate state-transition dataset includes candidate kinematic data about the SDV at a plurality of intermediate moments in time between the initial moment in time and the future moment in time.

In some implementations of the method, the triggering control of the in-lane movement of the SDV based on a target state-transition dataset comprises: triggering, by the electronic device, control of at least one of in-lane acceleration and in-lane deceleration of the SDV, such that (i) actual kinematic data of the SDV at the plurality of intermediate moments in time matches (ii) target kinematic data from the target state-transition dataset at the plurality of intermediate moments in time.

In some implementations of the method, the determining the at least two candidate state-transition datasets is performed by an in-lane jerk minimization algorithm, and a given candidate state-transition dataset for the SDV defines a most jerk-efficient state-transition dataset for the SDV to transition from the initial state of the SDV to a respective candidate future state of the SDV using in-lane movement.

In some implementations of the method, in-lane movement is characterized by at least one of: an in-lane acceleration and an in-lane deceleration.

In some implementations of the method, the in-lane jerk minimization algorithm generates the at least two candidate state-transition datasets for the SDV, the at least two candidate state-transition datasets for the SDV being represented as speed profiles.

In some implementations of the method, the speed profiles are optimized to minimize the in-lane jerks.

In accordance with another broad aspect of the present technology, there is provided an electronic device. The electronic device comprises a processor; a communication interface for communicating with a sensor mounted on a Self-Driving Vehicle (SDV). The processor is configured to: acquire initial kinematic data associated with an obstacle which is indicative of an initial state of the obstacle at an initial moment in time, wherein the initial moment in time is earlier in time than the pre-determined future moment in time; determine future kinematic data associated with the obstacle which is indicative of a future state of the obstacle at the pre-determined future moment in time; acquire initial kinematic data associated with the SDV which is indicative of an initial state of the SDV at the initial moment in time; determine future kinematic data associated with the SDV which is indicative of at least two candidate future states of the SDV at the pre-determined future moment in time, the at least two candidate future states of the SDV allowing the SDV to perform the future manoeuvre at the pre-determined future moment in time; determine at least two candidate state-transition datasets for the SDV to transition from the initial state of the SDV to a respective one of the at least two candidate future states of the SDV using only in-lane movement; determine an energy efficiency score for a respective one of the at least two candidate state-transition datasets, a given energy efficiency score being indicative of how fuel-efficient the transition between the initial state and the respective candidate future state is; and trigger control of the in-lane movement of the SDV based on a target state-transition dataset amongst the at least two candidate state-transition datasets, the target state-transition dataset being a most fuel-efficient state-transition dataset amongst the at least two candidate state-transition datasets.

In some implementations of the electronic device, the processor is further configured to compare the energy efficiency scores of the at least two candidate state-transition datasets for determining the target state-transition dataset.

In some implementations of the electronic device, the processor is further configured to determine a road-rule-abiding score for a respective one of the at least two candidate state-transition datasets. A given road-rule-abiding score is indicative of whether the transition between the initial state and the respective candidate future state abides by road rules of the road section. The target state-transition dataset is the most fuel-efficient state-transition dataset amongst the at least two candidate state-transition datasets that allows the SDV to abide by the road rules of the road section.

In some implementations of the electronic device, the processor configured to trigger control of the in-lane movement of the SDV based on a target state-transition dataset is further configured to: trigger control of at least one of in-lane acceleration and in-lane deceleration of the SDV, such that (i) actual kinematic data of the SDV at the plurality of intermediate moments in time matches (ii) target kinematic data from the target state-transition dataset at the plurality of intermediate moments in time.

In some implementations of the electronic device, the processor configured to determine the at least two candidate state-transition datasets is further configured to perform an in-lane jerk minimization algorithm. A given candidate state-transition dataset for the SDV defines a most jerk-efficient state-transition dataset for the SDV to transition from the initial state of the SDV to a respective candidate future state of the SDV using only in-lane movement.

In some implementations of the electronic device, the processor, using the in-lane jerk minimization algorithm, is configured to generate the at least two candidate state-transition datasets for the SDV, the at least two candidate state-transition datasets for the SDV being represented as speed profiles.

In the context of the present specification, “electronic device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. In the context of the present specification, the term “electronic device” implies that a device can function as a server for other electronic devices and client devices, however it is not required to be the case with respect to the present technology. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smart phones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be understood that in the present context the fact that the device functions as an electronic device does not mean that it cannot function as a server for other electronic devices. The use of the expression “an electronic device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.

In the context of the present specification, “client device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. In the context of the present specification, in general the term “client device” is associated with a user of the client device. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smart phones, and tablets, as well as network equipment such as routers, switches, and gateways It should be noted that a device acting as a client device in the present context is not precluded from acting as a server to other client devices. The use of the expression “a client device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.

In the context of the present specification, the expression “software component” is meant to include software (appropriate to a particular hardware context) that is both necessary and sufficient to achieve the specific function(s) being referenced.

In the context of the present specification, the expression “computer information storage media” (also referred to as “storage media”) is intended to include media of any nature and kind whatsoever, including without limitation RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drivers, etc.), USB keys, solid state-drives, tape drives, etc. A plurality of components may be combined to form the computer information storage media, including two or more media components of a same type and/or two or more media components of different types.

DETAILED DESCRIPTION

Computer System

Referring initially toFIG.1, there is depicted a computer system100suitable for use with some implementations of the present technology, the computer system100comprising various hardware components including one or more single or multi-core processors collectively represented by processor110, a solid-state drive120, a memory130, which may be a random-access memory or any other type of memory. Communication between the various components of the computer system100may be enabled by one or more internal and/or external buses (not shown) (e.g. a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, etc.), to which the various hardware components are electronically coupled. According to embodiments of the present technology, the solid-state drive120stores program instructions suitable for being loaded into the memory130and executed by the processor110for determining a presence of an object. For example, the program instructions may be part of a vehicle control application executable by the processor110. It is noted that the computer system100may have additional and/or optional components, such as a network communication module140for communication, via a communication network (for example, a communication network240depicted inFIG.2) with other electronic devices and/or servers, localization modules (not depicted), and the like.

Networked Computer Environment

FIG.2illustrates a networked computer environment200suitable for use with some embodiments of the systems and/or methods of the present technology. The networked computer environment200comprises an electronic device210associated with a vehicle220, or associated with a user (not depicted) who can operate the vehicle220, a server235in communication with the electronic device210via the communication network240(e.g. the Internet or the like, as will be described in greater detail herein below). Optionally, the networked computer environment200can also include a GPS satellite (not depicted) transmitting and/or receiving a GPS signal to/from the electronic device210. It will be understood that the present technology is not limited to GPS and may employ a positioning technology other than GPS. It should be noted that the GPS satellite can be omitted altogether.

The vehicle220, with which the electronic device210is associated, may comprise any leisure or transportation vehicle such as a private or commercial car, truck, motorbike or the like. The vehicle may be user operated or a driver-less vehicle. It should be noted that specific parameters of the vehicle220are not limiting, these specific parameters including: vehicle manufacturer, vehicle model, vehicle year of manufacture, vehicle weight, vehicle dimensions, vehicle weight distribution, vehicle surface area, vehicle height, drive train type (e.g. 2× or 4×), tyre type, brake system, fuel system, mileage, vehicle identification number, and engine size.

The implementation of the electronic device210is not particularly limited, but as an example, the electronic device210may be implemented as a vehicle engine control unit, a vehicle CPU, a vehicle navigation device (e.g. TomTom™, Garmin™), a tablet, and a personal computer built into the vehicle220and the like. Thus, it should be noted that the electronic device210may or may not be permanently associated with the vehicle220. Additionally or alternatively, the electronic device210can be implemented in a wireless communication device such as a mobile telephone (e.g. a smart-phone or a radio-phone). In certain embodiments, the electronic device210has a display270.

The electronic device210may comprise some or all of the components of the computer system100depicted inFIG.1. In certain embodiments, the electronic device210is on-board computer device and comprises the processor110, solid-state drive120and the memory130. In other words, the electronic device210comprises hardware and/or software and/or firmware, or a combination thereof, for determining a trajectory of the vehicle220at a given road segment considering obstacles therein, as will be described in greater detail below.

Sensor System

In the non-limiting embodiments of the present technology, the electronic device210comprises or has access to a sensor system230. According to these embodiments, the sensor system230may comprise a plurality of sensors allowing for various implementations of the present technology. Examples of the plurality of sensors include but are not limited to: cameras, LIDAR sensors, and RADAR sensors, etc. The sensor system230is operatively coupled to the processor110for transmitting the so-captured information to the processor110for processing thereof, as will be described in greater detail herein below.

The sensor system230can be mounted on an interior, upper portion of a windshield of the vehicle220, but other locations are within the scope of the present disclosure, including on a back window, side windows, front hood, rooftop, front grill, or front bumper of the vehicle220. In some non-limiting embodiments of the present technology, the sensor system230can be mounted in a dedicated enclosure (not depicted) mounted on the top of the vehicle220.

Further, the spatial placement of the sensor system230can be designed taking into account the specific technical configuration thereof, configuration of the enclosure, weather conditions of the area where the vehicle220is to be used (such as frequent rain, snow, and other elements) or the like.

In the non-limiting embodiments of the present technology, the sensor system230may comprise a sensor configured to capture an image of a surrounding area250. In this regard the sensor system230may be a camera or a plurality thereof (not separately depicted).

How the camera is implemented is not particularly limited. For example, in one specific non-limiting embodiments of the present technology, the camera can be implemented as a mono camera with resolution sufficient to detect objects at pre-determined distances of up to about 30 m (although cameras with other resolutions and ranges are within the scope of the present disclosure).

In some embodiments of the present technology, the camera (or one or more cameras that make up the implementation of the sensor system230) is configured to capture a pre-determine portion of the surrounding area250around the vehicle220. In some embodiments of the present technology, the camera is configured to capture an image (or a series of images) that represent approximately 90 degrees of the surrounding area250around the vehicle220that are along a movement path of the vehicle220.

In other embodiments of the present technology, the camera is configured to capture an image (or a series of images) that represent approximately 180 degrees of the surrounding area250around the vehicle220that are along a movement path of the vehicle220. In yet additional embodiments of the present technology, the camera is configured to capture an image (or a series of images) that represent approximately 360 degrees of the surrounding area250around the vehicle220that are along a movement path of the vehicle220(in other words, the entirety of the surrounding area around the vehicle220).

In a specific non-limiting example, the camera can be of the type available from FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Richmond, BC, V6W 1K7, Canada. It should be expressly understood that the camera can be implemented in any other suitable equipment.

In the non-limiting embodiments of the present technology, the sensor system230may further comprise a LIDAR instrument (not separately depicted). Lidar stands for LIght Detection and Ranging. It is expected that a person skilled in the art will understand the functionality of the LIDAR instrument, but briefly speaking, a transmitter (not depicted) of the LIDAR sends out a laser pulse and the light particles (photons) are scattered back to a receiver (not depicted) of the LIDAR instrument. The photons that come back to the receiver are collected with a telescope and counted as a function of time. Using the speed of light (˜3×108 m/s), the processor110can then calculate how far the photons have travelled (in the round trip). Photons can be scattered back off of many different entities surrounding the vehicle220, such as other particles (aerosols or molecules) in the atmosphere, other cars, stationary objects or potential obstructions in front of the vehicle220.

In a specific non-limiting example, the LIDAR instrument comprised in the sensor system230can be implemented as the LIDAR based sensor that may be of the type available from Velodyne LiDAR, Inc. of 5521 Hellyer Avenue, San Jose, Calif. 95138, United States of America. It should be expressly understood that the LIDAR instrument can be implemented in any other suitable equipment.

In some embodiments of the present technology, the LIDAR instrument comprised in the sensor system230can be implemented as a plurality of LIDAR based sensors, such as three, for example, or any other suitable number.

In the non-limiting embodiments of the present technology, the sensor system230may further comprise a RAdio Detection And Ranging (RADAR) instrument (not separately depicted). Briefly speaking, the RADAR instrument is a detection instrument using radio waves to determine a range, angle and/or velocity of objects. The RADAR instrument includes a transmitter producing electromagnetic waves, an antenna used for transmitting and receiving electromagnetic waves, a receiver, and a processor to determine properties of the detected objects. In alternative embodiments of the present technology, there may be a separate antenna for receiving waves, and a separate antenna for transmitting waves. The processor used for determining properties of surrounding objects may be the processor110.

In some embodiments of then present technology, the RADAR instrument used in the sensor system230may comprise long-range, medium-range and short-range RADAR sensors. As a non-limiting example, the long-range RADAR sensor may be used for adaptive cruise control, automatic emergency braking, and forward collision warning, while the medium and short-range RADAR sensors may be used for park assist, cross-traffic alert, junction assist, and blind side detection.

In a specific non-limiting example, the RADAR instrument comprised in the sensor system230may be of the type available from Robert Bosch GmbH of Robert-Bosch-Platz 1, 70839 Gerlingen, Germany. It should be expressly understood that the RADAR instrument can be implemented in any other suitable equipment.

In some non-limiting embodiments of the present technology, the sensor system230may be used, by the processor110, for image calibration. For example, using an image captured by the camera and the LIDAR point cloud captured by the LIDAR instrument, the processor110is configured to identify a given region of the image to correspond to a given region of the LIDAR point cloud captured by the LIDAR instrument. In other embodiments of the present technology, the sensor system230are calibrated such that for the image captured by the camera, the LIDAR point cloud captured by the LIDAR instrument, and the RADAR data captured by the RADAR instrument, the processor110is configured to identify a given region of the image to correspond to a given region of the LIDAR point cloud and the RADAR data.

In the non-limiting embodiments of the present technology, the vehicle220further comprises or has access to other sensors (not separately depicted). The other sensors include one or more of: an inertial measurement unit (IMU), a Global Navigation Satellite System (GNSS) instrument, ground speed RADARs, ultrasonic SONAR sensors, odometry sensors including accelerometers and gyroscopes, mechanical tilt sensors, magnetic compass, and other sensors allowing operation of the vehicle220.

As a non-limiting example, the IMU may be fixed to the vehicle220and comprise three gyroscopes and three accelerometers for providing data on the rotational motion and linear motion of the vehicle220, which may be used to calculate motion and position of the vehicle220.

Communication Network

In some embodiments of the present technology, the communication network240is the Internet. In alternative non-limiting embodiments, the communication network240can be implemented as any suitable local area network (LAN), wide area network (WAN), a private communication network or the like. It should be expressly understood that implementations of the communication network240are for illustration purposes only. How a communication link (not separately numbered) between the electronic device210and the communication network240is implemented will depend inter alia on how the electronic device210is implemented. Merely as an example and not as a limitation, in those non-limiting embodiments of the present technology where the electronic device210is implemented as a wireless communication device such as a smartphone or a navigation device, the communication link can be implemented as a wireless communication link. Examples of wireless communication links include, but are not limited to, a 3G communication network link, a 4G communication network link, and the like. The communication network240may also use a wireless connection with a server235.

Server

In some embodiments of the present technology, the server235is implemented as a conventional computer server and may comprise some or all of the components of the computer system100ofFIG.1. In one non-limiting example, the server235is implemented as a Dell™ PowerEdge™ Server running the Microsoft™ Windows Server™ operating system, but can also be implemented in any other suitable hardware, software, and/or firmware, or a combination thereof. In the depicted non-limiting embodiments of the present technology, the server is a single server. In alternative non-limiting embodiments of the present technology (not shown), the functionality of the server235may be distributed and may be implemented via multiple servers.

In some non-limiting embodiments of the present technology, the processor110of the electronic device210can be in communication with the server235to receive one or more updates. The updates can be, but are not limited to, software updates, map updates, routes updates, weather updates, and the like. In some embodiments of the present technology, the processor110can also be configured to transmit to the server235certain operational data, such as routes travelled, traffic data, performance data, and the like. Some or all data transmitted between the vehicle220and the server235may be encrypted and/or anonymized.

In some embodiments of the present technology, the server235may have access (locally and/or remotely) to information associated with a road map. Broadly speaking, the road map is a map of roads that are located in a city, a state, and/or other geographic areas. For example, a section of the road map may include information such as, but not limited to: presence of roads in that section, number of lanes on these roads, presence of intersections, presence of traffic lights, presence of pedestrian crosswalks, toll collectable for use of the section of the road, and the like.

In other embodiments of the present technology, the server235may have access (locally and/or remotely) to information indicative of road rules associated with the road map. Broadly speaking, road rules represent traffic laws that are determined by a body having jurisdiction and that are applicable on at least some portions of the road map. For example, road rules associated with a given section of the road map are representative of traffic laws that are applicable on that given section of the road map such as, but not limited to: pre-determined direction of traffic flow of each lane in the section of the road map, presence of particular road signs governing traffic on that section of the road map including, stop signs, yield signs, road lane signage, speed limits (for example, maximum allowed speed associated with the section of the road, minimum allowed speed associated with the section of the road), indications of other types of traffic laws or rules, and the like.

It is contemplated that the server235may be configured to provide to the processor110(e.g., the processor110of the electronic device210) access to the information indicative of (i) a section of the road map corresponding to surroundings of the vehicle220and (ii) the road rules associated with that section of the road map.

To that end, in some non-limiting embodiments of the present technology, the server235may receive a request submitted by the electronic device210for provision of access to the information indicative of the section of the road map (corresponding to the surroundings of the vehicle220) and of the respectively associated road rules. For example, the request submitted by the electronic device210may include information indicative of vehicle position (for example, expressed in global geo coordinates) of the vehicle220. As a result, the server235may provide the electronic device210with access to the information (or provide the information itself) indicative of the section of the road map that includes the vehicle position of the vehicle220and of the respectively associated road rules.

How the electronic device210uses the information indicative of the section of the road map corresponding to the surroundings of the vehicle220and the road rules associated with that section of the road map will be described in greater details herein further below.

It should be noted that the electronic device210may be configured to acquire access to the information (or acquire the information itself) indicative of the section of the road map corresponding to the surroundings of the vehicle220and of the respectively associated road rules in a different manner than via the server235. For instance, the information indicative of the road map and the road rules may be pre-downloaded and pre-stored by the electronic device210.

Processor

As previously alluded to, the processor110(such as the processor110of the electronic device210, for example) is configured to inter alia process (i) information that is provided thereto by the sensor system230, (ii) information that is indicative of the section of the road map corresponding to the surroundings of the vehicle220, and (iii) information that is indicative of the road rules associated with that section of the road map, for the purpose of decision making (such as generating manoeuvres and other trajectories for the vehicle220) and/or operation (such as causing the vehicle220to execute such manoeuvres and other trajectories) of the vehicle220.

In accordance with the non-limiting embodiments of the present technology, based at least in part on the data above, the processor110may be configured to control in-lane movement of the vehicle220performing a manoeuvre with respect to at least one obstacle such that the vehicle220drives along a more energy efficient trajectory. Put another way, the processor110may be configured to plan a trajectory of the vehicle220that performs the manoeuvre considering fuel consumption of the vehicle220.

How the processor110is configured to determine the more energy efficient trajectory will be described now with reference toFIGS.3to8.

Referring initially toFIG.3, there is depicted an example of a road scenario for controlling the in-lane movement of the vehicle220, in accordance with the non-limiting embodiments of the present technology.

In the embodiments ofFIG.3, the vehicle220is travelling down a lane. The surroundings of the vehicle220are depicted by a road map section340. At a predetermined future moment in time, the vehicle220may be caused by the processor110to perform a future manoeuvre. In the non-limiting embodiments of the present technology, the future manoeuvre may be a lane change, from the lane initially associated with the vehicle to one of neighbouring lanes. However, the one of neighbouring lanes the vehicle220is directed to may include at least one obstacle putting the vehicle220at risk of collisions.

In the embodiments ofFIG.3, the at least one obstacle is a moving obstacle, such as an obstacle302, which includes another vehicle, a cyclist, and the like. In the non-limiting embodiments of the present technology, the at least one obstacle may also include an immobile obstacle, such as a road divider, a traffic light, a parked vehicle, and the like.

To that end, the processor110may be configured to cause the vehicle220to move, first, longitudinally, that is along the lane initially associated with the vehicle220(also, referred to herein as “in-lane movement”), and, second, transversely. In the embodiment ofFIG.3, a transverse movement of the vehicle220would be turning left. A moment in time when the processor110starts to cause the vehicle220an in-lane movement that is part of performing the lane change is referred to herein as an initial moment in time t0. The vehicle220and the surrounding thereof at the initial moment in time t0is depicted by a visual representation300of the road map section340. A moment in time when the processor110causes the vehicle220to switch from the in-lane movement to the transverse movement is referred to herein as a target moment in time tT.

In the non-limiting embodiments of the present technology, the processor110may provide the vehicle220with at least two options of an in-lane trajectory (i.e. the trajectory the vehicle220is moving along before moving transversely, from the initial moment in time t0until the target moment in time tT): (1) accelerating the vehicle220so the vehicle220is ahead of the obstacle302at a distance being no less than a first safety margin (not separately depicted)—which is depicted by a visual representation310of the road map section340; or (2) decelerating the vehicle220so the vehicle220is before the obstacle302at a distance being no less than a second safety margin (not separately depicted)—which is depicted by a visual representation320of the road map section340. The processor110may select the first safety margin and the second safety margin in such a way that the vehicle220, from the target moment in time tTuntil finishing the lane change, would avoid any collision with the obstacle302.

Put another way, the first and the second safety margins are selected by the processor110such that the vehicle220, at the target moment in time tT, is free of the obstacle302which allows for finishing the lane change safely. To that end, the visual representations310and320depict candidate states of the vehicle220that correspond to respective windows of opportunity for the vehicle220to perform the lane change at the target moment in time tT. How the processor110is configured to select one candidate state of the vehicle220over the other will be described in greater detail below.

In the non-limiting embodiments of the present technology, the processor110may be configured to determine kinematic data associated with the vehicle220and the obstacle302at the initial moment in time t0and the target moment in time tT. The processor110may be configured to select the initial moment in time t0and the target moment in time tTbased on a predetermined time interval.

In the non-limiting embodiments of the present technology, the kinematic data comprises at least (1) a coordinate value along the axis332, x; (2) an in-lane instantaneous velocity value, v; and (3) an in-lane instantaneous acceleration/deceleration value, a.

Thus, each of the visual representations300,310, and320generally illustrates the road map section340having (1) two lanes (extending from left to right in the orientation ofFIG.3), and (2) the obstacle302. For illustration purposes only, it should be assumed that both the vehicle220and the obstacle302are travelling in the direction of the traffic indicated by arrows312. Further, the vehicle220and the obstacle302are travelling in respective ones of the neighbouring lanes. It should further be noted that the visual representations300,310, and320are depicted solely for purposes of illustration of the scenario and, thus, the processor110does not actually display the visual representations300,310, and320.

As it can be appreciated fromFIG.3, the visual representations300,310, and320also include representations of at least some road rules associated with the road map section340. For example, the at least some road rules may prescribe traffic directions which travelling vehicles must abide by, and which is depicted by arrows312. In another example, the at least some road rules may further prohibit the travelling vehicles a lane change, which is depicted by a visual representation322. It should be noted however, that the visual representations312and322are depicted solely for purposes of illustration of the example scenario and, thus, the processor110does not have to actually display the visual representations312and322.

Finally, each of the visual representations300,310, and320also depict the coordinate axis332extending from left to right (in the orientation ofFIG.3) and coinciding with the direction of the traffic in the road map section340. The coordinate axis332serves solely as an aid in understanding the non-limiting embodiments of the present technology, and thus does not have to be displayed by the processor110.

The lane change is hence characterized by the initial moment in time t0corresponding to an initial state of the vehicle220and the obstacle302, and the target moment in time tT. At the target moment in time tT, the obstacle302is associated with an obstacle target state and the vehicle220is associated with at least two candidate target states (depicted at visual representations310and320, respectively).

As such, the visual representation300depicts an initial state of the road map section340at the initial moment of time t0, the time t0being a time when the vehicle220begins the lane change. The initial state of the road map section340includes: (1) an initial state of the vehicle220characterized by a vehicle initial kinematic data304, (xv@t0; vv@t0; av@t0), wherexv@t0is a coordinate value of the vehicle220at the initial moment in time t0along the axis332;vv@t0is an instantaneous velocity value of the vehicle220at the initial moment in time t0; andav@t0is an instantaneous acceleration value of the vehicle220at the initial moment in time t0;
and (2) an initial state of the obstacle302characterized by an obstacle initial kinematic data306, (xobs@t0; vobs@t0; aobs@t0), wherexobs@t0is a coordinate value of the obstacle302at the initial moment in time t0along the axis332;vobs@t0is an instantaneous velocity value of the obstacle302at the initial moment in time t0; andaobs@t0is an instantaneous acceleration value of the obstacle302at the initial moment in time t0.

In the non-limiting embodiments of the present technology, the processor110may be configured to determine a more energy efficient trajectory for the vehicle220that is about to perform the lane change as a most energy efficient in-lane transition between the initial state of the vehicle220and one of the at least two candidate target states of the vehicle220.

To that end, first, the processor110, at the time t0, is configured to acquire an indication of the vehicle initial kinematic data304(using either the sensor system230and/or by virtue of the processor110having access to various components and systems of the vehicle220) and an indication of the obstacle initial kinematic data306(using the sensor system230).

As mentioned hereinabove, the visual representations310and320correspond to at least two possible candidate states of the road map section340at the target moment of time tT, such as a first candidate state and a second candidate state, respectively. The visual representation310depicting the first candidate state of the road map section340includes: (1) a first candidate target state of the vehicle220characterized by first candidate kinematic data314, (xv1@tT; vv1@tT; av1@tT), wherexv1@tTis a coordinate value of the vehicle220at the target moment in time tTalong the axis332corresponding to the first candidate target state of the vehicle220;vv1@tTis an instantaneous velocity value of the vehicle220at the target moment in time tTcorresponding to the first candidate target state of the vehicle220; andav1@tTis an instantaneous acceleration value of the vehicle220at the target moment in time tTcorresponding to the first candidate target state of the vehicle220;
and (2) a target state of the obstacle302characterized by obstacle target kinematic data316, (xobs@tT; vobs@tT; aobs@tT), wherexv1@tTis a coordinate value of the obstacle302at the target moment in time tTalong the axis332corresponding to the obstacle target state;vv1@tTis an instantaneous velocity value of the obstacle302at the target moment in time tTcorresponding to the to the obstacle target state; andav1@tTis an instantaneous acceleration value of obstacle302at the target moment in time tTcorresponding to the obstacle target state.

The visual representation320depicting the second candidate state of the road map section340includes: (1) a second candidate target state of the vehicle220characterized by second candidate kinematic data324, (xv2@tT; vv2@tT; av2@tT), wherexv1@tTis a coordinate value of the vehicle220at the target moment in time tTalong the axis332corresponding to the second candidate target state of the vehicle220;vv1@tTis an instantaneous velocity value of the vehicle220at the target moment in time tTcorresponding to the second candidate target state of the vehicle220; andav1@tTis an instantaneous acceleration value of the vehicle220at the target moment in time tTcorresponding to the second candidate target state of the vehicle220;
and (2) the target state of the obstacle302characterized by the obstacle target kinematic data316, (xobs@tT; vobs@tT; aobs@tT).

According to the non-limiting embodiments of the present technology, in order to determine the most energy efficient in-lane transition for the vehicle220, the processor110may further be configured to determine the obstacle target kinematic data316, the first candidate kinematic data314, and the second candidate kinematic data324based on initial kinematic data thereof.

With reference toFIG.4, there is schematically depicted a process for determining the obstacle target kinematic data316, according to the non-limiting embodiments of the present technology.

In this regard, the processor110may have access to a kinematic data estimation model400.

Broadly speaking, the kinematic data estimation model400represents a combination of kinematic mathematical models configured for generating kinematic data of the obstacle302for a pre-determined future moment in time based on initial kinematic data thereof. Non-limiting examples of the kinematic data estimation model400may include (i) a displacement graph of the obstacle302within the road map section340; (ii) a system of kinematic time equations describing a kinematic movement of the obstacle302within the road map section340; and (iii) a system of dynamic time equations describing dynamics (force factors influencing the obstacle302, such as a side wind, for example) of the obstacle302within the road map section340.

Accordingly, to generate the obstacle target kinematic data316of the obstacle302, (xobs@tT; vobs@tT; aobs@tT), the processor110is configured to supply the obstacle initial kinematic data306, (xobs@t0; vobs@t0; aobs@t0) and an indication of the target moment in time tT402as inputs to the kinematic data estimation model400.

Referring now toFIG.5, there is schematically depicted a process for generating the first candidate kinematic data314and the second candidate kinematic data324, according to the non-limiting embodiments of the present technology.

In this regard, the processor110is configured to have access to a candidate final kinematic data estimation model500. Akin to the kinematic data estimation model400, the candidate final kinematic data estimation model500includes a combination of kinematic mathematical models configured for generating candidate kinematic data for the vehicle220for a predetermined moment in time based on initial kinematic data thereof and kinematic data of at least one obstacle at the predetermined moment in time.

Broadly speaking, the candidate final kinematic data estimation model500is configured to generate kinematic data for the vehicle220that will be caused by the processor110to perform the lane change at a predetermined future moment in time, for example, the target moment in time tT. The candidate final kinematic data estimation model500may further be configured to take into account kinematic data of at least one obstacle at the target moment in time tT. The at least one obstacle may be travelling in a lane neighbouring to the lane wherein the vehicle220is travelling, and which the vehicle220would take as a result of performing the lane change, such as the obstacle302depicted inFIG.3. Thus, the kinematic data (such as a coordinate value along the axis332, a velocity value, and an acceleration value, for example) generated by the candidate final kinematic data estimation model500allow the vehicle220, at the target moment in time tT, either (1) to take the first candidate state (depicted310inFIG.3), that is ahead of the obstacle302at a distance no less than the first safety margin, or (2) to take the second candidate state (depicted320inFIG.3), that is before the obstacle302at a distance no less than the second safety margin. The first and the second safety margins are predetermined by the processor110so that the vehicle220avoids a collision with the obstacle302, thereby performing the lane change safely. In other words, the first safety margin and the second safety margin correspond to the respective windows of opportunity for the vehicle220to perform the lane change at the target moment in time tT.

To that end, the processor110is configured to supply the following input data to the candidate final kinematic data estimation model500: (1) the indication of the target moment in time tT402(2) the vehicle initial kinematic data304, (xv@t0; vv@t0; av@t0); and (3) the obstacle target kinematic data316, (xobs@tT; vobs@tT; aobs@tT). Consequently, the candidate final kinematic data estimation model500outputs the first candidate kinematic data314, (xv1@tT; vv1@tT; av1@tT) and the second candidate kinematic data324, (xv2@tT; vv2@tT; av2@tT) corresponding to the first candidate state and the second candidate state of the vehicle220at the target moment in time tT, respectively.

Although, in the embodiments described herein only one obstacle, i.e. the obstacle302, is considered, a number of obstacles that the candidate final kinematic data estimation model500may take into account to generate the candidate kinematic data for the vehicle220is not limited. For example, in the embodiments ofFIG.3, there could be another moving obstacle (not depicted) following after the obstacle302at some distance. To that end, the processor110may be configured to supply to the candidate final kinematic data estimation model500, additionally to the input data mentioned above: (4) a kinematic data associated with the other obstacle determined for the target moment in time tT; (5) a distance between the obstacle302and the other obstacle. Given this, the candidate final kinematic data estimation model500, for example, may generate candidate kinematic data for the vehicle220allowing the vehicle220at the target moment in time tTto either (i) take a first candidate state ahead of the obstacle302at a distance no less than the first safety margin; or (ii) take a second candidate state in between of the obstacle302and the other obstacle such that the vehicle220is at a distance no less than the second safety margin before the obstacle302and at a distance no less than the first safety margin ahead of the other obstacle; or finally, (iii) take a third candidate state before the other obstacle at a distance no less than the second safety margin. Accordingly, if the processor110determines that the distance between the obstacle302and the other obstacle does not allow for the second candidate state of the vehicle220, the processor110discards the second candidate state.

In the non-limiting embodiments of the present technology, in order to determine a candidate target state of the vehicle220associated with the most energy efficient in-lane transition of the vehicle220, the processor110may be further configured to determine, based on the first candidate kinematic data314and the second candidate kinematic data324, respective candidate state-transition datasets, which will be now described with reference toFIG.6.

Generally speaking, a given candidate state-transition dataset associated with the vehicle220represents a data structure including at least part of kinematic data associated with the vehicle220at a plurality of intermediate moments in time ti(100, for example) between the initial moment in time t0and the target moment in time tT. How the plurality of the intermediate moments is selected is not limited and may include, for example, selecting the plurality of intermediate moments based on a predetermined step value. The processor110may determine the predetermined step value, for example, based on a vehicle initial velocity value of the vehicle220. Alternatively, selecting the plurality of intermediate moments in time timay be performed, by the processor110, in any other manner.

According to the non-limiting embodiments of the present technology, the processor110may be configured to generate the given candidate state-transition dataset by using a jerk-minimization algorithm.

With reference toFIG.6, there is depicted a process for generating, by the processor110, candidate state-transition datasets using a jerk-minimization algorithm600, according to the non-limiting embodiments of the present technology.

Broadly speaking, the jerk-minimization algorithm600is configured to generate the given candidate state-transition dataset for the vehicle220. To that end, the given candidate state transition dataset is indicative of an in-lane transition of the vehicle220from the initial state to one of the candidate states with a minimized in-lane jerk.

In the non-limiting embodiments of the present technology, an in-lane jerk associated with the vehicle220refers to a rate of acceleration/deceleration change associated with the vehicle220in a longitudinal direction, i.e. during the in-lane movement of the vehicle220and without considering a jerk during the transverse movement of the vehicle220.

As an example of the implementation of the jerk-minimization algorithm600, the jerk-minimization algorithm600may be based on a predetermined threshold value of in-lane acceleration/deceleration of the vehicle220at each of the plurality of intermediate moments in time tiof the given candidate state-transition dataset. Alternatively, according to the non-limiting embodiments of the present technology, the jerk-minimization algorithm600may further be based on, without being limited to:a linear change of in-lane acceleration/deceleration and quadratic change of in-lane velocity;a zero in-lane jerk and a linear change of in-lane velocity;zero in-lane acceleration and a constant in-lane velocity.

In some non-limiting embodiments of the present technology, the jerk-minimization algorithm600may be configured for generating the given candidate state-transition dataset in a form of a speed profile. To that end, a given speed profile represents a vector of instantaneous velocity values of the vehicle220, where each instantaneous velocity value corresponds to a respective one of the plurality of intermediate moments in time tibetween the initial moment in time t0and the target moment in time tT.

Accordingly, by using the jerk-minimization algorithm600, the processor110is configured to generate a first candidate state-transition dataset614and a second candidate state-transition dataset624based on the first candidate kinematic data314(xv1@tT; vv1@tT; av1@tT), the second candidate kinematic data324(xv2@tT; vv2@tT; av2@tT), respectively, and the vehicle initial kinematic data304(xv@t0; vv@t0; av@t0). The first candidate state-transition dataset614includes at least part of the kinematic data of the vehicle220(xi1@ti, vi1@ti, ai1@ti) determined, based on the first candidate kinematic data314, for each one of the plurality of intermediate moments in time ti, wherexi1@tiis a coordinate value of the vehicle220at one of the plurality of intermediate moments of time tias part of the first candidate state-transition dataset614;vi1@tiis an instantaneous velocity value of the vehicle220at the one of the plurality of intermediate moments of time tias part of the first candidate state-transition dataset614; andai1@tiis an instantaneous acceleration value of the vehicle220at the one of the plurality of intermediate moments of time tias part of the first candidate state-transition dataset614.

The at least part of the kinematic data of the vehicle220at a respective one of the plurality of intermediate moments in time tiis optimized to minimize the in-lane jerk associated with the transition of the vehicle220from the initial state to the first candidate state. This transition is hence a most jerk-efficient in-lane transition of the vehicle220from the initial state and the first candidate target state. The same applies mutatis mutandis to the second candidate state-transition dataset624.

In the non-limiting embodiments of the present technology, in order to determine the most energy efficient in-lane transition of the vehicle220, the processor110may further be configured to select one of the first candidate state-transition dataset and the second candidate state-transition dataset. By so doing, the processor110is configured to determine a target state-transition dataset. The target state-transition dataset defines the most energy efficient in-lane transition of the vehicle220from the initial state to a respective candidate target state.

In some non-limiting embodiments of the present technology, the processor110may be configured determine the target state-transition dataset based on energy efficiency scores associated with respective candidate state-transition datasets.

With reference now toFIG.7, there is depicted a process for determining energy efficiency scores associated with candidate state-transition datasets determined for the vehicle220, according to the non-limiting embodiments of the present technology. To that end, the processor110may have access to an energy efficiency estimation model700.

Broadly speaking, the energy efficiency estimation model700is configured to generate an energy efficiency score for a given transition of the vehicle220based on a respective candidate state-transition dataset. In the non-limiting embodiments of the present technology, the energy efficiency score may be indicative of an amount of fuel the vehicle220needs to perform the given transition. To that end, the energy efficiency estimation model700may represent a combination of time equations describing fuel consumption by the vehicle220in relation to the kinematic data associated therewith from the respective candidate state-transition dataset.

Thus, the processor110may be configured to determine: (1) based on the first candidate state-transition dataset614, a first energy efficiency score714; and (2) based on the second candidate state-transition dataset624, a second energy efficiency score724.

In the non-limiting embodiments of the present technology, in order to select one of the first candidate state-transition dataset614and the second candidate state-transition dataset624, the processor110may compare the respective energy efficiency scores714and724to determine an energy efficiency score indicative of a lesser amount of fuel consumed by the vehicle220. Thus, the processor110is configured to determine the target state-transition dataset as a most fuel-efficient candidate state-transition dataset.

For example, the processor110may have determined that the energy efficiency score714corresponds to a lesser amount of consumed fuel than that represented by the second energy efficiency score724. Therefore, the processor110proceeds to select the first candidate state-transition dataset614as the target state-transition dataset, thereby determining the most energy efficient in-lane transition for the vehicle220. To that end, at the initial moment in time t0, the processor110triggers control of the in-lane movement of the vehicle220such that an actual kinematic data of the vehicle220at each of the plurality of intermediate moments in time timatches a respective kinematic data in the first candidate state-transition dataset614(xi1@ti, vi1@ti, ai1@ti).

In the non-limiting embodiments of the present technology, the processor110may be configured to trigger control of the in-lane movement of the vehicle220by manipulating at least one of the in-lane acceleration and in-lane deceleration of the vehicle220. Thus, a respective transition of the vehicle220from the initial state to one of the candidate target states, caused by the processor110, may be performed using only the in-lane movement of the vehicle220.

In other words, the processor110causes the vehicle220to perform the most jerk-efficient in-lane transition from the initial state to the first candidate target state, by the target moment in time tT, based on the determined energy efficiency scores714and724. By so doing, the processor110causes the vehicle220to perform the lane change such that the vehicle220, during the in-lane movement, would drive along the most fuel-efficient transition from the initial state; and during the transverse movement, would finish the lane change safely avoiding a collision with the obstacle302.

In the non-limiting embodiments of the present technology, to determine the target state-transition dataset, the processor110may further be configured to determine a road-rule-abiding score for each of the candidate state-transition datasets associated with the vehicle220. A given road-rule abiding score is indicative of whether a respective candidate state-transition dataset corresponds to a transition of the vehicle220from the initial state to a respective candidate target states allowing for abiding by the road rules or not. To that end, the processor110is configured to determine the target state-transition dataset as a most fuel-efficient candidate state-transition dataset allowing the vehicle220to perform the lane change without violating any road rules.

With reference now toFIG.8, there is depicted a process for determining road-rule-abiding scores for the candidate state-transition datasets determined associated with the vehicle220, according to the non-limiting embodiments of the present technology.

As mentioned hereinabove, the processor110, via the communication network240, has access to the server235. The server235provides the processor110with the information about road rules associated with the road map section340. For example, the processor110inter alia may receive, from the server235, an indication of a lane-change prohibition802within the road map section340, which is depicted by the visual representation322inFIG.3.

In this example, the processor110is configured to determine, based on the received indication of the lane-change prohibition802: (1) a first road-rule abiding score814, based on the first candidate state-transition dataset614; and (2) a second road-rule abiding score, based on the second candidate state-transition dataset624. Accordingly, based on the determined road-rule-abiding scores, the processor is configured to determine the target state-transition dataset.

For example, the processor110may have determined that the first road-rule abiding score814is 0, which means that the first candidate state-transition dataset614corresponds to the transition of the vehicle220from the initial state to the first candidate target state, which does not allow the vehicle220to abide by the road rules within the road map section340. More specifically, referring toFIG.3, to the visual representation310of the road map section340corresponding to the first candidate target state of the vehicle220, this transition would result in violating the road rule prohibiting the lane-change, as at the target moment in time tT, the transverse movement of the vehicle220would go through the visual representation322. Therefore, the processor110then proceeds to discard the first candidate state-transition dataset614when determining the target state-transition dataset.

However, the processor110may have also determined that the second road-rule-abiding score824is 1, which means that the second candidate state-transition dataset624corresponds to the transition of the vehicle220from the initial state to the second candidate target state, which allows the vehicle220to abide by the road rules within the road map section340. More specifically, referring toFIG.3, to the visual representation320of the road map section340corresponding to the second candidate target state of the vehicle220, this transition would result in performing, at the target moment in time tT, the transverse movement of the vehicle220without violating any road rules. Therefore, as in the described example there are only two candidate state-transition datasets, the processor110then proceeds to determine the second candidate state-transition dataset624to be the target state-transition dataset.

Accordingly, the processor110triggers control of the in-lane movement of the vehicle220such that the actual kinematic data of the vehicle220at each of the plurality of intermediate moments in time timatches a respective kinematic data from the second candidate state-transition dataset624(xi2@ti, vi2@ti, ai2@ti).

In some non-limiting embodiments of the present technology the processor110may be configured to determine the target state-transition dataset based on more than two candidate state-transition datasets. To that end, the processor110may be configured to determine the target state-transition dataset based on both respective energy efficiency scores and road-rule-abiding scores associated with the candidate state-transition datasets.

Turning back to the example including the other obstacle following the obstacle302given with respect toFIG.5. Let it be assumed that the second and the third candidate kinematic data of the vehicle220correspond to a second and a third candidate state-transition datasets (not depicted), respectively, determined according to the examples described above with respect toFIG.6. Further, the processor110may be configured to determine a second and a third energy-efficiency scores associated with the respective candidate state-transition datasets (not depicted). Finally, the processor110may further be configured to determine respective second and third road-rule-abiding scores to be 1, that is corresponding to transitions of the vehicle220from the initial state to the second and the third candidate target state allowing the vehicle220to abide by the road rules in the road map section340. Thus, the processor110then proceeds to determine the target state-transition dataset as one associated with higher energy efficiency score. In other words, the processor110then proceeds to determine the target state-transition dataset as the most fuel-efficient state-transition dataset between the second candidate state-transition dataset and the third candidate state-transition dataset.

In the non-limiting embodiments of the present technology, a number of the road rules considered by the processor110when determining road-rule-abiding scores is not limited and may include other road rules prescribed for a given road map section.

For example, the processor110may determine that the first candidate state-transition dataset614includes, at some one of the plurality of intermediate time intervals ti, an instantaneous velocity value of the vehicle220exceeding the speed limit prescribed for the road map section340. Accordingly, the processor110is then configured to discard the first candidate state-transition dataset614when determining the target state-transition dataset. In another example, in the embodiments ofFIG.3, let it be assumed that instead of the visual representation322of the rule prohibiting the lane change, there is a visual representation of one, a crosswalk and an intersection. The processor110is then configured to discard the first candidate state-transition dataset614as the transition of the vehicle220associated with the first candidate state-transition dataset614would cause the vehicle220to violate road rules prescribing not to change a lane at intersections and crosswalks.

By so doing, the processor110causes the vehicle220to perform the lane change such that the vehicle220, during the in-lane movement, would drive along the most fuel-efficient transition from the initial state abiding by the road rules prescribed for the given road map section; and during the transverse movement, would finish the lane change safely avoiding a collision with any obstacles.

Given the architecture and the examples provided hereinabove, it is possible to execute a method for controlling in-lane movement of an SDV (the vehicle220, for example). With reference now toFIG.9, there is depicted a flowchart of a method900, according to the non-limiting embodiments of the present technology. The method900is executable by the processor110. The processor110may, for example, be part of the electronic device210.

The method900is executed by the processor110to allow the vehicle220to perform a future manoeuvre at a pre-determined future moment in time (for example, at the target moment in time tTdescribed herein). The vehicle220is travelling down a lane as, for example, depicted inFIG.3. In the non-limiting embodiments of the present technology, the future manoeuvre may be a lane change from an initial lane in which the vehicle220is traveling to one of neighboring lanes.

Generally speaking, the processor110causes the vehicle220to perform the lane change by (1) performing the in-lane movement from the initial moment in time t0until the target moment in time tT; and (2) performing the transverse movement at the target moment in time tT, which, in the example ofFIG.3, would be turning left. The processor110is configured to determine the initial moment in time t0to be earlier than the target moment in time tTby a predetermined time interval.

In the non-limiting embodiments of the present technology, the in-lane movement of the vehicle220is characterized by at least (1) a coordinate value along the axis332, x; (2) an in-lane instantaneous velocity value, v; and (3) an in-lane instantaneous acceleration/deceleration value, a.

According to the non-limiting embodiments of the present technology, the one of neighbouring lanes, to which the vehicle220is caused to perform the lane change, may include at least one obstacle. The obstacle may be a moving obstacle (the obstacle302depicted inFIG.3, for example) including another vehicle, for example, or an immobile obstacle.

Step902—Acquiring, by the Electronic Device, Initial Kinematic Data Associated with an Obstacle which is Indicative of an Initial State of the Obstacle at an Initial Moment in Time

The method900commences at the step902with the processor110acquiring initial kinematic data associated with the obstacle302using the sensor system230(the obstacle initial kinematic data306associated with the obstacle302, for example).

In the non-limiting embodiments of the present technology, the obstacle initial kinematic data306(xobs@t0; vobs@t0; aobs@t0) is indicative of an initial state of the obstacle302at the initial moment in time t0, which is depicted at the visual representation300inFIG.3.

Step904—Determining, by the Electronic Device, Future Kinematic Data Associated with the Obstacle which is Indicative of a Future State of the Obstacle at the Pre-Determined Future Moment in Time

At step904, the processor110is configured to determine, based on the obstacle initial kinematic data306(xobs@t0; vobs@t0; aobs@t0), the obstacle target kinematic data316. In the non-limiting embodiments of the present technology, the obstacle target kinematic data316is indicative of the obstacle target state of the obstacle302at the target moment in time tT. The obstacle target state is depicted at the visual representations310and320inFIG.3.

In the non-limiting embodiments of the present technology, the processor110is configured, in order to determine the obstacle target kinematic data316, to have access to a kinematic data estimation model. For example, the processor110may have access to the kinematic data estimation model400, whereby the processor110determines the obstacle target kinematic data316(xobs@tT; vobs@tT; aobs@tT).

Step906—Acquiring, by the Electronic Device, Initial Kinematic Data Associated with the SDV which is Indicative of an Initial State of the SDV at the Initial Moment in Time

At step906, the processor110is configured, by virtue of using the sensor system230, to acquire the vehicle initial kinematic data304(xv@t0; vv@t0; av@t0) associated with the vehicle220. According to the non-limiting embodiments of the present technology, the vehicle initial kinematic data304is indicative of the initial state of the vehicle220at the initial moment in time t0, which is depicted at the visual representation300inFIG.3.

In the non-limiting embodiments of the present technology, the initial state of the vehicle220refers to a state, whereat the processor110starts to cause the vehicle220to perform the in-lane movement as part of performing the lane change.

Step908—Determining, by the Electronic Device, Future Kinematic Data Associated with the SDV which is Indicative of at Least Two Candidate Future States of the SDV at the Pre-Determined Future Moment in Time

At step908, the processor110is configured to determine at least two candidate kinematic data of the vehicle220associated with respective candidate target states of the vehicle220. A given candidate target state of the vehicle220is a state of the vehicle220, whereat the processor110causes the vehicle220to finish the in-lane movement having a given candidate kinematic data, and to start the transverse movement in order to perform the lane change considering the obstacle302. In other words, the given candidate target state of the vehicle220refers to a state of the vehicle220at the target moment in time tT, which the vehicle220is caused to take from the initial state having driven along an in-lane trajectory.

In the non-limiting embodiments of the present technology, the processor110is configured to determine the given candidate kinematic data for the vehicle220such that the vehicle avoids any collision with the obstacle302when performing the transverse movement.

To that end, the processor110is configured to provide the vehicle220with at least two options of the in-lane trajectory: (1) accelerating the vehicle220so the vehicle220is ahead of the obstacle302at a distance being no less than the first safety margin—which can be, for example, depicted by the visual representation310of the road map section340; or (2) decelerating the vehicle220so the vehicle220is before the obstacle302at a distance being no less than the second safety margin—which can be, for example, depicted by the visual representation320of the road map section340. The processor110may be configured to select the first safety margin and the second safety margin in such a way that the vehicle220, from the target moment in time tTuntil finishing the lane change, would avoid any collision with the obstacle302. By so doing, the processor110is configured to determine at least the first candidate target state and the second candidate target state for the vehicle220to perform the in-lane movement from the initial state. Accordingly, the first and the second candidate target states of the vehicle220correspond to states of the vehicle220whereat the vehicle220is free of the obstacle302, which allows the vehicle220to perform the lane change safely, i.e. avoiding any collision with the obstacle302. To that end, the first candidate target state and the second candidate target state of the vehicle220at the target moment in time tTcorrespond to respective windows of opportunity for the vehicle220to perform the lane change considering the obstacle302.

In the non-limiting embodiments of the present technology, the processor110is then configured to determine respective candidate kinematic data for the vehicle220corresponding to the first candidate target state and the second candidate target state. In this regard, the processor110may have access to a candidate final kinematic data estimation model. For example, having access to the candidate final kinematic data estimation model500described above with reference toFIG.5, the processor110, based on the vehicle initial kinematic data304and the obstacle target kinematic data316, may determine: (1) the first candidate kinematic data314(xv1@tT; vv1@tT; av1@tT), and (2) the second candidate kinematic data324(xv2@tT; vv2@tT; av2@tT).

Step910—Determining, by the Electronic Device, at Least Two Candidate State-Transition Datasets for the SDV to Transition from the Initial State of the SDV to a Respective One of the at Least Two Candidate Future States of the SDV Using In-Lane Movement

At step910, having determined kinematic data of the vehicle220corresponding to the initial state and one or more candidate target states of the vehicle220, the processor110is further configured, based thereon, to determine respective candidate state-transition datasets. In the non-limiting embodiments of the present technology, a given candidate state-transition dataset defines an in-lane transition of the vehicle220from the initial state to a respective candidate target state.

In the non-limiting embodiments of the present technology, the given candidate state-transition dataset represents a data structure (a vector, for example) including at least part of kinematic data (a coordinate value, an in-lane velocity value, or an in-lane acceleration value, for example) of the vehicle220determined for each of a plurality of intermediate moments in time tibetween the initial moment in time t0and the target moment in time tT.

In the non-limiting embodiments of the present technology, the processor110may be configured to select the plurality of intermediate moments in time tibased on a predetermined step value. However, other ways of selecting the plurality of intermediate moments in time can also be used by the processor110in order to select the plurality intermediate moments in time ti.

In the non-limiting embodiments of the present technology, to determine respective candidate state-transition datasets, the processor110may have access to a jerk-minimization algorithm. For example, the processor110may have access to the jerk-minimization algorithm600described hereinabove with reference toFIG.6that is used for minimizing associated in-lane jerks. Thus, the processor110is configured to supply (1) the vehicle initial kinematic data304, (2) the first candidate kinematic data314, (3) and the second candidate kinematic data324to the jerk-minimization algorithm600. Consequently, the jerk-minimization algorithm600outputs the first candidate state-transition dataset614and the second candidate state-transition dataset624. Accordingly, the first candidate state-transition dataset614includes, for each of the plurality of intermediate moments in time ti, a respective kinematic data of the vehicle220(xi1@ti, vi1@ti, ai1@ti). The second candidate state-transition dataset includes, for each of the plurality of intermediate moments in time ti, a respective kinematic data of the vehicle220(xi2@ti, vi2@ti, ai2@ti).

Thus, each of the first candidate state-transition dataset614and the second candidate state-transition dataset624corresponds to a respective most jerk-efficient state-transition dataset defining a respective in-lane transition of the vehicle220from the initial state to a respective candidate target state using only in-lane movement.

In some non-limiting embodiments of the present technology, the processor110may be configured to generate the given candidate state-transition dataset in a form of a speed profile. A given speed profile represents a vector, where a respective velocity value of the vehicle220corresponds to each of the plurality of intermediate moments in time ti. By applying the jerk-minimization algorithm600to generate the given speed profile, the processor110optimizes each instantaneous velocity value of the vehicle220corresponding to a respective one of the plurality of intermediate moments in time tito minimize respective in-lane jerks associated therewith.

In the non-limiting embodiments of the present technology, the processor110may be further configured to select one of the first candidate state-transition dataset614and the second candidate state-transition dataset624, thereby determining a target state-transition dataset. The target state-transition dataset defines a most energy-efficient in-lane transition of the vehicle220from the initial state to a respective candidate target state.

Step912—Determining, by the Electronic Device, an Energy Efficiency Score for a Respective One of the at Least Two Candidate State-Transition Datasets

At step912, to determine the target state-transition dataset, the processor110is configured to determine energy efficiency scores for in-lane transitions of the vehicle220defined by the first candidate state-transition dataset614and the second candidate state-transition dataset624.

In the non-limiting embodiments of the present technology, a given energy efficiency score is indicative of an amount of fuel the vehicle220needs to perform a given in-lane transition. Thus, the given energy efficiency score is indicative of how fuel-efficient the given in-lane transition of the vehicle220is. To determine the given energy-efficiency score, the processor110may have access to an energy efficiency estimation model.

For example, the processor110may have access to the energy efficiency estimation model700described herein with reference toFIG.7. Thus, the processor110may be configured to determine the first energy efficiency score714and the second energy efficiency score724.

In the non-limiting embodiments of the present technology, the processor110may further be configured to compare the first energy efficiency score714to the second energy efficiency score724, in order to determine the most fuel-efficient in-lane transition of the vehicle220corresponding to the target state-transition dataset. To that end, the processor110is configured to determine an energy efficiency score that would correspond to a lesser amount of consumed fuel.

For example, the processor110may have determined that the energy efficiency score714corresponds to a lesser amount of fuel than that associated with the second energy efficiency score724. Accordingly, the processor110determines the target state-transition dataset to be the first candidate state-transition dataset614as the first candidate state-transition dataset614is thereby determined to be a most fuel-efficient state-transition dataset amongst the at least two candidate state-transition datasets associated with the vehicle220.

In the non-limiting embodiments of the present technology, the processor110may further be configured to determine, for each candidate state-transition dataset, a road-rule-abiding score. The road-rule-abiding score is indicative of whether a given in-lane transition of the vehicle220between the initial state and a respective candidate target state abides by road rules prescribed for a given road map section (the road map section340, for example).

To that end, the processor110may have access, via the communication network240, to the server235. The server235provides the processor110with the information about road rules associated with the road map section340. Thus, the processor110is configured to receive, from the server235, an indication of at least one road rule, for example, the lane-change prohibition802within the road map section340discussed above with reference toFIG.8.

In the example ofFIG.8, the processor110may be configured to determine, based on the received indication of the lane-change prohibition802: (1) a first road-rule abiding score814, based on the first candidate state-transition dataset614; and (2) a second road-rule abiding score, based on the second candidate state-transition dataset624. Accordingly, based on the determined road-rule-abiding scores, the processor is configured to determine the target state-transition dataset.

For example, the processor may have determined that the first road-rule abiding score814is 0 (the transition to the first candidate target state does not abide by the road rules), and the second road-rule-abiding score824is 1 (the transition to the second candidate target state abides by the road rules). Accordingly, the processor110is configured to proceed to determine the target state-transition dataset as the second candidate state-transition dataset624as the in-lane transition of the vehicle220defined thereby abides by the road rules prescribed for the road map section340.

Thus, the processor110is configured to determine the target state-transition dataset as the most fuel-efficient dataset amongst the at least two candidate state-transition datasets that allows the vehicle220to abide by the road rules prescribed for the given road map section.

Step914—Trigger Control of the In-Lane Movement of the SDV Based on a Target State-Transition Dataset Amongst the at Least Two Candidate State-Transition Datasets

At step914, the processor110causes the vehicle220to perform an in-lane transition from the initial state to a respective candidate target state associated with the target state-transition dataset. In this regard, the processor110triggers control of at least one of in-lane acceleration and in-lane deceleration such that an actual kinematic data of the vehicle220at each of the plurality of intermediate moments in time timatches a respective target kinematic data from the target state-transition dataset.

In the example, where the processor110has determined the target state-transition dataset as the first candidate state-transition dataset614, at the initial moment in time t0, the processor110triggers control of the in-lane movement of the vehicle220such that an actual kinematic data of the vehicle220at each of the plurality of intermediate moments in time timatches a respective kinematic data in the first candidate state-transition dataset614(xi1@ti, vi1@ti, ai1@ti). By so doing, the processor110causes the vehicle220to perform the lane change such that the vehicle220, during the in-lane movement, would drive along the most fuel-efficient transition from the initial state; and during the transverse movement, would finish the lane change safely avoiding a collision with the obstacle302.

In the other example, where the processor110has determined the target state-transition dataset as the second candidate state-transition dataset624, at the initial moment in time t0, the processor110triggers control of the in-lane movement of the vehicle220such that the actual kinematic data of the vehicle220at each of the plurality of intermediate moments in time timatches a respective kinematic data from the second candidate state-transition dataset624(xi2@ti, vi2@ti, ai2@ti). By so doing, the processor110causes the vehicle220to perform the lane change such that the vehicle220, during the in-lane movement, would drive along the most fuel-efficient transition from the initial state abiding by the road rules prescribed for the given road map section; and during the transverse movement, would finish the lane change safely avoiding a collision with the obstacle302.

It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology.