Closed lane detection

JP7636349B2Active Publication Date: 2025-02-26ZOOX INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021569051
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-05-20
Filing Date
2020-05-20
Publication Date
2025-02-26
Estimated Expiration
2040-05-20

Smart Images

  • Figure 0007636349000001
    Figure 0007636349000001
  • Figure 0007636349000002
    Figure 0007636349000002
  • Figure 0007636349000003
    Figure 0007636349000003
Patent Text Reader

Abstract

Techniques are described for detecting whether a lane of a roadway is open or closed. Detecting a lane as closed may include detecting an object in or near the lane and may include determining a size, location, and / or classification associated with the object and inflating the size associated with the object. A lane may be indicated as closed if a distance between the inflated object detection and another object detection, the inflated object detection, or the lane extent is less than or equal to a threshold. Techniques may additionally or alternatively include determining an alternative lane shape based at least in part on one or more object detections and / or determining that one or more lanes are closed and / or uploading the lane closure and / or alternative lane shape to a central database for retrieval / dissemination by other computing devices.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to closed lane detection, and more particularly to closed lane detection on a roadway. [Background technology]

[0002] This PCT international application claims the benefit of priority to U.S. Patent Application No. 16 / 417,441, filed May 20, 2019, and is incorporated by reference herein.

[0003] Objects, e.g., traffic cones, pylons, markings, lighting devices, etc. (referred to herein as "safety object(s)"), may be placed on or near a roadway to indicate that a lane of the roadway is closed. For example, a lane may be closed due to construction, a vehicle collision, vehicle repair, etc. In some cases, objects placed on or near a roadway may not completely block the roadway (e.g., a small sign may be placed in the middle of a lane, one or more cones may be placed in a lane). Even without a complete blockage of the lane, a human may understand that the lane is completely closed. However, an autonomous vehicle simplistically programmed to avoid collisions with objects may fail to recognize or heed the lane closure and may simply avoid the safety object(s). For example, an autonomous vehicle may move into or merge into a closed lane if the spacing between the traffic cones is wide enough to allow the autonomous vehicle to proceed through the traffic cones without colliding.

[0004] The detailed description will be set forth with reference to the accompanying drawings, in which the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. The same reference numbers in different drawings indicate similar or identical items. [Brief description of the drawings]

[0005] [Figure 1] Illustrates an example scenario depicting an autonomous vehicle and a closed lane, where the autonomous vehicle is able to detect the lane as closed. [Figure 2A] 1 illustrates a flow diagram of an example process for detecting closed lanes. [Figure 2B] 1 illustrates a flow diagram of an example process for detecting closed lanes. [Figure 2C] 1 illustrates a flow diagram of an example process for detecting closed lanes. [Figure 2D] 1 illustrates a flow diagram of an example process for detecting closed lanes. [Figure 2E] 1 illustrates a flow diagram of an example process for detecting closed lanes. [Diagram 3] 1 illustrates an overhead view of a vehicle approaching a shifted taper, which may be an example scenario in which the vehicle determines that all lanes in the direction of traffic are closed. [Figure 4] 1 illustrates an overhead view of one or more alternative lane configurations that a vehicle may determine in relation to closed and / or unclosed lane conditions. [Diagram 5] 1 illustrates a block diagram of an example system for detecting closed lanes and / or determining alternative lane configurations. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0006] The techniques described herein relate to detecting whether a lane of a roadway is open (e.g., available for operating a vehicle), closed, and / or otherwise unavailable. The techniques described herein may improve the safety of occupants of an autonomous vehicle incorporating the techniques described herein. In addition, the techniques may improve the safety of construction workers, personnel assisting in repairing a vehicle, the structural integrity of the autonomous vehicle itself, and the like. Furthermore, the techniques may improve the efficiency of an autonomous vehicle when performing missions such as, for example, delivering passengers and / or cargo, surveying an area, etc. The techniques may reduce human intervention to provide guidance to an autonomous vehicle that has navigated into an area that includes at least one lane that is (partially or completely) closed. The techniques may thereby reduce network usage of the network for receiving requests for teleoperation from one or more autonomous vehicles in a fleet of autonomous vehicles.

[0007] In accordance with the techniques described herein, an autonomous vehicle may be configured with various components to detect safety objects and / or markings indicative of lane closures and avoid traveling in a closed lane. The techniques described herein may include analyzing one or more lanes of a roadway (e.g., the current lane, one or more adjacent lanes, other lanes) for closures. Safety objects may include, for example, traffic cones, pylons, lighting equipment, construction / law enforcement / towing, etc. vehicles, construction / law enforcement / towing, etc. workers, and safety markings may include construction zones, roadwork ahead, signs indicating lane merging, distinctly colored signs indicating deviations from standard road configurations (e.g., red-orange and / or orange signs in the United States), traffic signals (e.g., stop lights), flashing lights, and / or the like. In some examples, the autonomous vehicle may receive sensor data from one or more sensors of the autonomous vehicle and determine object detection associated with an environment in which the autonomous vehicle is surrounded based at least in part on the sensor data.

