Lidar windscreen vibration control

By installing axial and radial actuators on the sensor housing and controlling its vibration using the vehicle computer, the problem of debris accumulation in autonomous vehicle sensors is solved, the sensor's sensing capability is improved, and the cleaning effect is adapted to different vehicle speed conditions.

CN110508565BActive Publication Date: 2026-02-13FORD GLOBAL TECH LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201910423442.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-05-22
Filing Date
2019-05-21
Publication Date
2026-02-13
Estimated Expiration
2039-05-21

AI Technical Summary

Technical Problem

Debris buildup on autonomous vehicle sensors affects their sensing capabilities, is difficult for humans to remove effectively, and current technology lacks an automatic cleaning mechanism.

Method used

By installing axial and radial actuators on the sensor housing, the vehicle computer controls these actuators to selectively vibrate the sensor housing according to the vehicle speed, thereby clearing debris.

Benefits of technology

It enables automatic debris removal from autonomous vehicle sensors, improving the sensors' sensing capabilities and adapting to cleaning effects under different vehicle speed conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110508565B_ABST
    Figure CN110508565B_ABST
Patent Text Reader

Abstract

The present disclosure provides for "lidar windshield vibration control." A vehicle computer includes a memory and a processor. The processor is programmed to execute instructions stored in the memory. The instructions include determining a vehicle speed, selecting at least one actuator to vibrate a sensor housing based on the vehicle speed, and commanding the at least one actuator to vibrate the sensor housing according to the vehicle speed to remove debris from the sensor housing.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to vehicle sensors, and more particularly to vehicle sensor cleaning systems. BACKGROUND

[0002] Autonomous vehicles rely on data from sensors to navigate the environment around the autonomous vehicle. Examples of sensors that can provide data used in the operation of an autonomous vehicle include lidar sensors, radar sensors, ultrasonic sensors, and cameras. The autonomous vehicle can control steering, braking, and acceleration based on the sensor data. SUMMARY

[0003] Exposure to the natural environment can affect sensor output on an autonomous vehicle. For example, rain, snow, ice, mud, salt, and other debris collecting on a sensor lens (or protective windshield cover) can affect the sensor’s ability to perceive the environment around the autonomous vehicle, similar to how debris on a windshield can affect a human driver’s road view. A human driver can remove debris from the windshield by activating a windshield wiper, with or without using a cleaning fluid that can rinse debris off the windshield cover. However, one challenge for autonomous vehicles is that a human passenger can not be able to remove debris from a sensor lens or windshield cover. Moreover, even if a human passenger can clear the debris, the human passenger can not be able to see the debris on the sensor lens or windshield cover.

[0004] A sensor cleaning system that can remove debris from a sensor housing is implemented via a vehicle computer having a memory and a processor programmed to execute instructions stored in the memory. The instructions include determining a vehicle speed, selecting at least one actuator to vibrate the sensor housing based on the vehicle speed, and commanding the at least one actuator to vibrate the sensor housing according to the vehicle speed to remove the debris from the sensor housing.

[0005] Selecting the at least one actuator can include selecting from a first actuator and a second actuator, where the first actuator is disposed on the sensor housing and configured to vibrate the sensor housing in an axial direction. The second actuator can be disposed on the sensor housing and configured to vibrate the sensor housing in a radial direction. Alternatively or additionally, selecting the at least one actuator to vibrate the sensor housing based on the vehicle speed can include selecting the first actuator to vibrate the sensor housing as a result of determining that the vehicle speed is below a predetermined threshold. Alternatively or additionally, selecting the at least one actuator to vibrate the sensor housing based on the vehicle speed can include selecting the second actuator to vibrate the sensor housing as a result of determining that the vehicle speed is above the predetermined threshold.

[0006] Selecting at least one actuator may include selecting a first actuator and a second actuator to vibrate the sensor housing, wherein the first actuator is configured to vibrate the sensor housing in an axial direction and the second actuator is configured to vibrate the sensor housing in a radial direction. In this embodiment, commanding at least one actuator includes: sending a first signal to the first actuator, the first signal commanding the first actuator to vibrate according to a first amplitude; and sending a second signal to the second actuator, the second signal commanding the second actuator to vibrate according to a second amplitude. In this embodiment, the first amplitude may be different from the second amplitude. Alternatively or additionally, the processor may be programmed to select the first amplitude and the second amplitude based on vehicle speed. Alternatively or additionally, selecting the first amplitude and the second amplitude based on vehicle speed may include: selecting a first amplitude greater than the second amplitude because it is determined that the vehicle speed is below a predetermined threshold. In some cases, selecting the first amplitude and the second amplitude based on vehicle speed may include: selecting a second amplitude greater than the first amplitude because it is determined that the vehicle speed is above a predetermined threshold.

