Sensor cleaning system

A context-driven cleaning system for autonomous vehicle sensors adapts cleaning based on vehicle speed and environmental conditions, ensuring efficient and non-disruptive cleaning to maintain sensor clarity and system availability.

WO2025260181A1PCT designated stage Publication Date: 2025-12-26WAABI INNOVATION INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CA2025/050842
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-17
Filing Date
2025-06-17
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Conventional cleaning systems for autonomous vehicle sensors fail to address adaptive, efficient, and non-disruptive cleaning, leading to excessive media consumption, simultaneous sensor blinding, and reduced system availability due to environmental contaminants like dust, mud, rain, snow, insects, and road debris.

Method used

A context-driven cleaning architecture that activates air or liquid cleaning based on vehicle speed, rain detection, sensor type, and orientation, with scheduled events to prevent simultaneous cleaning of sensors with overlapping fields of view, synchronized with sensor operation cycles, and dynamic frequency modulation based on environmental conditions.

Benefits of technology

Enhances sensor performance and supports continuous autonomous operation by maintaining optical clarity and operational reliability while conserving resources and avoiding interference with data acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CA2025050842_26122025_PF_FP_ABST
    Figure CA2025050842_26122025_PF_FP_ABST
Patent Text Reader

Abstract

A method implements a sensor cleaning system. The method involves receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata. The method further involves receiving cleaning instructions including one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions. The method further involves selecting, based on the pod metadata, a sensor group of a sensor pod. The method further involves scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule. The method further involves actuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule.
Need to check novelty before this filing date? Find Prior Art

Description

SENSOR CLEANING SYSTEMCROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application 63 / 661,035, filed June 17, 2024, which is incorporated by reference herein.BACKGROUND

[0002] Autonomous vehicles, such as self-driving trucks, may use sophisticated arrays of external sensors (including cameras, LiDAR, radar, ultrasonic devices, etc.) to perceive surroundings, detect obstacles, interpret traffic conditions, and make navigation decisions in real time. The sensors may be mounted around the vehicle to provide environmental awareness, but the exposed placement makes the sensors vulnerable to contamination from environmental factors such as dust, mud, rain, snow, insects, road debris, etc. Obstructions on sensor surfaces may degrade data quality, which may lead to impaired perception and reduced system performance.SUMMARY

[0003] In general, in one or more aspects, the disclosure relates to a method implementing a sensor cleaning system. The method involves receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata. The method further involves receiving cleaning instructions including one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions. The method further involves selecting, based on the pod metadata, a sensor group of a sensor pod. The method further involves scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule. The method further involves actuating the set ofactuators to clean a set of sensors of the sensor group according to the cleaning schedule.

[0004] In general, in one or more aspects, the disclosure relates to a system that includes at least one processor and an application that executes on the at least one processor. Executing the application performs receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata. Executing the application further performs receiving cleaning instructions including one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions. Executing the application further performs selecting, based on the pod metadata, a sensor group of a sensor pod. Executing the application further performs scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule. Executing the application further performs actuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule.

[0005] In general, in one or more aspects, the disclosure relates to a non-transitory computer readable medium including instructions executable by at least one processor. Executing the instructions performs receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata. Executing the instructions further performs receiving cleaning instructions including one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions. Executing the instructions further performs selecting, based on the pod metadata, a sensor group of a sensor pod. Executing the instructions further performs scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule. Executing the instructions further performs actuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule.

[0006] Other aspects of one or more embodiments may be apparent from the following description and the appended claims.BRIEF DESCRIPTION OF DRAWINGS

[0007] FIG. 1 shows a diagram in accordance with the disclosure.

[0008] FIG. 2 shows a method in accordance with the disclosure.

[0009] FIG. 3, FIG. 4, FIG. 5, FIG. 6, FIG. 7, and FIG. 8 show examples in accordance with the disclosure.

[0010] FIG. 9 shows a diagram of an autonomous system in accordance with one or more embodiments.

[0011] FIG. 10 shows a flowchart of the processing by the autonomous system in accordance with one or more embodiments.

[0012] Similar elements in the various figures may be denoted by similar names and reference numerals. The details of features and elements described in one figure may extend to similarly named features and elements in different figures.DETAILED DESCRIPTION

[0013] Embodiments of the disclosure implement a sensor cleaning system for autonomous systems. Autonomous systems may include vehicle platforms that incorporate external sensors such as cameras and lidar to perceive surroundings and make navigation decisions. Placement of the sensors on the exterior of the vehicle exposes the sensors to environmental contaminants including dust, mud, rain, snow, insects, road debris, etc. Accumulation of such materials on sensor surfaces may degrade data quality and compromise perception accuracy. Conventional cleaning systems fail to address issues for adaptive, efficient, and non-disruptive cleaning, which may result in excessive media consumption, simultaneous sensor blinding, and reduced system availability.

[0014] Embodiments of the disclosure improve the cleaning systems of autonomous systems by utilizing a context-driven cleaning architecture that activates air or liquid cleaning based on vehicle speed, rain detection, sensor type, sensor orientation, etc. Cleaning events are scheduled using phase separation to prevent simultaneous cleaning of sensors with overlapping fields of view or similar sensing modalities. Logical cleaning groups are defined by sensor location and function for improved scheduling and resource allocation. Cleaning events for camera sensors may be synchronized with image capture cycles using global shutter timing to avoid interference with data acquisition. Cleaning frequency may be dynamically modulated based on air pressure, rain rate, and sensor occlusion likelihood. Fouling events (e.g., bug strikes) may be detected using changes in depth of field, enabling closed-loop cleaning activation. End-of-day purge operations and pressure management routines maintain system readiness and extend component life. Embodiments of the disclosure are robust and efficient cleaning systems that enhances sensor performance and supports continuous autonomous operation.

[0015] Turning to FIG. 1, the autonomous system (100) is an implementation of the autonomous system (900) of FIG. 9 and includes a system configured to automatically navigate through an environment while managing sensor cleaning operations. The cleaning operations execute with the autonomous system data (102), the cleaning instructions (130), the cleaning controller (150), the system actuators (155), and the sensor pods (160). The autonomous system (100) functions as a centralized data and control architecture that executes environmental awareness, sensor contextualization, and system-level orchestration of cleaning operations while performing perception and navigation tasks.

[0016] A cleaning operation refers to a system-level process executed by the cleaning controller (150) to manage the scheduling, coordination, and execution of one or more cleaning events across a set of sensors or sensor pods of anautonomous system. A cleaning operation may include evaluating contextual data (e.g, vehicle speed, rain presence, sensor metadata), interpreting cleaning instructions (e.g, phasing, frequency, synchronization), generating a cleaning schedule, and issuing control signals to actuators to perform sensor cleaning in a coordinated and non-conflicting maimer. The sensor metadata may include coarse metrics (e.g, depth of field) and near real time identification of fouling of the sensors.

[0017] A cleaning event refers to a discrete actuation of one or more cleaning actuators (e.g, air solenoids, liquid solenoids) directed at a specific sensor or sensor group. A cleaning event may involve the delivery of air, liquid, or both to a sensor surface and may be synchronized with sensor operation cycles (e.g, camera shutter intervals) to avoid interference with data acquisition. Cleaning events are the atomic units of execution within a cleaning operation and are scheduled and triggered in accordance with the cleaning schedule generated by the cleaning controller.

[0018] The autonomous system data (102) includes structured data values and associated data structures that represent the operational and environmental state of the autonomous system (100). The autonomous system data (102) is generated, collected, and maintained by the autonomous system (100) during operation and is an input for downstream control processes, including sensor cleaning coordination. The autonomous system data (102) is stored and accessed as text values or binary values in a format that supports real-time decision-making and integration with other system components. The content of the autonomous system data (102) includes the speed data (105), the rain data (108), the sensor metadata (110), and the pod metadata (120). The autonomous system data (102) is accessed by the cleaning controller (150) and other components to inform context-sensitive scheduling and actuation decisions.

[0019] The speed data (105) is component of the autonomous system data (102) and represents a structured data value that reflects the real-time speed of the autonomous system (100). In some embodiments, the speed data may reflect the velocity of the autonomous system (100). The speed data (105) is generated by onboard vehicle sensors, such as wheel speed sensors, GPS modules, or inertial measurement units, and is continuously updated to reflect the current motion state of the vehicle. The data is stored in a format suitable for real-time access and integration with control logic, and may be a scalar value representing speed in units, such as meters per second, kilometers per hour, miles per hour, etc. The speed data (105) is used by the autonomous system (100) to determine operational thresholds that influence system behavior, particularly in relation to sensor cleaning operations. For example, the speed data (105) may be used to select between different cleaning modalities, such as disabling cleaning when the vehicle is stationary, enabling air cleaning without liquid cleaning at moderate speeds and activating both air and liquid cleaning at higher speeds. The value of the speed data (105) is interpreted by the cleaning controller (150) in conjunction with other data inputs to schedule and execute cleaning events in a maimer that avoids interference with perception and navigation.

[0020] The rain data (108) is a component of the autonomous system data (102) and represents a structured data value that indicates the presence or absence of precipitation in the environment surrounding the autonomous system (100). The rain data (108) may be derived from one or more onboard detection mechanisms, which may include direct rain sensors, wiper stalk position sensors, indirect inferences from environmental sensing systems, etc. For example, the rain data (108) may be derived from primary radar data via a disdrometer function, which may be independent or existing to a radar sensing subsystem of the autonomous system (100). The data is formatted for real-time access and may be represented as a binary or scalar value indicating whether rain is occurring and, in someimplementations, the intensity or rate of precipitation. When the rain data (108) indicates the presence of rain, the autonomous system (100) may disable liquid cleaning to avoid redundancy or inefficiency, relying instead on air-based cleaning methods. The value of the rain data (108) is continuously monitored and interpreted by control logic to adapt cleaning operations to current weather conditions, conserve cleaning media, and maintain sensor clarity.

