WO2023037060A1 - Procédé et dispositif de contrôle de vitesse d'un véhicule autonome - Google Patents

Procédé et dispositif de contrôle de vitesse d'un véhicule autonome Download PDF

Info

Publication number
WO2023037060A1
WO2023037060A1 PCT/FR2022/051601 FR2022051601W WO2023037060A1 WO 2023037060 A1 WO2023037060 A1 WO 2023037060A1 FR 2022051601 W FR2022051601 W FR 2022051601W WO 2023037060 A1 WO2023037060 A1 WO 2023037060A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
autonomous vehicle
vehicle
speed
acceleration value
Prior art date
Application number
PCT/FR2022/051601
Other languages
English (en)
Inventor
Thibaud Duhautbout
Francois Aioun
Franck Guillemard
Véronique CHERFAOUI
Reine Talj
Original Assignee
Psa Automobiles Sa
Centre National De La Recherche Scientifique
Université De Technologie De Compiègne
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Psa Automobiles Sa, Centre National De La Recherche Scientifique, Université De Technologie De Compiègne filed Critical Psa Automobiles Sa
Publication of WO2023037060A1 publication Critical patent/WO2023037060A1/fr

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0017Planning or execution of driving tasks specially adapted for safety of other traffic participants
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00272Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • B60W2520/105Longitudinal acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/804Relative longitudinal speed