[0007] In some possible implementations, a first signal commands a first actuator to vibrate at a first plurality of different frequencies over time, and a second signal commands a second actuator to vibrate at a second plurality of different frequencies over time. The first plurality of different frequencies may include a first minimum frequency and a first maximum frequency. The second plurality of different frequencies may include a second minimum frequency and a second maximum frequency. The first minimum frequency may differ from the second minimum frequency. The first maximum frequency may differ from the second maximum frequency.

[0008] In some possible aspects, the processor can be programmed to clip at least one of the first plurality of different frequencies and the second plurality of different frequencies.

[0009] An exemplary method includes: determining a vehicle speed; selecting at least one actuator based on the vehicle speed to vibrate a sensor housing; and commanding the at least one actuator to vibrate the sensor housing according to the vehicle speed to remove debris from the sensor housing.

[0010] In the method, selecting at least one actuator may include selecting a first actuator and a second actuator to vibrate the sensor housing, wherein the first actuator is configured to vibrate the sensor housing in an axial direction, and the second actuator is configured to vibrate the sensor housing in a radial direction. Commanding at least one actuator may include: sending a first signal to the first actuator, the first signal commanding the first actuator to vibrate according to a first amplitude; and sending a second signal to the second actuator, the second signal commanding the second actuator to vibrate according to a second amplitude. The first amplitude and the second amplitude may be selected based on vehicle speed.

[0011] The method can also include comparing the vehicle speed to a predetermined threshold. In the implementation, selecting the first magnitude and the second magnitude based on the vehicle speed can include selecting the first magnitude to be greater than the second magnitude as a result of determining that the vehicle speed is below the predetermined threshold, and selecting the second magnitude to be greater than the first magnitude as a result of determining that the vehicle speed is above the predetermined threshold.

[0012] In the method, the first signal can command the first actuator to vibrate over time at a first plurality of different frequencies, and the second signal can command the second actuator to vibrate over time at a second plurality of different frequencies. The first plurality of different frequencies can include a first minimum frequency and a first maximum frequency. The second plurality of different frequencies can include a second minimum frequency and a second maximum frequency. BRIEF DESCRIPTION OF DRAWINGS

[0013] Figure 1 An example host vehicle having a sensor cleaning system is shown.

[0014] Figure 2 is a block diagram showing example components of a sensor cleaning system.

[0015] Figure 3A and Figure 3B Example components of a sensor cleaning system disposed on an on-board vehicle sensor are shown.

[0016] Figures 4A-4C An example control scheme for components of a sensor cleaning system is shown collectively.

[0017] Figure 5 is a flowchart of an example process that can be executed by a processor of a sensor cleaning system. DETAILED DESCRIPTION

[0018] The illustrated elements can take many different forms and include a number of and / or alternative components and facilities. The example components shown are not intended to be limiting. Indeed, additional or alternative components and / or implementations can be used. Moreover, the illustrated elements are not necessarily drawn to scale unless explicitly stated.

[0019] As Figure 1As shown, host vehicle 100 includes a sensor cleaning system 105. Although shown as a sedan, host vehicle 100 can include any passenger or commercial vehicle, such as a car, truck, sport utility vehicle, crossover vehicle, van, minivan, taxi, bus, etc. Host vehicle 100 can operate in an autonomous (e.g., driverless) mode, a partially autonomous mode, and / or a non-autonomous mode. The partially autonomous mode can refer to a SAE Level 2 mode of operation in which host vehicle 100 can control steering, acceleration, and braking in certain situations without human interaction. The partially autonomous mode can also refer to a SAE Level 3 mode of operation in which host vehicle 100 can handle steering, acceleration, and braking in certain situations, as well as monitor the driving environment, although some human interaction is sometimes required. To implement the autonomous and partially autonomous modes of operation, host vehicle 100 can include a virtual driver system and an automated vehicle platform. The virtual driver system is a computing platform implemented via sensors, controllers, circuits, chips, and other electronic components that control various autonomous operations of host vehicle 100. The virtual driver system includes an autonomous vehicle controller (i.e., a vehicle computer) that is programmed to process data captured by on-board sensors 110, which can include lidar sensors, radar sensors, cameras, ultrasonic sensors, etc. The autonomous vehicle controller is programmed to output control signals to components of the automated vehicle platform to autonomously control host vehicle 100 according to the data captured by the sensors. The automated vehicle platform refers to the components that implement autonomous vehicle operations according to instructions from the virtual driver system (and specifically from the autonomous vehicle controller). Thus, the automated vehicle platform includes various actuators incorporated into host vehicle 100 that control the steering, propulsion, and braking of host vehicle 100. The automated vehicle platform also includes various platform controllers (sometimes referred to as “modules” in the art), such as a chassis controller, a powertrain controller, a body controller, an electrical controller, etc.

