CN114322918A - Method and device for detecting state of movable equipment and computer readable storage medium - Google Patents

Method and device for detecting state of movable equipment and computer readable storage medium Download PDF

Info

Publication number
CN114322918A
CN114322918A CN202011062910.4A CN202011062910A CN114322918A CN 114322918 A CN114322918 A CN 114322918A CN 202011062910 A CN202011062910 A CN 202011062910A CN 114322918 A CN114322918 A CN 114322918A
Authority
CN
China
Prior art keywords
angle
sliding window
difference
matrix
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011062910.4A
Other languages
Chinese (zh)
Other versions
CN114322918B (en
Inventor
刘威亚
刘玉平
付磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Bozhilin Robot Co Ltd
Original Assignee
Guangdong Bozhilin Robot Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Bozhilin Robot Co Ltd filed Critical Guangdong Bozhilin Robot Co Ltd
Priority to CN202011062910.4A priority Critical patent/CN114322918B/en
Publication of CN114322918A publication Critical patent/CN114322918A/en
Application granted granted Critical
Publication of CN114322918B publication Critical patent/CN114322918B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)
  • Gyroscopes (AREA)

Abstract

The application provides a method and a device for detecting the state of a movable device and a computer readable storage medium. The method comprises the following steps: acquiring a course angle of the movable equipment detected by the inertial measurement unit in real time; adding the course angle to a sliding window matrix with a window length of a first length; calculating a first difference value of two course angles at two ends of the sliding window matrix; it is determined whether the mobile device is in a state in which the turning action has been completed based at least on the first difference. According to the method, the IMU is installed on the movable equipment, the course angle is obtained subsequently, the difference processing is carried out on the course angle by adopting a sliding window algorithm, whether the movable equipment is in the state of finishing the turning action or not is determined according to the difference, the problem that the accumulated error exists in the course angle calculation due to the fact that the IMU in the prior art has a null shift phenomenon is solved, and the accuracy of judging whether the movable equipment is in the state of finishing the turning action or not is guaranteed.

Description