[0008] For example, the autonomous vehicle may determine a region of interest (ROI) associated with a portion of an image associated with the object (e.g., a bounding box and / or instance segmentation), a subset of depth sensor (e.g., lidar, radar, time of flight (ToF), depth camera) points associated with the object, and / or a three-dimensional ROI (e.g., a three-dimensional shape bounding the image and / or depth sensor points) associated with the object. In some examples, object detection may indicate the location of the object within an environment surrounding the autonomous vehicle. Additionally or alternatively, object detection may indicate the size (e.g., in more than one dimension, e.g., in three-dimensional space), shape (e.g., geometric shapes, curves, boundaries, instance segmentation of sensor data), classification (e.g., “pedestrian”, “vehicle”, “construction worker”, “construction vehicle”, “safety object”, “traffic cone”, “lighting device”, “safety mark”, “roadwork mark ahead”, “lane merge mark”), and / or lane associated with the object (e.g., the autonomous vehicle's current lane, the adjacent lane to the left, the adjacent lane to the right, any other suitable indication identifying a particular lane). In some examples, the lane indication may identify a lane stored in a map available to the autonomous vehicle (e.g., stored in a memory of the autonomous vehicle, retrievable over a network from a distributed computing system).

[0009] Techniques may include modifying the object detection, such as by dilating (i.e., increasing) a size indicated by the object detection based at least in part on a scalar quantity. In some examples, the dilation may be based at least in part on a direction associated with the roadway. For example, the autonomous vehicle may determine a tangent associated with the curvature of the roadway and / or lanes. The autonomous vehicle may increase the size associated with the object detection in one or more dimensions associated with the tangent (e.g., the object detection may be extruded along the same direction as the tangent). The size of the object may be increased in any additional or alternative directions (e.g., perpendicular to the tangent or diagonal to the tangent).

[0010] In some examples, the scalar amount to increase the size may be based at least in part on the width of the roadway or side of it (e.g., the side of the roadway associated with the flow of traffic), the width of the lane, the number of lanes on the roadway or side of it, the speed at which the autonomous vehicle is moving, the number of open lanes, the number of closed lanes, a classification associated with the object detection (e.g., a scalar amount associated with a "vehicle" may be smaller than a scalar amount associated with a "traffic cone"), and / or the type of closure (e.g., roadway construction, vehicle repair, other construction, e.g., building construction, road cleaning or removal, e.g., snow, dirt).

[0011] The techniques may additionally or alternatively include determining a distance between object detections in the lane being analyzed and / or between the object detection and a lane extent of the lane being analyzed. In some examples, the techniques may include determining a distance between the object detection and the closest of either the lane extent (e.g., a lane edge such as a roadway edge or lane marking) or the next object detection. In some examples, the distance between each object detection may be calculated. In the previously mentioned examples, the techniques may include determining a maximum distance of two or more distances between the object detections and / or lane extents.

[0012] If the distance is less than the distance threshold, the technique may include setting a state indicating that the analyzed lane is closed. In some examples, the state may be a state of a state machine, a flag in a register, and / or any other persistent state. In some examples, the state may be associated with the analyzed lane and / or portion of the roadway, such as by identifying a portion of a map associated with the state. In some examples, the autonomous vehicle may determine a trajectory for controlling the autonomous vehicle based at least in part on the state. For example, if the state indicates that a current lane in which the vehicle is operating is closed ahead, the autonomous vehicle may change lanes to a lane identified (by the autonomous vehicle) as not closed. In some examples, the distance threshold may be based at least in part on a speed of the autonomous vehicle, a width of the lane, a width of the roadway, a classification associated with one or more object detections, and / or a pedestrian's proximity to a safety marking (e.g., which may represent a construction worker holding a construction sign).

[0013] If the distance is equal to or greater than the distance threshold, the technique may include identifying the lane as not closed, although in additional or alternative examples, the technique may include identifying whether the state currently identifies the lane as closed and / or whether the sensor data indicates the absence of a safety object. In some examples, if the state identifies the lane as closed, the technique may include maintaining the state of the lane as closed. Additionally or alternatively, if the sensor data indicates the absence of a safety object (e.g., no object detection having a classification of a safety object was generated) for a duration and / or distance of movement equal to or greater than a threshold time period and / or threshold distance, the state may be reverted to an open lane indication. In other words, the autonomous vehicle may maintain the closed lane state until a threshold amount of time or distance has passed since the autonomous vehicle last detected a safety object and / or safety mark, even if a gap has opened up that the autonomous vehicle could just squeeze through. Additionally or alternatively, the autonomous vehicle may transition from a closed lane state back to an unclosed lane state based at least in part on detecting a positive indication that the lane has reopened (e.g., a "road work ended" sign, a "slow" sign, a green light, a light(s) emitting a series of lights indicating a reopened lane and / or merge, a traffic director flipping a sign from "stop" to "slow").

[0014] In some examples, the techniques may additionally or alternatively fit a shape to one or more object detections (e.g., polynomial and / or other curves, polygons) and / or dilated object detections and associate states with the shape. For example, a safety object may specify a new lane, e.g., a taper (e.g., a merging taper, a shifting taper, a one-lane two-way traffic taper), that is not associated with traditional lane markings. The autonomous vehicle may determine a trajectory for controlling the autonomous vehicle based at least in part on the shape.

[0015] In some examples, the autonomous vehicle may transmit an indication to a remote computing device that at least a portion of a lane of a roadway is closed. The remote computing device may transmit an indication to one or more vehicles of the fleet to update a stored map to indicate that a lane associated with the portion of the roadway is closed. For example, the remote computing device may transmit an instruction to store a lane closure status in association with a portion of a map stored by the vehicle, where the portion of the map is associated with the portion of the roadway.

[0016] Example scenario FIG. 1 illustrates an example scenario 100 including an autonomous vehicle 102 that may be configured to detect when a lane is closed (unavailable for operation) or open (available for operation). In some cases, the autonomous vehicle 102 may be an autonomous vehicle configured to operate in accordance with a Level 5 classification issued by the U.S. National Highway Traffic Safety Administration, which describes a vehicle in which a driver (or passenger) is not expected to control the vehicle at any time and / or is capable of performing all safety-critical functions throughout the journey without the need for an operator. However, in other examples, the autonomous vehicle 102 may be a fully or partially autonomous vehicle having any other level or classification. It is contemplated that the techniques described herein may apply, for example, to more robotic control of autonomous vehicles, etc. For example, the techniques described herein may apply to air / space / water / underground navigation, manufacturing, augmented reality, etc. Furthermore, even if the autonomous vehicle 102 is depicted as a land vehicle, the autonomous vehicle 102 may be a spacecraft, an aircraft, a watercraft, a subterranean craft, and / or the like.

[0017] According to the techniques described herein, the autonomous vehicle 102 may receive sensor data from sensor(s) 104 of the autonomous vehicle 102. For example, the sensor(s) 104 may include location sensors (e.g., global positioning system (GPS) sensors), inertial sensors (e.g., acceleration sensors, gyroscope sensors, etc.), magnetic field sensors (e.g., compasses), position / speed / acceleration sensors (e.g., speedometer, drive system sensors), depth position sensors (e.g., lidar sensors, radar sensors, sonar sensors, time of flight (ToF) cameras, depth cameras), image sensors (e.g., visible light spectrum cameras, depth cameras, infrared cameras), auditory sensors (e.g., microphones), and / or environmental sensors (e.g., barometers, hygrometers, etc.).

[0018] The sensor(s) 104 may generate sensor data that may be received by the computing device(s) 106 and / or stored (e.g., in a cache) in a memory 108 associated with the vehicle 102. However, in other examples, some or all of the sensor(s) 104 and / or computing device(s) 106 may be separate and / or located remotely from the autonomous vehicle 102, and data capture, processing, command, and / or control may be communicated to the autonomous vehicle 102 by one or more remote computing devices over wired and / or wireless networks.

[0019] In some examples, the computing device(s) 106 may include a localization component 110, a planner 112, and / or a perception engine 114. In general, the localization component 110 may determine a location and / or orientation of the autonomous vehicle 102 within a map 116, which may be stored in the memory 108, the perception engine 114 may determine what is in the environment surrounding the autonomous vehicle 102, and the planner 112 may determine how to operate the autonomous vehicle 102 according to information received from the perception engine 114 about the environment.

[0020] The map 116 may include a global map(s), a map(s) of a navigable surface, and / or a local map(s). The global map may include roadways, features (e.g., buildings, businesses, parks), features detectable by different sensor modalities useful for localizing the autonomous vehicle, and / or the like. The map of the navigable surface may include road segments, lanes, locations of traffic signals, lane constraints (e.g., turn only, merge, yield), and / or the like. The local map may include fine-grained details that may be based at least in part on sensor data and / or may be generated by the autonomous vehicle in some examples. For example, the local map may include features of the environment surrounding the autonomous vehicle 102, such as roadway slopes, fire hydrants, traffic signs, traffic lights, trees, buildings, permanent seats, bus stops, the location and / or dimensions of any of the objects mentioned above, and / or the like. Determining the location of the autonomous vehicle 102 in the global map may include determining a location within the roadway in which the autonomous vehicle 102 is located (e.g., an identification of one or more lanes of the roadway and / or a position within the lane). Determining the location of the autonomous vehicle 102 in the local map may include determining a relative distance of the autonomous vehicle 102 from various features identified in the local map or as otherwise described in detail herein (e.g., with respect to FIG. 5). In some examples, the localization component 110 may output the position of the autonomous vehicle 102 in the map 116. In additional or alternative examples, the localization component 110 may determine an orientation (e.g., yaw, pitch, roll) of the autonomous vehicle 102, which may be compared to the orientation and / or coordinates of the global map and / or the local map.

[0021] The perception engine 114 may receive sensor data from the sensor(s) 104 and may determine perception data therefrom. For example, the perception engine 114 may include one or more machine learning (ML) models and / or other computer-executable instructions for detecting, identifying, segmenting, classifying, and / or tracking objects from sensor data collected from the environment of the autonomous vehicle 102. In some examples, the perception engine 114 may include a component for detecting whether a lane is open or closed.

[0022] In the illustrated example scenario 100, the autonomous vehicle 102 may receive sensor data from one or more of the sensors(s) 104 as the autonomous vehicle 102 approaches a collection of traffic cones 120. The traffic cones 120 may be an example of a safety object associated with a lane closure. The perception engine 114 may include one or more ML models for detecting object(s) in an environment surrounding the autonomous vehicle 102 and / or classifying the object(s) based at least in part on the sensor data. For example, the autonomous vehicle 102 may receive imagery and / or point cloud data (e.g., data from lidar, radar, sonar) and may determine that the autonomous vehicle 102 is associated with one or more safety objects (e.g., by determining that an object detection is associated with a safety class).

[0023] The perception engine 114 may determine a position, orientation, size, shape, and / or track associated with an object detected thereby (e.g., a previous, current, and / or predicted position, speed, and / or acceleration associated with a detected object). In some examples, the perception engine 114 may output object detections associated with the object that identify the object's location in the map 116, the object's orientation relative to the autonomous vehicle 102, and / or a volume occupied by the object. For example, the perception data map 126 may represent a combination of a portion of the map 116 and data associated with a collection of object detections 128 output by the perception engine 114 and associated with the traffic cone 120.

[0024] In some examples, if at least one of the object detections generated by the perception engine 114 indicates a classification associated with a safety object (i.e., a "safety class"), the perception engine 114 may trigger a lane closure analysis. In additional or alternative examples, the autonomous vehicle 102 may analyze at least the current lane 122, any adjacent lane(s), such as the adjacent lane 124, and / or any other lanes to determine whether the lane is unclosed or closed. For example, the perception engine 114 may perform the lane closure analysis described herein continuously or periodically regardless of whether a safety object is detected, and / or if a safety object is detected, the perception engine 114 may trigger a lane analysis in addition to the periodic lane analysis.

[0025] In some examples, the perception engine 114 may store and / or maintain a state of one or more lanes of a roadway detected by the perception engine 114 (in some examples, the one or more lanes may be indicated by the map 116). For example, the perception engine 114 may store a state tracker 118 in the memory 108 that includes a state associated with each lane analyzed by the perception engine 114. In some examples, the state may identify whether the analyzed lane is closed or not closed and / or at least a portion of the map 116 with which the state is associated (e.g., a lane identifier). In some examples, the state tracker 118 may additionally or alternatively include an indication of whether the current lane has an adjacent lane and / or whether the adjacent lane is associated with the same or different travel direction.

[0026] 1 illustrates an example of a lane state 130 that may be stored and / or output by the perception engine 114 based, at least in part, on the lane analysis techniques described herein in conjunction with the map 116. The lane state 130 may include an unclosed lane state 132 and a closed lane state 134. The techniques described herein may receive object detections output by the perception engine 114 and may determine the lane state 130 based, at least in part, on the object detections and the techniques described herein. For example, the techniques may determine that the unclosed lane state 132 is associated with the current lane 122 up to a point associated with the closest object detection, and later the techniques may include associating the closed lane state 134 with the current lane 122. Additionally or alternatively, the techniques may determine that adjacent lanes 124 are associated with the same travel direction and / or associate the unclosed lane state 132 with the adjacent lane 124. In an additional or alternative example, if a lane is associated with a different heading direction than the current lane 122, the technique may include associating a closed lane state 134 and / or a different heading direction state with that lane. Of course, as described in more detail herein, the above determination is not limited to pre-defined (or pre-mapped) lanes, but can be extended to changes in navigable surfaces.

[0027] Once the perception engine 114 generates perception data, which may include the state(s) identified by the state tracker 118 and / or any other manner indicative of the closed / unclosed state of the lane, the perception engine 114 may provide the perception data to the planner 112.

[0028] Planner 112 may use perception data including lane closed / unclosed states as described herein to determine one or more trajectories to control autonomous vehicle 102 to traverse a path or route and / or otherwise control operation of autonomous vehicle 102, although any of the above operations may occur in various other components. For example, planner 112 may determine a route for autonomous vehicle 102 from a first location to a second location, generate multiple potential trajectories for controlling movement of autonomous vehicle 102 substantially simultaneously to traverse the route (e.g., to avoid any detected objects and / or to avoid operating in a closed lane) according to a receding horizon technique (e.g., every microsecond, half a second, 10 seconds, etc.) and based at least in part on lane state 130 (which may be associated with map 116 and / or state tracker 118), and select one of the potential trajectories as trajectory 136 of autonomous vehicle 102 that may be used to generate drive control signals that may be transmitted to drive components of autonomous vehicle 102. 1 illustrates an example of the above trajectory 136 represented as arrows indicating heading, speed, and / or acceleration, but the trajectory itself may include instructions to a controller that, in turn, initiates a drive system of the autonomous vehicle 102. In the illustrated example, a planner may generate and / or select the trajectory 136 based at least in part on a closed lane condition 134 associated with the current lane 122. The trajectory 136 may include instructions to initiate a drive system to cause the autonomous vehicle 102 to merge into an adjacent lane 124 (which may be associated with the same heading and unclosed lane condition 132).

[0029] Exemplary Processing 2A-2E illustrate an example process 200 for analyzing a lane to determine a lane condition. In some examples, the example process 200 may be accomplished by a component or components of the perception engine 114. Although the example process 200 is depicted as including multiple operations and / or an apparent flow of operations, the example process 200 may include more or fewer operations, may repeat operations, and / or one or more of the operations may be performed sequentially, in parallel, and / or in an order different than that depicted in the drawings.

[0030] Turning to FIG. 2A, at operation 202, an example process 200 may include receiving an object detection indicating a location, shape, and / or size of an object in an environment according to any of the techniques described herein. In some examples, the object detection may additionally or alternatively identify a classification associated with the object, a track associated with the object, and / or a lane or other portion of a map associated with the object. In some cases, one or more ML models may output the object detection (e.g., the classification may be machine-learned). In some examples, the object detection may identify a two-dimensional and / or three-dimensional space associated with the object (e.g., a volume, its boundaries). FIG. 2A depicts an overhead view of an example roadway 204 including two lanes, where one lane is associated with three object detections representing objects that may have been detected by the autonomous vehicle. For example, the object detection 206 may be one of the three object detections.

[0031] At operation 208, the example process 200 may include modifying the object detection according to any of the techniques described herein. In some examples, modifying the object detection may include increasing a size ("dilating") associated with the object detection for objects that correspond to a safety class. The size may be increased according to a scalar amount. The scalar quantity may be based at least in part on the width of the roadway (e.g., a larger width results in a larger scalar quantity) or the width of the side of the roadway (e.g., the side of the roadway associated with the flow of traffic), the width of the lane (e.g., a larger width results in a larger scalar quantity), the number of lanes on the roadway or its side (e.g., an increased number results in an increased scalar quantity), the speed at which the autonomous vehicle is moving (e.g., a larger speed results in a larger scalar quantity), the number of unblocked lanes (e.g., an increased number of available unblocked lanes results in a larger scalar quantity), the number of closed lanes (e.g., an increased number of closed lanes results in a decreased scalar quantity), a classification associated with object detection (e.g., a scalar quantity associated with a "vehicle" may be smaller than a scalar quantity associated with a "traffic cone"), and / or the type of closure (e.g., roadway construction, vehicle repair, other construction, e.g., building construction, road cleaning or removal, e.g., versus snow, dirt - different based scalar quantities may be associated with any of the just mentioned). In some cases, operation 208 may include increasing the size according to one or more scalar quantities. For example, a scalar quantity may be associated with each dimension associated with the object. If the object detection defines the shape of the object in Euclidean space, a first scalar quantity may be associated with the x-axis size of the object, a second scalar quantity may be associated with the y-axis size of the object, and a third scalar quantity may be associated with the z-axis size of the object. For example, the scalar quantity may be a vector with a component in each dimension of the space in which the object is defined.

[0032] The scalar may additionally or alternatively comprise determining a direction associated with the lane and / or roadway heading (e.g., a tangent to the lane and / or roadway curvature). In some cases, the size of the object may be increased based at least in part on the direction / tangent. For example, the object may be pushed along a direction and based at least in part on the scalar.

[0033] In the depicted example, the example roadway 204 may have an orientation parallel to the y-axis. Operation 208 may include increasing the size of the object detection primarily along the y-axis based at least in part on the orientation of the example roadway 204. Because operation 208 may be based on one or more scalar quantities, the object detection may additionally or alternatively be increased along an x-axis and / or a z-axis (or any other axis in additional or alternative dimensions and / or coordinate spaces, e.g., spherical, cylindrical). For example, expand object detection 210 is an example of increasing the size of the object detection 206 based at least in part on the orientation associated with the roadway 204 and / or lanes.

[0034] At operation 212, the example process 200 may include determining a distance between the inflated object, another object detection, another inflated object detection, and / or a lane and / or roadway extent according to any of the techniques described herein. FIG. 2A illustrates an example of distances calculated in the x-axis, but it is understood that the distance(s) may be calculated in one or more other dimensions. For example, distance 214 represents the distance from an edge of the inflated object detection 210 to a roadway extent. Distance 216 represents the distance from an edge of the inflated object detection 210 to another inflated object detection. Distance 218 represents the distance from an edge of the inflated object detection 210 to a lane extent.

[0035] In some examples, operation 212 may additionally or alternatively include determining a set of distances between object detections (inflated or not) associated with the lane and / or determining a maximum distance from among the set of distances. For example, in the depicted example, operation 212 may include determining a first distance between the broken lane markings relative to the leftmost inflated object detection, a second distance from the leftmost inflated object detection to the inflated object detection 210, a third distance from the inflated object detection 210 to the rightmost inflated object detection, and a fourth distance from the rightmost inflated object detection to the extent of the lane.

[0036] At operation 220, the example process 200 may include determining whether a distance between the inflated object detection, another object detection, another inflated object detection, and / or a range of lanes and / or roadways is greater than or equal to a distance threshold, according to any of the techniques described herein. In some examples, the distance threshold may correspond to a width and / or length of the autonomous vehicle (e.g., depending on the dimension in which the distance is measured - in the illustrated example, the distance threshold may be based at least in part on the width of the autonomous vehicle) and / or a margin of error. Operation 220 may functionally determine whether the autonomous vehicle fits between the inflated object detections (e.g., along a longitudinal or lateral axis of the vehicle). If the distance is less than the distance threshold, the example process 200 may continue to operation 222.

[0037] At operation 222, the example process 200 may include determining a closed state indicating that the lane is closed according to any of the techniques described herein. In some examples, operation 222 may include any manner of setting and / or saving a state associated with the analyzed lane, such as, for example, flipping a flag in a register, transitioning a state machine to a state that identifies the lane as closed, etc. For example, FIG. 2A depicts lane state 224 consisting of identifying the analyzed lane as closed. In some cases, a state may be associated with a portion of the lane based at least in part on the inflated object detection and / or object detection closest to the autonomous vehicle. For example, a closed lane state may be associated with a portion of the lane beginning at the closest object detection corresponding to the closest object and / or the closest edge of the inflated object (e.g., from the closest edge of the inflated object detection 226 in FIG. 2A). In some examples, the example process 200 may continue to operation 228 depicted in FIG. 2B (e.g., the autonomous vehicle continues to operate, new sensor data is received).

[0038] 2B , at operation 228, the example process 200 may include determining whether a new object detection has been received in accordance with any of the techniques discussed herein. In some examples, operation 228 may include determining whether a new object detection has been received from a perception engine that identifies a safety class associated with the safe object and / or determining a period of time during which no such object detection has been received / generated.

[0039] If a new object detection is received, the example process 200 may continue to operation 230. If no new object detection is received, the example process 200 may continue to operation 232.

[0040] 2C, at operation 230, the example process 200 may include determining whether the new object detection is associated with a safety class that identifies a safety object, according to any of the techniques discussed herein. For example, operation 230 may determine whether the classification associated with the new object detection is a label that specifies a "construction vehicle," a "traffic cone," a "traffic light," and / or the like, as described in more detail above. If the new object detection is not associated with a safety class that identifies a safety object, the example process 200 may return to operation 226 and / or continue to operation 232. If the object detection is associated with a safety class that identifies a safety object, the example process 200 may continue to operation 234. For example, what has just been described corresponds to a case where the autonomous vehicle is operating close to a lane that includes a traffic cone and / or is following a guide construction vehicle.

[0041] At operation 234, the example process 200 may include determining a state associated with the lane with which the new object detection is associated. Operation 234 may include checking a stored state associated with the lane. If the state identifies the lane as not closed, the example process 200 may include returning to operation 202. If the state identifies the lane as closed, the example process 200 may include proceeding to operation 236.

[0042] In operation 236, the example process 200 may include maintaining the lane closed status based at least in part on determining that the new object detection identifies a safety object. For example, operation 236 may ensure that the lane continues to be identified as closed as long as the safety object(s) are present.

[0043] Turning to FIG. 2D , at operation 232, the example process 200 may include determining, according to any of the techniques described herein, that the sensor data indicates an absence of a safety object associated with the (closed) lane for a duration of time that is equal to or greater than the threshold duration. For example, the example process 200 may include tracking a duration of time during which no new object detection is received that identifies an object and / or safety object in the closed lane. The duration of time may be reset whenever a new object detection identifies the previously mentioned object (the example process 200 may continue to operation 230 in the above example). For example, this may cause the state associated with the closed lane to be set to an unclosed lane state immediately after the autonomous vehicle passes the last traffic cone, as shown in FIG. 2D .

[0044] While operation 232 is described with respect to a time duration, it is understood that operation 232 may additionally or alternatively be based at least in part on a distance traveled by the autonomous vehicle. For example, operation 232 may additionally or alternatively include determining that the sensor data indicates an absence of a safety object associated with the (closed) lane for a distance traveled by the autonomous vehicle that is equal to or greater than a threshold distance. In some examples, the threshold distance and / or threshold time may be based at least in part on the type of safety object for which the closed lane condition was determined. For example, if the safety objects were "yield" signs and traffic marshals, the duration / distance may be greater than if the safety objects were traffic cones.

[0045] If the duration of time is greater than or equal to the detection threshold, the example process 200 may continue to operation 238.

[0046] At operation 238, the example process 200 may include replacing the first state (the closed lane state) with a second state indicating that the lane is not closed, according to any of the techniques described herein. In some examples, the not closed lane state may be associated with a portion of the lane that corresponds to the furthest edge (along the roadway direction / tangent) of the inflated object detection that is furthest from the autonomous vehicle.

[0047] Turning to FIG. 2E, FIG. 2E illustrates operations that may be substituted and / or added to operations 232 and 238. For example, after operation 232, the example process 200 may additionally or alternatively include performing operation 240 in accordance with any of the techniques described herein. In operation 240, the example process 200 may include determining whether the perception engine detects that the autonomous vehicle is very close to or within a roadway junction (e.g., an intersection, a "T" junction, any other junction). For example, the autonomous vehicle may be very close to a junction if the autonomous vehicle is within a threshold distance or within a threshold duration and / or factor (of operation 232) of the junction.

[0048] If, at operation 240, the perception engine does not determine that the autonomous vehicle is in or very close to a junction, the example process 200 may continue to operation 238. On the other hand, if, at operation 240, the perception engine determines that the autonomous vehicle is in or very close to a junction, the example process 200 may continue to operation 242.

[0049] In operation 242, the example process 200 may include maintaining a state associated with the lane while the autonomous vehicle is still very close to and / or within the junction, according to any of the techniques described herein. For example, what has just been described may include maintaining an open or closed state of the lane. What has just been described is useful because a junction may not contain any safety objects at all or may not contain safety objects in the same proportion as previously observed (e.g., traffic cones may be spaced more widely to accommodate traffic).

[0050] In some examples, the example process 200 may additionally or alternatively include transmitting a set of states associated with the lane(s) and / or the portion of the roadway(s) to a remote computing device. For example, the autonomous vehicle may transmit a notification that it has identified the portion of the lane as closed based on the above determination, and / or the autonomous vehicle may identify the state(s) of the lane(s) in which the autonomous vehicle is located by periodically transmitting a “heartbeat” signal that includes the current state of the state machine and / or the location of the autonomous vehicle. In some examples, the remote computing device may store the states received from the autonomous vehicle and may transmit updated states to one or more vehicles in the fleet. In some examples, the vehicles in the fleet may be configured to determine a route based at least in part on the states received from the remote computing device. In some examples, the autonomous vehicle may store the open / closed state of the lane in association with the map, since the state may persist. In some examples, the above persistent states may be associated with an expiration time (e.g., the time at which the state is cleared from determining or receiving the state) and may persist until determined or updated again (e.g., by receiving the state associated with the lane from another vehicle and / or a remote computing device). In at least some examples, the autonomous vehicle may transmit the above information regarding partial or complete lane closure to a global map database from which other autonomous vehicles may search for data about lane closures. In any of the above examples, a similar step of expiration may be implemented and / or enabled / updated based on newly acquired sensor data from additional vehicles.

[0051] In some examples, the lane analysis described above may be performed to identify lane conditions up to a range that may be a distance from the vehicle where sensor data and / or object detection is determined to be reliable.

[0052] Example Lane Changing Scenarios and Techniques 3 illustrates an overhead view of an example scenario 300 in which a group of safety objects designates a new lane that is not associated with traditional lane markings. While the example scenario 300 in FIG. 3 depicts a shifted taper, many other lane changes exist, such as, for example, flagging tapers, shoulder tapers, merging tapers, one-lane two-way traffic tapers, etc. In some examples, the techniques described herein may determine that all available lanes (e.g., lanes associated with the same direction of travel as the vehicle) are closed in a scenario such as the example scenario 300.

[0053] The exemplary scenario 300 includes a roadway having two traffic directions, traffic direction 302 and traffic direction 304, with each traffic direction having two lanes associated with it. Traffic direction 304 includes two conventional lanes (left conventional lane 306 and right conventional lane 308) that are partitioned according to hashed lane markers and bounded by double (yellow) lines 310 and roadway extent 312. For purposes of illustration, assume that the autonomous vehicle 102 has already determined that the right conventional lane 308 is closed (e.g., the autonomous vehicle has stored and / or maintained a closed state associated with the right conventional lane 308) based at least in part on a collection of safety objects (e.g., unlabeled due to their large number and represented as circles) in the roadway. However, when the autonomous vehicle 102 encounters the shifted taper, it may determine that the left conventional lane 306 is closed (e.g., due to a safety object in the lane) and / or that the lane 314 associated with the (opposite) direction of traffic 302 is unavailable because the direction of traffic 302 is the opposite direction of traffic 304 with which the autonomous vehicle 102 is associated and / or due to detecting a double line 312. In other words, by applying the techniques described with respect to FIG. 2, the autonomous vehicle 102 may determine that all (conventional) lane(s) associated with the direction of traffic are blocked (e.g., there are no conventional lanes wide enough open for the autonomous vehicle 102 to pass through, according to the techniques described above with respect to FIG. 2). The autonomous vehicle 102 may be equipped with additional or alternative techniques for determining the shape and / or associated open / closed status of the alternative lane. The shape of the alternative lane may avoid conventional lane markings in some cases.

[0054] 4 illustrates additional or alternative techniques for determining open and / or closed lane conditions associated with a portion(s) of a roadway in addition to or in lieu of conventional lane markings. For example, techniques described herein may attempt to identify an open lane in accordance with the techniques described above and in accordance with conventional lane markings. However, if such a lane does not exist, such as in example scenario 300, the autonomous vehicle may determine the shape and associated open / closed status of one or more alternative lanes based at least in part on one or more object detections and / or states associated with the lane.

[0055] For example, the autonomous vehicle may determine that right conventional lane 308 is associated with a closed condition and may determine a shape that overlaps an object detection associated with right conventional lane 308. The autonomous vehicle 102 may additionally or alternatively attempt to expand the shape to include objects within a threshold distance of the object in right conventional lane 308, until there are no object detections within the threshold distance. For example, object detection 400 may be due to a threshold distance of object detection 402, and therefore the autonomous vehicle may expand the shape to include object detection 400, etc. (e.g., by connecting a line between the two objects, by modifying the boundary to include both objects).

[0056] The autonomous vehicle 102 may generate a shape such that there is at least one lane with a continuous boundary and a minimum width. The minimum width may be a distance greater than a threshold distance (such that the generated shape may avoid including a safety object on the other side of the tapered lane). In some examples, an ML model may be trained to determine the shape (e.g., based at least in part on a classification task, a clustering task, and / or the like).

[0057] In some examples, the autonomous vehicle 102 may repeat what has just been said for a second set of safety objects (e.g., leftward safety objects) associated with a second closed lane state and / or based at least in part on the unclosed lane state. In other words, conversely, the autonomous vehicle 102 may determine a shape that positively identifies an unclosed lane based at least in part on the unclosed lane state and one or more safety objects. In some examples, the autonomous vehicle may detect a safety sign signaling a taper, lane merge, and / or other traffic change and may determine an alternate lane shape based at least in part on the symbology of the safety sign.

[0058] FIG. 4 illustrates three alternative lane shapes, a first alternative lane shape 404 associated with a closed lane state, a second alternative lane shape 406 associated with an open lane state, and a third alternative lane shape 406 associated with a closed lane state. In some examples, the autonomous vehicle 102 may transmit one or more of the alternative lane shapes to a teleoperation system to receive confirmation of the alternative lane shape, confirmation of crossing the double line 312, and / or provide changes to the alternative lane shape to the teleoperator. In some examples, the alternative lane shapes may be stored in a global map database and may be searched for or pushed (e.g., based on the vehicle generating a route that closely follows the roadway associated with the alternative lane shape) by one or more vehicles in the fleet. In some examples, the autonomous vehicle 102 may receive the changes to the alternative lane shape. In some examples, the autonomous vehicle 102 and / or the teleoperation system may use the changes to train an ML model configured to generate the alternative lane shape. In some cases, a first ML model may be trained to generate alternate lane shapes in association with an open lane condition, and a second ML model may be trained to generate alternate lane shapes in association with a closed lane condition. In additional or alternative examples, a single ML model may generate alternate lane shapes for both lane conditions. In any of the above examples, the detection and updates to the navigable lane surface may be passed to a global (and / or local) map system, such that the autonomous vehicle and / or additional autonomous vehicles may rely on the teleoperator to confirm the navigable surface. In any of the above examples, the navigable surface and shape may be continuously enabled despite teleoperator confirmation and pre-mapped data, which may be necessary in the event of any changes to the surface.

[0059] Exemplary System FIG. 5 illustrates a block diagram of an example system implementing the techniques described herein. In some cases, the system 500 may include a vehicle 502, which may represent the autonomous vehicle 102 in FIG. 1. In some cases, the vehicle 502 may be an autonomous vehicle configured to operate in accordance with a Level 5 classification issued by the U.S. Federal Highway Traffic Safety Administration, which describes a vehicle capable of performing all safety-critical functions throughout its journey, where a driver (or passenger) is not expected to control the vehicle at any time. However, in other examples, the vehicle 502 may be a fully or partially autonomous vehicle having any other level or classification. Furthermore, in some cases, the techniques described herein may be usable by vehicles that are not autonomous as well.

[0060] The vehicle 502 may include vehicle computing device(s) 504, sensor(s) 506, emitter(s) 508, network interface(s) 510, and / or drive component(s) 512.

[0061] In some cases, the sensor(s) 506 may include lidar sensors, radar sensors, ultrasonic transducers, sonar sensors, location sensors (e.g., Global Positioning System (GPS), compass), inertial sensors (e.g., Inertial Measurement Unit (IMU), accelerometers, magnetometers, gyroscopes), image sensors (e.g., RGB (red-green-blue), IR (infrared), time-of-flight cameras), microphones, wheel encoders, environmental sensors (e.g., thermometer, hygrometer, light sensor, pressure sensor), and the like. The sensor(s) 506 may include multiple instances of each of the just mentioned or other types of sensors. For example, a radar sensor may include individual radar sensors located at the corners, front, rear, sides, and / or top of the vehicle 502. As another example, a camera may include multiple cameras positioned at various locations around the exterior and / or interior of the vehicle 502. The sensor(s) 506 may provide input to the vehicle computing device(s) 504 and / or to the computing device(s) 514.

[0062] Additionally, the vehicle 502 may include one or more emitter(s) 508 for emitting light and / or sound, as described above. The emitter(s) 508 in the current example may include interior audio and visual emitter(s) that communicate with passengers of the vehicle 502. By way of example and not limitation, the interior emitter(s) may include speakers, lights, signs, display screens, touch screens, haptic emitter(s) (e.g., vibration and / or force feedback), mechanical actuators (e.g., seat belt tensioners, seat positioners, head rest positioners, etc.), and the like. Additionally, the emitter(s) 508 in the current example may also include exterior emitter(s). By way of example and not limitation, the external emitter(s) in the examples just described may include one or more lights that signal direction of travel or other indication regarding the operation of the vehicle (e.g., indicator lights, signs, light arrays, etc.), and one or more audio emitters (e.g., speakers, speaker arrays, horns, etc.) that audibly communicate with pedestrians or other nearby vehicles, including acoustic beam steering technology.

[0063] Additionally, the vehicle 502 may include network interface(s) 510 that enable communication between the vehicle 502 and one or more other local or remote computing device(s). For example, the network interface(s) 510 may facilitate communication with other local computing device(s) on the vehicle 502 and / or with the drive component(s) 512. Furthermore, the network interface(s) 510 may additionally or alternatively enable the vehicle to communicate with other nearby computer device(s) (e.g., other nearby vehicles, traffic signals, etc.). The network interface(s) 510 may additionally or alternatively enable the vehicle 502 to communicate with computing device(s) 514. In some examples, the computing device(s) 514 may include one or more nodes of a distributed computing system (e.g., a cloud computing architecture). The computing device(s) 514 may be examples of the remote computing device(s) and / or teleoperation systems described herein.

[0064] The network interface(s) 510 may include physical and / or logical interfaces for connecting the vehicle computing device(s) 504 to another computing device or to a network, such as, for example, the network(s) 516. For example, the network interface(s) 510 may enable Wi-Fi-based communications, such as, for example, frequencies defined by the IEEE 500.11 standard, short-range wireless frequencies such as BLUETOOTH, cellular communications (e.g., 2G, 3G, 4G, 4G LTE, 5G, etc.), or via any suitable wired or wireless communications protocol that enables each computing device to interface with other computing device(s). In some cases, the vehicle computing device(s) 504 and / or the sensor system(s) 506 may send sensor data over the network(s) 516 to the computing device(s) 514 at specific frequencies, at predetermined times, in near real-time, etc.

[0065] In some cases, the vehicle 502 may include one or more drive components 512. In some cases, the vehicle 502 may have a single drive component 512. In some cases, the drive component(s) 512 may include one or more sensors that detect the state of the drive component(s) 512 and / or the state of the surroundings of the vehicle 502. By way of example and not limitation, the sensor(s) of the drive component(s) 512 may include one or more wheel encoders (e.g., rotary encoders) that sense the rotation of the wheels of the drive component, inertial sensors (e.g., inertial measurement units, accelerometers, gyroscopes, magnetometers, etc.) that measure the orientation and acceleration of the drive component, cameras or other image sensors, ultrasonic sensors that acoustically detect objects in the surroundings of the drive component, lidar sensors, radar sensors, etc. Some sensors, such as the wheel encoder(s), may be unique to the drive component(s) 512. In some cases, the sensor(s) on the drive component(s) 512 may overlap or supplement a corresponding system of the vehicle 502 (e.g., the sensor system(s) 506).

[0066] The drive component(s) 512 may include many vehicle systems, including a high voltage battery, a motor to propel the vehicle 202, an inverter to convert direct current from the battery to alternating current for use by other vehicle systems, a steering system including a steering motor and steering rack (which may be electrically powered), a braking system including hydraulic or electric actuators, a suspension system including hydraulic and / or pneumatic components, a safety control system to distribute braking force to mitigate loss of traction and maintain control, an HVAC system, lighting (e.g., lighting such as head / tail lights that illuminate the exterior surroundings of the vehicle), and one or more other systems (e.g., a cooling system, a safety system, an on-board charging system, other electrical components such as DC / DC converters, high voltage junctions, high voltage cables, a charging system, a charging port, etc.). Additionally, the drive component(s) 512 may receive and preprocess data from the sensor(s) and may include a drive component controller to control the operation of various vehicle systems. In some cases, the drive component controller may include one or more processors and a memory communicatively coupled to the one or more processors. The memory may store one or more components that perform various functionality of the drive component(s) 512. Furthermore, the drive component(s) 512 may also include one or more communication connection(s) that enable each drive component to communicate with one or more other local or remote computing device(s).

[0067] The vehicle computing device(s) 504 may include a processor(s) 518 and a memory 520 communicatively coupled to the one or more processors 518. Additionally, the computing device(s) 514 may include a processor(s) 522 and / or a memory 524. The processor(s) 518 and / or 522 may be any suitable processor capable of processing data and executing instructions to perform operations as described herein. By way of example and without limitation, the processor(s) 518 and / or 522 may include one or more central processing units (CPUs), graphics processing units (GPUs), integrated circuits (e.g., application specific integrated circuits (ASICs)), gate arrays (e.g., field-programmable gate arrays (FPGAs)), and / or any other device or portion of a device that processes electronic data and converts the electronic data into other electronic data that may be stored in registers and / or memory.

[0068] The memories 520 and 524 may be examples of non-transitory computer-readable media. The memories 520 and / or 524 may store an operating system and one or more software applications, instructions, programs, and / or data for implementing the methods described herein and the functions attributed to the various systems. In various implementations, the non-transitory computer-readable media may be implemented using any suitable memory technology, for example, SRAM (Static RAM), SDRAM (Synchronous DRAM), non-volatile / flash memory, or any other type of memory. The architectures, systems, and individual elements described herein may include many other logical, programmatic, and physical components, and those shown in the accompanying drawings are merely examples relevant to the discussion herein.

[0069] In some cases, memory 520 and / or memory 524 may store a perception engine 526, a planner 528, a state tracker 530, map(s) 532, and / or a system controller(s) 534. The perception engine 526 may represent the perception engine 114, the planner 528 may represent the planner 112, the state tracker 530 may include and / or represent the state tracker 118, and / or the map(s) 532 may include and / or represent the map 116. In some cases, the perception engine 526 may include a primary perception system, a secondary perception system, a prediction system, and / or a localization system. Memory 520 and / or 524 may additionally or instead store a localization component, a mapping system, a planning system, a ride management system, etc. Although the cognitive engine 526, the planner 528, the state tracker 530, and / or the map(s) 532 are illustrated as stored in the memory 520, the cognitive engine 526, the planner 528, the state tracker 530, and / or the map(s) 532 may include processor-executable instructions, machine-learned model(s) (e.g., neural networks), and / or may be stored in hardware and / or memory 524.

[0070] In some examples, the perception engine 526 may include one or more ML models for determining the shape of the alternative lanes. The ML model(s) may include a clustering model, a classification model, and / or a regression model. In some examples, the ML model(s) may include a neural network. As described herein, an exemplary neural network is a biologically inspired algorithm that passes input data through a series of connected layers to generate an output. Furthermore, each layer in a neural network may include another neural network or may include any number of layers (whether convolutional or not). As may be understood in the context of the present disclosure, a neural network may utilize machine learning, which may refer to a broad class of algorithms described above in which an output is generated based on a learning parameter.

[0071] Although described in the context of neural networks, any type of machine learning can be used consistent with this disclosure. For example, machine learning algorithms can include, but are not limited to, regression algorithms (e.g., ordinary least squares regression (OLSR), linear regression, logistic regression, stepwise regression, multivariate adaptive regression splines (MARS), local estimation scatter plot smoothing (LOESS)), instance-based algorithms (e.g., ridge regression, least absolute shrinkage and selection operator (LASSO), elastic nets, least angle regression (LARS)), decision tree algorithms (e.g., classification and regression trees (CTRs)), and others. ART), Iterative Bisection 3 (ID3), Chi-squared Automatic Interaction Detection (CHAID), Decision Cut, Conditional Decision Tree), Bayesian algorithms (e.g., Naive Bayes, Gaussian Naive Bayes, Multinomial Naive Bayes, Average One Dependence Estimators (AODE), Bayesian Belief Networks (BNN), Bayesian Networks), Clustering algorithms (e.g., k-means, k-medians, Expectation Maximization (EM), Hierarchical Clustering), Association Rule Learning Algorithms The learning algorithms may include algorithms (e.g., perceptron, backpropagation, Hopfield networks, radial basis function networks (RBFN)), deep learning algorithms (e.g., deep Boltzmann machines (DBM), deep belief networks (DBN), convolutional neural networks (CNN), stacked autoencoders), dimensionality reduction algorithms (e.g., principal component analysis (PCA), principal component regression (PCR), partial least squares regression (PLSR), Sammon mapping, multidimensional scaling (MDS), projection pursuit, linear discriminant analysis (LDA), mixed discriminant analysis (MDA), quadratic discriminant analysis (QDA), flexible discriminant analysis (FDA)), ensemble algorithms (e.g., boosting, bootstrap aggregation (bagging), AdaBoost, stacked generalization (blending), gradient boosting machines (GBM), gradient boosted regression trees (GBRT), random forests), support vector machines (SVM)), supervised learning, unsupervised learning, semi-supervised learning, etc.Additional examples of architectures include neural networks such as ResNet-50, ResNet-101, VGG, DenseNet, and PointNet.