Definitions

  • the present invention claims the priority of French application 2109439 filed on 09.09.2021, the content of which (text, drawings and claims) is incorporated herein by reference.
  • the invention relates to methods and devices for controlling the speed of an autonomous vehicle.
  • the invention also relates to a method and a device for determining a vehicle trajectory, in particular an autonomous vehicle.
  • the invention also relates to a method and a device for planning the trajectory of a vehicle, in particular an autonomous vehicle.
  • the invention also relates to a method and a device for controlling the trajectory of a vehicle, in particular an autonomous vehicle.
  • Some path planning methods of an autonomous vehicle use the determination of a speed profile adapted to dynamic obstacles by looking for future collisions between the autonomous vehicle and the predictions of dynamic obstacles. If a collision is found, a stopping point is imposed before the collision in order to define a smooth braking speed profile before the collision. Such a method is for example described in the document entitled “Jerk-Limited Time-Optimal Speed Planning for Arbitrary Paths”, published by A. Artunedo et al, on May 12, 2021.
  • the coordination space consists in representing the trajectories of a set of actors by a curve representing the evolution of the position of each actor along its reference path. An implicit representation of the speed is thus obtained. It is then possible to define collision zones in this space, and to optimize a trajectory avoiding these collisions.
  • Such a method is for example described in the document entitled “Priority-based coordination of autonomous and legacy vehicles at intersection” and published by J. Grégoire et al, in 2014 in IEEE ITSC.
  • Speed planning by stopping point systematically plans a stop with a comfortable deceleration to deal with situations, in order to guarantee safety. This implies that the impact on the speed profile is not necessarily immediate for the vehicle. However, in some cases stopping the vehicle is not necessary and simply decreasing the speed uphill may be enough to adapt to the situation. For example, when approaching a crossroads with priority on the right, if another vehicle is detected on the right-hand branch, priority must be given to it. In this case, depending on the distance available to it, the autonomous vehicle can reduce its speed so as to arrive at the crossroads once the other vehicle has passed. Moreover, the adjustment of the speed profile generates a new trajectory which it is necessary to verify at new entirely position by position, which makes certain situations long to deal with due to the systematic checking of collisions with other vehicles.
  • the coordination space approach is interesting but has the disadvantage of having a mathematical representation in several dimensions (one per robot involved). Thus, the problem quickly becomes complex. Moreover, the curve defined in the coordination space determines the relative trajectory of all the robots.
  • Optimization approaches may require significant processing time depending on the horizon considered and the constraints to be taken into account. They may also lack genericity at the level of the mathematical formalization of the problem, and may not be applicable to certain situations (shape of crossings, etc.). Indeed, it is necessary to include the constraints in the optimization problem in a mathematical form, which is sometimes complex.
  • Graph approaches use a representation requiring significant discretization to determine an appropriate and consistent velocity profile, which induces significant computation times.
  • An object of the present invention is to solve at least one of the disadvantages of the technological background.
  • An object of the present invention is to reduce the calculation times and/or to reduce the resources necessary for the calculation of a trajectory of a vehicle, in particular autonomous, moving in an environment with risks of collision with one or more moving objects.
  • Another object of the present invention is to allow the planning of an optimal trajectory for an autonomous vehicle in an environment in which one or more mobile objects move, while ensuring the safety of the vehicle and its passengers.
  • the invention relates to a method for controlling the speed of an autonomous vehicle, a determined path to be followed by the autonomous vehicle being associated with the autonomous vehicle, the method comprising the following steps: - determination of a collision zone between the autonomous vehicle and a mobile object along a first part of the path determined according to first current dynamic data of the autonomous vehicle and second data representative of a trajectory of the mobile object , the collision zone being defined by at least one spatial position along the first part of the path and by at least one temporal instant associated with the at least one spatial position;
  • the at least one second acceleration value is between a current acceleration value of the autonomous vehicle and the first acceleration value when the result of the comparison indicates that the autonomous vehicle avoids the moving object while passing before the mobile object, from a temporal point of view, along the first part of the path determined according to the first trajectory, the second trajectory corresponding to a trajectory along which the autonomous vehicle passes before the mobile object, from a temporal point of view, along said first part of the determined path.
  • the at least one second acceleration value is lower than the current acceleration value of the autonomous vehicle when the result of the comparison indicates that the autonomous vehicle does not avoid the moving object while passing before the mobile object, from a temporal point of view, along the first part of the path determined according to the first trajectory, the second trajectory corresponding to a trajectory along which the autonomous vehicle passes after the mobile object, from a temporal point of view, along the first part of the path determined.
  • At least two second acceleration values are associated with the second trajectory, the second trajectory comprising a first part according to which a second acceleration value among the at least two second acceleration values is negative and a second part consecutive to the second part according to which another second acceleration value among the at least two second acceleration values is zero or positive.
  • the determined path is discretized into a set of determined points, information representative of a maximum speed being associated with each point of the set of points, the second trajectory being further determined as a function of the associated maximum speeds at the determined set of points.
  • the second data representative of a trajectory of the mobile object are received by the autonomous vehicle according to a wireless link.
  • the invention relates to a device for controlling the speed of an autonomous vehicle, the device comprising a memory associated with a processor configured for the implementation of an architecture configured for the implementation of the steps of the method according to the first aspect of the invention.
  • the invention relates to a system for controlling the speed of an autonomous vehicle comprising a device as described above according to the second aspect of the invention and speed regulation means.
  • the invention relates to a vehicle, in particular autonomous, for example of the automotive type, comprising a device as described above according to the second aspect of the invention or a system as described above according to the third aspect of the invention.
  • the invention relates to a computer program which comprises instructions adapted for the execution of the steps of the method according to the first aspect of the invention, this in particular when the computer program is executed by at least one processor.
  • Such a computer program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
  • the invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for the execution of the steps of the method according to the first aspect of the invention.
  • the recording medium can be any entity or device capable of storing the program.
  • the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or even a magnetic recording means or a hard disk.
  • this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other ways.
  • the computer program according to the invention can in particular be downloaded from an Internet-type network.
  • the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.
  • FIG. 1 schematically illustrates an environment in which an autonomous vehicle operates, according to a particular embodiment of the present invention
  • FIG. 2 schematically illustrates a process for controlling the speed of the autonomous vehicle of FIG. 1, according to a particular embodiment of the present invention
  • FIG. 3 schematically illustrates a determined collision zone and trajectories for the autonomous vehicle of FIG. 1, according to a first particular embodiment of the present invention
  • FIG. 4 schematically illustrates a trajectory of the autonomous vehicle of FIG. 1 associated with determined collision zones, according to a second particular embodiment of the present invention
  • FIG. 5 schematically illustrates a trajectory of the autonomous vehicle of Figure 1 vis-à-vis a moving object crossing the path followed by the autonomous vehicle of Figure 1 when the autonomous vehicle passes before the moving object along the path, according to a particular embodiment of the present invention
  • FIG. 6 schematically illustrates a process for determining the trajectory of FIG. 5, according to a particular embodiment of the present invention
  • FIG. 7 schematically illustrates a first speed profile of the autonomous vehicle of FIG. 1 when the autonomous vehicle passes before the moving object along the path followed by the autonomous vehicle, according to a particular embodiment of the present invention
  • FIG. 8 schematically illustrates the trajectory of the autonomous vehicle according to the first speed profile of FIG. 7, according to a particular embodiment of the present invention
  • FIG. 9 schematically illustrates a second speed profile of the autonomous vehicle of figure 1 when the autonomous vehicle passes before the moving object along the path followed by the autonomous vehicle, according to a particular embodiment of the present invention
  • FIG. 10 schematically illustrates the trajectory of the autonomous vehicle according to the second speed profile of FIG. 9, according to a particular embodiment of the present invention
  • FIG. 11 schematically illustrates a third speed profile of the autonomous vehicle of FIG. 1 when the autonomous vehicle passes before the mobile object along the path followed by the autonomous vehicle, according to a particular embodiment of the present invention
  • FIG. 12 schematically illustrates the trajectory of the autonomous vehicle according to the third speed profile of FIG. 10, according to a particular embodiment of the present invention
  • FIG. 13 schematically illustrates a process for determining the trajectory of FIG. 8, 10 or 12, according to a particular embodiment of the present invention
  • FIG. 14 schematically illustrates a device configured for speed control of the autonomous vehicle of FIG. 1, according to a particular embodiment of the present invention
  • FIG. 15 schematically illustrates a flowchart of the different steps of a method for controlling the speed of the autonomous vehicle of FIG. 1, according to a particular embodiment of the present invention.
  • a method for controlling the speed of an autonomous vehicle comprises the determination of one or more collision zones between the autonomous vehicle and one or more moving objects along a path followed by the autonomous vehicle.
  • the collision zone or zones are determined as a function of first current dynamic data of the autonomous vehicle and of second data representative of a trajectory of each mobile object.
  • a collision zone is advantageously defined by one or more points, each of these points being associated with a spatial position along the path and a time instant.
  • a first trajectory for the autonomous vehicle is determined on the basis of a first acceleration value applied to the path, over at least part of this path.
  • the first acceleration value advantageously corresponds to the maximum acceleration value of the autonomous vehicle.
  • This first trajectory is compared to the first collision zone to verify that the autonomous vehicle avoids the first mobile by passing before the mobile object along the path when the autonomous vehicle follows the first trajectory.
  • a second trajectory for the autonomous vehicle is determined by applying at least a second acceleration value to the path. This at least one second acceleration value is obtained as a function of the result of the comparison, the at least one second acceleration value being determined so that the autonomous vehicle avoids the first collision zone.
  • the speed of the autonomous vehicle is then controlled from the at least one second acceleration value, the determined speed values being for example supplied to means for regulating the speed on board the autonomous vehicle.
  • Such a method makes it possible to generate a speed profile along a given path making it possible to adjust the movement of the autonomous vehicle to the dynamic obstacles of its environment. It makes it possible in particular to define a reduced speed in order to pass after a moving object, for example another vehicle, in an intersection while minimizing the reduction in speed. It also makes it possible to adjust the acceleration for starting and entering dense traffic, while guaranteeing suitable safety distances.
  • the following vocabulary will be used in the rest of the description:
  • a path corresponds to a geometric object representing the spatial displacement of a vehicle without considering speed.
  • the representation of the path and its discretization are therefore independent of time, such a representation being for example arbitrary (fixed or determined number of points) or determined by a length between each point;
  • a trajectory is a geometric object representing the spatial and temporal movement of a vehicle.
  • the representation of a trajectory and its discretization are directly dependent on time: each point of a trajectory is advantageously associated with a time at which the position will be reached;
  • a path/speed couple corresponds to the association of a speed to be respected (or setpoint speed) at each point of the path, such an association also being called speed profile on the path.
  • a path/speed pair is for example transformed into a trajectory by resampling the points of the path so that each point of the trajectory corresponds to the position reached after having traversed the path for a given time interval while following the speed profile.
  • FIG. 1 schematically illustrates an environment 1 in which an autonomous vehicle 10 moves, according to a particular and non-limiting embodiment of the present invention.
  • FIG. 1 illustrates a portion of the road environment 1 in which the vehicle 10 travels.
  • This environment corresponds for example to an urban environment.
  • the vehicle 10 is approaching a crossroads.
  • the vehicle 10 advantageously corresponds to an autonomous vehicle.
  • An autonomous vehicle corresponds to a vehicle equipped with an advanced driving assistance system providing control of the vehicle which is capable of driving in its road environment with limited intervention from the driver, or even without intervention from the driver.
  • a vehicle authorizing such an autonomous driving mode must have a driving level autonomous at least equal to 2, whether in the classification published by the federal agency responsible for road safety in the USA which comprises 5 levels or in the classification published by the international organization of automobile manufacturers which comprises 6 levels.
  • the vehicle 10 corresponds for example to a vehicle with a heat engine, an electric vehicle or a hybrid vehicle (combining heat engine and electric motor).
  • the vehicle 10 advantageously follows a route 101 in the environment 1, this route being for example calculated from a set of data comprising for example the current position of the vehicle 10 and a destination.
  • the data further comprises data for mapping the environment of the vehicle 10.
  • the position of the vehicle 10 is for example obtained via a satellite location system, for example a GPS system (from the English “Global Positioning System” or in French “Global Positioning System”).
  • a satellite location system for example a GPS system (from the English “Global Positioning System” or in French “Global Positioning System”).
  • a system is for example integrated into the vehicle 10, for example implemented by a computer of the on-board system of the vehicle 10, or by a mobile device (for example a smart phone) on board the vehicle 10 and communicating with the vehicle 10 by radio link (for example in Bluetooth® or Wifi®).
  • the destination is for example entered by the driver of the vehicle 10 into a route calculation system via a tactile graphical interface or a voice-activated interface.
  • a route calculation system via a tactile graphical interface or a voice-activated interface.
  • Such a system is for example implemented by a computer of the on-board system of the vehicle 10, or by a mobile device (for example a smart telephone) on board the vehicle 10 and communicating with the vehicle 10 by radio link.
  • the mapping data is for example received from a remote server, for example as the vehicle 10 moves.
  • the mapping data is stored in the memory of a system on board the vehicle 10 and /or in memory of the mobile device.
  • the vehicle 10 advantageously obtains a set of data representative of the environment 1 in which the vehicle 10 is moving.
  • the second data includes for example: - data on the presence of static or dynamic obstacle(s) (for example another vehicle 11, a pedestrian 12, a cyclist) in the environment of the vehicle 10, these data comprising for example distance information between each obstacle and the vehicle 10, the shape and/or the gauge of each obstacle and/or information on the trajectory followed by each dynamic obstacle;
  • - data associated with the road environment such as for example information on speed limits, on the presence of traffic signs, traffic lights (with for example the status of the traffic light), information on road traffic in the environment 1 , on the presence of works, on the climatic conditions, i.e. any information or data likely to have an impact on the traffic conditions of the vehicle 10 and on the rules of conduct to be adopted by the vehicle 10.
  • the environment data are for example obtained from one or more sensors on board the vehicle 10.
  • sensors are associated with or form part of one or more detection systems of object on board the vehicle 10, the data obtained from this or these sensors making it possible, for example, to determine the speed of the object or objects detected in the environment of the vehicle 10 and/or the nature or the type of the objects detected (panel, vehicle 11 , pedestrian 12, the type of the object being for example determined by classification or by implementing artificial intelligence).
  • This or these object detection systems are for example associated with or included in one or more driving assistance systems, called ADAS system(s) (from the English "Advanced Driver-Assistance System” or in French " Advanced driver assistance system”).
  • the sensor(s) associated with these object detection systems correspond, for example, to one or more of the following sensors:
  • each radar is adapted to emit electromagnetic waves and to receive the echoes of these waves returned by one or more objects, with the aim of detecting obstacles and their distances vis-à-vis the vehicle 10; and or - one or more LIDAR(s) (from the English "Light Detection And Ranging", or
  • a LIDAR sensor corresponding to an optoelectronic system composed of a laser transmitter device, a receiver device comprising a light collector (to collect the part of the light radiation emitted by the emitter and reflected by any object located on the path of the light rays emitted by the emitter) and a photodetector which transforms the collected light into an electrical signal; a LIDAR sensor thus makes it possible to detect the presence of objects located in the light beam emitted and to measure the distance between the sensor and each object detected; and or
  • one or more cameras associated or not with a depth sensor for the acquisition of one or more images of the environment around the vehicle 10 located in the field of vision of the camera or cameras.
  • the second data are for example obtained via a communication system of the V2X type (from the English “Vehicle to Everything” or in French “Véhicule vers tout”).
  • the second data is obtained both from the V2X communication system and from the sensor or sensors on board the vehicle 10.
  • the data relating to the presence of another vehicle 11 or of a pedestrian 12 in the environment 1 of the vehicle 10 are communicated by the vehicle 11 or the pedestrian to the vehicle 10, via a wireless link according to a vehicle-to-vehicle communication mode called V2V (from the English "vehicle-to-vehicle") or a vehicle-to-pedestrian communication mode called V2P (vehicle-to-pedestrian), or via an infrastructure set up as part of a vehicle-to-infrastructure communication V2I (of the English "vehicle-to-infrastructure"), as part of a network infrastructure using communication technologies such as ITS G5 (from English "Intelligent Transportation System G5" or in French “Systdiag de transport intelligent G5" ) in Europe or DSRC (from the English “Dedicated Sh ort Range Communications” or in French “Dedicated short-range communications”) in the United States of America, both of which are based on the IEEE 802.11 p standard or the technology based on cellular
  • This data transits, for example, via a network infrastructure comprising one or more cloud servers 100 (or “cloud” in French) and one or more antennas and/or one or more UBR (“Roadside Unit”) 110.
  • a network infrastructure comprising one or more cloud servers 100 (or “cloud” in French) and one or more antennas and/or one or more UBR (“Roadside Unit”) 110.
  • the vehicle 10 advantageously implements a collision avoidance process with the moving objects 11, 12 in its environment by determining a trajectory to follow to avoid these moving objects, as described with reference to FIG. 2 and the following figures. Knowing the path to follow, the determination of a trajectory amounts to determining acceleration values to be applied, from which result setpoint speed values for the autonomous vehicle 10 to be associated with the points forming the path.
  • the determination of the trajectory is for example also implemented by respecting a set of constraints such as a maximum speed for each point of the path that the autonomous vehicle 10 must respect, such a maximum speed determined according to the situation (for example maximum authorized speed, wheel clutter, danger, priority to yield).
  • the speed regulation is for example implemented by an ADAS system of the autonomous vehicle such as a speed regulation system, for example an adaptive cruise control system, called ACC (from the English "Adaptive Cruise Control ").
  • a speed regulation system for example an adaptive cruise control system, called ACC (from the English "Adaptive Cruise Control ").
  • the vehicle 10 follows a path 101
  • the vehicle 11 follows a path 111
  • the pedestrian 12 follows a path 121 .
  • FIG. 2 schematically illustrates a process for controlling the speed of an autonomous vehicle, for example the vehicle 10, according to a particular and non-limiting example embodiment of the present invention.
  • a process is advantageously implemented by one or more processors of one or more onboard computers in the autonomous vehicle 10.
  • a so-called comfort trajectory is determined from determined acceleration and deceleration values corresponding for example to so-called comfort values as a function of the route of the path.
  • comfort acceleration or deceleration values correspond for example to the current acceleration or deceleration values of the autonomous vehicle 10.
  • a second operation 21 the comfort trajectory is tested to check whether this comfort trajectory leads to a collision with one or more moving objects in the environment.
  • An example of the implementation of such a check is described below, in particular with regard to figures 3 and 4.
  • a collision zone between the autonomous vehicle and for example the first mobile object (for example the vehicle 11) likely to collide with the autonomous vehicle 10 is determined according to first current dynamic data of the autonomous vehicle 10 and second data representative of a trajectory of the mobile object 12, the path followed by the autonomous vehicle 10 being known.
  • a collision zone is for example represented by one or more points along the path, a time instant being associated with each of these points representing the collision instant.
  • the comfort trajectory is validated in a third operation and the vehicle follows this comfort trajectory.
  • the comfort acceleration and deceleration values make it possible to determine setpoint speeds to be associated with each point of the path for the vehicle 10. The process then ends with the third operation 22.
  • a trajectory allowing the autonomous vehicle to avoid the detected collision with the mobile object according to the comfort trajectory is sought, with the constraint that the autonomous vehicle passes the collision zone along the path before the moving object from a temporal point of view.
  • a first trajectory is calculated by taking as acceleration value the maximum permissible or possible acceleration value for the autonomous vehicle 10.
  • This first trajectory is tested to verify whether it causes a collision with the moving object 12 or whether it allows the autonomous vehicle 10 to avoid the collision by passing before the moving object.
  • a seventh operation 26 the acceleration value or values for this trajectory thus determined make it possible to determine the setpoint speeds to be associated with each point of the path for the vehicle 10. The process then ends with this seventh operation 26.
  • a trajectory allowing the autonomous vehicle to avoid the detected collision with the mobile object is sought, with the constraint that the autonomous vehicle passes the collision zone along the path after the mobile object of a temporal point of view.
  • a set of trajectories is determined, as explained with regard to FIGS. 7 to 13 according to particular embodiments.
  • one of these trajectories is selected according to, for example, determined criteria (for example minimum travel time, least intense braking, etc.).
  • determined criteria for example minimum travel time, least intense braking, etc.
  • a trajectory allowing the vehicle 10 to pass before the mobile object is determined (when such a trajectory exists) and a trajectory allowing the vehicle 10 to pass after the mobile object is also determined.
  • a selection from among these two trajectories is then implemented according to determined criteria (comfort criteria (for example lowest acceleration or deceleration), shortest travel time, etc.).
  • FIG. 3 schematically illustrates a determined collision zone 30 and trajectories 31, 32, 33 for the autonomous vehicle 10, according to a particular and non-limiting embodiment of the present invention.
  • constraints Two types of constraints on the movement of the vehicle 10 are defined: spatial constraints and temporal constraints.
  • the spatial constraints correspond to the speed constraints to be respected at a given position.
  • Vmax(s) i.e. the maximum speed at the abscissa point s.
  • Vmax(s) the maximum speed at the abscissa point s.
  • the temporal constraints correspond to the spatio-temporal configurations at which the vehicle collides with a dynamic obstacle. These are regions t/s that the trajectory of the vehicle 10 must not cross to guarantee collision avoidance. This constraint does not directly involve speed.
  • a trajectory 31, 32, 33 of the vehicle 10 is represented by a curve whose tangent corresponds to the inverse of the speed.
  • the trajectory 31 corresponds to a slow speed
  • the trajectory 32 corresponds to an intermediate speed (between slow and fast)
  • the trajectory 33 corresponds to a fast speed, that is to say a speed more high than medium speed and slow speed. It is thus possible to represent a speed constraint by a constraint on the tangent of the curve representing the trajectory at a given position.
  • one or more collision zones 30 it is necessary to determine, for each point of the path (represented by its curvilinear abscissa Si), at what times it is accessible and at what times it is in collision with the various obstacles.
  • the configuration (Si,tj) is in collision if there is a dynamic obstacle 11, 12 such that its prediction at time tj is in collision with the position of the vehicle 10 at the position Si on the path vs.
  • the s-axis and the t-axis are discretized. There is thus an effect related to this discretization which means that the exact collision configuration is not known. It is then necessary to propagate the constraints in the discrete space.
  • FIG. 4 presents an example of the result of this search for collisions for a bend in the road, with a vehicle 12 in front of the vehicle 10 and a pedestrian crossing after the bend.
  • the zones 43 and 42 represent the prohibited zones with respect to the vehicle 11 and the pedestrian 12 respectively (the rest of the zone 44 in dark gray representing the absence of a collision). It can be seen that the comfort trajectory of the vehicle 10 (shown in white 41 on the s/t plan) passes before vehicle 11 in front but collides with pedestrian 12.
  • Collisions are for example tested taking into account a safety distance of 1 second in front of dynamic obstacles (this duration being configurable, for example equal to 2 s).
  • this duration being configurable, for example equal to 2 s.
  • the position s corresponds to the reference position of the vehicle 10 during the calculation of the collisions. According to a particular example, it is the middle of the rear axle of the vehicle 10. As the complete representation of the overall dimensions of the vehicle is tested, this means that if a configuration (Si,tj) is without collision, then the middle of the rear axle of the vehicle 10 can be made of Si without collision. The representation naturally includes the length of the vehicle 10.
  • a safety distance in front of the vehicle 10 is for example taken into account, this safety distance depending on the speed. It is thus possible to trace two trajectories in the s/t plane: a trajectory corresponding to the middle of the rear axle, and a trajectory corresponding to the limit point of the vehicle 10, that is to say the reference position plus the safety distance related to speed.
  • a trajectory corresponding to the middle of the rear axle a trajectory corresponding to the limit point of the vehicle 10 that is to say the reference position plus the safety distance related to speed.
  • Figure 4 shows the implementation of this example.
  • the grid represents the cells of the collision matrix, and the white cells 41 represent the cells tested to ensure the validity of the trajectory.
  • Bounding box filtering methods when checking intersections are also optionally implemented to speed up processing.
  • the s/t plane is considered without temporal constraint linked to dynamic obstacles (corresponding to moving objects 11, 12) to begin with.
  • the initial speed vo of the vehicle 10 is known, and the initial time to is fixed at 0.
  • the objective is to give, for each point Si, the associated velocity vi.
  • a first conclusion at this stage is that it is not possible to represent a stop followed by a restart, because for that it would be necessary to be able to associate two different speeds at the same point. It is therefore fixed that a shutdown is final in a planning step. It is the reactive aspect of the method that will allow the restart when the conditions are favorable.
  • the method seeks to reach the setpoint speed from the initial speed in an iterative manner. From the last constructed point, if possible, the speed at the next point is increased (respecting the acceleration constraints) to approach or reach the setpoint speed at the next point.
  • the dichotomy is stopped. If we have a last acceptable configuration, we use this one. Otherwise, it is concluded that it is not possible to pass before obstacle A because of the other obstacles in the environment of vehicle 10.
  • the number of iterations to be performed can be determined.
  • the difference between the bounds used being halved at each iteration, to have a difference between the bounds less than £acc, a number of iterations N is required which verifies:
  • FIG. 6 schematically illustrates a process for determining the trajectory of the vehicle 10 passing before the obstacle A, for example the vehicle 11, according to a particular embodiment of the present invention.
  • the following notations are used:
  • the trajectory T0 32 is determined to be invalid in that it crosses the collision zone 30.
  • the trajectory T0 corresponds to the current trajectory of the vehicle 10 and/or to a so-called comfort trajectory of the vehicle 10.
  • a second operation 601 the trajectory T1 with the maximum acceleration value aion.m of the vehicle 10 is calculated.
  • a third operation 602 the trajectory T1 is tested to determine if it is valid, that is to say if it crosses the collision zone 30.
  • the process ends with the fourth operation 603 and it is concluded that there is no trajectory allowing the vehicle 10 to pass before the obstacle A (the vehicle 11 for example) from a temporal point of view.
  • amin takes the value aion.c and amax takes the value aion,m.
  • ai (amin + amax)/2.
  • the trajectory T2 is calculated using as acceleration value ai determined in operation 606.
  • the trajectory T2 is tested to determine if it is valid, that is to say if it crosses the collision zone 30.
  • trajectory T2 is declared valid (no collision)
  • amax receives the value of ai and trajectory T2 becomes trajectory T1 in a tenth operation 609.
  • trajectory T2 is declared invalid (collision with zone 30), then amin receives the value of ai in an eleventh operation 610.
  • the deceleration value used is -3 m.s' 2 for example, and the acceleration is 1 ms -2 for example.
  • FIG. 7 presents the general form of the velocity profile 71 obtained with this approach, the velocity profile v being a function of the course along the path s.
  • a profile comprises a first portion with a constant speed, followed by a second portion with a decreasing speed, followed by a third portion with an increasing speed.
  • FIG. 8 illustrates a trajectory 81 of the vehicle 10, according to the speed profile 71, avoiding the collision zone 30 (that is to say the obstacle) by passing after the mobile object, for example the vehicle 11 .
  • Figure 9 shows the general shape of the velocity profile.
  • Figure 9 presents the general shape of the velocity profile 91 obtained with this approach, the velocity profile v being a function of the course along the path s. Such a profile includes a first portion with decreasing speed, followed by a second portion with increasing speed.
  • FIG. 10 illustrates a trajectory 1001 of the vehicle 10, according to the speed profile 91 , avoiding the collision zone 30 (that is to say the obstacle) by passing after the mobile object, for example the vehicle 11 .
  • This second approach is more effective than the first, but still requires strong acceleration/deceleration. This could also cause oscillations if the obstacle were to move and modify the collision zone in the s/t plane.
  • the third approach seeks a constant speed at which to stabilize the vehicle 10 until the obstacle is passed, which allows comfortable and effective anticipation.
  • Figure 11 shows the general velocity profile obtained.
  • Figure 11 shows the general shape of the velocity profile 1101 obtained with this approach, the velocity profile v being a function of the travel along the path s.
  • Such a profile comprises a first portion with a decreasing speed, followed by a second portion with a constant speed at a minimum value followed by a third portion with an increasing speed.
  • FIG. 12 illustrates a trajectory 1201 of the vehicle 10, according to the speed profile 1101 , avoiding the collision zone 30 (that is to say the obstacle) by passing after the mobile object, for example the vehicle 11 .
  • the three trajectories have reached the set speed, which means that the difference found between the trajectories becomes constant. It is then possible to evaluate the final time difference between each trajectory, illustrated in the table below.
  • the first approach is the least efficient in terms of travel time.
  • the other two approaches have a fairly similar travel time, the second approach being slightly more efficient than the third approach on this point.
  • the integral of the acceleration corresponds to the accumulation of the action on the acceleration and the braking that will have had to be applied to the manoeuvre.
  • approach 3 is the one which reduces the speed the least and which, consequently, requires the least action on the acceleration. It is therefore the most efficient method from an energy point of view. Given the small time difference and the advantages over the cumulative acceleration, approach 3 is selected to determine the trajectory of the vehicle 10 passing after the obstacle to avoid it.
  • FIG. 13 schematically illustrates a process for determining the trajectory of the vehicle 10 passing after the obstacle A, for example the vehicle 11, according to a particular embodiment of the present invention.
  • Such a process is optimized by implementing dichotomies limiting the number of points to be processed.
  • the trajectory T0 31 is determined to be invalid in that it crosses the collision zone 30.
  • the trajectory T0 corresponds to the current trajectory of the vehicle 10 and/or to a so-called comfort trajectory of the vehicle 10.
  • dmin takes the value of dion.c
  • dmax takes the value of dion
  • max and di takes the value of dmin.
  • the braking trajectory T1 is calculated until the vehicle 10 comes to a stop with the deceleration value di.
  • the trajectory T1 is tested to determine if it is valid, that is to say if it crosses the collision zone 30.
  • Operations 1301 to 1306 form the part of the process corresponding to a dichotomous search for the stopping trajectory T1 before the obstacle with the most comfortable possible deceleration.
  • a ninth operation 1308, the trajectory T1 is tested to determine if it is valid, that is to say if it crosses the collision zone 30.
  • trajectory T1 with the new parameters is not valid (no trajectory T1 is then determined as valid)
  • a trajectory with a maximum deceleration value is calculated and used in the tenth operation 1309, which corresponds to the end of the process.
  • T1 is validated as being a trajectory with a stopping point before the collision with the obstacle A in an eleventh operation 1310.
  • the following operations 1311 to 1317 form the part of the process corresponding to a dichotomous search for the first point of the trajectory T1 from which it is possible to maintain the speed to pass after the obstacle.
  • imin takes the value 1
  • imax takes the value (N+1), with N the number of points of the trajectory T1.
  • imid takes the value (imin+imax)/2.
  • a trajectory T2 following the trajectory T1 is calculated up to the point imid, with then keeping a constant speed from this point imid.
  • the trajectory T2 is tested to determine if it is valid, that is to say if it avoids the collision with the obstacle.
  • trajectory T2 is not valid (collision)
  • the process continues with the sixteenth operation 1315 according to which imin takes the value of imid.
  • the following operations 1318 to 1324 form the part of the process corresponding to a dichotomous search for the first point of the trajectory T3 from which it is possible to reach the setpoint speed.
  • imax takes as value (N+1), with N the number of points of the trajectory T3.
  • imid takes the value (imin+imax)/2.
  • a trajectory T4 following the trajectory T3 up to the point imid, then which joins the initial setpoint speed is calculated.
  • the trajectory T4 is tested to determine if it is valid, that is to say if it avoids the collision with the obstacle. If the trajectory T4 is not valid (collision), the process continues with the twenty-third operation 1322 according to which imin takes the value of imid.
  • the present adaptation method will lead to a deceleration profile by successive speed stages, which will not necessarily be comfortable. It is then possible, in this case, to determine a stopping path respecting collision avoidance.
  • the index of a point corresponds to its number in the set of ordered points of the trajectory: the first point is at index 1, etc.
  • iii the optimal speed stabilization index
  • all the possible trajectories are calculated with these indices. These trajectories are classified into three categories:
  • the optimal trajectory is in category 3, with the lowest possible indices. To reach it, it is necessary to be able to define a direction of optimization of the indices according to the result.
  • the following rules are defined: - If the trajectory is in collision with the pedestrian, then you have to brake longer (or earlier if you cannot brake more): if you are in category 1, you have to go up, i.e. increase Î2;
  • the method does not generalize well to more than two obstacles, or to obstacles in different configurations. For example, if there is a third forbidden zone above the second, the algorithm no longer finds a solution, although there is one.
  • the difficulty in finding a solution here comes from the fact that there is no gradient expressed according to the validity or not of a trajectory, so it is not possible to determine in which direction to modify the parameters in the general case.
  • One way to limit the complexity of the previous problem can be to reduce the complete problem into sub-problems cut out along the longitudinal axis of the path.
  • a comfort trajectory TV0 which is analyzed with respect to the collision matrix representing the plane s/t. If a collision is detected with an obstacle named A*, then the trajectory is adjusted to avoid A* (by passing before or after, or both), by limiting the adjustment to obstacles located before A* (obstacles encountered before on the longitudinal and temporal axis).
  • A* obstacle located before A* (obstacles encountered before on the longitudinal and temporal axis).
  • a first section of valid trajectory is calculated up to the passage of the obstacle A* using the procedures with 1 or 2 obstacles depending on the situation.
  • processing is resumed from of the waypoint of A* and the process continues.
  • the global result will be potentially sub-optimal compared to a result that would take into account the whole situation, but it will be updated with the reactive aspect of the method.
  • DynamicAdaptation procedure (C: path, O: obstacle prediction): Determine the collision matrix CM between the path C and the predictions O Calculate the comfort trajectory TV0 on C
  • the test function returns the Boolean Valid indicating whether the trajectory is in collision or not. If the trajectory is in collision, then the function also returns the obstacle A* in collision.
  • the previous adaptation step either produced a valid trajectory with respect to A*, or an emergency trajectory. If the test reveals that the trajectory TVO is in collision with the same obstacle A*, then the previous adaptation has necessarily produced an emergency trajectory which must not be processed again.
  • the TVO trajectory is invalid with respect to A*.
  • the procedure “VerifyAndAdapt” is recursive, it allows to simply write the fact that we are going to adapt the trajectory by successive pieces.
  • the procedures “PassBefore” and “PassAfter” execute the associated adaptations presented above.
  • the index at the top of the stack [I] indicates from which index to start the adaptation, and the element at the top of the stack [A] indicates the last obstacle passed by the adapted trajectory. This makes it possible not to systematically question the entire trajectory but to make local adaptations. If it is impossible to carry out the adaptation, the elements of these stacks are popped progressively to alleviate the constraints, which makes it possible to carry out the adaptation from a point further upstream on the trajectory.
  • the "PassBefore” and “PassAfter” procedures stack on [A] the obstacle A* considered for the adaptation, and on [I] the passage index of this obstacle, then return these updated stacks day.
  • the [Trajs] list is sent in each call to the procedure, which makes it possible to collect in it all the valid trajectories over the entire horizon.
  • FIG. 14 schematically illustrates a device 14 configured to control the speed of an autonomous vehicle, for example the autonomous vehicle 10, according to a particular and non-limiting example embodiment of the present invention.
  • the device 14 corresponds for example to a device on board the vehicle 10, for example a computer.
  • the device 14 is for example configured for the implementation of the operations described with regard to FIGS. 1 to 13 and/or for the implementation of the steps described with regard to FIG. 15.
  • Examples of such a device 14 comprise, without being limited thereto, on-board electronic equipment such as a vehicle's on-board computer, an electronic computer such as an ECU ("Electronic Control Unit"), a smart phone, a tablet, a laptop computer.
  • ECU Electronic Control Unit
  • the elements of device 14, individually or in combination, can be integrated into a single integrated circuit, into several integrated circuits, and/or into discrete components.
  • the device 14 can be made in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules.
  • the device 14 is coupled in communication with other devices or similar systems and/or with communication devices, for example a TCU (from the English "Telematic Control Unit” or in French “Unotti de Contrcom Télématique”), for example via a communication bus or at the through dedicated input/output ports.
  • a TCU from the English "Telematic Control Unit” or in French "Unotti de Contrcom Télématique
  • the device 14 comprises one (or more) processor(s) 140 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software or software embedded in the device 14.
  • the processor 140 can include integrated memory, an input/output interface, and various circuits known to those skilled in the art.
  • the device 14 further comprises at least one memory 141 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which can comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.
  • the computer code of the on-board software or software comprising the instructions to be loaded and executed by the processor is for example stored on the memory 141 .
  • the device 14 comprises a block 142 of interface elements for communicating with external devices, for example a remote server or the “cloud”.
  • Block 142 interface elements include one or more of the following interfaces:
  • radiofrequency interface for example of the Bluetooth® or Wi-Fi® type, LTE (from English “Long-Term Evolution” or in French “Evolution à long terme”), LTE-Advanced (or in French LTE-advanced );
  • USB interface from the English “Universal Serial Bus” or “Universal Serial Bus” in French);
  • Data are for example loaded to the device 14 via the block 142 interface using a Wi-Fi® network such as according to IEEE 802.11, an ITS G5 network based on IEEE 802.11 p or a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G, in particular an LTE-V2X network.
  • a Wi-Fi® network such as according to IEEE 802.11, an ITS G5 network based on IEEE 802.11 p or a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G, in particular an LTE-V2X network.
  • the device 14 comprises a communication interface 143 which makes it possible to establish communication with other devices (such as other computers of the on-board system) via a communication channel 1430.
  • the interface communication interface 143 corresponds for example to a transmitter configured to transmit and receive information and/or data via the communication channel 1430.
  • the communication interface 143 corresponds for example to a wired network of the CAN type (from the English “ Controller Area Network” or in French “Network of controllers”), CAN FD (from English “Controller Area Network Flexible Data-Rate” or in French “Network of controllers with flexible data rate”), FlexRay (standardized by the ISO 17458 standard) or Ethernet (standardized by ISO/IEC 802-3 standard).
  • the device 14 can provide output signals to one or more external devices, such as a display screen, one or more loudspeakers and/or other peripherals respectively via interfaces output not shown.
  • one or more external devices such as a display screen, one or more loudspeakers and/or other peripherals respectively via interfaces output not shown.
  • FIG. 15 illustrates a flowchart of the different steps of a method for controlling the speed of an autonomous vehicle, for example the vehicle 10, according to a particular and non-limiting example embodiment of the present invention.
  • the method is for example implemented by one or more devices on board the vehicle 10 or by one or more devices 14 of Figure 14.
  • a collision zone between the autonomous vehicle and a moving object along a first part of the determined path is determined according to first current dynamic data of the autonomous vehicle and second data representative of a trajectory of the moving object, the collision zone being defined by at least one spatial position along the first part of the path and by at least one temporal instant associated with the at least one spatial position.
  • a first trajectory for the autonomous vehicle is determined by applying a first acceleration value to the first part of the determined path, the first acceleration value corresponding to a maximum acceleration value of the autonomous vehicle.
  • the first trajectory and the collision zone are compared to verify that the autonomous vehicle avoids the mobile object by passing before the mobile object along the first part of the path determined according to the first trajectory.
  • a second trajectory for the autonomous vehicle is determined by applying at least one second acceleration value to the determined path, the at least one second acceleration value being a function of a result of the comparison, the at least one at least a second acceleration value being determined so that the autonomous vehicle avoids the collision zone.
  • a fifth step 155 the speed of the autonomous vehicle is controlled according to the at least one second acceleration value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Traffic Control Systems (AREA)

Abstract

L'invention concerne un procédé et un dispositif de contrôle de la vitesse d'un véhicule autonome (10). A cet effet, une zone de collision entre le véhicule (10) et un objet mobile (11) est déterminée le long d'un chemin (101) suivi par le véhicule (10). La zone de collision est déterminée en fonction de premières données dynamiques courantes du véhicule (10) et de deuxièmes données représentatives d'une trajectoire de l'objet mobile (11). Une première trajectoire pour le véhicule autonome est déterminée. Cette première trajectoire est comparée à la première zone de collision pour vérifier que le véhicule autonome évite l'objet mobile (11) en passant avant l'objet mobile. Une deuxième trajectoire pour le véhicule autonome est déterminée en appliquant une deuxième valeur d'accélération. Cette deuxième valeur d'accélération est obtenue en fonction du résultat de la comparaison.

Description

DESCRIPTION
Titre : Procédé et dispositif de contrôle de vitesse d’un véhicule autonome
Domaine technique
La présente invention revendique la priorité de la demande française 2109439 déposée le 9.09.2021 dont le contenu (texte, dessins et revendications) est ici incorporé par référence. L’invention concerne les procédés et dispositifs de contrôle de vitesse d’un véhicule autonome. L’invention concerne également un procédé et un dispositif de détermination d’une trajectoire de véhicule, notamment un véhicule autonome.
L’invention concerne également un procédé et un dispositif de planification de la trajectoire d’un véhicule, notamment un véhicule autonome. L’invention concerne également un procédé et un dispositif de contrôle de la trajectoire d’un véhicule, notamment un véhicule autonome.
Arrière-plan technologique
Avec le développement des véhicules autonomes, des besoins en termes de planification de la trajectoire à suivre, notamment en fonction de la géométrie de la route et/ou de l’environnement autour du véhicule autonome, sont apparus.
Certaines méthodes de planification de trajectoire d’un véhicule autonome utilisent la détermination d’un profil de vitesse adapté aux obstacles dynamiques en recherchant les collisions futures entre le véhicule autonome et les prédictions des obstacles dynamiques. Si une collision est trouvée, un point d’arrêt est imposé avant la collision de façon à définir un profil de vitesse de freinage lissé avant la collision. Une telle méthode est par exemple décrite dans le document intitulé « Jerk-Limited Time-Optimal Speed Planning for Arbitrary Paths », publié par A. Artunedo ét al, le 12 mai 2021.
D’autres méthodes utilisent la coordination de robots utilisant l’espace de coordination pour définir les trajectoires relatives de plusieurs robots entre eux afin d’éviter les collisions, ces méthodes étant appliquées dans le domaine automobile. L’espace de coordination consiste à représenter les trajectoires d’un ensemble d’acteurs par une courbe représentant l’évolution de la position de chaque acteur le long de son chemin de référence. Une représentation implicite de la vitesse est ainsi obtenue. Il est alors possible de définir des zones de collision dans cet espace, et d’optimiser une trajectoire évitant ces collisions. Une telle méthode est par exemple décrite dans le document intitulé « Priority-based coordination of autonomous and legacy vehicles at intersection » et publié par J. Grégoire et al, en 2014 dans IEEE ITSC.
D’autres méthodes réalisent une optimisation numérique d’un modèle mathématique du véhicule ou de la vitesse, basée sur un critère (de confort ou d’efficacité énergétique) à minimiser. Un exemple d’une telle méthode est décrit dans le document intitulé « Hybrid Trajectory Planning for Autonomous Driving in Highly Constrained Environments » publié par Y. ZHANG et al, en 2018 dans IEEE Access (approche basée sur l’optimisation sous contrainte d’une fonction objective pour maximiser la vitesse).
Enfin, d’autres méthodes encore exploitent des approches par graphes pour calculer un profil de vitesse adapté, tel que par exemple la méthode décrite dans le document intitulé « Real-Time Safe Stop Trajectory Planning via Multidimensional Hybrid A*- Algorithm » et publié par L. WANG et al, en 2020 dans IEEE ITSC (calcul d’un profil de vitesse par recherche d’un chemin dans un graphe multidimensionnel).
La planification de vitesse par point d’arrêt prévoit systématiquement un arrêt avec une décélération confortable pour traiter les situations, afin de garantir la sécurité. Ceci implique que l’impact sur le profil de vitesse n’est pas nécessairement immédiat pour le véhicule. Cependant, dans certains cas, l’arrêt du véhicule n’est pas nécessaire et une simple diminution de la vitesse en amont peut être suffisante pour s’adapter à la situation. Par exemple, à l’approche d’un carrefour avec priorité à droite, si un autre véhicule est détecté sur la branche de droite, il faut lui céder la priorité. Dans ce cas, selon la distance dont il dispose, le véhicule autonome peut réduire sa vitesse de façon à arriver dans le carrefour une fois que l’autre véhicule est passé. De plus, l’ajustement du profil de vitesse génère une nouvelle trajectoire qu’il est nécessaire de vérifier à nouveau entièrement position par position, ce qui rend certaines situations longues à traiter en raison de la vérification systématique des collisions avec les autres véhicules.
L’approche de l’espace de coordination est intéressante mais présente l’inconvénient d’avoir une représentation mathématique en plusieurs dimensions (une par robot impliqué). Ainsi, le problème devient vite complexe. De plus, la courbe définie dans l’espace de coordination détermine la trajectoire relative de tous les robots.
Les approches par optimisation peuvent nécessiter un temps de traitement important en fonction de l’horizon considéré et des contraintes à prendre en compte. Elles peuvent également manquer de généricité au niveau de la formalisation mathématique du problème, et ne pas être applicables à certaines situations (forme des croisements etc...). En effet, il est nécessaire d’inclure les contraintes dans le problème d’optimisation sous une forme mathématique, ce qui est parfois complexe.
Les approches par graphes utilisent une représentation nécessitant une discrétisation importante pour déterminer un profil de vitesse approprié et cohérent, ce qui induit des temps de calcul importants.
Résumé de l’invention
Un objet de la présente invention est de résoudre au moins un des inconvénients de l’arrière-plan technologique.
Un objet de la présente invention est de réduire les temps de calcul et/ou de diminuer les ressources nécessaires au calcul d’une trajectoire d’un véhicule, notamment autonome, évoluant dans un environnement avec risques de collision avec un ou plusieurs objets mobiles.
Un autre objet de la présente invention est de permettre la planification d’une trajectoire optimale pour un véhicule autonome dans un environnement dans lequel se déplacent un ou plusieurs objets mobiles, en assurant la sécurité du véhicule et de ses passagers.
Selon un premier aspect, l’invention concerne un procédé de contrôle de vitesse d’un véhicule autonome, un chemin déterminé à suivre par le véhicule autonome étant associé au véhicule autonome, le procédé comprenant les étapes suivantes : - détermination d’une zone de collision entre le véhicule autonome et un objet mobile le long d’une première partie du chemin déterminé en fonction de premières données dynamiques courantes du véhicule autonome et de deuxièmes données représentatives d’une trajectoire de l’objet mobile, la zone de collision étant définie par au moins une position spatiale le long de la première partie du chemin et par au moins un instant temporel associé à la au moins une position spatiale ;
- détermination d’une première trajectoire pour le véhicule autonome en appliquant une première valeur d’accélération à la première partie du chemin déterminé, la première valeur d’accélération correspondant à une valeur maximale d’accélération du véhicule autonome ;
- comparaison entre la première trajectoire et la zone de collision pour vérifier que le véhicule autonome évite l’objet mobile en passant avant l’objet mobile le long de la première partie du chemin déterminée selon la première trajectoire ;
- détermination d’une deuxième trajectoire pour le véhicule autonome en appliquant au moins une deuxième valeur d’accélération au chemin déterminé, la au moins une deuxième valeur d’accélération étant fonction d’un résultat de la comparaison, la au moins une deuxième valeur d’accélération étant déterminée de manière à ce que le véhicule autonome évite la zone de collision ;
- contrôle de vitesse du véhicule autonome en fonction de la au moins une deuxième valeur d’accélération.
Selon une variante, la au moins une deuxième valeur d’accélération est comprise entre une valeur d’accélération courante du véhicule autonome et la première valeur d’accélération lorsque le résultat de la comparaison indique que le véhicule autonome évite l’objet mobile en passant avant l’objet mobile, d’un point de vue temporel, le long de la première partie du chemin déterminée selon la première trajectoire, la deuxième trajectoire correspondant à une trajectoire selon laquelle le véhicule autonome passe avant l’objet mobile, d’un point de vue temporel, le long de ladite première partie du chemin déterminée.
Selon une autre variante, la au moins une deuxième valeur d’accélération est inférieure à la valeur d’accélération courante du véhicule autonome lorsque le résultat de la comparaison indique que le véhicule autonome n’évite pas l’objet mobile en passant avant l’objet mobile, d’un point de vue temporel, le long de la première partie du chemin déterminée selon la première trajectoire, la deuxième trajectoire correspondant à une trajectoire selon laquelle le véhicule autonome passe après l’objet mobile, d’un point de vue temporel, le long de la première partie du chemin déterminée.
Selon une variante supplémentaire, au moins deux deuxièmes valeurs d’accélération sont associées à la deuxième trajectoire, la deuxième trajectoire comprenant une première partie selon laquelle une deuxième valeur d’accélération parmi les au moins deux deuxièmes valeurs d’accélération est négative et une deuxième partie consécutive à la deuxième partie selon laquelle une autre deuxième valeur d’accélération parmi les au moins deux deuxièmes valeurs d’accélération est nulle ou positive.
Selon encore une variante, le chemin déterminé est discrétisé en un ensemble de points déterminés, une information représentative d’une vitesse maximale étant associée à chaque point de l’ensemble de points, la deuxième trajectoire étant déterminée en outre en fonction des vitesses maximales associées à l’ensemble de points déterminés.
Selon une variante additionnelle, les deuxièmes données représentatives d’une trajectoire de l’objet mobile sont reçues par le véhicule autonome selon une liaison sans fil.
Selon un deuxième aspect, l’invention concerne un dispositif de contrôle de vitesse d’un véhicule autonome, le dispositif comprenant une mémoire associée à un processeur configuré pour la mise en œuvre d’une architecture configurée pour la mise en œuvre des étapes du procédé selon le premier aspect de l’invention.
Selon un troisième aspect, l’invention concerne un système de contrôle de vitesse d’un véhicule autonome comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention et des moyens de régulation de vitesse.
Selon un quatrième aspect, l’invention concerne un véhicule, notamment autonome, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention ou un système tel que décrit ci-dessus selon le troisième aspect de l’invention. Selon un cinquième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un sixième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 15 annexées, sur lesquelles :
[Fig. 1] illustre de façon schématique un environnement dans lequel évolue un véhicule autonome, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 2] illustre schématiquement un processus de contrôle de la vitesse du véhicule autonome de la figure 1 , selon un exemple de réalisation particulier de la présente invention ;
[Fig. 3] illustre schématiquement une zone de collision déterminée et des trajectoires pour le véhicule autonome de la figure 1 , selon un premier exemple de réalisation particulier de la présente invention ;
[Fig. 4] illustre schématiquement une trajectoire du véhicule autonome de la figure 1 associée à des zones de collision déterminées, selon un deuxième exemple de réalisation particulier de la présente invention ;
[Fig. 5] illustre schématiquement une trajectoire du véhicule autonome de la figure 1 vis- à-vis d’un objet mobile croisant le chemin suivi par le véhicule autonome de la figure 1 lorsque le véhicule autonome passe avant l’objet mobile le long du chemin, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 6] illustre schématiquement un processus de détermination de la trajectoire de la figure 5, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 7] illustre schématiquement un premier profil de vitesse du véhicule autonome de la figure 1 lorsque le véhicule autonome passe avant l’objet mobile le long du chemin suivi par le véhicule autonome, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 8] illustre schématiquement la trajectoire du véhicule autonome selon le premier profil de vitesse de la figure 7, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 9] illustre schématiquement un deuxième profil de vitesse du véhicule autonome de la figure 1 lorsque le véhicule autonome passe avant l’objet mobile le long du chemin suivi par le véhicule autonome, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 10] illustre schématiquement la trajectoire du véhicule autonome selon le deuxième profil de vitesse de la figure 9, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 11] illustre schématiquement un troisième profil de vitesse du véhicule autonome de la figure 1 lorsque le véhicule autonome passe avant l’objet mobile le long du chemin suivi par le véhicule autonome, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 12] illustre schématiquement la trajectoire du véhicule autonome selon le troisième profil de vitesse de la figure 10, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 13] illustre schématiquement un processus de détermination de la trajectoire de la figure 8, 10 ou 12, selon un exemple de réalisation particulier de la présente invention ;
[Fig. 14] illustre schématiquement un dispositif configuré pour le contrôle de vitesse du véhicule autonome de la figure 1 , selon un exemple de réalisation particulier de la présente invention ;
[Fig. 15] illustre schématiquement un organigramme des différentes étapes d’un procédé de contrôle de vitesse du véhicule autonome de la figure 1 , selon un exemple de réalisation particulier de la présente invention.
Description des modes de réalisation
Un procédé et un dispositif de contrôle de vitesse d’un véhicule autonome vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 15. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Selon un exemple particulier et non limitatif de réalisation de l’invention, un procédé de contrôle de la vitesse d’un véhicule autonome, par exemple mis en œuvre par un ou plusieurs processeurs d’un ou plusieurs calculateurs du véhicule autonome, comprend la détermination d’une ou plusieurs zones de collision entre le véhicule autonome et un ou plusieurs objets mobiles le long d’un chemin suivi par le véhicule autonome. La ou les zones de collision sont déterminées en fonction de premières données dynamiques courantes du véhicule autonome et de deuxièmes données représentatives d’une trajectoire de chaque objet mobile. Une zone de collision est avantageusement définie par un ou plusieurs points, à chacun de ces points étant associés une position spatiale le long du chemin et un instant temporel. Une première trajectoire pour le véhicule autonome est déterminée sur la base d’une première valeur d’accélération appliquée au chemin, sur au moins une partie de ce chemin. La première valeur d’accélération correspond avantageusement à la valeur maximale d’accélération du véhicule autonome. Cette première trajectoire est comparée à la première zone de collision pour vérifier que le véhicule autonome évite le premier mobile en passant avant l’objet mobile le long du chemin lorsque le véhicule autonome suit la première trajectoire. Une deuxième trajectoire pour le véhicule autonome est déterminée en appliquant au moins une deuxième valeur d’accélération au chemin. Cette au moins une deuxième valeur d’accélération est obtenue en fonction du résultat de la comparaison, la au moins une deuxième valeur d’accélération étant déterminée de manière à ce que le véhicule autonome évite la première zone de collision. La vitesse du véhicule autonome est ensuite contrôlée à partir de la au moins une deuxième valeur d’accélération, les valeurs de vitesses déterminées étant par exemple fournies à des moyens de régulation de la vitesse embarqués dans le véhicule autonome.
Des exemples de réalisations particuliers sont décrits de manière plus détaillée ci- après, ces exemples de réalisation mettant en évidence certains avantages du procédé.
Un tel procédé permet de générer un profil de vitesse le long d’un chemin donné permettant d’ajuster le déplacement du véhicule autonome aux obstacles dynamiques de son environnement. Il permet notamment de définir une vitesse réduite afin de passer après un objet mobile, par exemple un autre véhicule, dans un croisement en minimisant la diminution de vitesse. Il permet également d’ajuster l’accélération pour démarrer et s’insérer dans un trafic dense, tout en garantissant des distances de sécurité convenables. Le vocabulaire suivant sera utilisé dans le reste de la description :
- chemin : un chemin correspond à un objet géométrique représentant le déplacement spatial d’un véhicule sans considération de vitesse. La représentation du chemin et sa discrétisation sont donc indépendantes du temps, une telle représentation étant par exemple arbitraire (nombre de points fixé ou déterminé) ou déterminée par une longueur entre chaque point ;
- trajectoire : une trajectoire est un objet géométrique représentant le déplacement spatial et temporel d’un véhicule. La représentation d’une trajectoire et sa discrétisation sont directement dépendantes du temps : à chaque point d’une trajectoire est avantageusement associé un temps auquel la position sera atteinte ;
- couple chemin / vitesse : un couple chemin/vitesse correspond à l’association d’une vitesse à respecter (ou vitesse de consigne) à chaque point du chemin, une telle association étant également appelée profil de vitesse sur le chemin. Un couple chemin/vitesse est par exemple transformé en trajectoire en rééchantillonnant les points du chemin de sorte que chaque point de la trajectoire corresponde à la position atteinte après avoir parcouru le chemin pendant un intervalle de temps donné en suivant le profil de vitesse.
La figure 1 illustre schématiquement un environnement 1 dans lequel évolue un véhicule autonome 10, selon un exemple de réalisation particulier et non limitatif de la présente invention.
La figure 1 illustre une portion d’environnement routier 1 dans lequel circule le véhicule 10. Cet environnement correspond par exemple à un environnement urbain. Selon l’exemple particulier et non-limitatif de la figure 1 , le véhicule 10 est en approche d’un carrefour.
Le véhicule 10 correspond avantageusement à un véhicule autonome. Un véhicule autonome correspond à un véhicule équipé d’un système d’aide à la conduite abouti assurant le contrôle du véhicule qui est apte à rouler dans son environnement routier avec une intervention limitée du conducteur, voire sans intervention du conducteur. Un véhicule autorisant un tel mode de conduite autonome doit avoir un niveau de conduite autonome au moins égal à 2, que ce soit dans la classification éditée par l’agence fédérale chargée de la sécurité routière aux USA qui comprend 5 niveaux ou dans la classification éditée par l’organisation internationale des constructeurs automobiles qui comprend 6 niveaux.
Le véhicule 10 correspond par exemple à un véhicule à moteur thermique, à un véhicule électrique ou à un véhicule hybride (combinant moteur thermique et moteur électrique).
Le véhicule 10 suit avantageusement un itinéraire 101 dans l’environnement 1 , cet itinéraire étant par exemple calculé à partir d’un ensemble de données comprenant par exemple la position courante du véhicule 10 et une destination. Selon une variante, les données comprennent en outre des données de cartographie de l’environnement du véhicule 10. La position du véhicule 10 est par exemple obtenue via un système de localisation par satellite, par exemple un système GPS (de l’anglais « Global Positioning System » ou en français « Système mondial de positionnement »). Un tel système est par exemple intégré au véhicule 10, par exemple mis en œuvre par un calculateur du système embarqué du véhicule 10, ou par un dispositif mobile (par exemple un téléphone intelligent) embarqué dans le véhicule 10 et communiquant avec le véhicule 10 par liaison radio (par exemple en Bluetooth® ou en Wifi®). La destination est par exemple entrée par le conducteur du véhicule 10 dans un système de calcul d’itinéraire via une interface graphique tactile ou une interface à commande vocale. Un tel système est par exemple mis en œuvre par un calculateur du système embarqué du véhicule 10, ou par un dispositif mobile (par exemple un téléphone intelligent) embarqué dans le véhicule 10 et communiquant avec le véhicule 10 par liaison radio. Les données de cartographie sont par exemple reçues d’un serveur distant, par exemple au fur et à mesure du déplacement du véhicule 10. Selon un autre exemple, les données de cartographies sont stockées en mémoire d’un système embarqué dans le véhicule 10 et/ou en mémoire du dispositif mobile.
Le véhicule 10 obtient avantageusement un ensemble de données représentatives de l’environnement 1 dans lequel le véhicule 10 évolue. Les deuxièmes données comprennent par exemple : - des données sur la présence d’obstacle(s) statique(s) ou dynamique(s) (par exemple un autre véhicule 11 , un piéton 12, un cycliste) dans l’environnement du véhicule 10, ces données comprenant par exemple des informations de distance entre chaque obstacle et le véhicule 10, la forme et/ou le gabarit de chaque obstacle et/ou des informations sur la trajectoire suivie par chaque obstacle dynamique ;
- des données associées à l’environnement routier, telles que par exemple des informations sur les limites de vitesse, sur la présence de panneaux de circulation, de feux de circulation (avec par exemple l’état du feu de circulation), des informations sur le trafic routier dans l’environnement 1 , sur la présence de travaux, sur les conditions climatiques, c’est-à-dire toute information ou donnée susceptible d’avoir un impact sur les conditions de circulation du véhicule 10 et sur les règles de conduite à adopter par le véhicule 10.
Les données d’environnement, ou au moins une partie d’entre elles, sont par exemple obtenues d’un ou plusieurs capteurs embarqués dans le véhicule 10. De tels capteurs sont associés ou font partie d’un ou plusieurs systèmes de détection d’objet embarqués dans le véhicule 10, les données obtenues de ce ou ces capteurs permettant par exemple de déterminer la vitesse du ou des objets détectés dans l’environnement du véhicule 10 et/ou la nature ou le type des objets détectés (panneau, véhicule 11 , piéton 12, le type de l’objet étant par exemple déterminé par classification ou par mise en œuvre d’intelligence artificielle). Ce ou ces systèmes de détection d’objet sont par exemple associés à ou compris dans un ou plusieurs systèmes d’aide à la conduite, dit système(s) ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé »).
Le ou les capteurs associés à ces systèmes de détection d’objet correspondent par exemple à un ou plusieurs des capteurs suivants :
- un ou plusieurs radars à ondes millimétriques arrangés sur le véhicule, par exemple à l’avant, à l’arrière, sur chaque coin avant/arrière du véhicule ; chaque radar est adapté pour émettre des ondes électromagnétiques et pour recevoir les échos de ces ondes renvoyées par un ou plusieurs objets, dans le but de détecter des obstacles et leurs distances vis-à-vis du véhicule 10 ; et/ou - un ou plusieurs LIDAR(s) (de l’anglais « Light Detection And Ranging », ou
« Détection et estimation de la distance par la lumière » en français), un capteur LIDAR correspondant à un système optoélectronique composé d’un dispositif émetteur laser, d’un dispositif récepteur comprenant un collecteur de lumière (pour collecter la partie du rayonnement lumineux émis par l’émetteur et réfléchi par tout objet situé sur le trajet des rayons lumineux émis par l’émetteur) et d’un photodétecteur qui transforme la lumière collectée en signal électrique ; un capteur LIDAR permet ainsi de détecter la présence d’objets situés dans le faisceau lumineux émis et de mesurer la distance entre le capteur et chaque objet détecté ; et/ou
- une ou plusieurs caméras (associées ou non à un capteur de profondeur) pour l’acquisition d’une ou plusieurs images de l’environnement autour du véhicule 10 se trouvant dans le champ de vision de la ou les caméras.
Selon une variante, les deuxièmes données, ou au moins une partie d’entre elles, sont par exemple obtenues via un système de communication de type V2X (de l’anglais « Vehicle to Everything » ou en français « Véhicule vers tout »). Selon une autre variante, les deuxièmes données sont à la fois obtenues du système de communication V2X et du ou des capteurs embarqués dans le véhicule 10. Par exemple, les données relatives à la présence d’un autre véhicule 11 ou d’un piéton 12 dans l’environnement 1 du véhicule 10 sont communiquées par le véhicule 11 ou le piéton au véhicule 10, via une liaison sans fil selon un mode de communication véhicule à véhicule dit V2V (de l’anglais « vehicle-to-vehicle ») ou un mode de communication véhicule à piéton dit V2P (de l’anglais « vehicle-to-pedestrian »), ou par l’intermédiaire d’une infrastructure mise en place dans le cadre d’une communication véhicule à infrastructure V2I (de l’anglais « vehicle-to-infrastructure »), dans le cadre d’une infrastructure réseau utilisant des technologies de communication telles que l’ITS G5 (de l’anglais « Intelligent Transportation System G5 » ou en français « Système de transport intelligent G5 ») en Europe ou DSRC (de l’anglais « Dedicated Short Range Communications » ou en français « Communications dédiées à courte portée ») aux Etats-Unis d’Amérique qui reposent tous les deux sur le standard IEEE 802.11 p ou encore la technologie basée sur les réseaux cellulaires nommée C-V2X (de l’anglais « Cellular - Vehicle to Everything » ou en français « Cellulaire - Véhicule vers tout ») qui s’appuie sur la 4G basé sur LTE (de l’anglais « Long Term Evolution » ou en français « Evolution à long terme ») et bientôt la 5G.
Ces données transitent par exemple via une infrastructure réseau comprenant un ou plusieurs serveurs du cloud 100 (ou « nuage » en français) et une ou plusieurs antennes et/ou une ou plusieurs UBR (« Unité Bord de Route ») 110.
Le véhicule 10 met avantageusement en œuvre un processus d’évitement de collision avec les objets mobiles 11 , 12 de son environnement en déterminant une trajectoire à suivre pour éviter ces objets mobiles, tel que décrit en regard de la figure 2 et des figures suivantes. Connaissant le chemin à suivre, la détermination d’une trajectoire revient à déterminer des valeurs d’accélération à appliquer, desquelles découlent des valeurs de vitesse de consigne pour le véhicule autonome 10 à associer aux points formant le chemin. La détermination de la trajectoire est par exemple en outre mise en œuvre en respectant un ensemble de contraintes telles qu’une vitesse maximale pour chaque point du chemin que se doit de respecter le véhicule autonome 10, une telle vitesse maximale déterminée en fonction de la situation (par exemple vitesse maximale autorisée, encombrement de la roue, danger, priorité à céder).
La régulation de la vitesse est par exemple mise en œuvre par un système ADAS du véhicule autonome tel qu’un système de régulation de vitesse, par un exemple un système de régulation adaptative de vitesse, dit ACC (de l’anglais « Adaptive Cruise Control »).
Sur la figure 1 , le véhicule 10 suit un chemin 101 , le véhicule 11 suit un chemin 111 et le piéton 12 suit un chemin 121 .
La figure 2 illustre schématiquement un processus de contrôle de la vitesse d’un véhicule autonome, par exemple le véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Un tel processus est avantageusement mis en œuvre par un ou plusieurs processeurs d’un ou plusieurs calculateurs embarqués dans le véhicule autonome 10. Dans une première opération 20, une trajectoire dite de confort est déterminée à partir de valeurs d’accélération et de décélération déterminées correspondant par exemple à des valeurs dites de confort en fonction du tracé du chemin. Ces valeurs d’accélération ou de décélération de confort correspondent par exemple aux valeurs courantes d’accélération ou de décélération du véhicule autonome 10.
Dans une deuxième opération 21 , la trajectoire de confort est testée pour vérifier si cette trajectoire de confort entraine une collision avec un ou plusieurs objets mobiles de l’environnement. Un exemple de mise en œuvre d’une telle vérification est décrit ci- après, notamment en regard des figures 3 et 4.
A cet effet, une zone de collision entre le véhicule autonome et par exemple le premier objet mobile (par exemple le véhicule 11 ) susceptible d’entrer en collision avec le véhicule autonome 10 est déterminée en fonction de premières données dynamiques courantes du véhicule autonome 10 et de deuxièmes données représentatives d’une trajectoire de l’objet mobile 12, le chemin suivi par le véhicule autonome 10 étant connu. Une zone de collision est par exemple représentée par un ou plusieurs points le long du chemin, un instant temporel étant associé à chacun de ces points représentant l’instant de collision.
Si aucune collision n’est détectée, alors la trajectoire de confort est validée dans une troisième opération et le véhicule suit cette trajectoire de confort. Les valeurs d’accélération et de décélération de confort permettent de déterminer des vitesses de consigne à associer à chaque point du chemin pour le véhicule 10. Le processus se termine alors avec la troisième opération 22.
Si une collision est détectée selon cette trajectoire de confort, le processus se poursuit avec une quatrième opération 23 dans laquelle la trajectoire de confort est déclarée invalide.
Dans une cinquième opération 24, une trajectoire permettant au véhicule autonome d’éviter la collision détectée avec l’objet mobile selon la trajectoire de confort est recherchée, avec comme contrainte que le véhicule autonome passe la zone de collision le long du chemin avant l’objet mobile d’un point de vue temporel. A cet effet, une première trajectoire est calculée en prenant comme valeur d’accélération la valeur d’accélération maximale admissible ou possible pour le véhicule autonome 10.
Cette première trajectoire est testée pour vérifier si elle entraine une collision avec l’objet mobile 12 ou si elle permet au véhicule autonome 10 d’éviter la collision en passant avant l’objet mobile.
Si aucune collision n’est détectée, cela signifie qu’il existe une trajectoire possible pour le véhicule autonome 10 permettant au véhicule 10 de passer avant l’objet mobile 12.
Dans ce cas de figure, la trajectoire permettant au véhicule 10 de passer avant l’objet mobile avec la valeur d’accélération la plus faible possible est recherchée, comme expliqué ci-après en regard des figures 5 et 6 selon un exemple de mise en œuvre particulier.
Dans une septième opération 26, la ou les valeurs d’accélération pour cette trajectoire ainsi déterminées permettent de déterminer des vitesses de consigne à associer à chaque point du chemin pour le véhicule 10. Le processus se termine alors avec cette septième opération 26.
A contrario, c’est-à-dire si la trajectoire obtenue avec la valeur d’accélération maximale ne permet pas d’éviter la collision avec l’objet mobile 12, alors une valeur d’accélération inférieure à la valeur d’accélération de confort (correspondant par exemple à l’accélération courante du véhicule 10) est recherchée.
Dans une sixième opération 25, une trajectoire permettant au véhicule autonome d’éviter la collision détectée avec l’objet mobile est recherchée, avec comme contrainte que le véhicule autonome passe la zone de collision le long du chemin après l’objet mobile d’un point de vue temporel.
A cet effet, un ensemble de trajectoires est déterminé, tel qu’expliqué en regard des figures 7 à 13 selon des exemples de réalisation particuliers. Lorsque plusieurs trajectoires possibles sont déterminées, une de ces trajectoires est sélectionnée selon par exemple des critères déterminés (par exemple temps de parcours minimal, freinage le moins intense, etc.). Une fois les paramètres dynamiques de cette trajectoire déterminée (valeur(s) d’accélération et/ou de décélération), le processus se poursuit et se termine avec la septième opération 26 selon laquelle la ou les valeurs d’accélération pour cette trajectoire ainsi déterminées permettent de déterminer des vitesses de consigne à associer à chaque point du chemin pour le véhicule 10.
Selon une variante de réalisation, une trajectoire permettant au véhicule 10 de passer avant l’objet mobile est déterminée (lorsqu’une telle trajectoire existe) et une trajectoire permettant au véhicule 10 de passer après l’objet mobile est également déterminée. Une sélection parmi ces deux trajectoires est alors mise en œuvre en fonction de critères déterminés (critères de confort (par exemple accélération ou décélération la plus faible), temps de parcours le plus court, etc.).
La figure 3 illustre schématiquement une zone de collision 30 déterminée et des trajectoires 31 , 32, 33 pour le véhicule autonome 10, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans ce qui suit, les notations suivantes sont utilisées :
- C : chemin en cours de traitement, composé de NP points ;
- s : axe curviligne le long du chemin C ;
- Si : abscisse curviligne du i -ème point du chemin C (avec i appartenant à l’intervalle [1 , NP]). La correspondance entre Si et les composantes géométriques du point du chemin associé est connue ;
- 1 : axe temporel de l’horizon de planification / prédiction des obstacles dynamiques ;
- tj : temps de la j -ème prédiction temporelle pour un obstacle dynamique, par exemple l’objet mobile 12 ;
- CM : matrice de collision à deux dimensions introduite pour représenter les zones interdites dans le plan s/t.
Représentation des contraintes Deux types de contraintes sur le déplacement du véhicule 10 sont définies : les contraintes spatiales et les contraintes temporelles.
Les contraintes spatiales correspondent aux contraintes de vitesse à respecter à une position donnée. On a donc une contrainte Vmax(s), c’est-à-dire la vitesse maxime au point d’abscisse s. On retrouve cette contrainte pour les vitesses légales ou pour la contrainte de confort par rapport à la courbure de la route.
Les contraintes temporelles correspondent aux configurations spatio-temporelles auxquelles le véhicule est en collision avec un obstacle dynamique. Il s’agit de régions t/s que la trajectoire du véhicule 10 ne doit pas traverser pour garantir l’évitement de collision. Cette contrainte ne fait pas intervenir directement la vitesse.
Représentation dans le plan s/t
Ces contraintes sont représentées dans le plan s/t, tel qu’illustré à la figure 3, où s représente l’abscisse curviligne le long du chemin en cours de traitement (par exemple en mètres) et t représente l’horizon temporel de planification, ou de prédiction des obstacles dynamiques (par exemple en secondes). Dans ce plan, on peut explicitement représenter les contraintes temporelles. La construction détaillée de cet espace de collision est détaillée ci-après.
Dans le plan s/t, une trajectoire 31 , 32, 33 du véhicule 10 est représentée par une courbe dont la tangente correspond à l’inverse de la vitesse. Ainsi, plus la tangente est proche de l’axe horizontal, plus le véhicule 10 va vite, et plus elle est proche de l’axe vertical, plus le véhicule 10 est lent. Ainsi, sur la figure 3, la trajectoire 31 correspond à une vitesse lente, la trajectoire 32 correspond à une vitesse intermédiaire (entre lente et rapide) et la trajectoire 33 correspond à une vitesse rapide, c’est-à-dire une vitesse plus élevée que la vitesse intermédiaire et que la vitesse lente. Il est ainsi possible de représenter une contrainte de vitesse par une contrainte sur la tangente de la courbe représentant la trajectoire à une position donnée.
L’avantage de cette représentation est qu’elle est toujours en 2D, quel que soit le nombre d’obstacles (objets mobiles) croisés sur le chemin. Construction des zones de collision
Pour construire une ou plusieurs zones de collision 30, on doit déterminer, pour chaque point du chemin (représenté par son abscisse curviligne Si), à quels temps il est accessible et à quels temps il est en collision avec les différents obstacles. Ainsi, on dira que la configuration (Si,tj) est en collision s’il existe un obstacle dynamique 11 , 12 tel que sa prédiction à l’instant tj est en collision avec la position du véhicule 10 à la position Si sur le chemin C.
Lors de la recherche des intersections, l’axe s et l’axe t sont discrétisés. Il y a ainsi un effet lié à cette discrétisation qui fait que la configuration exacte de collision n’est pas connue. Il est alors nécessaire de propager les contraintes dans l’espace discret.
Supposons qu’à la suite d’une recherche de collision, une unique configuration (Si,tj) en collision soit trouvée. Si on regarde à tj, Si-i est libre, Si est en collision et Si+i est libre. La position minimale de collision est donc située dans ]si-i ,Si], et la position maximale est située dans [Si,Si+i[. Au temps tj, toutes les positions situées dans ]Si-i,Si+i] doivent donc être interdites. De la même manière, si on regarde la position Si, elle est libre en tj-i , en collision en tj et libre en tj+i. La position Si ne doit donc pas être atteinte à un temps situé dans ]tj-i ,tj+i [. Ces deux contraintes définissent un carré autour de (Si,tj) sur lequel il est possible de glisser verticalement (arrêt à la dernière position) mais que le véhicule 10 ne doit pas traverser.
On peut représenter ces zones de collision dans une matrice de deux dimensions CM, où l’élément CM(i,j) représente l’état de collision de la configuration (Si,tj) On peut alors facilement propager et fusionner les différentes zones de collision en suivant les principes présentés ci-dessus. Il est également possible de faire du clustering pour associer un identifiant unique à chaque zone de collision dans le plan s/t. La figure 4 présente un exemple de résultat de cette recherche de collisions pour un chemin en virage, avec un véhicule 12 en face du véhicule 10 et un piéton qui traverse après le virage. Dans le plan s/t, les zones 43 et 42 représentent les zones interdites par rapport respectivement au véhicule 11 et au piéton 12 (le reste de la zone 44 en gris foncé représentant l’absence de collision). On constate que la trajectoire de confort du véhicule 10 (représentée en blanc 41 sur le plan s/t) passe avant le véhicule 11 en face mais est en collision avec le piéton 12.
Prise en compte de la distance de sécurité dynamique
Les collisions sont par exemple testées en tenant compte d’une distance de sécurité de 1 seconde à l’avant des obstacles dynamiques (cette durée étant paramétrable, par exemple égale à 2 s). Ainsi, si une collision est détectée à la configuration (Si,tj), toutes les positions Si entre tj - 1 s et tj sont considérées en collisions. Ceci permet de représenter la distance de sécurité à l’avant des obstacles dynamiques 11 , 12.
Dans le plan s/t, la position s correspond à la position de référence du véhicule 10 lors du calcul des collisions. Selon un exemple particulier, il s’agit du milieu de l’essieu arrière du véhicule 10. Comme la représentation complète de l’encombrement du véhicule est testée, cela signifie que si une configuration (Si,tj) est sans collision, alors le milieu de l’essieu arrière du véhicule 10 peut être en Si sans collision. La représentation intègre naturellement la longueur du véhicule 10.
Lors du déplacement du véhicule 10, une distance de sécurité à l’avant du véhicule 10 est par exemple prise en compte, cette distance de sécurité dépendant de la vitesse. Il est ainsi possible de tracer deux trajectoires dans le plan s/t : une trajectoire correspondant au milieu de l’essieu arrière, et une trajectoire correspondant au point limite du véhicule 10, c’est-à-dire la position de référence plus la distance de sécurité liée à la vitesse. Ainsi, lors de la phase de vérification d’une trajectoire, il faut s’assurer que ni la trajectoire du point de référence, ni la trajectoire du point limite ne sont en collision avec les obstacles. La figure 4 présente l’implémentation de cet exemple. La grille représente les cellules de la matrice de collision, et les cellules blanches 41 représentent les cellules testées pour s’assurer de la validité de la trajectoire.
Optimisation de la construction de la matrice de collision La construction de la matrice de collision est la partie la plus longue du procédé car elle fait intervenir des recherches d’intersection de polygones. Il est donc important d’optimiser au mieux cette étape.
En remarquant que le véhicule 10 dispose d’une vitesse maximale sur le chemin ainsi que d’une accélération maximale, il est possible de calculer sa trajectoire la plus rapide possible Smax(t), qui donne la position extrême accessible à un temps donné. On déduit alors que le véhicule 10 ne pourra pas, à un temps t, avoir une position supérieure à Smax(t). On peut donc réduire la portion du plan s/t à analyser en fonction de cette trajectoire maximale, et donc limiter le nombre de tests de collision à effectuer.
Pour donner une idée du gain obtenu avec cette limitation, prenons pour exemple un véhicule 10 se déplaçant à 10 m.s’1 sur un chemin de 100 m avec un horizon temporel de 5 s. Si la discrétisation temporelle des obstacles est de 0.1 s et que la discrétisation spatiale est de 1 m, on a alors 51 points selon t et 101 points selon s. On a donc en tout 5151 configurations (s,t) à analyser par obstacle (objet mobile). Si la vitesse maximale sur le chemin est de 10 m.s’1, alors la trajectoire maximale du véhicule 10 est une ligne droite allant de la configuration (0,0) à la configuration (50,5). On doit donc vérifier uniquement la partie du plan située au-dessus de cette diagonale. Ces configurations sont (0,0) pour t=0, puis (0,0.1 ) et (1 ,0.1 ) pour t= 0.1 etc... On a donc 1 +2 + ... + 51 = (51 *52)/2 = 1326 configurations à tester. Ajoutons 10 points pour chaque temps pour prendre en compte la distance de sécurité à l’avant du véhicule 10 sur une seconde, soit 510 points, et on obtient un total de 1836 configurations à tester uniquement, au lieu des 5151 initiales, soit 36%. On divise donc par trois environ le temps de calcul de la matrice de collision ici. Plus la vitesse imposée sur le chemin sera importante et plus il y aura de configurations à tester, car l’espace potentiellement couvert par le véhicule 10 est plus important.
Des procédés de filtrage par boîte englobante lors de la vérification des intersections sont en outre optionnellement mis en œuvre pour accélérer le traitement.
En remarquant que la configuration des collisions est indépendante du profil de vitesse choisi, il est également possible de réaliser la vérification de la trajectoire « sur demande » par un mécanisme de requêtes : dans le procédé, lorsqu’une position doit être vérifiée, on regarde si cette configuration a déjà été calculée auparavant. Si oui, on utilise directement le résultat existant. Si non, on effectue la vérification et on l’enregistre dans la matrice de collisions, et le résultat pourra servir plus tard. Ainsi, on garantit de vérifier le nombre de configurations strictement nécessaires à la construction de la trajectoire.
Méthodes de détermination d’une trajectoire
Adaptation aux contraintes spatiales de vitesse
Le plan s/t est considéré sans contrainte temporelle liée aux obstacles dynamiques (correspondant aux objets mobiles 11 , 12) pour commencer.
La vitesse initiale vo du véhicule 10 est connue, et le temps initial to est fixé à 0. On dispose d’une discrétisation spatiale (Si) avec i appartenant à [1 , N] représentant la répartition des points le long du chemin fixé considéré. L’objectif est de donner, pour chaque point Si, la vitesse vi associée. Une première conclusion à ce stade est qu’il n’est pas possible de représenter un arrêt suivi d’un redémarrage, car il faudrait pour cela pouvoir associer deux vitesses différentes à un même point. Il est donc fixé qu’un arrêt est définitif dans un pas de planification. C’est l’aspect réactif de la méthode qui permettra le redémarrage quand les conditions y seront favorables.
Le procédé cherche à rejoindre la vitesse de consigne à partir de la vitesse initiale de façon itérative. À partir du dernier point construit, si cela est possible, la vitesse au prochain point est augmentée (en respectant les contraintes d’accélération) pour se rapprocher ou atteindre la vitesse de consigne au point suivant.
Si la vitesse Vi imposée sur le point Si dépasse la vitesse de consigne Vimax au point suivant, alors il est nécessaire de ralentir et de propager le ralentissement en amont. Graphiquement, dans le plan s/t, cela consiste à construire une courbe de freinage avec une décélération donnée et à chercher le point de tangence avec la trajectoire calculée jusque-là. Si aucun point de tangence n’est détecté, alors cela signifie qu’il n’y a pas de point de raccord du profil de vitesse. On constate que le point de contact dans le plan s/t correspond à la position initiale mais on n’a pas la tangence. Dans ce cas, il est nécessaire d’augmenter la force de freinage et donc d’appliquer une décélération plus importante.
Avec cette méthode, il est possible d’ajuster le freinage aux autres contraintes également (virage, limitation soudaine de vitesse...).
Adaptations itératives sur un obstacle seul
Lors du lissage de vitesse avec les accélérations de confort, on peut constater une intersection entre la trajectoire du véhicule dans le plan s/t et une configuration spatio- temporelle interdite, qu’on appellera par la suite obstacle A. Ceci indique que la trajectoire prévue jusque-là pour le véhicule 10 amène à une collision avec un obstacle dynamique. Il y a alors deux possibilités : passer avant ou passer après cet obstacle correspondant par exemple au véhicule 11 , tel que décrit en regard de la figure 2.
Passage avant un obstacle, par exemple avant le véhicule 11
Pour passer avant le véhicule 11 , il est testé d’adapter l’accélération appliquée au véhicule 10, sans remettre en cause les contraintes de vitesse s’appliquant au chemin C. Il est donc nécessaire de disposer d’une accélération de confort aïon.c et d’une accélération maximale aïon.m réalisable par le véhicule 10.
En calculant la trajectoire obtenue en appliquant l’accélération maximale, on vérifie si celle-ci permet de passer l’obstacle A sans collision. Si c’est le cas, cela signifie qu’on peut trouver une accélération entre aïon.c et aïon.m qui permette de passer cet obstacle en minimisant l’accélération appliquée et en respectant les contraintes de vitesse, comme le montre l’exemple de la figure 5, avec la trajectoire 51 . On peut déterminer cette accélération minimale par dichotomie. La décision de dichotomie s’exprime comme suit :
- on dispose des bornes amin et amax, et on a l’accélération courante ai = (amin + amax)/2 ; - si la trajectoire obtenue avec ai est en collision avec l’obstacle A, alors il faut augmenter l’accélération : on remplace amin par ai et on réitère ;
- si la trajectoire obtenue avec ai est sans collision ou est en collision avec un obstacle autre que A avant le temps maximum de la zone interdite de l’obstacle A, alors il faut réduire l’accélération : on remplace amax par ai et on réitère. Si la trajectoire est sans collision, on la marque comme étant la dernière configuration acceptable
Lorsque le critère d’arrêt est rempli (l’écart entre amin et amax devient inférieur à un seuil déterminé), la dichotomie est arrêtée. Si on dispose d’une dernière configuration acceptable, on utilise celle-ci. Sinon, on conclut qu’il n’est pas possible de passer avant l’obstacle A en raison des autres obstacles de l’environnement du véhicule 10.
En connaissant les bornes aïon.c et aïon.m et la précision voulue sur l’accélération à appliquer £acc, on peut déterminer le nombre d’itérations à effectuer. L’écart entre les bornes utilisées étant divisé par deux à chaque itération, pour avoir un écart entre les bornes inférieur à £acc, il faut un nombre d’itérations N qui vérifie :
[Math 1] i
N > log
Figure imgf000026_0001
Autrement dit, le nombre d’itérations effectuées est :
[Math 2]
Figure imgf000026_0002
Si on prend par exemple aïon.m = 3 m.s’2, aïon.c = 1 m.s’2 et £acc, = 10’2 m.s’2, alors on trouve N = 8, soit un nombre assez réduit d’itérations. De plus, le processus de vérification de la trajectoire est assez efficace une fois que les zones interdites ont été déterminées.
La figure 6 illustre schématiquement un processus de détermination de la trajectoire du véhicule 10 passant avant l’obstacle A, par exemple le véhicule 11 , selon un exemple de réalisation particulier de la présente invention. Les notations suivantes sont utilisées :
- aion.c : accélération longitudinale de confort ;
- aïon.m : accélération longitudinale maximale ;
- £a : valeur faible représentant le seuil pour l’arrêt de la dichotomie
- amin et amax : variables intermédiaires représentant les bornes de la dichotomie en cours ;
- ai : variable intermédiaire représentant l’accélération considérée pendant la dichotomie, elle correspond au milieu de l’intervalle [amin, amax] .
Dans une première opération 600, la trajectoire T0 32 est déterminée invalide en ce qu’elle traverse la zone de collision 30. La trajectoire T0 correspond à la trajectoire courante du véhicule 10 et/ou à une trajectoire dite de confort du véhicule 10.
Dans une deuxième opération 601 , la trajectoire T1 avec la valeur d’accélération maximale aïon.m du véhicule 10 est calculée.
Dans une troisième opération 602, la trajectoire T1 est testée pour déterminer si elle est valide, c’est-à-dire si elle croise la zone de collision 30.
Si la trajectoire n’est pas valide (intersection avec la zone de collision 30), le processus prend fin avec la quatrième opération 603 et il est conclu qu’il n’existe pas de trajectoire permettant au véhicule 10 de passer avant l’obstacle A (le véhicule 11 par exemple) d’un point de vue temporel.
Sinon, si la trajectoire est valide (aucune intersection avec la zone de collision 30), il en est déduit qu’il existe au moins une trajectoire pour le véhicule 10 lui permettant de passer avant l’obstacle A, et le processus se poursuit avec la cinquième opération 604.
Dans une sixième opération 605, amin prend comme valeur aïon.c et amax prend comme valeur aion,m.
Dans une septième opération 606, ai est calculée via l’équation suivante : ai = (amin + amax)/2.
Dans une huitième opération 607, la trajectoire T2 est calculée en utilisant comme valeur d’accélération ai déterminée à l’opération 606. Dans une neuvième opération 608, la trajectoire T2 est testée pour déterminer si elle est valide, c’est-à-dire si elle croise la zone de collision 30.
Si la trajectoire T2 est déclarée valide (pas de collision), alors amax reçoit la valeur de ai et la trajectoire T2 devient la trajectoire T1 dans une dixième opération 609.
Si la trajectoire T2 est déclarée invalide (collision avec la zone 30), alors amin reçoit la valeur de ai dans une onzième opération 610.
Dans une douzième opération 611 , la différence entre amax et amin est comparée à £a.
Si (amax — 3min ) < £a, le processus se poursuit et se termine avec la treizième opération 612, le processus renvoyant la trajectoire T1 51 comme trajectoire permettant au véhicule 10 de passer avant l’obstacle A.
Sinon, si (amax - amin) > £a, le processus se poursuit avec une boucle de retour à la septième opération 606 avec la nouvelle valeur prise par amax ou la nouvelle valeur prise par amin. Les itérations se poursuivent jusqu’à obtenir la trajectoire T1 lorsque la condition (amax - amin) < £a est vérifiée.
Passage après un obstacle, par exemple après le véhicule 11
Il est possible d’avoir plusieurs approches pour passer après un autre véhicule. Trois approches sont présentées ci-dessous avec leur implémentation dans le contexte du plan s/t. La valeur de décélération utilisée est -3 m.s’2 pour exemple, et l’accélération est de 1 m.s-2 pour exemple.
Approche 1 : freinage constant le plus tard possible
Cette approche consiste à déterminer à partir de quel moment on doit appliquer un freinage confortable sur le profil de vitesse initial pour éviter l’obstacle. La figure 7 présente la forme générale du profil de vitesse 71 obtenu avec cette approche, le profil de vitesse v étant fonction du parcours le long du chemin s. Un tel profil comprend une première portion avec une vitesse constante, suivie d’une deuxième portion avec une vitesse en diminution, suivie d’une troisième portion avec une vitesse en augmentation. En balayant chaque point de la trajectoire initiale dans l’ordre, on applique à partir de ce point un profil de décélération et on vérifie que cette trajectoire est valide par rapport à l’obstacle A. Au final, on conserve la dernière trajectoire valide, c’est-à-dire celle qui évite l’obstacle A et qui commence le plus tard possible. Ensuite, on balaye la trajectoire de freinage et on regarde sur chaque point à partir de quand on peut reprendre une trajectoire d’accélération en évitant l’obstacle. La figure 8 présente le résultat dans le plan s/t. La figure 8 illustre une trajectoire 81 du véhicule 10, selon le profil de vitesse 71 , évitant la zone de collision 30 (c’est-à-dire l’obstacle) en passant après l’objet mobile, par exemple le véhicule 11 .
On remarque que cette méthode ne présente pas beaucoup d’anticipation, beaucoup de vitesse est perdue et donc du temps sur la manœuvre est perdu également. Cependant, aucun point d’arrêt n’est prévu, ce qui améliore les méthodes de planification de trajectoire comprenant un arrêt du véhicule 10.
Dans le cas où le freinage confortable ne permet pas l’évitement de la collision, il est possible d’augmenter le freinage (deuxième portion du profil de vitesse) jusqu’à réussir l’évitement (ou jusqu’à arriver au freinage maximal).
Approche 2 : freinage immédiat puis retour à la vitesse de consigne
La deuxième approche adapte légèrement la première. Plutôt que freiner au dernier moment, cette approche prévoit de freiner immédiatement puis revenir à la vitesse de consigne pour créer de l’espace et ainsi éviter la collision. La figure 9 présente la forme générale du profil de vitesse. La figure 9 présente la forme générale du profil de vitesse 91 obtenu avec cette approche, le profil de vitesse v étant fonction du parcours le long du chemin s. Un tel profil comprend une première portion avec une vitesse en diminution, suivie d’une deuxième portion avec une vitesse en augmentation.
Par rapport à la première approche, sur une situation identique, il est constaté que la vitesse minimale atteinte est plus élevée avec cette deuxième approche. Pour définir ce profil de vitesse, une trajectoire de freinage confortable est calculée à partir de la configuration initiale et on cherche à partir de quel moment il est possible d’appliquer le retour à la vitesse de consigne. La figure 10 présente le résultat final dans le plan s/t. La figure 10 illustre une trajectoire 1001 du véhicule 10, selon le profil de vitesse 91 , évitant la zone de collision 30 (c’est-à-dire l’obstacle) en passant après l’objet mobile, par exemple le véhicule 11 .
Cette deuxième approche est plus efficace que la première, mais sollicite encore fortement l’accélération/décélération. Ceci pourrait également causer des oscillations si l’obstacle venait à se déplacer et à modifier la zone de collision dans le plan s/t.
Approche 3 : réduction immédiate de la vitesse et stabilisation
La troisième approche cherche une vitesse constante sur laquelle stabiliser le véhicule 10 jusqu’au passage de l’obstacle, ce qui permet une anticipation confortable et efficace. La figure 11 présente le profil de vitesse général obtenu. La figure 11 présente la forme générale du profil de vitesse 1101 obtenu avec cette approche, le profil de vitesse v étant fonction du parcours le long du chemin s. Un tel profil comprend une première portion avec une vitesse en diminution, suivie d’une deuxième portion avec une vitesse constante à une valeur minimale suivie d’une troisième portion avec une vitesse en augmentation.
Sur la même situation, on constate que la vitesse minimale atteinte est supérieure à celle atteinte avec la deuxième approche. Pour définir ce profil de vitesse, une trajectoire de freinage confortable est calculée depuis la position initiale et il est déterminé à partir de quel moment il est possible de conserver la vitesse pour passer après l’obstacle sans collision. Ceci définit le temps de freinage. Une fois que ce temps de freinage est déterminé, la trajectoire est balayée pour trouver le premier point à partir duquel une accélération vers la vitesse de consigne peut être reprise. Il est à noter que le maintien à vitesse constante abaisse la vitesse de consigne maximale mais ne supprime pas d’éventuelles autres contraintes de vitesse plus fortes. La figure 12 présente le résultat final dans le plan s/t. La figure 12 illustre une trajectoire 1201 du véhicule 10, selon le profil de vitesse 1101 , évitant la zone de collision 30 (c’est-à-dire l’obstacle) en passant après l’objet mobile, par exemple le véhicule 11 . Par exemple, à une distante égale à 80 m le long du chemin s, les trois trajectoires ont atteint la vitesse de consigne, ce qui veut dire que l’écart retrouvé entre les trajectoires devient constant. Il est alors possible d’évaluer l’écart final de temps entre chaque trajectoire, illustré dans la table ci-dessous.
[Table 1]
Figure imgf000031_0001
On constate que la première approche est la moins efficace en temps de parcours. Les deux autres approches ont un temps de parcours assez proche, la deuxième approche étant légèrement plus performante que la troisième approche sur ce point.
En étudiant les vitesses minimales atteintes et l’intégrale de l’accélération (en valeur absolue) sur l’ensemble de la manœuvre (selon la table ci-dessous), il est possible de déterminer d’autres critères de sélection d’un profil de vitesse par rapport à un autre. L’intégrale de l’accélération correspond au cumul de l’action sur l’accélération et le freinage qu’il aura fallu appliquer sur la manœuvre.
[Table 2]
Figure imgf000031_0002
Sur ce résultat, il est constaté que l’approche 3 est celle qui réduit le moins la vitesse et qui, par conséquent, nécessite le moins d’action sur l’accélération. C’est donc la méthode la plus efficace d’un point de vue énergétique. Vu la faible différence de temps et les avantages sur le cumul d’accélération, l’approche 3 est sélectionnée pour déterminer la trajectoire du véhicule 10 passant après l’obstacle pour l’éviter.
La figure 13 illustre schématiquement un processus de détermination de la trajectoire du véhicule 10 passant après l’obstacle A, par exemple le véhicule 11 , selon un exemple de réalisation particulier de la présente invention.
Un tel processus est optimisé en mettant en œuvre des dichotomies limitant le nombre de points à traiter.
Les notations suivantes sont utilisées :
- dion.c : décélération longitudinale de confort ;
- dion, max : décélération longitudinale maximale ;
- £d : valeur faible représentant le seuil d’arrêt de la dichotomie
- dmin et dmax : variables intermédiaires représentant les bornes de la dichotomie en cours sur la décélération ;
- di : variable intermédiaire représentant la décélération actuellement considérée dans la dichotomie, elle correspond au milieu de l’intervalle [dmin, dmax] ;
- imin et imax : variables intermédiaires représentant les bornes de la dichotomie en cours sur les indices ;
- imid : variable intermédiaire représentant l’indice considéré dans la dichotomie, qui correspond à l’indice au milieu de l’intervalle [imin, imax].
Dans une première opération 1300, la trajectoire T0 31 est déterminée invalide en ce qu’elle traverse la zone de collision 30. La trajectoire T0 correspond à la trajectoire courante du véhicule 10 et/ou à une trajectoire dite de confort du véhicule 10.
Dans une deuxième opération 1301 , dmin prend la valeur de dion.c, dmax prend la valeur de dion, max et di prend la valeur de dmin.
Dans une troisième opération 1302, la trajectoire de freinage T1 est calculée jusqu’à l’arrêt du véhicule 10 avec la valeur de décélération di. Dans une quatrième opération 1303, la trajectoire T1 est testée pour déterminer si elle est valide, c’est-à-dire si elle croise la zone de collision 30.
Si la trajectoire n’est pas valide (intersection avec la zone de collision 30), le processus se poursuit avec la cinquième opération 1304 selon laquelle dmin prend la valeur de di.
Sinon, si la trajectoire est valide (aucune intersection avec la zone de collision 30), le processus se poursuit avec la sixième opération 1305 selon laquelle dmax prend la valeur de di.
Dans une septième opération 1306 suivant l’opération 1304 ou l’opération 1305, la différence entre d min et d max est comparée à £d.
Si (dmin - dmax) < £d, la convergence de la dichotomie est atteinte et le processus se poursuit avec l’opération 1308.
Sinon, si (dmin - dmax) > £d, le processus se poursuit avec l’opération 1307 qui reboucle sur l’opération 1302. Dans la huitième opération 1307, di prend la valeur de (dmin +d max )/2.
Les opérations 1301 à 1306 forment la partie du processus correspondant à une recherche dichotomique de la trajectoire d’arrêt T1 avant l’obstacle avec la décélération la plus confortable possible.
Dans une neuvième opération 1308, la trajectoire T1 est testée pour déterminer si elle est valide, c’est-à-dire si elle croise la zone de collision 30.
Si la trajectoire T1 avec les nouveaux paramètres n’est pas valide (aucune trajectoire T1 n’est alors déterminée comme valide), une trajectoire avec une valeur de décélération maximale est calculée et utilisée dans la dixième opération 1309, qui correspond à la fin du processus.
Sinon T1 est validée comme étant une trajectoire avec un point d’arrêt avant la collision avec l’obstacle A dans une onzième opération 1310.
Les opérations suivantes 1311 à 1317 forment la partie du processus correspondant à une recherche dichotomique du premier point de la trajectoire T1 à partir duquel il est possible de conserver la vitesse pour passer après l’obstacle. Dans une douzième opération 1311 , imin prend comme valeur 1 et imax prend comme valeur (N+1 ), avec N le nombre de points de la trajectoire T1 .
Dans une treizième opération 1312, imid prend comme valeur (imin+imax)/2.
Dans une quatorzième opération 1313, une trajectoire T2 suivant la trajectoire T1 est calculée jusqu’au point imid, avec ensuite conservation d’une vitesse constante à partir de ce point imid.
Dans une quinzième opération 1314, la trajectoire T2 est testée pour déterminer si elle est valide, c’est-à-dire si elle évite la collision avec l’obstacle.
Si la trajectoire T2 n’est pas valide (collision), le processus se poursuit avec la seizième opération 1315 selon laquelle imin prend la valeur de imid.
Sinon, si la trajectoire T2 est valide, le processus se poursuit avec la dix-septième opération 1316 selon laquelle T2 devient la trajectoire T3 et imax prend la valeur de imid.
Dans une dix-huitième opération 1317 suivant l’opération 1315 ou l’opération 1316, la différence entre imax et imin est comparée à 1 .
Si (imax - imin) < 1 , le processus se poursuit avec l’opération 1318.
Sinon, si (imax - imin) > 1 , le processus reboucle sur l’opération 1312.
Les opérations suivantes 1318 à 1324 forment la partie du processus correspondant à une recherche dichotomique du premier point de la trajectoire T3 à partir duquel il est possible de rejoindre la vitesse de consigne.
Dans une dix-neuvième opération 1318, imax prend comme valeur (N+1 ), avec N le nombre de points de la trajectoire T3.
Dans une vingtième opération 1319, imid prend comme valeur (imin+imax)/2.
Dans une vingt-et-unième opération 1320, une trajectoire T4 suivant la trajectoire T3 jusqu’au point imid, puis qui rejoint la vitesse de consigne initiale est calculée.
Dans une vingt-deuxième opération 1321 , la trajectoire T4 est testée pour déterminer si elle est valide, c’est-à-dire si elle évite la collision avec l’obstacle. Si la trajectoire T4 n’est pas valide (collision), le processus se poursuit avec la vingt- troisième opération 1322 selon laquelle imin prend la valeur de imid.
Sinon, si la trajectoire T4 est valide, le processus se poursuit avec la vingt-quatrième opération 1323 selon laquelle T4 devient la trajectoire T0 et imax prend la valeur de imid.
Dans une vingt-cinquième opération 1324 suivant l’opération 1322 ou l’opération 1323, la différence entre imax et imin est comparée à 1 .
Si (imax - imin) < 1 , le processus se poursuit avec l’opération 1325 selon laquelle la trajectoire T0 est sortie, le processus prenant fin.
Sinon, si (imax - imin) > 1 , le processus reboucle sur l’opération 1319.
Dans le cas d’un obstacle qui s’étend jusqu’à la limite de l’horizon de prédiction, il n’est pas connu la durée pendant laquelle cet obstacle va rester sur le chemin. Dans ce cas, la présente méthode d’adaptation va conduire à un profil de décélération par paliers de vitesse successifs, qui ne sera pas forcément confortable. Il est alors possible, dans ce cas de figure, de déterminer une trajectoire d’arrêt respectant l’évitement de collision.
Adaptation à plusieurs obstacles
La méthode présentée précédemment devient relativement limitée si plusieurs obstacles sont considérés. En effet, la trajectoire d’adaptation créée pour passer après un obstacle peut potentiellement entrer en collision avec un autre obstacle.
En prenant comme exemple deux obstacles, à savoir un véhicule arrivant de la droite et un piéton qui traverse la route, la trajectoire de confort passe naturellement avant le véhicule mais rentre en collision avec le piéton.
Si la méthode de passage après décrite précédemment est appliquée, on obtient une trajectoire de passage après le piéton qui devient en collision avec le véhicule.
Si la méthode de passage après est appliquée de nouveau, on finit par obtenir une trajectoire qui passe après les deux obstacles avec un freinage plus important que le confort. Intuitivement, la solution ici serait de poursuivre sur la trajectoire confortable jusqu’au passage du premier obstacle puis faire l’adaptation au second. Cependant, cette solution ne peut pas être systématique car sa pertinence dépend de la position de l’obstacle véhicule dans le plan s/t et de l’obstacle piéton. De plus, cette solution n’est pas non plus optimale car elle peut engendrer un freinage plus important que nécessaire entre les deux obstacles.
Il est alors souhaitable de trouver une solution plus optimale. Il faut donc être en mesure d’ajuster deux paramètres : le début du freinage et sa durée. L’objectif est de commencer à ralentir le plus tôt possible tout en maintenant le passage avant le véhicule, puis de déterminer une vitesse stable pour passer après le piéton. On cherche donc à optimiser les deux points du profil de vitesse.
Cette optimisation est réalisée dans le domaine des indices de la trajectoire. L’indice d’un point correspond à son numéro dans l’ensemble de points ordonnés de la trajectoire : le premier point est à l’indice 1 , etc. On cherche donc l’indice optimal de début de freinage ii et l’indice optimal de stabilisation de vitesse i2 (i2 > ii). Sur la situation présentée précédemment, on calcule toutes les trajectoires possibles avec ces indices. Ces trajectoires sont classées en trois catégories :
- catégorie 1 : les trajectoires qui sont en collision avec le piéton ;
- catégorie 2 : les trajectoires qui sont en collision avec le véhicule ;
- catégorie 3 : les trajectoires qui ne sont pas en collision
Pour schématiser, dans cet espace des indices, plus on se décale vers la droite et plus le freinage commence tard, et plus on se décale vers le haut et plus le freinage est long (et donc plus la vitesse atteinte est faible). Dans cet espace des indices, plus h augmente et plus le freinage commence tard, et plus i2 augmente et plus le freinage est long (et donc plus la vitesse atteinte est faible).
La trajectoire optimale se situe dans la catégorie 3, avec les indices les plus faibles possibles. Pour l’atteindre, il faut pouvoir définir une direction d’optimisation des indices en fonction du résultat. Les règles suivantes sont définies : - Si la trajectoire est en collision avec le piéton, alors il faut freiner plus longtemps (ou plus tôt si on ne peut pas freiner plus) : si on est dans la catégorie 1 , il faut monter, c’est-à-dire augmenter Î2 ;
- Si la trajectoire est en collision avec le véhicule, alors il faut freiner plus tard : Si on est dans la catégorie 2, il faut aller à droite, c’est-à-dire augmenter h ;
- Si la trajectoire est valide, on cherche à freiner moins longtemps ou plus tôt :
• Si on est dans la catégorie 3, on cherche la frontière avec la catégorie 1 ou 2
• Ajustement de la direction en fonction de la direction précédente
À partir de ces règles, il est possible de définir un algorithme de recherche basé sur des dichotomies. Il est ainsi possible de déterminer une trajectoire optimale.
Cependant, la méthode ne se généralise pas bien à plus de deux obstacles, ou à des obstacles dans des configurations différentes. Par exemple, si on a une troisième zone interdite au-dessus de la seconde, l’algorithme ne trouve plus de solution, bien qu’il en existe.
La difficulté de trouver une solution ici vient du fait qu’il n’y a pas de gradient exprimé en fonction de la validité ou non d’une trajectoire, il n’est donc pas possible de déterminer dans quelle direction modifier les paramètres dans le cas général.
Découpage en sous-problèmes
Une façon de limiter la complexité du problème précédent peut être de réduire le problème complet en sous-problèmes découpés sur l’axe longitudinal du chemin. On commence par définir une trajectoire de confort TV0, qui est analysée par rapport à la matrice de collision représentant le plan s/t. Si une collision est détectée avec un obstacle nommé A*, alors la trajectoire est ajustée pour éviter A* (en passant avant ou après, ou les deux), en limitant l’ajustement aux obstacles situés avant A* (obstacles rencontrés avant sur l’axe longitudinal et temporel). Ainsi, un premier morceau de trajectoire valide est calculé jusqu’au passage de l’obstacle A* en utilisant les procédures à 1 ou 2 obstacles selon la situation. Ensuite, le traitement est repris à partir du point de passage de A* et le processus continue. Le résultat global sera potentiellement sous-optimal par rapport à un résultat qui prendrait en compte la globalité de la situation, mais il sera mis à jour avec l’aspect réactif de la méthode.
Il est ainsi possible de définir la procédure d’adaptation globale ci-après. La procédure fait usage de structures de piles sur lesquelles des opérations d’empilement sont effectuées pour garder en mémoire les différentes adaptations réalisées. On définit l’opération TOP([pile]) permettant d’accéder à l’élément en haut de la pile.
Procédure AdaptationDynamique (C : chemin, O : prédiction des obstacles) : Déterminer la matrice de collision CM entre le chemin C et les prédictions O Calculer la trajectoire de confort TV0 sur C
Soit [I] la pile des indices des points de passage
Soit [A] la pile des obstacles passés aux points de passage associés de [I]
Soit [Trajs] la liste des trajectoires adaptées sur C
[Trajs] = VérifierEtAdapter(C, TV0, CM, [I], [A], [Trajs])
Renvoyer [Trajs]
Fin de procédure
Procédure VérifierEtAdapter(C : chemin, TV0 : trajectoire initiale, CM : matrice de collision, [I] : pile des indices des points de passage, [A] : pile des obstacles passés, [Trajs] : liste des trajectoires adaptées sur C) :
On commence par tester la trajectoire TV0 avec la matrice de collision déterminée. La fonction de test renvoie le booléen Valide indiquant si la trajectoire est en collision ou non. Si la trajectoire est en collision, alors la fonction renvoie également l’obstacle A* en collision.
Valide, A* = TesterTrajectoire(TVO, CM)
Si (Valide est faux) et ([A] est non vide) et (TOP([A]) == A*) :
Si l’élément situé en haut de la pile [A] représentant les obstacles passés est A*, alors l’étape d’adaptation précédente a soit produit une trajectoire valide par rapport à A*, soit une trajectoire d’urgence. Si le test révèle que la trajectoire TVO est en collision avec le même obstacle A*, alors l’adaptation précédente a nécessairement produit une trajectoire d’urgence qu’il ne faut pas traiter à nouveau.
Valide = vrai
Fin de Si
Si Valide est vrai :
Ajouter TVO à [Trajs]
Renvoyer [Trajs] (fin de la procédure)
Fin de Si
Ici, la trajectoire TVO est invalide par rapport à A*.
On tente de passer avant A* si possible.
TV_Av, [l_Av], [A_Av] = PassageAvant(C, TVO, A*, CM, [I], [A])
Si TV_Av existe : (il n’est pas toujours possible de déterminer TV_Av)
Si on a réussi à déterminer une trajectoire de passage avant A*, alors on fait la vérification sur toute la trajectoire
[Trajs] = VérifierEtAdapter(C, TV_Av, CM, [l_Av], [A_Av], [Trajs])
Fin de Si
On planifie de passer après A*.
TV_Ap, [l_Ap], [A_Ap] = PassageAprès(C, TVO, A*, CM, [I], [A])
On a systématiquement un résultat ici, qui est potentiellement une trajectoire d’arrêt d’urgence. On vérifie le résultat global.
[Trajs] = VérifierEtAdapter(C, TV_Ap, CM, [l_Ap], [A_Ap], [Trajs])
Renvoyer [Trajs]
Fin de procédure
La procédure « VérifierEtAdapter » est récursive, elle permet d’écrire simplement le fait qu’on va adapter la trajectoire par morceaux successifs. Les procédures « PassageAvant » et « PassageAprès » exécutent les adaptations associées présentées plus haut. L’indice en haut de la pile [I] indique à partir de quel indice commencer l’adaptation, et l’élément en haut de la pile [A] indique le dernier obstacle passé par la trajectoire adaptée. Ceci permet de ne pas systématiquement remettre en question l’ensemble de la trajectoire mais de faire des adaptations locales. En cas d’impossibilité de réaliser l’adaptation, les éléments de ces piles sont dépilés au fur et à mesure pour alléger les contraintes, ce qui permet de réaliser l’adaptation depuis un point plus en amont sur la trajectoire. À chaque adaptation réalisée, les procédures « PassageAvant » et « PassageAprès » empilent sur [A] l’obstacle A* considéré pour l’adaptation, et sur [I] l’indice de passage de cet obstacle, puis renvoient ces piles mises à jour. La liste [Trajs] est envoyée dans chaque appel de la procédure, ce qui permet de collecter dedans l’ensemble des trajectoires valides sur tout l’horizon.
La figure 14 illustre schématiquement un dispositif 14 configuré pour contrôler la vitesse d’un véhicule autonome, par exemple le véhicule autonome 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 14 correspond par exemple à un dispositif embarqué dans le véhicule 10, par exemple un calculateur.
Le dispositif 14 est par exemple configuré pour la mise en œuvre des opérations décrites en regard des figure 1 à 13 et/ou pour la mise en œuvre des étapes décrites en regard de la figure 15. Des exemples d’un tel dispositif 14 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule, un calculateur électronique tel qu’une UCE (« Unité de Commande Electronique »), un téléphone intelligent, une tablette, un ordinateur portable. Les éléments du dispositif 14, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 14 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le dispositif 14 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication, par exemple une TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique »), par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.
Le dispositif 14 comprend un (ou plusieurs) processeur(s) 140 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 14. Le processeur 140 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 14 comprend en outre au moins une mémoire 141 correspondant par exemple une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.
Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 141 .
Selon un mode de réalisation particulier et non limitatif, le dispositif 14 comprend un bloc 142 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple un serveur distant ou le « cloud ». Les éléments d’interface du bloc 142 comprennent une ou plusieurs des interfaces suivantes :
- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE- Advanced (ou en français LTE-avancé) ;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;
- interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).
Des données sont par exemples chargées vers le dispositif 14 via l’interface du bloc 142 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.11 , un réseau ITS G5 basé sur IEEE 802.11 p ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 - version 10) ou 5G, notamment un réseau LTE-V2X.
Selon un autre mode de réalisation particulier, le dispositif 14 comprend une interface de communication 143 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 1430. L’interface de communication 143 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 1430. L’interface de communication 143 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3).
Selon un mode de réalisation particulier supplémentaire, le dispositif 14 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, un ou des haut-parleurs et/ou d’autres périphériques via respectivement des interfaces de sortie non représentées.
La figure 15 illustre un organigramme des différentes étapes d’un procédé de contrôle de vitesse d’un véhicule autonome, par exemple le véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre par un ou plusieurs dispositifs embarqués dans le véhicule 10 ou par un ou plusieurs dispositifs 14 de la figure 14.
Dans une première étape 151 , une zone de collision entre le véhicule autonome et un objet mobile le long d’une première partie du chemin déterminé est déterminée en fonction de premières données dynamiques courantes du véhicule autonome et de deuxièmes données représentatives d’une trajectoire de l’objet mobile, la zone de collision étant définie par au moins une position spatiale le long de la première partie du chemin et par au moins un instant temporel associé à la au moins une position spatiale. Dans une deuxième étape 152, une première trajectoire pour le véhicule autonome est déterminée en appliquant une première valeur d’accélération à la première partie du chemin déterminé, la première valeur d’accélération correspondant à une valeur maximale d’accélération du véhicule autonome. Dans une troisième étape 153, la première trajectoire et la zone de collision sont comparées pour vérifier que le véhicule autonome évite l’objet mobile en passant avant l’objet mobile le long de la première partie du chemin déterminée selon la première trajectoire.
Dans une quatrième étape 154, une deuxième trajectoire pour le véhicule autonome est déterminée en appliquant au moins une deuxième valeur d’accélération au chemin déterminé, la au moins une deuxième valeur d’accélération étant fonction d’un résultat de la comparaison, la au moins une deuxième valeur d’accélération étant déterminée de manière à ce que le véhicule autonome évite la zone de collision.
Dans une cinquième étape 155, la vitesse du véhicule autonome est contrôlée en fonction de la au moins une deuxième valeur d’accélération.
Selon une variante, les variantes et exemples des opérations décrits en relation avec l’une des figures 1 à 13 s’appliquent aux étapes du procédé de la figure 15.

Claims

42
REVENDICATIONS
1 . Procédé de contrôle de vitesse d’un véhicule autonome (10), un chemin (101 ) déterminé à suivre par ledit véhicule autonome (10) étant associé audit véhicule autonome (10), ledit procédé comprenant les étapes suivantes :
- détermination (151 ) d’une zone de collision (30) entre ledit véhicule autonome (10) et un objet mobile (11 ) le long d’une première partie dudit chemin déterminé (101 ) en fonction de premières données dynamiques courantes dudit véhicule autonome (10) et de deuxièmes données représentatives d’une trajectoire dudit objet mobile (11 ), ladite zone de collision (30) étant définie par au moins une position spatiale le long de ladite première partie dudit chemin (101 ) et par au moins un instant temporel associé à ladite au moins une position spatiale ;
- détermination (152) d’une première trajectoire pour ledit véhicule autonome (10) en appliquant une première valeur d’accélération à ladite première partie dudit chemin déterminé, ladite première valeur d’accélération correspondant à une valeur maximale d’accélération dudit véhicule autonome (10) ;
- comparaison (153) entre ladite première trajectoire et ladite zone de collision (30) pour vérifier que ledit véhicule autonome (10) évite ledit objet mobile en passant avant ledit objet mobile (11 ) le long de ladite première partie dudit chemin déterminée (101 ) selon ladite première trajectoire ;
- détermination (154) d’une deuxième trajectoire pour ledit véhicule autonome (10) en appliquant au moins une deuxième valeur d’accélération audit chemin déterminé, ladite au moins une deuxième valeur d’accélération étant fonction d’un résultat de ladite comparaison, ladite au moins une deuxième valeur d’accélération étant déterminée de manière à ce que ledit véhicule autonome évite ladite zone de collision ;
- contrôle (155) de vitesse dudit véhicule autonome (10) en fonction de ladite au moins une deuxième valeur d’accélération.
2. Procédé selon la revendication 1 , pour lequel ladite au moins une deuxième valeur d’accélération est comprise entre une valeur d’accélération courante dudit véhicule autonome (10) et ladite première valeur d’accélération lorsque le résultat de ladite comparaison indique que ledit véhicule autonome (10) évite ledit objet mobile en 43 passant avant ledit objet mobile (11 ), d’un point de vue temporel, le long de ladite première partie dudit chemin déterminée (101 ) selon ladite première trajectoire, ladite deuxième trajectoire correspondant à une trajectoire selon laquelle ledit véhicule autonome (10) passe avant ledit objet mobile (11 ), d’un point de vue temporel, le long de ladite première partie dudit chemin déterminée (101 ).
3. Procédé selon la revendication 1 , pour lequel ladite au moins une deuxième valeur d’accélération est inférieure à ladite valeur d’accélération courante dudit véhicule autonome (10) lorsque le résultat de ladite comparaison indique que ledit véhicule autonome (10) n’évite pas ledit objet mobile (11 ) en passant avant ledit objet mobile
(11 ), d’un point de vue temporel, le long de ladite première partie dudit chemin déterminée (101 ) selon ladite première trajectoire, ladite deuxième trajectoire correspondant à une trajectoire selon laquelle ledit véhicule autonome (10) passe après ledit objet mobile (11 ), d’un point de vue temporel, le long de ladite première partie dudit chemin déterminée.
4. Procédé selon la revendication 3, pour lequel au moins deux deuxièmes valeurs d’accélération sont associées à ladite deuxième trajectoire, ladite deuxième trajectoire comprenant une première partie selon laquelle une deuxième valeur d’accélération parmi lesdites au moins deux deuxièmes valeurs d’accélération est négative et une deuxième partie consécutive à ladite deuxième partie selon laquelle une autre deuxième valeur d’accélération parmi lesdites au moins deux deuxièmes valeurs d’accélération est nulle ou positive.
5. Procédé selon l’une des revendications 1 à 4, pour lequel ledit chemin déterminé (101 ) est discrétisé en un ensemble de points déterminés, une information représentative d’une vitesse maximale étant associée à chaque point dudit ensemble de points, ladite deuxième trajectoire étant déterminée en outre en fonction desdites vitesses maximales associées audit ensemble de points déterminés.
6. Procédé selon l’une des revendications 1 à 5, pour lequel lesdites deuxièmes données représentatives d’une trajectoire de l’objet mobile (11 ) sont reçues par ledit véhicule autonome (10) selon une liaison sans fil. 44
7. Programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur.
8. Dispositif (14) de contrôle de vitesse d’un véhicule autonome, ledit dispositif (14) comprenant une mémoire (141 ) associée à au moins un processeur (140) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 6.
9. Système de contrôle de vitesse d’un véhicule autonome, ledit système comprenant le dispositif (14) selon la revendication 8 et des moyens de régulation de vitesse.
10. Véhicule (10) comprenant le dispositif (14) selon la revendication 8 ou le système selon la revendication 9.
PCT/FR2022/051601 2021-09-09 2022-08-23 Procédé et dispositif de contrôle de vitesse d'un véhicule autonome WO2023037060A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2109439 2021-09-09
FR2109439A FR3126679B1 (fr) 2021-09-09 2021-09-09 Procédé et dispositif de contrôle de vitesse d’un véhicule autonome

Publications (1)

Publication Number Publication Date
WO2023037060A1 true WO2023037060A1 (fr) 2023-03-16

Family

ID=78212274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2022/051601 WO2023037060A1 (fr) 2021-09-09 2022-08-23 Procédé et dispositif de contrôle de vitesse d'un véhicule autonome

Country Status (2)

Country Link
FR (1) FR3126679B1 (fr)
WO (1) WO2023037060A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2109439A5 (fr) 1970-10-16 1972-05-26 Roulements Soc Nouvelle
US20190367022A1 (en) * 2018-05-31 2019-12-05 Nissan North America, Inc. Predicting Yield Behaviors
WO2020121215A1 (fr) * 2018-12-12 2020-06-18 Marelli Europe S.P.A. Procédé et système de planification d'un trajet pour qu'un véhicule terrestre évite des obstacles avec réaction rapide, en particulier dans un scénario de circulation autonome
US20210114617A1 (en) * 2019-10-18 2021-04-22 Uatc, Llc Method for Using Lateral Motion to Optimize Trajectories for Autonomous Vehicles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2109439A5 (fr) 1970-10-16 1972-05-26 Roulements Soc Nouvelle
US20190367022A1 (en) * 2018-05-31 2019-12-05 Nissan North America, Inc. Predicting Yield Behaviors
WO2020121215A1 (fr) * 2018-12-12 2020-06-18 Marelli Europe S.P.A. Procédé et système de planification d'un trajet pour qu'un véhicule terrestre évite des obstacles avec réaction rapide, en particulier dans un scénario de circulation autonome
US20210114617A1 (en) * 2019-10-18 2021-04-22 Uatc, Llc Method for Using Lateral Motion to Optimize Trajectories for Autonomous Vehicles

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. ARTUNEDO ET AL., JERK-LIMITED TIME-OPTIMAL SPEED PLANNING FOR ARBITRARY PATHS, 12 May 2021 (2021-05-12)
J. GRÉGOIRE ET AL.: "Priority-based coordination of autonomous and legacy vehicles at intersection", IEEE ITSC, 2014
L. WANG ET AL.: "Real-Time Safe Stop Trajectory Planning via Multidimensional Hybrid A*-Algorithm", IEEE ITSC, 2020
Y. ZHANG ET AL.: "Hybrid Trajectory Planning for Autonomous Driving in Highly Constrained Environments", IEEE ACCESS, 2018