Method and device for detecting state of movable equipment and computer readable storage medium
Technical Field
The application relates to the field of intelligent construction, in particular to a method and a device for detecting the state of a movable device, a computer readable storage medium and a processor.
Background
The intelligent building outer wall mobile platform is a mobile device which is laid on the periphery of a circle of guide rails to control movement after the cement pouring of the building outer wall is finished (the guide rails are formed by connecting straight rails and 1/4 circular arc curves, as shown in figure 1). Based on the position of the real-time positioning mobile platform, the actuator on the mobile platform can be operated to work (such as wall surface polishing, screw hole filling and the like).
The outer wall moving platform has different operation requirements on a straight track or a curve where the outer wall moving platform is located, and the detection of finishing turning for 90 degrees by the way of the curve is the key for controlling the moving platform to accurately operate. The prior art is realized by arranging an encoder on a mobile platform, and judging the position of the mobile platform according to the coordinate comparison of the measured value of the encoder and the selected starting point and the coordinates of key points before and after all curves (in the figure 1, O represents the selected starting point; S1 and S2, S3, S4, S5 and S6 represent the starting point and the ending point of the curve). The actual encoder is easy to be influenced by guide rail installation, long-period vibration work and the like to generate a slipping phenomenon, and the positioning error presents an increasing trend along with the slipping time, so that the judgment accuracy of the state of the mobile platform is influenced (the external wall mobile platform is only in a straight track or a corner curve).
The above information disclosed in this background section is only for enhancement of understanding of the background of the technology described herein and, therefore, certain information may be included in the background that does not form the prior art that is already known in this country to a person of ordinary skill in the art.
Disclosure of Invention
The present application mainly aims to provide a method and an apparatus for detecting a state of a mobile device, a computer-readable storage medium, and a processor, so as to solve the problem in the prior art that the accuracy of determining the state of the mobile device is low.
According to an aspect of an embodiment of the present invention, there is provided a method for detecting a state of a mobile device on which an inertial measurement unit is mounted, the method including: acquiring the course angle of the movable equipment detected by the inertial measurement unit in real time; adding the course angle into a sliding window matrix with the window length being a first length, adding one course angle at each end of the sliding window matrix, and deleting a numerical value at the other end of the sliding window matrix; calculating a first difference value of the two course angles at the two ends of the sliding window matrix; determining whether the movable device is in a state in which a turning action has been completed based at least on the first difference.
Optionally, before adding the heading angle to the sliding window matrix of the first length, the method further comprises: constructing the sliding window matrix with the window length being the first length, initializing the sliding window matrix, constructing the sliding window matrix with the window length being the first length, and initializing the sliding window matrix, including: acquiring the radius of a curve where the movable equipment turns, the maximum movement speed of the movable equipment and the sampling frequency of the inertia measurement unit; calculating the first length according to the radius of the curve, the maximum movement speed and the sampling frequency; and constructing the sliding window matrix according to the first length.
Optionally, calculating a first difference value between the two heading angles at the two ends of the sliding window matrix includes: determining whether the initialized numerical value exists in the sliding window matrix; and under the condition that the numerical value obtained by initialization does not exist, calculating the difference value of the two numerical values at the two ends of the sliding window matrix to obtain the first difference value.
Optionally, determining whether the mobile device is in a state of having completed a turning action based at least on the first difference comprises: determining that the movable device is in a state in which a turning action has been completed in a case where an absolute value of the first difference is greater than an angle threshold.
Optionally, determining whether the movable device is in a state of having completed a turning action at least according to the first difference value further comprises: determining that the movable device is in a state of incomplete turning action if the absolute value of the first difference is less than or equal to the angle threshold; constructing an accumulated detection matrix with a window length of a second length, initializing the accumulated detection matrix, adding the course angle to the accumulated detection matrix, and deleting a numerical value at the other end of the accumulated detection matrix every time one course angle is added at one end of the accumulated detection matrix; calculating a second difference value of the two heading angles at the two ends of the accumulated detection matrix; determining whether the movable device is in a state of having completed a turning action according to the second difference value and the first difference value.
Optionally, determining whether the mobile device is in a state of having completed a turning action according to the second difference and the first difference comprises: determining whether an absolute value of the second difference is greater than an angle increment minimum; determining a current cumulative change angle of the mobile device as a sum of the first difference and the second difference if the absolute value of the second difference is greater than the minimum value of the angle increment; determining that the movable device is in a state in which a turning action has been completed in a case where the current absolute value degree of the cumulative change angle is greater than the angle threshold.
Optionally, constructing a cumulative detection matrix with a window length of a second length includes: determining the minimum value of the angle increment; calculating the second length according to the minimum value of the angle increment and the first length; and constructing the accumulated detection matrix according to the second length.
Optionally, determining the minimum value of the angle increment includes: acquiring the minimum start-stop time of the movable equipment, the maximum movement speed of the movable equipment, the radius of a curve where a turn is located corresponding to the turn angle of the movable equipment and a course angle zero drift error value of the inertia measurement unit; and determining the minimum angle increment according to the minimum start-stop time, the maximum movement speed, the radius of the curve and the heading angle null shift error value.
Optionally, before determining whether the mobile device is in a state in which a turning action has been completed based at least on the first difference, the method further comprises: acquiring a preset angle of a curve corresponding to the turning of the movable equipment; determining a maximum error angle of the curve generated during construction; and determining the angle threshold value according to the preset angle, the maximum error angle and a weight coefficient, wherein the weight coefficient is between 1.5 and 3.
Optionally, acquiring, in real time, a heading angle of the movable device detected by the inertial measurement unit includes: acquiring first data obtained by detecting an accelerometer in the inertial measurement unit; acquiring second data obtained by detecting a gyroscope in the inertial measurement unit; calibrating second data by using the first data to obtain calibrated second data; and calculating the course angle by adopting a complementary second-order fusion algorithm, a complementary filtering algorithm, a Kalman algorithm, an extended Kalman algorithm or an unscented Kalman algorithm according to the first data and the calibrated second data.
According to another aspect of the embodiments of the present invention, there is also provided an apparatus for detecting a state of a mobile device, on which an inertial measurement unit is mounted, the apparatus including: a first acquisition unit; the system is used for acquiring the course angle of the movable equipment detected by the inertial measurement unit in real time; an update unit; the system comprises a sliding window matrix, a first navigation unit, a second navigation unit and a third navigation unit, wherein the sliding window matrix is used for adding the course angle to the sliding window matrix with the first length, and deleting a numerical value at the other end of the sliding window matrix when adding one course angle at one end of the sliding window matrix; the first calculation unit is used for calculating a first difference value of two course angles at two ends of the sliding window matrix; a first determination unit; for determining whether the movable device is in a state in which a turning action has been completed based at least on the first difference.
According to still another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium including a stored program, wherein the program executes any one of the methods for detecting a status of a removable device.
According to still another aspect of the embodiments of the present invention, there is further provided a processor, where the processor is configured to execute a program, where the program executes any one of the methods for detecting a state of a removable device when the program is executed.
In the embodiment of the invention, an Inertial Measurement Unit (IMU) is installed on the movable equipment, the course angle of the movable equipment detected by the Inertial Measurement Unit can be obtained in real time, then the course angle is added to one end of the sliding window matrix, and a numerical value at the other end of the sliding window matrix is deleted every time a navigation angle is added to one end of the sliding window matrix, so that the course angles can be stored in the sliding window matrix according to the principle of sequence and first-in first-out, and then whether the movable equipment is in a state of finishing turning action can be determined at least according to the first difference of the course angles at two ends of the sliding window matrix. According to the method, the IMU is installed on the movable equipment, the course angle is obtained subsequently, difference processing is carried out on the course angle by adopting a sliding window algorithm, and whether the movable equipment is in the state of finishing turning action or not is determined according to the difference, so that the problem that accumulated errors exist in course angle calculation due to the fact that the IMU in the prior art has a null shift phenomenon is solved, and the accuracy of judging whether the movable equipment is in the state of finishing turning action or not is guaranteed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this application, illustrate embodiments of the application and, together with the description, serve to explain the application and are not intended to limit the application. In the drawings:
FIG. 1 shows a top view of a building's exterior wall track;
FIG. 2 illustrates a flow diagram of a method for detecting a state of a mobile device in accordance with an embodiment of the present application;
FIG. 3 shows a schematic diagram of a queue in a sliding window matrix;
FIG. 4(a) shows a schematic view of a wall surface having an included angle other than π/2;
FIG. 4(b) is a schematic view showing another wall surface angle other than π/2;
FIG. 5 is a schematic diagram illustrating an apparatus for detecting a status of a mobile device according to an embodiment of the present application;
FIG. 6 illustrates a mobile platform status detection flow diagram;
FIG. 7(a) shows a schematic of six-axis raw data and a self-calibrating null-shift of an inertial measurement unit;
FIG. 7(b) is a schematic diagram showing the inertial measurement unit calculating a heading angle and a corner mark;
FIG. 7(c) is a schematic diagram showing six-axis raw data and a self-calibration null shift of another inertial measurement unit; and
FIG. 7(d) is a schematic diagram of another inertial measurement unit for calculating a heading angle and a turn angle index.
Detailed Description
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It should be understood that the data so used may be interchanged under appropriate circumstances such that embodiments of the application described herein may be used. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or mobile device that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or mobile device.
It will be understood that when an element such as a layer, film, region, or substrate is referred to as being "on" another element, it can be directly on the other element or intervening elements may also be present. Also, in the specification and claims, when an element is described as being "connected" to another element, the element may be "directly connected" to the other element or "connected" to the other element through a third element.
As mentioned in the background, the prior art has low accuracy in determining the state of the mobile device, and in order to solve the above problems, in an exemplary embodiment of the present application, a method, an apparatus, a computer-readable storage medium, and a processor for detecting the state of the mobile device are provided.
According to an embodiment of the application, a method for detecting a state of a movable device is provided. Fig. 2 is a flowchart of a method for detecting a status of a removable device according to an embodiment of the present application. As shown in fig. 2, the method comprises the steps of:
step S101, acquiring a course angle of the movable equipment detected by the inertial measurement unit in real time;
step S102, adding the course angle to a sliding window matrix with a window length of a first length, adding one course angle to one end of the sliding window matrix, and deleting a numerical value at the other end of the sliding window matrix;
step S103, calculating a first difference value of the two course angles at the two ends of the sliding window matrix;
and step S104, determining whether the movable equipment is in a state of finishing the turning action at least according to the first difference.
In the method, an Inertial Measurement Unit (IMU for short) is installed on the mobile device, so that the course angle of the mobile device detected by the Inertial Measurement Unit can be obtained in real time, then the course angle is added to one end of the sliding window matrix, and a numerical value at the other end of the sliding window matrix is deleted every time a navigation angle is added to one end of the sliding window matrix, so that the course angles can be stored in the sliding window matrix according to a sequence and first-in first-out principle, and then whether the mobile device is in a state of finishing turning action can be determined at least according to a first difference of the calculated course angles at two ends of the sliding window matrix. According to the method, the IMU is installed on the movable equipment, the course angle is obtained subsequently, difference processing is carried out on the course angle by adopting a sliding window algorithm, and whether the movable equipment is in the state of finishing turning action or not is determined according to the difference, so that the problem that accumulated errors exist in course angle calculation due to the fact that the IMU in the prior art has a null shift phenomenon is solved, and the accuracy of judging whether the movable equipment is in the state of finishing turning action or not is guaranteed.
It should be noted that the steps illustrated in the flowcharts of the figures may be performed in a computer system such as a set of computer-executable instructions and that, although a logical order is illustrated in the flowcharts, in some cases, the steps illustrated or described may be performed in an order different than presented herein.
In an embodiment of the present application, before adding the heading angle to the sliding window matrix of the first length, the method further comprises: constructing the sliding window matrix with the window length being the first length, initializing the sliding window matrix, constructing the sliding window matrix with the window length being the first length, and initializing the sliding window matrix, including: the method comprises the following steps: the method comprises the steps of obtaining the radius of a curve where the movable equipment turns, the maximum movement speed of the movable equipment and the sampling frequency of the inertia measurement unit, calculating the first length according to the radius of the curve, the maximum movement speed and the sampling frequency, constructing the sliding window matrix according to the first length, constructing the sliding window matrix according to the calculated first length, and adding a course angle to the sliding window matrix subsequently.
In another embodiment of the present application, a radius of the curve is denoted as r, the curve is an arc of 1/4, a maximum moving speed of the mobile device is denoted as Vmax, a sampling frequency of the inertia measurement unit is denoted as Fs _ imu, the first length is denoted as Nwin, a formula for calculating the first length is Nwin ═ pi × r ÷ (2 × Vmax) × Fs _ imu, a sliding window matrix is constructed through the calculated first length, the sliding window matrix can be denoted as yaw, and a heading angle can be added to the sliding window matrix subsequently.
Of course, the method of constructing the sliding window matrix in the present application is not limited to the above method, and other suitable methods may be used.
In another embodiment of the present application, calculating a first difference between two of the heading angles at two ends of the sliding window matrix includes: and determining whether the initialized value exists in the sliding window matrix, and calculating the difference value of the two values at the two ends of the sliding window matrix under the condition that the initialized value does not exist to obtain the first difference value. In this embodiment, the first difference is calculated when it is determined that the initialized value does not exist in the sliding window matrix, and the first difference is a difference between two values in the sliding window matrix, so that each value in the sliding window matrix can be guaranteed to be valid, the calculation result is further guaranteed to be more accurate, and the accuracy of judging whether the mobile device is in a state of completing the turning action is further guaranteed.
In another embodiment of the present application, determining whether the movable device is in a state of having completed a turning action at least according to the first difference comprises: and determining that the movable device is in a state in which the turning action has been completed, in a case where an absolute value of the first difference is greater than an angle threshold. And taking an absolute value of the first difference, judging whether the absolute value of the first difference is greater than an angle threshold, and if the absolute value of the first difference is greater than the angle threshold, enabling the movable equipment to be in a state of finishing turning action.
In yet another embodiment of the present application, whether the mobile device is in a state where the turning action has been completed may be denoted as corner _ status, the angle threshold may be denoted as thre _ corner, the sliding window matrix may be denoted as yaw,
Figure BDA0002712935900000061
in the expression, 1 indicates that the movable device is in a state in which the turning motion has been completed, and 0 indicates that the turning motion has not been completed.
In a specific embodiment of the present application, determining whether the movable device is in a state of having completed a turning action according to at least the first difference further includes: determining that the movable apparatus is in a state of incomplete turning action in a case where an absolute value of the first difference is less than or equal to the angle threshold; and constructing an accumulated detection matrix with a window length of a second length, initializing the accumulated detection matrix, adding the course angle into the accumulated detection matrix, adding one course angle at one end of the accumulated detection matrix, deleting a value at the other end of the accumulated detection matrix, calculating a second difference value of the two course angles at two ends of the accumulated detection matrix, and determining whether the movable equipment is in a state of finishing turning action according to the second difference value and the first difference value. In this embodiment, when the absolute value of the first difference is less than or equal to the angle threshold, it may be determined that the mobile device is in a state of incomplete turning action, an accumulated detection matrix may be constructed, which may be referred to as Temp _ yaw _ array, and the window length of the accumulated detection matrix is a second length, the accumulated detection matrix may be initialized, the heading angle may be added to one end of the accumulated detection matrix, and one value of the other end of the accumulated detection matrix may be deleted every time a navigation angle is added to one end of the accumulated detection matrix, so that the heading angles may be stored in the accumulated detection matrix in order, and then, based on the second difference of the heading angles at both ends of the calculated sliding window matrix and the first difference, the second difference may be referred to as diff _ yaw, the formula for calculating the second difference is Temp _ yaw _ array (Nwim02) -teyaw _ array (1), whether the movable equipment is in the state of finishing the turning action can be further accurately determined, and the accuracy of judging whether the movable equipment is in the state of finishing the turning action is further ensured.
It should be noted that, as shown in fig. 3, every time the heading angle is added to one end of the sliding window matrix or the accumulated detection matrix, a value at the other end of the sliding window matrix or the accumulated detection matrix is deleted, and the first-in first-out rule (queue tail in queue head out) is met.
In another embodiment of the present application, determining whether the movable device is in a state of having completed a turning action according to the second difference and the first difference includes: determining whether an absolute value of the second difference is greater than a minimum value of an angle increment, determining that a current cumulative change angle of the movable equipment is a sum of the first difference and the second difference if the absolute value of the second difference is greater than the minimum value of the angle increment, and determining that the movable equipment is in a state in which a turning action has been completed if the absolute value of the current cumulative change angle is greater than the angle threshold. In this embodiment, when the absolute value of the second difference is greater than the angle increment minimum value, the first difference and the second difference are summed, and the result is used as the current cumulative change angle of the mobile device, and when the absolute value of the current cumulative change angle is greater than the angle threshold, the mobile device can be determined to be in the state of having completed the turning action, the angle increment minimum value is denoted as Delta _ angle, and the cumulative change angle is denoted as Temp _ yaw, the calculation formula is Temp _ yaw + diff _ yaw, abs (diff _ yaw) > Delta _ angle.
In yet another specific embodiment of the present application, whether the mobile device is in a state where a turning action has been completed may be referred to as core _ status, the angle threshold may be referred to as thre _ core,
Figure BDA0002712935900000071
in the expression, 1 indicates that the movable device is in a state in which the turning motion has been completed, and 0 indicates that the turning motion has not been completed.
In still another embodiment of the present application, in a case where an absolute value of the second difference is larger than the minimum value of the angle increment and before determining the cumulative changed angle at the next time, determining whether the movable device is in a state in which the turning motion has been completed based on the second difference includes: initializing the accumulation detection matrix. Therefore, data in the accumulation detection matrix can be emptied, repeated accumulation calculation of the current accumulated change angle is avoided, the accuracy of the calculated current accumulated change angle is further ensured, and the accuracy of judging whether the movable equipment is in the state of finishing the turning action is further ensured.
In another embodiment of the present application, determining whether the movable device is in a state of having completed a turning motion according to the second difference comprises: and when the absolute value of the second difference is smaller than or equal to the minimum value of the angle increment, the current accumulated change angle is equal to the previous accumulated change angle. In this case, it is not necessary to compare and determine the magnitude relationship between the absolute value of the current cumulative change angle and the angle threshold.
In another embodiment of the present application, constructing a cumulative detection matrix with a window length of a second length includes: and determining a minimum value of an angle increment, calculating the second length according to the minimum value of the angle increment and the first length, and constructing the accumulated detection matrix according to the second length. The minimum value of the angle increment is denoted as Delta _ angle, the unit can be rad, the second length is denoted as Nwin02, the formula for calculating the second length is Nwin02 ═ Nwin × Delta _ angle ÷ (pi ÷ 2), from the calculated second length, the cumulative monitoring matrix is constructed, and the heading angle can be subsequently added to the cumulative monitoring matrix.
Of course, the method of constructing the cumulative detection matrix in the present application is not limited to the above method, and may be other suitable methods.
Specifically, in another embodiment of the present application, the determining the minimum value of the angle increment includes: and acquiring the minimum start-stop time of the movable equipment, the maximum movement speed of the movable equipment, the radius of a curve where the turn corresponding to the turn angle of the movable equipment is located and the course angle null shift error value of the inertia measurement unit, and determining the minimum angle increment value according to the minimum start-stop time, the maximum movement speed, the radius of the curve and the course angle null shift error value. The minimum start-stop time of the movable equipment is recorded as Tmax, the maximum moving speed of the movable equipment is recorded as Vmax, the radius of a curve is recorded as r, a course angle zero drift error value of the inertia measurement unit is recorded as Delta _ imu, a formula for calculating the minimum value of the angle increment is that Delta _ angle is larger than or equal to max (Tmax multiplied by Vmax divided by r, Tmax multiplied by Delta _ imu), max represents the maximum value, the minimum value of the angle increment is related to model parameters of the inertia measurement unit and calibration effect, the minimum start-stop time and the maximum moving speed of the movable equipment are hardware parameters of the movable equipment, and the radius r of the curve is determined by actually laying a guide rail.
In yet another embodiment of the present application, before determining whether the mobile device is in a state in which the turning action has been completed based on at least the first difference, the method further comprises: the method comprises the steps of obtaining a preset angle of a curve corresponding to the turning of the movable equipment, determining the maximum error angle generated during building of the curve, and determining the angle threshold according to the preset angle, the maximum error angle and a weight coefficient, wherein the weight coefficient is 1.5-3. In this embodiment, the angle threshold can be further accurately determined.
In a practical specific application, due to actual building differences, a built wall surface included angle has a certain deviation from a CAD drawing, which may not be exactly pi/2, as shown in fig. 4(a) and fig. 4(b), a1 is smaller than pi/2, a2 is larger than pi/2, so that a predetermined angle of a curve corresponding to a turning of a mobile device, a maximum error angle of the curve generated during building can be obtained, and a weight coefficient is used to determine an angle threshold, the angle threshold can be denoted as threo _ corner, a weight coefficient is denoted as weight, the maximum error angle is denoted as error _ corner, and a formula for calculating the angle threshold is denoted as threo _ corner ═ pi ÷ 2-weight × error _ corner.
In another embodiment of the present application, the obtaining a heading angle of the mobile device detected by the inertial measurement unit in real time includes: acquiring first data obtained by detection of an accelerometer in the inertial measurement unit, acquiring second data obtained by detection of a gyroscope in the inertial measurement unit, calibrating the second data by using the first data to obtain calibrated second data, and calculating the course angle by using a complementary second-order fusion algorithm, a complementary filtering algorithm, a Kalman algorithm (KF), an Extended Kalman Filter (EKF) or an Unscented Kalman algorithm (UKF) according to the first data and the calibrated second data.
The accelerometer has larger noise, more obvious vibration influence than the gyroscope, and not high reliability in a short time, although the gyroscope has small noise, the integral is discrete, and the long-time integral can drift, so that the first data obtained by the detection of the accelerometer is used for calibrating the second data obtained by the detection of the gyroscope, and accurate second data can be obtained.
In another embodiment of the present application, the mobile device is a mobile platform for intelligently building an exterior wall. The mobile platform which adopts the intelligent building of the outer wall can operate the actuators on the mobile platform to carry out work, such as a robot, and can be any other feasible mobile platform, and a person skilled in the art can select a suitable mobile platform according to actual conditions.
The embodiment of the present application further provides a device for detecting a state of a mobile device, and it should be noted that the device for detecting a state of a mobile device according to the embodiment of the present application may be used to execute the method for detecting a state of a mobile device according to the embodiment of the present application. The following describes a detection apparatus for detecting a state of a mobile device according to an embodiment of the present application.
Fig. 5 is a schematic diagram of a detection apparatus for a movable device state according to an embodiment of the present application. As shown in fig. 5, the apparatus includes:
a first acquisition unit 10; the system is used for acquiring the course angle of the movable equipment detected by the inertial measurement unit in real time;
an update unit 20; adding the course angle to the initial sliding window matrix, and deleting a value at the other end of the sliding window matrix every time one course angle is added at one end of the sliding window matrix;
a first calculating unit 30, configured to calculate a first difference between the two heading angles at two ends of the sliding window matrix;
a first determination unit 40; for determining whether the mobile device is in a state in which a turning action has been completed based at least on the first difference.
In the device, an Inertial Measurement Unit (IMU) is installed on the movable device, the first obtaining Unit may obtain the course angle of the movable device detected by the Inertial Measurement Unit in real time, the updating Unit increases the course angle to one end of the sliding window matrix, and deletes a value of the other end of the sliding window matrix every time a navigation angle is added to one end of the sliding window matrix, so that the course angles may be stored in the sliding window matrix according to a sequence and a first-in first-out principle, the first calculating Unit calculates a first difference value of the course angles at two ends of the sliding window matrix, and the first determining Unit may determine whether the movable device is in a state of having completed a turning action according to the first difference value. In the device, the IMU is arranged on the movable equipment, the course angle is acquired subsequently, the difference processing is carried out on the course angle by adopting a sliding window algorithm, and whether the movable equipment is in the state of finishing the turning action is determined according to the difference, so that the problem that the accumulated error exists in the course angle calculation caused by the zero drift phenomenon of the IMU in the prior art is solved, and the accuracy of judging whether the movable equipment is in the state of finishing the turning action is ensured.
In an embodiment of the application, the apparatus further includes a constructing unit, where the constructing unit is configured to construct the sliding window matrix with the window length being the first length before adding the heading angle to the sliding window matrix with the first length, and initialize the sliding window matrix, and includes a first obtaining module, a first calculating module, and a first constructing module, where the first obtaining module is configured to obtain a radius of a curve where the movable device turns, a maximum moving speed of the movable device, and a sampling frequency of the inertial measurement unit, the first calculating module is configured to calculate the first length according to the radius of the curve, the maximum moving speed, and the sampling frequency, the first constructing module is configured to construct the sliding window matrix according to the first length, and by the calculated first length, and constructing a sliding window matrix, and adding the course angle to the sliding window matrix subsequently.
In another embodiment of the present application, a radius of the curve is denoted as r, the curve is an arc of 1/4, a maximum moving speed of the mobile device is denoted as Vmax, a sampling frequency of the inertia measurement unit is denoted as Fs _ imu, the first length is denoted as Nwin, a formula for calculating the first length is Nwin ═ pi × r ÷ (2 × Vmax) × Fs _ imu, a sliding window matrix is constructed through the calculated first length, the sliding window matrix can be denoted as yaw, and a heading angle can be added to the sliding window matrix subsequently.
Of course, the method of constructing the sliding window matrix in the present application is not limited to the above method, and other suitable methods may be used.
In yet another embodiment of the present application, the first calculating unit includes a first determining module and a second calculating module, the first determining module is configured to determine whether the initialized value exists in the sliding window matrix, and the second calculating module is configured to calculate a difference between two values at two ends of the sliding window matrix under the condition that the initialized value does not exist, so as to obtain the first difference. In this embodiment, the first difference is calculated when it is determined that the initialized value does not exist in the sliding window matrix, and the first difference is a difference between two values in the sliding window matrix, so that each value in the sliding window matrix can be guaranteed to be valid, the calculation result is further guaranteed to be more accurate, and the accuracy of judging whether the mobile device is in a state of completing the turning action is further guaranteed.
In yet another embodiment of the present application, the first determination unit includes a second determination module configured to determine that the movable device is in a state in which the turning action has been completed, in a case where an absolute value of the first difference is greater than an angle threshold. And taking an absolute value of the first difference, judging whether the absolute value of the first difference is greater than an angle threshold, and if the absolute value of the first difference is greater than the angle threshold, enabling the movable equipment to be in a state of finishing turning action.
In yet another embodiment of the present application, whether the mobile device is in a state where the turning action has been completed may be denoted as corner _ status, the angle threshold may be denoted as thre _ corner, the sliding window matrix may be denoted as yaw,
Figure BDA0002712935900000101
in the expression, 1 indicates that the movable device is in a state in which the turning motion has been completed, and 0 indicates that the turning motion has not been completed.
In a specific embodiment of the present application, the first determining unit includes a third determining module, a second constructing module, an updating module, a third calculating module and a fourth determining module, and the third determining module is configured to determine that the movable apparatus is in a state of not completing a turning action when the absolute value of the first difference is smaller than or equal to the angle threshold; the second building module is used for building an accumulated detection matrix with the window length being a second length and initializing the accumulated detection matrix, and the updating module is used for adding the course angle into the accumulated detection matrix and deleting a numerical value at the other end of the accumulated detection matrix every time one course angle is added at one end of the accumulated detection matrix; the third calculating module is used for calculating a second difference value of the two heading angles at the two ends of the accumulated detection matrix, and the fourth determining module is used for determining whether the movable equipment is in a state of finishing turning action according to the second difference value and the first difference value. In this embodiment, when the absolute value of the first difference is less than or equal to the angle threshold, it may be determined that the movable device is in a state of not completing the turning action, an accumulated detection matrix may be constructed, which may be referred to as Temp _ raw _ array, and the window length of the accumulated detection matrix is a second length, the accumulated detection matrix may be initialized, the heading angle may be added to one end of the accumulated detection matrix, and a value of the other end of the accumulated detection matrix may be deleted every time a navigation angle is added to one end of the accumulated detection matrix, so that the heading angles may be sequentially stored in the accumulated detection matrix, and then, based on the calculated second difference of the heading angles at both ends of the sliding window matrix and the first difference, the second difference may be referred to as di _ ff, the formula for calculating the second difference is di _ ff — ya _ wT _ emp (y-a0w2) array, it may be further accurately determined whether the movable device is in a state of having completed the turning action, the accuracy of judging whether the movable equipment is in the state of finishing the turning action is further ensured.
It should be noted that, as shown in fig. 3, every time the heading angle is added to one end of the sliding window matrix or the accumulated detection matrix, a value at the other end of the sliding window matrix or the accumulated detection matrix is deleted, and the first-in first-out rule (queue tail in queue head out) is met.
In another embodiment of the application, the fourth determining module includes a first determining sub-module, a second determining sub-module and a third determining sub-module, the first determining sub-module is configured to determine whether an absolute value of the second difference is greater than a minimum value of an angle increment, the second determining sub-module is configured to determine that a current accumulated change angle of the movable equipment is a sum of the first difference and the second difference if the absolute value of the second difference is greater than the minimum value of the angle increment, and the third determining sub-module is configured to determine that the movable equipment is in a state in which a turning action has been completed if the absolute value of the current accumulated change angle is greater than the angle threshold. In this embodiment, when the absolute value of the second difference is greater than the angle increment minimum value, the first difference and the second difference are summed, and the result is used as the current cumulative change angle of the mobile device, and when the absolute value of the current cumulative change angle is greater than the angle threshold, the mobile device can be determined to be in the state of having completed the turning action, the angle increment minimum value is denoted as Delta _ angle, and the cumulative change angle is denoted as Temp _ yaw, the calculation formula is Temp _ yaw + diff _ yaw, abs (diff _ yaw) > Delta _ angle.
In yet another specific embodiment of the present application, whether the mobile device is in a state where a turning action has been completed may be referred to as core _ status, the angle threshold may be referred to as thre _ core,
Figure BDA0002712935900000111
in the expression, 1 indicates that the movable device is in a state in which the turning motion has been completed, and 0 indicates that the turning motion has not been completed.
In yet another embodiment of the present application, the apparatus further includes an initializing unit, where the initializing unit is configured to initialize the accumulated detection matrix when the absolute value of the second difference is greater than the minimum value of the angle increment and before determining the next accumulated change angle. Therefore, data in the accumulation detection matrix can be emptied, repeated accumulation calculation of the current accumulated change angle is avoided, the accuracy of the calculated current accumulated change angle is further ensured, and the accuracy of judging whether the movable equipment is in the state of finishing the turning action is further ensured.
In another embodiment of the application, the fourth determining module is further configured to, in a case that the absolute value of the second difference is smaller than or equal to the minimum value of the angle increment, determine that the current cumulative change angle is equal to the previous cumulative change angle. In this case, it is not necessary to compare and determine the magnitude relationship between the absolute value of the current cumulative change angle and the angle threshold.
In another embodiment of the application, the second building module includes a fourth determining submodule, a calculating submodule, and a building submodule, the fourth determining submodule is configured to determine a minimum value of an angle increment, the calculating submodule is configured to calculate the second length according to the minimum value of the angle increment and the first length, and the building submodule is configured to build the cumulative detection matrix according to the second length. The minimum value of the angle increment is denoted as Delta _ angle, the unit can be rad, the second length is denoted as Nwin02, the formula for calculating the second length is Nwin02 ═ Nwin × Delta _ angle ÷ (pi ÷ 2), from the calculated second length, the cumulative monitoring matrix is constructed, and the heading angle can be subsequently added to the cumulative monitoring matrix.
Of course, the method of constructing the cumulative detection matrix in the present application is not limited to the above method, and may be other suitable methods.
Specifically, in another embodiment of the present application, the fourth determining submodule is further configured to obtain a minimum start-stop time of the movable device, a maximum moving speed of the movable device, a radius of a curve where a turn is located corresponding to a turning angle of the movable device, and a heading angle null shift error value of the inertial measurement unit, and the fourth determining submodule is further configured to determine the minimum value of the angle increment according to the minimum start-stop time, the maximum moving speed, the radius of the curve, and the heading angle null shift error value. The minimum start-stop time of the movable equipment is recorded as Tmax, the maximum moving speed of the movable equipment is recorded as Vmax, the radius of the curve is recorded as r, the course angle zero drift error value of the inertia measurement unit is recorded as Delta _ imu, the formula for calculating the minimum value of the angle increment is that Delta _ angle is larger than or equal to max (Tmax multiplied by Vmax/rTmax multiplied by Delta _ imu, max represents the maximum value, the minimum value of the angle increment is related to model parameters of the inertia measurement unit and the calibration effect, the minimum start-stop time and the maximum moving speed of the movable equipment are hardware parameters of the movable equipment, and the radius r of the curve is determined by actually laying a guide rail.
In still another embodiment of the present application, the apparatus further includes a second obtaining unit configured to obtain a predetermined angle of a curve corresponding to the turning of the movable device before determining whether the movable device is in a state in which the turning action has been completed based on at least the first difference, a third determining unit configured to determine a maximum error angle generated at the time of construction of the curve, and a fourth determining unit configured to determine the angle threshold based on the predetermined angle, the maximum error angle, and a weight coefficient, wherein the weight coefficient is between 1.5 and 3. In this embodiment, the angle threshold can be further accurately determined.
In a practical specific application, due to actual building differences, a built wall surface included angle has a certain deviation from a CAD drawing, which may not be exactly pi/2, as shown in fig. 4(a) and fig. 4(b), a1 is smaller than pi/2, a2 is larger than pi/2, so that a predetermined angle of a curve corresponding to a turning of a mobile device, a maximum error angle of the curve generated during building can be obtained, and a weight coefficient is used to determine an angle threshold, the angle threshold can be denoted as threo _ corner, a weight coefficient is denoted as weight, the maximum error angle is denoted as error _ corner, and a formula for calculating the angle threshold is denoted as threo _ corner ═ pi ÷ 2-weight × error _ corner.
In another embodiment of the present application, the first obtaining unit includes a second obtaining module, a third obtaining module, a calibration module and a fourth calculating module, the second obtaining module is configured to obtain first data obtained by detecting an accelerometer in the inertial measurement unit, the third obtaining module is configured to obtain second data obtained by detecting a gyroscope in the inertial measurement unit, the calibration module is configured to calibrate the second data by using the first data to obtain calibrated second data, the fourth calculating module is configured to calculate a second difference between the first data and the calibrated second data, the course angle is calculated by using a complementary second-order fusion algorithm, a complementary filtering algorithm, a Kalman algorithm (KF for short), an Extended Kalman Filter (EKF for short) or an Unscented Kalman Filter (UKF for short).
The accelerometer has larger noise, more obvious vibration influence than the gyroscope, and not high reliability in a short time, although the gyroscope has small noise, the integral is discrete, and the long-time integral can drift, so that the first data obtained by the detection of the accelerometer is used for calibrating the second data obtained by the detection of the gyroscope, and accurate second data can be obtained.
In another embodiment of the present application, the mobile device is a mobile platform for intelligently building an exterior wall. The mobile platform which adopts the intelligent building of the outer wall can operate the actuators on the mobile platform to carry out work, such as a robot, and can be any other feasible mobile platform, and a person skilled in the art can select a suitable mobile platform according to actual conditions.
In order to make the technical solutions of the present application more clearly understood by those skilled in the art, the technical solutions and technical effects of the present application will be described below with reference to specific embodiments.
Examples
The mobile platform for intelligently building the outer wall needs to monitor the track state of the mobile platform in real time (whether the mobile platform is in a state of finishing turning action, and when the mobile platform finishes turning action and enters next guidance again), the running track is as shown in fig. 1, two types of counterclockwise and clockwise exist, an inertia measurement unit is installed on the mobile platform, and the mobile platform state detection process is as shown in fig. 6:
firstly, acquiring a course angle of the mobile platform detected by the inertial measurement unit in real time, and detecting whether the mobile platform is in a state of finishing turning action by adopting a sliding window matrix;
if the mobile platform is in a state of finishing the turning action, finishing the detection by adopting the accumulative detection matrix;
if the mobile platform is in a state of not completing turning action, detecting by adopting an accumulative detection matrix;
detecting whether the movable platform is in a state of finishing turning action by adopting an accumulation detection matrix;
the specific process of detecting whether the movable platform is in the state of finishing the turning action by adopting the accumulation detection matrix is as follows:
adding the course angle into the accumulated detection matrix, adding one course angle at each end of the accumulated detection matrix, deleting a numerical value at the other end of the accumulated detection matrix, and calculating a second difference value of two course angles at two ends of the accumulated detection matrix;
comparing the absolute value of the second difference with the minimum value of the angle increment;
if the absolute value of the second difference is smaller than or equal to the minimum value of the angle increment, the current accumulated change angle is equal to the previous accumulated change angle;
if the absolute value of the second difference is larger than the minimum value of the angle increment, accumulating the change angle;
judging whether the mobile platform is in a state of finishing turning action;
if the absolute value of the current accumulated change angle is larger than the angle threshold, determining that the mobile platform is in a state of finishing the turning action, and finishing the whole process;
and if the mobile platform is in a state of not finishing the turning action, detecting by adopting the accumulative detection matrix again.
The scheme can be suitable for any scene that whether the two-dimensional plane detects the turning motion of pi/2 or not, in the scheme, the IMU is installed on the movable platform, the course angle is obtained subsequently, the course angle is subjected to difference processing by adopting a sliding window algorithm, and whether the movable platform is in the state of finishing the turning motion or not is determined according to the difference, so that the problem that the accumulated error exists in the course angle calculation due to the fact that the IMU in the prior art has a null shift phenomenon is solved, and the accuracy of judging whether the movable platform is in the state of finishing the turning motion or not is guaranteed.
The embodiment also provides the detection methodAnd (3) verifying, specifically verifying in two test scenes: (1) controlling the mobile platform to sequentially pass through three curves; (2) and controlling the mobile platform to stay at the curve for a period of time and then to continue to move forwards to finish the turning action. FIGS. 7(a) and 7(b) are schematic diagrams of the movable platform completing three curves at a time, the actual test data and the completed turn maneuver markers are shown in FIGS. 7(a) and 7(b), gm/s2The abscissa in fig. 7(a) and 7(b) represents points collected during a period of time in which a specific mobile platform moves, for example, 500 represents 500 sampling points collected when the mobile platform moves for 50 milliseconds, 1000 represents 1000 sampling points collected when the mobile platform moves for 100 milliseconds, and so on, and in fig. 7(a), acc represents an acceleration real-time measurement value, acc-x, acc-y, acc-z respectively represent three-axis real-time measurement values of acceleration, acc-x represents an acceleration x-axis real-time measurement value, acc-y represents an acceleration y-axis real-time measurement value, acc-z represents an acceleration y-axis real-time measurement value, gyro represents a gyro real-time measurement value, gyro-x, gyro-y, gyro-z respectively represent three-axis real-time measurement values of gyro, gyro-x represents a real-time measurement value of an x axis of the gyroscope, gyro-y represents a real-time measurement value of a y axis of the gyroscope, gyro-z represents a real-time measurement value of a z axis of the gyroscope, bias-gyro represents a self-calibration zero drift of the real-time gyroscope, and three axes in bias-gyro represent a self-calibration zero drift of the real-time gyroscope; yaw-mahny in FIG. 7(b) represents the course angle obtained in real time; and the flag-corner represents the turning action completion state of the movable platform through joint detection according to the course angle, the joint detection is to adopt a sliding window matrix and an accumulated detection matrix for detection, 1 represents that the movable platform is in a state of completing the turning action, and 0 represents that the movable platform is in a state of not completing the turning action.
Fig. 7(c) and 7(d) are schematic diagrams of controlling the movable platform to stay at a curve for a period of time and then to continue to move forward and to be in a state where a turning action has been completed, actual test data and a turning action completion flag are shown in fig. 7(c) and 7(d), and the test according to the above embodiment illustrates that it is effective for the present application to determine whether the movable platform is in a state where a turning action has been completed.
The device for detecting the state of the movable equipment comprises a processor and a memory, wherein the first acquiring unit, the first constructing unit, the updating unit, the first calculating unit, the first determining unit and the like are stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor comprises a kernel, and the kernel calls the corresponding program unit from the memory. The kernel can be set to be one or more, and the accuracy of judging the state of the mobile equipment is improved by adjusting the kernel parameters.
The memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip.
An embodiment of the present invention provides a storage medium on which a program is stored, the program implementing the above-described method for detecting a state of a mobile device when executed by a processor.
The embodiment of the invention provides a processor, which is used for running a program, wherein the detection method of the state of the movable equipment is executed when the program runs.
The embodiment of the invention provides a mobile device, which comprises a processor, a memory and a program which is stored on the memory and can run on the processor, wherein the processor at least realizes the following steps when executing the program:
step S101, acquiring a course angle of the movable equipment detected by the inertial measurement unit in real time;
step S102, adding the course angle to a sliding window matrix with a window length of a first length, adding one course angle to one end of the sliding window matrix, and deleting a numerical value at the other end of the sliding window matrix;
step S103, calculating a first difference value of the two course angles at the two ends of the sliding window matrix;
and step S104, determining whether the movable equipment is in a state of finishing the turning action at least according to the first difference.
The removable device herein may be a server, a PC, a PAD, a handset, etc.
The present application further provides a computer program product adapted to perform a program of initializing at least the following method steps when executed on a data processing removable device:
step S101, acquiring a course angle of the movable equipment detected by the inertial measurement unit in real time;
step S102, adding the course angle to a sliding window matrix with a window length of a first length, adding one course angle to one end of the sliding window matrix, and deleting a numerical value at the other end of the sliding window matrix;
step S103, calculating a first difference value of the two course angles at the two ends of the sliding window matrix;
and step S104, determining whether the movable equipment is in a state of finishing the turning action at least according to the first difference.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the above-described division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit may be stored in a computer-readable storage medium if it is implemented in the form of a software functional unit and sold or used as a separate product. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer-readable device (which may be a personal computer, a server, or a network-readable device) to perform all or part of the steps of the above methods according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
From the above description, it can be seen that the above-described embodiments of the present application achieve the following technical effects:
1) according to the method for detecting the state of the movable equipment, the Inertial Measurement Unit (IMU) is installed on the movable equipment, the course angle of the movable equipment detected by the Inertial Measurement Unit can be obtained in real time, then the course angle is added to one end of the sliding window matrix, and a numerical value of the other end of the sliding window matrix is deleted every time a navigation angle is added to one end of the sliding window matrix, so that the course angles can be stored in the sliding window matrix according to the principle of sequence, first in and first out, and then whether the movable equipment is in the state of finishing turning actions or not can be determined at least according to the calculated first difference value of the course angles at the two ends of the sliding window matrix. According to the method, the IMU is installed on the movable equipment, the course angle is obtained subsequently, difference processing is carried out on the course angle by adopting a sliding window algorithm, and whether the movable equipment is in the state of finishing turning action or not is determined according to the difference, so that the problem that accumulated errors exist in course angle calculation due to the fact that the IMU in the prior art has a null shift phenomenon is solved, and the accuracy of judging whether the movable equipment is in the state of finishing turning action or not is guaranteed.
2) The device for detecting the state of the movable equipment comprises an Inertial Measurement Unit (IMU), wherein an Inertial Measurement Unit (IMU) is installed on the movable equipment, a first acquisition Unit can acquire a course angle of the movable equipment detected by the Inertial Measurement Unit in real time, an updating Unit adds the course angle to one end of a sliding window matrix, and deletes a numerical value of the other end of the sliding window matrix every time a navigation angle is added to one end of the sliding window matrix, so that the course angles can be stored in the sliding window matrix according to the principle of sequence and first-in first-out, a first calculation Unit calculates a first difference value of the course angles at two ends of the sliding window matrix, and a first determination Unit can determine whether the movable equipment is in a state of finishing turning actions according to the first difference value. In the device, the IMU is arranged on the movable equipment, the course angle is acquired subsequently, the difference processing is carried out on the course angle by adopting a sliding window algorithm, and whether the movable equipment is in the state of finishing the turning action is determined according to the difference, so that the problem that the accumulated error exists in the course angle calculation caused by the zero drift phenomenon of the IMU in the prior art is solved, and the accuracy of judging whether the movable equipment is in the state of finishing the turning action is ensured.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (13)