[0021] The sensor metadata (110) is a component of the autonomous system data (102) and includes structured data that defines the characteristics and classification of each of the sensors (168) integrated into the autonomous system (100). The sensor metadata (110) may be implemented as a set of data structures that encode descriptive attributes for the corresponding sensor to interpret sensor roles, capabilities, and constraints in the context of operational decision-making. The sensor metadata (110) is generated during system configuration and may be updated dynamically to reflect changes in sensor configuration or system state. The sensor metadata (110) is used by the autonomous system (100) to organize sensors into logical groups, apply cleaning rules based on sensor characteristics, and to avoid operational conflicts such as simultaneous cleaning of interdependent sensors. The sensor metadata (110) includes the sensor type (112), the sensor direction (115), the sensor range (118), etc.

[0022] The sensor type (112) is a component of the sensor metadata (110) that includes a structured data value that identifies the sensing modality of a sensor integrated into the autonomous system (100). The sensor type (112) may be implemented as a categorical data field that classifies each sensor according to operational technology, such as optical imaging, active ranging, etc. The classification is established during system configuration and remains associated with the corresponding sensor throughout operation to support context-aware control and system diagnostics. The sensor type (112) includes values that distinguish between different sensor modalities, such as camera or LiDAR. Eachvalue within the sensor type (112) corresponds to a specific sensing mechanism, which may influence the cleaning of the sensor, the frequency of the servicing of the sensor, and the grouping of the sensor with other sensors for coordinated operation. The sensor type (112) is used by the autonomous system (100) to apply modality-specific rules and constraints, such as avoiding simultaneous cleaning of sensors with overlapping fields of view or similar data acquisition characteristics.

[0023] The sensor direction (115) is a component of the sensor metadata (110) that includes a structured data value that specifies the physical orientation of a sensor relative to the autonomous system (100). The sensor direction (115) may be implemented as a categorical field that encodes directional attributes such as frontfacing, side-facing, rear-facing, downward-facing, etc. The directional classification is assigned during system configuration and remains associated with the sensor to support spatially-aware control logic and cleaning coordination. The sensor direction (115) identifies spatial context for the autonomous system (100) to determine interactions of the sensors with the surrounding environment. The value of the sensor direction (115) influences cleaning frequency, scheduling, and grouping by indicating the sensor exposure to environmental contaminants and likelihood of occlusion. The sensor direction (115) may be used to apply directional constraints to avoid simultaneous cleaning of sensors with overlapping or opposing fields of view.

[0024] The sensor range (118) is a component of the sensor metadata (110) that includes a structured data value that defines the effective detection distance of a sensor integrated into the autonomous system (100). The sensor range (118) may be implemented as a categorical field that classifies each sensor according to an operational range (z.e., range of the effective detection distance). For example, the operational range may be short-range, mid-range, or long-range. The classification is assigned during system configuration and is used throughout system operation for range-aware control logic and cleaning coordination. The value of the sensorrange (118) may influence the frequency of sensor cleaning and the grouping of the sensor (168) for scheduling purposes. The sensor range (118) may be used to enforce operational constraints, such as avoiding simultaneous cleaning of sensors with overlapping or interdependent ranges to prevent perception degradation.

[0025] The pod metadata (120) is a component of the autonomous system data (102) that includes structured data that specifies the physical mounting location of sensor pods on the autonomous system (100). The pod metadata (120) may be implemented as a set of data structures that encode descriptive attributes for the sensor pods (160) to interpret sensor roles, capabilities, and constraints in the context of operational decision-making. The pod metadata (120) is generated during system configuration and may be updated dynamically to reflect changes in sensor configuration or system state. The pod metadata (120) is used by the autonomous system (100) to organize sensors into logical groups, apply cleaning rules based on sensor characteristics, and avoid operational conflicts such as simultaneous cleaning of interdependent sensors. The pod metadata (120) includes the pod location (122).

[0026] The cleaning instructions (130) are a component of the autonomous system (100) that include structured data that defines the operational logic and constraints that form cleaning schedules for executing sensor cleaning events. The cleaning instructions (130) are implemented as a set of rule-based directives that are interpreted by the cleaning controller (150) to determine the timing, type, and conditions for cleaning the sensors (168). The cleaning instructions (130) may operate based on environmental conditions, vehicle dynamics, sensor characteristics, and system-level coordination. The cleaning instructions (130) are stored in a format that supports real-time access and conditional evaluation. The cleaning instructions (130) may be evaluated continuously to execute cleaning actions when appropriate and in a maimer that avoids interference with perception or navigation. The cleaning instructions (130) include the movement instructions(132), the weather instructions (135), the phasing instructions (138), the frequency instructions (140), and the synchronization instructions (142).

[0027] A cleaning event, in the context of the autonomous system (100), refers to a discrete, system-initiated operation in which a set of actuators is activated to remove contaminants from the surface of a set of sensors. A cleaning event is executed in accordance with the cleaning instructions (130) and is triggered based on contextual data such as vehicle speed, environmental conditions, sensor characteristics, system scheduling logic, etc., which may be part of the autonomous system data (102). A cleaning event operates to restore and maintain the optical and functional clarity of a sensor surface for uninterrupted perception and operational reliability of the autonomous system (100). A cleaning event may involve the use of air, liquid, or a combination thereof, and may be synchronized with sensor operation cycles to avoid interference with data acquisition.

[0028] The movement instructions (132) define how movement of a vehicle affects cleaning operations. More specifically, the movement instructions (132) are a component of the cleaning instructions (130) that include structured data that defines the influence of vehicle motion parameters to the activation and modality of cleaning operations within the autonomous system (100). The movement instructions (132) may be implemented as a set of conditional rules that evaluate the current speed of the vehicle, as represented by the speed data (105), to determine whether cleaning should occur and which cleaning method (air, liquid, or both) to use. The movement instructions (132) may be encoded in a format suitable for real-time evaluation by the cleaning controller (150) to execute cleaning events under appropriate motion conditions. The movement instructions (132) may include threshold-based logic that maps specific speed ranges to corresponding cleaning behaviors. For example, the movement instructions (132) may specify that no cleaning is to occur when the vehicle is stationary or moving below a minimum speed threshold (e.g, “less than 5 miles per hour”), that aircleaning is permitted within a moderate speed range (e.g, “between 5 miles per hour and 15 miles per hour”), and that both air and liquid cleaning are enabled above a higher speed threshold (e.g, “greater than 15 miles per hour”). The speeddependent logic controls cleaning operations to execute effectively and safely, accounting for the aerodynamic and mechanical constraints of the system, during motion.

[0029] The weather instructions (135) define how weather affects cleaning operations. More specifically, the weather instructions (135) are a component of the cleaning instructions (130) that include structured data that define the influence of environmental weather conditions on execution of cleaning operations within the autonomous system (100). The weather instructions (135) may be implemented as a set of conditional logic rules that evaluate the presence or absence of precipitation, as indicated by the rain data (108), to enable or suppress specific cleaning modalities (e.g, air or liquid). The weather instructions (135) may be encoded in a format suitable for real-time evaluation and are designed to adapt cleaning events to current weather conditions to increase performance and resource efficiency. The weather instructions (135) may include logic that disables liquid cleaning when rain is detected and enables liquid cleaning when no rain is present. The rain based behavior prevents redundant or ineffective use of cleaning fluid during precipitation events and conserves cleaning resources. The weather instructions (135) may also be used to trigger transitions between cleaning modes or to adjust cleaning frequency based on the severity or persistence of environmental moisture.

[0030] The phasing instructions (138) define the phase difference between cleaning events. More specifically, the phasing instructions (138) are a component of the cleaning instructions (130) that include structured data that define temporal separation rules for the activation of cleaning events across different sensors or sensor groups within the autonomous system (100). The phasing instructions (138)may be implemented as a set of timing constraints and logical dependencies that prevent simultaneous cleaning of sensors whose concurrent occlusion may impair perception or violate system safety requirements. The phasing instructions (138) may be encoded in a format that supports precise scheduling and are interpreted by the cleaning controller (150) to coordinate actuator timing in accordance with sensor interdependencies. The phasing instructions (138) include rules that enforce non-overlapping cleaning intervals for sensors with overlapping fields of view, shared integration zones, reflected positions across the vehicle, etc. The phasing instructions (138) may specify fixed or relative phase offsets between cleaning events so that cleaning actions are staggered in time to avoid simultaneous blinding or disruption of sensing functions. The phasing instructions (138) may also incorporate logical groupings of sensors and define permissible sequences of cleaning operations based on sensor type, location, operational role, etc.

[0031] The frequency instructions (140) define the frequency of cleaning events. More specifically, the frequency instructions (140) are a component of the cleaning instructions (130) that include structured data that define initiation of cleaning events for different sensors or sensor groups within the autonomous system (100). The frequency instructions (140) may be implemented as a set of timing parameters and classification rules that assign cleaning intervals based on sensor orientation, exposure, and likelihood of fouling. The frequency instructions (140) may be encoded in a format that supports both fixed and adaptive scheduling and are interpreted by the cleaning controller (150) to determine an appropriate cadence for cleaning operations. The frequency instructions (140) include baseline cleaning intervals that may be defined on a per-sensor basis or by logical groupings, such as forward-facing sensors, rear-facing sensors, or tangentially mounted sensors. The frequency instructions (140) may also incorporate modifiers based on environmental conditions or sensor performance metrics for the system to increase or decrease cleaning frequency in response to operational demands.The frequency instructions (140) control performance of cleaning events to be at intervals sufficient to maintain sensor clarity while avoiding unnecessary media consumption or actuator wear.