[0072] In some examples, the computing device(s) 514 may generate and / or save the state tracker 530 and / or the map(s) 532. The state tracker 530 may include a register, a state machine, and / or any other manner of identifying a closed or unclosed state for a lane permanently and / or temporarily (e.g., at least for a defined (expiration) time). For example, the state tracker may include a finite state machine ("FSM"), such as a deterministic finite automaton ("DFA"), a data structure, a register, and / or the like. In some examples, the state tracker 530 may accumulate, store, and / or otherwise associate a lane state, a lane identifier, a portion of the roadway, a portion of a local map, an object detection, an expanding object detection, and / or a shape of an alternative lane. In additional or alternative examples, the techniques described herein may include outputting a closed / open state in relation to the current lane and / or any other lanes (e.g., adjacent lanes, another lane).

[0073] In some examples, the map(s) 532 may include one or more of local, navigable surface, and / or global maps, which the vehicle 502 may determine based at least in part on sensor data and / or which may be received from the computing device(s) 514 via the network(s) 516. In some examples, the map(s) 532 may include a global map database.

[0074] The memory 520 may additionally or alternatively store one or more system controller(s) 532, which may be configured to control steering, propulsion, braking, safety, emitter, communication, and other systems of the vehicle 502. The just mentioned system controller(s) 532 may communicate with and / or control corresponding systems of the drive component(s) 512 and / or other components of the vehicle 502. For example, the planner 528 may generate instructions based at least in part on the perception data generated by the perception engine 526 (which may include any of the states and / or alternative lane shapes described herein) and send instructions to the system controller(s) 532, which may control operation of the vehicle 502 based at least in part on the instructions.

