Patent ID: 12214755

DETAILED DESCRIPTION

Generally, the present disclosure is directed to a sensor cleaning system that cleans one or more sensors of an autonomous vehicle. In particular, in some implementations of the present disclosure, the sensor cleaning system can include a plurality of sensor cleaning units that are configured to respectively clean a plurality of sensors of the autonomous vehicle using a fluid (e.g., a gas or a liquid). For example, the plurality of sensors can include one or more cameras, Light Detection and Ranging (LIDAR) system sensors, Radio Detection and Ranging (RADAR) system sensors, and/or other sensors. Thus, each sensor can have one or more corresponding sensor cleaning units that are configured to clean such sensor using a fluid (e.g., a gas or a liquid).

According to one aspect of the present disclosure, in some implementations, the sensor cleaning system can provide individualized cleaning of the autonomous vehicle sensors. For example, one or more controllers of the sensor cleaning system can individually control the flow of a corresponding fluid to each sensor cleaning unit to enable individualized cleaning of the sensors. In addition, in some implementations, the one or more controllers can determine whether each sensor requires cleaning based at least in part on the respective sensor data collected by each sensor. The individualized cleaning of sensors improves the efficiency of the cleaning system and eliminates instances in which the all of the sensors are simultaneously cleaned, thereby eliminating instances in which the entire sensor system is temporarily “blinded.”

According to another aspect of the present disclosure, in some implementations, the sensor cleaning system can include both a gas cleaning system and a liquid cleaning system. As an example, in some implementations, a particular sensor can have associated therewith (e.g., physically coupled and/or adjacent thereto) a gas cleaning unit configured to use a gas to clean such sensor and/or a liquid cleaning unit configured to use a liquid to clean such sensor.

As such, according to yet another aspect of the present disclosure, in some implementations, the liquid cleaning system can be pressurized or otherwise powered by the gas cleaning system or other gas system. In particular, in some implementations, the sensor cleaning system can include a pressure transfer device that uses a first volume of a gas to pressurize the liquid used by the liquid cleaning system. Use of the gas cleaning system to pressurize the liquid cleaning system enables the use of liquids at much higher pressures than can be achieved by alternative liquid cleaning systems that rely upon, for example, a pump to provide the flow of liquid to the liquid cleaning units.

More particularly, an autonomous vehicle can be a ground-based autonomous vehicle (e.g., car, truck, bus, etc.), an air-based autonomous vehicle (e.g., airplane, drone, helicopter, or other aircraft), or other types of vehicles (e.g., watercraft). In some implementations, the autonomous vehicle can include a vehicle computing system that assists in controlling the autonomous vehicle. In particular, in some implementations, the vehicle computing system can receive sensor data from one or more sensors that are coupled to or otherwise included within the autonomous vehicle. As examples, the one or more sensors can include one or more LIDAR sensors, one or more RADAR sensors, one or more cameras (e.g., visible spectrum cameras, infrared cameras, etc.), and/or other sensors. The sensor data can include information that describes the location of objects within the surrounding environment of the autonomous vehicle.

In some implementations, the sensors can be located at various different locations on the autonomous vehicle. As an example, in some implementations, one or more cameras and/or LIDAR sensors can be located in a pod or other structure that is mounted on a roof of the autonomous vehicle while one or more RADAR sensors can be located in or behind the front and/or rear bumper(s) or body panel(s) of the autonomous vehicle. As another example, camera(s) can be located at the front or rear bumper(s) of the vehicle as well. Other locations can be used as well.

The autonomous vehicle can include a sensor cleaning system that cleans the one or more sensors of an autonomous vehicle using a fluid (e.g., a gas or a liquid). Thus, the sensor cleaning system can include a gas cleaning system that cleans the sensors using a gas (e.g., compressed air); a liquid cleaning system that cleans the sensors using a liquid (e.g., windshield washer fluid); or both the gas cleaning system and the liquid cleaning system.

In particular, in some implementations, the sensor cleaning system can include a plurality of sensor cleaning units that are configured to respectively clean a plurality of sensors of the autonomous vehicle. In some implementations, the sensor cleaning units can include gas-based cleaning units that use a gas to clean the sensors. For example, one or more of the gas cleaning units can be an air knife that uses a “knife” of air to clean the sensor. In some implementations, the sensor cleaning units can include liquid-based cleaning units that use a liquid to clean the sensors. For example, one or more of the liquid cleaning units can include a nozzle that sprays the liquid onto the sensor to clean the sensor. In some implementations, a sensor cleaning unit can be configured to clean a sensor using selectively the gas and the liquid. For example, the sensor cleaning unit can include two inflow lines respectively for the gas and the liquid and two different nozzles that respectively spray or otherwise release the gas and the liquid.

As described above, the plurality of sensors can include a number of different types of sensors and, in some instances, a given sensor might have a gas cleaning unit and/or a liquid cleaning unit associated therewith. As one example, in some implementations, each camera and/or LIDAR sensor can have both of a gas cleaning unit and a liquid cleaning unit associated therewith; while each RADAR sensor can have only a liquid cleaning unit associated therewith. Other combinations of sensors and cleaning units can be used as well.

The cleaning system can include one or more fluid source(s) that supply one or more fluid(s). As an example, for a gas cleaning system, the fluid source(s) can include a tank that stores a pressurized volume of a gas. For example, the tank can store pressurized air received from a compressor. As another example, for a liquid cleaning system, the fluid source(s) can include a liquid reservoir that stores a liquid (e.g., a windshield washer liquid reservoir). The fluid cleaning system can include a pump that pumps the liquid from the liquid reservoir to the liquid-based sensor cleaning units. As yet another example, for a liquid cleaning system, the fluid source can include a tank that stores a pressurized volume of the liquid. For example, in some implementations, the volume of liquid can be pressurized using a pressurized gas.

According to an aspect of the present disclosure, in some implementations, the sensor cleaning system can provide individualized cleaning of the autonomous vehicle sensors. For example, in some implementations, the sensor cleaning system can include a plurality of flow control devices that respectively control a flow of the fluid from the fluid source to the plurality of sensor cleaning units. One or more controllers can individually control each flow control device to allow the flow of the fluid to the corresponding sensor cleaning unit to enable the corresponding sensor cleaning unit to individually clean the corresponding sensor.

As one example, the plurality of flow control devices can include a plurality of solenoids that are individually controllable by the one or more controllers to respectively allow or disallow the flow of the fluid to the corresponding sensor cleaning unit. Thus, for example, a first set of solenoids can respectively individually control the flow of the gas to a first set of gas-based cleaning units; while a second set of solenoids can respectively individually control the flow of the liquid to a second set of liquid-based cleaning units. The one or more controllers can individually control each solenoid to control the respective flow of gas or liquid to the corresponding sensor cleaning unit, thereby enabling individualized cleaning of a sensor.

Individualized cleaning of sensors improves the efficiency of the sensor cleaning system. For example, the sensor cleaning system can clean only particular sensors that have been identified as requiring cleaning, rather than cleaning all sensors periodically regardless of contamination status. As another example, the sensor cleaning system can clean front-facing sensors more often than rear-facing sensors, since front-facing sensors typically experience increased accumulation of dirt, dust, road salt, organic matter (e.g., “bug splatter,” pollen, bird droppings, etc.), or other contaminants. Cleaning individual sensors only when required saves energy and fluid resources and reduces usage and “wear and tear” on the sensor cleaning units.

Individualized cleaning of sensors also improves the performance of the corresponding sensors. For example, individualized cleaning of sensors eliminates instances in which the all of the sensors are simultaneously cleaned, thereby eliminating instances in which the entire sensor system is temporarily “blinded.” Eliminating such instances of blinding results in better overall sensor data quality. In addition, individualized cleaning of sensors allows for the cleaning of a particular sensor as soon it is recognized that a sensor requires cleaning. Such is in contrast to periodic sensor cleaning techniques where a sensor that requires cleaning may remain contaminated until the next scheduled sensor cleaning or until the next instance in which all sensors can safely be simultaneously cleaned.

