Method and device for identifying vehicle driving state
Technical Field
The invention relates to the technical field of computers, in particular to a method and a device for identifying a vehicle driving state.
Background
In the prior art, whether the vehicle is in an abnormal running state such as no-reason stop or derailment or the like is generally judged according to the running speed or the running track of the vehicle, and the current running state of the vehicle cannot be accurately identified, for example, the state such as the vehicle bumping or the vehicle body slipping cannot be identified.
However, for some transport vehicles, such as Automated Guided Vehicles (AGVs), the occurrence of vehicle jolts or vehicle body slip can cause the transport to be in a situation. If the ground is uneven or an obstacle exists, the AGV runs in a bumpy mode; this is a situation that occurs relatively frequently in the past because uneven ground smoothness causes vehicle body slip and the like. For this situation, there is no corresponding identification method in the prior art.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and an apparatus for identifying a vehicle driving state, which can accurately identify an abnormal driving state such as vehicle bumping or vehicle body slipping, and can implement real-time monitoring of abnormal operation of a vehicle, such as an AGV, at a low cost, and perform an abnormal decision according to a result of the real-time monitoring, so as to improve robustness of the AGV operation.
To achieve the above object, according to an aspect of an embodiment of the present invention, there is provided a method of recognizing a driving state of a vehicle.
The method for identifying the vehicle running state comprises the following steps: acquiring inertial sensor data of a vehicle to be identified, wherein the inertial sensor data at least comprises a vertical acceleration and a yaw angular velocity; determining the driving state of the vehicle to be recognized according to the inertial sensor data based on the trained driving state recognition model; the driving state recognition model is obtained by training according to a hidden Markov model.
Optionally, the driving state identification model at least comprises a driving state identification submodel, wherein each driving state identification submodel corresponds to a state to be identified; then
The step of determining the driving state of the vehicle to be recognized from the inertial sensor data based on the trained driving state recognition model comprises: inputting the inertial sensor data into each driving state identification submodel in the driving state identification model, and correspondingly obtaining an observation probability; and determining the observation probability with the maximum value, wherein the state to be identified corresponding to the observation probability with the maximum value is the driving state of the vehicle.
Optionally, before the determining the driving state of the vehicle to be recognized according to the inertial sensor data based on the trained driving state recognition model, the method further includes: obtaining a sample data vector set, wherein the sample data vector set comprises: vector representation of inertial sensor sample data of at least one vehicle in each state to be identified; and representing and inputting the vectors in the sample data vector set into a hidden Markov model to obtain a trained driving state recognition model.
Optionally, before obtaining the set of sample data vectors, further comprising: collecting inertial sensor sample data of at least one vehicle in each state to be identified, and correcting; classifying the corrected inertial sensor sample data based on each state to be recognized; vectorization representation is carried out on the classified data to obtain vector representation of the inertial sensor sample data in each to-be-identified state; and training the vector representation through hidden Markov model modeling to obtain the driving state recognition submodels of the states to be recognized, wherein the driving state recognition submodels of the states to be recognized form a driving state recognition model.
Optionally, after determining the driving state of the vehicle to be identified according to the inertial sensor data, the method further includes: screening a corresponding abnormal processing decision from an abnormal processing decision set according to the determined running state under the condition that the running state of the vehicle to be identified is determined to be the abnormal state; and generating an exception handling instruction according to the screened exception handling decision.
To achieve the above object, according to another aspect of an embodiment of the present invention, there is provided an apparatus for recognizing a driving state of a vehicle.
The device for identifying the vehicle running state of the embodiment of the invention comprises:
the data acquisition module is used for acquiring inertial sensor data of the vehicle to be identified, wherein the inertial sensor data at least comprises a vertical acceleration and a yaw angular velocity;
the state determination module is used for determining the driving state of the vehicle to be recognized according to the inertial sensor data based on a trained driving state recognition model; the driving state recognition model is obtained by training according to a hidden Markov model.
Optionally, the state determining module is further configured to input the inertial sensor data into each driving state identification submodel in the driving state identification model, and obtain the observation probability correspondingly; determining the observation probability with the maximum value, wherein the state to be identified corresponding to the observation probability with the maximum value is the driving state of the vehicle; the driving state identification model at least comprises a driving state identification submodel, wherein each driving state identification submodel corresponds to a state to be identified.
Optionally, the device for identifying a vehicle driving state according to the embodiment of the present invention further includes a model training module, configured to acquire a sample data vector set, where the sample data vector set includes: vector representation of inertial sensor sample data of at least one vehicle in each state to be identified; and representing and inputting the vectors in the sample data vector set into a hidden Markov model to obtain a trained driving state recognition model.
Optionally, the model training module is further configured to collect and correct sample data of an inertial sensor of at least one vehicle in each to-be-identified state; classifying the corrected inertial sensor sample data based on each state to be recognized; vectorization representation is carried out on the classified data to obtain vector representation of the inertial sensor sample data in each to-be-identified state; and training the vector representation through hidden Markov model modeling to obtain the driving state recognition submodels of the states to be recognized, wherein the driving state recognition submodels of the states to be recognized form a driving state recognition model.
Optionally, the device for identifying a vehicle driving state according to the embodiment of the present invention further includes an exception decision module, configured to, when it is determined that the driving state of the vehicle to be identified is an exception state, screen a corresponding exception handling decision from an exception handling decision set according to the determined driving state; and generating an exception handling instruction according to the screened exception handling decision.
To achieve the above object, according to still another aspect of an embodiment of the present invention, there is provided an electronic apparatus.
The electronic device of the embodiment of the invention comprises: one or more processors; a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement any one of the above-described methods of identifying a driving state of a vehicle.
To achieve the above object, according to still another aspect of an embodiment of the present invention, there is provided a computer-readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements any one of the above-described methods of identifying a driving state of a vehicle.
One embodiment of the above invention has the following advantages or benefits: when the vehicle bumps or the vehicle body slips, the vertical acceleration and the yaw rate in the inertial sensor data change correspondingly. Since the data output from the inertial sensor is a discrete time series and the hidden markov model is mainly used for processing time series data, a precise travel state recognition model can be trained using the hidden markov model and the inertial sensor data. And when the driving state is identified, acquiring the data of the inertial sensor of the vehicle, and identifying abnormal driving states such as vehicle bump or vehicle body slip according to the data and the trained driving state identification model. In addition, the inertial sensor data of the vehicle required by the embodiment of the invention can be acquired by the low-precision inertial device, so that the real-time monitoring of the abnormal operation of the vehicle such as the AGV can be realized at lower cost, and the main control system of the AGV can make an abnormal decision according to the identified state, thereby improving the robustness of the operation of the AGV.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
fig. 1 is a schematic view of a main flow of a method of identifying a running state of a vehicle according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a process of training a driving state recognition model according to an embodiment of the invention;
FIG. 3 is a schematic diagram of a method of identifying an AGV travel state according to an embodiment of the present invention;
fig. 4 is a schematic diagram of main blocks of an apparatus for recognizing a driving state of a vehicle according to an embodiment of the present invention;
FIG. 5 is an exemplary system architecture diagram in which embodiments of the present invention may be employed;
fig. 6 is a schematic block diagram of a computer system suitable for use in implementing a terminal device or server of an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a schematic view of a main flow of a method of identifying a vehicle running state according to an embodiment of the present invention, and as shown in fig. 1, the method of identifying a vehicle running state of an embodiment of the present invention mainly includes:
step S101: and acquiring inertial sensor data of the vehicle to be identified, wherein the inertial sensor data at least comprises a vertical acceleration and a yaw angular velocity. When the vehicle has slight abnormal driving states such as jolt or vehicle body slip, the vertical acceleration and the yaw rate in the inertial sensor data can be correspondingly changed, so that the vertical acceleration and the yaw rate of the vehicle to be identified can be obtained, and the driving state of the vehicle can be accurately identified. Inertial sensor data is some data acquired by an inertial sensor. The inertial sensor is a sensor, mainly used for detecting and measuring acceleration, inclination, impact, vibration, rotation and multiple degrees of freedom (DoF) motion, and is an important part for solving navigation, orientation and motion carrier control.
In the embodiment of the present invention, the inertial sensor data may be the inertial sensor output data, which is the acceleration information and the angular velocity information. The acceleration information at least comprises vertical acceleration, and the angular velocity information at least comprises yaw angular velocity. Further, the angular velocity information may also include the angular velocity of the roll. For a bumpy condition, the inertial data behaves as: the vertical acceleration increases and then decreases (the vertical direction is positive), the angular velocity of the roll increases and then decreases according to the bumping direction, and the yaw angular velocity also changes to a certain degree. For the state of the vehicle body slipping, the inertial data is represented as: a more pronounced increase in yaw rate occurs.
Step S102: determining the driving state of the vehicle to be recognized according to the inertial sensor data based on the trained driving state recognition model; the driving state recognition model is obtained by training according to a hidden Markov model. Specifically, the driving state recognition model at least comprises a driving state recognition submodel, wherein each driving state recognition submodel corresponds to a state to be recognized respectively. Therefore, the step of determining the driving state of the vehicle to be recognized from the inertial sensor data based on the trained driving state recognition model includes: inputting the data of the inertial sensor into each driving state identification submodel in the driving state identification model, and correspondingly obtaining the observation probability; and determining the observation probability with the maximum value, wherein the state to be identified corresponding to the observation probability with the maximum value is the driving state of the vehicle.
After the driving state of the vehicle to be recognized is determined in step S102, the driving state of the vehicle to be recognized may be further determined to determine whether the vehicle belongs to an abnormal driving state such as vehicle bump or vehicle body slip. In the embodiment of the present invention, the abnormal driving state may be regarded as a mark. And if the driving state of the vehicle to be identified is determined to be an abnormal state, screening a corresponding abnormal processing decision from the abnormal processing decision set according to the determined driving state, and generating an abnormal processing instruction according to the screened abnormal processing decision. Therefore, the vehicle to be identified can automatically process the driving state of the vehicle according to the abnormal processing instruction, and the running robustness of the vehicle is improved.
For the embodiment of the invention, when the vehicle bumps or the vehicle body slips, the vertical acceleration and the yaw rate in the inertial sensor data can be correspondingly changed. Since the data output from the inertial sensor is a discrete time series and the hidden markov model is mainly used for processing time series data, a precise travel state recognition model can be trained using the hidden markov model and the inertial sensor data. And when the driving state is identified, acquiring the data of the inertial sensor of the vehicle, and identifying abnormal driving states such as vehicle bump or vehicle body slip according to the data and the trained driving state identification model. In addition, the inertial sensor data of the vehicle required by the embodiment of the invention can be acquired by the low-precision inertial device, so that the real-time monitoring of the abnormal operation of the vehicle such as the AGV can be realized at lower cost, and the main control system of the AGV can make an abnormal decision according to the identified state, thereby improving the robustness of the operation of the AGV.
Fig. 2 is a schematic diagram of a process of training a driving state recognition model according to an embodiment of the present invention, and as shown in fig. 2, the process of training a driving state recognition model according to an embodiment of the present invention includes:
step S201: and collecting the inertial sensor sample data of at least one vehicle in each state to be identified, and correcting. The states to be identified can include normal driving states such as static, uniform motion, accelerated motion, decelerated motion, left turning, right turning and the like, and can also include abnormal driving states such as jolt, vehicle body slip and the like. The correction processing process at least comprises accelerometer data normalization processing, angular velocity data zero offset correction, coordinate system conversion and the like.
In an embodiment of the present invention, the driving state recognition model intended to be trained is used to recognize a model of a normal driving state, and the normal driving state may be defined as a state to be recognized. Then, when the subsequent abnormal judgment is carried out, the abnormal driving state can be determined according to the state which cannot be identified by the model. In another embodiment of the invention, the process of training the model also comprises the abnormal driving state, and the determined data of the abnormal behavior is sent to the learner for training, so that the abnormal behavior can be detected by the trained driving state recognition model.
And, the correction is mainly performed in consideration of the error of the internal data sampling quantization of the low-precision inertial device, the error of the mounting precision and the like. Therefore, the data is subjected to preliminary preprocessing to reduce the influence of errors on the calculation result. And, sampling can be performed based on the set time windows, and data statistics can be performed on the acceleration and angular velocity data in each time window ti to tj, so as to obtain statistics such as a mean value, a variance, a maximum value, a minimum value or an amplitude value of the data in each time window. For example, the length of the time window is selected to be 0.2s, the data sampling frequency is selected to be 100hz, and the latest statistics of 20 groups of data are calculated in each settlement period.
Step S202: and classifying the corrected inertial sensor sample data based on each state to be recognized. Since the acquired data includes data of more than one driving state, in the process of step S202, the data may be classified by using a classification algorithm, such as a K-mean algorithm, and then the classified data may be manually analyzed again, and a corresponding state label may be attached to the classified data according to the prior motion characteristics. For example, acceleration may have a forward accelerometer output, a unilateral bump may have a roll angular velocity, and a vertical acceleration.
Step S203: vectorization representation is carried out on the classified data to obtain vector representation of the inertial sensor sample data in each to-be-identified state. The vector representation of the inertial sensor sample data in each state to be recognized forms a sample data vector set. Thus, the sample data vector includes: a vector representation of inertial sensor sample data for at least one vehicle in each state to be identified.
Step S204: and acquiring a sample data vector set, and inputting a vector representation in the sample data vector set into a Hidden Markov Model (HMM) Model to obtain a trained driving state recognition Model. The vector representation is trained through hidden Markov model modeling to obtain the driving state recognition submodels of the states to be recognized, and the driving state recognition submodels of the states to be recognized form the driving state recognition model. Hidden Markov models are statistical models used to describe a Markov process with hidden unknown parameters. It determines the implicit parameters of the process from the observable parameters and then uses these parameters for further analysis. Each state of the hidden markov model represents a possible motion state; state transitions represent transitions from one motion state to another motion state; the corresponding output observation symbol represents a particular motion state and a group of output symbols represents a motion state. And the hidden Markov model is mainly used for processing time series data, the data output by the inertial sensor is also a discrete time series, and meanwhile, the motion state of the AGV to be recognized is hidden for the observed value (angular velocity and acceleration) of the inertial device, so that the hidden Markov model and the inertial sensor data can be used for training a precise driving state recognition model.
And sending the classified sample data vector centralized data into a hidden Markov model to obtain corresponding model parameters. The hidden Markov model can be determined by hidden state initial probability distribution pi, a state transition probability matrix A and an observation state probability matrix B. Π, A determines the state sequence and B determines the observation sequence. Thus, the hidden markov model can be represented by a triplet λ as follows:
λ=(A,B,Π)
and for each type of data group, obtaining corresponding hidden Markov model parameters, and determining a driving state identification submodel corresponding to each driving state through the model parameters so as to identify the driving state of the vehicle on line in the following process. When the driving state is identified on line, the inertial sensor data of the vehicle is collected and respectively substituted into the driving state identification submodel of each state, the probability P (O | lambda) of the corresponding observation sequence O is respectively calculated, and the maximum probability value is the corresponding driving state.
The embodiment of the invention adopts the inertial sensor, because the acceleration output of the acceleration sensor and the angular velocity output of the gyroscope sensor can be acquired through the inertial sensor, and the acceleration and the angular velocity can be used for judging whether the AGV runs abnormally. Furthermore, accurate state detection models can be trained through machine learning through data acquired by the inertial sensors.
Fig. 3 is a schematic diagram of a method for identifying an AGV driving state according to an embodiment of the present invention, and as shown in fig. 3, the method for identifying an AGV driving state according to an embodiment of the present invention includes:
step S301: and collecting sample data of an inertial sensor of the AGV in different driving states. Acquiring inertial sensor data is a way to acquire data for inertial navigation, which is an autonomous navigation system that does not rely on external information and is not susceptible to interference. The inertial navigation is that the AGV measures the acceleration of a carrier in an inertial reference system, then automatically calculates to obtain data such as the instantaneous acceleration and the position of a cargo, and applies the data to a navigation coordinate system to obtain data such as the speed and the yaw angle position in the navigation coordinate system. Inertial navigation has the advantage that given initial conditions, the position, direction, speed, etc. of the cargo can be determined without external reference. The method is suitable for accurate positioning and orientation under various complex geographic environments and external interference, and can continuously measure the change of the position and accurately keep the dynamic accuracy.
In the prior art, an AGV usually employs a low-cost and low-precision inertial navigation device, and the acquired data can only be used for solving course angle information, and attitude information (pitch and roll) is assisted by accelerometer information. However, when the accelerometer signal is noisy, the data is difficult to use to resolve the output velocity and position information. For the low-precision inertial sensing device, the integrated speed and position information errors are large, so the calculation result is not usually adopted. In the attitude information, the attitude in the pitching direction and the rolling direction can keep better precision through the sensitive gravity direction component of the accelerometer, but the course angle diverges along with the resolving time, and other means are needed to provide reference calibration information. As can be seen from the above, in the conventional art, there is no technology for recognizing the driving state based on the inertial sensor data.
In the process of collecting samples, the inertial sensors can be arranged on a plurality of AGV, and the AGV is connected with a notebook computer to collect driving data. The AGV can go back and forth along a straight line test road, and meanwhile, a barrier is arranged in the test road, and the AGV rolls over the barrier to simulate a bumpy scene (including the left side and the right side). The travel state of the AGV includes: the method comprises the following steps of standing, accelerating, uniform speed, decelerating, left-turning accelerating, uniform speed left-turning, left-turning decelerating, right-turning accelerating, uniform speed right-turning, right-turning decelerating, left-side jolting, right-side jolting, two-side jolting, deviation rectifying after passing through two-dimensional code points, sudden stopping and the like. The acceleration and angular velocity information can be clustered off line through a clustering algorithm to obtain clustering center point data, and corresponding driving state labels are attached to the data through data characteristics.
Step S302: and carrying out data correction on the acquired inertial sensor sample data. The correction process comprises accelerometer data normalization processing, angular velocity data zero offset correction, coordinate system conversion and the like.
Step S303: and extracting the characteristics of the data, and classifying the driving state through a classifier. The extracted features may include mean, variance, maximum, minimum, or magnitude of acceleration and angular velocity, among others.
Step S304: and extracting the characteristics of the inertial sensor from the data of the classifier and performing vector quantization processing.
Step S305: and modeling the AGV state by using a hidden Markov model, and training a driving state recognition model based on an EM algorithm.
The observation sequence of the hidden Markov model is output by an inertial sensor, and the AGV running state is a hidden Markov state chain behind the observation sequence. For example, the motion state of the AGV is selected as: the hidden state transition method comprises the following steps of stillness, acceleration, uniform speed, deceleration, left turning, right turning, bump and the like, wherein the transition between hidden states has corresponding probability, and the state at any moment only depends on the state at the previous moment. A hidden Markov model can be determined by hidden state initial probability distribution pi, a state transition probability matrix A and an observation state probability matrix B. Π, A determines the state sequence and B determines the observation sequence. The HMM model can be represented by a triplet λ as follows: λ ═ a, B, Π. The inertial sensor data is an observation O, and the training process is to estimate HMM parameters A, B and pi according to the observation O so as to maximize the conditional probability P (O | lambda). The EM algorithm (Expectation-Maximization algorithm) uses a heuristic iterative method, which first guesses the implicit data (step E of the EM algorithm), then solves our model parameters (step M of the EM algorithm) based on maximizing the log-likelihood using the observed data and the guessed implicit data together. Since the previous hidden data is guessed, the model parameters obtained at this time are generally not the desired result. The implied data can be guessed continuously based on the model parameters obtained currently (step E of EM algorithm), and then the log likelihood maximization is continued to solve the model parameters (step M of EM algorithm). And repeating iteration continuously until the model distribution parameters are basically unchanged, and the algorithm converges to find the appropriate model parameters.
Step S306: and identifying the driving state of the AGV in real time on line based on the trained driving state identification model.
Step S307: and sending the identified abnormal behavior to an AGV control system so that the control system makes a decision. The abnormal behavior can be caused by the fact that wheels pass through obstacles, the road surface is uneven, the vehicle body slips and the like, and the AGV control system determines a corresponding abnormal processing decision.
Fig. 4 is a schematic diagram of main blocks of an apparatus for identifying a driving state of a vehicle according to an embodiment of the present invention, and as shown in fig. 4, an apparatus 400 for identifying a driving state of a vehicle according to an embodiment of the present invention includes a data acquisition module 401 and a state determination module 402.
The data acquisition module 401 is configured to acquire inertial sensor data of a vehicle to be identified, where the inertial sensor data at least includes a vertical acceleration and a yaw rate.
The state determination module 402 is configured to determine a driving state of the vehicle to be recognized according to the inertial sensor data based on the trained driving state recognition model. The driving state recognition model is obtained by training according to a hidden Markov model. The state determining module is further used for inputting the inertial sensor data into each driving state identification submodel in the driving state identification model and correspondingly obtaining the observation probability. And determining the observation probability with the maximum value, wherein the state to be identified corresponding to the observation probability with the maximum value is the driving state of the vehicle. The driving state recognition model at least comprises a driving state recognition submodel, wherein each driving state recognition submodel corresponds to a state to be recognized.
The device for identifying the vehicle running state of the embodiment of the invention also comprises a model training module, wherein before the state determining module determines the running state of the vehicle to be identified according to the inertial sensor data, the model training module is used for acquiring a sample data vector set, and the sample data vector set comprises: a vector representation of inertial sensor sample data for at least one vehicle in each state to be identified. And representing and inputting the vectors in the sample data vector set into the hidden Markov model to obtain a trained driving state recognition model.
And the model training module is also used for collecting the inertial sensor sample data of at least one vehicle in each state to be recognized and correcting before the sample data vector set is obtained. Classifying the corrected inertial sensor sample data based on each state to be recognized; vectorization representation is carried out on the classified data to obtain vector representation of the inertial sensor sample data in each to-be-identified state. And training the vector representation through hidden Markov model modeling to obtain the driving state recognition submodels of each state to be recognized, wherein the driving state recognition submodels of each state to be recognized form a driving state recognition model.
The device for identifying the vehicle running state further comprises an abnormality decision module, wherein after the state determination module determines the running state of the vehicle to be identified, the abnormality decision module is used for screening a corresponding abnormality processing decision from the abnormality processing decision set according to the running state under the condition that the running state of the vehicle to be identified is determined to be the abnormal state; and generating an exception handling instruction according to the screened exception handling decision.
For the embodiment of the invention, when the vehicle bumps or the vehicle body slips, the vertical acceleration and the yaw rate in the inertial sensor data can be correspondingly changed. Since the data output from the inertial sensor is a discrete time series and the hidden markov model is mainly used for processing time series data, a precise travel state recognition model can be trained using the hidden markov model and the inertial sensor data. And when the driving state is identified, acquiring the data of the inertial sensor of the vehicle, and identifying abnormal driving states such as vehicle bump or vehicle body slip according to the data and the trained driving state identification model. In addition, the inertial sensor data of the vehicle required by the embodiment of the invention can be acquired by the low-precision inertial device, so that the real-time monitoring of the abnormal operation of the vehicle such as the AGV can be realized at lower cost, and the main control system of the AGV can make an abnormal decision according to the identified state, thereby improving the robustness of the operation of the AGV.
Fig. 5 illustrates an exemplary system architecture 500 to which the method of identifying a vehicle driving state or the apparatus for identifying a vehicle driving state of the embodiments of the present invention may be applied.
As shown in fig. 5, the system architecture 500 may include terminal devices 501, 502, 503, a network 504, and a server 505. The network 504 serves to provide a medium for communication links between the terminal devices 501, 502, 503 and the server 505. Network 504 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 501, 502, 503 to interact with a server 505 over a network 504 to receive or send messages or the like. The terminal devices 501, 502, 503 may have installed thereon various communication client applications, such as shopping-like applications, web browser applications, search-like applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only).
The terminal devices 501, 502, 503 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 505 may be a server providing various services, such as a background management server (for example only) providing support for shopping websites browsed by users using the terminal devices 501, 502, 503. The background management server can analyze and process the received data such as the product information inquiry request and feed back the processing result to the terminal equipment.
It should be noted that the method for identifying the vehicle driving state provided by the embodiment of the present invention is generally executed by the server 505, and accordingly, the device for identifying the vehicle driving state is generally disposed in the server 505.
It should be understood that the number of terminal devices, networks, and servers in fig. 5 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 6, a block diagram of a computer system 600 suitable for use with a terminal device implementing an embodiment of the invention is shown. The terminal device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU)601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 601.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor includes a data acquisition module and a status determination module. The names of these modules do not in some cases constitute a limitation of the module itself, and for example, the data acquisition module may also be described as a "module that acquires inertial sensor data of a vehicle to be identified".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: acquiring inertial sensor data of a vehicle to be identified, wherein the inertial sensor data at least comprises a vertical acceleration and a yaw angular velocity; determining the driving state of the vehicle to be recognized according to the inertial sensor data based on the trained driving state recognition model; the driving state recognition model is obtained by training according to a hidden Markov model.
For the embodiment of the invention, when the vehicle bumps or the vehicle body slips, the vertical acceleration and the yaw rate in the inertial sensor data can be correspondingly changed. Since the data output from the inertial sensor is a discrete time series and the hidden markov model is mainly used for processing time series data, a precise travel state recognition model can be trained using the hidden markov model and the inertial sensor data. And when the driving state is identified, acquiring the data of the inertial sensor of the vehicle, and identifying abnormal driving states such as vehicle bump or vehicle body slip according to the data and the trained driving state identification model. In addition, the inertial sensor data of the vehicle required by the embodiment of the invention can be acquired by the low-precision inertial device, so that the real-time monitoring of the abnormal operation of the vehicle such as the AGV can be realized at lower cost, and the main control system of the AGV can make an abnormal decision according to the identified state, thereby improving the robustness of the operation of the AGV.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.