[0075] In some examples, the computing device(s) 514 may include a teleoperation system that may be configured to generate a presentation of data received from one or more vehicles in the fleet and / or input options to be given to a teleoperator providing guidance to one or more vehicles (e.g., an option to select a displayed button to confirm the trajectory determined by the vehicle, an option to modify and / or confirm the shape of the alternative lane determined by the vehicle, an option to confirm crossing a double line).

[0076] 5 is illustrated as a distributed system, it should be noted that in alternative examples, components of the vehicle 502 may be associated with the computing device(s) 514 and / or components of the computing device(s) 514 may be associated with the vehicle 502. That is, the vehicle 502 may perform one or more functions associated with the computing device(s) 514, and vice versa.

[0077] Example clauses A. The method includes receiving sensor data from one or more sensors; determining an object detection based at least in part on the sensor data, the object detection being associated with a lane of the roadway and indicating a location of the object in the environment and a size of the object in at least a first direction along the lane and a second direction perpendicular to the first direction in a plane associated with the lane; modifying the object detection by increasing the size indicated by the object detection to obtain an inflated object detection; determining a distance between the inflated object detection and at least one of another object detection, another inflated object detection, or an extent of the lane; determining that the distance is less than or equal to a distance threshold; determining a closure status indicating the lane is closed based at least in part on the distance being less than or equal to the distance threshold; and controlling the vehicle based at least in part on the closure status.