According to another aspect, in some implementations, two or more the plurality of flow control devices (e.g., solenoids) for a given cleaning system (e.g., gas or liquid) can be included in a manifold (e.g., a solenoid manifold) or other combined structure. As one example, in some implementations, all of the solenoids that serve to control the flow of gas from the tank to the gas-based sensor cleaning units associated with the cameras and/or LIDAR sensors of the autonomous vehicle can be included in a first solenoid manifold; while all of the solenoids that serve to control the flow of liquid to the liquid-based sensor cleaning units associated with the cameras and/or LIDAR sensors of the autonomous vehicle can be included in a second solenoid manifold. In some implementations, a third and/or a fourth solenoid manifold can control the flow of the gas and/or liquid to the RADAR sensors, respectively. Other divisions of manifolds and sensors can be used as well.

In some implementations, one or more of the flow control device manifolds (e.g., solenoid manifolds) can be integrated with the corresponding fluid tank. As one example, a solenoid manifold that controls the respective flow of the gas to the gas-based sensor cleaning units can be physically located within a pressurized volume of the gas stored by a gas tank. Likewise, a solenoid manifold that controls the respective flow of the liquid to the liquid-based sensor cleaning units can be physically located within a pressurized volume of the liquid stored by a liquid tank.

Inclusion of the flow control device manifold(s) within the corresponding tank(s) enables such components to be provided as a single package, thereby saving space. Inclusion of the flow control device manifold(s) within the corresponding tank(s) also decreases the respective fluid flow distances from the tank to the sensor cleaning units, thereby eliminating pressure loss due to hose length and, conversely, increasing pressure of the fluid when used by the sensor cleaning unit(s).

In addition, in some implementations, the integrated fluid tank can further include valves, a humidity sensor, a pressure sensor, and/or controls coupled thereto or otherwise integrated therewith. For example, in some implementations, the one or more controllers can be physically located on or otherwise include a control board that is integrated with a fluid tank. For example, the control board can be physically coupled to the integrated flow control device manifold.

In addition, in some implementations, the one or more controllers can determine when a particular sensor of the plurality of sensors requires cleaning. Thus, in some implementations, in addition to controlling the flow control devices, the one or more controllers can actively (e.g., periodically, continuously, or near-continuously) assess a respective contamination status of each sensor and determine, based on such contamination status, when a particular sensor requires cleaning. In response to a determination that a particular sensor requires cleaning, the one or more controllers can control a particular flow control device that corresponds to such particular sensor to allow the flow of the fluid to the corresponding sensor cleaning unit to enable the corresponding sensor cleaning unit to individually clean the particular sensor.

According to another aspect of the present disclosure, in some implementations, the sensor cleaning system can determine whether each sensor requires cleaning based at least in part on the respective sensor data collected by each sensor. In particular, each sensor can collect sensor data that describes the surrounding environment or other aspects of the autonomous vehicle. The one or more controllers (either alone or in combination with other components or systems of the autonomous vehicle) can analyze the collected sensor data to assess the respective contamination status of each sensor. Thus, a feedback control loop can use the data collected by a particular sensor to determine the contamination status of such sensor.

As one example, the plurality of sensors can include at least one camera that collects imagery and the sensor cleaning system can determine that the camera requires cleaning based at least in part on one or more characteristics of the imagery captured by the camera. As examples, the one or more controllers (either alone or in combination with other components or systems of the autonomous vehicle) can determine that the camera requires cleaning based at least in part on at least one of a sharpness and a brightness of at least a portion of a frame included in imagery captured by the camera. For example, if the sharpness, brightness, and/or other characteristic(s) fall below respective threshold value(s), then it can be determined that the camera requires cleaning. As another example, if the sharpness, brightness, and/or other characteristic(s) decline or otherwise worsen over a number of frames or over time, then it can be determined that the camera requires cleaning. As yet another example, if the sharpness, brightness, and/or other characteristic(s) of a first portion of a frame of imagery captured by the camera are significantly worse than the sharpness, brightness, and/or other characteristic(s) of a second portion of the same frame of imagery, then it can be determined that the camera requires cleaning.

In yet another example, the one or more controllers (either alone or in combination with other components or systems of the autonomous vehicle) can detect an occlusion exhibited at a same location in a plurality of frames captured by a camera. For example, a patch of dirt might have accumulated on the camera lens, thereby occluding the camera's field of view over a number of frames of imagery. In response, the one or more controllers can determine that the camera requires cleaning and control the cleaning system to enable cleaning of the camera with a gas and/or a liquid.

As another example, in some implementations, to determine that one or more sensors require cleaning, the one or more controllers (either alone or in combination with other components or systems of the autonomous vehicle) can detect a disappearance of an observed object. As an example, if the autonomous vehicle continuously observes a pedestrian over a period of sensor data collection and processing iterations, and then suddenly the pedestrian is no longer observed based on the sensor data, it can be assumed that one or more of the sensors that collected the corresponding sensor data require cleaning. For example, a splash from a mud puddle can have obscured a camera lens, thereby causing the pedestrian to disappear from the sensor data collected by the corresponding camera.

As another example, to determine that one or more sensors require cleaning, the one or more controllers (either alone or in combination with other components or systems of the autonomous vehicle) can detect an absence of an object that is expected to be observed. As an example, an autonomous vehicle can be located at a known location at which the autonomous vehicle would expect, for example based on map data, to observe a stoplight. However, if the autonomous vehicle does not observe the stoplight at the expected location, then it can be assumed that one or more of the sensors that would be expected to collect sensor data indicative of the expected object require cleaning. For example, an accumulation of dirt may cause a camera to have an obscured field of view and, therefore, fail to observe the stoplight.

Thus, in some implementations, the sensor cleaning system can cooperatively operate with various components of the autonomous vehicle (e.g., a perception system of the autonomous vehicle) to perform sensor contamination status detection based on the presence and/or absence of environmental objects observed by the autonomous vehicle in furtherance of its autonomous driving.

In some implementations, an entirety of the sensor cleaning system exclusive of wiring is physically located external to a cab of the autonomous vehicle. As one example, for a gas cleaning system, the compressor can be located on a platform underneath the vehicle while all other components, including tank and sensor cleaning units are located on a roof of the vehicle (e.g., in a pod mounted on the roof of the vehicle). As another example, the compressor and the tank can be located in the trunk of the vehicle. As another example, for a liquid cleaning system, all system components except for the liquid reservoir and/or the pump can be located on the roof of the vehicle (e.g., in the pod mounted on the roof of the vehicle). For example, the liquid reservoir and/or the pump can be located under a hood of the vehicle. In addition, in some implementations, the entirety of the sensor cleaning system inclusive of wiring is physically located external to the cab of the autonomous vehicle.

In some implementations, the sensor cleaning system can further include a controller area network. For example, the one or more controllers can transmit control signals on the controller area network to control the plurality of flow control devices. Use of a controller area network by the sensor cleaning system contrasts with the more typical use of a local interconnect network in vehicular applications. Use of a controller area network enables use a message broadcast and renders the sensor cleaning system infinitely scalable from a communications perspective.

As one example, in some implementations, at least two or more of the flow control devices can be integrated into a fluid tank, as described above. The integrated tank can include a number of connection pins that receive control signals from the controller area network. In some implementations, the control signals that control the flow control devices can include a sequence signal and a firing order signal that instruct the integrated tank how to control the corresponding flow control devices. In one example, the integrated tank can have four connection pins that respectively correspond to power, ground, sequence, and firing order.

According to another aspect of the present disclosure, the sensor cleaning system can include a liquid cleaning system that is gas-pressurized. Use of the gas cleaning system to pressurize the liquid cleaning system enables the use of liquids at much higher pressures than can be achieved by alternative liquid cleaning systems that rely upon, for example, a pump to provide the flow of liquid to the liquid cleaning units. Higher pressure liquids enable improved cleaning through better contaminant removal.

In particular, in some implementations, the sensor cleaning system can include a pressure transfer device that uses a first volume of a gas to pressurize the liquid used by the liquid cleaning system. For example, in some implementations, the pressure transfer device can include a first chamber that holds the first volume of gas; a second chamber that holds a second volume of the liquid; and a partition physically located between the first chamber and the second chamber. The second chamber can be fluidly connected to a liquid tank. The partition can be at least one of deformable and movable in response to a difference in respective pressures associated with the first and the second chambers. Thus, the partition can move, deform, or otherwise adjust to equalize the respective pressures between the first and the second chambers (e.g., eliminate the difference in respective pressures associated with the first and the second chambers).

