Apparatus and method for detecting tilt of vehicle
By using a timer filtering algorithm to extract static acceleration from MEMS accelerometer data, the problem of low accuracy of MEMS accelerometers in vehicle tilt measurement is solved, and more accurate tilt angle detection is achieved.
Patent Information
- Application Number
- CN202510454522.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-04-26
- Filing Date
- 2025-04-11
- Publication Date
- 2025-10-28
AI Technical Summary
Existing MEMS accelerometers are not accurate and reliable when measuring vehicle tilt, and are easily affected by vehicle vibration, resulting in inaccurate acceleration data.
A timer-based filtering algorithm is used to extract static acceleration from the acceleration data generated by the MEMS accelerometer. A tilt switch signal is generated by configuring a positive flag and timer counting to isolate static acceleration from vibration and dynamic acceleration.
It improves the accuracy and reliability of vehicle tilt measurement, reduces false alarms, and provides accurate tilt angle measurement.
Smart Images

Figure CN120846293A_ABST
Abstract
Description
Technical Field
[0001] Various embodiments of this disclosure relate to detecting vehicle tilt, and more specifically to extracting static acceleration from acceleration data generated by microelectromechanical systems (MEMS) accelerometers. Background Technology
[0002] Tilt switches can include sensors for measuring the tilt of an object and can be used in a variety of applications. For example, a tilt switch can be used to sense the tilt state of a vehicle and provide an output to activate a hill-start assist system. In another example, a tilt switch can be used in the safety equipment of a hydraulic dumping system to trigger an alarm when the dump truck is not level (or exceeds a given angle) while attempting to engage the hydraulic dumping system for unloading. Existing tilt switches have accuracy issues and are unreliable due to their mechanical nature (single-axis) and installation position dependence. As an alternative, microelectromechanical systems (MEMS) accelerometers can be used to measure vehicle tilt. However, MEMS accelerometers are sensitive to vehicle vibrations and provide acceleration data that is prone to erroneous readings. The applicant has recognized the numerous technical challenges and difficulties associated with generating acceleration data from MEMS accelerometers to determine vehicle tilt. Summary of the Invention
[0003] The various implementation schemes described herein relate to components, devices, and systems for configuring tilt switches.
[0004] According to various embodiments of this disclosure, a method is provided. In some embodiments, the method includes: receiving acceleration data from a sensor by one or more processors; determining a tilt angle based on the acceleration data by one or more processors; determining by one or more processors that the tilt angle is greater than a positive angle threshold; configuring a positive flag and a timer count by one or more processors based on the determination that the tilt angle is greater than the positive angle threshold; determining by one or more processors based on the timer count that a settling time criterion has been met; and generating a first tilt switching signal by one or more processors based on the satisfaction of the settling time criterion and that the positive flag includes a true Boolean value.
[0005] In some embodiments, the acceleration data includes multiple data values associated with multiple axes. In some embodiments, the sensor includes a triaxial accelerometer based on a microelectromechanical system (MEMS). In some embodiments, receiving acceleration data also includes periodically sampling the acceleration data using a timer interrupt. In some embodiments, the tilt angle includes roll angle or pitch angle. In some embodiments, the method further includes: determining that the tilt angle is less than a negative angle threshold; configuring a negative flag and a timer count based on the determination that the tilt angle is less than the negative angle threshold; and generating a second tilt switch signal based on the satisfaction of a settling time criterion and that the negative flag includes a true Boolean value. In some embodiments, the method further includes: determining that the negative flag includes a true Boolean value; determining, based on the timer count, that the settling time criterion has not yet been met; and incrementing the timer count. In some embodiments, the method further includes: determining that the negative flag includes a spurious Boolean flag; assigning a true Boolean value to the negative flag; assigning a spurious Boolean value to the positive flag; and resetting the timer count.
[0006] In some embodiments, the second tilt switch signal includes a deactivation signal or a logic low voltage. In some embodiments, the first tilt switch signal includes an activation signal or a logic high voltage. In some embodiments, the method further includes determining a settling time criterion based on one or more of vehicle vibration, vehicle speed, or road conditions. In some embodiments, the method further includes: determining that a positive flag includes a true Boolean value; determining that a settling time criterion has not yet been met based on a timer count; and incrementing the timer count. In some embodiments, the method further includes: determining that a positive flag includes a spurious Boolean value; assigning a true Boolean value to the positive flag; assigning a spurious Boolean value to the negative flag; and resetting the timer count.
[0007] According to another embodiment, a computing system is provided. In some embodiments, the computing system includes a memory and one or more processors communicatively coupled to the memory, the one or more processors being configured to: receive acceleration data from a sensor; determine a tilt angle based on the acceleration data; determine that the tilt angle is greater than a positive angle threshold; configure a positive flag and a timer count based on the determination that the tilt angle is greater than the positive angle threshold; determine that a settling time criterion has been met based on the timer count; and generate a first tilt switching signal based on the satisfaction of the settling time criterion and that the positive flag includes a true Boolean value.
[0008] In some embodiments, one or more processors are further configured to: determine that the tilt angle is less than a negative angle threshold; configure a negative flag and a timer count based on the determination that the tilt angle is less than the negative angle threshold; and generate a second tilt switch signal based on the satisfaction of a settling time criterion and that the negative flag includes a true Boolean value. In some embodiments, one or more processors are further configured to: determine that the negative flag includes a true Boolean value; determine, based on the timer count, that the settling time criterion has not yet been met; and increment the timer count. In some embodiments, one or more processors are further configured to: determine that the negative flag includes a sham Boolean flag; assign a true Boolean value to the negative flag; assign a sham Boolean value to the positive flag; and reset the timer count. In some embodiments, one or more processors are further configured to: determine that the positive flag includes a true Boolean value; determine, based on the timer count, that the settling time criterion has not yet been met; and increment the timer count. In some embodiments, one or more processors are further configured to: determine that the positive flag includes a sham Boolean value; assign a true Boolean value to the positive flag; assign a sham Boolean value to the negative flag; and reset the timer count.
[0009] According to another embodiment, one or more non-transitory computer-readable storage media are provided. In some embodiments, the one or more non-transitory computer-readable storage media include instructions that, when executed by one or more processors, cause the one or more processors to: receive acceleration data from a sensor; determine a tilt angle based on the acceleration data; determine that the tilt angle is greater than a positive angle threshold; configure a positive flag and a timer count based on the determination that the tilt angle is greater than the positive angle threshold; determine, based on the timer count, that a settling time criterion has been met; and generate a first tilt switching signal based on the satisfaction of the settling time criterion and that the positive flag includes a true Boolean value.
[0010] The foregoing illustrative description of the invention, as well as other exemplary objects and / or advantages of this disclosure, and the ways in which these objects and / or advantages are achieved, are further explained in the following detailed description and accompanying drawings. Attached Figure Description
[0011] The description of the exemplary embodiments can be read in conjunction with the accompanying drawings. It will be understood that, for simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale unless otherwise described. For example, unless otherwise described, the dimensions of some elements may be exaggerated relative to others. Embodiments incorporating the teachings of this disclosure are shown and described with reference to the accompanying drawings, in which:
[0012] Figure 1 Systems according to some embodiments of this disclosure are provided;
[0013] Figure 2Examples of sensor operation according to some embodiments of this disclosure are described;
[0014] Figure 3 This is an operational example of the tilt monitoring system 300 according to some embodiments of this disclosure;
[0015] Figure 4 Exemplary tilt values are depicted according to some embodiments of this disclosure;
[0016] Figure 5 This is a flowchart illustrating an exemplary process for configuring a tilt switch according to some exemplary embodiments of the present disclosure;
[0017] Figure 6 This is a flowchart illustrating an exemplary process for configuring a positive flag and timer count based on a tilt angle greater than a positive angle threshold, according to some exemplary embodiments of the present disclosure;
[0018] Figure 7 This is a flowchart illustrating an exemplary process for configuring a negative flag and timer count based on a tilt angle less than a negative angle threshold, according to some exemplary embodiments of this disclosure; and
[0019] Figure 8 Exemplary tilt switch signals according to some exemplary embodiments of the present disclosure are depicted. Detailed Implementation
[0020] Some embodiments of this disclosure will be described more fully below with reference to the accompanying drawings, which illustrate some, but not all, embodiments of this disclosure. In fact, this disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided to enable this disclosure to meet applicable legal requirements. The same reference numerals consistently refer to the same elements.
[0021] As used herein, terms such as “front,” “rear,” and “top,” in the examples provided below, are used for illustrative purposes to describe the relative positions of certain parts or portions of parts. Additionally, as will be apparent to those skilled in the art based on this disclosure, the terms “substantially” and “approximately” indicate that the referenced element or associated description is accurate within applicable engineering tolerances.
[0022] As used herein, the term “comprising” means including but not limited to, and should be interpreted in the manner typically used in the patent context. The use of broader terms such as “comprising,” “including,” and “having” should be understood to provide support for narrower terms such as “consisting of,” “substantially composed of,” and “substantially constituted by.”
[0023] The phrases “in one embodiment”, “according to one embodiment”, etc., generally mean that the specific feature, structure or characteristic following the phrase may be included in at least one embodiment of this disclosure, and may be included in more than one embodiment of this disclosure (importantly, such phrases do not necessarily refer to the same embodiment).
[0024] As used herein, the terms “example” or “exemplary” mean “serving as an example, instance, or illustration.” Any specific implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other specific implementations.
[0025] If this specification states that a component or feature is "may", "can", "may", "should", "will", "preferably", "possibly", "typically", "optionally", "for example", "usually", or "may" (or other such language) included or has a characteristic, then the specific component or feature does not need to be included or have that characteristic. Such a component or feature may be optionally included in some embodiments, or it may be excluded.
[0026] As described above, there are numerous technical challenges and difficulties associated with determining vehicle tilt using acceleration data generated by MEMS accelerometers. Furthermore, the acceleration data generated by MEMS accelerometers includes both static acceleration (e.g., rotation / tilt) and dynamic acceleration (e.g., lateral and / or vertical movement), which can obscure the actual tilt position. Various exemplary embodiments of this disclosure overcome these technical challenges and difficulties associated with acceleration data generated by MEMS accelerometers and provide various technical advances and improvements. According to various embodiments of this disclosure, apparatus and methods for extracting static acceleration from acceleration data generated by MEMS accelerometers using a timer-based filtering algorithm are disclosed.
[0027] Now for reference Figure 1 A system 100 is provided that can be used according to some embodiments of this disclosure. For example... Figure 1 As depicted, system 100 includes a sensor 102 coupled to processing element 104. Processing element 104 (also referred to herein as a processor, processing circuitry, and / or similar interchangeable terms) may communicate with other elements within system 100, for example, via a bus. It should be understood that processing element 104 can be embodied in a variety of different ways.
[0028] For example, processing element 104 may be embodied as one or more complex programmable logic devices (CPLDs), microprocessors, multi-core processors, coprocessor entities, application-specific instruction set processors (ASIPs), microcontrollers, and / or controllers. Furthermore, processing element 104 may be embodied as one or more other processing devices or circuits. The term "circuit" can refer to a completely hardware implementation or a combination of hardware and computer program products. Therefore, processing element 104 may be embodied as an integrated circuit, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic array (PLA), a hardware accelerator, other circuits, etc.
[0029] Therefore, it should be understood that the processing element 104 can be configured for a specific purpose or configured to execute instructions stored in the memory 106 accessible by the processing element 104. Thus, whether configured by hardware or computer program products, or by a combination thereof, the processing element 104, when configured accordingly, is capable of performing steps or operations according to embodiments of the present disclosure.
[0030] In some embodiments, memory 106 includes volatile memory and / or non-volatile memory.
[0031] In one implementation, volatile memory may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data output dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type 2 synchronous dynamic random access memory (DDR2 SDRAM), double data rate type 3 synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), dual transistor RAM (TTRAM), thyristor RAM (T-RAM), zero capacitor (Z-RAM), Rambus embedded memory module (RIMM), dual in-line memory module (DIMM), single in-line memory module (SIMM), video random access memory (VRAM), cache memory (including various levels), flash memory, register memory, etc. It will be understood that, where the implementation is described as using a computer-readable storage medium, other types of computer-readable storage media may be used in place of the computer-readable storage media described above, or in addition to the computer-readable storage media described above.
[0032] In one embodiment, non-volatile memory may include floppy disks, floppy hard disks, hard disks, solid-state storage (SSS) (e.g., solid-state drives (SSDs), solid-state cards (SSCs), solid-state modules (SSMs)), enterprise flash drives, magnetic tape, or any other non-transitory magnetic media. Non-volatile computer-readable storage media may also include punched cards, paper tape, optical marking sheets (or any other physical media with perforated patterns or other optically identifiable markings), optical disc read-only memory (CD-ROM), optical disc rewritable (CD-RW), digital versatile disc (DVD), Blu-ray disc (BD), and any other non-transitory optical media. Such non-volatile computer-readable storage media may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., serial, NAND, NOR, etc.), multimedia memory cards (MMC), secure digital storage (SD) cards, smart media cards, compact flash memory (CF) cards, memory sticks, etc. In addition, non-volatile computer-readable storage media may also include conductive bridged random access memory (CBRAM), phase change random access memory (PRAM), ferroelectric random access memory (FeRAM), non-volatile random access memory (NVRAM), magnetoresistive random access memory (MRAM), resistive random access memory (RRAM), silicon-oxide-nitride-oxide-silicon memory (SONOS), floating junction gate random access memory (FJG RAM), millipede memory, racetrack memory, etc.
[0033] Input / output devices 108 may include, for example, a display, speaker, or haptic instrument (which is coupled to processing element 104 for providing output from system 100), or a keyboard, touch display, voice / speech, or motion interface (for providing input to system 100).
[0034] System 100 also includes a communication interface 110 coupled to processing element 104 for communicating with various computing entities, such as by transmitting data, content, information, and / or similar terms used interchangeably herein that can be transmitted, received, manipulated, processed, displayed, stored, etc. Such communication may be performed using wired data transmission protocols such as Fiber Distributed Data Interface (FDDI), Digital Subscriber Line (DSL), Ethernet, Asynchronous Transfer Mode (ATM), Frame Relay, Cable Data Service Interface Specification (DOCSIS), or any other wired transmission protocol. Similarly, processing element 104 can be configured to communicate via a wireless external communication network using any of a variety of protocols, such as General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), CDMA2000 1X (1xRTT), Wideband Code Division Multiple Access (WCDMA), Global System for Mobile Communications (GSM), Enhanced Data Rate GSM Evolution (EDGE), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolved Data Optimization (EVDO), High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), IEEE 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (WiMAX), Ultra Wideband (UWB), Infrared (IR) protocol, Near Field Communication (NFC) protocol, Wibree, Bluetooth protocol, Wireless Universal Serial Bus (USB) protocol, and / or any other wireless protocol.
[0035] In some embodiments, sensor 102 includes a sensor configured to measure movement relative to an absolute horizontal plane. In some embodiments, sensor 102 includes a measuring device for measuring acceleration along three axes (e.g., X, Y, and Z). Sensor 102 may generate acceleration data (e.g., including accelerations along the three axes) and transmit the acceleration data to processing element 104. In some embodiments, processing element 104 determines the tilt angle (e.g., roll and / or pitch) of the object on which the sensor is mounted based on the acceleration data generated by and received from sensor 102. In some embodiments, processing element 104 may also generate an on / off signal associated with a tilt switch or tilt switch functionality based on the determined tilt angle (e.g., exceeding one or more threshold angles).
[0036] According to some implementation schemes, sensor 102 may be mounted on the object being monitored for tilting (e.g., a vehicle or dumping mechanism).
[0037] Figure 2Operational examples of sensor 102 according to some embodiments of this disclosure are depicted. Sensor 102 may include a MEMS-based triaxial accelerometer configured to detect the physical acceleration of an object coupled thereto. Figure 2 As depicted, sensor 102 includes a housing 200 that encapsulates (e.g., a MEMS-based triaxial accelerometer) one or more sensor components. Housing 200 includes mounting holes 202A and 202B that provide openings for mounting housing 200 to an object (e.g., a vehicle or dumping mechanism) via screws, bolts, rivets, or any other suitable type of fastener. Housing 200 also includes a termination connector 204 for coupling to a communication line leading to, for example, processing element 104, for transmitting acceleration data.
[0038] Figure 3 This is an operational example of a tilt monitoring system 300 according to some embodiments of the present disclosure. The tilt monitoring system 300 includes a sensor 302 mounted on a vehicle chassis 304. The sensor 302 is configured to monitor and generate acceleration data, including longitudinal acceleration (X-axis) 308, lateral acceleration (Y-axis) 310, and vertical acceleration (Z-axis) 312. The acceleration data can be generated by the sensor 302 and transmitted from the sensor to a processing element 306. In some embodiments, the processing element 306 is configured to determine the tilt angle of the vehicle chassis 304 based on the acceleration data, and to generate an on / off signal associated with tilt switch operation based on determining that the tilt angle of the vehicle chassis 304 exceeds an allowable threshold angle. In some embodiments, the tilt of the vehicle chassis 304 is determined based on a pitch angle 314 and / or a roll angle 316. The pitch angle 314 is associated with rotation about the Y-axis, and the roll angle 316 is associated with rotation about the X-axis. Although the tilt angle disclosed herein refers to the pitch or roll angle, in some embodiments, the tilt angle may also include the yaw angle associated with rotation about the Z-axis.
[0039] Figure 4 An exemplary tilt value 400 is depicted according to some embodiments of this disclosure. As disclosed herein, acceleration data (e.g., generated by a MEMS-based triaxial accelerometer, such as sensor 102) may include data capturing static acceleration, dynamic acceleration, and vibration of an object (such as a vehicle or dumping system) on which sensor 102 is mounted. Figure 4 The pitch and roll angles, as depicted, are determined by a processor (e.g., processing element 104) based on data generated by a MEMS-based triaxial accelerometer mounted on the vehicle when stationary and during movement, and are plotted along the X-axis representing time (in seconds) and the Y-axis representing pitch / roll angles (in degrees).
[0040] In some exemplary embodiments and as Figure 4 As described, a zero-degree angle is established as a baseline or reference angle to determine tilt switch triggering conditions based on pitch and roll angles exceeding threshold limits. In some embodiments, determining tilt switch triggering conditions can induce one or more response actions that prevent unsafe operating conditions or correct excessive pitch and roll angles.
[0041] Data snapshot 402 includes multiple pitch and roll angle values over a time interval of approximately 10 to 40 seconds, associated with the vehicle traversing a first gradient. During the first gradient captured by data snapshot 402, the roll angle is determined to be relatively stable at approximately zero degrees. The pitch angle is determined to be relatively stable at approximately four degrees from 15 to 35 seconds. However, in the time interval between 10 and 15 seconds, the determined pitch angles are irregular and include values, for example, between approximately -10 and 9 degrees due to the transition to the first gradient.
[0042] Data snapshot 404 includes multiple pitch and roll angle values over a time interval of approximately 50 to 85 seconds, which is associated with vehicle dynamics during movement that may involve vehicle vibrations and random vehicle acceleration. Compared to data snapshot 402, the multiple pitch and roll angle values over the entire time interval of 50 to 85 seconds are irregular, inaccurate, and pulsating. For example, the pitch angle may range from approximately -29 degrees to 15 degrees, and the roll angle may range from approximately -4 degrees to 5 degrees.
[0043] Data snapshot 406 includes multiple pitch and roll angle values over a time interval of approximately 125 to 155 seconds, which is associated with the vehicle traversing a slope in both the X and Y axes. During the traversal of the slope in both the X and Y axes captured by data snapshot 406, the roll angle is determined to be relatively stable at approximately one to two degrees, while the pitch angle is determined to be relatively stable at approximately two to three degrees.
[0044] Data snapshot 408 includes multiple pitch and roll angle values over a time interval of approximately 175 to 235 seconds, which is associated with the vehicle traversing a second slope. During the second slope captured by data snapshot 408, the roll angle was determined to be relatively stable between approximately one and two degrees. The pitch angle was determined to be relatively stable at approximately six degrees from 180 to 230 seconds. However, the determined pitch angles are irregular in the time interval between 175 and 180 seconds and include values between approximately -17 and 16 degrees, for example, due to the transition to the second slope.
[0045] Data snapshot 410 includes multiple pitch and roll angle values over a time interval of approximately 240 to 330 seconds, which is associated with the vehicle traversing with dynamic roll tilt. Similar to data snapshot 404, the multiple pitch and roll angle values over the entire time interval of 240 to 330 seconds are irregular, inaccurate, and pulsating. For example, the pitch angle may range from approximately -15 to 16 degrees, and the roll angle may range from approximately -2 to 8 degrees.
[0046] In fact, such as Figure 4 As described herein, measurements based on raw acceleration data generated by MEMS accelerometers may not be suitable for determining the tilt switch triggering conditions used to initiate tilt switch operation. According to various embodiments of this disclosure, static acceleration for determining tilt (e.g., pitch / roll angle) can be extracted from the acceleration data using a timer-based filtering algorithm to distinguish static acceleration from noise signals (such as vehicle vibration) and dynamic acceleration. In some embodiments, the timer-based filtering algorithm may include a time factor adjusted for, for example, vehicle vibration, vehicle speed, and road conditions to avoid false alarms.
[0047] Now for reference Figure 5 This figure is a flowchart illustrating an exemplary process 500 for configuring a tilt switch according to some exemplary embodiments of the present disclosure. According to various embodiments of the present disclosure, the tilt switch includes one or more sensors or sensor components, such as a MEMS-based triaxial accelerometer. In some exemplary embodiments, the tilt switch is deployed in various industrial, automotive, and mechanical applications, such as ramp assist systems, dump truck safety systems, or any system that activates one or more functions based on the detection of critical rotational orientation or position.
[0048] In some embodiments, process 500 begins at step / operation 502, at which point system 100 receives acceleration data from a sensor. According to various embodiments of this disclosure, the acceleration data includes multiple data values representing acceleration along multiple axes (e.g., X, Y, and Z). In some embodiments, the sensor includes a MEMS-based triaxial accelerometer configured to detect the physical acceleration of an object coupled thereto. In some embodiments, receiving acceleration data further includes initiating process 500 by system 100 periodically sampling (e.g., at sampling intervals) acceleration data from the sensor using a timer interrupt.
[0049] In some embodiments, after step / operation 502, the exemplary process proceeds to step / operation 504, where system 100 determines the tilt angle based on acceleration data. For example, the acceleration data may include X, Y, and / or Z-axis components (e.g., vectors), and one or more mathematical functions known to those skilled in the art may be applied to the X, Y, and / or Z-axis components to determine the tilt angle. According to various embodiments of this disclosure, the tilt angle includes roll or pitch angle.
[0050] In some embodiments, after step / operation 504, the exemplary process proceeds to step / operation 506, where system 100 determines whether the tilt angle is greater than a positive angle threshold. The positive angle threshold may include an angle greater than zero degrees in a first orientation (e.g., from a horizontal reference angle). In some embodiments, the positive angle threshold includes an angle in the upward direction. In some exemplary embodiments, the tilt angle may be greater than the positive angle threshold when the sensor-equipped vehicle is climbing a tilted surface. In some other exemplary embodiments, the tilt angle may be greater than the positive angle threshold when the dumping mechanism of the sensor-equipped dump truck is not in a horizontal plane and is in a tilted position during operation of the dumping mechanism.
[0051] In some implementations, after step / operation 506, if the tilt angle is greater than a positive angle threshold, the exemplary process proceeds to step / operation 508, where system 100 configures a positive flag and timer count based on the tilt angle being greater than the positive angle threshold. That is, as referenced... Figure 4 As discussed, the tilt angle determined based on raw acceleration data from a MEMS-based accelerometer can be irregular, inaccurate, and pulsating. According to various embodiments of this disclosure, configuring the positive flag and timer count includes isolating static acceleration from vibration and dynamic acceleration using a timer-based filtering algorithm. In some embodiments, the timer-based filtering algorithm includes timing features adjusted for vehicle conditions (such as vehicle vibration, vehicle speed, and road conditions) to prevent false alarms and provide an accurate measurement of the tilt angle. Reference Figure 6 The description provides a more detailed explanation of configuring the positive flag and timer count based on a tilt angle greater than a positive angle threshold.
[0052] In some embodiments, after step / operation 506, if the tilt angle is not greater than a positive angle threshold, the exemplary process proceeds to step / operation 510, where system 100 determines whether the tilt angle is less than a negative angle threshold. The negative angle threshold may include an angle less than a positive angle threshold. In some embodiments, the negative angle threshold includes an angle in a downward direction relative to a positive angle threshold. In some exemplary embodiments, the tilt angle may be less than the negative angle threshold when a sensor-equipped vehicle is descending from an inclined surface. In some other exemplary embodiments, the tilt angle may be less than the negative angle threshold when the dumping mechanism of a sensor-equipped dump truck returns from an inclined position to a horizontal plane during operation of the dumping mechanism.
[0053] In some implementations, after step / operation 510, if the tilt angle is less than a negative angle threshold, the exemplary process proceeds to step / operation 512, where system 100 configures a negative flag and timer count based on the tilt angle being less than the negative angle threshold. Configuring the negative flag and timer count also includes isolating static acceleration from vibration and dynamic acceleration using a timer-based filtering algorithm. (Reference) Figure 7 The description provides a more detailed explanation of configuring the negative flag and timer count based on a tilt angle less than a negative angle threshold.
[0054] In some embodiments, after step / operation 510, if the tilt angle is not less than a negative angle threshold, the exemplary process proceeds to step / operation 518, where system 100 maintains the current tilt switch operation. For example, maintaining the current tilt switch operation may include: keeping the tilt switch in its current operating mode (e.g., maintaining off / inactive if currently off / inactive, or maintaining on / active if currently on / active). In some embodiments, maintaining the current tilt switch operation includes: maintaining the current state of the tilt switch or the finite state machine associated with the tilt switch. In some embodiments, maintaining the current tilt switch operation does not include any action. In some embodiments, maintaining the current tilt switch operation includes: maintaining the active state by continuing to send data signals or voltages.
[0055] In some embodiments, after step / operation 508 or step / operation 512, the exemplary process proceeds to step / operation 514, where system 100 determines, based on a timer, whether a settling-time criterion has been met. In some embodiments, the settling-time criterion describes the amount of time required for a tilt angle determined based on acceleration data to reach a steady state. According to various embodiments of this disclosure, the settling-time criterion includes filter parameters of a timer-based filtering algorithm. In some embodiments, the settling-time criterion is determined based on propagation delay, the time required for the measured gyration to approach its final value, the time to recover from overload conditions associated with gyration, and / or the time to stabilize within a specified error. In some embodiments, the settling-time criterion can be varied to adapt to environmental or operational variables specific to the application. For example, the settling-time criterion used in a vehicle system may be determined or fine-tuned based on vehicle vibration, vehicle speed, and road conditions. Regarding Figure 8 The description is used to illustrate an example of a tilt switch signal generated based on various stable time standards used to filter the tilt angle using a timer-based filtering algorithm.
[0056] In some implementations, after step / operation 514, if a settling time criterion has been met, the exemplary process proceeds to step / operation 516, where system 100 generates a tilt switch signal. In some implementations, generating the tilt switch signal includes, after meeting the settling time criterion, generating an activation signal / logic high voltage (e.g., based on a tilt angle greater than a positive angle threshold) or a deactivation signal / logic low voltage (e.g., based on a tilt angle less than a negative angle threshold), respectively, based on a true Boolean value of a positive or negative flag. In some implementations, generating the tilt switch signal includes transitioning from the current state to the next state. For example, the tilt switch may: (i) transition from an inactive state to an active state based on a tilt angle greater than a positive angle threshold, or (ii) transition from an active state to an inactive state based on a tilt angle less than a negative angle threshold. In some implementations, generating the tilt switch signal further includes resetting a timer count associated with the settling time.
[0057] In some implementations, after step / operation 514, if the stabilization time criterion has not yet been met, the exemplary process proceeds to step / operation 518, where the system 100 maintains the current tilt switch operation.
[0058] Now for reference Figure 6 The figure is a flowchart illustrating an exemplary process 600 for configuring a positive flag and timer count based on a tilt angle greater than a positive angle threshold, according to some exemplary embodiments of the present disclosure.
[0059] In some embodiments, process 600 begins at step / operation 602 following one or more operations of another process (such as operation 506 of the depicted and described process 500). In some embodiments, at step / operation 602, system 100 determines the value of a positive flag. The positive flag may include a Boolean variable representing a tilt angle greater than a positive angle threshold. In some embodiments, the positive flag may be used to set or record whether a tilt angle is greater than a positive angle threshold. For example, a positive flag including a false Boolean value may represent a tilt angle not greater than a positive angle threshold, and a positive flag including a true Boolean value may represent a tilt angle greater than a positive angle threshold.
[0060] In some implementations, after step / operation 602, if the positive flag is true, the exemplary process proceeds to step / operation 604 or step / operation 514 of process 500 as depicted and described, where system 100 determines whether the steady-state time criterion has been met.
[0061] In some embodiments, after step / operation 604 or step / operation 514, if a settling time criterion has been met, the exemplary process proceeds to step / operation 606 or step / operation 516 of process 500 as depicted and described, where system 100 generates a tilt switch on signal. The tilt switch on signal may be associated with the activation of a tilt switch. In some embodiments, generating the tilt switch on signal includes generating an activation signal or logic high voltage (e.g., based on a tilt angle greater than a positive angle threshold) that can be used to enable one or more functionalities. For example, one or more functionalities may include warning or safety features. In some embodiments, generating the tilt switch on signal further includes resetting a timer count associated with the settling time criterion.
[0062] In some implementations, after step / operation 604 or step / operation 514, if the stable time criterion has not yet been met, the exemplary process proceeds to step / operation 610, where system 100 increments the timer count associated with the stable time criterion.
[0063] In some implementations, after step / operation 610, the exemplary process proceeds to step / operation 612 or step / operation 518 of process 500 as depicted and described, where system 100 maintains the current switching operation.
[0064] In some implementations, after step / operation 602, if the positive flag is false, the exemplary process proceeds to step / operation 608, where system 100 assigns a true Boolean value to the positive flag. Assigning a true Boolean value to the positive flag may represent: (i) an initial detection of a tilt angle greater than a positive angle threshold, or (ii) a transition after detecting a tilt angle less than a positive angle threshold or a negative angle threshold. In some implementations, assigning a true Boolean value to the positive flag also includes: assigning a false Boolean value to the negative flag and resetting the timer count associated with the settling time criterion.
[0065] In some implementations, after step / operation 608, the exemplary process proceeds to step / operation 612 or step / operation 518 of process 500 as depicted and described, where system 100 maintains the current switching operation.
[0066] Now for reference Figure 7 The figure is a flowchart illustrating an exemplary process 700 for configuring a negative flag and timer count based on a tilt angle less than a negative angle threshold, according to some exemplary embodiments of the present disclosure.
[0067] In some embodiments, process 700 begins at step / operation 702 following one or more operations of another process (such as operation 510 of the depicted and described process 500). In some embodiments, at step / operation 702, system 100 determines the value of a negative flag. The negative flag may include a Boolean variable representing a tilt angle less than a negative angle threshold. In some embodiments, the negative flag may be used to set or record whether a tilt angle is less than a negative angle threshold. For example, a negative flag including a false Boolean value may represent a tilt angle not less than a negative angle threshold, and a negative flag including a true Boolean value may represent a tilt angle less than a negative angle threshold.
[0068] In some implementations, after step / operation 702, if the negative flag is true, the exemplary process proceeds to step / operation 704 or step / operation 514 of process 500 as depicted and described, where system 100 determines whether the steady-state time criterion has been met.
[0069] In some embodiments, after step / operation 704 or step / operation 514, if a settling time criterion has been met, the exemplary process proceeds to step / operation 706 or step / operation 516 of process 500 as depicted and described, where system 100 generates a tilt switch off signal. The tilt switch off signal may be associated with a deactivation signal for the tilt switch. In some embodiments, generating the tilt switch off signal includes generating a deactivation signal or logic low voltage (e.g., based on a tilt angle less than a negative angle threshold) that can be used to disable one or more functionalities. For example, one or more functionalities may include warning or safety features. In some embodiments, generating the tilt switch off signal further includes resetting a timer count associated with the settling time criterion.
[0070] In some implementations, after step / operation 704 or step / operation 514, if the stable time criterion has not yet been met, the exemplary process proceeds to step / operation 710, where system 100 increments the timer count associated with the stable time criterion.
[0071] In some implementations, after step / operation 710, the exemplary process proceeds to step / operation 712 or step / operation 518 of process 500 as depicted and described, where system 100 maintains the current switching operation.
[0072] In some implementations, after step / operation 702, if the negative flag is false, the exemplary process proceeds to step / operation 708, where system 100 assigns a true Boolean value to the negative flag. Assigning a true Boolean value to the negative flag may represent: (i) an initial detection of a tilt angle less than a negative angle threshold, or (ii) a transition after detecting a tilt angle greater than a positive angle threshold or a negative angle threshold. In some implementations, assigning a true Boolean value to the negative flag also includes: assigning a false Boolean value to the positive flag and resetting the timer count associated with the settling time criterion.
[0073] In some implementations, after step / operation 708, the exemplary process proceeds to step / operation 712 or step / operation 518 of process 500 as depicted and described, where system 100 maintains the current switching operation.
[0074] It should be noted that each box in a flowchart, and combinations of boxes in a flowchart, can be implemented using various components such as hardware, firmware, circuitry, and / or other devices associated with the execution of software comprising one or more computer program instructions. For example, Figure 5 , Figure 6 and Figure 7One or more of the steps / operations described may be embodied by computer program instructions that may be stored in the non-transitory memory of an apparatus employing embodiments of the present disclosure and executed by a processor component (such as, but not limited to, processing element 104) in the apparatus. For example, these computer program instructions may instruct the processor component to function in a particular manner such that the instructions stored in the computer-readable storage memory produce an article of art whose execution implements the function specified in the flowchart block.
[0075] Figure 8 Exemplary tilt switch signals according to some exemplary embodiments of the present disclosure are depicted. Tilt switch signal samples 802 to 806 include a tilt switch signal that can be generated (e.g., by system 100) in response to a tilt angle determined from acceleration data of the vehicle (e.g., generated by sensor 102) by applying a timer-based filtering algorithm with various stable time standard filter parameters. Tilt switch signal samples 802 to 806 include a tilt switch signal initiated between "switch on" and "switch off" operating modes within a given sample time window measured in seconds.
[0076] Tilting switch signal sample 802 represents a tilt switching signal generated without using a settling-time standard filter. As depicted, without using a settling-time standard filter, seemingly random, short, and frequent changes may occur in the tilt switching signal during its generation due to environmental and / or operating conditions (e.g., vehicle vibration, vehicle speed, and road conditions). To mitigate undesirable environmental and / or operating conditions, a timer-based filtering algorithm can be applied to smooth and filter abnormal tilt angle detections, thereby reducing false positives and excessive changes in the tilt switching signal and operation.
[0077] Tilt switch signal sample 804 represents a tilt switch signal generated using a standard filter parameter with a settling time of 500 milliseconds. Tilt switch signal sample 806 represents a tilt switch signal generated using a standard filter parameter with a settling time of 750 milliseconds. Tilt switch signal sample 808 represents a tilt switch signal generated using a standard filter parameter with a settling time of 1 second. Therefore, any of tilt switch signal samples 804 to 808 includes an improvement over tilt switch signal sample 802 in generating a tilt switch signal suitable for stable tilt switch operation.
[0078] It should be understood that this disclosure is not limited to the specific embodiments disclosed, and modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terminology is used herein, it is used in a general and descriptive sense only, and not for purposes of limitation, unless otherwise stated.
Claims
1. A method, the method comprising: Acceleration data is received from sensors by one or more processors; The tilt angle is determined by the one or more processors based on the acceleration data; The tilt angle is determined by the one or more processors to be greater than a positive angle threshold; The positive flag and timer count are configured by the one or more processors based on the determination that the tilt angle is greater than the positive angle threshold; The one or more processors determine whether the stable time criterion has been met based on the timer count; as well as The first tilt switch signal is generated by the one or more processors based on the satisfaction of the stable time criterion and the positive flag including a true Boolean value.
2. The method of claim 1, wherein the acceleration data comprises a plurality of data values associated with a plurality of axes.
3. The method of claim 1, wherein the sensor comprises a triaxial accelerometer based on microelectromechanical systems (MEMS).
4. The method of claim 1, wherein receiving the acceleration data further comprises periodically sampling the acceleration data by using a timer interrupt.
5. The method of claim 1, wherein the tilt angle includes a roll angle or a pitch angle.
6. The method according to claim 1, further comprising: Determine that the tilt angle is less than the negative angle threshold; The negative flag and the timer count are configured based on the determination that the tilt angle is less than the negative angle threshold; as well as The second tilt switch signal is generated based on the satisfaction of the stable time standard and the fact that the negative flag includes a true Boolean value.
7. The method according to claim 6, further comprising: The negative flag is determined to include a true Boolean value; Based on the timer count, it is determined that the stable time criterion has not yet been met; as well as This increments the timer count.
8. The method according to claim 6, further comprising: The negative flag is determined to include a pseudo-Boolean flag; Assign a true Boolean value to the negative flag; Assign a fake Boolean value to the positive flag; as well as Reset the timer count.
9. The method of claim 1, wherein the second tilt switch signal includes a deactivation signal or a logic low voltage.
10. The method of claim 1, wherein the first tilt switch signal comprises an activation signal or a logic high voltage.
11. The method of claim 1, further comprising determining the stabilization time standard based on one or more of vehicle vibration, vehicle speed, or road conditions.
12. The method according to claim 1, further comprising: The positive flag is determined to include a true Boolean value; Based on the timer count, it is determined that the stable time criterion has not yet been met; as well as This increments the timer count.
13. The method according to claim 1, further comprising: The positive flag is determined to include a pseudo-Boolean value; Assign a true Boolean value to the positive flag; Assign a spurious Boolean value to the negative flag; as well as Reset the timer count.
14. A computing system comprising a memory and one or more processors communicatively coupled to the memory, the one or more processors being configured to: Receive acceleration data from the sensor; The tilt angle is determined based on the acceleration data; It is determined that the tilt angle is greater than the positive angle threshold; Configure the positive flag and timer count based on the determination that the tilt angle is greater than the positive angle threshold; The timer count is used to determine whether the stable time criterion has been met. as well as The first tilt switch signal is generated based on the satisfaction of the stable time criterion and the positive flag including a true Boolean value.
15. The computing system of claim 14, wherein the one or more processors are further configured to: Determine that the tilt angle is less than the negative angle threshold; The negative flag and the timer count are configured based on the determination that the tilt angle is less than the negative angle threshold; and The second tilt switch signal is generated based on the satisfaction of the stable time standard and the fact that the negative flag includes a true Boolean value.
16. The computing system of claim 15, wherein the one or more processors are further configured to: The negative flag is determined to include a true Boolean value; Based on the timer count, it is determined that the stable time criterion has not yet been met; and This increments the timer count.
17. The computing system of claim 15, wherein the one or more processors are further configured to: The negative flag is determined to include a pseudo-Boolean flag; Assign a true Boolean value to the negative flag; Assign a spurious Boolean value to the positive flag; and Reset the timer count.
18. The computing system of claim 14, wherein the one or more processors are further configured to: The positive flag is determined to include a true Boolean value; Based on the timer count, it is determined that the stable time criterion has not yet been met; and This increments the timer count.
19. The computing system of claim 14, wherein the one or more processors are further configured to: The positive flag is determined to include a pseudo-Boolean value; Assign a true Boolean value to the positive flag; Assign a spurious Boolean value to the negative flag; and Reset the timer count.
20. One or more non-transitory computer-readable storage media, the one or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more processors, cause the one or more processors to: Receive acceleration data from the sensor; The tilt angle is determined based on the acceleration data; It is determined that the tilt angle is greater than the positive angle threshold; Configure the positive flag and timer count based on the determination that the tilt angle is greater than the positive angle threshold; The timer count is used to determine whether the stable time criterion has been met. as well as The first tilt switch signal is generated based on the satisfaction of the stable time criterion and the positive flag including a true Boolean value.