[0078] B. The method of paragraph A, wherein modifying the object detection includes increasing the size parallel to a first direction more than in a second direction.

[0079] C. The method of any of paragraphs A or B, wherein determining and modifying the occlusion state is based at least in part on determining that a classification associated with the object detection identifies a safety class, the safety class including at least one of a safety object, a safety personnel, a safety vehicle, or a safety sign or signal.

[0080] D. The method of any one of clauses A-C, wherein the object detection is a first object detection, and the method further includes receiving one or more second object detections after the first object detection, determining that at least one of the one or more second object detections is associated with a safety class, and maintaining a closure state based at least in part on determining that at least one of the one or more second object detections is associated with the safety class.

[0081] E. The method of any one of paragraphs A-D, further including receiving sensor data after receiving the object detection, determining that the sensor data indicates an absence of a safety object associated with the lane for a distance traveled by the vehicle that is equal to or greater than a threshold distance, and replacing the closed state with an open state indicating the lane is not closed for the distance traveled based at least in part on determining that the sensor data indicates an absence for the distance traveled.

[0082] F. The method of any one of clauses A-E, further including controlling the autonomous vehicle based at least in part on the opening condition.

[0083] G. The system includes one or more sensors, one or more processors, and a memory storing processor-executable instructions that, when executed by the one or more processors, cause the system to perform operations including receiving an object detection, the object detection indicating a location of the object in the environment and a plurality of dimensions of the object, the plurality of dimensions including a first dimension along a direction of a lane associated with the object and a second dimension perpendicular to the first direction; modifying at least one of the first dimension or the second dimension based on at least one of the lane width or the lane direction to obtain an expanded object detection; determining a distance between the expanded object detection and at least one of another object detection, another expanded object detection, or the lane width; determining that the distance is less than a distance threshold; and determining a closed state indicating that the lane is closed based at least in part on determining that the distance is less than the distance threshold.

