Combined air and liquid sensor cleaning system

The sensor window cleaning system for autonomous vehicles uses air and liquid nozzles controlled by a controller to address environmental degradation, ensuring sensors maintain optimal performance by removing obstructions.

WO2026142771A1PCT designated stage Publication Date: 2026-07-02AURORA OPERATIONS INC

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
AURORA OPERATIONS INC
Filing Date
2025-10-10
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Sensors on vehicles, particularly autonomous vehicles, are exposed to environmental conditions such as snow, rain, dust, and mud, which degrade their performance and require effective cleaning mechanisms to ensure optimal operation.

Method used

A sensor window cleaning system for autonomous vehicles that includes a set of air nozzles and liquid nozzles, controlled by a controller that determines the quality of sensor signals and initiates air or liquid cleaning based on predefined thresholds to maintain sensor performance.

Benefits of technology

The system effectively cleans sensor windows by using air and liquid to remove obstructions, ensuring sensors operate nominally despite environmental hazards, thereby enhancing vehicle autonomy and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025050612_02072026_PF_FP_ABST
    Figure US2025050612_02072026_PF_FP_ABST
Patent Text Reader

Abstract

A sensor cleaning system for an autonomous vehicle includes a sensor configured to generate a sensor signal. The system includes a set of air nozzles, for directing air toward the sensor window and a set of liquid nozzles for directing liquid toward the sensor window. A controller communicatively coupled to the sensor, the set of air nozzles and the set of liquid nozzles for selectively dispensing a liquid from the set of liquid nozzles or air from the set of air nozzles, the controller receiving the sensor signal from the sensor, determining a quality' of the sensor signal, comparing the quality of the sensor signal to a first threshold and a second threshold, and selectively dispensing air from the set of air nozzles or dispensing liquid from the set of liquid nozzles to clean the sensor window.
Need to check novelty before this filing date? Find Prior Art

Description

COMBINED AIR AND LIQUIDSENSOR CLEANING SYSTEMBACKGROUND

[0001] Vehicles of every type, particularly semi-autonomous or fully autonomous cars, trucks, and the like, often rely upon a variety of sensors mounted on an exterior of the vehicle. These sensors provide relevant information for various assemblies and control systems. For example, cameras, SONAR (Sound Navigation and Ranging), and LIDAR (Light Detection and Ranging) sensors may be used to detect road conditions, obstacles, and other data that may then be used in various algorithms.

[0002] These sensors, by virtue of being positioned on the exterior of the vehicle, are exposed to environmental conditions such as snow, rain, dust, dirt and mud, and other hazards that may degrade or impair the performance of the sensor. Consequently, there exists a need to clean such sensors of any obstructive material to ensure the sensors operate at their nominal capability.SUMMARY

[0003] This specification relates to systems and methods for cleaning a sensor window for use on an autonomous vehicle and includes at least one sensor configured to generate a sensor signal. According to one aspect of the subject matter described in this disclosure, a sensor window cleaning system for use on an autonomous vehicle comprises a sensor window, a sensor configured to generate a sensor signal representing an environment, and the sensor housed within the sensor window, a sensor window cleaning module having a set of air nozzles configured to transmit air toward the sensor window, and a set of liquid nozzles configured to send a liquid toward the sensor window, and a controller communicatively connected to the sensor and the sensor window cleaning module, the controller receiving the sensor signal and determining a quality of the sensor signal, the controller determining whether the quality of the sensor signal satisfies a first quality threshold and a second quality threshold, and responsive to determining that the sensor signal satisfies the first quality threshold controlling the sensor window cleaning module to dispense the air from the set of air nozzles, and responsive to determining that the sensor signal satisfies the second quality threshold controlling the sensor window cleaning module to dispense liquid from the set of liquid nozzles.

[0004] In general, another aspect of the subject matter described in this disclosure includes a sensor window cleaning module for use on an autonomous vehicle. The sensor window cleaning -1- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USmodule comprises: a cleaning housing formed from a cleaning housing cap and a cleaning housing base, a set of liquid nozzles for directing liquid at a sensor window protecting a sensor, the set of liquid nozzles formed in the cleaning housing base, a set of air nozzles for directing air against the sensor window, the set of air nozzles formed by the cleaning housing base and the cleaning housing cap, a liquid conduit that transports the liquid from an exterior of the cleaning housing to the set of liquid nozzles, and an air conduit that transports the air from the exterior of the cleaning housing to the set of air nozzles.

[0005] In general, yet another aspect of the subject matter described in this disclosure includes a method for cleaning a window of a sensor on an autonomous vehicle comprising receiving a signal from the sensor, determining a quality of the signal, comparing the quality of the signal to a first quality threshold, determining whether the quality of the signal satisfies a first quality threshold, responsive to the quality of the signal satisfying the first quality threshold, dispensing air from a set of air nozzles onto the window, comparing the quality of the signal to a second quality threshold, determining whether the quality of the signal satisfies the second quality threshold, and responsive to the quality of the signal satisfying the second quality threshold, dispensing a liquid from a set of liquid nozzles onto the window.

[0006] Other implementations of one or more of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.

[0007] These and other implementations of the sensor cleaning system may optionally include one or more of the following features. For example, the sensor window is cylindrical, and the set of air nozzles and the set of liquid nozzles are arranged around a circumference of the sensor window. In another example, the set of liquid nozzles are positioned at a first distance from the sensor window, and the set of air nozzles are positioned at a second distance from the sensor window, wherein first distance is greater than the second distance. Another feature is that the sensor is one from a group of a light detection and ranging (LIDAR) sensor, and a radio detection and ranging (RADAR) sensor. Yet another feature is that the sensor window cleaning module includes a cleaning housing formed from a cleaning housing cap and a cleaning housing base, the cleaning housing cap and the cleaning housing base forming an air conduit coupled to the set of air nozzles and a liquid conduit coupled to the set of liquid nozzles.-2- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0008] These and other implementations of the sensor window cleaning module may optionally include one or more of the following features. For example, the cleaning housing cap has a general circular shape and the cleaning housing base has a circular shape and the set of liquid nozzles are positioned in a circular pattern spaced apart on a bottom side of the housing base spaced apart from an inner wall of the cleaning housing cap, and the set of air nozzles are positioned in a circular pattern spaced along the bottom side of the housing base proximate the inner wall of the cleaning housing cap. In another example, the set of liquid nozzles are positioned at a first distance from the inner wall, and the set of air nozzles are positioned at a second distance from the inner wall, wherein first distance is greater than the second distance. One feature of the sensor window cleaning module is that it includes a pressure augmenter coupling the first conduit to the first set of nozzles.

[0009] These and other implementations the method may each optionally include one or more of the following features. In some instances, the first quality threshold is associated with a signal quality that is degraded more than a signal quality associated with the second quality threshold. Yet another feature is that the quality of the signal is determined by a perception control system of the autonomous vehicle. Still another feature includes dispensing the liquid from the set of liquid nozzles onto the window a predetermined time after dispensing the air from the set of air nozzles onto the window. Further, features may include receiving a second signal from the sensor, determining a quality of the second signal, comparing the quality of the second signal to the first quality threshold, determining whether the quality of the second signal satisfies the first quality threshold, and responsive to determining that the quality of the second signal not satisfying the first quality threshold, discontinuing dispensing the air from the set of air nozzles onto the window.BRIEF DESCRIPTION OF THE DRAWINGS

[0010] These and other aspects and features of the present implementations will become apparent upon review of the following description of specific implementations in conjunction with the accompanying Figures, wherein:

[0011] Figure 1 is a block diagram illustrating an example of a hardware and software environment for an autonomous vehicle according to some implementations.

[0012] Figure 2 is a block diagram illustrating an example vehicle control system coupled to an example sensor cleaning system according to some implementations.-3- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0013] Figure 3 is a perspective view of an autonomous vehicle including a sensor window cleaning module and a sensor window according to some implementations.

[0014] Figure 4 is a perspective view of a first implementation of the sensor window cleaning module and sensor window.

[0015] Figure 5 is an exploded top perspective view of the first implementation of the sensor cleaning module.

[0016] Figure 6 is a front bottom perspective view of the sensor window cleaning module according to some implementations.

[0017] Figure 7A is a rear top perspective view of the sensor window cleaning module according to some implementations.

[0018] Figure 7B is a partial cross-sectional and perspective view of the sensor window cleaning module according to some implementations taken along line 7B-7B of Figure 7A.

[0019] Figure 7C is a partial cross-sectional and perspective view of the sensor window cleaning module according to some implementations taken along line 7C-7C of Figure 7A.

[0020] Figure 7D is a cross-sectional view of the sensor window cleaning module according to some implementations taken along line 7D-7D of Figure 7A.

[0021] Figure 8A is a rear top perspective view of the sensor window cleaning module according to some implementations.

[0022] Figure 8B is a partial cross-sectional and perspective view of the sensor window cleaning module according to some implementations taken along line 8B-8B of Figure 8A.

[0023] Figure 8C is a side cross-sectional and perspective view of the sensor window cleaning module according to some implementations taken along line 8C-8C of Figure 8A.

[0024] Figure 8D is a cross-sectional view of the sensor window cleaning module according to some implementations taken along line 8D-8D of Figure 8A.

[0025] Figure 9A is a graphic representation of a perspective view of the sensor window cleaning module performing an air or gas cleaning of the sensor window.

[0026] Figure 9B is a graphic representation of a perspective view of the sensor window cleaning module performing a liquid cleaning of the sensor window.

[0027] Figures 10A-10D are perspective views of different implementations of example liquid nozzles of the sensor window cleaning module.-4- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0028] Figures 11A-11C are perspective views of different implementations of example air nozzles of the sensor window cleaning module.

[0029] Figures 12A and 12B are cross-section views of a second implementation of a sensor cleaning housing.

[0030] Figure 13 is a flow diagram illustrating one example implementation of a method for cleaning the sensor.DETAILED DESCRIPTIONOverview

[0031] As mentioned, vehicles of every type, particularly semi-autonomous or fully autonomous cars, trucks, and the like, often rely upon a variety of sensors mounted on an exterior of the vehicle. These sensors provide relevant information for various assemblies and control systems. For example, cameras, SONAR, and LIDAR sensors may be used to detect road conditions, obstacles, and other data that may then be used in various algorithms.

[0032] These sensors, by virtue of being positioned on the exterior of the vehicle, may be exposed to environmental conditions such as snow, rain, dust, dirt and mud, and other hazards that may degrade or impair the performance of the sensor.