As one example, the partition can be a piston that moves in response to the difference in the respective pressures associated with the first and the second chambers. As another example, the partition can be a membrane that deforms in response to the difference in the respective pressures associated with the first and the second chambers.

In some implementations, the pressure transfer device can further include a biasing element that biases the partition toward increasing the second volume of the liquid. For example, the second chamber can draw from the liquid reservoir (e.g., a windshield washer reservoir). As examples, the biasing element can be a mechanical spring, a resilient member, or other mechanical component configured to bias the partition toward increasing the second volume of the liquid. As another example, the biasing element can include one or more magnets (e.g., electromagnets) that bias the partition toward increasing the second volume of the liquid. As yet another example, in some implementations, the pressure transfer device does not include the biasing element but instead uses gravitational forces to bias the partition toward increasing the second volume of the liquid.

In some implementations, the pressure transfer device can further include one or more gas flow control devices that control the flow of the gas into and out of the first chamber. The one or more gas flow control devices can be controlled (e.g., by the one or more controllers) to obtain a desired pressure in the second chamber that holds the liquid. For example, the gas flow control devices can be controlled to permit inflow of the gas into the first chamber while denying outflow of the gas from the first chamber until a desired pressure is reached. The partition can apply the pressure from the gas in the first chamber to pressurize the liquid in the second chamber. When additional liquid is desired in the second chamber, the gas flow control devices can be controlled to deny inflow of the gas into the first chamber while permitting outflow of the gas from the first chamber until a lower pressure is reached in the first chamber. The partition can then move or deform to draw liquid into the second chamber, according to its bias.

In some implementations, the liquid sensor cleaning system can further include one or more liquid pressure sensors positioned to provide sensor readings of the liquid pressure in the pressurized volume of the liquid. For example, the liquid pressure sensor(s) can be positioned within the second chamber. The gas flow control devices can be controlled based on the sensor readings provided by the liquid pressure sensor(s) (e.g., as described above to achieve a desired pressure in the second chamber).

Thus, the present disclosure provides an advanced sensor cleaning system suitable for meeting the unique sensor cleaning requirements of an autonomous vehicle. In particular, sensor cleaning system can feature individualized cleaning of sensors included in an autonomous vehicle and/or feature a liquid sensor cleaning system that is gas-pressurized.

With reference now to the Figures, example embodiments of the present disclosure will be discussed in further detail.

Example Devices and Systems

FIG.1depicts a block diagram of an example autonomous vehicle10according to example embodiments of the present disclosure. The autonomous vehicle10is capable of sensing its environment and navigating with little to no human input. The autonomous vehicle10can be a ground-based autonomous vehicle (e.g., car, truck, bus, etc.), an air-based autonomous vehicle (e.g., airplane, drone, helicopter, or other aircraft), or other types of vehicles (e.g., watercraft).

The autonomous vehicle10includes one or more sensors101, a sensor cleaning system150, a vehicle computing system102, and one or more vehicle controls107. The vehicle computing system102can assist in controlling the autonomous vehicle10. In particular, the vehicle computing system102can receive sensor data from the one or more sensors101, attempt to comprehend the surrounding environment by performing various processing techniques on data collected by the sensors101, and generate an appropriate motion path through such surrounding environment. The vehicle computing system102can control the one or more vehicle controls107to operate the autonomous vehicle10according to the motion path.

The vehicle computing system102includes one or more processors112and a memory114. The one or more processors112can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory114can include one or more non-transitory computer-readable storage mediums, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory114can store data116and instructions118which are executed by the processor112to cause vehicle computing system102to perform operations.

As illustrated inFIG.1, the vehicle computing system102can include a perception system103, a prediction system104, and a motion planning system105that cooperate to perceive the surrounding environment of the autonomous vehicle10and determine a motion plan for controlling the motion of the autonomous vehicle10accordingly.

In particular, in some implementations, the perception system103can receive sensor data from the one or more sensors101that are coupled to or otherwise included within the autonomous vehicle10. As examples, the one or more sensors101can include a Light Detection and Ranging (LIDAR) system, a Radio Detection and Ranging (RADAR) system, one or more cameras (e.g., visible spectrum cameras, infrared cameras, etc.), and/or other sensors. The sensor data can include information that describes the location of objects within the surrounding environment of the autonomous vehicle10.

As one example, for a LIDAR system, the sensor data can include the location (e.g., in three-dimensional space relative to the LIDAR system) of a number of points that correspond to objects that have reflected a ranging laser. For example, a LIDAR system can measure distances by measuring the Time of Flight (TOF) that it takes a short laser pulse to travel from the sensor to an object and back, calculating the distance from the known speed of light.

As another example, for a RADAR system, the sensor data can include the location (e.g., in three-dimensional space relative to the RADAR system) of a number of points that correspond to objects that have reflected a ranging radio wave. For example, radio waves (e.g., pulsed or continuous) transmitted by the RADAR system can reflect off an object and return to a receiver of the RADAR system, giving information about the object's location and speed. Thus, a RADAR system can provide useful information about the current speed of an object.

As yet another example, for one or more cameras, various processing techniques (e.g., range imaging techniques such as, for example, structure from motion, structured light, stereo triangulation, and/or other techniques) can be performed to identify the location (e.g., in three-dimensional space relative to the one or more cameras) of a number of points that correspond to objects that are depicted in imagery captured by the one or more cameras. Other sensor systems can identify the location of points that correspond to objects as well.

As another example, the one or more sensors101can include a positioning system. The positioning system can determine a current position of the vehicle10. The positioning system can be any device or circuitry for analyzing the position of the vehicle10. For example, the positioning system can determine position by using one or more of inertial sensors, a satellite positioning system, based on IP address, by using triangulation and/or proximity to network access points or other network components (e.g., cellular towers, WiFi access points, etc.) and/or other suitable techniques. The position of the vehicle10can be used by various systems of the vehicle computing system102.

Thus, the one or more sensors101can be used to collect sensor data that includes information that describes the location (e.g., in three-dimensional space relative to the autonomous vehicle10) of points that correspond to objects within the surrounding environment of the autonomous vehicle10. In some implementations, the sensors101can be located at various different locations on the autonomous vehicle10. As an example, in some implementations, one or more cameras and/or LIDAR sensors can be located in a pod or other structure that is mounted on a roof of the autonomous vehicle10while one or more RADAR sensors can be located in or behind the front and/or rear bumper(s) or body panel(s) of the autonomous vehicle10. As another example, camera(s) can be located at the front or rear bumper(s) of the vehicle10as well. Other locations can be used as well.

In addition to the sensor data, the perception system103can retrieve or otherwise obtain map data126that provides detailed information about the surrounding environment of the autonomous vehicle10. The map data126can provide information regarding: the identity and location of different travelways (e.g., roadways), road segments, buildings, or other items or objects (e.g., lampposts, crosswalks, curbing, etc.); the location and directions of traffic lanes (e.g., the location and direction of a parking lane, a turning lane, a bicycle lane, or other lanes within a particular roadway or other travelway); traffic control data (e.g., the location and instructions of signage, traffic lights, or other traffic control devices); and/or any other map data that provides information that assists the computing system102in comprehending and perceiving its surrounding environment and its relationship thereto.

The perception system103can identify one or more objects that are proximate to the autonomous vehicle10based on sensor data received from the one or more sensors101and/or the map data126. In particular, in some implementations, the perception system103can determine, for each object, state data that describes a current state of such object. As examples, the state data for each object can describe an estimate of the object's: current location (also referred to as position); current speed (also referred to as velocity); current acceleration; current heading; current orientation; size/footprint (e.g., as represented by a bounding shape such as a bounding polygon or polyhedron); class (e.g., vehicle versus pedestrian versus bicycle versus other); yaw rate; and/or other state information.

In some implementations, the perception system103can determine state data for each object over a number of iterations. In particular, the perception system103can update the state data for each object at each iteration. Thus, the perception system103can detect and track objects (e.g., vehicles) that are proximate to the autonomous vehicle10over time.