[0032] The synchronization instructions (142) synchronize cleaning events with sensor operations. More specifically, the synchronization instructions (142) are a component of the cleaning instructions (130) that include structured data that define timing relationships between cleaning events and sensor operation cycles within the autonomous system (100). The synchronization instructions (142) may be implemented as a set of temporal alignment rules that coordinate the actuation of cleaning mechanisms with the operational timing of the sensors (168), such as with imaging sensors that use frame-based data acquisition. The synchronization instructions (142) may be encoded to support high-precision timing control and are interpreted by the cleaning controller (150) so that cleaning events occur during non-disruptive intervals in the operational cycle of a sensor. The synchronization instructions (142) include timing parameters that align cleaning actuation with camera shutter events, such as global shutter start signals or inter-frame intervals. The alignment performs cleaning actions, including the activation of air or liquid actuators, after an image has been captured and before the start of the next frame to avoid interference with sensor data acquisition. The synchronization instructions (142) may also account for system latencies, such as solenoid actuation delay and airflow propagation time, to coordination between cleaning and sensing operations.

[0033] The cleaning controller (150) is a component of the autonomous system (100) that may include a control unit that operates to generate, manage, and execute cleaning schedules for the sensors (168) based on contextual data (e.g, the autonomous system data (102)) and predefined cleaning instructions (e.g, the cleaning instructions (130)). The cleaning controller (150) maybe implemented as a digital processing system that receives inputs from the autonomous system data(102) and the cleaning instructions (130), processes the inputs according to embedded logic, and outputs control signals to actuators (e.g., the system actuators (155) and the pod actuators (162)) responsible for performing cleaning events. The cleaning controller (150) may be realized in hardware, software, combinations thereof, etc., and is integrated with the network infrastructure of the autonomous system (100) for real-time communication with other system components. The cleaning controller (150) performs a range of functions for intelligent and adaptive cleaning management. The cleaning controller (150) may evaluate vehicle speed, environmental conditions, sensor attributes, and positional metadata to determine the timing and types of cleaning. The cleaning controller (150) executes cleaning schedules specified by the cleaning instructions (130) that comply with phasing, frequency, and synchronization constraints, and issues actuation commands to initiate cleaning events in accordance with the schedules. The cleaning controller (150) may also monitor system state and actuator feedback to confirm execution and adjust future cleaning operations dynamically. The cleaning controller (150) may inject cleaning events into a cleaning schedule “on demand” by slotting in cleaning events into a cleaning schedule in accordance with the cleaning instructions (130).

[0034] The system actuators (155) are a component of the autonomous system (100) that include hardware elements that execute cleaning events by delivering air or liquid to sensor surfaces. The system actuators (155) may be implemented as electronically controlled devices that receive actuation commands from the cleaning controller (150) and convert the commands into mechanical actions that perform cleaning. The system actuators (155) may include liquid solenoids configured to control the flow of cleaning fluid to nozzles directed at sensor surfaces. The system actuators (155) operate in coordination with timing and control logic to perform cleaning efficiently and without disrupting sensor functionality. Each actuator within the system actuators (155) may beindependently addressable and may be activated individually or in groups, depending on the cleaning schedule operated by the cleaning controller (150). The system actuators (155) may be capable of rapid response and be calibrated to meet the pressure, flow rate, and timing requirements of the cleaning system.

[0035] The sensor pods (160) are a component of the autonomous system (100) that include physical enclosures that house the sensors (168) and associated cleaning hardware. The sensor pods (160) may be implemented as modular assemblies mounted at designated locations on the vehicle, such as the front, center, port, or starboard positions, and are configured to perform both sensing and cleaning functions. Each of the sensor pods (160) may include structural features for sensor integration, environmental protection, and routing of cleaning media to the sensor surfaces. The sensor pods (160) may house various sensor types and orientations, and may be configured to isolate cleaning operations to specific zones to prevent cross-contamination or simultaneous blinding of sensors. The sensor pods (160) include pod actuators (162) and the sensor groups (165).

[0036] The pod actuators (162) are a component of the sensor pods (160) that include localized actuation mechanisms that operate to perform cleaning operations on sensors housed within the sensor pods (160) of the autonomous system (100). The pod actuators (162) are implemented as electronically controlled devices, such as air solenoids, that are integrated within or adjacent to the sensor pods to deliver pressurized air to sensor surfaces. Each of the pod actuators (162) is addressable and operates under the control of the cleaning controller (150), which issues actuation commands based on cleaning instructions (130). The pod actuators (162) may execute cleaning events in a spatially targeted maimer, to clean individual sensors or sensor groups without affecting unrelated components. The pod actuators (162) may respond rapidly to control signals and are calibrated to deliver cleaning media with sufficient force and precision to remove contaminants from sensor surfaces.

[0037] The sensor groups (165) are a component of the sensor pods (160) that define logical or physical groupings of the sensors (168) and actuators (e.g., the pod actuators (162) and the system actuator (155)) that are treated as coordinated units for cleaning operations within the autonomous system (100). The sensor groups (165) are implemented as data-defined associations that may be based on sensor type, orientation, range, location, or operational interdependence. The sensor groups (165) are established during system configuration and are used by the cleaning controller (150) to apply cleaning rules, phasing constraints, and scheduling logic. The sensor groups (165) organize the sensors (168) into manageable units to be cleaned in a coordinated or staggered fashion. Each of the sensor groups (165) may be associated with specific cleaning parameters, such as frequency or synchronization timing, and may be subject to constraints that prevent simultaneous cleaning with other groups to avoid perception interference between different sensors.

[0038] The sensors (168) are components of the sensor pods (160) that include the perception devices used by the autonomous system (100) to detect and interpret the environment of the autonomous system (100) for navigation and operation. The sensors (168) may be implemented as hardware elements such as cameras, LiDAR units, or other sensing modalities, each integrated into the autonomous system to provide continuous data acquisition. Each of the sensors (168) is associated with metadata that may define the type, orientation, and range, and is physically mounted within a sensor pod for both sensing and cleaning functionality. The sensors (168) capture real-time data about the surroundings of the autonomous system (100) for object detection, spatial mapping, and environmental awareness. Each of the sensors (168) may be subject to environmental fouling, such as dust, rain, or debris, which may impair performance, which may be addressed with cleaning.

[0039] FIG. 2 shows a flowchart of a method implemented by a sensor cleaning system. The method of FIG. 2 may be implemented using the systems described in the other figures, and one or more of the steps may be performed on, or received at, one or more computer processors. The system may include at least one processor and an application that, when executing on the at least one processor, performs the method. A non-transitory computer readable medium may include instructions that, when executed by one or more processors, perform the method. The outputs from various components (including models, functions, procedures, programs, processors, etc.) for performing the method may be generated by applying a transformation to inputs using the components to create the outputs without using mental processes or human activities.

[0040] Turning to FIG. 2, the method (200) processes autonomous system data with cleaning instructions to execute cleaning events. The process (200) may include multiple steps (e.g, Block 202 through Block 212) that may execute on the components described in the other figures, including those of FIG. 1, and FIG. 9.

[0041] Block 202 involves receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata. Receiving autonomous system data includes accessing structured data values that represent the operational and environmental state of the autonomous system. The data values are generated and updated in real time by onboard subsystems and sensors and are stored in formats optimized for rapid retrieval and integration with control logic. Speed data is retrieved as a structured value reflecting vehicle velocity, which may be sourced from wheel speed sensors, GPS modules, or inertial measurement units. Rain data is retrieved as a structured value indicating the presence or absence of precipitation. The rain data may be derived from rain sensors, wiper stalk position sensors, or inferred from environmental sensing systems. Sensor metadata is retrieved as structured descriptors for each sensor, including sensor type, sensordirection, and sensor range. Pod metadata is retrieved as structured data specifying the physical mounting locations of sensor pods.

[0042] Block 205 involves receiving cleaning instructions including one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions. Receiving cleaning instructions includes accessing structured data that defines operational instructions and constraints for executing sensor cleaning events. The cleaning instructions are retrieved from a data source formatted for real-time access and conditional evaluation by a control system. The received cleaning instructions are interpreted by a control system to generate context-sensitive cleaning schedules that comply with operational constraints.

[0043] Movement instructions are received as conditional instructions that evaluate vehicle motion parameters to determine whether cleaning should occur and which cleaning modality to activate. Movement instructions may include an instruction that enables air cleaning when the vehicle is traveling between 5 and 15 miles per hour. When the vehicle speed falls below 5 miles per hour, the instruction may disable cleaning operations to prevent unnecessary media use during low-speed or stationary conditions. If the vehicle exceeds 15 miles per hour, the instruction activates both air and liquid cleaning to address increased fouling risk due to higher airflow and environmental exposure. The movement-based thresholds are evaluated continuously using real-time speed data to determine the appropriate cleaning modality. The movement instructions are executed under suitable motion conditions so that cleaning operations are responsive to vehicle dynamics.

[0044] Weather instructions are received as instructions that evaluates environmental conditions, such as precipitation, to enable or suppress specific cleaning modalities. Weather instructions may include an instruction that disables liquid cleaning when rain is detected by a wiper stalk sensor or a rain sensor. Whenno rain is present, the instruction enables liquid cleaning to remove accumulated debris or fouling from sensor surfaces. The presence of rain is interpreted as a natural cleaning condition to avoid the use of artificial liquid cleaning and conserve cleaning fluid. The weather instructions are evaluated in real time to adapt cleaning behavior to changing environmental conditions. The dynamic adjustment improves cleaning efficiency and prevents redundant or ineffective cleaning during precipitation events.

[0045] Phasing instructions are received as timing constraints that define temporal separation instructions for cleaning events across different sensors or sensor groups. Phasing instructions may include an instruction that prevents simultaneous cleaning of sensors of different side pods, e.g., to prevent the simultaneous cleaning of sensor ports and starboard sensor pods. Phasing instructions may include an instruction that prevents simultaneous cleaning of different ranges of sensors, e.g., to prevent the simultaneous cleaning of long-range and mid-range LiDAR sensors. Phasing instructions may also include an instruction that prevents simultaneous cleaning of a center camera and a long-range LiDAR, which may be in the same sensor pod. Phasing instructions may also include an instruction that prevents simultaneous cleaning of a center camera and a mid-range LiDAR, which may be in multiple sensor pods. Phasing instructions may also include an instruction that prevents simultaneous cleaning of a short-range camera and a short-range LiDAR so that one type of short-range sensor remains operational. The phasing instructions may define a phase offset between cleaning events for the sensors to avoid concurrent occlusion and maintain continuous perception coverage. For example, the center camera may be cleaned first, followed by a delay before initiating cleaning of the long-range LiDAR. The temporal separation is enforced by the control system to comply with safety and performance constraints. The phasing instructions stagger cleaning events in time to avoid simultaneous blinding of sensors.

[0046] Frequency instructions are received as timing parameters that define initiation intervals for cleaning events based on sensor orientation, exposure, or fouling likelihood. Frequency instructions may include an instruction that schedules cleaning of forward-facing sensors at a constant interval of once per second. Rear-facing sensors may be scheduled for cleaning at a lower frequency, such as once per minute, due to reduced exposure to environmental fouling. Tangentially mounted sensors may be cleaned at sub-minute intervals based on partial exposure and aerodynamic shielding. The frequency values may be determined based on sensor orientation, occlusion likelihood, and historical fouling rates. The frequency instructions clean the sensors at an appropriate cadence to maintain clarity without excessive media consumption.

[0047] Synchronization instructions are received as temporal alignment instructions that coordinate cleaning actuation with sensor operation cycles to avoid interference with data acquisition. Synchronization instructions may include an instruction that aligns cleaning of a camera sensor with the inter-frame interval between image captures. The instruction may use global shutter timing data to initiate cleaning immediately after a frame is captured and before the next frame begins for a camera sensor. The timing may reduce interference with image acquisition and may decrease introduction of artifacts into the sensor data. The synchronization instructions may account for solenoid actuation delay and airflow propagation time to precisely coordinate cleaning with sensor operation. The alignment enables non-disruptive cleaning of imaging sensors and preserves the integrity of perception data.

[0048] Block 208 involves selecting, based on the pod metadata, a sensor group of a sensor pod. Selecting a sensor group may include accessing pod metadata that defines the physical mounting locations of sensor pods on the autonomous system. The pod metadata is retrieved as structured data that encodes positional attributes for each sensor pod, such as front, center, port, or starboard. The computing systemevaluates the pod metadata to identify a specific sensor pod associated with a given location. Within the identified sensor pod, the system determines a corresponding sensor group based on predefined associations between pod location and sensor configuration. The sensor group is selected as a logical or physical grouping of sensors and actuators that are treated as a coordinated unit for cleaning operations. The selection process selects the sensor group that corresponds to spatial and functional characteristics defined in the pod metadata. The selected sensor group is used in subsequent operations to apply cleaning instructions, scheduling logic, and actuation control specific to the identified pod location.

[0049] Block 210 involves scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule. Scheduling actuation includes evaluating the cleaning instructions to determine timing, modality, and sequencing constraints for cleaning operations. The sensor metadata is accessed to identify characteristics of the sensors within the selected sensor group, including sensor type, direction, and range. The cleaning instructions are parsed to extract applicable movement, weather, phasing, frequency, and synchronization rules relevant to the identified sensor group. The control system correlates the sensor metadata with the cleaning instructions to determine permissible cleaning intervals and actuator activation sequences. Phasing constraints are applied to avoid simultaneous cleaning of interdependent sensors within or across sensor groups. Frequency parameters are used to define the cadence of cleaning events based on sensor exposure and fouling likelihood. Synchronization rules are incorporated to align actuator commands with sensor operation cycles, such as image capture intervals. The resulting cleaning schedule specifies the timing and order of actuator activations for the sensor group in compliance with applicable constraints. The cleaning schedule is stored in a format suitable for execution by the control system and may be updated dynamically based on real-time data inputs.

[0050] Scheduling actuation may involve identifying a first sensor group including a center camera and a long-range LiDAR. Identifying the first sensor group includes accessing sensor metadata that defines the type, orientation, and range of each sensor integrated into the autonomous system. The sensor metadata is evaluated to locate a sensor classified as a camera with a front-facing orientation. The metadata is further evaluated to locate a sensor classified as a LiDAR with a long-range detection capability. The identified center camera and long-range LiDAR are associated with a common sensor pod or integration area based on pod metadata and system configuration. A logical grouping is formed by associating the center camera and the long-range LiDAR as a coordinated unit for cleaning operations. The sensor group is defined in accordance with system rules that recognize interdependencies between sensors with overlapping fields of view or shared operational zones. The identified sensor group is used in subsequent scheduling logic to apply phasing, frequency, and synchronization constraints specific to the grouped sensors.

[0051] Scheduling actuation may involve determining, from the phasing instructions, that the center camera and the long-range LiDAR cannot be cleaned simultaneously. Determining the constraint includes accessing phasing instructions that define temporal separation rules for cleaning events across sensors. The phasing instructions are evaluated to identify logical dependencies between sensors with overlapping fields of view or shared integration zones. The center camera and the long-range LiDAR are identified as members of a sensor group subject to non-overlapping cleaning events. The phasing instructions specify that simultaneous actuation of cleaning mechanisms for the sensors is prohibited to avoid concurrent occlusion. The system interprets the rule as a directive to apply a phase offset between cleaning events for the center camera and the long-range LiDAR. The determination is used to enforce a staggered cleaning schedule that preserves continuous perception and avoids sensor blinding. Scheduling actuationmay involve actuating a center camera actuator to clean the center camera and a long-range LiDAR actuator to clean the long-range LiDAR with a phase offset defined in the phasing instructions avoiding simultaneous sensor blinding of the center camera and the long-range LiDAR.

[0052] Scheduling actuation may involve executing the cleaning schedule based on a cleaning frequency determined from the frequency instructions, a sensor direction, and an occlusion likelihood of the sensor group. Executing the cleaning schedule includes retrieving frequency instructions that define baseline cleaning intervals for different sensor types and orientations. The sensor direction is accessed from sensor metadata to determine the physical orientation of the sensors within the sensor group. The occlusion likelihood is evaluated based on sensor placement, environmental exposure, and historical fouling data. The frequency instructions are interpreted in conjunction with the sensor direction and occlusion likelihood to calculate a cleaning interval specific to the sensor group. The calculated cleaning frequency is applied to generate a time-based schedule for actuator activation. The schedule is configured to initiate cleaning events at intervals sufficient to maintain sensor clarity while minimizing unnecessary media use. The control system executes the cleaning schedule by issuing actuator commands according to the determined frequency. The execution performs cleaning operations consistently with the operational demands and environmental conditions associated with the sensor group. Scheduling actuation may involve modulating the cleaning frequency of the cleaning schedule based on air pressure sensor data to maintain air delivery balance and preserve actuator duty cycle.

[0053] Scheduling actuation may involve adjusting the cleaning schedule dynamically based on rain rate data derived from an onboard radar operating as a disdrometer. Adjusting the cleaning schedule includes retrieving rain rate data generated by an onboard radar system configured to function as a disdrometer. The radar system may measure precipitation characteristics such as droplet size,density, and fall velocity to estimate real-time rain rate. The rain rate data is processed to determine the severity and persistence of environmental moisture affecting sensor surfaces. The control system evaluates the current cleaning schedule against the measured rain rate to assess whether the existing cleaning frequency is sufficient. If the rain rate exceeds a predefined threshold, the cleaning frequency is increased to maintain sensor clarity under high-precipitation conditions. If the rain rate falls below the threshold, the cleaning frequency is reduced to conserve cleaning media and reduce actuator wear. The updated cleaning schedule is applied in real time for the cleaning operations to remain responsive to changing environmental conditions. The dynamic adjustment enhances system availability and performance by aligning cleaning behavior with actual precipitation intensity. Scheduling actuation may involve executing the cleaning schedule to avoid simultaneous actuation of sensor groups, including the sensor group, of reflected port and starboard pods.