[0033] Historically, an operator of a vehicle might observe conditions that lead to reduced visibility of say a window. Of course, an autonomous vehicle may not have an operator present to observe and initiate a cleaning cycle.

[0034] Autonomous vehicles, therefore, might be equipped with a sensor cleaning system that can detect or observe sensor data that suggest the sensor is perhaps at least partially occluded by snow, rain, dirt, debris, or another condition that might be improved by initiating a cleaning cycle. A cleaning cycle, once initiated by on-board processors or a remote operation or data center, might improve the likelihood that the sensor is operating nominally or as close to nominally as is reasonably possible given the environmental conditions.Autonomous Vehicle

[0035] Referring to the drawings, wherein like numbers denote like parts throughout the several views, Figure 1 illustrates an example hardware and software environment for a vehicle 100, e.g., an autonomous vehicle, within which various techniques disclosed herein may be implemented. The vehicle 100, for example, may include a powertrain 102 including a prime-5- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USmover 104 powered by an energy source 106 and capable of providing power to a drivetrain 108, as well as a control system 110 including a direction control 112, a powertrain control 114, and a brake control 116. The vehicle 100 may be implemented as any number of different types of vehicles, including vehicles capable of transporting people and / or cargo, and capable of traveling by land, by sea, by air, underground, undersea, and / or in space, and it will be appreciated that the aforementioned components 102-116 may vary widely based upon the type of vehicle within which these components are utilized.

[0036] For simplicity, the implementations discussed hereinafter will focus on a wheeled land vehicle such as a car, van, truck, bus, etc. In such implementations, the prime mover 104 includes one or more electric motors and / or an internal combustion engine (among others). The energy source 106 includes, for example, a fuel system (e.g., providing gasoline, diesel, hydrogen, etc.), a battery system, solar panels, or other renewable energy sources, and / or a fuel cell system. The drivetrain 108 includes wheels and / or tires along with a transmission and / or any other mechanical drive components suitable for converting the output of the prime mover 104 into vehicular motion, as well as one or more brakes configured to controllably stop or slow the vehicle 100 and direction or steering components suitable for controlling the trajectory of the vehicle 100 (e g., a rack and pinion steering linkage enabling one or more wheels of the vehicle 100 to pivot about a generally vertical axis to vary an angle of the rotational planes of the wheels relative to the longitudinal axis of the vehicle). In some implementations, combinations of powertrains and energy sources are used (e.g., in the case of electric / gas hybrid vehicles), and in some implementations, multiple electric motors (e.g., dedicated to individual wheels or axles) are used as a prime mover. In the case of a hydrogen fuel cell implementation, the prime mover 104 includes one or more electric motors and the energy source 106 may include a fuel cell system powered by hydrogen fuel.

[0037] In some implementations, the direction control 112 may include one or more actuators and / or sensors for controlling and receiving feedback from the direction or steering components to enable the vehicle 100 to follow a desired trajectory. In some implementations, the powertrain control 114 is configured to control the output of the powertrain 102, e.g., to control the output power of the prime mover 104, to control a gear of a transmission in the drivetrain 108, etc., thereby controlling the speed and / or the direction of the vehicle 100. The brake control 116-6- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USis configured to control one or more brakes that slow or stop vehicle 100, e.g., disk or drum brakes coupled to the wheels of the vehicle 100.

[0038] Other vehicle types including, but not limited to, airplanes, space vehicles, helicopters, drones, military vehicles, all-terrain or tracked vehicles, ships, submarines, construction equipment etc., will necessarily utilize different powertrains, drivetrains, energy sources, direction controls, powertrain controls and brake controls. Moreover, in some implementations, some of the components can be combined, e.g., where directional control of a vehicle is primarily handled by varying an output of one or more prime movers. Therefore, implementations disclosed herein are not limited to the particular application of the herein-described techniques in an autonomous wheeled land vehicle.

[0039] In the illustrated implementation, fully autonomous or semi-autonomous control over the vehicle 100 is implemented in a vehicle control system 120, which may include one or more processors 122 and one or more memories 124, with each processor 122 configured to execute program code instructions 126 stored in a memory 124. The processors(s) can include, for example, graphics processing unit(s) (“GPU(s)”)) and / or central processing unit(s) (“CPU(s)”).

[0040] In some implementations, sensor 130 includes various sensors suitable for collecting information from a vehicle’s surrounding environment for use in controlling the operation of the vehicle 100. For example, sensors 130 can include RADAR sensor 134, LIDAR sensor 136, a 3D positioning sensor 138, e.g., a satellite navigation system such as GPS (Global Positioning System), GLONASS (Globalnaya Navigazionnaya Sputnikovaya Sistema, or Global Navigation Satellite System), BeiDou Navigation Satellite System (BDS), Galileo, Compass, etc. The 3D positioning sensors 138 can be used to determine the location of the vehicle on the Earth using satellite signals. The sensors 130 can optionally include a camera 140 and / or an inertial measurement unit (IMU) 142. The camera 140 can be a monographic or stereographic camera and can record still and / or video images. The inertial measurement unit (IMU) 142 can include multiple gyroscopes and accelerometers capable of detecting linear and rotational motion of the vehicle 100 in three directions. One or more encoders 144, such as wheel encoders may be used to monitor the rotation of one or more wheels of vehicle 100.

[0041] In some implementations, the vehicle control system 120 provides one of full control and semi-autonomous control over the vehicle 100. In some implementations, the vehicle-7- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US100 is a truck. In some implementations, the vehicle 100 is an autonomous vehicle. In some implementations, the vehicle control system 120 is operatively coupled to a sensor cleaning system 200 that will be described in further detail below. The sensor cleaning system 200 provides for detection of a condition of a sensor 130 relative to a nominally operating sensor and initiates one or more cleaning cycles.

[0042] In some implementations, the outputs of sensors 130 are provided to a set of control subsystems 150, including, a localization subsystem 152, a perception subsystem 154, a planning subsystem 156, and a control subsystem 158. The localization subsystem 152 is principally responsible for precisely determining the location and orientation (also sometimes referred to as “pose”) of the vehicle 100 within its surrounding environment, and within some frame of reference. The perception subsystem 154 is principally responsible for detecting, tracking, and / or identifying objects within the environment surrounding the vehicle 100. A machine learning model in accordance with some implementations is utilized in tracking objects. The planning subsystem 156 is principally responsible for planning a trajectory or a path of motion for vehicle 100 over some timeframe given a desired destination as well as the static and moving objects within the environment. A machine learning model in accordance with some implementations is utilized in planning a vehicle trajectory. The control subsystem 158 is principally responsible for generating suitable control signals for controlling the various controls in the vehicle control system 120 in order to implement the planned trajectory of the vehicle 100. Similarly, in some implementations, a machine learning model is utilized to generate one or more signals to control the vehicle 100 to implement the planned trajectory.

[0043] It will be appreciated that the collection of components illustrated in Figure 1 for the vehicle control system 120 is merely one example. Individual sensors may be omitted in some implementations. Additionally, or alternatively, in some implementations, multiple sensors of the same types illustrated in Figure 1 may be used for redundancy and / or to cover different regions around a vehicle. Moreover, there may be additional sensors beyond those described above to provide actual sensor data related to the operation and environment of the wheeled land vehicle. Likewise, different types and / or combinations of control subsystems may be used in other implementations. Further, while subsystems 152 - 158 are illustrated as being separate from processor 122 and memory 124, it will be appreciated that in some implementations, some or all-8- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USof the functionality of the subsystems 152 - 158 may be implemented with program code instructions 126 resident in one or more memories 124 and executed by one or more processors 122, and that these subsystems 152 - 158 may in some instances be implemented using the same processor(s) and / or memory. Subsystems may be implemented at least in part using various dedicated circuit logic, various processors, various field programmable gate arrays (“FPGA”), various application-specific integrated circuits (“ASIC”), various real time controllers, and the like, as noted above, multiple subsystems may utilize circuitry, processors, sensors, and / or other components. Further, the various components in the vehicle control system 120 may be networked in various manners.

[0044] In some implementations, the vehicle 100 also includes a secondary vehicle control system (not illustrated), which is used as a redundant or backup control system for the vehicle 100. In some implementations, the secondary vehicle control system is capable of fully operating the vehicle 100 in the event of an adverse event in the vehicle control system 120, while in other implementations, the secondary vehicle control system may only have limited functionality, e.g., to perform a controlled stop of the vehicle 100 in response to an adverse event detected in the vehicle control system 120. In still other implementations, the secondary vehicle control system may be omitted.

[0045] In general, an innumerable number of different architectures, including various combinations of software, hardware, circuit logic, sensors, networks, etc. may be used to implement the various components illustrated in Figure 1. Each processor 122 may be implemented, for example, as a microprocessor and each memory may represent the randomaccess memory (“RAM”) devices comprising a main storage, as well as any supplemental levels of memory, e.g., cache memories, non-volatile or backup memories (e.g., programmable or flash memories), read-only memories, etc. In addition, each memory may be considered to include memory storage physically located elsewhere in the vehicle 100, e.g., any cache memory in a processor, as well as any storage capacity used as a virtual memory, e.g., as stored on a mass storage device or another computer controller. One or more processors 122 illustrated in Figure 1, or entirely separate processors, may be used to implement additional functionality in the vehicle 100 outside of the purposes of autonomous control, e.g., to control entertainment systems, to operate doors, lights, convenience features, etc.-9- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0046] In addition, for additional storage, the vehicle 100 includes one or more mass storage devices, e.g., a removable disk drive, a hard disk drive, a direct access storage device (“DASD”), an optical drive (e.g., a CD drive, a DVD drive, etc ), a solid-state storage drive (“SSD”), network attached storage, a storage area network, and / or a tape drive, among others.

[0047] Furthermore, the vehicle 100 includes, in some implementations, a user interface 164 to enable vehicle 100 to receive a number of inputs from and generate outputs for a user or operator, e.g., one or more displays, touchscreens, voice and / or gesture interfaces, buttons, and other tactile controls, etc. Otherwise, user input may be received via another computer or electronic device, e.g., via an app on a mobile device or via a web interface.