1. A method of detecting a state of a mobile device, the mobile device having an inertial measurement unit mounted thereon, the method comprising:
acquiring the course angle of the movable equipment detected by the inertial measurement unit in real time;
adding the course angle into a sliding window matrix with the window length being a first length, adding one course angle at each end of the sliding window matrix, and deleting a numerical value at the other end of the sliding window matrix;
calculating a first difference value of the two course angles at the two ends of the sliding window matrix;
determining whether the movable device is in a state in which a turning action has been completed based at least on the first difference.
2. The method of claim 1, wherein prior to adding the heading angle to the sliding window matrix of the first length, the method further comprises: constructing the sliding window matrix with the window length being the first length, and initializing the sliding window matrix,
constructing the sliding window matrix with the window length being the first length, and initializing the sliding window matrix, including:
acquiring the radius of a curve where the movable equipment turns, the maximum movement speed of the movable equipment and the sampling frequency of the inertia measurement unit;
calculating the first length according to the radius of the curve, the maximum movement speed and the sampling frequency;
and constructing the sliding window matrix according to the first length.
3. The method of claim 2, wherein calculating a first difference of two of the heading angles at two ends of the sliding window matrix comprises:
determining whether the initialized numerical value exists in the sliding window matrix;
and under the condition that the numerical value obtained by initialization does not exist, calculating the difference value of the two numerical values at the two ends of the sliding window matrix to obtain the first difference value.
4. The method of any of claims 1-3, wherein determining whether the mobile device is in a state that has completed a turning maneuver based at least on the first difference value comprises:
determining that the movable device is in a state in which a turning action has been completed in a case where an absolute value of the first difference is greater than an angle threshold.
5. The method of claim 4, wherein determining whether the mobile device is in a state that has completed a turning maneuver based at least on the first difference value, further comprises:
determining that the movable device is in a state of incomplete turning action if the absolute value of the first difference is less than or equal to the angle threshold;
constructing a cumulative detection matrix with a window length of a second length, and initializing the cumulative detection matrix,
adding the course angle into the accumulated detection matrix, and deleting a numerical value at the other end of the accumulated detection matrix every time one course angle is added at one end of the accumulated detection matrix;
calculating a second difference value of the two heading angles at the two ends of the accumulated detection matrix;
determining whether the movable device is in a state of having completed a turning action according to the second difference value and the first difference value.
6. The method of claim 5, wherein determining whether the mobile device is in a state that has completed a turning maneuver based on the second difference and the first difference comprises:
determining whether an absolute value of the second difference is greater than an angle increment minimum;
determining a current cumulative change angle of the mobile device as a sum of the first difference and the second difference if the absolute value of the second difference is greater than the minimum value of the angle increment;
determining that the movable device is in a state in which a turning action has been completed in a case where the current absolute value degree of the cumulative change angle is greater than the angle threshold.
7. The method of claim 5, wherein constructing the cumulative detection matrix with the window length of the second length comprises:
determining the minimum value of the angle increment;
calculating the second length according to the minimum value of the angle increment and the first length;
and constructing the accumulated detection matrix according to the second length.
8. The method of claim 7, wherein determining the angular increment minimum comprises:
acquiring the minimum start-stop time of the movable equipment, the maximum movement speed of the movable equipment, the radius of a curve where a turn is located corresponding to the turn angle of the movable equipment and a course angle zero drift error value of the inertia measurement unit;
and determining the minimum angle increment according to the minimum start-stop time, the maximum movement speed, the radius of the curve and the heading angle null shift error value.
9. The method of claim 4, wherein prior to determining whether the mobile device is in a state that has completed a turning maneuver based at least on the first difference value, the method further comprises:
acquiring a preset angle of a curve corresponding to the turning of the movable equipment;
determining a maximum error angle of the curve generated during construction;
and determining the angle threshold value according to the preset angle, the maximum error angle and a weight coefficient, wherein the weight coefficient is between 1.5 and 3.
10. The method according to any one of claims 1 to 3, wherein acquiring, in real time, the heading angle of the movable device detected by the inertial measurement unit comprises:
acquiring first data obtained by detecting an accelerometer in the inertial measurement unit;
acquiring second data obtained by detecting a gyroscope in the inertial measurement unit;
calibrating second data by using the first data to obtain calibrated second data;
and calculating the course angle by adopting a complementary second-order fusion algorithm, a complementary filtering algorithm, a Kalman algorithm, an extended Kalman algorithm or an unscented Kalman algorithm according to the first data and the calibrated second data.
11. An apparatus for detecting a state of a movable device, wherein an inertial measurement unit is mounted on the movable device, the apparatus comprising:
a first acquisition unit; the system is used for acquiring the course angle of the movable equipment detected by the inertial measurement unit in real time;
an update unit; the system comprises a sliding window matrix, a first navigation unit, a second navigation unit and a third navigation unit, wherein the sliding window matrix is used for adding the course angle to the sliding window matrix with the first length, and deleting a numerical value at the other end of the sliding window matrix when adding one course angle at one end of the sliding window matrix;
the first calculation unit is used for calculating a first difference value of two course angles at two ends of the sliding window matrix;
a first determination unit; for determining whether the movable device is in a state in which a turning action has been completed based at least on the first difference.
12. A computer-readable storage medium characterized in that the storage medium includes a stored program, wherein the program executes the method of detecting a state of a removable device according to any one of claims 1 to 10.
13. A processor, characterized in that the processor is configured to run a program, wherein the program is configured to execute the method for detecting the status of a mobile device according to any one of claims 1 to 10 when running.
CN202011062910.4A 2020-09-30 2020-09-30 Method and device for detecting movable equipment state and computer readable storage medium Active CN114322918B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011062910.4A CN114322918B (en) 2020-09-30 2020-09-30 Method and device for detecting movable equipment state and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011062910.4A CN114322918B (en) 2020-09-30 2020-09-30 Method and device for detecting movable equipment state and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN114322918A true CN114322918A (en) 2022-04-12
CN114322918B CN114322918B (en) 2024-02-13