[0054] Scheduling actuation may involve executing the cleaning schedule using logical cleaning groups, including the sensor group, defined by sensor orientation and integration location, including forward-facing sensors, rear-facing sensors, and tangentially mounted sensors. Executing the cleaning schedule includes accessing predefined logical cleaning groups that categorize sensors based on physical orientation and mounting position. Sensor metadata is evaluated to determine the orientation of each sensor, such as forward-facing, rear-facing, or tangentially mounted. Integration location data is used to associate each sensor with a specific region of the autonomous system, such as front, center, port, or starboard. Sensors sharing similar orientation and integration characteristics are grouped into logical cleaning groups for coordinated scheduling. The cleaning schedule is generated to apply group-specific timing, frequency, and phasing constraints to each logical cleaning group. The control system issues actuator commands according to the schedule, so that sensors within each group are cleanedin a coordinated and non-conflicting manner. Execution of the schedule maintains sensor availability while respecting operational constraints associated with the orientation and location of each group.

[0055] Block 212 involves actuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule. Actuating the set of actuators includes retrieving the cleaning schedule that defines the timing and sequence of actuator commands for the sensor group. The control system accesses actuator identifiers associated with the sensor group to determine which actuators are to be triggered. The schedule specifies the type of cleaning to be performed, such as air or liquid, and the corresponding actuator to be engaged. The control system transmits control signals to the designated actuators at the scheduled times defined in the cleaning schedule. Each actuator receives a signal to initiate a cleaning event directed at a specific sensor or group of sensors. The actuator performs a mechanical operation, such as opening a solenoid valve, to deliver cleaning media to the sensor surface. The actuation is executed in accordance with timing constraints, phasing rules, and synchronization parameters defined in the schedule. The cleaning event proceeds for a defined duration and is terminated based on the schedule or sensor feedback. The actuation process cleans the sensors effectively with minimal disruption to perception and without violating operational constraints.

[0056] Actuating the set of actuators may involve synchronizing actuation of the set of actuators for a camera sensor with shutter start signals according to timing data for camera shutter events from the autonomous system data. Synchronizing actuation includes accessing timing data from the autonomous system data that defines the shutter start signals for the camera sensor. The timing data specifies the intervals at which the camera sensor initiates image capture using a global or rolling shutter mechanism. The control system evaluates the timing data to identify inter-frame intervals suitable for initiating cleaning events. The actuator controlsignals are scheduled to occur immediately after a shutter start signal and before the next image capture begins. The synchronization applies the cleaning media during periods when the camera sensor is not actively acquiring image data. The control system accounts for solenoid actuation delay and airflow propagation time to align the cleaning event precisely with the inter-frame window. The synchronized actuation prevents interference with image acquisition and maintains the integrity of perception data collected by the camera sensor.

[0057] As an example, for a camera sensor operating with a rolling shutter that captures a frame during the first 30 milliseconds of a 100-millisecond interval, synchronized actuation is configured to occur during the remaining 70 milliseconds of each cycle. Timing data from the autonomous system data specifies that the shutter start signal initiates image capture at the beginning of each 100-millisecond window. The control system evaluates the timing data and identifies the 30-millisecond frame capture period as a restricted interval during which cleaning does not occur. To accommodate a 20-millisecond solenoid actuation delay and a 50-millisecond air knife firing duration, the control system schedules the actuator control signal to be issued at the 30-millisecond mark. The timing begins opening the solenoid after the frame capture ends and completes the actuation by the 50-millisecond mark. The air knife air cleaning mechanism fires from approximately 50 milliseconds to 100 milliseconds, completing the cleaning event before the next shutter start signal. The synchronization delivers cleaning media during the inter-frame interval and does not interfere with image acquisition. The result is a precisely timed cleaning operation that maintains sensor clarity while preserving the integrity of the captured image data.

[0058] Actuating the set of actuators may involve initiating a cleaning event during an inter-frame interval between image captures with the camera sensor. Initiating the cleaning event includes identifying the inter-frame interval using timing data associated with the camera sensor’s image capture cycle. The inter-frame intervalis defined as the period between the end of one image capture and the beginning of the next. The control system evaluates the timing data to determine the duration and position of the inter-frame interval within each frame cycle. The cleaning event is scheduled to begin after the completion of the current image capture and before the start of the next shutter event. The actuator control signal is issued at the beginning of the inter-frame interval, accounting for any delay for opening the solenoid and initiates media delivery. The cleaning media is applied to the sensor surface during the inter-frame interval to avoid interference with image acquisition. The initiation of the cleaning event is precisely timed for the sensor to be cleared without introducing artifacts into the captured image data. The timing strategy enables non-disruptive cleaning of the camera sensor while maintaining continuous perception capability.

[0059] Actuating the set of actuators may involve completing the cleaning event before starting a subsequent image capture to avoid interference with sensor data acquisition. Completing the cleaning event may include monitoring the duration of the actuator operation and the timing of the next scheduled shutter event. The control system calculates the total time for solenoid actuation and media delivery, including airflow propagation across the sensor surface. The cleaning event is initiated early enough within the inter-frame interval for completed execution before the next image capture begins. The actuator is deactivated once the cleaning media has been delivered and the sensor surface has been cleared. The system verifies that the cleaning event has concluded prior to the next shutter start signal using synchronized timing data. The timing prevents residual cleaning activity from overlapping with the image acquisition window. The completion of the cleaning event within the inter-frame interval preserves the integrity of the sensor data and prevents visual artifacts.

[0060] Actuating the set of actuators may involve actuating a liquid actuator for a sensor of the sensor group before actuating an air actuator for the sensor accordingto the cleaning schedule. The cleaning schedule specifies a sequential order of actuator operations for each sensor based on cleaning modality requirements. The control system identifies the liquid actuator associated with the sensor and issues a control signal to initiate liquid delivery. The liquid actuator opens a solenoid valve to dispense cleaning fluid onto the sensor surface for a defined duration. After the liquid application is completed, the control system initiates a delay interval to allow the fluid to spread or loosen contaminants. Following the delay, the control system issues a control signal to the air actuator associated with the same sensor. The air actuator activates to deliver a high-velocity air stream that removes the applied liquid and dislodged debris from the sensor surface. The sequence has the liquid cleaning preceding the air cleaning to optimize contaminant removal and prevent residue accumulation. The actuation order is enforced by the control logic to comply with the cleaning schedule and maintain sensor clarity. Actuating the set of actuators may involve actuating the air actuator without actuating the liquid actuator for the sensor based on the cleaning schedule and the cleaning instructions.

[0061] Actuating the set of actuators may involve detecting a fouling event on a sensor of the sensor group using changes in depth-of-field. Detecting the fouling event includes analyzing image data captured by the sensor to evaluate the current depth-of-field characteristics. The control system compares the observed depth- of-field with a baseline or expected depth-of-field profile associated with normal operating conditions. A deviation from the expected depth-of-field is identified as a potential indicator of optical obstruction or surface contamination. The deviation may manifest as a reduction in image sharpness, loss of contrast, or distortion of spatial features within the sensor’s field of view. The system applies thresholding, statistical analysis, machine learning (e.g, neural networks), etc., to determine whether the observed change exceeds a predefined fouling detection threshold. If the threshold is exceeded, the system classifies the condition as a fouling event forcleaning intervention. The detection process operates continuously or at defined intervals to monitor sensor clarity in real time. The detection mechanism enables closed-loop activation of cleaning events based on actual sensor performance degradation. Actuating the set of actuators may involve triggering a cleaning event for the sensor in response to the detected fouling event.

[0062] The method (200) may further involve executing an end-of-day purge operation of the cleaning schedule. Executing the end-of-day purge operation includes initiating a system routine designed to release residual pressurized air from the cleaning system. The control system verifies that the vehicle is in a stationary state and that shutdown conditions are met, including ignition status and power mode. The cleaning schedule includes a purge sequence that opens air solenoids associated with the cleaning actuators. The purge sequence is configured to reduce the internal pressure of the air tank from an operational level to ambient atmospheric pressure. The control system disables the compressor coil enable to prevent re-pressurization during the purge operation. The solenoids remain open for a defined duration sufficient to evacuate the stored air volume from the system. The purge operation prevents residual pressure from remaining in the system, reducing mechanical stress and extending component life. The completion of the purge is confirmed by monitoring pressure sensor data or elapsed time thresholds. The operation prepares the cleaning system for safe shutdown and subsequent reactivation during the next operational cycle.

[0063] The end-of-day purge operation involves disabling a compressor coil enable. Disabling the compressor coil enable includes issuing a control signal to deactivate the electrical circuit responsible for energizing the compressor coil. The control system verifies that the compressor is not to be used for ongoing or scheduled cleaning operations. The compressor coil enable signal is set to a de-energized state, preventing further pressurization of the air tank. The action isolates the compressor from the power supply, so that no additional air is generated duringthe purge sequence. The deactivation is performed in accordance with system shutdown protocols and is synchronized with the initiation of the purge operation. Disabling the compressor coil enable reduces mechanical load, prevents unintended actuation, and prepares the system for safe depressurization. The control system may log the coil disable event and monitor system pressure to confirm that the compressor remains inactive during the purge.

[0064] The end-of-day purge operation involves opening an air solenoid of the sensor pod to release pressurized air from an air tank. Opening the air solenoid includes issuing a control signal to the solenoid valve associated with the sensor pod. The control system verifies that the compressor coil has been disabled and that purge conditions are satisfied. The solenoid valve transitions from a closed state to an open state, allowing compressed air to flow from the air tank into the connected air lines. The released air is directed through the air delivery system and expelled through the air knives or nozzles integrated into the sensor pod. The airflow continues until the internal pressure of the air tank is reduced to ambient atmospheric pressure or a predefined purge threshold. The control system monitors pressure sensor data to confirm the rate and completeness of the pressure release. The solenoid remains open for a duration sufficient for depressurization of the system. The operation prevents residual pressure buildup and prepares the cleaning system for safe shutdown and subsequent reactivation.