[0048] Moreover, in some implementations, the vehicle 100 includes one or more network interfaces, e.g., network interface 162, suitable for communicating with one or more networks 176 to permit the communication of information with other computers and electronic devices, including, for example, a central service, such as a cloud service, from which the vehicle 100 receives information including trained machine learning models and other data for use in autonomous control thereof. The one or more networks 176, for example, may be a communication network that includes a wide area network (“WAN”) such as the Internet, one or more local area networks (“LANs”) such as Wi-Fi LANs, mesh networks, etc., and one or more bus subsystems. The one or more networks 176 may optionally utilize one or more standard communication technologies, protocols, and / or inter-process communication techniques. In some implementations, data collected by the one or more sensors 130 can be uploaded to a remote data center, that may include a computing system (not illustrated) via the network 176 for additional processing. For example, as shown in Figure 1, the computing system 172 is coupled to the network 176 by signal line 178. In some implementations, the powertrain 102, the control system 110, the vehicle control system 120, and the sensor cleaning system 200 may be coupled for communication and cooperation with each other, and to the network interface 162 for communication over the network 176. In the illustrated implementation, the vehicle 100 may communicate via the network 176 with the computing system 172 or other remote data center for the purposes of implementing various functions described below.

[0049] Each processor illustrated in Figure 1, as well as various additional controllers and subsystems disclosed herein, operates under the control of an operating system, and executes or-10- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USotherwise relies upon various computer software applications, components, programs, objects, modules, data structures, etc., as will be described in greater detail below. Moreover, various applications, components, programs, objects, modules, etc. may also be executed on one or more processors in another computer (e.g., computing system 172) coupled to vehicle 100 via network 176, e.g., in a distributed, cloud-based, or client-server computing environment, whereby the processing required to implement the functions of a computer program may be allocated to multiple computers and / or services over a network.

[0050] In general, the routines executed to implement the various implementations described herein, whether implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions, or even a subset thereof, will be referred to herein as “program code.” Program code typically comprises one or more instructions that are resident at various times in various memory and storage devices, and that, when read and executed by one or more processors, perform the steps necessary to execute steps or elements embodying the various aspects of the present disclosure. Moreover, while implementations have and hereinafter will be described in the context of fully functioning computers and systems, it will be appreciated that the various implementations described herein are capable of being distributed as a program product in a variety of forms, and that implementations can be implemented regardless of the particular type of computer readable media used to actually carry out the distribution.

[0051] Examples of computer readable media include tangible, non-transitory media such as volatile and non-volatile memory devices, floppy and other removable disks, solid state drives, hard disk drives, magnetic tape, and optical disks (e.g., CD-ROMs, DVDs, etc.) among others.

[0052] In addition, various program codes described hereinafter may be identified based upon the application within which it is implemented in a specific implementation. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the present disclosure should not be limited to use solely in any specific application identified and / or implied by such nomenclature. Furthermore, given the typically endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a-11- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-UStypical computer (e.g., operating systems, libraries, API’s, applications, applets, etc.), it should be appreciated that the present disclosure is not limited to the specific organization and allocation of program functionality described herein.

[0053] The example environment illustrated in Figure 1 is not intended to limit implementations disclosed herein. Indeed, other alternative hardware and / or software environments may be used without departing from the scope of implementations disclosed herein.

[0054] Referring now to Figure 2, a block diagram illustrating an example of the vehicle control system 120 for concurrently interfacing with the sensor cleaning system 200 that performs aspects of the method for cleaning one or more of the sensors 130 according to some implementations.

[0055] As shown in Figure 2, the illustrated example the vehicle control system 120 includes one or more processors 122 in communication, via a communication system 240 (e.g., bus), with memory 124, a network interface 162 for connection to the network 176 (see Figure 1), a data storage 280, and other components, e.g., an input / output (“I / O”) components interface 250 connecting to a display (not illustrated) and an input device (not illustrated). The processor 122 will execute instructions (or computer programs) received from memory 124.

[0056] In more detail, the processor 122 may be any logic circuitry that processes instructions, e.g., instructions fetched from the memory 124 or cache memory 220. In some implementations, the processor 122 are microprocessor units or special purpose processors. The vehicle control system 120 may be based on any processor, or set of processors, capable of operating as described herein. The processor 122 may be a single core or multi-core processor. The processor 122 may be multiple distinct processors.

[0057] The memory 124 may be any device suitable for storing computer readable data. The memory 124 may be a device with fixed storage or a device for reading removable storage media. Examples include all forms of non-volatile memory, media and memory devices, semiconductor memory devices (e.g., EPROM, EEPROM, SDRAM, and flash memory devices), magnetic disks, magneto optical disks, and optical discs (e.g., CD ROM, DVD-ROM, or Blu-Ray® discs). The vehicle control system 120 may have any number of memory devices as the memory 124.-12- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0058] The cache memory 220 is a form of computer memory placed in close proximity to the processor 122 for fast read times. In some implementations, the cache memory 220 is part of, or on the same chip as, the processor 122. In some implementations, there are multiple levels of cache, e.g., L2 and L3 cache layers.

[0059] The network interface controller (not shown) manages data exchanges via the network interface 162 (sometimes referred to as network interface ports). The network interface controller handles the physical and data link layers for network communication. In some implementations, some of the network interface controller’s tasks are handled by one or more of the processors 122. In some implementations, the network interface controller is part of a processor 122. In some implementations, the vehicle control system 120 has multiple network interfaces controlled by a single controller. In some implementations, the vehicle control system 120 has multiple network interface controllers. In some implementations, each network interface is a connection point for a physical network link (e.g., a cat-5 Ethernet link). In some implementations, the network interface controller supports wireless network connections, and an interface port is a wireless (e.g., radio) receiver / transmitter (e.g., for any of the IEEE 802.11 protocols, near field communication “NFC,” Bluetooth, ANT, WiMAX, 5G, or any other wireless protocol). In some implementations, the network interface controller implements one or more network protocols such as Ethernet. The vehicle control system 120 exchanges data with other computing devices via physical or wireless links through a network interface 162. The network interface may link directly to another device or to another device via an intermediary device, e.g., a network device such as a hub, a bridge, a switch, or a router, the vehicle control system 120 to a data network such as the Internet.

[0060] The data storage 280 may be a non-transitory storage device that stores data for providing the functionality described herein. The data storage 280 may store, among other data, including code keys, sensor data, and any other data.

[0061] The vehicle control system 120 may include, or provide interfaces for, one or more input or output (“I / O”) components 250. Input devices include, without limitation, keyboards, microphones, touch screens, foot pedals, sensors, MIDI devices, and pointing devices such as a mouse or trackball. Output devices include, without limitation, video displays, speakers, refreshable Braille terminal, lights, MIDI devices, and 2-D or 3-D printers. Other components may-13- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USinclude an I / O interface, external serial device ports, and any additional co-processors. For example, a computing system may include an interface (e.g., a universal serial bus (USB) interface) for connecting input devices, output devices, or additional memory devices (e.g., portable flash drive or external media drive). In some implementations, the vehicle control system 120 includes an additional device such as a co-processor, e.g., a math co-processor can assist the processor 122 with high precision or complex calculations.Sensor Cleaning System 200

[0062] As discussed above, vehicles 100, and in particular autonomous vehicles that may (or may not) lack a driver, may need to occasionally clean a sensor 130 while the vehicle 100 is operating or traveling along a road.

[0063] The vehicle control system 120 is, in some implementations, operably coupled to a sensor cleaning system 200. The sensors 130 illustrated and discussed below are in some implementations attached to the vehicle 100 internally, externally, in a housing, or in any other known manner

[0064] The sensor cleaning system 200 for use on the vehicle 100 is configured to cooperate with the one or more sensors 130. The one or more sensors 130 are configured to generate a sensor signal that is provided to the perception subsystem 154. The perception subsystem 154 processes the sensor signal to generate one or more control signals that are communicatively coupled to the sensor cleaning system 200. In some implementations, the processor 122 receives the control signal from the perception subsystem 154 and sends it to the sensor cleaning system 200. This signal from the perception subsystem 154 is capable of being processed to determine when the sensors 130 are operating properly or are not operating properly because of debris or other material that is precluding the sensors 130 from making accurate measurements. A variety of control signals can be provided by the perception subsystem 154 to the sensor cleaning system 200. In some implementations, the signal from the perception subsystem 154 is provided to the processor 122 that in turn generates control signals including: no action, perform liquid cleaning, perform air cleaning, and perform both liquid and air cleaning. In some implementations, the processor 122 provides the signals from the perception subsystem 154 directly to the controller 202 of the sensor cleaning system 200, and the controller 202 is configured to generate the control signals including: no action, perform liquid cleaning, perform-14- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USair cleaning, and perform both liquid and air cleaning. The controller 202 is illustrated with dashed lines for those implementations in which the control signals are provided directly from processor 122 to the liquid pump 208 and the air pump 210.

[0065] As shown in Figure 2, the sensor cleaning system 200 comprises a controller 202, a first fluid reservoir or liquid reservoir 204, a second fluid reservoir or air reservoir 206, a first pump or liquid pump 208, a second pump or air pump 210, a set of liquid nozzles 416, and a set of air nozzles 421. In some implementations, the pumps are downstream of the reservoirs. In some implementations, the liquid pump 208 actively transports liquid from the liquid reservoir 204. In some implementations, the air pump 201 actively transports air from the air reservoir. In some implementations, the liquid reservoir may be pressurized. In these implementations, the movement of liquid may be regulated by valves which open to allow the liquid to move from the reservoir. In some implementations, the air reservoir may be pressurized. In implementations with pressurized air reservoirs, the movement of air may be regulated by valves, which open to allow the air to move from the reservoir.

[0066] The controller 202 controls when the sensor cleaning system 200 is operational in different cleaning modes or is in standby mode and not cleaning the sensor window. In some implementations, the controller 202 is configured to receive control signals from the perception subsystem 154 or the processor 122. The controller 202 processes the sensor signals from the perception subsystem 154 or the processor 122 and generates control signals including: no action, perform liquid cleaning, perform air cleaning, or perform both liquid and air cleaning. The control signals provided by the controller 202 are described in more detail below with reference to the operation of the system in Figure 13. The controller 202 is coupled to provide different control signals to the liquid pump 208 and the air pump 210 to perform the above cleaning operations. In some implementations, the controller 202 is also coupled to send control signals to valves associated with the first set of nozzles 303 and the second set of nozzles 305 to control when fluid is dispensed by them. The controller 202 is shown with dashed lines to indicate that it is optional in some implementations. In one implementation, the processor 122 is coupled to receive the sensor signals from the perception subsystem 154 and generates control signals that are sent via the communication system 240 to the liquid pump 208 and the air pump 210 and / or valves. The controller 202 activates the liquid pump 208 or the air pump 210 at different times such that the-15- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USsensor cleaning system 200 will apply a liquid only, air only, both the liquid and the air sequentially or simultaneously, or the liquid and the air alternatively. In such implementations, the memory 124 stores instructions that, in response to execution of the instructions by the processor 122 cause the processor 122 to perform operations including: generating and transmitting a pump signal to the liquid pump 208 and / or the air pump 210 to dispense the liquid and the air, respectively, from the liquid reservoir 204 and the air reservoir 206 through a liquid conduit and an air conduit. In some implementations, the memory integrated on controller 202 stores instructions that, in response to execution of the instructions by the controller 202, cause the controller 202 to perform operations including: generating and transmitting a valve signal to the at least one valve on the liquid conduit and the at least one valve on the air conduit to open or close the respective valve.