[0084] H. The system of paragraph G, wherein modifying at least one of the first direction or the second direction and determining the closure state are further based at least in part on determining that a classification associated with the object detection includes a safety class, the safety class including at least one of a safety object, a safety personnel, a safety vehicle, or a safety sign or signal.

[0085] I. The system of any of paragraphs G or H, wherein the object detection is a first object detection, and the operations further include receiving one or more second object detections after the first object detection, determining that at least one of the one or more second object detections is associated with a classification that includes a safety class, and maintaining a closure state based at least in part on determining that at least one of the one or more second object detections is associated with a classification that identifies a safety object.

[0086] J. The system of any one of clauses G-I, wherein the operations further include receiving sensor data after receiving the object detection, determining a second object detection associated with at least one of the lane or an adjacent lane, determining that a direction of travel associated with the lane or at least one of the adjacent lanes is blocked, and determining a polygon in a plane associated with the roadway that includes one or more object detections that identify a safety class.

[0087] K. The system of any one of clauses G-J, wherein the operation further includes determining an open state associated with a second lane based at least in part on a second object detection or second sensor data associated with the second lane, the second lane being adjacent to the lane.

[0088] L. The system of any one of clauses G-K, wherein the operations further include receiving sensor data from one or more sensors, determining, based at least in part on the sensor data, that the autonomous vehicle is very close to the junction, and maintaining a closure state, based at least in part on determining that the autonomous vehicle is very close to the junction.