The prediction system104can receive the state data from the perception system103and predict one or more future locations for each object based on such state data. For example, the prediction system104can predict where each object will be located within the next 5 seconds, 10 seconds, 20 seconds, etc. As one example, an object can be predicted to adhere to its current trajectory according to its current speed. As another example, other, more sophisticated prediction techniques or modeling can be used.

The motion planning system105can determine a motion plan for the autonomous vehicle10based at least in part on the predicted one or more future locations for the object and/or the state data for the object provided by the perception system103. Stated differently, given information about the current locations of objects and/or predicted future locations of proximate objects, the motion planning system105can determine a motion plan for the autonomous vehicle10that best navigates the autonomous vehicle10relative to the objects at such locations.

In particular, according to an aspect of the present disclosure, the motion planning system105can evaluate one or more cost functions and/or one or more reward functions for each of one or more candidate motion plans for the autonomous vehicle10. For example, the cost function(s) can describe a cost (e.g., over time) of adhering to a particular candidate motion plan while the reward function(s) can describe a reward for adhering to the particular candidate motion plan. For example, the reward can be of opposite sign to the cost.

Thus, given information about the current locations and/or predicted future locations of objects, the motion planning system105can determine a total cost (e.g., a sum of the cost(s) and/or reward(s) provided by the cost function(s) and/or reward function(s)) of adhering to a particular candidate pathway. The motion planning system105can select or determine a motion plan for the autonomous vehicle10based at least in part on the cost function(s) and the reward function(s). For example, the motion plan that minimizes the total cost can be selected or otherwise determined. The motion planning system105can provide the selected motion plan to a vehicle controller106that controls one or more vehicle controls107(e.g., actuators or other devices that control gas flow, steering, braking, etc.) to execute the selected motion plan.

According to an aspect of the present disclosure, the autonomous vehicle10can further include the sensor cleaning system150. In particular, in some implementations, the sensor cleaning system150can include a plurality of sensor cleaning units that are configured to respectively clean a plurality of sensors101of the autonomous vehicle10using a fluid (e.g., a gas or a liquid). Thus, the sensor cleaning system150can include a gas cleaning system that cleans the sensors101using a gas (e.g., compressed air); a liquid cleaning system that cleans the sensors101using a liquid (e.g., windshield washer fluid); or both the gas cleaning system and the liquid cleaning system.

According to one aspect of the present disclosure, in some implementations, the sensor cleaning system150can provide individualized cleaning of the sensors101of the autonomous vehicle10. For example, one or more controllers of the sensor cleaning system150can individually control the flow of a corresponding fluid to each sensor cleaning unit to enable individualized cleaning of the sensors101. In addition, in some implementations, the one or more controllers can determine whether each sensor101requires cleaning based at least in part on the respective sensor data collected by each sensor101. In some instances, the sensor cleaning system150can determine whether each sensor101requires cleaning based at least in part on data (e.g., object state data) and/or other information received from the vehicle computing system102(e.g., from the perception system103). The individualized cleaning of sensors101improves the efficiency of the cleaning system150and eliminates instances in which all of the sensors101are simultaneously cleaned, thereby eliminating instances in which the entire sensor system is temporarily “blinded.”

According to another aspect of the present disclosure, in some implementations, the sensor cleaning system150can include both a gas cleaning system and a liquid cleaning system. As an example, in some implementations, a particular sensor101can have associated therewith (e.g., physically coupled and/or adjacent thereto) a gas cleaning unit configured to use a gas to clean such sensor and/or a liquid cleaning unit configured to use a liquid to clean such sensor.

As such, according to yet another aspect of the present disclosure, in some implementations, the liquid cleaning system can be pressurized or otherwise powered by the gas cleaning system or other gas system. In particular, in some implementations, the sensor cleaning system150can include a pressure transfer device that uses a first volume of a gas to pressurize the liquid used by the liquid cleaning system. Use of the gas cleaning system to pressurize the liquid cleaning system enables the use of liquids at much higher pressures than can be achieved by alternative liquid cleaning systems that rely upon, for example, a pump to provide the flow of liquid to the liquid cleaning units.

Each of the perception system103, the prediction system104, the motion planning system105, and the vehicle controller106can include computer logic utilized to provide desired functionality. In some implementations, each of the perception system103, the prediction system104, the motion planning system105, and the vehicle controller106can be implemented in hardware, firmware, and/or software controlling a general purpose processor. For example, in some implementations, each of the perception system103, the prediction system104, the motion planning system105, and the vehicle controller106includes program files stored on a storage device, loaded into a memory and executed by one or more processors. In other implementations, each of the perception system103, the prediction system104, the motion planning system105, and the vehicle controller106includes one or more sets of computer-executable instructions that are stored in a tangible computer-readable storage medium such as RAM hard disk or optical or magnetic media.

FIG.2depicts a block diagram of an example gas-based sensor cleaning system200according to example embodiments of the present disclosure. The gas-based sensor cleaning system200can optionally be included in the sensor cleaning system150ofFIG.1.

The gas-based sensor cleaning system200ofFIG.2includes a compressor204. The compressor204can compress a gas202. For example, the gas202can be ambient air external to the autonomous vehicle. In some implementations, the compressor204can be mounted on a platform that is underneath the autonomous vehicle carriage. For example, the platform can be physically coupled to the autonomous vehicle chassis.

Pressurized gas from the compressor204can pass through a valve206(e.g., a one-way check valve) and can be stored in a gas tank208. For example, the gas tank208can be a gas accumulator. In some implementations, the pressurized gas can also optionally be routed to assist in gas-pressurizing a liquid cleaning system, as shown at210.

The gas-based sensor cleaning system200can also include a plurality of sensor cleaning units, as shown at222,224, and226. Although three sensor cleaning units222-226are shown, any number of units can be included in the system200. Each sensor cleaning unit222-226can use the pressurized gas to clean a respective sensor, as shown at232,234, and236. For example, each sensor cleaning unit222-226can blow or otherwise release the gas onto the sensor (e.g., a lens, cover, housing, or other portion of the sensor) to remove contaminants or other debris from the sensor (e.g., from the lens, cover, housing, or other portion of the sensor).

In some implementations, one or more of the sensor cleaning units222-226can be an air knife that uses a “knife” of air to clean the corresponding sensor236. For example, each air knife can include a narrow slit though which the pressurized gas is forced. In one example, the pressurized gas can travel through the narrow slit at a pressure of 80 PSI. In some implementations, each air knife can be integral to the corresponding sensor. In some implementations, each air knife can be positioned such that the pressurized gas is released perpendicular to the corresponding sensor and then sweeps over a face of the sensor due to fluid dynamics.

The gas-based sensor cleaning system200can also include a plurality of flow control devices, as shown at212,214, and216. The flow control devices212-216can respectively control a flow of the pressured gas from the compressor204and/or the gas tank208to the plurality of sensor cleaning units222-226.

The sensor cleaning system200can further include one or more controllers250. The one or more controllers250can individually control each flow control device212-216to allow the flow of the pressurized gas to the corresponding sensor cleaning unit222-226to enable the corresponding sensor cleaning unit222-226to individually clean the corresponding sensor232-236. In some implementations, the one or more controllers250can also control the compressor204.

The one or more controllers250can include one or more control devices, units, or components that interface with or otherwise control the one or more flow control devices212-216. As examples, a controller250can include one or more chips (e.g., ASICs or FPGAs), expansion cards, and/or electronic circuitry (e.g., amplifiers, transistors, capacitors, etc.) that are organized or other configured to control one or more flow control devices (e.g., by way of control signals). In some implementations, a controller250can include a processor that loads and executes instructions stored in a computer-readable media to perform operations.

In some implementations, the one or more controllers250include a single controller. In some implementations, the one or more controllers250include a plurality of controllers that respectively control the plurality of flow control devices212-216. In some implementations, the one or more controllers250can be physically located on a control board. For example, the control board can be physically coupled to a flow control device manifold, as described below.