[0067] The controller 202 is communicatively coupled to the sensor 130, typically electrically via wires although wireless connections are also possible. The controller 202 includes memory (not shown) which is operably coupled with the controller 202, where the memory stores instructions that, in response to execution of the instructions by the controller 202, cause the controller 202 to perform operations including: receiving the sensor signal from the sensor 130; determining a quality of the sensor signal detected; comparing the quality of the sensor signal detected to a first sensor quality threshold and to a second sensor quality threshold of the sensor signal; and, dispensing the liquid through set of liquid nozzles 416 or dispensing the air through the set of air nozzles 421 towards the sensor window 302. In some implementations, the sensor cleaning system 200 is communicatively coupled, directly or indirectly, to a perception subsystem 154, network interface 162, the communication system 240 to receive and / or transmit data to the sensor cleaning system 200 and receive and / or transmits various instructions related to the various operations performed by the sensor cleaning system 200, including instructions that adapt based on conditions and / or learned outcomes from a machine learning engine and / or any operative model.

[0068] For example, in some implementations, a normal quality of the sensor signal is one in which environmental conditions are clear and there are no obstructions, such as dirt, snow, rain, or debris, , and the like obstructing partially or fully a sensor window 302. The controller 202 compares the quality of the sensor signal to a first threshold, for example, 60 percent of the signal strength. When the signal strength does not satisfy (e.g., is below) this first threshold, the-16- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-UScontroller 202 instructs the sensor cleaning system 200 to dispense a liquid, through the set of liquid nozzles 416. Similarly, the controller 202 compares the quality of the sensor signal to a second threshold, for example, 80 percent of the signal strength. When the sensor signal does not satisfy (e.g., is below) this second threshold, the controller 202 instructs the sensor cleaning system 200 to dispense air, through the set of air nozzles 421. In some implementations, the parameters for normal quality and detected quality as well as the first threshold and the second threshold can be set for given conditions. For example, in some implementations, the sensitivity (i.e., the detected quality at which point the controller 202 instructs the sensor cleaning system 200 to dispense a first fluid or a second fluid) is a function of the speed of the vehicle, the weather conditions, and the like. For example, in some implementations, the controller 202 causes the first fluid and the second fluid to be dispensed more frequently as the vehicle speed increases or as a function of the weather (e.g., dispensing more often in freezing / snowing / sleeting conditions). Moreover, the controller 202 may selectively activate the dispensing of the first fluid or the second fluid at different frequencies based upon the conditions in which the vehicle 100 or the type of debris detected on the sensor window 302.

[0069] The liquid reservoir 204 is for holding a liquid. In some implementations, the liquid is a liquid capable of cleaning a hard surface. The liquid reservoir 204 holds enough of the liquid to clean the sensor window 302 several times. In some implementations, the liquid may be water, a glass cleaner, alcohol, window washer fluid, detergent, combinations thereof, or any other liquid. The liquid reservoir 204 has an output coupled to the liquid pump 208.

[0070] The air reservoir 206 is for holding air. In some implementations, the air is any gas capable of being sprayed against the sensor window 302 (See Figure 9A) to remove debris and other solid particles. The air reservoir 206 stores enough air to clean the sensor window 302 several times. In some implementations, the air is any combination of gases, mixture of gases, or single gas. In some implementations, the air may be standard dry air, nitrogen, oxygen, helium, In some implementations, the air reservoir 206 stores the air under pressure, for example, at a pressure above atmospheric pressure. In some implementations, the air reservoir 206 is an air filter capable of receiving and filtering standard dry air and providing it to the air pump 210. The air reservoir 206 includes an output coupled to the air pump 210.-17- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0071] The liquid pump 208 is fluidly coupled to the liquid reservoir 204 and the set of liquid nozzles 416. The liquid pump 208 has an input coupled to the liquid reservoir 204 and its output fluidly coupled to the set of liquid nozzles 416. The liquid pump 208 transfers the liquid from the liquid reservoir 204 to the set of liquid nozzles 416 in response to a control signal received from the controller 202. The coupling between the liquid pump 208 and the liquid nozzles 416 is described in more detail below with reference to Figure 5-9B, 12A and 12B. The liquid pump 208 can be selectively activated or deactivated to cause the liquid to be sprayed upon the sensor window 302 by the first set of liquid nozzles 416.

[0072] The air pump 210 is fluidly coupled to the air reservoir 206 and the set of air nozzles 421. The coupling between the air pump 210 and the set of air nozzles 421 is described in more detail below with reference to Figure 5-9B, 12A and 12B. The air pump 210, when activated, causes the air in the air reservoir 206 to be output by the set of air nozzles 421 and sprayed onto the sensor window 302. The air pump 210 can be selectively activated or deactivated to cause it to spray the air onto the sensor window 302. The air pump 210 is responsive to a control signal received from the controller 202. It should be noted that in some instances, the air pump 210 may be operational at the same time or immediately before or after the liquid pump 208.

[0073] The set of liquid nozzles 416 is for the liquid. The set of liquid nozzles 416 is configured to direct the liquid towards the sensor window 302 as will be described in more detail below with reference to Figure 5-9B. The set of liquid nozzles 416 is any number of nozzles greater than one. In some implementations, the number of nozzles in the set of liquid nozzles 416 is 9 as depicted in Figure 6 and may be any number of nozzles from 4 to 12. The set of liquid nozzles 416 is fluidly connected to the liquid pump 208 to receive the liquid from the liquid reservoir 204. In some implementations, the sensor cleaning system 200 includes a conduit coupling these elements as will be described below. The set of liquid nozzles 416 is housed in the sensor window cleaning module 301 as will be described below.

[0074] The set of air nozzles 421 is for air. The set of air nozzles 421 is configured to direct the air towards the sensor window 302 as will be described in more detail below with reference to Figure 5-9B, 12A and 12B. The set of air nozzles is any number of nozzles greater than one. In some implementations, the number of air nozzles is 10, and may be any number of nozzles from 8 to 26. The set of air nozzles 421 is fluidly connected to the air pump 210 to receive the air from-18- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USthe air reservoir 206. In some implementations, the sensor cleaning system 200 includes conduits coupling these elements as will be described below. The set of air nozzles 421 are also housed in the sensor window cleaning module 301 as will be described below.

[0075] In some implementations, the sensor cleaning system 200 includes a liquid valve between the liquid reservoir 204 and the set of liquid nozzles 416. In some implementations, the liquid valve is a plurality of valves, with each nozzle in the set of liquid nozzles 416 having a liquid valve that fluidly couples to the liquid reservoir 204 and the first conduit. The air valve for each of the first set of liquid nozzles 416 is communicatively coupled to receive control signals to open or close the first valve from the controller 202 or the processor 122. In some implementations, a single first valve controls the flow of the first fluid from the liquid reservoir 204 to the first conduit 317 and in turn to the first set of nozzles 303. In some implementations, the first valve is any one of electrical, electro-mechanical, or other similar valve for opening and closing a conduit to enable or prevent the flow of through a conduit.

[0076] Similarly, the sensor cleaning system 200 includes an air valve to control the flow of air from the air reservoir 206 to the set of air nozzles 421. In some implementations, the air valve is a plurality of valves, with each nozzle in the set of air nozzles 421 having an air valve that fluidly couples to the air reservoir 206 and the air conduit. The air valve for each of the set of air nozzles 421 is communicatively coupled to receive control signals to open or close the air. valve from the controller 202 or the processor 122. In some implementations, a single air valve controls the flow of the air from the air reservoir 206 to the air conduit and in turn to the set of air nozzles 421. In some implementations, the air valve is any one of electrical, electro-mechanical, or other similar valve for opening and closing a conduit to enable or prevent the flow of air through a conduit.

[0077] Referring now to Figure 3, a perspective view of the vehicle 100 (e.g., an autonomous vehicle) including the sensor window cleaning module 301 and the sensor window 302 according to various implementations is shown. In this implementation, the vehicle 100 is a semi-truck that operates autonomously. Figure 3 shows examples for different locations of sensors (not shown) on the vehicle 100 that may include the sensor window cleaning module 301 and the sensor window 302. In a first example, atop lateral side of the vehicle 100 has members that extend away from the longitudinal axis of the vehicle 100 and have the sensor window cleaning module-19- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US301a and the sensor window 302a mounted on top of the member. In a second example, near the front center grill of the vehicle 100, another implementation of the sensor window cleaning module 301b and the sensor window 302b are mounted and extend forward from the grill of the vehicle 100. In a third example, another implementation of the sensor window cleaning module 301c and the sensor window 302c are mounted on the side of the vehicle 100 below side mirror and extend laterally away from the site of the vehicle 100. The examples provided in Figure 3 are used to illustrate that the sensor window cleaning module 301 and the sensor window 302 configuration may be used for any type of sensor and for any location of the sensor that is external to the vehicle 100.

[0078] Referring now to Figure 4, a perspective view of a first implementation of the sensor window cleaning module 301 and sensor window 302 are shown. In some implementations, the sensor 130 is housed within a sensor window 302, which protects the sensor 130 from the outside environment. The sensor window 302 encompasses sensor 130. In some implementations, the sensor window 302 is cylindrical in shape. In some implementations, the sensor window 302 is another shape, such as rectangular, square, round, concave, convex, spherical, hemi-spherical, oval / ovoid, or the like. In some implementations, the sensor 130 is one of or a combination of any one or more of a LIDAR sensor, a RADAR sensor, a visual camera, an infrared camera, a sonar, or echo-location sensor, and the like. The sensor 130 provides a detailed perception of the environment. In some implementations the detailed perception of the environment encompasses a 180-degree field of view, a 360-degree field of view, a 90-degree field of view, a 60-degree field of view, a 45-degree field of view, or any subset below a 360-degree range.

[0079] The sensor window 302 is mounted to a base 402 to couple the sensor window 302 and the sensor 130 to the vehicle 100. In some implementations as shown in Figure 4, the base 402 of the sensor cleaning system 200 may have a generally cylindrical shape similar to that of the sensor window 302 with an inner diameter that mates securely with the bottom of the sensor window 302 within it. The base 402 may have a variety of different shapes matching that of the sensor window 302 configured to couple with it and the vehicle 100. The base 402 may also have various other members to enable its mounting to the vehicle 100 as well as to couple with other components that are part of the sensor clean system 200 or for coupling the sensor 132 other components of the vehicle control system 120. As shown, the sensor window cleaning module 301-20- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USincludes a housing 404 and other components as will be described in more detail below. The housing 404 comprises a housing cap 406 and an housing base 409 as will be described in more detail below with reference to Figure 5. The other components of the sensor window cleaning module 301 are not depicted in Figure 4 but have and will be described herein.

[0080] Referring now to Figure 5, a first implementation of the sensor window cleaning module 301 is described. Figure 5 shows an exploded view of the sensor window cleaning module 301. The sensor window cleaning module 301 has a shape that is similar to the shape of the sensor window 302 for mating therewith. The sensor window cleaning module 301 of Figure 5 is configured to connect to a cylindrical sensor window; therefore, the sensor window cleaning module 301 has a generally round shape. The sensor window cleaning module 301 includes the housing 404 having a housing cap 406 and a housing base 409. The housing cap 406 and housing base 409 form conduits through which liquid and air pass. The conduits are sealed from each other and from the outside environment by a first seal or an inner O-ring 410 and a second seal or outer O-ring 411. The air enters the sensor window cleaning module 301 through an air inlet 412. An air valve 413 connects the air reservoir 206 (see Figure 2) to the air inlet 412. Liquid enters the sensor window cleaning module 301 through a liquid inlet 414. A liquid valve 415 connects the liquid conduit from the liquid reservoir 204 to the liquid inlet 414. Foam inserts 417a and 417b cushion the sensor window 302 (not shown in Figure 5) from contact with the sensor window cleaning module 301.

[0081] The housing cap 406 and the housing base 409 are designed to withstand contact with fluids. Many fluids are corrosive. The materials from which the housing cap 406, the housing base 409, the inner O-ring 410, and the outer O-ring 411 are constructed need to be corrosion resistant. In some implementations, the housing cap 406, and housing base 409 are constructed of any corrosion resistant materials. Such materials include aluminum, anodized aluminum, titanium, stainless steel, plastic, or composite materials. Furthermore, such materials may include surface coatings or treatments, such as galvanization, anodization, powder coating, paint, or physical vapor deposition (PVD) coatings.

[0082] Referring now to Figure 6, the sensor window cleaning module 301 according to some implementations is described in more detail. Figure 6 is a bottom-up side perspective view of the sensor window cleaning module 301with the housing cap 406 and housing base 409-21- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USassembled together. The housing base 409 includes a set of liquid nozzles 416. The depicted implementation includes nine (9) liquid nozzles 416a, 416b, 416c, 416d, 416e, 416f, 416g, 416h, or 416i. The liquid nozzles 416 are angled to direct the liquid toward the sensor window 302 (not shown in Figure 6). The liquid enters the sensor window cleaning module 301 through the liquid valve 415 and liquid inlet 414. In the sensor window cleaning module 301, a liquid conduit moves the liquid from the liquid inlet 414 to the liquid nozzles 416a, 416b, 416c, 416d, 416e, 416f, 416g, 416h, and 416i. Air is directed toward the sensor window 302 through air nozzles 421 (shown in detail in Figures 7C, 7D, 8D, 11A-11C and 12A-12B. The air nozzles 421 are formed between the housing cap 406 and the housing base 409. Air enters the sensor window cleaning module 301 through the air valve 413 and air inlet 412. The foam inserts 417a and 417b provide cushions between the cylinder that forms the sensor window 302 (not shown if Figure 6) and the sensor window cleaning module 301.

[0083] Referring now to Figure 7A, the sensor window cleaning module 301 according to some implementations will be described in more detail. Figure 7A is a rear top perspective view of the sensor window cleaning module 301. The housing cap 406 and the housing base 409 are assembled together. Liquid nozzles 416g, 416h, and 416i, direct liquid toward the sensor window 302. Liquid enters the sensor window cleaning module 301 through the liquid inlet 414. The air enters the sensor window cleaning module 301 through the air inlet 412.

[0084] Figures 7B, 7C, and 7D are cross sections of the sensor window cleaning module 301. Figure 7B is a partial cross-sectional and perspective view of the sensor window cleaning module 301 taken along line 7B-7B of Figure 7A. Figure 7C is a partial cross-sectional and perspective view of the sensor window cleaning module 301 taken along line 7C-7C of Figure 7A. Figure 7D is a cross-sectional view of the sensor window cleaning module 301 taken along line 7D-7D of Figure 7A.

[0085] Figure 7B shows the cross section through the liquid inlet 414 and liquid valve 415 proximate the rear of the sensor window cleaning module 301. Figures 7C and 7D show a cross section through the sensor window cleaning module 301 proximate the front of the sensor window cleaning module 301 across from the air inlet 412 and liquid inlet 414. Liquid enters the sensor window cleaning module 301 through the liquid valve 415 (not shown in Figure 7B) and the liquid inlet 414. The liquid moves through the sensor window cleaning module 301 through a liquid-22- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USconduit 418. The liquid moves through the liquid conduit 418 to liquid nozzle channels 419 as shown in Figures 7C and 7D. The liquid nozzle channels 419 connect to the liquid nozzles 416. The liquid conduit 418 is formed when the housing cap 406 and the housing base 409 are assembled together. The walls of the liquid conduit 418 are formed in the housing base 409, while the top of the conduit is formed by the housing cap 406.

[0086] An air conduit 420 is also formed when the housing cap 406 and housing base 409 are assembled. The air conduit 420 is between the inner wall 407 (See Figure 7d) of the housing cap 406 and the housing base 409. The air conduit 420 transfers air to the air nozzles 421 as shown in Figures 7C and 7D. To seal the liquid conduit 418 and the air conduit 420 from one another and from the outside environment an inner O-ring 410 and an outer O-ring 411 are used. In some implementations such as depicted in Figures 7B, 7C, and 7D the housing base 409 includes specific indentations into which the inner O-ring 410 and the outer O-ring are positioned. The inner O-ring 410 is placed between the inner wall 407 of the housing cap 406 and the housing base 409. The outer O-ring 411 is placed between the housing cap outer wall 408 and the housing base 409. Sealing the liquid conduit 418 and the air conduit 420 from one another and from the outside environment enables the liquid and air to be pressurized. Pressurizing the liquid and the air assists in pushing the liquid and air through the liquid conduit 418 and the air conduit 420. The liquid nozzle channel 419 descends from the liquid conduit 418 to the liquid nozzle 416 as depicted in Figures 7C and 7D. The liquid nozzles 416 are angled to direct the liquid onto the sensor window 302.

[0087] In some implementations, the set of liquid nozzles 416 is arranged in a circular arrangement along the bottom of the housing base 409. The set of liquid nozzles 416 is arranged proximate a bottom of the housing base 409. Each liquid nozzle 416 in the set of liquid nozzles 416 is positioned a set distance from the face of the sensor window 302 different than the set of air nozzles 421. The set of air nozzles 421 are located in the interface between the inner wall 407 of the housing cap 406 of the housing base 409. The set of liquid nozzles 416 may include any number of nozzles greater than two. In the specific implementation shown in Figure 6, the set of liquid nozzles 416 includes 9 nozzles, spaced approximately equal distances apart along the bottom of the housing base 409. The set of liquid nozzles 416 are disposed so that fluid output by the set-23- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USof liquid nozzles 416 is directed towards the sensor window 302. In some implementations, the set of liquid nozzles 416 are configured in groups and arranged around the housing base 409.

[0088] In some implementations, the set of liquid nozzles 416 extends approximately 45 degrees, 60 degrees, 90 degrees, or 180 degrees around the bottom of the housing 404 to direct the first fluid and toward the sensor window 302. In some implementations, the set of liquid nozzles 416 are arranged circumferentially around the sensor window 302 to direct the liquid toward the sensor window 302. In some implementations, the set of liquid nozzles 416 is contiguously or evenly distributed about the bottom of the housing base 409 to direct the liquid toward the sensor window 302 (e.g., at about every 15 degrees, 25 degrees, 45, degrees, 60 degrees, 90 degrees, 120 degrees, 180 degrees, and the like.) “About” in this instance is approximately plus or minus 10 percent of the maximum angle of a given range. In some implementations, the set of liquid nozzles is arranged in groups of nozzles. In some implementations, each group of liquid nozzles 416 includes between 1 and 5 nozzles. In some implementations, the group of liquid nozzles 416 comprises 3 nozzles.

[0089] The liquid conduit 418 and the air conduit 420 are located next to one another on a horizontal plane; therefore, the set of liquid nozzles 416 and the set of air nozzles 421 are located at different radial distances from the circle formed by the sensor window 302 in a top plan view. The distance a given nozzle 416, 421 is from the sensor window 302 affects the angle at which the fluid (air or liquid) dispensed from that nozzle 416, 421 impacts the sensor window 302. The further a given nozzle 416, 421 is from the sensor window 302, the larger the angle at which the fluid impacts the sensor window 302. The closer a nozzle 416, 421 is to the sensor window 302, the lower the angle at which the fluid will impact the sensor window 302. The lower the angle of impact, the more the fluid will slide along the sensor window 302. The higher the angle at which the fluid impacts the sensor window 302, the more likely the fluid is to ricochet off the sensor window 302.

[0090] In some implementations, the set of liquid nozzles 416 have a nozzle angle, where the nozzle angle is measured relative to a vertical longitudinal axis of the sensor window cleaning module 301 and relative to a horizontal axis, and where the nozzle angle is at least one of a) tilted away from the vertical axis and towards the sensor window and b) tilted towards the horizontal axis. In some implementations, the nozzle angle is tilted away from the vertical axis from about 0-24- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USto 5 degrees, 0 to 10 degrees, 0 to 15 degrees, 0 to 20 degrees, 0 to 30 degrees, 0 to 45 degrees, and 0 to 60 degrees, or at any fixed point (e.g., 3 degrees, 5 degrees, 7.5 degrees, 10 degrees, 15 degrees, 20 degrees, 45 degrees) within those ranges. “About” in this instance is approximately plus or minus 10 percent of the maximum angle of a given range. In some implementations, the first fluid is ejected from the set of liquid nozzles 416 at a selected pressure, which is a function of the flow rate of the liquid and the geometry of the nozzle. In some implementations, the pressure is from about 0 to 100 pounds per square inch (psi), 0 to 80 psi, 0 to 50 psi, 0 to 35 psi, 0 to 20 psi, and 0 to 10 psi, or at any pressure (e.g., 3 psi, 5 psi, 10 psi, 20 psi, 35 psi, 50 psi, and 80 psi) within those ranges. “About” in this instance is considered to be plus or minus 10 percent of the maximum pressure of a given range.