[0089] M. The system of any one of clauses G-L, wherein the operations further include associating a closed status with at least a portion of the roadway and transmitting the closed status and an identification of the portion to a remote computing device.

[0090] N. The system of any one of clauses G-M, wherein the operations further include: determining, based at least in part on sensor data from a sensor of the autonomous vehicle, that a navigable surface along which the autonomous vehicle travels includes at least a lane; receiving, from the remote computing system, a second condition indicating that the lane is closed based at least in part on the navigable surface; and determining a route for controlling the autonomous vehicle based at least in part on the second condition and the navigable surface.

[0091] O. A non-transitory computer-readable medium storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations including receiving an object detection, the object detection including a location of the object in the environment and a size of the object; modifying the object detection based at least in part on an orientation of a lane associated with the object detection to obtain an expanded object detection; determining a distance between the expanded object detection and at least one of another object detection associated with the lane, another expanded object detection associated with the lane, or a range of the lane; determining that the distance is less than a distance threshold; and determining a closed status indicating that the lane is closed based at least in part on determining that the distance is less than the distance threshold.

[0092] P. The non-transitory computer-readable medium of paragraph O, wherein modifying the object detection and determining the occlusion state are further based at least in part on determining that a classification associated with the object detection includes a safety class, the safety class including at least one of a safety object, a safety personnel, a safety vehicle, or a safety sign or signal.

[0093] Q. The non-transitory computer-readable medium of any of clauses O or P, wherein the object detection is a first object detection, and the operations further include receiving one or more second object detections after the first object detection, determining that at least one of the one or more second object detections is associated with a classification that includes a safety object, and maintaining a closure state based at least in part on determining that at least one of the one or more second object detections is associated with a classification that identifies a safety object.