Family

ID=81032699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011062910.4A Active CN114322918B (en) 2020-09-30 2020-09-30 Method and device for detecting movable equipment state and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN114322918B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107289930A (en) * 2016-04-01 2017-10-24 南京理工大学 Pure inertia automobile navigation method based on MEMS Inertial Measurement Units
CN107677267A (en) * 2017-08-22 2018-02-09 重庆邮电大学 Indoor pedestrian navigation course feedback modifiers method based on MEMS IMU
CN107796387A (en) * 2016-08-30 2018-03-13 富士通株式会社 Localization method, positioner and electronic equipment
CN108253961A (en) * 2016-12-29 2018-07-06 北京雷动云合智能技术有限公司 A kind of wheeled robot localization method based on IMU
WO2019047637A1 (en) * 2017-09-08 2019-03-14 中兴通讯股份有限公司 Localization method and apparatus, mobile terminal and computer-readable storage medium
CN110057354A (en) * 2019-03-11 2019-07-26 杭州电子科技大学 One kind being based on the modified geomagnetic matching navigation method of magnetic declination
CN110956665A (en) * 2019-12-18 2020-04-03 中国科学院自动化研究所 Vehicle turning track bidirectional calculation method, system and device
CN111504315A (en) * 2020-06-03 2020-08-07 北京四方继保工程技术有限公司 Isolation switch attitude sensor integral measurement method based on abrupt change starting

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107289930A (en) * 2016-04-01 2017-10-24 南京理工大学 Pure inertia automobile navigation method based on MEMS Inertial Measurement Units
CN107796387A (en) * 2016-08-30 2018-03-13 富士通株式会社 Localization method, positioner and electronic equipment
CN108253961A (en) * 2016-12-29 2018-07-06 北京雷动云合智能技术有限公司 A kind of wheeled robot localization method based on IMU
CN107677267A (en) * 2017-08-22 2018-02-09 重庆邮电大学 Indoor pedestrian navigation course feedback modifiers method based on MEMS IMU
WO2019047637A1 (en) * 2017-09-08 2019-03-14 中兴通讯股份有限公司 Localization method and apparatus, mobile terminal and computer-readable storage medium
CN110057354A (en) * 2019-03-11 2019-07-26 杭州电子科技大学 One kind being based on the modified geomagnetic matching navigation method of magnetic declination
CN110956665A (en) * 2019-12-18 2020-04-03 中国科学院自动化研究所 Vehicle turning track bidirectional calculation method, system and device
CN111504315A (en) * 2020-06-03 2020-08-07 北京四方继保工程技术有限公司 Isolation switch attitude sensor integral measurement method based on abrupt change starting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾庆化: "基于UWB 优化配置的室内行人导航方法", 中国惯性技术学报, vol. 25, no. 2, pages 1 - 6 *