[0091] Referring now to Figure 8A, the sensor window cleaning module 301 according to some implementations is described in more detail. Figure 8A is a rear top perspective view of the sensor window cleaning module 301. The housing cap 406 and the housing base 409 are assembled together. Liquid nozzles 416g, 416h, and 416i direct liquid toward the sensor window 302. Liquid enters the sensor window cleaning module 301 through the liquid inlet 414. Air nozzles (not shown in Figure 8A) direct air toward the sensor window 302. The air enters the sensor window cleaning module 301 through the air inlet 412.

[0092] Figures 8B, 8C, and 8D are cross sections of the sensor window cleaning module 301. Figure 8B is a partial cross-sectional and perspective view of the sensor window cleaning module 301 taken along line 8B-8B of Figure 8A. Figure 8C is a cross-sectional side and perspective view of the sensor window cleaning module 301 taken along line 8C-8C of Figure 8A. Figure 8D is a cross-sectional view of the sensor window cleaning module 301 taken along line 8D-8D of Figure 8A.

[0093] Figure 8B shows the cross section through the air inlet 412 and air valve 413. As shown in Figure 8B, air enters the sensor window cleaning module 301 through the air valve 413 and the air inlet 412. The air inlet 412 is coupled to send the air to the air conduit 420 so that it is transferred around the air conduit 420 that is cylindrical inside the housing 404. The air conduit 420 is formed by the inner wall 407 of the housing cap 406, the inner O-ring 410, and the housing base 409. An airtight seal is formed by these components being assembled together. Figure 8C shows a cross section through the sensor window cleaning module 301 across the air inlet 412.-25- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USFigure 8C illustrates the mirror image of the housing cap 406, the inner O-ring 410, outer O-ring 411, and the housing base 409 at opposite ends of the housing 404.

[0094] Figure 8D shows a cross section through the sensor window cleaning module 301 proximate the front of the sensor window cleaning module 301 showing the relationship between the liquid nozzle channel 419 and the air conduit 420. As shown in Figure 8D, the air conduit 420 is formed when the housing cap 406 and housing base 409 are assembled. The air conduit 420 is between the inner wall 407 of the housing cap 406 and the housing base 409. The air conduit 420 transfers air to the air nozzles 421.

[0095] In some implementations, the set of air nozzles 421 is arranged circumferentially around the bottom of the sensor window cleaning module 301 at the interface of the housing base 409 and the inner wall 407 of the housing cap 406. The set of air nozzles 421 is positioned a different set distance from a face of sensor window 302 than the set of liquid nozzles 416. The set of air nozzles 421 is positioned between the inner wall 407 of the housing cap 406 and the housing base 409 close to the sensor window 302 (not shown) when it is positioned in the sensor window cleaning module 301. The set of air nozzles 421 may include any number of nozzles greater than two. The set of air nozzles 421 may include 10 nozzles, spaced approximately equal distances apart around the interface between the inner wall 407 of the housing cap 406 and the housing base 409. The set of air nozzles 421 are disposed so that air output by the set of air nozzles 421 is directed towards the sensor window 302. In some implementations, the set of air nozzles 421 are configured in groups and arranged around the housing base 409. For example, a group of five nozzles may be spaced equally apart along one half of the circumference of the interface between the housing base 409 and the inner wall 407 of the housing cap 406, while another group of five nozzles may be spaced equally apart along a second half of the circumference of the interface between the housing base 409 and the inner wall 407 of the housing cap 406,. There may be any number of groups with each group having one or more nozzles.

[0096] In some implementations, the set of air nozzles 421 extends approximately 45 degrees, 60 degrees, 90 degrees, or 180 degrees around the bottom of the housing base 409 to direct the air toward the sensor window 302. In some implementations, the set of air nozzles 421 are arranged circumferentially around the sensor window 302 to direct the air toward the sensor window 302. In some implementations, the set of air nozzles 421 is contiguously or evenly-26- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USdistributed about the interface between the housing base 409 and the inner wall 407 of the housing cap 406 to direct the air toward the sensor window 302 (e.g., at about every 15 degrees, 25 degrees, 45 degrees, 60 degrees, 90 degrees, 120 degrees, 180 degrees, and the like.) “About” in this instance is approximately plus or minus 10 percent of the maximum angle of a given range. In some implementations, the set of air nozzles 421 is arranged in groups of nozzles. In some implementations, each group of nozzles includes between 1 and 5 nozzles. In some implementations, the group of nozzles comprises 3 nozzles. More details on the implementation of the air nozzles 421 are provided below with reference to Figures 11A-11C.

[0097] In some implementations, the set of air nozzles 421 have a nozzle angle, where the nozzle angle is measured relative to a vertical longitudinal axis of the sensor window cleaning module 301 and relative to a horizontal axis, and where the nozzle angle is at least one of a) tilted away from the vertical axis and towards the sensor window and b) tilted towards the horizontal axis. In some implementations, the nozzle angle is tilted away from the vertical axis from about 0 to 5 degrees, 0 to 10 degrees, 0 to 15 degrees, 0 to 20 degrees, 0 to 30 degrees, 0 to 45 degrees, and 0 to 60 degrees, or at any fixed point (e.g., 3 degrees, 5 degrees, 7.5 degrees, 10 degrees, 15 degrees, 20 degrees, 45 degrees) within those ranges. “About” in this instance is approximately plus or minus 10 percent of the maximum angle of a given range. In some implementations, the air is dispersed from the set of air nozzles 421 at a selected pressure, which is a function of the flow rate of the air and the geometry of the nozzle. In some implementations, the pressure is from about 0 to 100 pounds per square inch (psi), 0 to 80 psi, 0 to 50 psi, 0 to 35 psi, 0 to 20 psi, and 0 to 10 psi, or at any pressure (e.g., 3 psi, 5 psi, 10 psi, 20 psi, 35 psi, 50 psi, and 80 psi) within those ranges. “About” in this instance is considered to be plus or minus 10 percent of the maximum pressure of a given range.

[0098] Referring now to Figure 9A, the sensor window cleaning module 301 performing an air or gas cleaning of the sensor window 302 is shown. Figure 9A shows airflow through the air conduit 420 of the sensor window cleaning module 301. The air passes through the air conduit 420. The air enters through the air inlet (not shown If Figure 9A) and passes around the air conduit 420. Once the air enters the air conduit 420, the air splits to move around the air conduit 420. The air conduit 420 is open so air may move freely in any direction around the air conduit 420. The air passes out through the air nozzles 421a, 421b, 421c, 421d, 421e, 421f, 421g, 421h, 421i, 421j,-27- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US421k, 4211, 421m, 421n, and 421o and is directed toward the sensor window 302. The air nozzles 421 are angled to direct the air onto the sensor window 302. As the air passes through the air conduit 420 air pressure is lost as air exits the air conduit 420 through successive air nozzles 421. When the air reaches the air nozzles 421 on the far side of the sensor window cleaning module 301 the pressure decreases. As is shown in Figure 9A, the pressure curves down at least from air nozzle 42 Id on one side and from 421k on the other side.

[0099] The air hits the sensor window 302 at one or more points of impact. The air hits the sensor window 302 at a point of impact. As the air impacts the sensor window 302 the velocity does not measurably decrease. The velocity of the air decreases as the air moves down the sensor window 302 away from the point of impact on the sensor window 302. The set of air nozzles 421 are positioned circumferentially around the sensor window 302, a set distance from the sensor window 302. The closer to the sensor window 302 the set of air nozzles 421 are positioned the greater the ability of the air to slide down the sensor window 302. Additionally, the positioning of the set of air nozzles 421, at a distance close to the sensor window 302 minimizes the amount of the air that ricochets off the sensor window 302. In some implementations, the air pushes obstructions down off the sensor window 302. In some implementations, the air also pushes any residual liquid, applied by the set of liquid nozzles 416, off the sensor window 302. In some implementations, the air is dispensed against the sensor window 302 to remove any obstruction that is on the sensor window 302.

[0100] Increasing the pressure of the air and liquid as the air and the liquid are dispensed from the set of air nozzles 421 or the set of liquid nozzles 416, respectively, to impact the sensor window 302, increases the ability of the air and the liquid to remove obstructions from the sensor window 302. It should be understood that above number of nozzles, groups of nozzles, angles of nozzles, positions of nozzles may be different between the set of air nozzles 421 and the set of liquid nozzles 416 based on a variety of factors including but not limited to different liquids, different spacing from the longitudinal axis of the sensor window cleaning module 301, different pressures, different frequencies of use, etc.

[0101] Referring now to Figure 9B, the sensor window cleaning module 301 performing a liquid cleaning of the sensor window 302 is shown. In some implementations, a liquid is dispensed against the sensor window 302 to remove any obstructions that are on the sensor window 302. In-28- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USsome implementations, obstructions may adhere to the sensor window 302, and the liquid is dispensed to remove the obstructions. In some implementations, the obstruction is sitting against the sensor window 302 and the liquid is dispensed through the set of liquid nozzles 416 to remove the obstruction. Figure 9B shows the sensor window cleaning module 301 performing the liquid cleaning of the sensor window 302 with liquid being dispensed by the set of liquid nozzles 416 which causes the liquid to be sprayed upon the sensor window 302. Figure 9B shows a representation of liquid being sprayed from the liquid nozzles 416. One side of the sensor window 302 and the sensor window cleaning module 301 is shown. Liquid nozzles 416d, 416e, 416f, 416g, 416h, and 416i are shown dispensing liquid. The liquid nozzles 416 are designed to disperse the liquid being dispensed to cover area of the sensor window 302 through which the sensor creates a perception of the environment. The liquid hits the sensor window 302 at one or more points of impact. At the point of impact, the velocity remains high. The velocity of the liquid decreases as the liquid moves away from the point of impact on the sensor window 302. Some of the liquid ricochets off the sensor window 302. Any liquid that ricochets off the sensor window 302 is not contributing to cleaning the sensor window 302. The set of liquid nozzles 416 are positioned circumferentially around the sensor window 302 at a set distance from the sensor window 302. The further from the sensor window 302 that the first set of nozzles are positioned, the greater the angle of impact of the liquid relative to the sensor window 302. The closer to 90 degrees or closer to perpendicular to the plane of the sensor window 302 that the angle of the fluid is, the more fluid will ricochet off the face of the sensor window 302. With the set of liquid nozzles 416 positioned further away from the sensor window 302, the first fluid spreads out to encompass a larger area of the sensor window 302.