Also Published As

Publication number Publication date
FR3126679A1 (fr) 2023-03-10
FR3126679B1 (fr) 2023-09-29

Similar Documents

Publication Publication Date Title
FR3096637A1 (fr) Procédé et dispositif de détermination d’un chemin pour un véhicule autonome
WO2023037060A1 (fr) Procédé et dispositif de contrôle de vitesse d&#39;un véhicule autonome
FR3118669A1 (fr) Procédé et dispositif de détermination d’une trajectoire d’un véhicule autonome
WO2022152986A1 (fr) Procédé et dispositif de suivi de trajectoire d&#39;un véhicule circulant sur une voie de circulation
FR3130229A1 (fr) Procédé et dispositif de contrôle de trajectoire d’un véhicule autonome
WO2023144470A1 (fr) Procédé et dispositif de contrôle de trajectoire d&#39;un véhicule autonome circulant dans un environnement comprenant au moins un objet mobile
FR3128678A1 (fr) Procédé et dispositif de contrôle de trajectoire d’un véhicule autonome
FR3123862A1 (fr) Procédé et dispositif de contrôle d’un véhicule autonome
FR3123981A1 (fr) Procédé et dispositif de contrôle de trajectoire d’un véhicule autonome
FR3128177A1 (fr) Procédé et dispositif de prédiction d’un changement de voie de circulation pour véhicule
WO2022258892A1 (fr) Procédé et dispositif de régulation de vitesse d&#39;un véhicule à partir d&#39;un véhicule cible
WO2024115827A1 (fr) Procédé et dispositif de contrôle d&#39;un système d&#39;aide à la conduite dans un environnement comportant un croisement
WO2023161571A1 (fr) Procédé et dispositif de contrôle de sélection d&#39;un véhicule cible d&#39;un système de régulation adaptative de vitesse d&#39;un véhicule
EP4351946A1 (fr) Procédé de régulation de vitesse d&#39;un véhicule circulant sur une chaussée à partir d&#39;un véhicule cible
EP4281347A1 (fr) Procédé et dispositif de contrôle d&#39;un premier véhicule suivant un deuxième véhicule sur une portion de route comprenant un virage
FR3134060A1 (fr) Procédé et dispositif de contrôle de déplacement d’une partie motrice autonome sous une cellule de transport pour assemblage de la partie motrice autonome avec la cellule
WO2023025490A1 (fr) Procédé de modélisation d&#39;un environnement de navigation d&#39;un véhicule automobile
FR3117974A1 (fr) Procédé et dispositif de contrôle d’un véhicule
FR3131890A1 (fr) Procédé et dispositif de contrôle d’un système de changement semi-automatique de voie de circulation d’un véhicule
FR3134215A1 (fr) Procédé et dispositif de détermination d’un type de ligne de marquage au sol pour véhicule
FR3138099A1 (fr) Procédé et dispositif de contrôle d’un système de régulation adaptative de vitesse d’un véhicule
WO2023170347A1 (fr) Procédé et dispositif de contrôle d&#39;un système de régulation adaptative de vitesse d&#39;un véhicule en fonction de la portée d&#39;acquisition d&#39;une caméra embarquée
WO2023233088A1 (fr) Procédé et dispositif de contrôle de système d&#39;aide à la conduite d&#39;un véhicule basé sur une limite de vitesse
WO2023111412A1 (fr) Procédé et dispositif de contrôle d&#39;accélération d&#39;un véhicule
FR3138098A1 (fr) Procédé et dispositif de détermination d’une vitesse de rotation en lacet d’un véhicule

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22773271

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022773271

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022773271

Country of ref document: EP

Effective date: 20240409