In some implementations, the plurality of flow control devices212-216can include a plurality of solenoids that are individually controllable by the one or more controllers250to respectively allow or disallow the flow of the pressurized gas to the corresponding sensor cleaning unit222-226. That is, the one or more controllers250can individually control each solenoid to control the respective flow of gas to the corresponding sensor cleaning unit222-226, thereby enabling individualized cleaning of each sensor232-236.

Individualized cleaning of sensors improves the efficiency of the sensor cleaning system200. For example, the sensor cleaning system200can clean only particular sensors232-236that have been identified as requiring cleaning, rather than cleaning all sensors232-236periodically regardless of contamination status. As another example, the sensor cleaning system200can clean front-facing sensors more often than rear-facing sensors, since front-facing sensors typically experience increased accumulation of dirt, dust, road salt, organic matter (e.g., “bug splatter,” pollen, bird droppings, etc.), or other contaminants. Cleaning individual sensors only when required saves energy and gas resources and reduces usage and “wear and tear” on the sensor cleaning units222-226. For example, the net amount of pressurized gas used by the system200can be decreased.

Individualized cleaning of sensors also improves the performance of the corresponding sensors232-236. For example, individualized cleaning of sensors eliminates instances in which the all of the sensors232-236are simultaneously cleaned, thereby eliminating instances in which the entire sensor system is temporarily “blinded.” Eliminating such instances of blinding results in better overall sensor data quality. In addition, individualized cleaning of sensors allows for the cleaning of a particular sensor232-236as soon it is recognized that a sensor232-236requires cleaning. Such is in contrast to periodic sensor cleaning techniques where a sensor that requires cleaning may remain contaminated until the next scheduled sensor cleaning or until the next instance in which all sensors can safely be simultaneously cleaned.

According to another aspect, in some implementations, two or more the plurality of flow control devices212-216(e.g., solenoids) can be included in a manifold (e.g., a solenoid manifold) or other combined structure. In some implementations, one or more of the flow control device manifolds (e.g., solenoid manifolds) can be integrated with the gas tank208. As an example, a solenoid manifold that controls the respective flow of the pressurized gas to the sensor cleaning units222-226can be physically located within a pressurized volume of the gas stored by a gas tank208. In some implementations, the one or more controllers250can also be integrated with the gas tank208. For example, the one or more controllers250can be physically located on a control board that is physically coupled to the flow control device manifold.

Inclusion of the flow control device manifold within the gas tank208enables such components to be provided as a single package, thereby saving space. Inclusion of the flow control device manifold within the gas tank208also decreases the respective gas flow distances from the tank208to the sensor cleaning units222-226, thereby eliminating pressure loss due to hose length and, conversely, increasing pressure of the gas when used by the sensor cleaning units222-226.

In addition, in some implementations, the integrated gas tank can further include valves, a humidity sensor, a pressure sensor, and/or controls coupled thereto or otherwise integrated therewith.

In addition, in some implementations, the one or more controllers250can determine when a particular sensor of the plurality of sensors232-236requires cleaning. Thus, in some implementations, in addition to controlling the flow control devices212-216, the one or more controllers250can actively (e.g., periodically, continuously, or near-continuously) assess a respective contamination status of each sensor232-236and determine, based on such contamination status, when a particular sensor232-236requires cleaning. In response to a determination that a particular sensor232-236requires cleaning, the one or more controllers250can control a particular flow control device212-216that corresponds to such particular sensor232-236to allow the flow of the pressurized gas to the corresponding sensor cleaning unit222-226to enable the corresponding sensor cleaning unit222-226to individually clean the particular sensor232-236.

According to another aspect of the present disclosure, in some implementations, the sensor cleaning system200can determine whether each sensor232-236requires cleaning based at least in part on the respective sensor data collected by each sensor232-236. In particular, each sensor can collect sensor data that describes the surrounding environment or other aspects of the autonomous vehicle. The one or more controllers250(either alone or in combination with other components or systems of the autonomous vehicle) can analyze the collected sensor data to assess the respective contamination status of each sensor232-236. Thus, a feedback control loop can use the data collected by the sensor232-236to determine the cleaning requirement status of the sensor232-236.

In some implementations, the sensor cleaning system200can cooperatively operate with various components of the autonomous vehicle (e.g., a perception system of the autonomous vehicle) to perform sensor contamination status detection based on the presence and/or absence of environmental objects observed by the autonomous vehicle in furtherance of its autonomous driving.

In some implementations, an entirety of the sensor cleaning system200exclusive of wiring is physically located external to a cab of the autonomous vehicle. As one example, the compressor204can be located on a platform underneath the vehicle while all other components, including the tank208, flow control devices212-216, and sensor cleaning units222-226are located on a roof of the vehicle (e.g., in a pod mounted on the roof of the vehicle). As another example, the compressor204and/or the tank208can be located in the trunk of the vehicle. In addition, in some implementations, the entirety of the sensor cleaning system200inclusive of wiring is physically located external to the cab of the autonomous vehicle.

In some implementations, the sensor cleaning system200can further include a controller area network. For example, the one or more controllers250can transmit control signals on the controller area network to control the plurality of flow control devices212-216. Use of a controller area network by the sensor cleaning system200contrasts with the more typical use of a local interconnect network in vehicular applications. Use of a controller area network enables use a message broadcast and renders the sensor cleaning system200infinitely scalable from a communications perspective.

As one example, in some implementations, at least two or more of the flow control devices212-216can be integrated into the gas tank208, as described above. The integrated tank can include a number of connection pins that receive control signals from the controller area network. In some implementations, the control signals that control the flow control devices212-216can include a sequence signal and a firing order signal that instruct the integrated tank how to control the corresponding flow control devices212-216. In one example, the integrated tank can have four connection pins that respectively correspond to power, ground, sequence, and firing order.

FIG.3depicts a block diagram of an example liquid-based sensor cleaning system300according to example embodiments of the present disclosure. The liquid-based sensor cleaning system300can optionally be included in the sensor cleaning system150ofFIG.1.

The liquid-based sensor cleaning system300ofFIG.3includes a liquid pump304. The liquid pump304can pump a liquid from a liquid reservoir302. For example, the liquid reservoir302can be a windshield washer reservoir of the autonomous vehicle. Liquid pumped by the pump304can pass through a valve306(e.g., a one-way check valve) to reach one or more flow control devices312,314, and316.

The liquid-based sensor cleaning system300can also include a plurality of sensor cleaning units, as shown at322,324, and326. Although three sensor cleaning units322-326are shown, any number of units can be included in the system300. Each sensor cleaning unit322-326can use the liquid to clean a respective sensor, as shown at332,334, and336. For example, each sensor cleaning unit322-326can spray or otherwise release the liquid onto the sensor (e.g., a lens, cover, housing, or other portion of the sensor) to remove contaminants or other debris from the sensor (e.g., from the lens, cover, housing, or other portion of the sensor). In some implementations, one or more of the sensor cleaning units322-326can include a nozzle that sprays the liquid onto the sensor332-336to clean the sensor332-336. In some implementations, each sensor cleaning unit322-326can be integral to the corresponding sensor332-336.

The liquid-based sensor cleaning system300can also include the plurality of flow control devices, as shown at312,314, and316. The flow control devices312-316can respectively control a flow of the liquid from the liquid pump304to the plurality of sensor cleaning units322-326.

The sensor cleaning system300can further include one or more controllers350. The one or more controllers350can individually control each flow control device312-316to allow the flow of the liquid to the corresponding sensor cleaning unit322-326to enable the corresponding sensor cleaning unit322-326to individually clean the corresponding sensor332-336. In some implementations, the one or more controllers350can also control the liquid pump304.

The one or more controllers350can include one or more control devices, units, or components that interface with or otherwise control the one or more flow control devices312-316. As examples, a controller350can include one or more chips (e.g., ASIC or FPGA), expansion cards, and/or electronic circuitry (e.g., amplifiers, transistors, capacitors, etc.) that are organized or other configured to control one or more flow control devices (e.g., by way of control signals). In some implementations, a controller350can include a processor that loads and executes instructions stored in a computer-readable media to perform operations.

In some implementations, the one or more controllers350include a single controller. In some implementations, the one or more controllers350include a plurality of controllers that respectively control the plurality of flow control devices312-316. In some implementations, the one or more controllers350can be physically located on a control board. For example, the control board can be physically coupled to a flow control device manifold, as described below.

In some implementations, the plurality of flow control devices312-316can include a plurality of solenoids that are individually controllable by the one or more controllers350to respectively allow or disallow the flow of the pressurized liquid to the corresponding sensor cleaning unit322-326. That is, the one or more controllers350can individually control each solenoid to control the respective flow of liquid to the corresponding sensor cleaning unit322-326, thereby enabling individualized cleaning of each sensor332-336.

Individualized cleaning of sensors improves the efficiency of the sensor cleaning system300. For example, the sensor cleaning system300can clean only particular sensors332-336that have been identified as requiring cleaning, rather than cleaning all sensors332-336periodically regardless of contamination status. As another example, the sensor cleaning system300can clean front-facing sensors more often than rear-facing sensors, since front-facing sensors typically experience increased accumulation of dirt, dust, road salt, organic matter (e.g., “bug splatter,” pollen, bird droppings, etc.), or other contaminants. Cleaning individual sensors only when required saves energy and liquid resources and reduces usage and “wear and tear” on the sensor cleaning units322-326. For example, the net amount of liquid used by the system300can be decreased.

Individualized cleaning of sensors also improves the performance of the corresponding sensors332-336. For example, individualized cleaning of sensors eliminates instances in which the all of the sensors332-336are simultaneously cleaned, thereby eliminating instances in which the entire sensor system is temporarily “blinded.” Eliminating such instances of blinding results in better overall sensor data quality. In addition, individualized cleaning of sensors allows for the cleaning of a particular sensor332-336as soon it is recognized that a sensor332-336requires cleaning. Such is in contrast to periodic sensor cleaning techniques where a sensor that requires cleaning may remain contaminated until the next scheduled sensor cleaning or until the next instance in which all sensors can safely be simultaneously cleaned.

According to another aspect, in some implementations, two or more the plurality of flow control devices312-316(e.g., solenoids) can be included in a manifold (e.g., a solenoid manifold) or other combined structure.

In addition, in some implementations, the one or more controllers350can determine when a particular sensor of the plurality of sensors332-336requires cleaning. Thus, in some implementations, in addition to controlling the flow control devices312-316, the one or more controllers350can actively (e.g., periodically, continuously, or near-continuously) assess a respective contamination status of each sensor332-336and determine, based on such contamination status, when a particular sensor332-336requires cleaning. In response to a determination that a particular sensor332-336requires cleaning, the one or more controllers350can control a particular flow control device312-316that corresponds to such particular sensor332-336to allow the flow of the liquid to the corresponding sensor cleaning unit322-326to enable the corresponding sensor cleaning unit322-326to individually clean the particular sensor332-336.

According to another aspect of the present disclosure, in some implementations, the sensor cleaning system300can determine whether each sensor332-336requires cleaning based at least in part on the respective sensor data collected by each sensor332-336. In particular, each sensor can collect sensor data that describes the surrounding environment or other aspects of the autonomous vehicle. The one or more controllers350(either alone or in combination with other components or systems of the autonomous vehicle) can analyze the collected sensor data to assess the respective contamination status of each sensor332-336. Thus, a feedback control loop can use the data collected by the sensor332-336to determine the cleaning requirement status of the sensor332-336.

In some implementations, the sensor cleaning system300can cooperatively operate with various components of the autonomous vehicle (e.g., a perception system of the autonomous vehicle) to perform sensor contamination status detection based on the presence and/or absence of environmental objects observed by the autonomous vehicle in furtherance of its autonomous driving.

In some implementations, an entirety of the sensor cleaning system300exclusive of wiring is physically located external to a cab of the autonomous vehicle. As one example, all system components except for the liquid reservoir302and/or the pump304can be located on the roof of the vehicle (e.g., in the pod mounted on the roof of the vehicle). For example, the liquid reservoir302and/or the pump304can be located under a hood of the vehicle. In addition, in some implementations, the entirety of the sensor cleaning system300inclusive of wiring is physically located external to the cab of the autonomous vehicle.

In some implementations, the sensor cleaning system300can further include a controller area network. For example, the one or more controllers350can transmit control signals on the controller area network to control the plurality of flow control devices312-316. Use of a controller area network by the sensor cleaning system300contrasts with the more typical use of a local interconnect network in vehicular applications. Use of a controller area network enables use a message broadcast and renders the sensor cleaning system300infinitely scalable from a communications perspective.

FIG.4depicts a block diagram of an example liquid-based sensor cleaning system400according to example embodiments of the present disclosure. The liquid-based sensor cleaning system400can optionally be included in the sensor cleaning system150ofFIG.1.

In particular, system400is similar to system300ofFIG.4, except that liquid cleaning system400is gas-pressurized. Use of a gas to pressurize the liquid cleaning system400enables the use of liquids at much higher pressures than can be achieved by alternative liquid cleaning systems that rely upon, for example, a pump to provide the flow of liquid to the liquid cleaning units. Higher pressure liquids enable improved cleaning through better contaminant removal.

The liquid-based sensor cleaning system400ofFIG.4includes a pressure transfer device404. The pressure transfer device404can receive liquid from a liquid reservoir402. For example, the liquid reservoir402can be a windshield washer reservoir of the autonomous vehicle.

In some implementations, the pressure transfer device404can pull liquid from the liquid reservoir402. For example, the pressure transfer device404can include an internal mechanism that operates to draw water from the liquid reservoir402to the pressure transfer device. In one example, such internal mechanism includes a biasing element (e.g., a mechanical spring) that biases a partition included in the pressure transfer device404toward increasing a volume of a liquid chamber in the device404, thereby pulling liquid from the reservoir402to the device404. In other implementations, the system400can include a pump (not illustrated) that actively pumps or pushes the liquid from the liquid reservoir402to the pressure transfer device404. The pump can be controlled (e.g., by the one or more controllers450) based on knowledge of an amount of liquid included in the pressure transfer device404and/or the liquid tank408. For example, various sensors or other components can be used to monitor the amount of liquid included in the pressure transfer device404and/or the liquid tank408. When additional liquid is desired, the pump is operated to pump liquid from the reservoir402to the pressure transfer device404. In one example, the pump can be controlled based on a position of the partition included in the pressure transfer device404, as will be discussed in further detail with reference toFIG.5.

Referring still toFIG.4, the pressure transfer device404can use pressurized gas406to pressurize the liquid received from the liquid reservoir402. Liquid pressurized by the pressure transfer device can be stored in a liquid tank408. For example, the liquid tank408can be a liquid accumulator. In some implementations, the liquid tank408and the pressure transfer device404can be integrated together into a single component. The pressurized liquid provided by the pressure transfer device404and/or stored in the tank408can be respectively provided to a plurality of flow control devices412,414, and416.

The liquid-based sensor cleaning system400can also include a plurality of sensor cleaning units, as shown at422,424, and426. Although three sensor cleaning units422-426are shown, any number of units can be included in the system400. Each sensor cleaning unit422-426can use the pressurized liquid to clean a respective sensor, as shown at432,434, and436. For example, each sensor cleaning unit422-426can spray or otherwise release the pressurized liquid onto the sensor (e.g., a lens, cover, housing, or other portion of the sensor) to remove contaminants or other debris from the sensor (e.g., from the lens, cover, housing, or other portion of the sensor). In some implementations, one or more of the sensor cleaning units422-426can include a nozzle that sprays the pressurized liquid onto the sensor432-436to clean the sensor432-436. In some implementations, each sensor cleaning unit422-426can be integral to the corresponding sensor432-436.

The liquid-based sensor cleaning system400can also include the plurality of flow control devices, as shown at412,414, and416. The flow control devices412-416can respectively control a flow of the pressurized liquid from the pressure transfer device404and/or the liquid tank408to the plurality of sensor cleaning units422-426.

The sensor cleaning system400can further include one or more controllers450. The one or more controllers450can individually control each flow control device412-416to allow the flow of the pressurized liquid to the corresponding sensor cleaning unit422-426to enable the corresponding sensor cleaning unit422-426to individually clean the corresponding sensor432-436.