[0065] Turning to FIG. 3, the components (300) of a sensor cleaning system is implemented across multiple sensor pods of an autonomous system. The components (300) include the front pod (302), the center pod (332), the port pod (372), and the starboard pod (382) that each include multiple sensors and associated actuators configured to perform coordinated cleaning operations. Each sensor and associated actuators (e.g, air and liquid solenoids) may be treated as the sensor group for scheduling, phasing, and actuation control. The sensor cleaning system executes cleaning events in accordance with contextual data andcleaning instructions, including phasing, frequency, and synchronization constraints, to maintain sensor clarity while avoiding simultaneous blinding or interference with perception.

[0066] The front pod (302) includes the short-range camera (305) and the short- range LiDAR (312). The short-range camera (305) is serviced by the liquid solenoid (308) and an air solenoid (310), which are configured to sequentially apply cleaning fluid and pressurized air to the sensor surface. Similarly, the short- range LiDAR (312) is associated with the liquid solenoid (315) and an air solenoid (318). The actuators are controlled by a cleaning controller (e.g., the cleaning controller (150) of FIG. 1) to execute cleaning events based on sensor type, orientation, and environmental conditions. The cleaning schedule may specify that liquid cleaning precedes air cleaning to optimize contaminant removal, and that air cleaning alone may be used under certain conditions, such as during rain or at lower vehicle speeds.

[0067] The center pod (332) includes the mid-range camera (335) and the long-range LiDAR (342). The mid-range camera (335) is cleaned by the liquid solenoid (338) and an air solenoid (340). The long-range LiDAR (342) is serviced by the liquid solenoid (345) and two air solenoids (348) and (350), which may be used in tandem to deliver sufficient airflow across the larger sensor surface. The use of multiple air solenoids for the single sensor supports higher cleaning throughput and improved coverage, particularly for sensors with wide apertures or complex geometries. The cleaning controller may apply synchronization instructions to align cleaning events for the mid-range camera (335) with inter-frame intervals between image captures, using global shutter timing to avoid interference with data acquisition.

[0068] A phase difference is enforced between the cleaning operations of the front pod (302) and the center pod (332). The phase offset is defined by phasinginstructions and prevents simultaneous cleaning of sensors with overlapping fields of view or interdependent sensing modalities. For example, the center camera and long-range LiDAR may not be cleaned at the same time to avoid perception degradation. A cleaning controller schedules actuator commands with appropriate delays to maintain continuous perception coverage and avoid simultaneous sensor blinding.

[0069] The sensor cleaning system incorporating the components (300) includes connections to port pod (372) and starboard pod (382), which are further described in FIG. 4. The port pod (372) and the starboard pod (382) are also subject to phasedifference constraints relative to the center pod (332) and to each other. The reflected positioning of the port and starboard pods has that the sensors of the port pod (372) and the starboard pod (382) are not cleaned simultaneously, in accordance with the phasing instructions. Each of the port pod (372) and the starboard pod (382) includes additional sensors and actuators organized into sensor groups, with cleaning events coordinated with the cleaning events of the front and center pods to maintain system-wide perception integrity.

[0070] Each of the sensor groups of the sensor cleaning system incorporating the components (300) may be associated with specific cleaning parameters, including cleaning frequency, actuator sequencing, and synchronization timing. A cleaning controller uses sensor metadata and pod metadata to identify the appropriate sensor group and applies the cleaning instructions to generate and execute a cleaning schedule. The system supports dynamic adjustment of cleaning frequency based on environmental inputs such as rain rate and air pressure, and may trigger cleaning events in response to detected fouling events, such as changes in depth-of-field or visual occlusion.

[0071] Turning to FIG. 4, the components (400) of a sensor cleaning system include the port pod (402) and the starboard pod (452), which may respectively beimplementations of the port pod (372) and the starboard pod (382) of FIG. 3. Each of the port pod (402) and the starboard pod (452) includes multiple sensors and associated actuators configured to perform coordinated cleaning operations in accordance with a cleaning schedule generated by a cleaning controller (e.g., the cleaning controller (150) of FIG. 1).

[0072] In the port pod (402), the mid-range LiDAR (420), the long-range camera (430), and the short-range camera (435) may be a sensor group that may also include the mid-range camera (438) and the short-range camera (440). The sensor group may be cleaned using a combination of the air solenoids (422) and (442), and a liquid solenoid (425), which are configured to deliver cleaning media to the sensor surfaces in a sequence that may include liquid cleaning followed by air cleaning. The short-range LiDAR (405) may be a separate group, serviced by the air solenoid (408) and the liquid solenoid (410), and may also receive airflow from the rear air solenoid (412), which is shared with the mid-range LiDAR (420). The air solenoid (412) is configured to deliver pressurized air to both the short-range LiDAR (405) and the mid-range LiDAR (420), supporting cleaning operations that may be scheduled with phase offsets to avoid simultaneous sensor blinding.

[0073] The mid-range LiDAR (420) is further serviced by the air solenoid (422) and the liquid solenoid (425), which also deliver cleaning media to the long-range camera (430) and the short-range camera (435). The mid-range camera (438) and the short-range camera (440) are cleaned by the air solenoid (442), which is configured to deliver airflow across multiple sensor surfaces. The cleaning events for the sensors of the port pod (402) may be scheduled based on sensor metadata, including sensor type, direction, and range, and may be synchronized with camera shutter events to avoid interference with image acquisition.

[0074] In the starboard pod (452), the short-range LiDAR (455) is cleaned by the air solenoid (458) and the liquid solenoid (460) and may also receive airflow from therear air solenoid (462), which is shared with the mid-range LiDAR (470). The midrange LiDAR (470) is cleaned by the air solenoid (472) and the liquid solenoid (475), which also delivers cleaning media to the long-range camera (480) and the short-range camera (485). The mid-range camera (488) and the short-range camera (490) are cleaned by the air solenoid (492), which is configured to deliver airflow across multiple sensor surfaces. The sensors of the starboard pod (452) may be grouped and scheduled for cleaning in accordance with phasing instructions that prevent simultaneous cleaning of reflected sensors between the port pod (402) and the starboard pod (452).

[0075] A cleaning system with the components (400) may execute cleaning events for the sensors of the port pod (402) and the starboard pod (452) using logical cleaning groups defined by sensor orientation and integration location. A cleaning controller may apply synchronization instructions to align cleaning events for camera sensors with inter-frame intervals, and may modulate cleaning frequency based on environmental conditions, such as rain rate or air pressure, to maintain system availability and avoid excessive media consumption.

[0076] Turning to FIG. 5, the cleaning schedule (500) displays an example of the cleaning events for the cleaning operations of a sensor cleaning system of an autonomous system. The cleaning schedule (500) is illustrated with the graphs (502), (522), (552), and (582), which correspond to different sensor pods. The graph (502) corresponds to a front pod, e.g., the front pod (302) of FIG. 3. The graph (522) corresponds to a starboard pod, e.g., the starboard pod (452) of FIG. 4. The graph (552) corresponds to a port pod, e.g., the port pod (402) of FIG. 4. The graph (582) corresponds to a center pod, e.g., the center pod (332) of FIG. 3.

[0077] The graph (502) depicts a sequence of cleaning events starting at 0 seconds for the front pod. The sequence includes actuating a liquid solenoid for a short- range LiDAR sensor, followed by actuating an air solenoid for the short-rangeLiDAR sensor. After cleaning the short-range LiDAR sensor, a short-range camera sensor is cleaned by activating a liquid solenoid and then an air solenoid for the short-range camera sensor.

[0078] The graph (522) depicts a sequence of cleaning events starting at 24 seconds for the starboard pod. The liquid solenoids for the mid-range LiDAR and for the short-range LiDAR are actuated, which may be done simultaneously. The liquid solenoid for the mid-range LiDAR may also service the front-facing long-range camera and the side-facing short-range camera as a sensor group. The air solenoids for the mid-range LiDAR (from the front), the short-range LiDAR (from the front), the facing long-range camera and the side-facing short-range camera are then actuated. The rear air solenoids for the mid-range LiDAR and the short-range LiDAR are then actuated. After cleaning the first sensor group, air solenoids are actuated to clean the rear-facing mid-range camera and the downward-facing short-range camera.

[0079] The graph (552) depicts a sequence of cleaning events starting at 8 seconds for the port pod that is a reflection of the starboard pod. The liquid solenoids for the mid-range LiDAR and for the short-range LiDAR are actuated, which may be done simultaneously. The liquid solenoid for the mid-range LiDAR may also service the front-facing long-range camera and the side-facing short-range camera as a sensor group. The air solenoids for the mid-range LiDAR (from the front), the short-range LiDAR (from the front), the facing long-range camera and the sidefacing short-range camera are then actuated. The rear air solenoids for the midrange LiDAR and the short-range LiDAR are then actuated. After cleaning the first sensor group, air solenoids are actuated to clean the rear-facing mid-range camera and the downward-facing short-range camera.

[0080] The graph (582) depicts a sequence of cleaning events starting at 16 seconds for the center pod. The sequence includes actuating a liquid solenoid for a mid-range camera sensor, followed by actuating an air solenoid for the mid-range camera sensor. After cleaning the mid-range camera sensor, a long-range LiDAR sensor is cleaned by activating a liquid solenoid and then two air solenoids for the long-range LiDAR sensor.