[0102] Referring now to Figures 10A-10D, various different implementations of the liquid nozzles 416 of the sensor window cleaning module 301 are shown. In some implementations, the set of liquid nozzles 416 and the set of air nozzles 421 each include at least one exit or nozzle aperture with a shape of one of a circle, a slot, a square, a rectangle, and / or an oval. Figures 10A-10D show various nozzle configurations as trapezoidal protrusions from the housing base 409. Figure 10A shows a liquid nozzle 416 of the set of liquid nozzles 416 that has a round nozzle aperture 423. The round nozzle aperture 423 directs the liquid in a tight stream at the sensor window 302. A tight stream will have high pressure and while high pressure will be beneficial in-29- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-UScleaning the sensor window 302, a tight stream will require more nozzles to cover the entire area necessary to clean or will leave some of the area uncleaned. Figure 10B shows a rectangular aperture 424 for the liquid nozzle 416 of the set of liquid nozzles 416. The rectangular aperture 424 spreads the liquid dispensed from the liquid nozzle 416 over a greater surface area. Figure 10C shows a flatter rectangular aperture 425. This flatter rectangular aperture 425 will spread the dispensed liquid over a greater circumferential area with higher intensity. Figure 10D shows an intermediate height rectangular aperture 426. The intermediate height rectangular aperture 426 for the liquid nozzle 416 creates a dispersion covering a large area while retaining pressure.

[0103] Referring now to Figures 11A-11C, various different implementations of air nozzles 421 of the sensor window cleaning module 301 are shown. Figures 11A-11C show configurations of air nozzles 421. The air nozzles 421 are created at the interface of the inner wall 407 of the housing cap 406 and the housing base 409. The air nozzles 421 are formed as spaces between connecting portions and air nozzle dividers 1102 of the inner wall 407 of the housing cap 406 and the housing base 409. There is an inverse relationship between the size of the air nozzles 421 and the size of the air nozzle dividers 1102 along the circumference of the housing 404. Figure 11 A depicts a plurality of wide air nozzles 421x and small air nozzle dividers 1102a. Figure 1 IB depicts air nozzles 421y and air nozzle dividers 1102b of intermediate size. Figure 11C depicts small air nozzles 421z and large air nozzle dividers 1102c. It should be understood that the air nozzle dividers 1102 may be formed as part of the housing cap 406, the housing base 409 or both.

[0104] Referring now to Figures 12A and 12B, a second implementation of the sensor window cleaning module 301 is described. Figure 12A shows a perspective view, partially in cross-section of an air nozzle 42 ly. The inner wall 407 of the housing cap 406 and the housing base 409 form the air conduit 420. The air nozzles 421 such as air nozzle 42 ly connect to the air conduit 420 via a channel 1202 formed in the space between air nozzle dividers 1102b.

[0105] Figure 12B is a close-up cross section of one implementation of the interface between the inner wall 407 of the housing cap 406 and the housing base 409. When assembling machined parts, it may be difficult to machine parts flat so they align perfectly with each other. In some implementations one of the inner wall 407 of the housing cap 406 and the housing base 409 are machined with a slight protrusion 1204. In some implementations, the slight protrusion 1204 is on the housing cap 406 and in other implementations the slight protrusion 1204 is on the-30- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-UShousing base 409. This protrusion 1204 on housing base 409 seats firmly against the housing cap 406. In Figure 12B, the inner wall 407 of the housing cap 406 includes the air nozzle divider 1102b. The air nozzle divider 1102b includes the protrusion 1204. The protrusion 1204 sits in the housing base 409, and seals the air nozzle divider 1102b preventing air from passing through the air nozzle divider.

[0106] Liquid may remain on the sensor window 302 following the liquid being dispensed on the sensor window, or due to environmental conditions. The liquid that remains on the sensor window 302 often collects as water droplets. In some implementations, the air is dispensed by the set of air nozzles 421 against the sensor window 302. This causes any debris or obstructions to be removed from the sensor window 302 including any water droplets. This provides a clean sensor window surface. Any obstruction sitting against the sensor window 302 is removed by the air dispensed through the set of air nozzles 421.

[0107] Implementations of the sensor cleaning system 200 include various modes of cleaning that correspond to various environmental conditions. In some implementations, one mode is a persistent cleaning mode. The persistent cleaning mode operates continuously once activated. Conditions for the activation of the persistent cleaning mode include but are not limited to rain, snow, and dust. In the persistent cleaning mode, the air nozzles are dispensing air at a set rate. In some implementations, air is dispensed from about 50 milliseconds to about 500 milliseconds. In some implementations, air is dispensed for from about 100 milliseconds to about 300 milliseconds. In some implementations, air is dispensed for about 200 milliseconds. In certain implementations air is dispensed for about 50, 100, 150, 200, 250, 300, 350, 400, 450, or 500 milliseconds. In some implementations, air is dispensed at intervals of from about 1 second to about 60 seconds. In some implementations, air is dispensed at intervals of from about 1 second to about 30 seconds. In some implementations, air is dispensed at intervals of from about 1 second to about 10 seconds. In certain implementations, air is dispensed at intervals of about 1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, or 60 seconds.

[0108] In some implementations, another mode is an on-demand mode. The on-demand mode operates as needed to clean the sensor window 302. Conditions for the on-demand mode include but are not limited to splashing or single events of sensor obstruction. In some implementations, the on-demand mode dispenses a short burst of air from the air nozzles 421. In-31- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USsome implementations, air is dispensed from about 50 milliseconds to about 500 milliseconds. In some implementations, air is dispensed for from about 100 milliseconds to about 300 milliseconds. In some implementations, air is dispensed for about 200 milliseconds. In certain implementations air is dispensed for about 50, 100, 150, 200, 250, 300, 350, 400, 450, or 500 milliseconds.

[0109] In some implementations, yet another mode is enduring obstruction, which generally occurs when debris sticks to the sensor window. Such conditions include but are not limited to mud, dirty rain, salty snow from street clearing operations, and insect impacts. In these conditions a cleaning mode utilizing liquid and air may be required. In some implementations of enduring obstruction, air is dispensed followed by liquid, which is in turn followed by air. In some implementations liquid is dispensed followed by air. In some implementations, air is dispensed from about 50 milliseconds to about 500 milliseconds. In some implementations, air is dispensed for from about 100 milliseconds to about 300 milliseconds. In some implementations, air is dispensed for about 200 milliseconds. In certain implementations air is dispensed for about 50, 100, 150, 200, 250, 300, 350, 400, 450, or 500 milliseconds. In some implementations, liquid is dispensed from about 50 milliseconds to about 500 milliseconds. In some implementations, liquid is dispensed for from about 100 milliseconds to about 300 milliseconds. In some implementations, liquid is dispensed for about 200 milliseconds. In certain implementations air is dispensed for about 50, 100, 150, 200, 250, 300, 350, 400, 450, or 500 milliseconds.

[0110] In some implementations, the quality of the sensor signal is determined by the perception subsystem 154 that provides a detailed perception of the environment extending away from the sensor window 302, and the quality of the sensor signal is provided to the processor 122 or the controller 202. In some implementations, the quality of the sensor signal is determined by the processor 122 or the controller 202. The quality of the sensor signal may be compared to a first quality threshold and a second quality threshold. If the quality of the sensor signal satisfies the first quality threshold and the second quality threshold, then the sensor window 302 does not require any cleaning. If the quality of the sensor signal does not satisfy the first quality threshold, then the sensor window 302 needs to be cleaned in order to for the sensor 130 to operate properly within preferred operational parameters. If the quality of the sensor signal satisfies the first quality threshold, but does not satisfy the second quality threshold, then the sensor window 302 should be cleaned so that the sensor 130 so that the operation of the sensor can be improved to operate within-32- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USpreferred operational parameters. Thus, the first quality threshold represents a lower quality of sensor signal as compared with the first quality threshold. The processor will activate one of the modes for cleaning the sensor depending on the quality of the sensor signal.

[0111] In some implementations, the cleaning of the sensor window may be modified in a variety of respects. For example, while dispensing the air or dispensing the liquid, the processor may receive a second signal from the sensor 130 and use it to determine whether to discontinue dispensing liquid onto the sensor window 302. In particular, the processor determines the quality of the second signal, compare the quality of the second signal to the first quality threshold, determine whether the quality of the second signal satisfies the first quality threshold, and responsive to determining that the quality of the second signal does not satisfy the first quality threshold, discontinuing dispensing the air from the set of air nozzles 421 onto the sensor window 302. If the if the quality of the second signal does satisfy the first quality threshold, it means that the sensor window 302 has been cleaned. Similarly, the dispensing of the liquid may use sensor signals received after dispensing has begun to determine when to cease dispensing the liquid by the set of liquid nozzles onto the sensor window 302.