Also Published As

Publication number Publication date
CN114322918B (en) 2024-02-13

Similar Documents

Publication Publication Date Title
JP4170284B2 (en) Method and system for estimating moving direction of moving object
KR100772915B1 (en) Apparatus and method for correcting bias of gyroscope on a moving robot
JP6285628B2 (en) Mobile terminal, position estimation method, and computer-readable recording medium
CN111721288B (en) Zero offset correction method and device for MEMS device and storage medium
US20240312061A1 (en) High-precision odometry estimation method based on double-layer filtering framework
CN112577521A (en) Combined navigation error calibration method and electronic equipment
CN105865452A (en) Mobile platform pose estimation method based on indirect Kalman filtering
CN106767767A (en) A kind of micro-nano multimode star sensor system and its data fusion method
CN111949929B (en) Design method of multi-sensor fusion quadruped robot motion odometer
CN112082547B (en) Method and device for optimizing integrated navigation system, electronic equipment and storage medium
CN108748220B (en) Foot-machine following control method and control system based on inertial measurement unit
CN110361003B (en) Information fusion method, apparatus, computer device and computer readable storage medium
CN114046800A (en) High-precision mileage estimation method based on double-layer filtering framework
CN114964226B (en) Four-rotor gesture resolving method of noise self-adaptive strong tracking extended Kalman filter
CN112147995B (en) Robot motion control method and device, robot and storage medium
CN104121930B (en) A kind of compensation method based on the MEMS gyro drift error adding table coupling
CN113498505A (en) Modeling pose of tracked object by predicting sensor data
CN110595434A (en) Quaternion fusion attitude estimation method based on MEMS sensor
CN114322918A (en) Method and device for detecting state of movable equipment and computer readable storage medium
CN112859139B (en) Gesture measurement method and device and electronic equipment
CN112904884A (en) Method and device for tracking trajectory of foot type robot and readable storage medium
CN111141283A (en) Method for judging advancing direction through geomagnetic data
CN106595701A (en) Large azimuth misalignment angle aligning method based on additive quaternion
CN114964262A (en) Robot positioning method based on multi-source fusion
CN114789439B (en) Slope positioning correction method, device, robot and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant