US12384364B2 - Lane bias maneuver for autonomous vehicles to negotiate a curved road - Google Patents
Lane bias maneuver for autonomous vehicles to negotiate a curved roadInfo
- Publication number
- US12384364B2 US12384364B2 US18/048,890 US202218048890A US12384364B2 US 12384364 B2 US12384364 B2 US 12384364B2 US 202218048890 A US202218048890 A US 202218048890A US 12384364 B2 US12384364 B2 US 12384364B2
- Authority
- US
- United States
- Prior art keywords
- autonomous vehicle
- vehicle
- lane
- lane bias
- road
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active, expires
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18163—Lane change; Overtaking manoeuvres
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/04—Traffic conditions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/06—Road conditions
- B60W40/072—Curvature of the road
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2300/00—Indexing codes relating to the type of vehicle
- B60W2300/14—Tractor-trailers, i.e. combinations of a towing vehicle and one or more towed vehicles, e.g. caravans; Road trains
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2300/00—Indexing codes relating to the type of vehicle
- B60W2300/14—Tractor-trailers, i.e. combinations of a towing vehicle and one or more towed vehicles, e.g. caravans; Road trains
- B60W2300/145—Semi-trailers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/06—Direction of travel
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/22—Articulation angle, e.g. between tractor and trailer
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2530/00—Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
- B60W2530/203—Presence of trailer
- B60W2530/205—Dimensions of trailer
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/30—Road curve radius
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/53—Road markings, e.g. lane marker or crosswalk
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4042—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4044—Direction of movement, e.g. backwards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4046—Behavior, e.g. aggressive or erratic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
- B60W2554/801—Lateral distance
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
- B60W2554/802—Longitudinal distance
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2555/00—Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
- B60W2555/20—Ambient conditions, e.g. wind or rain
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2556/00—Input parameters relating to data
- B60W2556/10—Historical data
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2556/00—Input parameters relating to data
- B60W2556/40—High definition maps
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
- B60W2556/50—External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/10—Longitudinal speed
Definitions
- the present disclosure relates generally to autonomous vehicles. More particularly, the present disclosure is related to lane bias maneuver for autonomous vehicles to negotiate a curved road.
- This disclosure recognizes various problems and previously unmet needs related to implementing safe navigation for autonomous vehicle in situations where the autonomous vehicle encounters an intruding, invading, or oversized vehicle or when the autonomous vehicle approaches a curved road.
- Certain embodiments of this disclosure provide unique technical solutions to technical problems of current autonomous vehicle technologies, including those problems described above to: 1) implement a lane bias maneuver to avoid intruding, invading, or oversized vehicles; and 2) implement a lane bias maneuver to negotiate a curved road.
- This disclosure contemplates systems and methods for implementing a lane bias maneuver to avoid a vehicle. While traveling on a road, the autonomous vehicle may encounter an invading, intruding, or oversized vehicle in an adjacent lane.
- the lane bias maneuver may enable the autonomous vehicle to drive off-center in its current lane to avoid the encountered vehicle and to keep a safe distance (e.g., more than a predefined threshold distance) from the encountered vehicle. In other words, the lane bias maneuver may enable the autonomous vehicle to drive off-center in its current lane without changing to another lane.
- changing to another lane may not be a safe maneuver because of traffic on the road.
- the autonomous vehicle may need to stay on its current lane to perform the next navigation maneuver on its predefined routing plan, such as take a particular exit, take a particular turn, etc. In such cases, changing to another lane may not be a practical solution for the autonomous vehicle.
- the invading vehicle in the adjacent lane may be classified as a vehicle that is constantly driving in close proximity from the autonomous vehicle, for example, closer than a threshold distance defined by a control device of the autonomous vehicle, such as six feet, seven feet, etc.
- the intruding vehicle in the adjacent lane may be classified as a vehicle that temporarily or suddenly drives too close to the autonomous vehicle, e.g., closer than the threshold distance from the autonomous vehicle.
- the oversized vehicle in the adjacent lane may be classified as a vehicle that is taking more space in the adjacent lane due to its size, and as a result, a distance between the oversized vehicle and the autonomous vehicle is less than the threshold distance.
- Each of the invading, intruding, and oversized vehicles may generally be referred to herein as a vehicle or encountered vehicle.
- the control device of the autonomous vehicle may determine that the vehicle in the adjacent lane from the autonomous vehicle has crossed over a lane marker between the autonomous vehicle and the vehicle. In some cases, the control device of the autonomous vehicle may determine that the vehicle in the adjacent lane has not crossed over the lane marker, but is driving within the threshold distance from the autonomous vehicle. In other cases, the control device of the autonomous vehicle may determine that a vehicle has previously crossed over one or more lane markers on the road based on historical driving behaviors or patterns of the vehicle. In other cases, the control device of the autonomous vehicle may determine that the vehicle is in an emergency lane, either parked or in transit.
- the vehicle may be detected on either side of the autonomous vehicle, or on either side and in front of the autonomous vehicle.
- the vehicle may be in transit or stationary.
- the control device of the autonomous vehicle may determine that the vehicle is driving on either side of the autonomous vehicle in the adjacent lane.
- the control device of the autonomous vehicle may determine that the vehicle is driving on either side of the autonomous vehicle in the adjacent lane and in front of the autonomous vehicle.
- the control device of the autonomous vehicle may determine that the vehicle is stopped (or stalled) on a side of the road in front of the autonomous vehicle, for example, in a case where the vehicle is stopped on a side of the road to change its tire.
- the autonomous vehicle may perform the lane bias maneuver until it is determined that less than a threshold portion of the vehicle that is traveling in an adjacent lane overlaps with any portion of the autonomous vehicle.
- the threshold portion of the vehicle may be one-third, half, two-third, or any other suitable portion of a length of the vehicle.
- control device of the autonomous vehicle determines that the lateral distance between the autonomous vehicle and the vehicle is less than the threshold distance, the control device may determine whether performing the lane bias maneuver is executable and safe.
- the control device of the autonomous vehicle may determine that performing the lane bias maneuver is executable based on the road structure. For example, if the road has a high curvature (e.g., more than fifty degrees, sixty degrees, etc.), the control device may determine that performing the lane bias maneuver is not executable.
- a high curvature e.g., more than fifty degrees, sixty degrees, etc.
- the control device may determine that the lane bias maneuver is safe based on the historical driving behavior of the encountered vehicle. For example, if the historical driving behavior of the encountered vehicle indicates that the driving pattern of the vehicle is highly unpredictable (e.g., the driving pattern or trajectory prediction of the vehicle is less than a threshold percentage, such as 70%, 65%, etc.), the control device may determine that the lane bias maneuver is not safe.
- a threshold percentage such as 70%, 65%, etc.
- the control device may instruct the autonomous vehicle to perform a minimal risk maneuver.
- the minimal risk maneuver may include slowing down the autonomous vehicle or speeding up the autonomous vehicle until the autonomous vehicle and the vehicle are not adjacent to each other.
- a system may comprise an autonomous vehicle and a control device.
- the autonomous vehicle is configured to travel along a road.
- the autonomous vehicle comprises at least one sensor configured to capture sensor data associated with one or more objects on the road.
- the control device is associated with the autonomous vehicle.
- the control device comprises a processor.
- the processor may detect a presence of a vehicle from the sensor data.
- the processor may determine a lateral distance between the autonomous vehicle and the vehicle.
- the processor may compare the lateral distance between the autonomous vehicle and the vehicle with a threshold distance from the autonomous vehicle.
- the processor may determine whether to instruct the autonomous vehicle to perform a lane bias maneuver based at least in part upon the comparison between the lateral distance and the threshold distance.
- the lane bias maneuver comprises driving the autonomous vehicle off-center in a current lane traveled by the autonomous vehicle toward an opposite direction with respect to the vehicle until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance.
- the disclosed systems provide several practical applications and technical advantages, which include: 1) technology that improves the navigation of the autonomous vehicle by enabling the autonomous vehicle to drive off-center on its current lane to avoid intruding, invading, or oversized vehicles in the adjacent lane; and 2) technology that determines a lane bias distance that the autonomous vehicle drives off-center in its current lane so that a distance between the autonomous vehicle and the encountered vehicle is equal to a predetermined threshold distance.
- the disclosed system calculates a first lane bias adjustment distance amount associated with the road curvature and a second lane bias adjustment distance amount associated with the trailer angle.
- the disclosed system calculates a total lane bias adjustment distance amount by combining the first and second lane bias adjustment distance amounts.
- the total lane bias adjustment distance amount is a distance that the autonomous vehicle drives off-center in the current lane to compensate for the diversion of the trailer of the autonomous vehicle from the straight line.
- the disclosed system may instruct the autonomous vehicle to bias toward the right or left direction (while in the current lane) based on the total lane bias adjustment distance amount.
- the processor may determine a trailer angle between the trailer and the semi-truck tractor unit.
- the processor may calculate a second lane bias adjustment amount associated with the trailer angle based at least in part upon the trailer angle.
- the processor may calculate a total lane bias adjustment amount by combining the first lane bias adjustment amount and the second lane bias adjustment amount.
- the processor may instruct the autonomous vehicle to perform a lane bias maneuver, wherein the lane bias maneuver comprises driving the autonomous vehicle off-center in a curved lane currently traveled by the autonomous vehicle based at least in part upon the total lane bias adjustment amount.
- the disclosed systems provide several practical applications and technical advantages, which include: 1) technology that improves operating an autonomous vehicle's safety, such as with respect to surrounding vehicles; 2) technology that improves the navigation of the autonomous vehicle in curved roads by enabling the autonomous vehicle to drive off-center in its current lane to compensate for the diversion of the trailer of the autonomous vehicle from the straight line; and 3) technology that determines the total lane bias adjustment distance that the autonomous vehicle drives off-center in its current lane so that neither the semi-truck tractor unit nor the trailer of the autonomous vehicle invades side lanes.
- FIG. 1 illustrates an embodiment of a system configured to implement a lane bias maneuver to avoid a vehicle
- FIG. 2 illustrates an example flowchart of a method for implementing a lane bias maneuver to avoid a vehicle
- FIG. 3 illustrates an embodiment of a system configured to implement a lane bias maneuver to negotiate a curved road
- FIG. 4 illustrates an example flowchart of a method for implementing a lane bias maneuver to negotiate a curved road
- FIG. 5 illustrates a block diagram of an example autonomous vehicle configured to implement autonomous driving operations
- FIG. 6 illustrates an example system for providing autonomous driving operations used by the autonomous vehicle of FIG. 5 ;
- FIG. 7 illustrates a block diagram of an in-vehicle control computer included in the autonomous vehicle of FIG. 5 .
- FIG. 1 illustrates an embodiment of a system 100 for implementing a lane bias maneuver to avoid a vehicle.
- FIG. 2 illustrates an embodiment of a method 200 for implementing a lane bias maneuver to avoid a vehicle.
- FIG. 3 illustrates an embodiment of a system 300 for implementing a lane bias maneuver to negotiate a curved road.
- FIG. 4 illustrates an embodiment of a method 400 for implementing a lane bias maneuver to negotiate a curved road.
- FIGS. 5 - 7 illustrate an example autonomous vehicle and its various systems and devices for implementing autonomous driving operations by the autonomous vehicle.
- FIG. 1 illustrates an embodiment of a system 100 for implementing a lane bias maneuver 130 for an autonomous vehicle 502 .
- FIG. 1 further illustrates a simplified schematic diagram of a road 102 traveled by an autonomous vehicle 502 .
- system 100 comprises an autonomous vehicle 502 and its components, including a control device 550 and sensors 546 .
- the control device 550 comprises a processor 122 in signal communication with a memory 126 .
- Memory 126 may store software instructions 128 that when executed by the processor 122 cause the control device 550 to perform one or more functions described herein.
- the processor 122 may instruct the autonomous vehicle 502 to implement a lane bias maneuver 130 , such that the autonomous vehicle 502 may drive off-center in its current lane to keep a safe distance from one or more surrounding vehicles 108 .
- the system 100 may be configured as shown or in any other suitable configuration.
- system 100 may be configured to implement a lane bias maneuver 130 in response to detecting that: 1) a vehicle 108 is intruding the current lane 104 a traveled by the autonomous vehicle 502 ; 2) a distance between a vehicle 108 and a lane marker 106 between the autonomous vehicle 502 and the vehicle 108 is less than a threshold distance 132 ; and/or 3) historical driving behavior 162 associated with a vehicle 108 indicates that the vehicle 108 has intruded or invaded one or more lanes 104 (in one or more instances).
- the autonomous vehicle 502 may face an intruding, invading, or oversized vehicle 108 on an adjacent lane 104 .
- a distance between the autonomous vehicle 502 and such a vehicle 108 may become less than a threshold distance 132 .
- an intruding or invading vehicle 108 may drive too close to the lane marker 106 a between the autonomous vehicle 502 and the vehicle 108 (e.g., pass the threshold distance 132 ) or even cross over the lane marker 106 a .
- the distance between an oversized vehicle 108 and the autonomous vehicle 502 may become less than the threshold distance 132 due to the larger space that the oversized vehicle 108 occupies.
- a safer driving maneuver may be to perform the lane bias maneuver 130 .
- the lane bias maneuver 130 may enable the autonomous vehicle 502 to drive off-center in the current lane 104 a traveled by the autonomous vehicle 502 toward the opposite direction with respect to the vehicle 108 until the lateral distance 138 between the vehicle 108 and the autonomous vehicle 502 is at least equal to the threshold distance 132 .
- the autonomous vehicle 502 biases toward the other side of the current lane 104 a (away from the vehicle 108 ) until the lateral distance 138 between the vehicle 108 and the autonomous vehicle 502 is at least equal to the threshold distance 132 .
- the autonomous vehicle 502 may perform the lane bias maneuver 130 until the autonomous vehicle 502 and the vehicle 108 are no longer adjacent to each other, for example, until either the autonomous vehicle 502 passes by the vehicle 108 or the vehicle 108 passes by the autonomous vehicle 502 .
- the autonomous vehicle 502 may perform the lane bias maneuver 130 until it is determined that no portion of the autonomous vehicle 502 overlaps with any portion of the vehicle 108 that is traveling in an adjacent lane 104 .
- the autonomous vehicle 502 may perform the lane bias maneuver 130 until it is determined that less than a threshold portion of the vehicle 108 that is traveling in an adjacent lane 104 overlaps with any portion of the autonomous vehicle 502 .
- the threshold portion of the vehicle 108 may be one-third, half, two-third, or any other suitable portion of a length of the vehicle 108 .
- the autonomous vehicle 502 may encounter an obstacle or object 142 obstructing at least a portion of the road 102 including, a construction zone, a pedestrian on a side of the road 102 , an emergency vehicle 108 parked or in transit on an emergency lane, and a person standing on a side of a lane 104 attending to their vehicle 108 .
- system 100 may treat each of these as a non-player character 144 that may lead to performing the lane bias maneuver 130 to avoid each of these non-player characters 144 .
- a non-player character 144 may be any object 142 that the autonomous vehicle 502 interacts with.
- Control device 550 may be generally configured to control the operation of the autonomous vehicle 502 and its components, and facilitate autonomous driving of the autonomous vehicle 502 .
- the control device 550 may be further configured to determine a pathway in front of the autonomous vehicle 502 that is safe to travel and free of objects/obstacles, and navigate the autonomous vehicle 502 to travel in that pathway. This process is described in more detail in FIGS. 5 - 7 .
- the control device 550 may generally include one or more data processors in signal communication with subsystem components of the autonomous vehicle 502 (see FIG. 5 ).
- Sensors 546 may be configured to capture any object within their detection zones or fields of view, such as landmarks, lane markers, lane boundaries, road boundaries, vehicles 108 , pedestrians, road/traffic signs, among others.
- the sensors 546 may include cameras, LiDAR sensors, motion sensors, infrared sensors, and the like.
- the sensors 546 may be positioned around the autonomous vehicle 502 to capture the environment surrounding the autonomous vehicle 502 . See the corresponding description of FIG. 5 for further description of the sensors 546 .
- the control device 550 is described in detail in FIG. 5 .
- the control device 550 may include a processor 122 in signal communication with a memory 126 and a network interface 124 .
- the processor 122 may include one or more processing units that perform various functions as described herein.
- the memory 126 may store any data and/or instructions used by the processor 122 to perform its functions.
- the memory 126 may store software instructions 128 that when executed by the processor 122 causes the control device 550 to perform one or more functions described herein.
- the memory 126 may be one of the data storages 590 described in FIG. 5 .
- the memory 126 may store any of the information described in FIGS. 1 - 7 along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by processor 122 .
- the memory 126 may store software instructions 128 , lane bias maneuver 130 , minimal risk maneuver 140 , location of lane markers 106 , threshold distance 132 , sensor data 134 , lateral distances 138 a - c , distance 136 , intruded distance 146 , threshold time period 148 , trajectories 150 , 152 , 158 , and 168 , road condition data 154 , longitudinal distances 156 and 166 , distance 160 , historical driving behaviors 162 , obstacle/object 142 , non-player character 144 , driving pattern predictions 164 , lane bias amount 110 , object detection machine learning modules 112 , map data 114 , routing plan 116 , driving instructions 118 , and/or any other data/instructions.
- the software instructions 128 include code that when executed by the processor 122 causes the control device 550 to perform the functions described herein, such as some or all of those described in FIGS. 1 - 7 .
- the memory 126 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution.
- the memory 126 may be volatile or non-volatile and may comprise read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).
- the memory 126 may include one or more of a local database, cloud database, network-attached storage (NAS), etc.
- the training dataset may include sample images of objects (e.g., vehicles, lane markings, pedestrians, road signs, obstacles, etc.) labeled with object(s) in each sample image.
- the training dataset may include samples of other data types, such as videos, infrared images, point clouds, Radar data, etc. labeled with object(s) in each sample data.
- the object detection machine learning modules 112 may be trained, tested, and refined by the training dataset and the sensor data 134 .
- the object detection machine learning modules 112 use the sensor data 134 (which are not labeled with objects) to increase their accuracy of predictions in detecting objects.
- supervised and/or unsupervised machine learning algorithms may be used to validate the predictions of the object detection machine learning modules 112 in detecting objects in the sensor data 134 .
- Map data 114 may include a virtual map of a city or an area that includes the road 102 .
- the map data 114 may include the map 658 and map database 636 (see FIG. 6 for descriptions of the map 658 and map database 636 ).
- the map data 114 may include drivable areas, such as roads 102 , paths, highways, and undrivable areas, such as terrain (determined by the occupancy grid module 660 , see FIG. 6 for descriptions of the occupancy grid module 660 ).
- the map data 114 may specify location coordinates of road signs, lanes, lane markings, lane boundaries, road boundaries, traffic lights, obstacles, etc.
- Driving instructions 118 may be implemented by the planning module 662 (See descriptions of the planning module 662 in FIG. 6 ).
- the driving instructions 118 may include instructions and rules to adapt the autonomous driving of the autonomous vehicle 502 according to the driving rules of each stage of the routing plan 116 .
- the driving instructions 118 may include instructions to stay within the speed range of a road 102 traveled by the autonomous vehicle 502 , adapt the speed of the autonomous vehicle 502 with respect to observed changes by the sensors 546 , such as speeds of surrounding vehicles, objects within the detection zones of the sensors 546 , etc.
- the control device 550 may receive the object detection machine learning modules 112 , map data 114 , routing plan 116 , driving instructions 118 , and/or any other data/instructions from an oversight server (not shown) that may be configured to oversee operations of the autonomous vehicle 502 , build the map data 114 , determine the routing plan 116 , and determine the driving instructions 118 , among other operations.
- an oversight server not shown
- Threshold distance 132 may generally represent a safe distance that the control device 550 keeps (or attempts to keep) between the autonomous vehicle 502 and its surrounding objects/obstacles 142 .
- the control device 550 may define the threshold distance 132 based on road conditions 154 , such as traffic and weather on the road 102 traveled by the autonomous vehicle 502 .
- road conditions 154 such as traffic and weather on the road 102 traveled by the autonomous vehicle 502 .
- the threshold distance 132 from the autonomous vehicle 502 may be larger (e.g., eight feet or any suitable distance) compared to a road without traffic.
- the threshold distance 132 from the autonomous vehicle 502 may be larger (e.g., six feet, seven feet, or any suitable distance) compared to normal weather conditions.
- control device 550 may define a different threshold distance 132 between the autonomous vehicle 502 and each object 142 based on one or more of the size of the object 142 and type of the object 142 (e.g., vehicle, pedestrian, road sign, etc.). For example, if a first object 142 is a small vehicle 108 , a first threshold distance 132 between the small vehicle 108 and the autonomous vehicle 502 may be determined to be smaller compared to a threshold distance 132 between the autonomous vehicle 502 and an oversized vehicle 108 .
- a first threshold distance 132 between the small vehicle 108 and the autonomous vehicle 502 may be determined to be smaller compared to a threshold distance 132 between the autonomous vehicle 502 and an oversized vehicle 108 .
- a second threshold distance 132 between the pedestrian and the autonomous vehicle 502 may be larger compared to a threshold distance 132 between the autonomous vehicle 502 and a road sign.
- control device 550 may define a safety boundary or bounding box around each object 142 on and around the road 102 based on the size and type of the object 142 , such as vehicle, pedestrian, road sign, etc.
- the bounding box around each object 142 may represent a safe distance that the control device 550 keeps (or attempts to keep) between the autonomous vehicle 502 and each object 142 .
- the control device 550 may determine various threshold distances 132 between the autonomous vehicle 502 and each object 142 on and around the road 102 using the boundary boxes around each object 142 .
- the control device 550 may detect the presence of the vehicle 108 from the sensor data 134 .
- the control device 550 may determine a lateral distance 138 between the autonomous vehicle 502 and the vehicle 108 .
- the control device 550 may compare the lateral distance 138 with the threshold distance 132 .
- the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 based on the comparison between the lateral distance 138 and the threshold distance 132 . If the control device 550 determines that performing the lane bias maneuver 130 is safe and executable, the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . Otherwise, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 .
- the autonomous vehicle 502 may encounter a vehicle 108 1) on either side adjacent to the autonomous vehicle 502 ; 2) on either side and in front of the autonomous vehicle 502 ; and 3) in front of the autonomous vehicle 502 , where the vehicle 108 is stopped on a side of a road 102 .
- the corresponding description below describes various exemplary use cases of encountering a vehicle 108 (or generally a non-player character 144 ) that may lead to performing the lane bias maneuver 130 .
- control device 550 detects the presence of a vehicle 108 a from the sensor data 134 by implementing the object detection machine learning modules 112 , where the vehicle 108 a is detected on either side of the autonomous vehicle 502 .
- control device 550 may determine the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a from the sensor data 134 .
- the control device 550 may compare the lateral distance 138 a with the threshold distance 132 .
- the control device 550 may determine that the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a is less than the threshold distance 132 . In response, the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . If the control device 550 determines that performing the lane bias maneuver 130 is executable and safe, the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . Otherwise, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 .
- the minimal risk maneuver 140 may include slowing down or speeding up the autonomous vehicle 502 until the autonomous vehicle 502 and the vehicle 108 a are no longer adjacent to each other.
- the vehicle 108 a may have intruded (or crossed over) the lane marker 106 a .
- the control device 550 may perform one or more operations described below.
- the control device 550 may determine the distance 136 a between the autonomous vehicle 502 and the lane marker 106 a .
- the control device 550 may compare the distance 136 a with the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a . If the control device 550 determines that the distance 136 a is less that the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a , the control device 550 may determine that the vehicle 108 a has intruded into the lane 104 a . Otherwise, the control device 550 may determine that the vehicle 108 a has not intruded into the lane 104 a.
- control device 550 may determine that the vehicle 108 a is intruding into the current lane 104 a traveled by the autonomous vehicle 502 in response to determining that the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a is less than the distance 136 a between the autonomous vehicle 502 and the lane marker 106 a . In response, the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 and whether performing the lane bias maneuver is safe and executable.
- control device 550 may perform one or more operations described below.
- the control device 550 may determine whether performing the lane bias maneuver 130 is executable based on determining whether there is enough room or distance 136 available on the other side of the autonomous vehicle 502 to perform the lane bias maneuver 130 . To this end, the control device 550 may determine how much of the current lane 104 a is intruded by the vehicle 108 a . For example, the control device 550 may determine the amount of the intruded distance 146 into the lane 104 a that is intruded by the vehicle 108 a.
- the control device 550 may determine an available distance 136 b (or available room 136 b ) on the other side of the autonomous vehicle 502 on the current lane 104 a .
- the control device 550 may determine whether there is enough room 136 b or available distance 136 b on the other side of the autonomous vehicle 502 to perform the lane bias maneuver, i.e., drive off-center and bias toward the lane marker 106 b . To this end, the control device 550 may compare the intruded distance 146 with the available distance 136 b.
- the control device 550 may determine whether the lane bias maneuver 130 can be performed based on the comparison between the intruded distance 146 and the available distance 136 b . If the control device 550 determines that the available distance 136 b is larger than the intruded distance 146 (and/or that there is enough available distance 136 b to perform the lane bias maneuver 130 ), the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 .
- the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 if the control device 550 determines that the lane bias maneuver 130 can be performed or is executable and safe.
- the process of determining whether performing the lane bias maneuver 130 is safe is described further below.
- the control device 550 may determine that performing the lane bias maneuver 130 is safe by determining whether there is traffic (e.g., another vehicle 108 ) on the road 102 , i.e., whether the traffic allows the autonomous vehicle 502 to perform the lane bias maneuver 130 . If it is determined that there is no or minor traffic on the road 102 , the control device 550 may determine that performing the lane bias maneuver 130 is safe and instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 .
- traffic e.g., another vehicle 108
- control device 550 may determine that the lane bias maneuver 130 cannot be performed or is not executable. In response, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 . In these operations, the control device 550 takes the size, width, and length of the autonomous vehicle 502 into account when determining whether there is enough available distance 136 b to perform the lane bias maneuver 130 .
- control device 550 may determine whether performing the lane bias maneuver 130 is executable based on determining if the lane bias maneuver 130 is performed, the future lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a will be at least equal to the threshold distance 132 within a threshold time period 148 .
- control device 550 may determine that the lane bias maneuver 130 is executable. In response, the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 , if it is determined to be safe. Otherwise, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 .
- the threshold time period 148 may be two minutes, five minutes, or any other suitable time duration.
- the control device 550 may define the threshold time period 148 based on one or more of the road condition data 154 (such as traffic data and weather data associated with the road 102 ), size of the autonomous vehicle 502 , speed of the autonomous vehicle 502 , trajectory 150 of the autonomous vehicle 502 , and size of the vehicle 108 a , speed of the vehicle 108 a , and trajectory 152 of the vehicle 108 a.
- control device 550 may perform one or more operations below.
- the control device 550 may determine a speed (or estimated speed) and position of the vehicle 108 a , for example, from the sensor data 134 . Based on the speed and the position of the vehicle 108 a , the control device 550 may determine the trajectory 152 of the vehicle 108 a . Similarly, the control device 550 may determine the trajectory 150 of the autonomous vehicle 502 if the lane bias maneuver 130 is performed based on the speed and the position of the autonomous vehicle 502 .
- the control device 550 predicts the future lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a , if the autonomous vehicle 502 followed the trajectory 150 and the vehicle 108 a followed the trajectory 152 .
- the control device 550 may compare the future lateral distance 138 a with the threshold distance 132 .
- the control device 550 may determine that the lane bias maneuver 130 can be performed within the threshold time period 148 if the future lateral distance 138 a is at least equal to the threshold distance 132 within the threshold time period 148 .
- the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 (if it is determined to be safe).
- control device 550 may determine that the lane bias maneuver 130 cannot be performed and/or is not safe to be performed, e.g., due to traffic on the road 102 . In response, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 .
- the control device 550 may determine whether it is safe to cross over to the adjacent lane 104 c based on traffic on the lane 104 c . If the control device 550 determines that there is no or minor traffic (e.g., another vehicle 108 ) in the adjacent lane 104 c , the control device 550 may determine that it is safe to temporarily cross over to the lane 104 c .
- control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 and instruct the autonomous vehicle 502 to temporarily cross over to the lane 104 c and take as much space from the lane 104 c until the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a is equal to the threshold distance 132 .
- the control device 550 may instruct the autonomous vehicle 502 to drive back to its original lane 104 a when it is determined that the autonomous vehicle 502 and the vehicle 108 a are no longer adjacent to each other.
- the control device 550 may determine whether performing the lane bias maneuver 130 is executable based on the road structure. For example, if the autonomous vehicle 502 is traveling on a curved road, a trailer attached to the semi-truck tractor unit of the autonomous vehicle 502 occupies more space in the lane. Thus, the control device 550 may take the road structure into account when determining whether performing the lane bias maneuver 130 is executable. This use case is described in detail in FIGS. 3 and 4 .
- control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 .
- control device 550 causes the autonomous vehicle 502 to drive off-center of the current lane 104 a and bias toward lane marker 106 b (i.e., the other side of the lane 104 a compared to where the vehicle 108 a is detected).
- the control device 550 may determine the lane bias amount 110 .
- the lane bias amount 110 is a distance between the centerline of the current lane 104 a and the trajectory line 150 .
- the lane bias amount 110 is a distance that the autonomous vehicle 502 diverts from the centerline of the lane 104 a until the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a is at least equal to the threshold distance 132 .
- the autonomous vehicle 502 may perform the lane bias maneuver 130 until the lateral distance 138 a between the autonomous vehicle 502 and the vehicle 108 a is at least equal to the threshold distance 132 .
- the control device 550 may maintain a consistent lane bias amount 110 until the autonomous vehicle 502 is no longer adjacent to the vehicle 108 . In some embodiments, the control device 550 may maintain a consistent lane bias amount 110 even if the vehicle 108 swerves causing the lateral distance 138 to change. In some embodiments, the control device 550 may adjust the lane bias amount 110 to keep at least the threshold distance 132 with the vehicle 108 .
- the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 .
- the minimal risk maneuver 140 may include slowing down the autonomous vehicle 502 , speeding up the autonomous vehicle 502 , among other maneuvers until the autonomous vehicle 502 and the vehicle 108 a are not adjacent to each other.
- the minimal risk maneuver 140 may include slowing down the autonomous vehicle 502 and letting the vehicle 108 a to pass by the autonomous vehicle 502 .
- the minimal risk maneuver 140 may include speeding up the autonomous vehicle 502 .
- the minimal risk maneuver 140 may include speeding up the autonomous vehicle 502 .
- the minimal risk maneuver 140 may include speeding up the autonomous vehicle 502 .
- the minimal risk maneuver 140 may include slowing down the autonomous vehicle 502 .
- control device 550 may perform the minimal risk maneuver 140 in addition to the lane bias maneuver 130 if it is determined that the lane bias maneuver is executable and safe.
- control device 550 detects the presence of a vehicle 108 b from the sensor data 134 by implementing the object detection machine learning modules 112 , where the vehicle 108 b is detected in front of the autonomous vehicle 502 and on either side of the lane 104 a traveled by the autonomous vehicle 502 .
- the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 to avoid the vehicle 108 b , whether lane bias maneuver 130 is executable and safe, and instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 if it is determined that the lane bias maneuver 130 is executable and safe, as described below.
- control device 550 may determine the lateral distance 138 b between the autonomous vehicle 502 and the vehicle 108 b by analyzing the sensor data 134 .
- the control device 550 may compare the lateral distance 138 b with the threshold distance 132 .
- the control device 550 may determine that the lateral distance 138 b between the autonomous vehicle 502 and the vehicle 108 b is less than the threshold distance 132 . In the illustrated example, the control device 550 may determine that the vehicle 108 b is driving too close to the lane marker 106 a between the autonomous vehicle 502 and the vehicle 108 b . For example, the control device 550 may determine that the distance 160 between the vehicle 108 b and the lane marker 106 a is less than a threshold, e.g., less than twenty inches, forty inches, or any other suitable distance.
- a threshold e.g., less than twenty inches, forty inches, or any other suitable distance.
- the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . Similar to that described above with respect to the example of vehicle 108 a , if the control device 550 determines that performing the lane bias maneuver 130 is executable and safe, the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . Otherwise, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 . These operations are described below.
- control device 550 may determine whether performing the lane bias maneuver 130 is executable within the threshold time period 148 based on the lateral distance 138 b , longitudinal distance 156 , trajectory 150 of the autonomous vehicle 502 if the lane bias maneuver 130 is executed, and the trajectory 158 of the vehicle 108 b , as described below.
- the control device 550 may determine the longitudinal distance 156 between the autonomous vehicle 502 and the vehicle 108 b from the sensor data 134 .
- the control device 550 may determine the trajectory 150 of the autonomous vehicle 502 if the lane bias maneuver 130 is performed based on the speed and the position of the autonomous vehicle 502 , similar to that described above. Similarly, the control device 550 may determine the trajectory 158 of the vehicle 108 b based on the position and speed (or estimated speed) of the vehicle 108 b.
- the control device 550 predicts the future lateral distance 138 b between the autonomous vehicle 502 and the vehicle 108 b if the autonomous vehicle 502 followed the trajectory 150 and the vehicle 108 b followed the trajectory 158 .
- the control device 550 may compare the predicted future lateral distance 138 b with the threshold distance 132 . If the control device 550 determines that the predicated future lateral distance 138 b will be more than or equal to the threshold distance 132 within the threshold time period 148 , the control device 550 may determine that the lane bias maneuver 130 can be performed. In response, the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 (if it is determined to be safe).
- control device 550 may determine whether it is safe to perform the lane bias maneuver 130 based on road condition data 154 (e.g., traffic data and weather data) and/or historical driving behaviors 162 associated with the surrounding vehicles 108 . To this end, while traveling along the road 102 , the control device 550 may record the driving behaviors 162 associated with the vehicles 108 on the road 102 .
- road condition data 154 e.g., traffic data and weather data
- control device 550 may determine that it is not safe to perform the lane bias maneuver 130 if it is determined that a driving pattern prediction 164 of a vehicle 108 is less than a threshold percentage, e.g., less than 70%, 60%, etc., i.e., the driving pattern of the vehicle 108 is highly unpredictable.
- the control device 550 may determine the driving pattern prediction 164 based on the historical driving behaviors 162 .
- control device 550 may determine that it is not safe to perform the lane bias maneuver 130 if it is determined that the historical driving behavior 162 of a vehicle 108 indicates that the vehicle 108 has been intruding or invading one or more lanes 104 , or driving too close to lane markers 106 (e.g., driving with less than a threshold distance from the lane markers 106 ).
- the control device 550 may determine that the historical driving behavior 162 of the vehicle 108 b indicates that the vehicle 108 b has been intruding or invading one or more lanes 104 . In another example with respect to the vehicle 108 b , the control device 550 may determine that the historical driving behavior 162 of the vehicle 108 b indicates that the vehicle 108 b has been driving too close to lane markers 106 (e.g., with less than a threshold distance from the lane markers 106 ).
- control device 550 may determine that it is not safe to perform the lane bias maneuver 130 if it is determined that the lane bias maneuver 130 cannot be performed within the threshold time period 148 , for example, due to road conditions 154 , such as congested traffic or undesirable weather conditions on the road 102 .
- the sensors 546 may detect any stationary object 142 on a side of the road 102 that is: 1) occupying at least a portion of the road; 2) invading a lane 104 of the road 102 ; 3) on an emergency lane; or 4) on the other side of the lane marker 106 b but too close to the lane marker 106 b (e.g., a distance between the object 142 and the lane marker 106 b is less than a threshold, such as twenty inches, forty inches, etc.).
- the stationary object 142 may include construction cones, construction barriers, construction workers, construction equipment, pedestrians, vehicles, and/or any other object 142 .
- the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 to avoid the vehicle 108 c , whether the lane bias maneuver 130 is executable and safe, and instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 if it is determined that the lane bias maneuver 130 is executable and safe, as described below.
- control device 550 may determine the lateral distance 138 c between the autonomous vehicle 502 and the vehicle 108 c by analyzing the sensor data 134 .
- the control device 550 may compare the lateral distance 138 c with the threshold distance 132 .
- the control device 550 may determine that the lateral distance 138 c between the autonomous vehicle 502 and the vehicle 108 c is less than the threshold distance 132 . In the illustrated example, the control device 550 determines that the vehicle 108 c has crossed over the lane boundary 106 b based on determining that the lateral distance 138 c is less than the distance 136 b between the autonomous vehicle 502 and the lane boundary 106 b.
- the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . Similar to that described above with respect to the example of vehicle 108 a , if the control device 550 determines that performing the lane bias maneuver 130 is executable and safe, the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 . Otherwise, the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 . These operations are described below.
- control device 550 may determine whether performing the lane bias maneuver 130 is executable within the threshold time period 148 based on the lateral distance 138 c , longitudinal distance 166 , trajectory 150 of the autonomous vehicle 502 if the lane bias maneuver 130 is executed, and determining whether there is enough room or distance 136 a on the other side of the autonomous vehicle 502 to perform the lane bias maneuver 130 , as described below.
- the control device 550 may determine the trajectory 166 of the autonomous vehicle 502 based on the speed and position of the autonomous vehicle 502 if the lane bias maneuver 130 is performed, similar to that described above with respect to determining the trajectory 150 .
- the control device 550 predicts the future lateral distance 138 c between the autonomous vehicle 502 and the vehicle 108 c if the autonomous vehicle 502 followed the trajectory 166 .
- the control device 550 may compare the predicted future lateral distance 138 c with the threshold distance 132 .
- control device 550 may determine that the lane bias maneuver 130 can be performed. In response, the control device 550 may perform the lane bias maneuver 130 (if it is determined to be safe).
- control device 550 may determine a classification of vehicles 108 based on their size. For example, the control device 550 may classify oversized vehicles 108 , such as buses, into a first class, normal-sized vehicles 108 , such as family cars, into a second class, and so on. Thus, determining whether to perform the lane bias maneuver 130 may further be based on a particular class to which the encountered vehicle 108 belongs.
- FIG. 2 illustrates an example flowchart of a method 200 for implementing a lane bias maneuver 130 for autonomous vehicles 502 . Modifications, additions, or omissions may be made to method 200 .
- Method 200 may include more, fewer, or other operations. For example, operations may be performed in parallel or in any suitable order. While at times discussed as the autonomous vehicle 502 , control device 550 , or components of any of thereof performing operations, any suitable system or components of the system may perform one or more operations of the method 200 .
- one or more operations of method 200 may be implemented, at least in part, in the form of software instructions 128 and processing instructions 580 , respectively, from FIGS.
- non-transitory, tangible, machine-readable media e.g., memory 126 and data storage 590 , respectively, from FIGS. 1 and 5
- processors e.g., processors 122 and 570 , respectively, from FIGS. 1 and 5
- processors may cause the one or more processors to perform operations 202 - 218 .
- Method 200 begins at operation 202 where the control device 550 receives sensor data 134 from sensors 546 associated with an autonomous vehicle 502 .
- the control device 550 may receive the sensor data 134 from the sensors 546 continuously, periodically (e.g., every second, every five seconds, or any suitable duration), and/or on-demand.
- the control device 550 may detect the presence of a vehicle 108 from the sensor data 134 .
- the control device 550 may implement the object detection machine learning modules 112 to detect the vehicle 108 from the sensor data 134 .
- the control device 550 may detect the presence of any of the vehicles 108 a , 108 b , or 108 c described in FIG. 1 .
- the control device 550 may detect the presence of any obstacle/object 142 and/or non-player character 144 from the sensor data 134 .
- the control device 550 may determine a lateral distance 138 between the autonomous vehicle 502 and the vehicle 108 .
- the control device 550 may determine the lateral distance 138 a , 138 b , or 138 c between the autonomous vehicle 502 and each of the vehicles 108 a , 108 b , and 108 c , respectively, similar to that described in FIG. 1 .
- the control device 550 may compare the lateral distance 138 with the threshold distance 132 from the autonomous vehicle 502 .
- the control device 550 may define the threshold distance 132 , similar to that described in FIG. 1 .
- control device 550 may determine that the autonomous vehicle 502 is keeping a safe distance from the vehicle 108 . Thus, the control device 550 may continue to monitor and evaluate distances between the autonomous vehicle 502 and other vehicles 108 (or objects 142 ).
- control device 550 may determine whether a lane bias maneuver 130 is executable.
- the control device 550 may determine that the lane bias maneuver 130 is executable if it is determined that the lane bias maneuver 130 can be performed within a threshold time period 148 . In other words, the control device 550 may determine that the lane bias maneuver 130 is executable if by performing the lane bias maneuver 130 , the future lateral distance 138 between the autonomous vehicle 502 and the vehicle 108 will be at least equal to the threshold distance 132 within the threshold time period 148 , similar to that described in FIG. 1 .
- the control device 550 may determine whether the lane bias maneuver 130 is executable based on the road structure. For example, if the road 102 has high curvature (e.g., more than sixty degrees, seventy degrees, etc.), the control device 550 may determine that the lane bias maneuver 130 is not executable. If the control device 550 determines that the lane bias maneuver 130 is executable, method 200 may proceed to operation 216 . Otherwise, method 200 may proceed to operation 214 .
- high curvature e.g., more than sixty degrees, seventy degrees, etc.
- the control device 550 may instruct the autonomous vehicle 502 to perform a minimal risk maneuver 140 .
- the minimal risk maneuver 140 may include slowing down or speeding up the autonomous vehicle 502 until the autonomous vehicle 502 and the vehicle 108 are no longer adjacent to each other.
- control device 550 may determine whether performing the lane bias maneuver 130 is safe.
- the control device 550 may determine whether performing the lane bias maneuver 130 is safe based on the historical driving behavior 162 associated with the vehicle 108 . For example, if the control device 550 determines that the historical driving behavior 162 associated with the vehicle 108 indicates that the driving behavior of the vehicle 108 is highly unpredictable, e.g., the driving pattern prediction 164 of the vehicle 108 is less than a threshold percentage, such as 60%, 55%, etc., the control device 550 may determine that it is not safe to perform the lane bias maneuver 130 , similar to that described in FIG. 1 .
- control device 550 may determine whether performing the lane bias maneuver 130 is safe based on road conditions 154 , such as traffic and weather on the road 102 . For example, if the control device 550 determines that there is congested traffic on the road 102 and/or there is a severe weather condition to the extent that a risk of collision with another vehicle 108 may become more than a threshold percentage (e.g., more than 10%, 15%, etc.) by performing the lane bias maneuver 130 , the control device 550 may determine that it is not safe to perform the lane bias maneuver 130 . If it is determined that it is not safe to perform the lane bias maneuver 130 , method 200 may proceed to operation 214 . Otherwise, method 200 may proceed to operation 218 .
- road conditions 154 such as traffic and weather on the road 102 . For example, if the control device 550 determines that there is congested traffic on the road 102 and/or there is a severe weather condition to the extent that a risk of collision with another vehicle 108 may become more than a threshold
- the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 .
- the control device 550 drives the autonomous vehicle 502 off-center (with the distance of the lane bias amount 110 ) in the current lane 104 a toward the opposite direction with respect to the vehicle 108 until the lateral distance 138 between the vehicle 108 and the autonomous vehicle 502 is at least equal to the threshold distance 132 , similar to that described above in FIG. 1 .
- FIG. 3 illustrates an embodiment of a system 300 for implementing a lane bias maneuver 130 for autonomous vehicles 502 to negotiate a curved road 302 .
- FIG. 3 further illustrates a simplified diagram of a curved road 302 traveled by the autonomous vehicle 502 .
- system 300 comprises an autonomous vehicle 502 and its components, including the control device 550 and sensors 546 .
- the control device 550 comprises the processor 122 in signal communication with the memory 126 .
- Memory 126 may store software instructions 312 that when executed by the processor 122 cause the control device 550 to perform one or more functions described herein. For example, when the software instructions 312 are executed, the processor 122 implements the lane bias maneuver 130 to negotiate a curved road 302 .
- the system 300 may be configured as shown or in any other configuration.
- system 300 may be configured to implement the lane bias maneuver 130 in response to detecting that the autonomous vehicle 502 is approaching a curved road, such as the exemplary illustrated curved road 302 and/or when the trailer 318 of the autonomous vehicle 502 swings or diverts from the straight line and creates a trailer angle 342 between the semi-truck tractor unit 316 and the trailer 318 of the autonomous vehicle 502 , for example, due to the wind going across the autonomous vehicle 502 even on a straight road.
- the semi-truck tractor unit 316 is interchangeably referred to herein as a cab 316 of the autonomous vehicle 502 .
- the trailer 318 of the autonomous vehicle 502 may inadvertently divert or swing from the centerline of the curved lane 304 .
- a distance between the autonomous vehicle 502 and a vehicle on the curved road 302 may become less than a threshold distance 132 due to the trailer 318 of the autonomous vehicle 502 diverting from the centerline of the curved lane 304 .
- the wind might cause the trailer 318 of the autonomous vehicle 502 to divert or swing from the centerline of the current lane, and create a trailer angle 342 between the trailer 318 and the cab 316 of the autonomous vehicle 502 .
- a distance between the autonomous vehicle 502 and a vehicle on the curved or a straight road may become less than a threshold distance 132 due to the trailer 318 of the autonomous vehicle 502 diverting from the centerline of the curved or the straight lane.
- the control device 550 may implement the lane bias maneuver 130 to drive the autonomous vehicle 502 off-center in the curved lane 304 so that the autonomous vehicle 502 does not invade the side lanes. In other words, the control device 550 may implement the lane bias maneuver 130 so neither the cab 316 nor the trailer 318 divert into a side lane.
- control device 550 calculates the total lane bias adjustment amount 320 that is the distance of driving the autonomous vehicle 502 off-center in the current lane to perform the lane bias maneuver 130 .
- the process of calculating the distance to drive the autonomous vehicle 502 off-center in the current lane 304 i.e., total lane bias adjustment amount 320 ) is described further below in conjunction with the operational flow of system 300 .
- the control device 550 calculates the first lane bias adjustment amount 330 that is associated with the road curvature 328 , calculates the second lane bias adjustment amount 340 that is associated with the trailer angle 342 , and combines them together.
- the first lane bias adjustment amount 330 that the trailer angle 342 is represented (or assumed) to be zero, and the control device 550 calculates the first lane bias adjustment amount 330 in isolation.
- the second lane bias adjustment amount 340 the road 302 is represented (or assumed) to be straight, and the control device 550 calculates the second lane bias adjustment amount 340 in isolation.
- the first lane bias adjustment amount 330 may be interchangeably referred to herein as the first lane bias adjustment distance amount 330
- the second lane bias adjustment amount 340 may be interchangeably referred to herein as the second lane bias adjustment distance amount 340
- the total lane bias adjustment amount 320 may be interchangeably referred to herein as the total lane bias adjustment distance amount 320 .
- a system may include one or more components of the system 100 of FIG. 1 and the system 300 of FIG. 3 , and may be configured to perform one or more operations of the operational flow described in FIG. 1 , one or more operations of the method 200 described in FIG. 2 , one or more operations of the operational flow 300 described in FIG. 3 , and one or more operations of the method 400 described in FIG. 4 .
- the memory 126 may be further configured to store software instructions 312 , road radius 322 , trailer angle 342 , trailer length 326 , lane bias maneuver 130 , map data 114 , sensor data 314 , first lane bias adjustment amount 330 , second lane bias adjustment amount 340 , total lane bias adjustment amount 320 , lane bias amount 110 , final lane bias amount 350 , trailer bias amount 352 , and threshold distance 132 .
- the corresponding description below describes the operational flow of the system 300 for implementing the lane bias maneuver 130 when the autonomous vehicle 502 is approaching a curved road 302 .
- the operational flow of the system 300 begins when the control device 550 may determine that the autonomous vehicle 502 is approaching a curved road 302 .
- the control device 550 may determine that the autonomous vehicle 502 is approaching a curved road 302 based on analyzing the map data 114 .
- the map data 114 is described in FIG. 1 .
- the map data 114 may include a virtual map of a city in which the autonomous vehicle 502 is driving.
- the map data 114 may include one or more roads ahead of the autonomous vehicle 502 .
- the control device 550 may implement data processing algorithms, such as image processing algorithms to analyze the map data 114 to determine a shape of one or more roads ahead of the autonomous vehicle 502 .
- the control device 550 may determine that the autonomous vehicle 502 is approaching the curved road 302 based on sensor data 314 .
- the control device 550 may receive sensor data 314 from the sensors 546 of the autonomous vehicle 502 , where the sensor data 314 describes the environment around the autonomous vehicle 502 .
- the sensor data 314 may include data that indicates a set of locations of lane markers 306 on the curved road 302 .
- the control device 550 may implement the object detection machine learning module 166 to process the sensor data 314 and determine the set of locations of the lane markers 306 from the sensor data 314 .
- the control device 550 may determine that the autonomous vehicle 502 is approaching the curved road 302 based on determining that the set of locations of the lane markers 306 follows a curved line.
- the control device 550 may determine a distance to drive the autonomous vehicle 502 off-center from the centerline of the curved lane 304 to perform the lane bias maneuver 130 . To this end, the control device 550 may determine the total lane bias adjustment amount 320 .
- the control device 550 To determine the total lane bias adjustment amount 320 , the control device 550 combines the first lane bias adjustment amount 330 and the second lane bias adjustment amount 340 .
- the first lane bias adjustment amount 330 may be associated with the road curvature 328 .
- the second lane bias adjustment amount 340 may be associated with the trailer angle 342 .
- the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 , where the lane bias maneuver 130 comprises driving the autonomous vehicle 502 off-center in a curved lane currently traveled by the autonomous vehicle 502 based on the total lane bias adjustment amount 320 .
- the trailer angle 342 is represented to be zero.
- the cab 316 and the trailer 318 of the autonomous vehicle 502 are substantially aligned with each other such that the trailer angle 342 between the cab 316 and the trailer 318 of the autonomous vehicle 502 is zero.
- the control device 550 may determine a road radius 322 of the curved road 302 .
- the control device 550 may determine the road radius 322 from the map data 114 .
- the control device 550 may determine a virtual circle 324 on the map data 114 such that the curved road 302 is a part of a circumference of the virtual circle 324 .
- the centerline of the road 302 may be a part of the circumference of the virtual circle 324 .
- the control device 550 may determine the road radius 322 of the curved road 302 by calculating a distance between the center of the virtual circle 324 and a point 332 where the cab 316 of the autonomous vehicle 502 meets the trailer 318 of the autonomous vehicle 502 .
- the control device 550 calculates the first lane bias adjustment amount 330 associated with the road curvature 328 using the road radius 322 and a trailer length 326 as described below.
- the trailer length 326 may be provided to the control device 550 in the software instructions 312 .
- control device 550 may calculate the first lane bias adjustment amount 330 according to an Equation (1).
- First ⁇ lane ⁇ bias ⁇ adjustment ⁇ value ( road ⁇ radius 2 - trailer ⁇ length 2 ) 1 / 2 - road ⁇ radius Equation ⁇ ( 1 )
- the trailer length in Equation (1) is the trailer length 326 which is the length of the trailer 318 .
- the control device 550 may adjust a sign of the first lane bias adjustment amount 330 based on a direction of the road curvature 328 and/or a direction of the first lane bias adjustment amount 330 .
- the calculated first lane bias adjustment amount 330 using the Equation (1) will always be positive.
- the sign of the first lane bias adjustment amount 330 may need to be adjusted based on the direction of the road curvature 328 and/or the direction of the first lane adjustment amount 330 .
- the first lane bias adjustment amount 330 is to the left direction because the middle-end point of the trailer 318 is on the right side of the centerline of the lane 304 .
- the sign of the first lane bias adjustment amount 330 is negative.
- the first lane bias adjustment amount 330 with the adjusted sign may be calculated according to an Equation (2).
- Equation (2) The sign (road curvature) in Equation (2) indicates a sign associated with the road curvature 328 .
- the road 302 in calculating the second lane bias adjustment amount 340 , is represented to be straight.
- the autonomous vehicle 502 in calculating the second lane bias adjustment amount 340 , is assumed to be on a straight line 348 .
- the straight line 348 may be the centerline of a road that is assumed to be straight.
- the control device 550 may determine a trailer angle 342 between the trailer 318 and the cab 316 .
- the control device 550 may determine the trailer angle 342 from sensor data 314 received from a sensor 546 that may be configured to measure the trailer angle 342 between the trailer 318 and the cab 316 by measuring mechanical rotations and converting them into a scaled electrical signal.
- the control device 550 calculates the second lane bias adjustment amount 340 associated with the trailer angle 342 using the trailer angle 342 and the trailer length 326 , as described below.
- control device 550 may calculate the second lane bias adjustment amount 340 according to an Equation (3).
- Second lane bias adjustment value trailer length ⁇ sin(trailer angle) Equation (3)
- control device 550 may adjust a sign of the second lane bias adjustment amount 340 based on a direction of the trailer angle 342 and/or a direction of the second lane bias adjustment amount 340 .
- the sign of the trailer angle 342 may depend on which direction the trailer 318 is diverting from the straight line 348 . For example, if the trailer 318 swings to the left direction, a sign associated with the trailer angle 342 is negative; and if the trailer 318 swings to the right direction, the sign associated with the trailer angle 342 is positive. Also, if the second lane bias adjustment amount 340 is to the left direction, the sign of the second lane bias adjustment amount 340 is negative; and if the second lane bias adjustment amount 340 is to the right direction, the sign of the second lane bias adjustment amount 340 is positive.
- the control device 550 may calculate the second lane bias adjustment amount 340 with the adjusted sign according to an Equation (4).
- Second lane bias adjustment value with the assigned sign ⁇ trailer length ⁇ sin(trailer angle) Equation (4)
- each of the first lane bias adjustment amount 330 and the second lane bias adjustment amount 340 may be toward the left or right direction and is associated with a sign.
- the direction and amount of the total lane bias adjustment amount 320 may depend on the sign and the amount of each of the first lane bias adjustment amount 330 and the second lane bias adjustment amount 340 .
- the direction and amount of the total lane bias adjustment amount 320 may depend on which of the first lane bias adjustment amount 330 or the second lane bias adjustment amount 340 has more effect on the autonomous vehicle 502 .
- the first lane bias adjustment amount 330 has a negative sign (i.e., toward the left direction)
- the second lane bias adjustment amount 340 has a positive sign (i.e., toward the right direction)
- the first lane bias adjustment amount 330 is larger than the second lane bias adjustment amount 340
- the total lane bias adjustment amount 320 will be negative (i.e., toward the left direction).
- the control device 550 calculates the total lane bias adjustment amount 320 by combining the first lane bias adjustment amount 330 and the second lane bias adjustment amount 340 .
- the control device 550 may instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 using the total lane bias adjustment amount 320 .
- the control device 550 drives the autonomous vehicle 502 off-center from the centerline of the curved lane 304 based on the calculated total lane bias adjustment amount 320 so that the autonomous vehicle 502 does not invade the side lanes.
- control device 550 may account for the keeping a safe distance from the vehicle 310 in addition to accounting for the lane bias adjustment amounts 330 and/or 340 associated with the road curvature 328 and/or the trailer angle 342 .
- control device 550 may determine the lane bias amount 110 to keep a safe distance from the vehicle 310 , i.e., until the distance between the autonomous vehicle 502 and the vehicle 310 is at least equal to the threshold distance 132 , similar to that described in FIGS. 1 and 2 .
- the control device 550 may also determine the total lane bias adjustment amount 320 , similar to that described above in FIG. 3 .
- the control device 550 may combine or add the total lane bias adjustment amount 320 with the lane bias amount 110 described in FIGS. 1 and 2 to determine the final lane bias amount 350 to drive the autonomous vehicle 502 off-center from a centerline of the lane 304 .
- the total lane bias adjustment amount 320 may be equal to the final lane bias amount 350 .
- the control device 550 may calculate the lane bias amount 110 for keeping at least the threshold distance 132 from the vehicle 310 , similar to that described in FIGS. 1 and 2 .
- the control device 550 may also calculate the total lane bias adjustment amount 320 by calculating and combining the first lane bias adjustment amount 330 and the second lane bias adjustment amount 340 , similar to that described above.
- the control device 550 may determine the final lane bias amount 350 by combining the lane bias amount 110 and the total lane bias adjustment amount 320 .
- the control device 550 may combine the lane bias amount 110 to the total lane bias adjustment amount 320 to calculate the final lane bias amount 350 .
- the control device 550 may determine not to combine the lane bias amount 110 to the total lane bias adjustment amount 320 and only use the total lane bias adjustment amount 320 to drive the autonomous vehicle 502 off-center from the lane 304 .
- One reason for determining not to combine the lane bias amount 110 to the total lane bias adjustment amount 320 is to not reduce a distance between the autonomous vehicle 502 and the vehicle 310 b and not to reduce the final lane bias amount 350 .
- the control device 550 may determine whether to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 while traveling on a straight road.
- the control device 550 may determine that the autonomous vehicle 502 is traveling along a straight road by analyzing the map data 114 and/or sensor data 314 , similar to that described above with respect to determining that the autonomous vehicle 502 is approaching the curved road 302 .
- the control device 550 may determine that the first lane bias adjustment amount 330 is zero because the road radius 322 is substantially large, such as more than a threshold distance, e.g., 1000 meters.
- the control device 550 may detect that wind is causing the trailer 318 of the autonomous vehicle 502 to divert from a straight line.
- the control device 550 may determine that wind is causing the trailer 318 of the autonomous vehicle 502 to divert from the straight line based on sensor data 314 received from the sensors 546 that indicates the trailer angle 342 is more than zero.
- the control device 550 may determine the trailer angle 342 associated with the wind from sensor data 314 received from a sensor 546 that may be configured to measure the trailer angle 342 .
- the control device 550 calculates the second lane bias adjustment amount 340 caused by the wind, similar to that described above using the Equations (3) and (4). Since the first lane bias adjustment amount 330 is determined to be zero, the control device 550 may determine that the total lane bias adjustment amount 320 is equal to the second lane bias adjustment amount 340 .
- control device 550 may calculate the final lane bias amount 350 as described below.
- control device 550 may calculate a trailer bias amount 352 according to an Equation (5):
- trailer ⁇ bias ( road ⁇ radius 2 + trailer ⁇ length 2 - 2 ⁇ road ⁇ radius ⁇ trailer ⁇ lenght ⁇ cos ⁇ ( ⁇ 2 - trailer ⁇ angle ) 1 / 2 - road ⁇ radius Equation ⁇ ( 5 )
- the calculated trailer bias amount 352 may be positive or negative.
- the trailer bias amount 352 is positive, it means that the trailer 318 is biased or diverted toward the outer side of the curved road 302 .
- the trailer bias amount 352 is negative, it means that the trailer 318 is biased or diverted toward the inner side of the curved road 302 .
- the positive sign means the left direction
- the negative sign means the right direction.
- the direction or sign of the trailer bias amount 352 may need to be adjusted to align with the correct lane bias direction.
- the control device 550 may calculate the final lane bias amount 350 by combining the lane bias amount 110 with the trailer bias amount 352 with the adjusted sign.
- the autonomous vehicle 502 may encounter a vehicle 310 on either side and on a curved road 302 , where the curvature of the curved road 302 may be toward left or right direction.
- the control device 550 may reverse the sign of the trailer bias amount 352 if it is going through a left curve. This can be done by multiplying the sign of the trailer angle 342 with the trailer bias amount 352 .
- the trailer angle 342 may be too small, for example, less than a threshold degree, e.g., less than five degrees, four degrees, etc.
- the sign of the road curvature 328 (opposite to the trailer angle 342 ) may be used to adjust the sign of the trailer bias amount 352 .
- the trailer 318 is biased or diverted from the straight line due to road banks (roll angles) or wind.
- the road radius 322 is very large (e.g., more than a threshold amount)
- the trailer bias amount 352 will always be negative (inner side compared to the large circle associated with the large road radius 322 ).
- the road curvature 328 is not usable because the road is straight.
- the trailer bias amount 352 has the opposite sign compared to the final lane bias amount 350 if the trailer 318 swings to the left side, while the trailer bias amount 352 has the same sign as the final lane bias amount 350 if the trailer 318 swings to the right direction.
- the control device 550 may multiply the sign of the trailer angle 342 with the trailer bias amount 352 to adjust the sign of the trailer bias amount 352 .
- the road radius 322 (or the turning radius) is 620 meters (m)
- the average of the trailer angle 342 is 0.01 radian (rad) with an average deviation or spike up to 0.02 rad.
- the average of the trailer bias amount 352 may be 0.0 m with an average deviation or spike up to ⁇ 0.14 m.
- the negative value means the inner side.
- the trailer bias amount 352 is on the middle of the lane with some oscillations or deviations to the inner side.
- the road radius 322 (or the turning radius) is 502 m
- the average of the trailer angle 342 is 0.018 rad with an average deviation or spike up to ⁇ 0.3 rad.
- the deviations or spikes could be caused by the wind, control adjustments to the autonomous vehicle 502 , and/or road bumps, but the trailer bias amount 352 is toward the inner side.
- the difference between biasing toward the inner and outer sides of the curved road 302 may be explained by the different roll angles.
- the inner side of the road has a large roll angle which may lead the trailer 318 to bias toward the inner side.
- the trailer angle 342 may be too small to be measured due to a shape of the road curvature 328 , such as in sharp curves.
- the road radius 322 may be at least 1000 m.
- the trailer bias amount 352 may be smaller than 0.15 m.
- the trailer bias amount 352 is to the outer side (upon ignoring the very small trailer angle 342 ).
- One possible reason is that such a curved road may be flat and the roll angle is much smaller than the curved angle.
- the trailer bias amount 352 may be affected by the speed of the autonomous vehicle 502 , the road curvature 328 (or the turning radius), roll angle, and/or wind that is going across the autonomous vehicle 502 .
- the trailer angle 342 may be used. If the turning radius is larger than 1000 m, the trailer bias amount 352 may be calculated to be less than 0.15 m. This amount of bias is smaller than the lateral error range than is preconfigured in the control device 550 . Thus, it may not be noticeable by the control device 550 .
- control device 550 may be configured to reduce signal noise and self-existing control adjustments and driving behaviors in calculating the total lane bias adjustment amount 320 and/or the final lane bias amount 350 .
- the control device 550 may implement smoothing filters to smooth the instruction signal that indicates to perform the lane bias maneuver 130 , thereby reducing the signal noise and self-existing control adjustments and driving behaviors.
- the control device 550 may use a digital filter, such as a moving average filter, a finite impulse response filter, an infinite impulse response filter, and/or the like to reduce the noise or deviations in calculating the trailer angle 342 .
- control device 550 may perform a similar operation with respect to determining a lateral distance ( 138 a - c in FIG. 1 ) between the autonomous vehicle 502 and a vehicle 310 a and/or vehicle 310 b , compare the lateral distance with a threshold distance ( 132 in FIG. 1 ) to determine whether or not the lateral distance is less than the threshold distance. If it is determined that the lateral distance is less than the threshold distance, the control device 550 may instruct the autonomous vehicle to perform the lane bias maneuver 130 .
- control device 550 may perform similar operations when encountering a curved road 302 , similar to that described in FIGS. 1 and 2 when encountering a straight road 102 , and vice versa. For example, the control device 550 may adjust one or more operations for navigating the autonomous vehicle 502 described herein according to the shape of the road to achieve a more optimal and safe navigation path for the autonomous vehicle 502 , surrounding vehicles, and pedestrians.
- control device 550 may perform similar operations when encountering a curved road 302 , similar to that described in FIGS. 1 and 2 when encountering a straight road 102 , and vice versa. For example, the control device 550 may adjust one or more operations for navigating the autonomous vehicle 502 described herein according to the shape of the road to achieve a more optimal and safe navigation path for the autonomous vehicle 502 , surrounding vehicles, and pedestrians.
- FIG. 4 illustrates an example flowchart of a method 400 for implementing a lane bias maneuver 130 to negotiate a curved road. Modifications, additions, or omissions may be made to method 400 .
- Method 400 may include more, fewer, or other operations. For example, operations may be performed in parallel or in any suitable order. While at times discussed as the autonomous vehicle 502 , control device 550 , or components of any of thereof performing operations, any suitable system or components of the system may perform one or more operations of the method 400 .
- one or more operations of method 400 may be implemented, at least in part, in the form of software instructions 312 and processing instructions 580 , respectively, from FIGS.
- non-transitory, tangible, machine-readable media e.g., memory 126 and data storage 590 , respectively, from FIGS. 3 and 5
- processors e.g., processors 122 and 570 , respectively, from FIGS. 3 and 5
- processors may cause the one or more processors to perform operations 402 - 418 .
- Method 400 begins at operation 402 where the control device 550 may determine whether the autonomous vehicle 502 is approaching a curved road 302 . In this process, the control device 550 may determine whether the autonomous vehicle 502 is approaching a curved road 302 based on analyzing the map data 114 and/or sensor data 314 , similar to that described in FIG. 3 . If the control device 550 determines that the autonomous vehicle 502 is approaching a curved road 302 , method 400 may proceed to operation 404 . Otherwise, method 400 may proceed to operation 416 .
- control device 550 may determine a road radius 322 of the curved road 302 , similar to that described in FIG. 3 .
- the control device 550 may calculate a first lane bias adjustment amount 330 associated with a road curvature 328 of the curved road 302 based on the road radius 322 . In this process, the control device 550 may calculate the first lane bias adjustment amount 330 according to Equations (1) and (2) described in FIG. 3 .
- control device 550 may determine a trailer angle 342 between the trailer 318 and the cab 316 of the autonomous vehicle 502 , similar to that described in FIG. 3 .
- the control device 550 may combine the total lane bias adjustment value 320 with an original lane bias amount 110 .
- the control device 550 may instruct the autonomous vehicle 502 to perform a lane bias maneuver 130 based on the total lane bias adjustment amount 320 and the original lane bias amount 110 .
- the lane bias maneuver 130 comprises driving the autonomous vehicle 502 off-center in a curved lane 304 currently traveled by the autonomous vehicle 502 based on the total lane bias adjustment amount 320 and the original lane bias amount 110 .
- control device 550 may perform the operations 416 - 420 described below.
- the control device 550 may determine whether the trailer angle 342 between the cab 316 and the trailer 318 of the autonomous vehicle 502 is more than zero. For example, the control device 550 may determine whether the trailer angle 342 is more than zero if sensor data 314 comprises data that indicates the trailer angle 342 is more than zero. In this process, the control device 550 may determine whether wind going across the autonomous vehicle 502 pushing the trailer 318 of the autonomous vehicle to left or right and causing the trailer angle 342 between the cab 316 and the trailer 318 of the autonomous vehicle 502 to become more than zero, similar to that described in FIG. 3 . If the control device 550 determines that the trailer angle 342 is more than zero, method 400 may proceed to operation 418 . Otherwise, method 400 may proceed to operation 420 .
- control device 550 may determine that the first lane bias adjustment value 330 is zero. In response, method 200 may proceed to 414 .
- the control device 550 may determine that the total lane bias adjustment value 320 is zero. In one embodiment, the control device 750 may determine not to instruct the autonomous vehicle 502 to perform the lane bias maneuver 130 if the lane bias amount 110 and the total lane bias adjustment value 320 are zero.
- the autonomous vehicle 502 may include various vehicle subsystems that support the operation of autonomous vehicle 502 .
- the vehicle subsystems 540 may include a vehicle drive subsystem 542 , a vehicle sensor subsystem 544 , a vehicle control subsystem 548 , and/or network communication subsystem 592 .
- the components or devices of the vehicle drive subsystem 542 , the vehicle sensor subsystem 544 , and the vehicle control subsystem 548 shown in FIG. 5 are examples.
- the autonomous vehicle 502 may be configured as shown or any other configurations.
- the vehicle drive subsystem 542 may include components operable to provide powered motion for the autonomous vehicle 502 .
- the vehicle drive subsystem 542 may include an engine/motor 542 a , wheels/tires 542 b , a transmission 542 c , an electrical subsystem 542 d , and a power source 542 e.
- the vehicle sensor subsystem 544 may include a number of sensors 546 configured to sense information about an environment or condition of the autonomous vehicle 502 .
- the vehicle sensor subsystem 544 may include one or more cameras 546 a or image capture devices, a radar unit 546 b , one or more temperature sensors 546 c , a wireless communication unit 546 d (e.g., a cellular communication transceiver), an inertial measurement unit (IMU) 546 e , a laser range finder/LiDAR unit 546 f , a Global Positioning System (GPS) transceiver 546 g , and/or a wiper control system 546 h .
- the vehicle sensor subsystem 544 may also include sensors configured to monitor internal systems of the autonomous vehicle 502 (e.g., an O 2 monitor, a fuel gauge, an engine oil temperature, etc.).
- the IMU 546 e may include any combination of sensors (e.g., accelerometers and gyroscopes) configured to sense position and orientation changes of the autonomous vehicle 502 based on inertial acceleration.
- the GPS transceiver 546 g may be any sensor configured to estimate a geographic location of the autonomous vehicle 502 .
- the GPS transceiver 546 g may include a receiver/transmitter operable to provide information regarding the position of the autonomous vehicle 502 with respect to the Earth.
- the radar unit 546 b may represent a system that utilizes radio signals to sense objects within the local environment of the autonomous vehicle 502 .
- the radar unit 546 b may additionally be configured to sense the speed and the heading of the objects proximate to the autonomous vehicle 502 .
- the laser range finder or LiDAR unit 546 f may be any sensor configured to use lasers to sense objects in the environment in which the autonomous vehicle 502 is located.
- the cameras 546 a may include one or more devices configured to capture a plurality of images of the environment of the autonomous vehicle 502 .
- the cameras 546 a may be still image cameras or motion video cameras.
- the vehicle control subsystem 548 may be configured to control the operation of the autonomous vehicle 502 and its components. Accordingly, the vehicle control subsystem 548 may include various elements such as a throttle and gear selector 548 a , a brake unit 548 b , a navigation unit 548 c , a steering system 548 d , and/or an autonomous control unit 548 e .
- the throttle and gear selector 548 a may be configured to control, for instance, the operating speed of the engine and, in turn, control the speed of the autonomous vehicle 502 .
- the throttle and gear selector 548 a may be configured to control the gear selection of the transmission.
- the brake unit 548 b can include any combination of mechanisms configured to decelerate the autonomous vehicle 502 .
- the brake unit 548 b can slow the autonomous vehicle 502 in a standard manner, including by using friction to slow the wheels or engine braking.
- the brake unit 548 b may include an anti-lock brake system (ABS) that can prevent the brakes from locking up when the brakes are applied.
- the navigation unit 548 c may be any system configured to determine a driving path or route for the autonomous vehicle 502 .
- the navigation unit 548 c may additionally be configured to update the driving path dynamically while the autonomous vehicle 502 is in operation.
- the navigation unit 548 c may be configured to incorporate data from the GPS transceiver 546 g and one or more predetermined maps so as to determine the driving path for the autonomous vehicle 502 .
- the steering system 548 d may represent any combination of mechanisms that may be operable to adjust the heading of autonomous vehicle 502 in an autonomous mode or in a driver-controlled mode.
- the autonomous control unit 548 e may represent a control system configured to identify, evaluate, and avoid or otherwise negotiate potential obstacles or obstructions in the environment of the autonomous vehicle 502 .
- the autonomous control unit 548 e may be configured to control the autonomous vehicle 502 for operation without a driver or to provide driver assistance in controlling the autonomous vehicle 502 .
- the autonomous control unit 548 e may be configured to incorporate data from the GPS transceiver 546 g , the radar unit 546 b , the LiDAR unit 546 f , the cameras 546 a , and/or other vehicle subsystems to determine the driving path or trajectory for the autonomous vehicle 502 .
- the network communication subsystem 592 may comprise network interfaces, such as routers, switches, modems, and/or the like.
- the network communication subsystem 592 may be configured to establish communication between the autonomous vehicle 502 and other systems including an oversight server that may be configured to oversee operations of the autonomous vehicles 502 .
- the network communication subsystem 592 may be further configured to send and receive data from and to other systems.
- the in-vehicle control computer 550 may include at least one data processor 570 (which can include at least one microprocessor) that executes processing instructions 580 stored in a non-transitory computer-readable medium, such as the data storage device 590 or memory.
- the in-vehicle control computer 550 may also represent a plurality of computing devices that may serve to control individual components or subsystems of the autonomous vehicle 502 in a distributed fashion.
- the data storage device 590 may contain processing instructions 580 (e.g., program logic) executable by the data processor 570 to perform various methods and/or functions of the autonomous vehicle 502 , including those described with respect to FIGS. 1 - 7 .
- processing instructions 580 e.g., program logic
- the data storage device 590 may contain additional instructions as well, including instructions to transmit data to, receive data from, interact with, or control one or more of the vehicle drive subsystem 542 , the vehicle sensor subsystem 544 , and the vehicle control subsystem 548 .
- the in-vehicle control computer 550 can be configured to include a data processor 570 and a data storage device 590 .
- the in-vehicle control computer 550 may control the function of the autonomous vehicle 502 based on inputs received from various vehicle subsystems (e.g., the vehicle drive subsystem 542 , the vehicle sensor subsystem 544 , and the vehicle control subsystem 548 ).
- FIG. 6 shows a system 600 for providing precise autonomous driving operations.
- the system 600 may include several modules that can operate in the in-vehicle control computer 550 , as described in FIG. 5 .
- the in-vehicle control computer 550 may include a sensor fusion module 602 shown in the top left corner of FIG. 6 , where the sensor fusion module 602 may perform at least four image or signal processing operations.
- the sensor fusion module 602 can obtain images from cameras located on an autonomous vehicle to perform image segmentation 604 to detect the presence of moving objects (e.g., other vehicles, pedestrians, etc.) and/or static obstacles (e.g., stop sign, speed bump, terrain, etc.) located around the autonomous vehicle.
- the sensor fusion module 602 can obtain LiDAR point cloud data item from LiDAR sensors located on the autonomous vehicle to perform LiDAR segmentation 606 to detect the presence of objects and/or obstacles located around the autonomous vehicle.
- the sensor fusion module 602 can perform instance segmentation 608 on image and/or point cloud data items to identify an outline (e.g., boxes) around the objects and/or obstacles located around the autonomous vehicle.
- the sensor fusion module 602 can perform temporal fusion 610 where objects and/or obstacles from one image and/or one frame of point cloud data item are correlated with or associated with objects and/or obstacles from one or more images or frames subsequently received in time.
- the sensor fusion module 602 can fuse the objects and/or obstacles from the images obtained from the camera and/or point cloud data item obtained from the LiDAR sensors. For example, the sensor fusion module 602 may determine based on a location of two cameras that an image from one of the cameras comprising one half of a vehicle located in front of the autonomous vehicle is the same as the vehicle captured by another camera. The sensor fusion module 602 may send the fused object information to the interference module 646 and the fused obstacle information to the occupancy grid module 660 .
- the in-vehicle control computer may include the occupancy grid module 660 which can retrieve landmarks from a map database 658 stored in the in-vehicle control computer.
- the occupancy grid module 660 can determine drivable areas and/or obstacles from the fused obstacles obtained from the sensor fusion module 602 and the landmarks stored in the map database 658 . For example, the occupancy grid module 660 can determine that a drivable area may include a speed bump obstacle.
- the in-vehicle control computer 550 may include a LiDAR-based object detection module 612 that can perform object detection 616 based on point cloud data item obtained from the LiDAR sensors 614 located on the autonomous vehicle.
- the object detection 616 technique can provide a location (e.g., in 3 D world coordinates) of objects from the point cloud data item.
- the in-vehicle control computer may include an image-based object detection module 618 that can perform object detection 624 based on images obtained from cameras 620 located on the autonomous vehicle.
- the object detection 618 technique can employ a deep machine learning technique 624 to provide a location (e.g., in 3 D world coordinates) of objects from the image provided by the camera 620 .
- the interference module 646 may perform object attribute estimation 650 to estimate one or more attributes of an object detected in an image or point cloud data item.
- the one or more attributes of the object may include a type of object (e.g., pedestrian, car, or truck, etc.).
- the interference module 646 may perform behavior prediction 652 to estimate or predict motion pattern of an object detected in an image and/or a point cloud.
- the behavior prediction 652 can be performed to detect a location of an object in a set of images received at different points in time (e.g., sequential images) or in a set of point cloud data item received at different points in time (e.g., sequential point cloud data items).
- the behavior prediction 652 can be performed for each image received from a camera and/or each point cloud data item received from the LiDAR sensor.
- the interference module 646 can be performed (e.g., run or executed) to reduce computational load by performing behavior prediction 652 on every other or after every pre-determined number of images received from a camera or point cloud data item received from the LiDAR sensor (e.g., after every two images or after every three point cloud data items).
- the interference module 646 may send the one or more object attributes (e.g., types of the objects) and motion pattern situational tags to the planning module 662 .
- the interference module 646 may perform an environment analysis 654 using any information acquired by system 600 and any number and combination of its components.
- the planning module 662 can perform navigation planning 664 to determine a set of trajectories on which the autonomous vehicle can be driven.
- the set of trajectories can be determined based on the drivable area information, the one or more object attributes of objects, the motion pattern situational tags of the objects, location of the obstacles, and the drivable area information.
- the navigation planning 664 may include determining an area next to the road where the autonomous vehicle can be safely parked in case of emergencies.
- the planning module 662 may include behavioral decision making 666 to determine driving actions (e.g., steering, braking, throttle) in response to determining changing conditions on the road (e.g., traffic light turned yellow, or the autonomous vehicle is in an unsafe driving condition because another vehicle drove in front of the autonomous vehicle and in a region within a pre-determined safe distance of the location of the autonomous vehicle).
- the planning module 662 may perform trajectory generation 668 and select a trajectory from the set of trajectories determined by the navigation planning operation 664 . The selected trajectory information may be sent by the planning module 662 to the control module 670 .
- the in-vehicle control computer may include a control module 670 that receives the proposed trajectory from the planning module 662 and the autonomous vehicle location and pose from the fused localization module 626 .
- the control module 670 may include a system identifier 672 .
- the control module 670 can perform a model-based trajectory refinement 674 to refine the proposed trajectory.
- the control module 670 can apply filtering (e.g., Kalman filter) to make the proposed trajectory data smooth and/or to minimize noise.
- the control module 670 may perform the robust control 676 by determining, based on the refined proposed trajectory information and current location and/or pose of the autonomous vehicle, an amount of brake pressure to apply, a steering angle, a throttle amount to control the speed of the vehicle, and/or a transmission gear.
- the control module 670 can send the determined brake pressure, steering angle, throttle amount, and/or transmission gear to one or more devices in the autonomous vehicle to control and facilitate precise driving operations of the autonomous vehicle.
- the deep image-based object detection 624 performed by the image-based object detection module 618 can also be used detect landmarks (e.g., stop signs, speed bumps, etc.) on the road.
- the in-vehicle control computer may include a fused localization module 626 that obtains landmarks detected from images, the landmarks obtained from a map database 636 stored on the in-vehicle control computer, the landmarks detected from the point cloud data item by the LiDAR-based object detection module 612 , the speed and displacement from the odometer sensor 644 and the estimated location of the autonomous vehicle from the GPS/IMU sensor 638 (i.e., GPS sensor 640 and IMU sensor 642 ) located on or in the autonomous vehicle. Based on this information, the fused localization module 626 can perform a localization operation 628 to determine a location of the autonomous vehicle, which can be sent to the planning module 662 and the control module 670 .
- GPS/IMU sensor 638 i.e., GPS sensor 640 and IMU sensor
- the fused localization module 626 can estimate pose 630 of the autonomous vehicle based on the GPS and/or IMU sensors 638 .
- the pose of the autonomous vehicle can be sent to the planning module 662 and the control module 670 .
- the fused localization module 626 can also estimate status (e.g., location, possible angle of movement) of the trailer unit based on (e.g., trailer status estimation 634 ), for example, the information provided by the IMU sensor 642 (e.g., angular rate and/or linear velocity).
- the fused localization module 626 may also check the map content 632 .
- FIG. 7 shows an exemplary block diagram of an in-vehicle control computer 550 included in an autonomous vehicle 502 .
- the in-vehicle control computer 550 may include at least one processor 704 and a memory 702 having instructions stored thereupon (e.g., software instructions 128 , 312 , and processing instructions 580 in FIGS. 1 , 3 , and 5 , respectively).
- the instructions upon execution by the processor 704 , configure the in-vehicle control computer 550 and/or the various modules of the in-vehicle control computer 550 to perform the operations described in FIGS. 1 - 7 .
- the transmitter 706 may transmit or send information or data to one or more devices in the autonomous vehicle.
- the transmitter 706 can send an instruction to one or more motors of the steering wheel to steer the autonomous vehicle.
- the receiver 708 may receive information or data transmitted or sent by one or more devices.
- the receiver 708 may receive a status of the current speed from the odometer sensor or the current transmission gear from the transmission.
- the transmitter 706 and receiver 708 also may be configured to communicate with the plurality of vehicle subsystems 540 and the in-vehicle control computer 550 described above in FIGS. 5 and 6 .
- a system comprising:
- Clause 2 The system of Clause 1, wherein the at least one processor is further configured to at least determine a lane bias amount, wherein the lane bias amount is a distance that the autonomous vehicle moves off center in the current lane until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance.
- Clause 4 The system of Clause 3, wherein the minimal risk maneuver comprises:
- Clause 5 The system of Clause 3, wherein the at least one processor is further configured to at least determine that there is enough available distance on the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver if the available distance on the current lane on the other side of the autonomous vehicle is more than or equal to the intruded distance on the current lane by the vehicle.
- Clause 6 The system of Clause 3, wherein the at least one processor is further configured to at least determine that there is not enough available distance in the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver if the available distance on the current lane on the other side of the autonomous vehicle is less than the intruded distance on the current lane by the vehicle.
- Clause 7 The system of Clause 1, wherein the at least one processor is further configured to at least:
- Clause 9 The method of Clause 8, further comprising instructing the autonomous vehicle to perform the lane bias maneuver in response to determining that the lateral distance between the autonomous vehicle and the vehicle is less than the threshold distance, wherein the vehicle is detected on an adjacent lane on either side of the autonomous vehicle.
- Clause 10 The method of Clause 8, further comprising:
- Clause 11 The method of Clause 10, wherein determining whether the lane bias maneuver can be performed within the threshold time period comprises:
- Clause 12 The method of Clause 10, further comprising instructing the autonomous vehicle to perform a minimal risk maneuver in response to determining that the lane bias maneuver cannot be performed within the threshold time period, wherein the minimal risk maneuver comprises:
- Clause 13 The method of Clause 8, further comprising:
- Clause 14 The method of Clause 8, further comprising determining not to instruct the autonomous vehicle to perform the lane bias maneuver in response to determining that a driving pattern of the vehicle indicates that a driving pattern prediction of the vehicle is less than a threshold percentage and that the driving pattern of the vehicle is highly unpredictable.
- a non-transitory computer-readable medium storing instructions that when executed by one or more processors cause the one or more processors to:
- Clause 17 The non-transitory computer-readable medium of Clause 16, wherein the instructions when executed by the one or more processors, further cause the one or more processors to maintain a consistent lane bias until the autonomous vehicle is no longer adjacent to the vehicle in response to performing the lane bias maneuver.
- Clause 18 The non-transitory computer-readable medium of Clause 16, wherein:
- Clause 20 The non-transitory computer-readable medium of Clause 16, wherein the threshold distance is subject to at least one of traffic on the road, a speed of the autonomous vehicle, and a size of the vehicle.
- a system comprising:
- Clause 22 The system of Clause 21, wherein the autonomous vehicle comprises at least one sensor configured to capture sensor data that describes an environment around the autonomous vehicle; and
- Clause 23 The system of Clause 21, wherein to determine the road radius of the curved road, the at least one processor is further configured to at least:
- Clause 24 The system of Clause 21, wherein the first lane bias adjustment amount caused by the road curvature is calculated according to a first equation:
- First ⁇ lane ⁇ bias ⁇ adjustment ⁇ amount ( road ⁇ radius 2 - trailer ⁇ length 2 ) 1 / 2 - road ⁇ radius
- Clause 25 The system of Clause 24, wherein the at least one processor is further configured to at least adjust a sign of the first lane bias adjustment amount based at least in part upon a direction of the road curvature and a direction of the first lane bias adjustment amount such that if the direction of the road curvature is to the left and the direction of the first lane bias adjustment amount is to the left, the first lane bias adjustment amount with the adjusted sign is calculated according to a second equation:
- Clause 32 The method of Clause 30, wherein when the vehicle is on a right side of the autonomous vehicle and the road curvature is to a left direction, the total lane bias adjustment amount is combined to the lane bias amount.
- Clause 33 The method of Clause 30, wherein when the vehicle is on a left side of the autonomous vehicle and the road curvature is to a left direction, the total lane bias adjustment amount is not combined with the lane bias amount.
- Clause 34 The method of Clause 28, wherein in calculating the second lane bias adjustment amount, a road travelled by the autonomous vehicle is represented to be a straight line.
- Clause 35 The method of Clause 29, wherein the at least one sensor comprises at least one of a camera, a light detection and ranging (LiDAR) sensor, and an infrared sensor.
- the at least one sensor comprises at least one of a camera, a light detection and ranging (LiDAR) sensor, and an infrared sensor.
- LiDAR light detection and ranging
- a non-transitory computer-readable medium storing instructions that when executed by one or more processors cause the one or more processors to:
- Clause 39 The non-transitory computer-readable medium of Clause 36, wherein the instructions when executed by the one or more processors, further cause the one or more processors to:
- Clause 40 The non-transitory computer-readable medium of Clause 36, wherein:
- Clause 41 The system of any of Clauses 1-7, wherein the at least one processor is further configured to perform one or more operations of a method according to any of Clauses 8-15.
- Clause 42 The system of any of Clauses 1-7, wherein the processor is further configured to perform one or more operations according to any of Clauses 16-20.
- Clause 43 An apparatus comprising means for performing a method according to any of Clauses 8-15.
- Clause 44 An apparatus comprising means for performing one or more instructions according to any of Clauses 16-20.
- Clause 45 The non-transitory computer-readable medium of any of Clauses 16-20 storing instructions that when executed by the one or more processors further cause the one or more processors to perform one or more operations of a method according to any of Clauses 8-15 when run on a system.
- Clause 46 The system of any of Clauses 21-27, wherein the at least one processor is further configured to perform one or more operations of a method according to any of Clauses 28-35.
- Clause 47 The system of any of Clauses 21-27, wherein the processor is further configured to perform one or more operations according to any of Clauses 36-40.
- Clause 48 An apparatus comprising means for performing a method according to any of Clauses 28-25.
- Clause 49 An apparatus comprising means for performing one or more instructions according to any of Clauses 36-40.
- Clause 50 The non-transitory computer-readable medium of any of Clauses 36-40 storing instructions that when executed by the one or more processors further cause the one or more processors to perform one or more operations of a method according to any of Clauses 28-35 when run on a system.
- Clause 51 A system according to any of Clauses 1-7 and/or 21-27.
- Clause 53 An apparatus comprising means for performing a method according to any of Clauses 8-15 and/or 28-35.
- Clause 54 An apparatus comprising means for performing one or more instructions according to any of Clauses 16-20 and/or 36-40.
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
Description
Second lane bias adjustment value=trailer length×sin(trailer angle) Equation (3)
Second lane bias adjustment value with the assigned sign=−trailer length×sin(trailer angle) Equation (4)
| TABLE 1 |
| Example scenarios where the autonomous vehicle 502 |
| encounters a vehicle 310 on a curved road 302. |
| Left curve, trailer | Left curve, trailer | Right curve, trailer | Right curve, trailer | |
| 318 is biased to | 318 is biased to | 318 is biased to | 318 is biased to | |
| outer side, vehicle | inner side, vehicle | outer side, vehicle | inner side, vehicle | |
| 310 is on right, | 310 is on left, | 310 is on left, | 310 is on right, | |
| thus, autonomous | thus, autonomous | thus, autonomous | thus, autonomous | |
| vehicle 502 is lane | vehicle 502 is lane | vehicle 502 is lane | vehicle 502 is lane | |
| biased to left | biased to right | biased to right | biased to left | |
| Trailer | − | − | + | + |
| angle 342 | (trailer 318 swings | (trailer 318 swings | (trailer 318 swings | (trailer 318 swings |
| to left side) | to left side) | to right side) | to right side) | |
| Road | + | + | − | − |
| curvature | (left curve) | (left curve) | (right curve) | (right curve) |
| 328 | ||||
| Direction | + | − | + | − |
| of trailer | (trailer 318 biased | (trailer 318 biased | (trailer 318 biased | (trailer 318 biased |
| bias | to outer side) | to inner side) | to outer side) | to inner side) |
| amount | ||||
| 352 | ||||
| Direction | − | + | + | − |
| of final | (autonomous | (autonomous | (autonomous | (autonomous |
| lane bias | vehicle 502 is lane | vehicle 502 is lane | vehicle 502 is lane | vehicle 502 is lane |
| amount | biased to the left) | biased to the right) | biased to the right) | biased to the left) |
| 350 | ||||
| TABLE 2 |
| Example scenarios where the autonomous vehicle 502 |
| encounters a vehicle 310 on a straight road. |
| Straight road, trailer | Straight road, trailer | |
| 318 biased to left | 318 biased to | |
| side, vehicle 310 | right side, vehicle | |
| on left, thus the | 310 on right, thus | |
| autonomous vehicle | autonomous vehicle | |
| 502 is lane biased | 502 is lane | |
| to right | biased to left | |
| Trailer angle | − | + |
| 342 | (trailer 318 swings | (trailer 318 swings |
| to left side) | to right side) | |
| Road | N/A | N/A |
| curvature | ||
| 328 | ||
| Direction of | − | − |
| trailer bias | (trailer 318 biased | (trailer 318 biased |
| amount 352 | to inner side) | to inner side) |
| Direction of | + | − |
| final lane bias | (autonomous | (autonomous |
| amount 350 | vehicle 502 lane | vehicle 502 lane |
| bias to the right) | bias to the left) | |
-
- a control device associated with an autonomous vehicle and comprising:
- a memory configured to store sensor data associated with one or more objects on a road, wherein the sensor data is captured by at least one sensor associated with the autonomous vehicle; and
- at least one processor operably coupled to the memory, and configured to at least:
- detect a presence of a vehicle from the sensor data;
- determine a lateral distance between the autonomous vehicle and the vehicle;
- compare the lateral distance between the autonomous vehicle and the vehicle with a threshold distance from the autonomous vehicle; and
- determine, based at least in part upon the comparison between the lateral distance and the threshold distance, whether to instruct the autonomous vehicle to perform a lane bias maneuver,
- wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a current lane traveled by the autonomous vehicle toward an opposite direction with respect to the vehicle until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance.
- a control device associated with an autonomous vehicle and comprising:
-
- determine a location of a lane marker between the autonomous vehicle and the vehicle;
- determine that the vehicle is intruding into the current lane in response to determining that the lateral distance between the autonomous vehicle and the vehicle is less than a distance between the autonomous vehicle and the lane marker;
- determine how much of the current lane is intruded by the vehicle;
- determine an available distance in the current lane on the other side of the autonomous vehicle compared to where the vehicle is detected;
- compare the intruded distance in the current lane by the vehicle with the available distance in the current lane on the other side of the autonomous vehicle;
- determine whether there is enough available distance in the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver based at least in part the comparison between the intruded distance of the current lane by the vehicle with the available distance on the other side of the autonomous vehicle;
- in response to determining that there is enough available distance in the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver, instruct the autonomous vehicle to perform the lane bias maneuver; and
- in response to determining that there is not enough available distance in the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver, instruct the autonomous vehicle to perform a minimal risk maneuver.
-
- slowing down the autonomous vehicle so that the autonomous vehicle does not drive adjacent to the vehicle; or
- speeding up the autonomous vehicle so that the autonomous vehicle does not drive adjacent to the vehicle.
-
- determine that the lateral distance between the autonomous vehicle and the vehicle is less than the threshold distance;
- determine that there is not enough available distance in the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver;
- in response to determining that there is not enough available distance in the current lane on the other side of the autonomous vehicle to perform the lane bias maneuver:
- determine whether there is another vehicle on an adjacent lane of the autonomous vehicle;
- in response to determining that there is no other vehicle in the adjacent lane:
- instruct the autonomous vehicle to perform the lane bias maneuver;
- instruct the autonomous vehicle to temporarily drive into the adjacent lane until a distance between the autonomous vehicle and the vehicle is equal to the threshold distance; and
- instruct the autonomous vehicle to drive back to the current lane when the autonomous vehicle is no longer adjacent to the vehicle.
-
- detecting a presence of a vehicle from sensor data captured by at least one sensor associated with an autonomous vehicle;
- determining a lateral distance between the autonomous vehicle and the vehicle;
- comparing the lateral distance between the autonomous vehicle and the vehicle with a threshold distance from the autonomous vehicle, wherein the autonomous vehicle is configured to travel along a road; and
- determining, based at least in part upon the comparison between the lateral distance and the threshold distance, whether to instruct the autonomous vehicle to perform a lane bias maneuver,
- wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a current lane traveled by the autonomous vehicle toward an opposite direction with respect to the vehicle until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance.
-
- determining whether the lane bias maneuver can be performed within a threshold time period; and
- in response to determining that the lane bias maneuver can be performed within the threshold time period, instructing the autonomous vehicle to perform the lane bias maneuver, wherein the vehicle is detected in front and on an adjacent lane on either side of the autonomous vehicle.
-
- determining a longitudinal distance between the autonomous vehicle and the vehicle;
- determining a first speed and a first position of the vehicle;
- determining a first trajectory of the vehicle based at least in part upon the first speed and the first position of the vehicle;
- determining a second speed and a second position of the autonomous vehicle;
- determining a second trajectory of the autonomous vehicle based at least in part upon the second speed and the second position of the autonomous vehicle if the lane bias maneuver is performed;
- predicting a future lateral distance between the autonomous vehicle and the vehicle based at least in part upon the first trajectory of the vehicle, the second trajectory of the vehicle, and the longitudinal distance between the autonomous vehicle and the vehicle;
- comparing the predicted lateral distance between the autonomous vehicle and the vehicle with the threshold distance; and
- performing the lane bias maneuver in response to determining that the predicted lateral distance between the autonomous vehicle and the vehicle will be at least equal to the threshold distance within the threshold time period,
- wherein the threshold time period is subject to at least one of traffic on the road, a speed of the autonomous vehicle, and a size of the vehicle.
-
- slowing down the autonomous vehicle so that the autonomous vehicle does not drive adjacent to the vehicle; or
- speeding up the autonomous vehicle so that the autonomous vehicle does not drive adjacent to the vehicle.
-
- determining a longitudinal distance between the autonomous vehicle and the vehicle, wherein the vehicle is stopped on a side of the road ahead of the autonomous vehicle;
- determining how much of the current lane is intruded by the vehicle;
- determining an available distance on the current lane on the other side of the autonomous vehicle compared to where the vehicle is detected;
- determining that there is enough available distance on the current lane on the other side of the current lane to perform the lane bias maneuver; and
- instructing the autonomous vehicle to perform the lane bias maneuver.
-
- the driving pattern of the vehicle is determined based at least in part upon a historical driving behavior associated with the vehicle; and
- the historical driving behavior indicates that the vehicle has been intruding into other lanes.
-
- detect a presence of a vehicle from sensor data captured by at least one sensor associated with an autonomous vehicle;
- determine a lateral distance between the autonomous vehicle and the vehicle, wherein the autonomous vehicle is configured to travel along a road;
- compare the lateral distance between the autonomous vehicle and the vehicle with a threshold distance from the autonomous vehicle; and
- determine, based at least in part upon the comparison between the lateral distance and the threshold distance, whether to instruct the autonomous vehicle to perform a lane bias maneuver,
- wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a current lane traveled by the autonomous vehicle toward an opposite direction with respect to the vehicle until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance.
-
- the autonomous vehicle comprises a semi-truck tractor unit attached to a trailer;
- the road is a curved road; and
- the instructions when executed by the one or more processors, further cause the one or more processors to:
- determine a road curvature associated with the road;
- determine a trailer angle between the semi-truck tractor unit and the trailer when the autonomous vehicle would reach the road curvature;
- calculate a total lane bias adjustment amount based at least in part upon the road curvature and the trailer angle; and
- instruct the autonomous vehicle to perform the lane bias maneuver based at least in part upon the total lane bias adjustment amount.
-
- a control device associated with an autonomous vehicle and comprising:
- a memory configured to store map data that comprises one or more roads ahead of the autonomous vehicle, wherein the autonomous vehicle comprises a semi-truck tractor unit attached to a trailer; and
- at least one processor, operably coupled with the memory, and configured to at least:
- determine that the autonomous vehicle is approaching a curved road based at least in part upon the map data;
- determine, based at least in part upon the map data, a road radius of the curved road;
- calculate, based at least in part upon the road radius, a first lane bias adjustment amount associated with a road curvature of the curved road;
- determine a trailer angle between the trailer and the semi-truck tractor unit;
- calculate, based at least in part upon the trailer angle, a second lane bias adjustment amount associated with the trailer angle;
- calculate a total lane bias adjustment amount by combining the first lane bias adjustment amount and the second lane bias adjustment amount; and
- instruct the autonomous vehicle to perform a lane bias maneuver, wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a curved lane currently traveled by the autonomous vehicle based at least in part upon the total lane bias adjustment amount.
- a control device associated with an autonomous vehicle and comprising:
-
- wherein the at least one processor is further configured to at least:
- receive the sensor data from the at least one sensor; and
- determine a set of locations of lane markers on a road travelled by the autonomous vehicle from the sensor data,
- wherein to determine that the autonomous vehicle is approaching the curved road, the at least one processor is further configured to at least determine that the set of locations of lane markers follows a curved line.
- wherein the at least one processor is further configured to at least:
-
- determine a virtual circle on the map data such that the curved road is a part of a circumference of the virtual circle; and
- calculate a distance between the center of the virtual circle and a point where the semi-truck tractor unit meets the trailer.
-
- wherein the trailer length is a length of the trailer.
-
- wherein:
- if the direction of the road curvature is to the left, a sign associated with the road curvature is a positive sign;
- if the direction of the first lane bias adjustment amount is to the left, a sign associated with the first lane bias adjustment amount is a negative sign; and
- the sign (road curvature) indicates a sign associated with the direction of the road curvature.
- wherein:
-
- determining that an autonomous vehicle is approaching a curved road based at least in part upon map data that comprises one or more roads ahead of the autonomous vehicle, wherein the autonomous vehicle comprises a semi-truck tractor unit attached to a trailer;
- determining, based at least in part upon the map data, a road radius of the curved road;
- calculating, based at least in part upon the road radius, a first lane bias adjustment amount associated with a road curvature of the curved road;
- determining a trailer angle between the trailer and the semi-truck tractor unit;
- calculating, based at least in part upon the trailer angle, a second lane bias adjustment amount associated with the trailer angle;
- calculating a total lane bias adjustment amount by combining the first lane bias adjustment amount and the second lane bias adjustment amount; and
- instructing the autonomous vehicle to perform a lane bias maneuver,
- wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a curved lane currently traveled by the autonomous vehicle based at least in part upon the total lane bias adjustment amount.
-
- receiving sensor data from at least one sensor associated with the autonomous vehicle;
- detecting a presence of a vehicle on a road from the sensor data;
- determining a lateral distance between the autonomous vehicle and the vehicle;
- comparing the lateral distance between the autonomous vehicle and the vehicle with a threshold distance;
- determining that the lateral distance is less than the threshold distance; and
- instructing the autonomous vehicle to perform the lane bias maneuver in response to determining that the lateral distance is less than the threshold distance, wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a current lane traveled by the autonomous vehicle toward the opposite direction with respect to the vehicle until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance.
-
- determining a lane bias amount, wherein the lane bias amount is a distance that the autonomous vehicle moves off center until the lateral distance between the autonomous vehicle and the vehicle is at least equal to the threshold distance; and
- combining the total lane bias adjustment amount to the lane bias amount.
-
- determine that an autonomous vehicle is approaching a curved road based at least in part upon map data that comprises one or more roads ahead of the autonomous vehicle, wherein the autonomous vehicle comprises a semi-truck tractor unit attached to a trailer;
- determine, based at least in part upon the map data, a road radius of the curved road;
- calculate, based at least in part upon the road radius, a first lane bias adjustment amount associated with a road curvature of the curved road;
- determine a trailer angle between the trailer and the semi-truck tractor unit;
- calculate, based at least in part upon the trailer angle, a second lane bias adjustment amount associated with the trailer angle;
- calculate a total lane bias adjustment amount by combining the first lane bias adjustment amount and the second lane bias adjustment amount; and
- instruct the autonomous vehicle to perform a lane bias maneuver, wherein the lane bias maneuver comprises driving the autonomous vehicle off center in a curved lane currently traveled by the autonomous vehicle based at least in part upon the total lane bias adjustment amount.
Second lane bias adjustment amount=trailer length×sin(trailer angle)
-
- wherein the trailer length is a length of the trailer.
Second lane bias adjustment amount with the adjusted sign=−trailer length×sin(trailer angle)
-
- wherein the trailer length is a length of the trailer.
-
- determine that the autonomous vehicle is traveling along a straight road based at least in part upon the map data;
- determine that the first lane bias adjustment amount is zero since the road radius is substantially large;
- detect that wind is causing the trailer of the autonomous vehicle to divert from a straight line;
- determine the trailer angle caused by the wind;
- calculate the second lane bias adjustment amount caused by the trailer angle; and
- determine that the total lane bias adjustment amount is equal to the second lane bias adjustment amount.
-
- when the trailer swings in a left direction, a sign associated with the trailer angle is negative; and
- when the trailer swings in a right direction, the sign associated with the trailer angle is positive.
Claims (19)
First lane bias adjustment amount=(road radius2−trailer length2)1/2−road radius
Second lane bias adjustment amount=trailer length×sin(trailer angle)
Second lane bias adjustment amount with the adjusted sign=−trailer length×sin(trailer angle)
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/048,890 US12384364B2 (en) | 2021-10-29 | 2022-10-24 | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
| CN202280072552.6A CN118176140A (en) | 2021-10-29 | 2022-10-25 | Lane deviation maneuver for autonomous vehicles on curved roads |
| PCT/US2022/078619 WO2023076872A1 (en) | 2021-10-29 | 2022-10-25 | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
| JP2024523167A JP2024541202A (en) | 2021-10-29 | 2022-10-25 | Lane-shifting maneuvers for autonomous vehicles to negotiate curved roads |
| AU2022379605A AU2022379605A1 (en) | 2021-10-29 | 2022-10-25 | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
| EP22813031.6A EP4422938A1 (en) | 2021-10-29 | 2022-10-25 | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163263289P | 2021-10-29 | 2021-10-29 | |
| US202163263303P | 2021-10-29 | 2021-10-29 | |
| US18/048,890 US12384364B2 (en) | 2021-10-29 | 2022-10-24 | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20230136434A1 US20230136434A1 (en) | 2023-05-04 |
| US12384364B2 true US12384364B2 (en) | 2025-08-12 |
Family
ID=84406240
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/048,882 Abandoned US20230139551A1 (en) | 2021-10-29 | 2022-10-24 | Lane bias maneuver for autonomous vehicles to avoid an intruding vehicle |
| US18/048,890 Active 2043-10-21 US12384364B2 (en) | 2021-10-29 | 2022-10-24 | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/048,882 Abandoned US20230139551A1 (en) | 2021-10-29 | 2022-10-24 | Lane bias maneuver for autonomous vehicles to avoid an intruding vehicle |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US20230139551A1 (en) |
| EP (1) | EP4422938A1 (en) |
| JP (1) | JP2024541202A (en) |
| CN (1) | CN118176140A (en) |
| AU (1) | AU2022379605A1 (en) |
| WO (1) | WO2023076872A1 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102059217B1 (en) * | 2012-03-28 | 2019-12-24 | 다이꼬 파마슈티컬 컴퍼니 리미티드 | Drug Composition, and Soft Capsule containing same |
| DE102020215302A1 (en) * | 2020-12-03 | 2022-06-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Dynamics-dependent behavior planning for at least partially automated vehicles |
| JP7635742B2 (en) * | 2022-03-15 | 2025-02-26 | トヨタ自動車株式会社 | Vehicle speed control device, vehicle speed control method, and computer program for vehicle speed control |
| EP4406798A1 (en) * | 2023-01-30 | 2024-07-31 | Volvo Truck Corporation | Situation based under speed for a predictive cruise control |
| KR20240145189A (en) * | 2023-03-27 | 2024-10-07 | 현대자동차주식회사 | Object Perception Method for a Vehicle and an Object Perception Apparatus |
| US12454286B2 (en) * | 2023-07-24 | 2025-10-28 | Zoox, Inc. | Dynamic, diverse, and computationally efficient vehicle candidate action generation |
| US20250033675A1 (en) * | 2023-07-27 | 2025-01-30 | Gm Cruise Holdings Llc | Perception assistance |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120166032A1 (en) | 2010-12-23 | 2012-06-28 | GM Global Technology Operations LLC | Driving-based lane offset control for lane centering system |
| US20170247054A1 (en) * | 2016-02-26 | 2017-08-31 | GM Global Technology Operations LLC | Enhanced vehicle lateral control (lane following/lane keeping/lane changing control) for trailering vehicles |
| US20170247032A1 (en) * | 2016-02-26 | 2017-08-31 | GM Global Technology Operations LLC | System and method for providing a corrected lane following path through a curve for trailering vehicles |
| US20200101981A1 (en) | 2014-09-22 | 2020-04-02 | Brian K. Phillips | Method and system for impaired driving detection, monitoring and accident prevention with driving habits |
| US20200207353A1 (en) | 2018-12-31 | 2020-07-02 | Chongqing Jinkang New Energy Vehicle, Ltd. | Automatic Lane Change with Lane-Biased Strategy |
| US20200342760A1 (en) | 2019-04-29 | 2020-10-29 | Qualcomm Incorporated | Method and apparatus for vehicle maneuver planning and messaging |
| DE102020005012A1 (en) * | 2020-08-17 | 2020-12-03 | Daimler Ag | Method and device for determining the route of a towing vehicle with a trailer |
| EP3889722A1 (en) | 2018-12-29 | 2021-10-06 | Great Wall Motor Company Limited | Generation method and generation system for dynamic target line during automatic driving of vehicle, and vehicle |
| US20220299626A1 (en) * | 2021-03-17 | 2022-09-22 | Aptiv Technologies Limited | Tracking Different Sections of Articulated Vehicles |
| US20230012853A1 (en) | 2021-07-16 | 2023-01-19 | Nissan North America, Inc. | Proactive Risk Mitigation |
| US20230217195A1 (en) | 2022-01-02 | 2023-07-06 | Poltorak Technologies Llc | Bluetooth enabled intercom with hearing aid functionality |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8509982B2 (en) * | 2010-10-05 | 2013-08-13 | Google Inc. | Zone driving |
| US8880273B1 (en) * | 2013-01-16 | 2014-11-04 | Google Inc. | System and method for determining position and distance of objects using road fiducials |
| US8825259B1 (en) * | 2013-06-21 | 2014-09-02 | Google Inc. | Detecting lane closures and lane shifts by an autonomous vehicle |
-
2022
- 2022-10-24 US US18/048,882 patent/US20230139551A1/en not_active Abandoned
- 2022-10-24 US US18/048,890 patent/US12384364B2/en active Active
- 2022-10-25 AU AU2022379605A patent/AU2022379605A1/en active Pending
- 2022-10-25 EP EP22813031.6A patent/EP4422938A1/en not_active Withdrawn
- 2022-10-25 JP JP2024523167A patent/JP2024541202A/en active Pending
- 2022-10-25 WO PCT/US2022/078619 patent/WO2023076872A1/en not_active Ceased
- 2022-10-25 CN CN202280072552.6A patent/CN118176140A/en active Pending
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120166032A1 (en) | 2010-12-23 | 2012-06-28 | GM Global Technology Operations LLC | Driving-based lane offset control for lane centering system |
| US20200101981A1 (en) | 2014-09-22 | 2020-04-02 | Brian K. Phillips | Method and system for impaired driving detection, monitoring and accident prevention with driving habits |
| US20170247054A1 (en) * | 2016-02-26 | 2017-08-31 | GM Global Technology Operations LLC | Enhanced vehicle lateral control (lane following/lane keeping/lane changing control) for trailering vehicles |
| US20170247032A1 (en) * | 2016-02-26 | 2017-08-31 | GM Global Technology Operations LLC | System and method for providing a corrected lane following path through a curve for trailering vehicles |
| EP3889722A1 (en) | 2018-12-29 | 2021-10-06 | Great Wall Motor Company Limited | Generation method and generation system for dynamic target line during automatic driving of vehicle, and vehicle |
| US20200207353A1 (en) | 2018-12-31 | 2020-07-02 | Chongqing Jinkang New Energy Vehicle, Ltd. | Automatic Lane Change with Lane-Biased Strategy |
| US20200342760A1 (en) | 2019-04-29 | 2020-10-29 | Qualcomm Incorporated | Method and apparatus for vehicle maneuver planning and messaging |
| DE102020005012A1 (en) * | 2020-08-17 | 2020-12-03 | Daimler Ag | Method and device for determining the route of a towing vehicle with a trailer |
| US20220299626A1 (en) * | 2021-03-17 | 2022-09-22 | Aptiv Technologies Limited | Tracking Different Sections of Articulated Vehicles |
| US20230012853A1 (en) | 2021-07-16 | 2023-01-19 | Nissan North America, Inc. | Proactive Risk Mitigation |
| US20230217195A1 (en) | 2022-01-02 | 2023-07-06 | Poltorak Technologies Llc | Bluetooth enabled intercom with hearing aid functionality |
Non-Patent Citations (2)
| Title |
|---|
| PCT Invitation to Pay Additional Fees and, where applicable, Protest Fee; Intl. Appln. PCT/US2022/078619, mailed Feb. 21, 2023. |
| PCT-US2022-078619, PCT Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration mailed Apr. 13, 2023. |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118176140A (en) | 2024-06-11 |
| AU2022379605A1 (en) | 2024-03-28 |
| US20230139551A1 (en) | 2023-05-04 |
| WO2023076872A1 (en) | 2023-05-04 |
| JP2024541202A (en) | 2024-11-08 |
| US20230136434A1 (en) | 2023-05-04 |
| EP4422938A1 (en) | 2024-09-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230139551A1 (en) | Lane bias maneuver for autonomous vehicles to avoid an intruding vehicle | |
| US11458993B2 (en) | Detecting a road closure by a lead autonomous vehicle (AV) and updating routing plans for following AVs | |
| US12187319B2 (en) | Autonomous vehicle navigation in response to a stopped vehicle at a railroad crossing | |
| US12090997B1 (en) | Predicting trajectories of objects based on contextual information | |
| EP4120217A1 (en) | Batch control for autonomous vehicles | |
| US12594963B2 (en) | Detecting an unknown object by a lead autonomous vehicle (AV) and updating routing plans for following AVs | |
| US12565235B2 (en) | Detecting a construction zone by a lead autonomous vehicle (AV) and updating routing plans for following AVs | |
| US20200401147A1 (en) | Methods and Systems for Autonomous Vehicle Motion Deviation | |
| US11987261B2 (en) | Detecting a road structure change by a lead autonomous vehicle (AV) and updating routing plans for the lead AV and following AVs | |
| US20230365143A1 (en) | System and method for remote control guided autonomy for autonomous vehicles | |
| EP3967978B1 (en) | Detecting a construction zone by a lead autonomous vehicle (av) and updating routing plans for following autonomous vehicles (avs) | |
| US20240270282A1 (en) | Autonomous Driving Validation System | |
| US20240286638A1 (en) | Autonomous vehicle control based on hand signal intent detection | |
| US20230188816A1 (en) | Camera housing design with anti ghosting properties for use with an autonomous vehicle | |
| CN115257799A (en) | Supervisory system for autonomous vehicle communication | |
| US20240230344A1 (en) | Leveraging external data streams to optimize autonomous vehicle fleet operations | |
| WO2024129454A1 (en) | Microphone arrays to optimize the acoustic perception of autonomous vehicles | |
| CN119422116A (en) | Remotely controlled guided autonomous systems and methods for autonomous vehicles | |
| WO2024173093A1 (en) | Autonomous driving validation system | |
| CN121175730A (en) | Automatic driving vehicle control based on gesture signal intent detection |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: TUSIMPLE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHAO, YUFEI;SHAO, TIANQU;WU, YUJIA;AND OTHERS;SIGNING DATES FROM 20221018 TO 20221021;REEL/FRAME:061510/0868 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: CREATEAI, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:TUSIMPLE, INC.;REEL/FRAME:073832/0553 Effective date: 20250724 |