[0112] As shown in Figure 13, an implementation of a method 1300 of cleaning the sensor window 302 includes receiving 1302 a signal from a sensor 130 protected by the sensor window 302. The method 1300 continues by determining 1304 a quality of the sensor signal. In some implementations, the quality of the sensor signal is determined by the perception subsystem 154 that provides a detailed perception of the environment extending away from the sensor window 302, and the quality of the sensor signal is provided to the processor 122 or the controller 202. In some implementations, the quality of the sensor signal is determined by the processor 122 or the controller 202. The method 1300 next compares 1306 the quality of the sensor signal to a first quality threshold and a second quality threshold. If the quality of the sensor signal satisfies the first quality threshold and the second quality threshold, then the sensor window 302 does not require any cleaning. If the quality of the sensor signal does not satisfy the first quality threshold, then the sensor window 302 needs to be cleaned in order to for the sensor 130 to operate properly within preferred operational parameters. If the quality of the sensor signal satisfies the first quality threshold, but does not satisfy the second quality threshold, then the sensor window 302 should be cleaned so that the sensor 130 so that the operation of the sensor can be improved to operate within-33- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USpreferred operational parameters. Thus, the first quality threshold represents a lower quality of sensor signal as compared with the first quality threshold. Next, the method 1300 determines 1308 whether the quality of the sensor signal satisfies the first quality threshold. If not, the method 1300 proceeds to block 1312 to dispense the first fluid. In some implementations, the first fluid is a liquid, and block 1312 causes the first set of nozzles 303 to output a liquid onto the sensor window 302 to remove any debris or other materials that may affect the quality of the signal generated by the sensor 130. After block 1312, the method 1300 loops to receiving 1302 a signal from the sensor 130. In some optional implementations as indicated by the dashed line 1316, the method 1300 may dispense 1314 the second fluid each time the first fluid is dispensed. In some implementations, the method 1300 waits a predetermined amount of time for the first fluid, a liquid, to fall off the sensor window 302 before dispensing the second liquid from the second set of nozzles onto the sensor window 302. In such an implementation, the method 1300 dispenses 1314 a second fluid before looping to receiving 1302. For example, the second fluid may be air and may be dispensed by the second set of nozzles 305 to remove any liquid droplets left on the sensor window 302 by performing block 1312.

[0113] On the other hand, if the method 1300 determined 1308 that the quality of the sensor signal satisfied the first quality threshold, the method 1300 continues to determine 1310 whether the quality of the sensor signal satisfies the second quality threshold. If the quality of the sensor signal satisfies the second quality threshold, the method 1300 loops back to receiving 1302 a signal from the sensor 130. Otherwise, if the method 1300 determined 1310 that the quality of the sensor signal does not satisfy the second quality threshold, the method 1300 continues to dispense 1314 the second fluid. As noted above, the second fluid may be a gas or air with the ability to remove debris and material from the sensor window 302. After dispensing 1314 the second fluid, the method 1300 loops back to receiving 1302 a signal from the sensor 130. Although not shown, the method 1300 may include a delay after block 1312 for the first fluid, or dispensing 1314 the second fluid before looping back to 1302 to provide time for the cleaning to be detected. In some implementations, the steps of the method 1300 may be repeated any number of times as the condition of the sensor window 302 changes over time.

[0114] In some implementations, the method 1300 may be modified in a variety of respects. For example, while dispensing 1312 the first fluid or dispensing 313 or the second fluid,-34- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USthe method 1300 may receive a second signal from the sensor and use it to determine whether to discontinue dispensing liquid onto the sensor window 302. In particular, the method 1300 determines the quality of the sensor of the second signal, compare the quality of the second signal to the first quality threshold, determine whether the quality of the second signal satisfies the first quality threshold, and responsive to determining that the quality of the second signal does not satisfying the first quality threshold, discontinuing dispensing the first liquid from the first set of nozzles onto the sensor window 302. If the if the quality of the second signal does not satisfy the first quality threshold, it means that the sensor window 302 has been cleaned. Similarly, the dispensing 1314 of the second fluid may use sensor signals received after dispensing has begun to determine when to cease dispensing the second fluid by the second set of nozzles onto the sensor window 302.

[0115] The previous description is provided to enable practice of the various aspects described herein. Various modifications to these aspects will be understood, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more.” Unless specifically stated otherwise, the term "some" refers to one or more. All structural and functional equivalents to the elements of the various aspects described throughout the previous description that are known or later come to be known are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed as a means plus function unless the element is expressly recited using the phrase "means for."

[0116] It is understood that the specific order or hierarchy of blocks in the processes disclosed is an example of illustrative approaches. Based upon design preferences, it is understood that the specific order or hierarchy of blocks in the processes may be rearranged while remaining within the scope of the previous description. The accompanying method claims to present elements of the various blocks in a sample order and are not meant to be limited to the specific order or hierarchy presented.-35- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

[0117] The previous description of the disclosed implementations is provided to enable others to make or use the disclosed subject matter. Various modifications to these implementations will be readily apparent, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of the previous description. Thus, the previous description is not intended to be limited to the implementations shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0118] The various examples illustrated and described are provided merely as examples to illustrate various features of the claims. However, features shown and described with respect to any given example are not necessarily limited to the associated example and may be used or combined with other examples that are shown and described. Further, the claims are not intended to be limited by any one example.

[0119] The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the blocks of various examples must be performed in the order presented. As will be appreciated, the order of blocks in the foregoing examples may be performed in any order. Words such as “thereafter,” “then,” “next,” etc., are not intended to limit the order of the blocks; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.

[0120] The various illustrative logical blocks, modules, circuits, and algorithm blocks described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and blocks have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

[0121] The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the examples disclosed herein may be-36- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USimplemented or performed with a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some blocks or methods may be performed by circuitry that is specific to a given function.

[0122] In some examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The blocks of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and / or instructions on a non-transitory processor-readable storage medium and / or computer-readable storage medium, which may be incorporated into a computer program product.

[0123] The preceding description of the disclosed examples is provided to enable others to make or use the present disclosure. Various modifications to these examples will be readily-37- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-USapparent, and the generic principles defined herein may be applied to some examples without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the examples shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.-38- Atty Dkt. 10575-10728-US / Client Ref. No. A-052254-US

Claims

1. WHAT IS CLAIMED IS:

1. A sensor window cleaning system for use on an autonomous vehicle, the sensor window cleaning system comprising:a sensor window;a sensor configured to generate a sensor signal representing an environment, and the sensor housed within the sensor window;a sensor window cleaning module having a set of liquid nozzles configured to dispense a liquid toward the sensor window , and a set of air nozzles configured to dispense air toward the sensor window ; and a controller communicatively connected to the sensor and the sensor window cleaning module, the controller receiving the sensor signal and determining a quality of the sensor signal, the controller determining whether the quality of the sensor signal satisfies a first quality threshold and a second quality threshold, and responsive to determining that the sensor signal satisfies the first quality threshold controlling the sensor window cleaning module to dispense the air from the set of air nozzles, and responsive to determining that the sensor signal satisfies the second quality threshold controlling the sensor window cleaning module to dispense liquid from the set of liquid nozzles.

2. The sensor window cleaning system of claim 1, wherein the sensor window is cylindrical, and the set of air nozzles and the set of liquid nozzles are arranged around a circumference of the sensor window.

3. The sensor window cleaning system of claim 1, wherein the set of air nozzles are positioned at a first distance from the sensor window, and the set of liquid nozzles are positioned at a second distance from the sensor window, wherein the second distance is greater than the first distance.

4. The sensor window cleaning system of claim 1, wherein the sensor is one from a group of a light detection and ranging (LIDAR) sensor and a radio detection and ranging (RADAR) sensor.-39- Atty Dkt 10575-10728-US / Client Ref No A-052254-US5. The sensor window cleaning system of claim 1, wherein the sensor window cleaning module includes a housing cap and a housing base, the housing cap and the housing base forming an air conduit coupled to the set of air nozzles and a liquid conduit coupled to the set of liquid nozzles.

6. A sensor window cleaning module comprising:a housing cap and a housing base;a set of liquid nozzles for directing a liquid at a sensor window protecting a sensor, the set of liquid nozzles formed in the housing base;a set of air nozzles for directing air at the sensor window, the set of air nozzles formed at an interface of the housing base and the housing cap;a liquid conduit that transports the liquid from an extenor of the sensor window cleaning module to the set of liquid nozzles; andan air conduit that transports the air from the exterior of the sensor window cleaning module to the set of air nozzles.

7. The sensor window cleaning module of claim 6, wherein the housing cap has a substantially cylindrical shape and the housing base has a substantially cylindrical shape and the set of liquid nozzles are positioned on a bottom side of the housing base between an inner wall and an outer wall of the housing base , and the set of air nozzles are positioned between the inner wall of the housing base and an inner wall of the housing cap.

8. The sensor window cleaning module of claim 7, wherein the set of liquid nozzles are positioned at a first distance from the inner wall of the housing cap, and the set of air nozzles are positioned at a second distance from the inner wall of the housing cap, wherein first distance is greater than the second distance.

9. The sensor window cleaning module of claim 8, further comprising a pressure augmenter coupling the liquid conduit to the set of liquid nozzles.-40- Atty. Dkt 10575-10728-US / Client Ref No A-052254-US10. The sensor window cleaning module of claim 8, wherein air is dispensed from the air nozzles for from about 100 milliseconds to about 300 milliseconds at an interval of from about 1 second to about 10 seconds.

11. The sensor window cleaning module of claim 10, wherein air is dispensed from the air nozzles for about 200 milliseconds at an interval of about 1 second.

12. The sensor window cleaning module of claim 10, wherein liquid is dispensed from liquid nozzles followed by air being dispensed from air nozzles.

13. The sensor window cleaning module of claim 6, wherein the set of liquid nozzles has 3 to 11 nozzles, and the set of air nozzles has 8 to 26 nozzles.

14. A method for cleaning a window of a sensor on an autonomous vehicle, the method comprising:receiving a signal from the sensor;determining a quality of the signal;comparing the quality of the signal to a first quality threshold;determining whether the quality of the signal satisfies the first quality threshold; responsive to the quality of the signal satisfying the first quality threshold, dispensing air from a set of air nozzles onto the window;comparing the quality of the signal to a second qualify7threshold;determining whether the quality of the signal satisfies the second quality threshold;andresponsive to the quality of the signal satisfying the second quality threshold, dispensing a liquid from a set of liquid nozzles onto the window.

15. The method of claim 14, further comprising dispensing air from the set of air nozzles following dispensing liquid from the set of liquid nozzles,16. The method of claim 14, wherein the first quality threshold is associated with a signal qualify' that is degraded more than a signal quality associated with the second quality threshold.-41- Atty. Dkt 10575-10728-US / Client Ref No A-052254-US17. The method of claim 14, wherein the quality of the signal is determined by a perception control system of the autonomous vehicle.

18. The method of claim 14, further comprising dispensing the air from the set of air nozzles onto the window for a predetermined dispensing rate.

19. The method of claim 18, wherein the air is dispensed for from about 100 milliseconds to about 300 milliseconds at an interval of from about 1 second to about 10 seconds.

20. The method of claim 18, further comprising dispensing liquid from the liquid nozzles followed by dispensing air from the air nozzles.-42- Atty. Dkt 10575-10728-US / Client Ref No A-052254-US