The one or more controllers450can include one or more control devices, units, or components that interface with or otherwise control the one or more flow control devices412-416. As examples, a controller450can include one or more chips (e.g., ASIC or FPGA), expansion cards, and/or electronic circuitry (e.g., amplifiers, transistors, capacitors, etc.) that are organized or other configured to control one or more flow control devices (e.g., by way of control signals). In some implementations, a controller450can include a processor that loads and executes instructions stored in a computer-readable media to perform operations.

In some implementations, the one or more controllers450include a single controller. In some implementations, the one or more controllers450include a plurality of controllers that respectively control the plurality of flow control devices412-416. In some implementations, the one or more controllers450can be physically located on a control board. For example, the control board can be physically coupled to a flow control device manifold, as described below.

In some implementations, the plurality of flow control devices412-416can include a plurality of solenoids that are individually controllable by the one or more controllers450to respectively allow or disallow the flow of the pressurized liquid to the corresponding sensor cleaning unit422-426. That is, the one or more controllers450can individually control each solenoid to control the respective flow of liquid to the corresponding sensor cleaning unit422-426, thereby enabling individualized cleaning of each sensor432-436.

Individualized cleaning of sensors improves the efficiency of the sensor cleaning system400. For example, the sensor cleaning system400can clean only particular sensors432-436that have been identified as requiring cleaning, rather than cleaning all sensors432-436periodically regardless of contamination status. As another example, the sensor cleaning system400can clean front-facing sensors more often than rear-facing sensors, since front-facing sensors typically experience increased accumulation of dirt, dust, road salt, organic matter (e.g., “bug splatter,” pollen, bird droppings, etc.), or other contaminants. Cleaning individual sensors only when required saves energy and liquid resources and reduces usage and “wear and tear” on the sensor cleaning units422-426. For example, the net amount of liquid used by the system400can be decreased.

Individualized cleaning of sensors also improves the performance of the corresponding sensors432-436. For example, individualized cleaning of sensors eliminates instances in which the all of the sensors432-436are simultaneously cleaned, thereby eliminating instances in which the entire sensor system is temporarily “blinded.” Eliminating such instances of blinding results in better overall sensor data quality. In addition, individualized cleaning of sensors allows for the cleaning of a particular sensor432-436as soon it is recognized that a sensor432-436requires cleaning. Such is in contrast to periodic sensor cleaning techniques where a sensor that requires cleaning may remain contaminated until the next scheduled sensor cleaning or until the next instance in which all sensors can safely be simultaneously cleaned.

According to another aspect, in some implementations, two or more the plurality of flow control devices412-416(e.g., solenoids) can be included in a manifold (e.g., a solenoid manifold) or other combined structure.

In some implementations, one or more of the flow control device manifolds (e.g., solenoid manifolds) can be integrated with the liquid tank408. As an example, a solenoid manifold that controls the respective flow of the pressurized liquid to the sensor cleaning units422-426can be physically located within a pressurized volume of the liquid stored by a liquid tank408. In some implementations, the one or more controllers450can also be integrated with the liquid tank408.

Inclusion of the flow control device manifold within the liquid tank408enables such components to be provided as a single package, thereby saving space. Inclusion of the flow control device manifold within the liquid tank408also decreases the respective liquid flow distances from the tank408to the sensor cleaning units422-426, thereby eliminating pressure loss due to hose length and, conversely, increasing pressure of the liquid when used by the sensor cleaning units422-426.

In addition, in some implementations, the integrated liquid tank can further include valves, a pressure sensor, and/or controls coupled thereto or otherwise integrated therewith.

In addition, in some implementations, the one or more controllers450can determine when a particular sensor of the plurality of sensors432-436requires cleaning. Thus, in some implementations, in addition to controlling the flow control devices412-416, the one or more controllers450can actively (e.g., periodically, continuously, or near-continuously) assess a respective contamination status of each sensor432-436and determine, based on such contamination status, when a particular sensor432-436requires cleaning. In response to a determination that a particular sensor432-436requires cleaning, the one or more controllers450can control a particular flow control device412-416that corresponds to such particular sensor432-436to allow the flow of the liquid to the corresponding sensor cleaning unit422-426to enable the corresponding sensor cleaning unit422-426to individually clean the particular sensor432-436.

According to another aspect of the present disclosure, in some implementations, the sensor cleaning system400can determine whether each sensor432-436requires cleaning based at least in part on the respective sensor data collected by each sensor432-436. In particular, each sensor can collect sensor data that describes the surrounding environment or other aspects of the autonomous vehicle. The one or more controllers450(either alone or in combination with other components or systems of the autonomous vehicle) can analyze the collected sensor data to assess the respective contamination status of each sensor432-436. Thus, a feedback control loop can use the data collected by the sensor432-436to determine the cleaning requirement status of the sensor432-436.

In some implementations, the sensor cleaning system400can cooperatively operate with various components of the autonomous vehicle (e.g., a perception system of the autonomous vehicle) to perform sensor contamination status detection based on the presence and/or absence of environmental objects observed by the autonomous vehicle in furtherance of its autonomous driving.

In some implementations, an entirety of the sensor cleaning system400exclusive of wiring is physically located external to a cab of the autonomous vehicle. As one example, all system components except for the liquid reservoir402can be located on the roof of the vehicle (e.g., in the pod mounted on the roof of the vehicle). For example, the liquid reservoir402can be located under a hood of the vehicle. In addition, in some implementations, the entirety of the sensor cleaning system400inclusive of wiring is physically located external to the cab of the autonomous vehicle.

In some implementations, the sensor cleaning system400can further include a controller area network. For example, the one or more controllers450can transmit control signals on the controller area network to control the plurality of flow control devices412-416. Use of a controller area network by the sensor cleaning system400contrasts with the more typical use of a local interconnect network in vehicular applications. Use of a controller area network enables use a message broadcast and renders the sensor cleaning system400infinitely scalable from a communications perspective.

As one example, in some implementations, at least two or more of the flow control devices412-416can be integrated into the liquid tank408, as described above. The integrated tank can include a number of connection pins that receive control signals from the controller area network. In some implementations, the control signals that control the flow control devices412-416can include a sequence signal and a firing order signal that instruct the integrated tank how to control the corresponding flow control devices412-416. In one example, the integrated tank can have four connection pins that respectively correspond to power, ground, sequence, and firing order.

FIG.5depicts a schematic diagram of an example pressure transfer device500according to example embodiments of the present disclosure. The pressure transfer device500can optionally be included in the liquid-based sensor cleaning system400ofFIG.4and/or some other gas-pressured liquid cleaning system. The pressure transfer device500can use a source of pressurized gas514to provide a pressurized liquid512.

In some implementations, the pressure transfer device500can include a first chamber502that holds the first volume of gas; a second chamber504that holds a second volume of the liquid; and a partition506physically located between the first chamber502and the second chamber504. The second chamber504can be fluidly connected to a liquid tank or other components to provide the pressurized liquid512. The partition506can be at least one of deformable and movable in response to a difference in respective pressures associated with the first chamber502and the second chamber504. Thus, the partition506can move, deform, or otherwise adjust to equalize the respective pressures between the first chamber502and the second chamber504(e.g., eliminate or otherwise reduce the difference in respective pressures associated with the first and the second chambers502and504).

As one example, the partition506can be a piston that moves in response to the difference in the respective pressures associated with the first and the second chambers502and504. As another example, the partition506can be a membrane that deforms in response to the difference in the respective pressures associated with the first and the second chambers502and504.

In some implementations, the pressure transfer device500can further include a biasing element that biases the partition506toward increasing the second volume of the liquid. For example, the second chamber504can draw from a liquid reservoir508(e.g., a windshield washer reservoir). As examples, the biasing element can be a mechanical spring (e.g., as shown at510), a resilient member, or other mechanical component configured to bias the partition506toward increasing the second volume of the liquid in the second chamber504. The mechanical spring510can be included in the second chamber504to push the partition506toward the first chamber, as shown, or can be included in the first chamber502to pull the partition506toward the first chamber (not shown). As another example, the biasing element can include one or more magnets that bias the partition506toward increasing the second volume of the liquid. As yet another example, in some implementations, the pressure transfer device500does not include the biasing element but instead uses gravitational forces to bias the partition506toward increasing the second volume of the liquid. As yet another example, in some implementations, the system can include a pump (not illustrated) that, when operated, pumps liquid from the liquid reservoir508to the second chamber504. For example, the pump can be controlled by one or more controllers550,