[0081] Turning to FIG. 6, the front pod (600) illustrates an example configuration of a sensor pod of an autonomous system that includes the short-range camera (620) and the short-range LiDAR (650). The front pod (600) may be an implementation of the center pod (332) of FIG. 3. The front pod (600) includes a sensor group that may be selected based on pod metadata and scheduled for cleaning using the cleaning instructions and sensor metadata as described in the claims and disclosure. The short-range camera (620) and the short-range LiDAR (650) are positioned within the front pod (600) and may be subject to environmental fouling due to the forward-facing orientation and exposure to road debris, precipitation, and other contaminants. The cleaning of the short-range camera (620) and the short-range LiDAR (650) may be executed using a combination of air and liquid actuators, with cleaning events scheduled according to movement instructions, weather instructions, and phasing instructions to avoid simultaneous blinding and to optimize cleaning efficiency.

[0082] For example, based on the movement instructions, air cleaning may be enabled when the vehicle is traveling between 5 and 15 miles per hour, while both air and liquid cleaning may be activated when the vehicle exceeds 15 miles per hour. If rain is detected, the weather instructions may suppress liquid cleaning and rely solely on air cleaning to conserve cleaning media. The cleaning controller may apply phasing instructions so that the short-range camera (620) and the short-range LiDAR (650) are not cleaned simultaneously with other sensors in adjacent pods or with sensors of similar modality or overlapping fields of view.

[0083] Turning to FIG. 7, the center pod (700) illustrates an example configuration of a sensor pod of an autonomous system that includes the mid-range camera (720) and the long-range LiDAR (750). The center pod (700) may be an implementation of the center pod (332) of FIG. 3. The mid-range camera (720) and the long-range LiDAR (750) are positioned within the center pod (700) and may be subject to environmental fouling due to the forward-facing orientation and exposure to road debris, precipitation, and other contaminants. The cleaning of the mid-range camera (720) and the long-range LiDAR (750) may be executed using a combination of air and liquid actuators, with cleaning events scheduled according to movement instructions, weather instructions, and phasing instructions to avoid simultaneous blinding and to optimize cleaning efficiency.

[0084] For example, based on the movement instructions, air cleaning may be enabled when the vehicle is traveling between 5 and 15 miles per hour, while both air and liquid cleaning may be activated when the vehicle exceeds 15 miles per hour. If rain is detected, the weather instructions may suppress liquid cleaning and rely solely on air cleaning to conserve cleaning media. The cleaning controller may apply phasing instructions so that the mid-range camera (720) and the long-range LiDAR (750) are not cleaned simultaneously, in accordance with the constraints that prevent concurrent occlusion of sensors with overlapping fields of view or interdependent sensing modalities. The cleaning controller may also apply synchronization instructions to align cleaning events for the mid-range camera (720) with inter-frame intervals between image captures, using global shutter timing to avoid interference with data acquisition.

[0085] The cleaning schedule may specify that liquid cleaning precedes air cleaning to optimize contaminant removal, and that air cleaning alone may be used under certain conditions, such as during rain or at lower vehicle speeds. The cleaning events for the sensors of the center pod (700) may be dynamically adjusted based on environmental inputs such as rain rate and air pressure, and may be triggered inresponse to detected fouling events, such as changes in depth-of-field or visual occlusion.

[0086] Turning to FIG. 8, an example configuration of a sensor cleaning system is shown that may be an implementation of the port pod (402) and the starboard pod (452) of FIG. 4. The port pod (402) and the starboard pod (452) may be mounted on the port side and starboard side, respectively of an autonomous system. In particular, the port pod (402) and the starboard pod (452) may be mounted on the roof portion of the autonomous system. The illustrated configuration includes the port pod (800) and the starboard pod (850), each of which houses multiple sensors arranged for environmental perception and integrated with cleaning mechanisms to maintain sensor clarity during operation of an autonomous system.

[0087] In the port pod (800), the sensors include the short-range LiDAR (805), the mid-range LiDAR (820), the long-range camera (830), and the short-range camera (835). The long-range camera (830) is positioned at the front of the pod and is representative of a forward-facing sensor subject to frequent fouling due to exposure to road debris, precipitation, and insects. The short-range camera (835) is positioned on the side of the pod and may be used for lateral perception tasks. Although not visible in FIG. 8, the port pod (800) may also include additional sensors such as a rear-facing mid-range camera and a downward-facing short- range camera, which are occluded in the current view.

[0088] In the starboard pod (850), the sensors include the short-range LiDAR (855), the mid-range LiDAR (870), the long-range camera (880), and the short-range camera (885). Similar to the port pod (800), the long-range camera (880) is positioned at the front of the pod and is subject to environmental fouling. The short-range camera (885) is positioned on the side of the pod and may support lateral perception. As with the port pod (800), the starboard pod (850) may includeadditional sensors that are not visible in FIG. 8, such as rear-facing or downwardfacing cameras, which are occluded from view.

[0089] The sensors of the port pod (800) and the starboard pod (850) may be grouped into logical cleaning groups based on sensor type, orientation, and integration location. Cleaning events for the groups may be scheduled using cleaning instructions that include phasing instructions to prevent simultaneous cleaning of reflected sensors across the port and starboard pods, frequency instructions to define cleaning intervals based on sensor exposure and occlusion likelihood, and synchronization instructions to align cleaning events for camera sensors with interframe intervals between image captures. For example, the long-range cameras (830) and (880) may be cleaned during periods when the camera shutter is inactive to avoid interference with image acquisition.

[0090] The cleaning system may include air and liquid actuators that are configured to deliver cleaning media to the sensor surfaces. In accordance with the cleaning schedule, liquid cleaning may precede air cleaning to remove fouling, and air cleaning may be used independently under certain conditions, such as during rain or at lower vehicle speeds. The cleaning events may be dynamically modulated based on environmental inputs such as rain rate or air pressure to maintain system availability and reduce media consumption.

[0091] FIG. 1 and FIG. 9 show example diagrams of the autonomous system. Turning to FIG. 9, an autonomous system (900) is a self-driving mode of transportation that does not require a human pilot or human driver to move and react to the real-world environment. The autonomous system (900) may be completely autonomous or semi-autonomous. As a mode of transportation, the autonomous system (900) is contained in a housing configured to move through a real-world environment. Examples of autonomous systems include self-driving vehicles (e.g., self-driving trucks and cars), drones, airplanes, robots, etc.

[0092] The autonomous system (900) includes a computer system executing a virtual driver (902). The virtual driver is the decision-making portion of the autonomous system (900) that executes on computing system hardware. The virtual driver (902) is an artificial intelligence system that learns how to interact in the real world. The virtual driver is the software executing on a processor that makes decisions and causes the autonomous system (900) to interact with the real world including moving, signaling, and stopping or maintaining a current state.

[0093] As shown in FIG. 9, the computing system (902) may include one or more computer processors (904), non-persistent storage (906), persistent storage (908), a communication interface (910) (e.g, Bluetooth interface, infrared interface, network interface, optical interface, etc.), and numerous other elements and functionalities. The communication interface (910) may include an integrated circuit for connecting the computing system (902) to a network (not shown) (e.g, the Internet, mobile network, or any other type of network), another component of the autonomous system, and / or to another device. The computer processor(s) (904) may be an integrated circuit for processing instructions. The computer processor(s) may be one or more cores or micro-cores of a processor. The computer processor(s) (904) includes one or more processors. The one or more processors may include a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), combinations thereof, etc. Further, the computing system executing the virtual driver (902) may be a distributed computing system with multiple distinct parts in different locations of the autonomous system or external to the autonomous system.

[0094] The computing system (902) is connected to one or more input devices (912) and one or more output devices (914). The input devices (912) include sensors (916) that detect the state of the geographic region around the autonomous system (900) and the state of the autonomous system (900) with respect to the geographic region, The input devices (912) may also include direct input devices (918), suchas devices configured to receive input or feedback from various components of the autonomous system or a user.

[0095] Examples of sensors include visible and ultraviolet light cameras, LiDAR sensors, heat sensors, inertial measurement unit (IMU), RADAR sensors, global positioning system (GPS), ultrasound detectors, microphones, etc. The sensors are configured to provide sensor input to the computing system executing the virtual driver (902). The direct input devices (918) may include sensors and other feedback mechanisms from within the autonomous system (900), and user interface devices (e.g, touchscreen, keyboard, mouse, microphone, etc.), or any other type of input device.

[0096] Further, the output devices (914) are devices that are configured to receive control signals from the computing system (902). The output devices (914) include actuators (920) and signaling devices (922).

[0097] An actuator (920) is hardware and / or software that is configured to control one or more physical parts of the autonomous system based on a control signal from the computing system executing the virtual driver (902). In one or more embodiments, the control signal specifies an action for the autonomous system (e.g, turn on the blinker, apply breaks by a defined amount, apply accelerator by a defined amount, turn the steering wheel or tires by a defined amount, etc.). The actuator(s) (920) are configured to implement the action by driving the various electrical and mechanical components of the autonomous system (920). In one or more embodiments, the control signal may specify a new state of the autonomous system and the actuator may be configured to implement the new state to cause the autonomous system to be in the new state. For example, the control signal may specify that the autonomous system should turn by a certain amount while accelerating at a predefined rate, while the actuator determines and causes thewheel movements and the amount of acceleration on the accelerator to achieve a certain amount of turn and acceleration rate.

[0098] The signaling devices (922) may include lights, horns, and other output devices. Additional output devices (914) may exist, such as a display device, external storage, etc. One or more of the output devices may be the same or different from the input device(s). The display may present a user interface with multiple interface elements that may interactively receive selections from a user and present information to the user of the autonomous system. For example, the display may visually depict information from the sensors, information generated by the one or more machine learning models of the virtual driver, information about the actions taken by the virtual driver information, etc.

[0099] A geographic region is the portion of the real world through which the autonomous system (902) moves. Thus, the geographic region may include concrete and land, construction, and other objects in the real world along with agents. The agents are the other agents in the geographic region that are capable of moving through the real world. Agents may have independent decision-making functionality. The independent decision-making functionality of the agent may dictate how the agent moves through the environment and may be based on visual or tactile cues from the geographic region. For example, agents may include other autonomous and non- autonomous transportation systems (e.g, other vehicles, bicyclists, robots), pedestrians, animals, etc.

[0100] The other electrical and mechanical components (924) of the autonomous system (900) may include the various physical hardware of the autonomous system. For example, if the autonomous system is a vehicle, the other electrical and mechanical components include the other parts of the vehicle that are not presented above. Other examples of autonomous systems include light-duty, medium-duty, or heavy-duty trucks, such as Class 8 trucks.

[0101] Software instructions in the form of computer readable program code to drive various components and perform one or more operations may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a storage device, a diskette, a tape, flash memory, physical memory, or any other computer readable storage medium.

[0102] FIG. 10 shows an example of processing by the autonomous system. In Block 1001, one or more sensors are driven to obtain sensor input. The sensors may be located on various parts of the autonomous system. The sensor input is passed through a communication interface to the computing system.

[0103] The computing system executing one or more machine learning models of the virtual driver processes the sensor input to detect a current state of a geographic region surrounding the autonomous system in Block 1003. For example, the computing system may detect the occupancy of the geographic region or locations of the actors and stationary objects in the geographic region as well as the location of the autonomous system within the geographic region.

[0104] In Block 1005, the computing system of the autonomous system executing one or more machine learning models of the virtual driver determines actions of the autonomous system. The virtual driver executes based on the simulated sensor output to generate actuation actions. The actuation actions define how the virtual driver controls the autonomous system. For example, for a self-driving vehicle, the actuation actions may be amount of acceleration, movement of the steering, triggering of a turn signal, etc.

[0105] In Block 1007, the computing system outputs control signals according to the actions. The control signals are used to drive the various electrical and mechanical components of the autonomous system causing the autonomous system to move, stop, signal, or perform other actions in the real world.

[0106] In Block 1009, a determination is made whether to continue. If the determination is made to continue the process repeats. In one or more embodiments, the processing of FIG. 10 is ongoing and performed in parallel. For example, as the computing system executing the virtual driver is processing a previous frame sensor input, new sensor input may be obtained for the next frame.

[0107] The various descriptions of the figures may be combined and may include, or be included within, the features described in the other figures of the application. The various elements, systems, components, and steps shown in the figures may be omitted, repeated, combined, or altered as shown in the figures. Accordingly, the scope of the present disclosure should not be considered limited to the specific arrangements shown in the figures.

[0108] In the application, ordinal numbers (e.g, first, second, third, etc.) may be used as an adjective for an element (z.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements, nor to limit any element to being only a single element unless expressly disclosed, such as by the use of the terms “before,” “after,” “single,” and other such terminology. Rather, ordinal numbers distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.

[0109] Further, unless expressly stated otherwise, the conjunction “or” is an inclusive “or” and, as such, automatically includes the conjunction “and,” unless expressly stated otherwise. Further, items joined by the conjunction “or” may include any combination of the items with any number of each item, unless expressly stated otherwise.

[0110] In the above description, numerous specific details are set forth in order to provide a more thorough understanding of the disclosure. However, it will beapparent to one of ordinary skill in the art that the technology may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description. Further, other embodiments not explicitly described above can be devised which do not depart from the scope of the claims as disclosed herein. Accordingly, the scope should be limited only by the attached claims.

Claims

1. CLAIMSWhat is claimed is:

1. A method, the method comprising: receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata; receiving cleaning instructions comprising one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions; selecting, based on the pod metadata, a sensor group of a sensor pod; scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule; and actuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule.

2. The method of claim 1, further comprising: identifying a first sensor group comprising a center camera and a long-range LiDAR; determining, from the phasing instructions, that the center camera and the long- range LiDAR cannot be cleaned simultaneously; and actuating a center camera actuator to clean the center camera and a long-range LiDAR actuator to clean the long-range LiDAR with a phase offset defined in the phasing instructions avoiding simultaneous sensor blinding of the center camera and the long-range LiDAR.

3. The method of claim 1, further comprising: synchronizing actuation of the set of actuators for a camera sensor with shutter start signals according to timing data for camera shutter events from the autonomous system data;initiating a cleaning event during an inter-frame interval between image captures with the camera sensor; and completing the cleaning event before starting a subsequent image capture to avoid interference with sensor data acquisition.

4. The method of claim 1, further comprising: executing the cleaning schedule based on a cleaning frequency determined from the frequency instructions, a sensor direction, and an occlusion likelihood of the sensor group; and modulating the cleaning frequency of the cleaning schedule based on air pressure sensor data to maintain air delivery balance and preserve actuator duty cycle.

5. The method of claim 1, further comprising: actuating a liquid actuator for a sensor of the sensor group before actuating an air actuator for the sensor according to the cleaning schedule; and actuating the air actuator without actuating the liquid actuator for the sensor based on the cleaning schedule and the cleaning instructions.

6. The method of claim 1, further comprising: adjusting the cleaning schedule dynamically based on rain rate data derived from an onboard radar operating as a disdrometer.

7. The method of claim 1, further comprising: detecting a fouling event on a sensor of the sensor group using changes in depth-of- field; and triggering a cleaning event for the sensor in response to the detected fouling event.

8. The method of claim 1, further comprising: executing an end-of-day purge operation of the cleaning schedule, wherein the end- of-day purge operation comprises:disabling a compressor coil enable; and opening an air solenoid of the sensor pod to release pressurized air from an air tank.

9. The method of claim 1, further comprising: executing the cleaning schedule to avoid simultaneous actuation of sensor groups, comprising the sensor group, of reflected port and starboard pods.

10. The method of claim 1, further comprising: executing the cleaning schedule using logical cleaning groups, comprising the sensor group, defined by sensor orientation and integration location, including forward-facing sensors, rear-facing sensors, and tangentially mounted sensors.

11. A system comprising: at least one processor; and an application that, when executing on the at least one processor, performs stored operations comprising: receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata, receiving cleaning instructions comprising one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions, selecting, based on the pod metadata, a sensor group of a sensor pod, scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule, and actuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule.

12. The system of claim 11, wherein the application performs stored operations further comprising: identifying a first sensor group comprising a center camera and a long-range LiDAR; determining, from the phasing instructions, that the center camera and the long- range LiDAR cannot be cleaned simultaneously; and actuating a center camera actuator to clean the center camera and a long-range LiDAR actuator to clean the long-range LiDAR with a phase offset defined in the phasing instructions avoiding simultaneous sensor blinding of the center camera and the long-range LiDAR.

13. The system of claim 11, wherein the application performs stored operations further comprising: synchronizing actuation of the set of actuators for a camera sensor with shutter start signals according to timing data for camera shutter events from the autonomous system data; initiating a cleaning event during an inter-frame interval between image captures with the camera sensor; and completing the cleaning event before starting a subsequent image capture to avoid interference with sensor data acquisition.

14. The system of claim 11, wherein the application performs stored operations further comprising: executing the cleaning schedule based on a cleaning frequency determined from the frequency instructions, a sensor direction, and an occlusion likelihood of the sensor group; and modulating the cleaning frequency of the cleaning schedule based on air pressure sensor data to maintain air delivery balance and preserve actuator duty cycle.

15. The system of claim 11, wherein the application performs stored operations further comprising: actuating a liquid actuator for a sensor of the sensor group before actuating an air actuator for the sensor according to the cleaning schedule; and actuating the air actuator without actuating the liquid actuator for the sensor based on the cleaning schedule and the cleaning instructions.

16. The system of claim 11, wherein the application performs stored operations further comprising: adjusting the cleaning schedule dynamically based on rain rate data derived from an onboard radar operating as a disdrometer.

17. The system of claim 11, wherein the application performs stored operations further comprising: detecting a fouling event on a sensor of the sensor group using changes in depth-of- field; and triggering a cleaning event for the sensor in response to the detected fouling event.

18. The system of claim 11, wherein the application performs stored operations further comprising: executing an end-of-day purge operation of the cleaning schedule, wherein the end- of-day purge operation comprises: disabling a compressor coil enable; and opening an air solenoid of the sensor pod to release pressurized air from an air tank.

19. The system of claim 11, wherein the application performs stored operations further comprising: executing the cleaning schedule to avoid simultaneous actuation of sensor groups, comprising the sensor group, of reflected port and starboard pods.

20. A non-transitory computer readable medium comprising stored instructions executable by at least one processor to perform: receiving autonomous system data including one or more of speed data, rain data, sensor metadata, and pod metadata; receiving cleaning instructions comprising one or more of movement instructions, weather instructions, phasing instructions, frequency instructions, and synchronization instructions; selecting, based on the pod metadata, a sensor group of a sensor pod; scheduling actuation of a set of actuators for the sensor group using the cleaning instructions and the sensor metadata to generate a cleaning schedule; andactuating the set of actuators to clean a set of sensors of the sensor group according to the cleaning schedule.

Citation Information

Patent Citations

  • Vehicle sensor cleaning system and method for operating same

    US20190322245A1

  • Vehicle sensor cleaning

    US20200094784A1

  • System and Method for Cleaning Sensors of a Vehicle

    US20220289147A1