[0020] Sensor cleaning system 105 is implemented via circuits, chips, actuators, or other electronic components that can clean debris from certain on-board vehicle sensors 110 based on the speed of host vehicle 100. For example, with reference to Figure 2 Sensor cleaning system 105 includes axial actuators 115, radial actuators 120, memory 125, and processor 130.

[0021] Axial actuators 115 and radial actuators 120 are electromechanical devices that are controlled by control signals output by processor 130. The electrical control signals output by processor 130 are converted into mechanical motion by axial actuators 115 and radial actuators 120. The strength (i.e., amplitude) of the mechanical motion can be based on the characteristics (e.g., frequency, amplitude, or duty cycle) of the control signals. Examples of actuators can include linear actuators, servo motors, etc.

[0022] Axial actuator 115 and radial actuator 120 may each be attached to the windshield 135 of vehicle sensor 110 or other components of the sensor housing (see [link]). Figures 3A-3B Furthermore, the axial actuator 115 and the radial actuator 120 can cause the windshield 135 of the vehicle sensor 110 to vibrate in different ways. For example, the axial actuator 115 can cause the windshield 135 to vibrate in the axial direction. For the purposes of this disclosure, the axial direction can be perpendicular to the direction of vehicle movement and perpendicular to the surface on which the vehicle sensor 110 is located. In other words, the axial direction can be aligned with the direction of gravity (i.e., "up and down"). The radial actuator 120 can cause the windshield 135 to vibrate in the radial direction. For the purposes of this disclosure, the radial direction can be parallel to the direction of vehicle movement, parallel to the surface on which the vehicle sensor 110 is located, or both. In other words, the radial direction can be perpendicular to the direction of gravity (i.e., "from one side to the other"). The axial actuator 115 and the radial actuator 120 can be controlled by different control signals. Therefore, the processor 130 can output control signals to activate the axial actuator 115 and the radial actuator 120 at different times, with different intensities, or both.

[0023] Memory 125 is implemented via circuitry, chips, or other electronic components, and may include one or more of the following: read-only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically programmable and erasable memory (EEPROM), embedded multimedia card (eMMC), hard disk drive, or any volatile or non-volatile media. Memory 125 may store instructions executable by processor 130, as well as data such as vehicle speed and wind speed. The instructions and data stored in memory 125 may be accessed by processor 130 and possible other components of sensor cleaning system 105, main vehicle 100, or both.

[0024] Processor 130 is implemented via circuitry, chips, or other electronic components and may include one or more microcontrollers, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more customer-specific integrated circuits, etc. Processor 130 may be programmed to execute instructions stored in memory 125. Instructions stored in memory 125 and executable by processor 130 include: determining vehicle speed; selecting axial actuator 115, radial actuator 120, or both based on vehicle speed; and commanding the selected actuator to vibrate the sensor housing to remove debris from the sensor housing.

[0025] The processor 130 can be programmed to determine the vehicle speed based on, for example, the output of a vehicle speed sensor (speedometer), a navigation system, etc. In some cases, the vehicle speed can be stored in the memory 125 and the processor 130 can be programmed to determine the vehicle speed by accessing the vehicle speed from the memory 125. The processor 130 can be programmed to compare the vehicle speed to a predetermined threshold. The predetermined threshold can be stored in the memory 125 and can indicate whether the host vehicle 100 is traveling at a low speed (e.g., a speed below the predetermined threshold) or a high speed (e.g., a speed above the predetermined threshold). The selection of the actuator based on the vehicle speed can include selecting the axial actuator 115 to vibrate the sensor housing as a result of determining that the vehicle speed is below the predetermined threshold and selecting the radial actuator 120 to vibrate the sensor housing as a result of determining that the vehicle speed is above the predetermined threshold. Thus, when the vehicle is stopped or traveling at a low speed, the axial vibration will help dislodge debris from the deflector 135 with the aid of gravity. However, when the vehicle is traveling at a higher speed, the radial vibration will help trap the debris in the airflow around the deflector 135.

[0026] In some cases, the processor 130 can be programmed to select both the axial actuator 115 and the radial actuator 120. However, the vibration amplitude of each actuator can be based on the vehicle speed. Moreover, in cases where both actuators are selected to vibrate the sensor housing, the vibration amplitudes of the actuators can differ from one another. By way of example, at low speeds or when the host vehicle 100 is stopped (i.e., when the vehicle speed is below the predetermined threshold), both the axial actuator 115 and the radial actuator 120 can be activated via the control signals and the control signal powering the axial actuator 115 can command a greater vibration amplitude than the control signal powering the radial actuator 120. The opposite can occur at higher speeds (i.e., when the vehicle speed is above the predetermined threshold). That is, when the vehicle speed is above the predetermined threshold, the control signal powering the radial actuator 120 can command a greater vibration amplitude than the control signal powering the axial actuator 115. As previously mentioned, the vibration amplitude of each actuator can be controlled by a characteristic of the control signal controlling the actuator. The characteristic can refer to the frequency, amplitude, or duty cycle of the control signal. The processor 130 can be programmed to select the amplitude of vibration for each actuator as a function of the vehicle speed and output the appropriate control signals to command the axial actuator 115 and the radial actuator 120 to vibrate according to their respective selected vibration amplitudes.

[0027] In addition to the amplitude, the processor 130 can be programmed to output control signals to control the frequency of vibration of the axial and radial sensors. For example, at low speeds or when the host vehicle 100 is stopped (i.e., when the vehicle speed is below a predetermined threshold), both the axial and radial actuators 115, 120 can be activated via the control signals, and the axial actuators 115 can be commanded to vibrate at a greater frequency than the radial actuators 120. The opposite can occur at higher speeds (i.e., when the vehicle speed is above the predetermined threshold). That is, when the vehicle speed is above the predetermined threshold, the radial actuators 120 can be commanded to vibrate at a greater frequency than the axial actuators 115. The frequency of vibration of each actuator can be controlled by a characteristic of the control signal that controls the actuator. The characteristic can refer to the frequency, amplitude, or duty cycle of the control signal. The processor 130 can be programmed to select a frequency of vibration for each actuator as a function of the vehicle speed, and output the appropriate control signals to command the axial and radial actuators 115, 120 to vibrate according to their respective selected frequencies of vibration.

[0028] In some cases, the processor 130 can be programmed to command the axial actuators 115, the radial actuators 120, or both to vibrate within different frequency ranges. For example, the processor 130 can output control signals to command the axial actuators 115 to vibrate according to a first set of frequencies, and to command the radial actuators 120 to vibrate according to a second set of frequencies. The frequencies of the first and second sets can be the same as or different from each other, and the frequencies can vary over time. That is, the frequency of vibration of the axial actuators 115 can vary between a first minimum frequency and a first maximum frequency over a period of time while the sensor cleaning system 105 is operating. Likewise, the frequency of vibration of the radial actuators 120 can vary between a second minimum frequency and a second maximum frequency over a period of time while the sensor cleaning system 105 is operating. Any of the first minimum and maximum frequencies and the second minimum and maximum frequencies can be based on the vehicle speed. Alternatively, any of the first minimum and maximum frequencies and the second minimum and maximum frequencies can be calibration settings. In some cases, the first minimum and maximum frequencies and the second minimum and maximum frequencies can be stored in the memory 125 and accessed by the processor 130 as needed to control the axial actuators 115, the radial actuators 120, or both.

[0029] In some possible implementations, the processor 130 can be programmed to clip the vibration frequency of the actuator. One reason the processor 130 can be programmed to do so is to keep the actuator from producing noise that is audible to nearby people, including the driver or passengers of the host vehicle 100. That is, if the processor 130 calculates that the vibration frequency of the actuator is within the audible frequency range of a human, the processor 130 can be programmed to clip the frequency by, for example, commanding the actuator to vibrate at a higher or lower frequency to keep the actuator vibration from being audible.

[0030] Figures 3A-3B An example component of a vehicle sensor 110 with a sensor cleaning system 105 is shown. Figure 3A A vehicle sensor 110 with a housing is shown, the housing including a windshield 135, a heater 140, and a fluid nozzle 145.

[0031] The windshield 135 is implemented via glass or plastic that is at least partially transparent. At a minimum, the windshield 135 is transparent to light in certain frequency ranges, depending on the type of vehicle sensor 110. Lidar sensors, cameras, IR sensors, etc. can be transparent to different frequency ranges with some overlap or no overlap. Thus, the windshield 135 for each of these types of vehicle sensors 110 can be transparent to light in different frequency ranges.

[0032] The heater 140 is implemented via a resistive heating element that is attached to the windshield 135. When electrical energy is provided, the temperature of the resistive heating element increases and radiates heat. The heat generated by the heater 140 is applied to the windshield 135 to, for example, remove snow, ice, and frost from the windshield 135.

[0033] The fluid nozzle 145 is attached to a fluid reservoir and is used to direct cleaning fluid onto the windshield 135. Cleaning fluid from the fluid reservoir is sprayed onto the windshield 135 to wash debris from the windshield 135.

[0034] Figure 3B One or more elastic rings 150 are shown that can be placed on the windshield 135 to allow the windshield 135 to vibrate without producing too much noise (e.g., rattle). Figure 3B An axial actuator 115 and a radial actuator 120 are also shown positioned on the windshield 135. The axial actuator 115 and the radial actuator 120 are shown near the bottom of the windshield 135, but they can be placed in other locations. In some possible aspects, the axial actuator 115 and the radial actuator 120 are placed at certain locations on the windshield 135 where they can vibrate the windshield 135 while remaining out of view of the vehicle sensor 110.

[0035] Figures 4A-4C An exemplary control scheme that can be implemented by the sensor cleaning system 105 is illustrated. The processor 130 discussed above can execute this control scheme to control the vibration of the windshield 135 in the axial and radial directions according to the vehicle speed. As previously stated, the processor 130 can control the vibration of the axial actuator 115 and the radial actuator 120. The axial direction A, the radial direction R, and the air velocity direction V are... Figure 4A As shown in the diagram. The axial direction A and radial direction R have been discussed above. The air velocity direction V refers to the direction of the air relative to the main vehicle 100. Most of the time (e.g., in the absence of extreme wind), if the vehicle is moving, the air velocity direction V will be in the opposite direction to the movement of the main vehicle 100. If the main vehicle 100 is moving slowly or stationary, the air velocity direction V is usually in the direction of the wind, but if the main vehicle 100 is moving faster than the wind speed, the air velocity direction V may be opposite to the direction of the movement of the main vehicle 100.

[0036] Figure 4B and Figure 4C An exemplary graph illustrating the relationship between the amplitude of vibration on the Y-axis and the vehicle speed on the X-axis is shown. (Reference) Figure 4B The graph shows the amplitude of the vibration of the radial actuator 120, which remains relatively low until the speed of the main vehicle 100 exceeds a predetermined threshold. However, in a sense, the radial actuator 120 is assisted by air velocity, so the amplitude of the vibration may decrease slightly. Now refer to Figure 4C It shows the amplitude of the vibration of the axial actuator 115, which is relatively high when the main vehicle 100 is stopped or moving slowly, but decreases as the main vehicle 100 begins to accelerate.

[0037] Figure 5 This is a flowchart of an exemplary process 500 that can be performed by the sensor cleaning system 105. The process can be performed periodically during operation of the main vehicle 100 when debris is detected on the vehicle sensor 110, or in response to user input requesting cleaning of the vehicle sensor 110.

[0038] At box 505, sensor cleaning system 105 determines vehicle speed. For example, processor 130 may determine vehicle speed based on, for example, the output of a vehicle speed sensor (speedometer), navigation system, or by accessing vehicle speed from memory 125.

[0039] At decision block 510, to select at least one actuator to vibrate the sensor housing (e.g., the windscreen 135 of the sensor housing) based on the vehicle speed, the sensor cleaning system 105 compares the vehicle speed to a predetermined threshold. For example, the processor 130 can determine whether the vehicle speed is above or below the predetermined threshold, and select whether to activate the axial actuator 115, the radial actuator 120, or both, based on the result of comparing the vehicle speed to the predetermined threshold. If the processor 130 determines that the vehicle speed is below the predetermined threshold, the process 500 can proceed to block 515. Otherwise, the process 500 can proceed to block 520.

[0040] At block 515, the sensor cleaning system 105 prioritizes the axial actuator 115 due to the determination that the vehicle speed is below the predetermined threshold. For example, the processor 130 can give priority to the axial actuator 115 due to the determination that the vehicle speed is below the predetermined threshold. In this case, giving the axial actuator 115 “priority” means that the vibrations of the axial actuator 115 will have a greater magnitude (which can refer to the amplitude of the vibrations, the frequency of the vibrations, or both) than the vibrations of the radial actuator 120. Thus, when the axial actuator 115 is given priority, the processor 130 can select the axial actuator 115 to vibrate the sensor housing with a greater magnitude than the radial actuator 120.

[0041] At block 520, the sensor cleaning system 105 prioritizes the radial actuator 120 due to the determination that the vehicle speed is above the predetermined threshold. That is, the processor 130 can give priority to the radial actuator 120 due to the determination that the vehicle speed is above the predetermined threshold. In this case, giving the radial actuator 120 “priority” means that the vibrations of the radial actuator 120 will have a greater magnitude (which can refer to the amplitude of the vibrations, the frequency of the vibrations, or both) than the vibrations of the axial actuator 115. Thus, when the radial actuator 120 is given priority, the processor 130 can select the radial actuator 120 to vibrate the sensor housing with a greater magnitude than the axial actuator 115.

[0042] At block 525, the sensor cleaning system 105 generates control signals to control the axial actuators 115, the radial actuators 120, or both, in accordance with the prioritization assigned at block 515 or 520. That is, the processor 130 can generate control signals that cause the axial actuators 115, the radial actuators 120, or both, to vibrate at a particular amplitude, frequency, or both, given the vehicle speed. For example, the processor 130 can generate a first control signal that, when output to the axial actuators 115, will cause the axial actuators 115 to vibrate according to a first amplitude. The processor 130 can generate a second control signal that, when output to the radial actuators 120, will cause the radial actuators 120 to vibrate according to a second amplitude. The processor 130 selects the first and second amplitudes based on which actuator is given priority. And because the priority is based on the vehicle speed, the processor 130 selects both the first and second amplitudes according to the vehicle speed. Moreover, as described above, the amplitude of the vibration can vary over time. In other words, rather than selecting a particular amplitude, the processor 130 can generate control signals that cause the axial actuators 115 to vibrate at a first plurality of different frequencies over time, and generate control signals that cause the radial actuators 120 to vibrate at a second plurality of different frequencies over time. In each case, the processor 130 can generate control signals to cause the axial actuators 115 and the radial actuators 120 to vibrate between a first and second minimum frequency and a first and second maximum frequency, as described above, and can select any of these according to the vehicle speed.

[0043] At block 530, the sensor cleaning system 105 outputs the control signals to the axial actuators 115, the radial actuators 120, or both. For example, the processor 130 can output the control signals generated at block 525. Upon receiving the control signals, one or both of the axial actuators 115 and the radial actuators 120 will vibrate the sensor housing based on the vehicle speed, to, for example, remove debris from the sensor housing.

[0044] Generally, the computing systems and / or devices described can employ any one of a number of computer operating systems, including, but in no way limited to, versions and / or varieties of the application, AppLink / SmartDevice Link middleware, Microsoft operating system, Microsoft operating system, Unix operating systems (e.g., the operating systems), the AIX UNIX operating system distributed by International Business Machines of Armonk, New York, the Linux operating system, the Mac OS and iOS operating systems distributed by Apple Inc. of Cupertino, California, the BlackBerry OS distributed by BlackBerry Limited of Waterloo, Canada, and the Android operating system developed by Google, Inc. and the Open Handset Alliance or CAR infotainment platform. Examples of computing devices include, but are not limited to, an onboard computer, a computer workstation, a server, a desktop computer, a notebook computer, a laptop computer, or a handheld computer, or some other computing system and / or device.

[0045] Computing devices typically include computer-executable instructions, where the instructions can be executed by one or more computing devices, such as those listed above. Computer-executable instructions can be compiled or interpreted from computer programs created using a variety of programming languages and / or technologies, including, without limitation, and either alone or in combination, Java TM , C, C++, Visual Basic, Java Script, Perl, etc. Some of these applications can be compiled and executed on a virtual machine, such as the Java Virtual Machine, Dalvik Virtual Machine, etc. Typically, a processor (e.g., a microprocessor) receives instructions, from a memory, computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data can be stored and transmitted using a variety of computer-readable media.

[0046] Computer-readable storage media (also referred to as processor-readable media) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such a medium can take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media can include, for example, optical or magnetic disks and other persistent memory. Volatile media can include, for example, dynamic random access memory (DRAM). Such instructions can be transmitted by one or more transmission media including coaxial cables; copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH- EPROM, any other memory chip or cartridge, or any other medium from which a computer can read.

[0047] A database, data warehouse, or other data storage described herein can include various mechanisms for storing, accessing, and retrieving various data, including a hierarchical database, a set of files in a file system, an application database in a specialized format, a relational database management system (RDBMS), and the like. Each such data storage is typically included within a computing device that employs a computer operating system such as one described above, and is accessed via a network in any one or more of various ways. A file system can be accessed from a computer operating system and can include files stored in various formats. An RDBMS employs a structured query language (SQL) in addition to a language for creating, storing, editing, and executing stored programs such as the PL / SQL language described above.

[0048] In some examples, system elements can be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.), stored on computer-readable media (e.g., disks, memories, etc.) associated therewith. A computer program product can include such instructions stored on a computer-readable medium for performing the functions described herein.

[0049] With respect to processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the described order. It further should be understood that certain steps have been described as being performed concurrently with other steps, that certain depicted block flows have been described as occurring in one sequence or order when in fact those steps could be performed in any order, and that some steps or components described herein as separate can or can not be combined. Indeed, these and other methods of operations that have been, are or can be employed, can vary according to specific implementation and implementation constraints. Accordingly, unless explicitly stated otherwise, steps, operations, etc. described herein can be performed in any order that is practical and / or that the specific implementation allows. In other words, the descriptions of processes herein are provided for illustrative purposes and should not be construed to limit the scope or appropriate techniques thereof.

[0050] Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the application should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation.

[0051] All terms used in the claims are intended to be given their broadest interpretation consistent with the principles of patent law. In particular, the use of the terms "about" and "substantially" in the claims should not be construed as limiting the scope of the claims to only the precise conditions disclosed in the specification. In addition, the use of the terms "one" and "the" in the claims should not be construed as limiting the scope of the claims to only one embodiment.

[0052] The Abstract is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is not intended to be used to interpret or limit the scope or meaning of the claims. In addition, it will be understood that the foregoing description is not inclusive of all aspects of the present disclosure. Additionally, it should be understood that every feature described herein and / or shown in any one or more of the accompanying drawings can be replaced by alternative features that show similar or equivalent technical effect, and that some features that are shown in one or more of the drawings can be combined with features shown in one or more other drawings. In other words, the disclosure is intended to cover any and all adaptations or variations of various embodiments of the present disclosure. Furthermore, it should be understood that the language used in the section entitled "Detailed Description" is intended to be illustrative, and not to be used to limit or define the claims. Unless otherwise indicated herein, the approaches described in this section are not inherently related to any particular embodiment or claims, and can be used in any number of embodiments of the present disclosure described herein.

[0053] According to the present disclosure, there is provided a vehicle computer having: a memory; and a processor programmed to execute instructions stored in the memory, the instructions comprising: determining a vehicle speed; selecting at least one actuator to vibrate a sensor housing based on the vehicle speed; and commanding the at least one actuator to vibrate the sensor housing according to the vehicle speed to remove debris from the sensor housing.

[0054] According to one embodiment, selecting the at least one actuator can include selecting from among a first actuator and a second actuator, wherein the first actuator is disposed on the sensor housing and is configured to vibrate the sensor housing in an axial direction.

[0055] According to one embodiment, the second actuator can be disposed on the sensor housing and configured to vibrate the sensor housing in a radial direction.

[0056] According to one embodiment, selecting the at least one actuator to vibrate the sensor housing based on the vehicle speed includes selecting the first actuator to vibrate the sensor housing as a result of determining that the vehicle speed is below a predetermined threshold.

[0057] According to one embodiment, selecting the at least one actuator to vibrate the sensor housing based on the vehicle speed includes selecting the second actuator to vibrate the sensor housing as a result of determining that the vehicle speed is above a predetermined threshold.

[0058] According to one embodiment, selecting the at least one actuator includes selecting the first actuator and the second actuator to vibrate the sensor housing, wherein the first actuator is configured to vibrate the sensor housing in an axial direction and the second actuator is configured to vibrate the sensor housing in a radial direction, and wherein commanding the at least one actuator includes sending a first signal to the first actuator, the first signal commanding the first actuator to vibrate according to a first amplitude, and sending a second signal to the second actuator, the second signal commanding the second actuator to vibrate according to a second amplitude.

[0059] According to one embodiment, the first amplitude is different than the second amplitude.

[0060] According to one embodiment, the processor is programmed to select the first amplitude and the second amplitude based on the vehicle speed.

[0061] According to one embodiment, selecting the first amplitude and the second amplitude based on the vehicle speed can include selecting the first amplitude to be greater than the second amplitude as a result of determining that the vehicle speed is below a predetermined threshold.

[0062] According to one embodiment, selecting the first amplitude and the second amplitude based on the vehicle speed can include selecting the second amplitude to be greater than the first amplitude as a result of determining that the vehicle speed is above a predetermined threshold.

[0063] According to one embodiment, the first signal commands the first actuator to vibrate over time at a first plurality of different frequencies, and wherein the second signal commands the second actuator to vibrate over time at a second plurality of different frequencies.

[0064] According to one embodiment, the first plurality of different frequencies includes a first minimum frequency and a first maximum frequency.

[0065] According to one embodiment, the second plurality of different frequencies includes a second minimum frequency and a second maximum frequency.

[0066] According to one embodiment, the first minimum frequency is different than the second minimum frequency.

[0067] According to one embodiment, the first maximum frequency is different than the second maximum frequency.

[0068] According to one embodiment, the processor is programmed to clip at least one of the first plurality of different frequencies and the second plurality of different frequencies.

[0069] According to the present invention, a method includes determining a vehicle speed, selecting at least one actuator to vibrate a sensor housing based on the vehicle speed, and commanding the at least one actuator to vibrate the sensor housing according to the vehicle speed to remove debris from the sensor housing.

[0070] According to one embodiment, selecting the at least one actuator includes selecting a first actuator and a second actuator to vibrate the sensor housing, wherein the first actuator is configured to vibrate the sensor housing in an axial direction and the second actuator is configured to vibrate the sensor housing in a radial direction, and wherein commanding the at least one actuator includes sending a first signal to the first actuator, the first signal commanding the first actuator to vibrate according to a first amplitude, and sending a second signal to the second actuator, the second signal commanding the second actuator to vibrate according to a second amplitude, wherein the first amplitude and the second amplitude are selected based on the vehicle speed.

[0071] According to one embodiment, comparing the vehicle speed to a predetermined threshold, wherein selecting the first amplitude and the second amplitude based on the vehicle speed can include selecting the first amplitude to be greater than the second amplitude as a result of determining that the vehicle speed is below the predetermined threshold, and selecting the second amplitude to be greater than the first amplitude as a result of determining that the vehicle speed is above the predetermined threshold.

[0072] According to one embodiment, the first signal commands the first actuator to vibrate over time at a first plurality of different frequencies, and wherein the second signal commands the second actuator to vibrate over time at a second plurality of different frequencies, wherein the first plurality of different frequencies includes a first minimum frequency and a first maximum frequency, and wherein the second plurality of different frequencies includes a second minimum frequency and a second maximum frequency.

Claims

1. A vehicle computer comprising: a memory; and a processor programmed to execute instructions stored in the memory, the instructions comprising: determining a vehicle speed; selecting at least one actuator to vibrate a sensor housing based on the vehicle speed; and commanding the at least one actuator to vibrate the sensor housing according to the vehicle speed to remove debris from the sensor housing; wherein selecting the at least one actuator comprises selecting from a first actuator and a second actuator, wherein the first actuator is disposed on the sensor housing and is configured to vibrate the sensor housing in an axial direction, and the second actuator is disposed on the sensor housing and is configured to vibrate the sensor housing in a radial direction; wherein selecting the at least one actuator to vibrate the sensor housing based on the vehicle speed comprises selecting the first actuator to vibrate the sensor housing as a result of determining that the vehicle speed is below a predetermined threshold, and selecting the second actuator to vibrate the sensor housing as a result of determining that the vehicle speed is above a predetermined threshold.

2. The vehicle computer of claim 1, wherein selecting the at least one actuator comprises selecting the first actuator and the second actuator to vibrate the sensor housing, wherein the first actuator is configured to vibrate the sensor housing in an axial direction, and the second actuator is configured to vibrate the sensor housing in a radial direction, and sending a first signal to the first actuator, the first signal commanding the first actuator to vibrate according to a first amplitude; wherein commanding the at least one effector comprises: and sending a second signal to the second actuator, the second signal commanding the second actuator to vibrate according to a second amplitude.

3. The vehicle computer of claim 2, wherein the first amplitude is different than the second amplitude.

4. The vehicle computer of claim 2 or 3, wherein the processor is programmed to select the first amplitude and the second amplitude based on the vehicle speed. selecting the first amplitude to be greater than the second amplitude as a result of determining that the vehicle speed is below a predetermined threshold.

5. The vehicle computer of claim 4, wherein selecting the first magnitude and the second magnitude based on the vehicle speed comprises: selecting the second amplitude to be greater than the first amplitude as a result of determining that the vehicle speed is above a predetermined threshold.

6. The vehicle computer of claim 4, wherein selecting the first magnitude and the second magnitude based on the vehicle speed comprises:

7. The vehicle computer of claim 2, wherein the first signal commands the first actuator to vibrate over time at a first plurality of different frequencies, and wherein the second signal commands the second actuator to vibrate over time at a second plurality of different frequencies.

8. The vehicle computer of claim 7, wherein the first plurality of different frequencies comprises a first minimum frequency and a first maximum frequency.

9. The vehicle computer of claim 8, wherein the second plurality of different frequencies comprises a second minimum frequency and a second maximum frequency.

10. The vehicle computer of claim 9, wherein the first minimum frequency is different than the second minimum frequency, and the first maximum frequency is different than the second maximum frequency. ​ 11. The vehicle computer of claim 7, wherein the processor is programmed to clip at least one of the first plurality of different frequencies and the second plurality of different frequencies.

Citation Information

Patent Citations

  • Sensor system, motor vehicle, and method for cleaning an ultrasonic sensor

    CN107870325A

  • Lens cleaning apparatus

    US20120243093A1

  • Device for protecting an optical sensor and driving aid system comprising an optical sensor

    US20190162953A1