In some implementations, the pressure transfer device500can further include gas flow control devices520and522that respectively control the flow of the pressurized gas514into and out of the first chamber502. For example, the gas flow control devices520and522can be solenoids. The gas flow control devices520and522can be controlled by the one or more controllers550to obtain a desired pressure in the second chamber504that holds the liquid. For example, the gas flow control devices520and522can be controlled to permit inflow of the pressurized gas514into the first chamber502while denying outflow of the gas from the first chamber502until a desired pressure is reached in the first chamber502and/or the second chamber504. The partition506can apply the pressure from the gas in the first chamber502to pressurize the liquid in the second chamber504.

In some implementations, the position of the partition506can be detected and used to control aspects of the operation of the pressure transfer device500. For example, the position of the partition506can be detected using various sensors. As one example, in some implementations, the partition506can include a magnetic portion (e.g., a magnetic ring attached to the partition506). The magnetic portion of the partition506can be sensed by one or more magnetic sensors/switches (not illustrated) that are positioned along a portion of the pressure transfer device500(e.g., along an exterior of the portion of the device500). The magnetic sensors/switches can sense the position of the partition506due to the magnetic portion. The position of the partition506can be used to infer the amount of liquid currently held in the second chamber504. When additional liquid is desired in the second chamber504, the gas flow control devices520and522can be controlled to respectively deny inflow of the gas into the first chamber502while permitting outflow of the gas from the first chamber502until a lower pressure is reached in the first chamber502. In some implementations, the partition506can then move or deform (e.g., due to action of the biasing element) to draw liquid from the liquid reservoir508into the second chamber504, according to the bias of the partition506. In other implementations, a pump can be operated to pump liquid from the liquid reservoir508into the second chamber504.

Thus, in implementations which include the pump, when the position of the partition506indicates that the volume of liquid contained in the second chamber504is substantially reduced, the first chamber502can be de-pressurized and the pump can be operated to pump liquid from the liquid reservoir508into the second chamber504. As another example, in implementations that include a biasing element, when the position of the partition506indicates that the volume of liquid contained in the second chamber504is substantially reduced, the first chamber502can be de-pressurized to allow the biasing element to cause the partition506to draw liquid from the reservoir508into the second chamber504.

After entry of additional liquid into chamber504, the gas flow control devices520and522can again be controlled to enable pressurization of the liquid via entry of gas into the first chamber502.

In some implementations, the pressure transfer device500can include an auto relief valve516that operates to allow gas that has leaked into the second chamber504to exit the device500. In one example, the auto relief valve516can be a hydroscopic valve. In another example, the auto relief valve516can include a float the permits the passage of gas but floats on liquid to seal against passage of liquid.

In some implementations, the pressure transfer device500can further include one or more liquid pressure sensors518positioned to provide sensor readings of the liquid pressure in the pressurized volume of the liquid. For example, as illustrated inFIG.5, the liquid pressure sensor(s)518can be positioned within the second chamber504. In addition or alternatively to the position of the partition506, the gas flow control devices520and522can be controlled based on the sensor readings provided by the liquid pressure sensor(s)518. For example, the gas flow control devices520and522can be controlled to adjust the pressure in the first chamber502until a desired pressure in the second chamber504is achieved.

The one or more controllers550can include one or more control devices, units, or components that interface with or otherwise control the one or more flow control devices520and522. As examples, a controller550can include one or more chips (e.g., ASIC or FPGA), expansion cards, and/or electronic circuitry (e.g., amplifiers, transistors, capacitors, etc.) that are organized or other configured to control one or more flow control devices (e.g., by way of control signals). In some implementations, a controller550can include a processor that loads and executes instructions stored in a computer-readable media to perform operations.

Example Methods

FIG.6depicts a flow chart diagram of an example method600to perform individualized sensor cleaning according to example embodiments of the present disclosure. AlthoughFIG.6depicts steps performed in a particular order for purposes of illustration and discussion, the methods of the present disclosure are not limited to the particularly illustrated order or arrangement. The various steps of method600can be omitted, rearranged, combined, and/or adapted in various ways without deviating from the scope of the present disclosure.

At602, a computing system obtains a plurality of sets of sensor data respectively generated by a plurality of sensors of an autonomous vehicle. A plurality of sensor cleaning units are configured to respectively clean the plurality of sensors. For example, the plurality of sensors can include one or more cameras, Light Detection and Ranging (LIDAR) system sensors, Radio Detection and Ranging (RADAR) system sensors, and/or other sensors. Thus, each sensor can have one or more corresponding sensor cleaning units that are configured to clean such sensor using a fluid (e.g., a gas or a liquid).

At604, the computing system performs an analysis of each set of sensor data to determine whether the corresponding sensor requires cleaning. At606, the computing system identifies an individual one of the plurality of sensors that requires cleaning based at least in part on the analysis of the corresponding set of sensor data.

As one example, the plurality of sensors can include a camera that collects imagery and the computing system can determine that the camera requires cleaning based at least in part on one or more characteristics of the imagery captured by the camera. As examples, the computing system can determine that the camera requires cleaning based at least in part on at least one of a sharpness and a brightness of at least a portion of a frame included in imagery captured by the camera. For example, if the sharpness, brightness, and/or other characteristic(s) fall below respective threshold value(s), then it can be determined that the camera requires cleaning. As another example, if the sharpness, brightness, and/or other characteristic(s) decline or otherwise worsen over a number of frames or over time, then it can be determined that the camera requires cleaning. As yet another example, if the sharpness, brightness, and/or other characteristic(s) of a first portion of a frame of imagery captured by the camera are significantly worse than the sharpness, brightness, and/or other characteristic(s) of a second portion of the same frame of imagery, then it can be determined that the camera requires cleaning.

In yet another example, the computing system can detect an occlusion exhibited at a same location in a plurality of frames captured by a camera. For example, a patch of dirt might have accumulated on the camera lens, thereby occluding the camera's field of view over a number of frames of imagery. In response, the computing system can determine that the camera requires cleaning and control the cleaning system to enable cleaning of the camera with a gas and/or a liquid.

As another example, in some implementations, to determine that one or more sensors require cleaning, the computing system can detect a disappearance of an observed object. As an example, if the autonomous vehicle continuously observes a pedestrian over a period of sensor data collection and processing iterations, and then suddenly the pedestrian is no longer observed based on the sensor data, it can be assumed that one or more of the sensors that collected the corresponding sensor data require cleaning. For example, a splash from a mud puddle can have obscured a camera lens, thereby causing the pedestrian to disappear from the sensor data collected by the corresponding camera.

As another example, to determine that one or more sensors require cleaning, the computing system can detect an absence of an object that is expected to be observed. As an example, an autonomous vehicle can be located at a known location at which the autonomous vehicle would expect, for example based on map data, to observe a stoplight. However, if the autonomous vehicle does not observe the stoplight at the expected location, then it can be assumed that one or more of the sensors that would be expected to collect sensor data indicative of the expected object require cleaning. For example, an accumulation of dirt may cause a camera to have an obscured field of view and, therefore, fail to observe the stoplight.

In some implementations, the computing system implementing method600can include one or more controllers of a sensor cleaning system and one or more various components of the autonomous vehicle (e.g., a perception system of the autonomous vehicle) that cooperatively operate to perform sensor contamination status detection based on the presence and/or absence of environmental objects observed by the autonomous vehicle in furtherance of its autonomous driving.

At608, the computing system controls a flow of a fluid to an individual one of the plurality of sensor cleaning units to enable such sensor cleaning unit to clean the identified individual sensor.

ADDITIONAL DISCLOSURE

The technology discussed herein makes reference to servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein can be implemented using a single device or component or multiple devices or components working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.

While the present subject matter has been described in detail with respect to various specific example embodiments thereof, each example is provided by way of explanation, not limitation of the disclosure. Those skilled in the art, upon attaining an understanding of the foregoing, can readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, the subject disclosure does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure cover such alterations, variations, and equivalents.