[0094] R. The non-transitory computer-readable medium of any one of clauses O-Q, wherein the operations further include receiving sensor data after receiving the object detection, determining a second object detection associated with at least one of the lane or an adjacent lane, determining that a direction of travel associated with the lane or at least one of the adjacent lanes is blocked, and determining a polygon in a plane associated with the roadway that includes one or more object detections that identify a safety class.

[0095] S. The non-transitory computer-readable medium of any one of clauses O-R, wherein the operations further include receiving sensor data from one or more sensors of the autonomous vehicle, determining that the autonomous vehicle is very close to a junction based at least in part on the sensor data, and maintaining a closure state based at least in part on determining that the autonomous vehicle is very close to the junction.

[0096] T. The non-transitory computer-readable medium of any one of clauses O-S, wherein the operations further include associating a closed status with at least a portion of the roadway and transmitting the closed status and an identification of the portion to a remote computing device.

[0097] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.

[0098] The components described herein represent instructions that may be stored on any type of computer-readable medium and may be implemented in software and / or hardware. All of the methods and processes described above may be embodied and fully automated in software code components and / or computer-executable instructions executed by one or more computers or processors, hardware, or a combination. Alternatively, some or all of the methods may be embodied in specialized computer hardware.

[0099] Unless specifically stated otherwise, conditional words such as "may," "could," "could," or "would be," among others, are understood within the context that one example may include a certain feature, element, and / or step while another example does not. Thus, in general, the above conditional words are not intended to imply that a certain feature, element, and / or step is required in any respect in one or more examples, or that one or more examples necessarily include logic for determining whether a certain feature, element, and / or step is included or should be performed in any particular example, with or without user input or prompting.

[0100] Unless specifically stated otherwise, conjunctive terms, such as, for example, the phrase "at least one of X, Y, or Z," should be understood to indicate that an item, term, etc. can be either X, Y, or Z, or any combination, including a plurality of each element. Unless expressly described as singular, "a" means singular and plural.

[0101] Any routine descriptions, elements, or blocks in the flow diagrams described herein and / or depicted in the accompanying drawings should be understood as potentially representing modules, segments, or portions of code that include one or more computer-executable instructions for implementing a particular logical function or element in the routine. Alternative implementations are included within the scope of the examples described herein in which elements or functions may be performed substantially simultaneously, in reverse order, with additional operations, or deleted or out of order from that shown or described, including omitting operations, depending on the functionality involved as understood by one of ordinary skill in the art.

[0102] Numerous variations and modifications may be made to the examples described above, and it should be understood that the elements are among the other acceptable examples. All such modifications and modifications are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims

1. 1. A system comprising: One or more sensors; one or more processors; When executed by the one or more processors, the system further comprises: receiving an object detection, the object detection indicating a location of an object in an environment and a plurality of dimensions of the object, the plurality of dimensions including a first dimension along a direction of a lane associated with the object and a second dimension perpendicular to the first direction; modifying at least one of the first dimension or the second dimension based at least in part on at least one of a width of the lane or the orientation of the lane to obtain an inflated object detection; determining a distance between a location of the expanding object detection and at least one of a location of another object detection or another expanding object detection, or a width of the lane; determining that the distance is less than a distance threshold; determining a closed state indicating that the lane is closed based at least in part on determining that the distance is less than the distance threshold; and A memory storing processor-executable instructions for performing operations including: A system comprising:

2. 2. The system of claim 1, wherein the modifying the object detection comprises increasing a size parallel to the first direction relative to a second direction.

3. The modifying of at least one of the first direction or the second direction and the determining of the occlusion state are further based at least in part on determining that a classification associated with the object detection includes a safety class, the safety class being: safety object, safety personnel, Safety vehicle, or Safety signs or signals 3. The system according to claim 1, further comprising at least one of:

4. The object detection is a first object detection, and the operation is receiving one or more second object detections subsequent to the first object detection; determining that at least one of the one or more second object detections is associated with a classification that includes a safety class; maintaining the closed state based at least in part on determining that at least one of the one or more second object detections is associated with the classification identifying a safe object; and The system according to any one of claims 1 to 3, further comprising:

5. The operation includes: receiving sensor data after receiving the object detection; determining a second object detection associated with at least one of the lane or an adjacent lane; determining that a direction of travel associated with at least one of the lane or an adjacent lane is blocked; determining a polygon including one or more object detections that identify a safety class in a plane associated with the roadway; The system according to any one of claims 1 to 4, further comprising:

6. The operation includes: determining an open state associated with a second lane based at least in part on a second object detection or second sensor data associated with the second lane, the second lane being adjacent to the lane; The system according to any one of claims 1 to 5, further comprising:

7. The operation includes: receiving sensor data from one or more sensors; determining, based at least in part on the sensor data, that the autonomous vehicle is very close to a junction; maintaining the closed state based at least in part on determining that the autonomous vehicle is very close to the junction; and The system according to any one of claims 1 to 6, further comprising:

8. The operation includes: associating the closure state with at least a portion of a roadway; transmitting the closure status and the portion of identifying information to a remote computing device; and The system according to any one of claims 1 to 7, further comprising:

9. The operation includes: determining, based at least in part on sensor data from a sensor of an autonomous vehicle, that a navigable surface on which the autonomous vehicle is traveling includes at least a lane; receiving a second status indicating the lane as closed based at least in part on the navigable surface from a remote computing system; determining a route for controlling the autonomous vehicle based at least in part on the second condition and the vehicular surface; and The system according to any one of claims 1 to 8, further comprising:

10. When executed by one or more processors, the one or more processors are receiving an object detection, the object detection including a location of an object in an environment and a size of the object; modifying the object detection based at least in part on a direction of a lane associated with the object detection to obtain an inflated object detection; determining a distance between a location of the inflated object detection and at least one of another object detection associated with the lane or a location of another inflated object detection associated with the lane, or a range of the lane; determining that the distance is less than a distance threshold; determining a closed status indicating that the lane is closed based at least in part on determining that the distance is less than the distance threshold; and A non-transitory computer-readable medium storing processor-executable instructions for causing a processor to perform operations including:

11. The modifying the object detection and the determining the occlusion state are based at least in part further on determining that a classification associated with the object detection includes a safety class, the safety class being: safety object, safety personnel, Safety vehicle, or Safety signs or signals 11. The non-transitory computer-readable medium of claim 10, comprising at least one of:

12. The object detection is a first object detection, and the operation is receiving one or more second object detections subsequent to the first object detection; determining that at least one of the one or more second object detections is associated with a classification that includes a safe object; maintaining the closed state based at least in part on determining that at least one of the one or more second object detections is associated with the classification identifying the safe object; and 12. The non-transitory computer-readable medium of claim 10 or 11, further comprising:

13. The operation includes: receiving sensor data after receiving the object detection; determining a second object detection associated with at least one of the lane or an adjacent lane; determining that a direction of travel associated with at least one of the lane or an adjacent lane is blocked; determining a polygon including one or more object detections that identify a safety class in a plane associated with the roadway; 13. The non-transitory computer readable medium of claim 10, further comprising:

14. The operation includes: Receiving sensor data from one or more sensors of an autonomous vehicle; determining, based at least in part on the sensor data, that the autonomous vehicle is very close to a junction; maintaining the closed state based at least in part on determining that the autonomous vehicle is very close to the junction; and 14. The non-transitory computer readable medium of claim 10, further comprising:

15. The operation includes: associating the closure state with at least a portion of a roadway; transmitting the closure status and the portion of identifying information to a remote computing device; and 15. The non-transitory computer readable medium of claim 10, further comprising:

Citation Information

Patent Citations

  • Risk minimum locus generating device, and dangerous situation warning device using it

    JP2006154967A

  • In-vehicle environment recognition device

    JP2013242670A

  • Mapping of active and non-working construction areas for autonomous driving

    JP2016520902A

  • Mapping active and inactive construction zones for autonomous driving

    US20150355640A1

  • Detecting lane closures and lane shifts by an autonomous vehicle

    US8825259B1