A method for dynamic monitoring of vehicle driving speed based on IMU
By synchronously collecting and filtering vehicle acceleration and angular velocity data using IMU sensors, and combining this with time window analysis, the problem of misjudging vehicle deceleration behavior under complex road conditions and strong vibration environments has been solved, enabling accurate identification and early warning, and improving the accuracy and safety of detection.
Patent Information
- Application Number
- CN202411802378.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-12-09
AI Technical Summary
In complex road conditions and environments with strong vibrations, existing technologies cannot accurately identify vehicles' sudden deceleration behavior, which can easily lead to misjudgments.
By deploying IMU sensors, the vehicle's acceleration and angular velocity data are collected synchronously, processed through multi-level filtering, and analyzed using time windows to determine frequent rapid deceleration and send warning information.
It enables accurate identification of vehicle deceleration behavior under complex road conditions and strong vibration environments, reducing the false judgment rate and improving detection accuracy and driving safety.
Smart Images

Figure CN119636762B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of vehicle driving monitoring technology, specifically to an IMU-based method for dynamic monitoring of vehicle driving speed. Background Technology
[0002] With the rapid development of autonomous driving and intelligent driving assistance systems, vehicle driving safety has gradually become an important issue. Traditional rapid deceleration detection technology relies on external sensors such as radar and cameras. However, these sensors are expensive and easily affected by environmental factors (such as rain, fog, and low light conditions), which can affect system performance.
[0003] As a built-in sensor, the IMU can provide real-time information on vehicle acceleration and angular velocity. It is less affected by external conditions such as weather and lighting, making it a more economical and real-time detection solution. However, in complex road conditions and environments with strong vibrations, the detection results of the IMU are prone to misjudgment, leading to inaccurate judgment of sudden deceleration behavior.
[0004] In summary, existing technologies have the technical problem of being unable to accurately identify sudden vehicle deceleration behavior under complex road conditions and strong vibration environments, which can easily lead to misjudgments. Summary of the Invention
[0005] This application provides an IMU-based method for dynamic monitoring of vehicle driving speed, aiming to solve the technical problem in the prior art that it is difficult to accurately identify the sudden deceleration behavior of vehicles in complex road conditions and strong vibration environments, which easily leads to misjudgment.
[0006] In view of the above problems, the technical solution to achieve the present application is as follows:
[0007] This application provides a method for dynamic monitoring of vehicle driving speed based on an IMU (Integrated Measurement Unit). The method includes: deploying an IMU sensor on a target vehicle, wherein a first sampling trigger signal corresponding to the IMU sensor and a second sampling trigger signal corresponding to a vehicle speed sensor are synchronous pulses; collecting acceleration and angular velocity data of the target vehicle during driving based on the first sampling trigger signal of the IMU sensor and the second sampling trigger signal corresponding to the vehicle speed sensor; performing multi-level filtering on the acceleration and angular velocity data and analyzing the driving speed data using a first time window; determining whether the target vehicle is in a state of frequent rapid deceleration based on the driving speed data and obtaining the determination result; sending a warning message to the driver based on the determination result and resetting the status to prepare for the next monitoring.
[0008] In summary, one or more technical solutions provided in this application solve the technical problem of being unable to accurately identify vehicle deceleration behavior and being prone to misjudgment under complex road conditions and strong vibration environments. They achieve the technical effect of efficiently and synchronously collecting vehicle acceleration and angular velocity data through IMU sensors, judging the deceleration state based on the ACCy value, and judging the road surface smoothness by combining the ACCz value, so as to accurately identify vehicle deceleration behavior, effectively reduce the misjudgment rate, and improve the accuracy of deceleration detection. Attached Figure Description
[0009] Figure 1 This application provides a flowchart illustrating a method for dynamic monitoring of vehicle driving speed based on an IMU. Detailed Implementation
[0010] Example
[0011] The present application will now be described in detail with reference to the accompanying drawings, such as... Figure 1 As shown, this application provides a method for dynamic monitoring of vehicle driving speed based on an IMU, wherein the method includes:
[0012] S1: Based on the target vehicle, deploy an IMU sensor, wherein the first sampling trigger signal corresponding to the IMU sensor and the second sampling trigger signal corresponding to the vehicle speed sensor are synchronous pulses; S2: Based on the first sampling trigger signal corresponding to the IMU sensor and the second sampling trigger signal corresponding to the vehicle speed sensor, collect the acceleration data and angular velocity data of the target vehicle during driving.
[0013] Specifically, the target vehicle refers to the vehicle whose driving speed needs to be dynamically monitored, i.e., the vehicle being monitored; an IMU (Inertial Measurement Unit) sensor is a device that integrates sensors such as accelerometers and gyroscopes to measure the acceleration, angular velocity, and spatial position changes of an object. IMUs can provide continuous motion state data, do not rely on external signals, and are very suitable for real-time monitoring in dynamic environments.
[0014] The vehicle speed sensor is used to measure the vehicle's speed, typically based on wheel rotation speed, GPS, or radar technology. This sensor usually provides real-time speed data of the vehicle. The first sampling trigger signal and the second sampling trigger signal are synchronization signals of the IMU sensor and the vehicle speed sensor. The triggering method of the two signals is the same, which is used to ensure that the vehicle's acceleration data, angular velocity data, and vehicle speed data are collected simultaneously. The two signals should be triggered synchronously to ensure that the data between them are consistent in time.
[0015] IMU sensors are deployed on the target vehicle to measure the vehicle's acceleration and angular velocity in real time, providing necessary motion data for subsequent driving behavior analysis; vehicle speed sensors are used to provide vehicle speed data, providing information on the vehicle's motion status at different points in time.
[0016] The sampling signals of the IMU sensor and the vehicle speed sensor are sampled using a synchronization pulse. The synchronization pulse design enables the two sensors to trigger data acquisition at the same time. In this way, at the same moment, the IMU sensor and the vehicle speed sensor record acceleration, angular velocity and the actual driving speed of the vehicle, respectively, ensuring the time consistency between the data. This synchronization mechanism greatly improves the accuracy of data fusion and avoids the time difference problem caused by different sampling times.
[0017] With the support of this synchronization mechanism, the IMU sensor begins to collect the vehicle's acceleration and angular velocity data through the first sampling trigger signal. The acceleration data reflects the vehicle's acceleration or deceleration process in the longitudinal and lateral directions, while the angular velocity data is used to reflect the vehicle's rotation or steering. At the same time, the vehicle speed sensor also collects the vehicle's instantaneous speed through the second sampling trigger signal. These data provide comprehensive dynamic information for subsequent driving behavior analysis.
[0018] In this way, by combining data from the IMU and vehicle speed sensors, a comprehensive understanding of the target vehicle's dynamic information can be obtained, providing basic data support for subsequent driving status judgment and emergency deceleration detection. For example, in actual driving, the combination of vehicle acceleration data and vehicle speed data can help determine whether the driver has performed a sudden acceleration or deceleration operation, thus providing a basis for subsequent driving behavior warnings and analysis.
[0019] S3: Perform multi-level filtering on the acceleration and angular velocity data, and analyze the driving speed data using a first time window; S4: Determine whether the target vehicle is in a state of frequent rapid deceleration based on the driving speed data, and obtain the determination result; S5: Send a warning message to the driver based on the determination result, and reset the status to prepare for the next monitoring.
[0020] Specifically, acceleration data refers to the vehicle's acceleration, which is the rate of change of the vehicle's velocity in different directions, including longitudinal (front-to-back) acceleration and lateral (left-to-right) acceleration; angular velocity data refers to the vehicle's rotational rate in three axes, often used to describe the rotational motion that occurs when the vehicle is turning or driving; multi-level filtering processing is to process signal data layer by layer, reducing noise and improving signal accuracy and reliability by applying different filtering algorithms (such as low-pass filtering, Kalman filtering, etc.).
[0021] In data analysis, a time window refers to a data sample collected and processed within a specific period of time. In vehicle monitoring, a time window can be used to analyze driving behavior over a period of time. A sudden deceleration state refers to a vehicle rapidly decelerating within a short period of time. Usually, a sudden deceleration state will produce significant acceleration changes during driving, which may affect driving safety. A frequent sudden deceleration state refers to a vehicle repeatedly undergoing sudden deceleration behavior in a short period of time, reflecting unstable driving habits or dangerous driving behavior.
[0022] The collected acceleration and angular velocity data undergo multi-level filtering. The purpose of this step is to remove noise from the data and improve its accuracy and reliability. Filtering can be done in various ways, such as using a low-pass filter to remove high-frequency noise or using a Kalman filter to more accurately estimate the vehicle's state. These processes help to extract the vehicle's true trajectory and remove errors introduced by external factors or sensor instability.
[0023] The processed driving speed data is analyzed using a first time window. The first time window refers to continuously collecting and analyzing vehicle speed data within a specific time interval. For example, a window is set to 5 seconds, and the data within these 5 seconds is analyzed to assess the vehicle's driving behavior during this period. By analyzing this data, it is possible to identify whether the vehicle has experienced sudden deceleration.
[0024] By analyzing the obtained driving speed data, it is determined whether the target vehicle has entered a state of frequent sudden deceleration. Based on the judgment result, a warning message is sent to the driver. For example, if frequent sudden deceleration of the vehicle is detected due to the driver's sudden braking behavior, a reminder is issued to the driver to pay attention to driving safety. After each judgment, the status is reset to prepare for the next round of monitoring. Through the above steps, real-time dynamic monitoring of the vehicle is achieved, and the driver's sudden deceleration behavior can be detected in time and a warning can be issued, thereby improving driving safety and reducing the risk of potential traffic accidents.
[0025] Furthermore, the method of this application also includes:
[0026] The IMU sensor acquires raw data from the six-axis gyroscope via the SPI interface; the raw data is processed by low-pass filtering to obtain the first layer of processed data; based on the first layer of processed data, Kalman filtering is performed to obtain the second layer of processed data.
[0027] Specifically, IMU sensors typically include components such as accelerometers, gyroscopes, and magnetometers. IMU sensors can measure information such as acceleration, angular velocity, and changes in direction to dynamically monitor the motion state of objects. The SPI (Serial Peripheral Interface) interface supports high-speed data transmission and is used to read raw data from a six-axis gyroscope sensor.
[0028] A six-axis gyroscope is a sensor that can simultaneously measure the angular velocity and acceleration of an object in three-dimensional space. The six axes correspond to the object's three acceleration axes (x, y, z axes) and three rotation axes (angular velocity about the x, y, z axes). Low-pass filtering is used to remove high-frequency noise from a signal, retaining only low-frequency components. Low-pass filtering reduces data errors caused by noise or irregular fluctuations. Kalman filtering is used to estimate and optimize noisy data, further improving data accuracy and eliminating high-frequency noise.
[0029] An IMU sensor is deployed in the vehicle to obtain raw acceleration and angular velocity data from a six-axis gyroscope via an SPI interface. The six-axis gyroscope provides acceleration (ACCx, ACCy, ACCz) and angular velocity (GyroX, GyroY, GyroZ) data of the vehicle in three axes during each sampling period. This data is transmitted to a processing unit (such as a microcontroller or computer) for further processing via the SPI interface.
[0030] The raw data obtained usually contains high-frequency components such as sensor noise and environmental interference. These noises can affect the accuracy of the data. Therefore, before processing the raw data, a low-pass filter is used for preprocessing. The low-pass filter can effectively remove high-frequency noise, making the low-frequency part of the signal (i.e., the actual motion data of the vehicle) more prominent. After filtering, the first layer of processed data contains more accurate acceleration and angular velocity information.
[0031] Although low-pass filtering removes high-frequency noise, some low-frequency errors or instabilities may still remain in the data. Therefore, the first-layer processed data is further optimized by adjusting the estimates in real time based on a recursive algorithm to eliminate biases caused by sensor errors. Kalman filtering uses previous data for prediction and adjusts its estimates based on new sampled data to generate the second-layer processed data. After Kalman filtering, the data becomes more accurate and reliable, better reflecting the vehicle's true dynamics. Through the above process, the raw data provided by the IMU sensor undergoes layer-by-layer filtering to obtain accurate acceleration and angular velocity data, providing a foundation for subsequent vehicle dynamic monitoring and driving behavior analysis.
[0032] Furthermore, the method of this application also includes:
[0033] Based on the six-axis gyroscope, axial fusion is performed to determine the three-axis Euler angles; based on the three-axis Euler angles, two doubly linked lists are created, where each linked list has N bits, used to store ACCy floating-point numbers and ACCz floating-point numbers respectively.
[0034] Specifically, a six-axis gyroscope is a sensor that can simultaneously measure acceleration and angular velocity. It typically includes a three-axis accelerometer and a three-axis gyroscope, capable of measuring an object's acceleration (ACCx, ACCy, ACCz) and angular velocity (GyroX, GyroY, GyroZ) in three orthogonal directions. Axial fusion is the process of combining acceleration and angular velocity data to obtain a more accurate direction and motion state. This process usually involves mathematical operations and transformations on the data (such as acceleration and angular velocity) in the three directions to generate a result that more closely matches the actual motion trajectory. In this scheme, axial fusion is used to derive Euler angles from data in three-dimensional space. Euler angles are a way to describe the attitude of an object in three-dimensional space, using three angles (roll angle, pitch angle, and yaw angle) to represent the rotational state of the object. For a vehicle, three-axis Euler angles can represent the vehicle's direction and attitude relative to the ground in three-dimensional space.
[0035] A doubly linked list is a data structure in which each node contains pointers to the previous and next nodes. Each node can store two data elements (such as ACCy and ACCz). Through a doubly linked list, data insertion and deletion operations can be performed efficiently, especially when data needs to be accessed and manipulated frequently. ACCy and ACCz represent the acceleration data of the vehicle on the Y-axis and Z-axis, respectively, and are stored in floating-point format.
[0036] The IMU sensors installed in the vehicle will provide data from a six-axis gyroscope, including accelerations in three directions (ACCx, ACCy, ACCz) and angular velocities in three directions (GyroX, GyroY, GyroZ). The raw data is uploaded via an SPI interface or other communication protocols. Furthermore, to accurately describe the vehicle's motion state and attitude, the acceleration data (ACCx, ACCy, ACCz) and angular velocity data (GyroX, GyroY, GyroZ) need to be axially fused. The purpose of axial fusion is to combine the information from both to deduce the vehicle's orientation and dynamic behavior. Specifically, the acceleration data (such as ACCx, ACCy, ACCz) is used to estimate the vehicle's spatial orientation, and the angular velocity data is used to supplement and correct this orientation estimate to obtain an accurate orientation estimate. This process will generate three-axis Euler angles, representing the vehicle's roll, pitch, and yaw angles in space.
[0037] After axial fusion, the vehicle's three-axis Euler angles are obtained using an angle transformation algorithm. Euler angles describe the vehicle's spatial attitude. For example, roll angle represents the vehicle's rotation around the front axle, pitch angle represents the vehicle's rotation around the lateral axis, and yaw angle represents the vehicle's rotation around the vertical axis. These three-axis Euler angles can accurately describe the vehicle's orientation in three-dimensional space.
[0038] Based on the vehicle's acceleration data (especially acceleration data in the ACCy and ACCz directions), two doubly linked lists are created. Each list contains N nodes, and each node stores a pair of floating-point numbers: one is the ACCy floating-point number, representing the vehicle's acceleration in the Y-axis direction, and the other is the ACCz floating-point number, representing the vehicle's acceleration in the Z-axis direction. The doubly linked list can efficiently perform data storage, retrieval, and update operations. The doubly linked nature of the list allows for flexible forward and backward traversal of data during processing, making it suitable for scenarios that require frequent data adjustments, deletions, or insertions.
[0039] When new data (such as new ACCy and ACCz acceleration data) is collected, it is added to the end of the doubly linked list. If the list has reached the preset length N, the oldest data node needs to be removed. This is achieved through pointers in the doubly linked list. New nodes are automatically linked to the end of the list, while old nodes are deleted by adjusting the pointers. Through the doubly linked list, acceleration data is efficiently managed and updated during continuous sampling, ensuring that the vehicle's acceleration data is up-to-date at all times.
[0040] In the above steps, by acquiring the raw data from the six-axis gyroscope, performing axial fusion to calculate the three-axis Euler angles, and using a doubly linked list to store and update the acceleration data, the dynamic state of the target vehicle can be reflected efficiently and accurately, providing support for vehicle dynamic monitoring and driving behavior analysis.
[0041] Furthermore, the method of this application also includes:
[0042] Each node contains two floating-point numbers and pointers to the preceding and following nodes to support bidirectional traversal; the two floating-point numbers include a pair of ACCy floating-point numbers and an ACCz floating-point number.
[0043] Specifically, a node refers to an element in a linked list used to store data. In this method, each node contains two floating-point numbers and pointers to the previous and next nodes; ACCy and ACCz floating-point numbers represent the acceleration data of the target vehicle in the Y and Z axes, respectively, representing the magnitude of the vehicle's acceleration in these directions; a doubly linked list is a linked list structure in which each node not only contains data but also two pointers, pointing to the previous and next nodes respectively, supporting bidirectional traversal.
[0044] Acceleration data will be stored using a doubly linked list. Each list node will contain two floating-point numbers: one is the acceleration value along the Y-axis (ACCy), and the other is the acceleration value along the Z-axis (ACCz). In addition, each node also contains two pointers, pointing to the previous and next nodes respectively, thus forming a doubly linked list structure. In this way, data can be traversed from both ends of the list, supporting flexible access and operation.
[0045] Each time new acceleration data (ACCy and ACCz) is acquired, a new node is created and the two floating-point numbers are stored in the node. The new node is inserted at the end of the linked list, and the pointers of adjacent nodes in the linked list are updated to keep the linked list bidirectionally connected. The forward pointer of each node points to the previous node and the backward pointer points to the next node.
[0046] By leveraging the properties of doubly linked lists, nodes can be traversed from head to tail (forward) or from tail to head (reverse). This allows for flexible access to acceleration data when processing data. If the number of nodes in the linked list exceeds a preset maximum value (N nodes), the oldest node (i.e., the node at the head of the linked list) will be deleted, keeping the linked list length below N to ensure the real-time performance and accuracy of the data. In this way, acceleration data is efficiently stored and accessed, providing support for subsequent processing and judgment.
[0047] Furthermore, the method of this application also includes:
[0048] Based on the sampling frequency, a first time window is configured; based on the first time window, when data is collected, the currently collected ACCy and ACCz values are added to the dataset; at the same time, a sliding window mechanism is adopted to remove the original ACCy and ACCz values from the dataset each time new data is added.
[0049] Specifically, ACCy and ACCz floating-point numbers represent the vehicle's acceleration data in the Y and Z axes, respectively. ACCy represents the acceleration in the Y-axis direction, and ACCz represents the acceleration in the Z-axis direction. The first time window refers to a time period used to limit the data collected within that time period. The sampling frequency determines the size of the window, i.e., how many times data is collected within that window. The sliding window mechanism refers to a fixed window size in the dataset, where the oldest data is removed as new data is added to maintain the size of the dataset.
[0050] Based on the set sampling frequency, the length of the first time window is determined. The sampling frequency determines the frequency of data acquisition, such as acquiring data once per second. Based on this frequency, the time window will be defined as a fixed time period (e.g., 1 second, 10 seconds, etc.). Whenever the time window ends, the window will be updated, and the acquired data will also be updated to the dataset.
[0051] During the data acquisition process, when the vehicle's acceleration sensor (IMU sensor) acquires acceleration data of ACCy and ACCz, this data will be added to the data set according to the current timestamp. Each acquisition of acceleration data includes a pair of floating numbers: an ACCy floating number (Y-axis acceleration) and an ACCz floating number (Z-axis acceleration). This data will be added to the set in chronological order.
[0052] To ensure the real-time nature and finiteness of the dataset, a sliding window mechanism automatically works when new data is added to the dataset. Specifically, whenever a new data pair (ACCy, ACCz) is collected and added to the dataset, the oldest acceleration data in the dataset (i.e., the old values of ACCy and ACCz) is removed. In this way, the data in the dataset always remains the latest set, and the length always remains consistent, preventing memory overflow or low computational efficiency due to excessive data.
[0053] Each time new data (ACCy, ACCz) is collected and added to the set, it is updated according to the length of the time window, and the oldest data is removed. In this way, all data in the dataset is always the latest acceleration data collected within the first time window. By configuring the time window, collecting acceleration data and using the sliding window mechanism, vehicle acceleration data is managed and updated efficiently. Whenever new data enters, the oldest data is removed, which reduces storage pressure while ensuring the timeliness and accuracy of the data.
[0054] Furthermore, the method of this application also includes:
[0055] The average ACCy value is calculated by averaging the ACCy values in the dataset; a rapid deceleration judgment threshold is set, and the average ACCy value is compared with the rapid deceleration judgment threshold; if the average ACCy value is less than the rapid deceleration judgment threshold, the target vehicle is determined to be in a rapid deceleration state.
[0056] Specifically, the ACCy value represents the vehicle's acceleration data in the Y-axis direction. The ACCy value is the raw acceleration value obtained by the IMU sensor and is used to reflect the vehicle's acceleration change in the Y-axis direction. The rapid deceleration judgment threshold is used to determine whether the vehicle has decelerated sharply. The rapid deceleration judgment threshold is set through experiments or historical data analysis and represents a critical value of acceleration. When the acceleration is less than the rapid deceleration judgment threshold, it indicates that the vehicle has decelerated sharply. The average ACCy value refers to the average of all collected ACCy values within a certain time window. It represents the overall acceleration change of the vehicle in the Y-axis direction during that time period.
[0057] After collecting ACCy data within a certain time window, the average value of these data is calculated. Specifically, all ACCy values within the time window are added together and then divided by the number of data points to obtain the average ACCy value. The average ACCy value can reflect the overall acceleration change of the vehicle within this time window and determine the vehicle's motion trend.
[0058] Based on actual application scenarios or historical data, a threshold for rapid deceleration judgment is set, indicating when the vehicle's acceleration is lower than this value, indicating that the vehicle has experienced rapid deceleration. This threshold serves as a standard for judging whether the vehicle has decelerated sharply. The calculated average ACCy value is compared with the preset rapid deceleration judgment threshold. If the average ACCy value is less than the rapid deceleration judgment threshold, it is considered that the target vehicle has experienced a rapid deceleration state.
[0059] If the average ACCy value is less than the rapid deceleration judgment threshold, the target vehicle is determined to be in a state of rapid deceleration, meaning that the vehicle's deceleration exceeds the preset rapid deceleration standard, possibly due to factors such as emergency braking or excessive speed. Once a vehicle is determined to be in a state of rapid deceleration, corresponding control mechanisms, such as sending alarms to the driver and recording event data, are used to remind the driver to pay attention to driving safety. Simultaneously, the relevant status is reset for the next monitoring, preparing for continued data collection. Through the above steps, the vehicle's rapid deceleration is effectively monitored, providing data support for subsequent control and alarm mechanisms, thereby reflecting the vehicle's dynamic status in real time and accurately, enhancing driving safety.
[0060] Furthermore, the method of this application also includes:
[0061] After determining that the target vehicle is in a state of rapid deceleration, the frequent rapid deceleration judgment process is initiated as follows:
[0062] A second time window and counter are set for frequent sudden deceleration detection; within the second time window, the ACCy value is continuously monitored based on the driving speed data, and the counter is incremented by 1 each time a sudden deceleration state is detected.
[0063] Specifically, the second time window refers to the time interval used for monitoring in the frequent rapid deceleration judgment process. It is usually set to several seconds. Within the second time window, the rapid deceleration status of the vehicle is continuously checked to determine whether it occurs frequently. The counter is used to record the number of times the vehicle experiences rapid deceleration within the second time window. Each time a rapid deceleration is detected, the counter value is incremented by 1. The ACCy value represents the vehicle's acceleration in the Y-axis direction, reflecting the change in the vehicle's acceleration in this direction. The ACCy value is used to detect the vehicle's rapid deceleration status.
[0064] After the vehicle undergoes a sudden deceleration and enters the frequent sudden deceleration judgment process, a second time window is set. The length of the second time window is usually a few seconds, such as 5 seconds, 10 seconds or longer, depending on the specific application. At the same time, a counter is used to record the number of sudden decelerations detected within the second time window. The initial value of the counter is set to 0, and the counter will increment by 1 each time a sudden deceleration is detected.
[0065] By setting a second time window and continuously monitoring the vehicle's acceleration data (ACCy value) within that window, the system detects whether the vehicle is frequently decelerating. Each time a sudden deceleration is detected, the counter value is incremented by 1. If the vehicle experiences multiple sudden decelerations within the second time window (i.e., the counter value exceeds the set threshold), it indicates frequent sudden deceleration behavior. Further decision-making mechanisms (such as issuing warnings to the driver and recording data) are then implemented to enhance driving safety and remind the driver to improve their driving habits.
[0066] Furthermore, the method of this application also includes:
[0067] Based on the second time window and the counter, it is determined whether the preset frequent rapid deceleration constraint is met; if it is met, the target vehicle is determined to be in a frequent rapid deceleration state.
[0068] Specifically, the second time window refers to the time interval used to monitor whether the vehicle has experienced multiple sudden decelerations during the frequent sudden deceleration judgment process. This time window is set to several seconds, usually between a few seconds and tens of seconds. Within the second time window, the number of times the vehicle experiences sudden deceleration is recorded. Each time a sudden deceleration is detected, the counter will increment by 1. The function of the counter is to help determine whether the vehicle has experienced frequent sudden decelerations within the set time.
[0069] Preset frequent sudden deceleration constraints refer to pre-set conditions or standards in the judgment of frequent sudden deceleration, usually based on the number of sudden decelerations. For example, within a fixed time window, the number of times the vehicle decelerates suddenly must exceed a certain threshold to be judged as frequent sudden deceleration. Frequent sudden deceleration state refers to the situation where the vehicle frequently decelerates within a certain time range, which may indicate poor driving habits of the driver or may lead to safety hazards. The presence of frequent sudden deceleration behavior is judged by monitoring the vehicle's acceleration data.
[0070] Within the second time window, the vehicle's rapid deceleration status is continuously monitored, and a counter is used to record the number of rapid decelerations. After the monitoring of the second time window is completed, the counter value is checked to see if it has reached the preset frequent rapid deceleration constraint. If the counter value reaches the preset rapid deceleration number threshold, it is considered that the target vehicle is in a frequent rapid deceleration state. At this time, corresponding operations are performed, such as issuing a warning message to the driver or recording the event for subsequent analysis.
[0071] By combining a second time window and a counter, the number of times a vehicle decelerates suddenly is compared with a preset constraint on frequent sudden decelerations. When the number of sudden decelerations exceeds the threshold, it is determined that the target vehicle has frequent sudden deceleration behavior, thereby helping to identify bad driving habits and improve driving safety. Based on this, measures such as warnings, recording, and feedback are taken to ensure that the driver can notice their improper driving behavior and improve safe driving.
[0072] Furthermore, the method of this application also includes:
[0073] Based on the current rapidly decelerating node, obtain the adjacent counter accumulation bit corresponding to the previous node; if the adjacent counter accumulation bit corresponding to the previous node is 0, then set the counter accumulation bit of the current rapidly decelerating node to 1, and record the timestamp corresponding to the current rapidly decelerating node.
[0074] Specifically, a rapid deceleration node refers to the point in time when a vehicle experiences rapid deceleration during its operation. Rapid deceleration typically refers to a significant decrease in vehicle speed within a short period of time, caused by the driver suddenly applying the brakes or other reasons. The adjacency counter increment bit is a flag bit used to track the relationship between consecutive rapid deceleration nodes. Each rapid deceleration node has an adjacency counter increment bit, indicating whether the node is associated with the previous rapid deceleration node. When a vehicle experiences consecutive rapid decelerations, the current rapid deceleration node will be associated with the previous rapid deceleration node, marked by the adjacency counter increment bit being 1.
[0075] Each rapid deceleration node has a counter. The counter's increment bit records the number of times the node experiences rapid deceleration. When two rapid deceleration nodes occur consecutively, the current node's counter increment bit is set to 1, indicating that the current rapid deceleration is adjacent to the previous rapid deceleration node. The timestamp records the exact time each rapid deceleration node occurs. The timestamp is used to determine the specific time when a node experiences rapid deceleration, facilitating subsequent time difference calculations and event analysis. When a rapid deceleration event is detected, the event is marked as the current rapid deceleration node. The state of the previous rapid deceleration node is then checked. Furthermore, the adjacency counter increment bit of the previous rapid deceleration node is obtained. The purpose of the adjacency counter increment bit is to determine whether the current rapid deceleration node has a continuous relationship with the previous node.
[0076] If the adjacency counter increment bit of the previous node is 0, then the current rapidly decelerating node's counter increment bit is set to 1, indicating a new rapidly decelerating event. Simultaneously, the timestamp corresponding to the current rapidly decelerating node is recorded to identify the specific time the event occurred. By obtaining the adjacency counter increment bit of the previous rapidly decelerating node, it is determined whether the current rapidly decelerating node is adjacent to the previous node. If the previous node and the current node are independent, the current node's counter increment bit is set to 1, indicating a new rapidly decelerating event, and a timestamp is recorded for this event. This distinguishes between consecutive rapidly decelerating events and independently occurring rapidly decelerating events, thereby enabling more accurate detection and analysis of the rapidly decelerating state.
[0077] Furthermore, the method of this application also includes:
[0078] If the adjacent counter of the previous node is incremented to 1, then the timestamp of the current rapid deceleration node is updated; at the same time, the time difference between the timestamp of the current rapid deceleration node and the timestamp of the previous node is calculated; it is determined whether the time difference is less than or equal to the preset time threshold under the preset frequent rapid deceleration constraint; if so, the frequent rapid deceleration flag is set to 1.
[0079] Specifically, the adjacency counter increment bit indicates whether the previous and current rapid deceleration nodes are consecutive events. If the adjacency counter increment bit of the previous node is 1, it means that the previous node and the current node are consecutive rapid deceleration events; otherwise, if it is 0, it means that the rapid deceleration events are independent events. The timestamp is used to identify the time when the current rapid deceleration node occurs and is compared with the timestamp of the previous rapid deceleration node to calculate the time difference. The time difference refers to the difference between the occurrence times of two rapid deceleration events. Calculating the time difference can help the system determine the interval between the occurrence of these two rapid deceleration events, thereby analyzing whether it meets the constraint of frequent rapid deceleration.
[0080] The preset frequent deceleration constraint refers to the predetermined rules or conditions used to determine whether frequent deceleration occurs. For example, whether the number of decelerations or the time interval between deceleration events within a certain period of time is less than a certain threshold. The frequent deceleration flag is used to indicate whether frequent deceleration events are detected. If the conditions for frequent deceleration are met, the flag is set to 1, indicating that frequent deceleration exists.
[0081] When a current rapid deceleration node is detected, the adjacency counter increment bit of the previous rapid deceleration node is checked. If the adjacency counter increment bit of the previous node is 1, it indicates that the current rapid deceleration node and the previous node are consecutive rapid deceleration events. In this case, the timestamp of the current node will be updated to the specific time when the current rapid deceleration event occurred. After updating the timestamp, the time difference between the timestamp of the current rapid deceleration node and the timestamp of the previous rapid deceleration node is calculated. The time difference between the timestamp of the current rapid deceleration node and the timestamp of the previous node represents the interval between the occurrence of these two rapid deceleration events.
[0082] After calculating the time difference, it is judged according to the preset frequent rapid deceleration constraint. If the time difference is less than or equal to the preset time threshold under the preset frequent rapid deceleration constraint, it means that the interval between the current rapid deceleration event and the previous rapid deceleration event is very short. Then the frequent rapid deceleration flag is set to 1. At this time, it has been determined that the target vehicle is in a state of frequent rapid deceleration, and the situation of frequent rapid deceleration of the vehicle is marked, providing more accurate driving analysis and safety warning.
[0083] In summary, the beneficial effects of the embodiments of this application are:
[0084] This application deploys an IMU sensor to synchronously collect vehicle acceleration and angular velocity data. After multi-level filtering, the driving speed is analyzed using the first time window to determine frequent rapid deceleration states. A warning is sent to the driver, and the state is reset for the next monitoring. This achieves the technical effect of efficiently and synchronously collecting vehicle acceleration and angular velocity data through the IMU sensor, determining the rapid deceleration state based on the ACCy value, and simultaneously determining the road surface smoothness by combining the ACCz value. This allows for accurate identification of vehicle rapid deceleration behavior, effectively reducing the false judgment rate and improving the accuracy of rapid deceleration detection.
[0085] In summary, any step can be stored as a computer instruction or program in an unrestricted computer memory and can be called and recognized by an unrestricted computer processor; no further restrictions are imposed here.
[0086] Furthermore, the above technical solutions only embody the preferred technical solutions of the embodiments of this application. Any changes that those skilled in the art may make to certain parts of these solutions embody the novel principles of the embodiments of this application. Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application.
Claims
1. A method for dynamic monitoring of vehicle driving speed based on IMU, characterized in that, The method includes: Based on the target vehicle, an IMU sensor is deployed, and the first sampling trigger signal corresponding to the IMU sensor and the second sampling trigger signal corresponding to the vehicle speed sensor are synchronous pulses. Based on the first sampling trigger signal corresponding to the IMU sensor and the second sampling trigger signal corresponding to the vehicle speed sensor, the acceleration data and angular velocity data of the target vehicle during the driving process are collected. The acceleration and angular velocity data are subjected to multi-level filtering, and the driving speed data is analyzed using a first time window. Based on the driving speed data, determine whether the target vehicle is in a state of frequent sudden deceleration, and obtain the determination result; Based on the assessment results, a warning message is sent to the driver, and the status is reset in preparation for the next monitoring. The IMU sensor acquires raw data from the six-axis gyroscope via the SPI interface; The original data is processed by low-pass filtering to obtain the first layer of processed data; Based on the first layer of processed data, Kalman filtering is performed to obtain the second layer of processed data. The method for acquiring raw data from a six-axis gyroscope further includes: Based on the six-axis gyroscope, axial fusion is performed to determine the three-axis Euler angles; Based on the aforementioned three-axis Euler angles, two doubly linked lists are created, each with N bits, used to store ACCy floating-point numbers and ACCz floating-point numbers respectively. Each node contains two floating-point numbers and pointers to the preceding and following nodes to support bidirectional traversal; The two floating-point numbers include a pair of ACCy floating-point numbers and an ACCz floating-point number; The two floating-point numbers include a pair of ACCy floating-point numbers and an ACCz floating-point number, and the method includes: Configure the first time window based on the sampling frequency; Based on the first time window, when collecting data, the currently collected ACCy and ACCz values are added to the dataset; Meanwhile, a sliding window mechanism is adopted to remove the original ACCy and ACCz values from the dataset each time new data is added. Also includes: The average ACCy value is obtained by averaging the ACCy values in the dataset. Set a rapid deceleration judgment threshold, and compare the average ACCy value with the rapid deceleration judgment threshold; If the average ACCy value is less than the rapid deceleration judgment threshold, the target vehicle is determined to be in a rapid deceleration state.
2. The method as described in claim 1, characterized in that, The method further includes determining whether the target vehicle is in a state of frequent sudden deceleration based on the driving speed data. After determining that the target vehicle is in a state of rapid deceleration, the frequent rapid deceleration judgment process is initiated as follows: Set a second time window and counter for frequent rapid deceleration detection; Within the second time window, based on the driving speed data, the ACCy value is continuously monitored, and the counter is incremented by 1 each time a sudden deceleration is detected.
3. The method as described in claim 2, characterized in that, The method includes: Based on the second time window and the counter, determine whether the preset frequent rapid deceleration constraint is met; If the conditions are met, the target vehicle is determined to be in a state of frequent rapid deceleration.
4. The method as described in claim 3, characterized in that, The method involves continuously monitoring the ACCy value and incrementing the counter by 1 for each detected rapid deceleration. Based on the current rapidly decelerating node, obtain the increment bit of the adjacent counter corresponding to the previous node; If the adjacent counter increment bit corresponding to the previous node is 0, then the counter increment bit of the current rapidly decelerating node is set to 1, and the timestamp corresponding to the current rapidly decelerating node is recorded.
5. The method as described in claim 4, characterized in that, The method for determining whether a preset frequent rapid deceleration constraint is met further includes: If the adjacent counter of the previous node is incremented by 1, then update the timestamp of the current rapidly decelerating node. At the same time, calculate the time difference between the timestamp corresponding to the current rapid deceleration node and the timestamp corresponding to the previous node; Determine whether the time difference is less than or equal to a preset time threshold under the preset frequent rapid deceleration constraint; If so, the frequent rapid deceleration flag is set to 1.
Citation Information
Patent Citations
Vehicle running condition monitoring method, device, computer device and storage medium
CN109109866A
Position and motion information acquisition method and system of photovoltaic cleaning robot
CN115993115A