CN110916577B - Robot static state judgment method and device and robot - Google Patents
Robot static state judgment method and device and robot Download PDFInfo
- Publication number
- CN110916577B CN110916577B CN201911304437.3A CN201911304437A CN110916577B CN 110916577 B CN110916577 B CN 110916577B CN 201911304437 A CN201911304437 A CN 201911304437A CN 110916577 B CN110916577 B CN 110916577B
- Authority
- CN
- China
- Prior art keywords
- acceleration
- angular velocity
- value
- antisymmetric matrix
- robot
- 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.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P13/00—Indicating or recording presence, absence, or direction, of movement
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/18—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/06—Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
The application discloses a method and a device for judging a static state and a robot. The robot comprises an inertia measurement unit, wherein the inertia measurement unit obtains the angular speed and the acceleration of the robot; the method comprises the following steps: obtaining an antisymmetric matrix of angular velocity and an antisymmetric matrix of acceleration; respectively obtaining eigenvalues of an anti-symmetric matrix of angular velocity and eigenvalues of an anti-symmetric matrix of acceleration; and when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is judged to be smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is judged to be smaller than a second preset threshold value, determining that the robot is in a static state. Because the mode value of the characteristic value calculated by the antisymmetric matrix achieves the filtering process, the influence of zero offset and offset of the IMU is filtered, and the filtered data is obtained and is not influenced by the zero offset and the drift of the IMU. The threshold value does not need to be adjusted every time, the module value of the characteristic value and the threshold value which are involved in comparison are the module value of the characteristic value of the antisymmetric matrix, and have no relation with the zero offset and the drift characteristics of the IMU, so that the universality is better, and the obtained judgment result is more accurate.
Description
Technical Field
The application relates to the technical field of intelligent household appliances, in particular to a method and a device for judging a static state and a robot.
Background
When the sweeping robot works, the motion state of the robot, especially the static state, needs to be judged, and practical value exists.
When the sweeping robot is in a static state, some sensors can be calibrated or result synchronization can be carried out according to the static state. For example, a gyroscope Zero offset, Zero Velocity correction (ZUPT), Zero Velocity navigation integration, etc. in an Inertial Measurement Unit (IMU) may be calibrated in a stationary state, and the IMU and the radar may be easily data synchronized in a stationary state.
Therefore, there is a need in the art to provide a method for determining the static state of the sweeping robot.
Disclosure of Invention
The application provides a method and a device for judging the static state of a robot and the robot, which can accurately judge the static state of the robot and do not depend on the parameters of an inertia measurement unit.
The application provides a method for judging the static state of a robot, wherein the robot comprises an inertia measurement unit, and the inertia measurement unit is used for obtaining the angular velocity and the acceleration of the robot;
the method comprises the following steps:
obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of the acceleration;
respectively obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration;
and when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is judged to be smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is judged to be smaller than a second preset threshold value, determining that the robot is in a static state.
Preferably, the angular velocity comprises three-axis angular velocity, and the acceleration comprises three-axis acceleration;
judging whether the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold, specifically comprising:
and judging that the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value.
Preferably, the method further comprises the following steps:
obtaining a static triaxial angular velocity through an inertia measurement unit when the robot is in a static state in advance;
obtaining three eigenvalues of an antisymmetric matrix of the static triaxial angular velocity;
taking the maximum value of the module values of the three characteristic values of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold value.
Preferably, the method further comprises the following steps:
when the robot is in a static state, static triaxial acceleration is obtained through an inertia measurement unit in advance;
obtaining three eigenvalues of an antisymmetric matrix of the static triaxial acceleration;
and taking the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold value.
The application also provides a device for judging the static state of the robot, which is applied to the robot, wherein the robot comprises an inertia measuring unit, and the inertia measuring unit is used for obtaining the angular velocity and the acceleration of the robot; the device includes:
an antisymmetric matrix obtaining unit for obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of the acceleration;
a eigenvalue obtaining unit for obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration, respectively;
and the judging unit is used for determining that the robot is in a static state when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value.
Preferably, the angular velocity comprises three-axis angular velocity, and the acceleration comprises three-axis acceleration;
the judging unit comprises a judging subunit;
the judgment subunit is configured to judge that a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
Preferably, the method further comprises the following steps: a first preset threshold obtaining unit;
the first preset threshold value obtaining unit is used for obtaining the static triaxial angular velocity through the inertia measuring unit when the robot is in a static state in advance; obtaining three eigenvalues of an antisymmetric matrix of the static triaxial angular velocity; taking the maximum value of the module values of the three characteristic values of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold value.
Preferably, the method further comprises the following steps: a second preset threshold obtaining unit;
the second preset threshold obtaining unit is used for obtaining static triaxial acceleration through the inertia measuring unit when the robot is in a static state in advance; obtaining three eigenvalues of an antisymmetric matrix of the static triaxial acceleration; and taking the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold value.
The present application further provides a robot, comprising: the sweeping mechanism, the inertia measurement unit and the controller are arranged on the sweeping machine;
the inertial measurement unit is used for obtaining the acceleration and the angular velocity of the robot;
the controller is used for controlling the sweeping mechanism to sweep; also for obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of acceleration; respectively obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration; and when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value, determining that the robot is in a static state.
Preferably, the controller is specifically configured to determine that a maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and a maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
According to the technical scheme, the method has the following advantages that:
instead of directly determining the acceleration and the angular velocity with the corresponding threshold values, the respective module values of the eigenvalues of the antisymmetric matrices of the acceleration and the angular velocity are compared with the corresponding threshold values, respectively. Because the module value of the characteristic value calculated by the antisymmetric matrix achieves the filtering process, the influence of zero offset and offset of the IMU can be filtered, and the filtered data is obtained and is not influenced by the zero offset and the drift of the IMU. Therefore, it is not necessary to adjust the threshold value every time. The module value and the threshold value of the characteristic value participating in comparison are both module values of the characteristic value of the antisymmetric matrix, so that the module value and the threshold value have no relation with zero offset and drift characteristics of the IMU basically, the universality is good, and the obtained judgment result is more accurate.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a flowchart of a method for determining a static state of a robot according to the present disclosure;
fig. 2 is a schematic view of a device for determining a static state of a robot according to the present application;
fig. 3 is a schematic diagram of a robot provided in the present application.
Detailed Description
One way to determine the resting state of the robot is to apply accelerationThe magnitude of the local gravity g, if the criterion is satisfied(β is a preset acceleration threshold); simultaneously comparing angular velocities of gyroscope outputs (α is a preset angular velocity threshold), the robot is considered to be stationary.
However, the current judgment method based on the module values of the acceleration and the angular velocity is difficult to adapt to different IMUs, because the zero offset and the drift characteristics of each IMU are different, the selection of the threshold is influenced by the parameters of the IMU, and different IMUs need to set different thresholds.
In order to make the technical solutions of the present application better understood, 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 a part of the embodiments of the present application, and not all of the 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 understood that the terms "first", "second", "third", and "fourth" in the embodiments of the present application are for convenience of description only, and do not limit the present application.
The method comprises the following steps:
referring to fig. 1, the figure is a flowchart of a method for determining a static state of a robot according to the present application.
According to the method for judging the static state of the robot, the robot comprises an inertia measurement unit, and the inertia measurement unit is used for obtaining the angular velocity and the acceleration of the robot;
the method comprises the following steps:
s101: obtaining an anti-symmetric matrix of angular velocity and an anti-symmetric matrix of acceleration;
the angular velocity includes three-axis angular velocity (including angular velocities of x, y, and z axes that are orthogonal to each other), and the acceleration includes three-axis acceleration (including acceleration of x, y, and z axes that are orthogonal to each other).
Inertial navigation utilizes angular velocities of x, y and z axes measured by an Inertial Measurement Unit (IMU)Acceleration of x, y and z axesAngular motion information and linear motion information of the robot are respectively reflected.
S102: obtaining respectively antisymmetric matrixes C of the angular velocitiesgyroCharacteristic value of (a) and an antisymmetric matrix C of said accelerationaccThe characteristic value of (2).
Since the acceleration and the angular velocity are three-axis correspondences, the anti-symmetric matrix for the angular velocity and the anti-symmetric matrix for the acceleration are 3 × 3 matrices, as shown below.
obtaining the eigenvalues from the matrix is a well-established technique and will not be described herein.
S103: and when the mode value of the characteristic value of the antisymmetric matrix of the angular velocity is judged to be smaller than a first preset threshold value and the characteristic value of the antisymmetric matrix of the acceleration is judged to be smaller than a second preset threshold value, determining that the robot is in a static state.
The first preset threshold value is a module value of a characteristic value of an anti-symmetric matrix of angular velocity obtained in advance when the robot is in a stationary state, and similarly, the second preset threshold value is a module value of a characteristic value of an anti-symmetric matrix of acceleration obtained in advance when the robot is in a stationary state.
In the embodiment of the present application, it is not limited whether the first preset threshold includes one or three, nor is it limited whether the second preset threshold includes one or three.
The case where the preset threshold is three is first described below.
When the first preset threshold includes three, it may be that when the robot is stationary, the module values of the three eigenvalues of the antisymmetric matrix of angular velocities serve as the threshold. Similarly, when the second preset threshold includes three, it may be that the robot is stationary, and the module values of the three eigenvalues of the antisymmetric matrix of the acceleration are used as the threshold.
In practical application, whether the robot is in a static state or not is judged, the module values of the eigenvalues of the antisymmetric matrix of the acceleration can be solved according to the acceleration obtained in real time, the module values of the solved eigenvalues are compared with the module values of the three eigenvalues which are obtained in static state in advance one by one, and similarly, the acceleration is also compared between the module values of the eigenvalues which are obtained in real time and the module values of the three eigenvalues which are obtained in static state in advance one by one. And when the module values of the characteristic values corresponding to the acceleration are all smaller than the corresponding threshold values and the module values of the characteristic values corresponding to the angular velocity are all smaller than the corresponding threshold values, judging that the robot is in a static state.
The case where the preset threshold is one is described below.
First, an acquisition mode when a preset threshold value is one will be described.
The process of obtaining the first preset threshold corresponding to the angular velocity will be described.
Obtaining a static triaxial angular velocity through an inertia measurement unit when the robot is in a static state in advance;
obtaining the module values of three eigenvalues of the antisymmetric matrix of the static triaxial angular velocity;
taking the maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold lambdagTHR。
The process of obtaining the second preset threshold corresponding to the acceleration is described below.
When the robot is in a static state, static triaxial acceleration is obtained through an inertia measurement unit in advance;
obtaining the module values of three eigenvalues of an antisymmetric matrix of the static triaxial acceleration;
taking the maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold lambdaaTHR。
Since the first preset threshold is the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the angular velocity, and the second preset threshold is the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the acceleration, it is necessary to determine that the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the angular velocity is smaller than the first preset threshold, and the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the acceleration is smaller than the second preset threshold when determining whether the robot is in a stationary state.
Antisymmetric matrix C corresponding to angular velocity and acceleration respectivelygyro、CaccRespectively obtain Cgyro、CaccThe modulus values of the three characteristic values are respectively lambdagyro=[λgx λgy λgz]、Cacc=[λax λay λaz]。
Using the modulus lambda of the maximum eigenvalue of the three eigenvalues respectivelygmax=Max(λgyro)、λamax=Max(λacc) As a decision variable.
When lambda isgmax<λgTHRAnd λamax<λaTHRAnd if so, determining that the robot is in a static state.
The method for judging the static state of the robot provided by the application compares the module values of the characteristic values of the antisymmetric matrixes of the acceleration and the angular velocity with the corresponding threshold values respectively, and does not directly judge the acceleration and the angular velocity with the corresponding threshold values respectively. Because the module value of the characteristic value calculated by the antisymmetric matrix achieves the filtering process, the influence of zero offset and offset of the IMU can be filtered, and the filtered data is obtained and is not influenced by the zero offset and the drift of the IMU. Therefore, it is not necessary to adjust the threshold value every time. The module value and the threshold value of the characteristic value participating in comparison are both module values of the characteristic value of the antisymmetric matrix, so that the module value and the threshold value have no relation with zero offset and drift characteristics of the IMU basically, the universality is good, and the obtained judgment result is more accurate.
In one implementation manner provided by the application, the maximum value in the module values of the eigenvalue of the antisymmetric matrix of the angular velocity can be compared with a first preset threshold value, and the maximum value in the module values of the antisymmetric matrix of the acceleration can be compared with a second preset threshold value. Therefore, by comparing the maximum values of the modulus values of the characteristic values, it can be better determined whether the robot is in a stationary state.
Based on the method for judging the static state of the robot provided by the above embodiment, the present application also provides a device for judging the static state of the robot, and the working principle of the device is described in detail below with reference to the accompanying drawings.
The embodiment of the device is as follows:
referring to fig. 2, the figure is a schematic diagram of a device for determining a static state of a robot according to the present application.
The device for judging the static state of the robot provided by the embodiment is applied to the robot, the robot comprises an inertia measurement unit, and the inertia measurement unit is used for obtaining the angular velocity and the acceleration of the robot; the device includes:
an antisymmetric matrix obtaining unit 201 for obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of the acceleration;
the angular velocity includes three-axis angular velocity (including angular velocities of x, y, and z axes that are orthogonal to each other), and the acceleration includes three-axis acceleration (including acceleration of x, y, and z axes that are orthogonal to each other).
A eigenvalue obtaining unit 202 for obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration, respectively;
since the acceleration and the angular velocity are corresponding to three axes, the anti-symmetric matrix of the angular velocity and the anti-symmetric matrix of the acceleration are 3 × 3 matrices.
The judging unit 203 is configured to determine that the robot is in a stationary state when a module value of a feature value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and a module value of a feature value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
The first preset threshold value is a module value of a characteristic value of an anti-symmetric matrix of angular velocity obtained in advance when the robot is in a stationary state, and similarly, the second preset threshold value is a module value of a characteristic value of an anti-symmetric matrix of acceleration obtained in advance when the robot is in a stationary state.
The judging unit comprises a judging subunit;
the judgment subunit is configured to judge that a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
Since the first preset threshold is the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the angular velocity, and the second preset threshold is the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the acceleration, it is necessary to determine that the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the angular velocity is smaller than the first preset threshold, and the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the acceleration is smaller than the second preset threshold when determining whether the robot is in a stationary state.
In one implementation manner, the apparatus provided in the embodiment of the present application may further include: a first preset threshold obtaining unit;
the first preset threshold value obtaining unit is used for obtaining the static triaxial angular velocity through the inertia measuring unit when the robot is in a static state in advance; obtaining the module values of three eigenvalues of the antisymmetric matrix of the static triaxial angular velocity; taking the maximum value of the module values of the three characteristic values of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold value.
In one implementation manner, the apparatus provided in the embodiment of the present application may further include: a second preset threshold obtaining unit;
the second preset threshold obtaining unit is used for obtaining static triaxial acceleration through the inertia measuring unit when the robot is in a static state in advance; obtaining the module values of three eigenvalues of an antisymmetric matrix of the static triaxial acceleration; and taking the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold value.
The device for judging the static state of the robot compares the mode values of the characteristic values of the antisymmetric matrixes of the acceleration and the angular velocity with the corresponding threshold values respectively, and does not directly judge the acceleration and the angular velocity with the corresponding threshold values respectively. Because the module value of the characteristic value calculated by the antisymmetric matrix achieves the filtering process, the influence of zero offset and offset of the IMU can be filtered, and the filtered data is obtained and is not influenced by the zero offset and the drift of the IMU. Therefore, it is not necessary to adjust the threshold value every time. The module value and the threshold value of the characteristic value participating in comparison are both module values of the characteristic value of the antisymmetric matrix, so that the module value and the threshold value have no relation with zero offset and drift characteristics of the IMU basically, the universality is good, and the obtained judgment result is more accurate.
In one implementation manner provided by the application, the maximum value in the module values of the eigenvalue of the antisymmetric matrix of the angular velocity can be compared with a first preset threshold value, and the maximum value in the module values of the antisymmetric matrix of the acceleration can be compared with a second preset threshold value. Therefore, by comparing the maximum values of the modulus values of the characteristic values, it can be better determined whether the robot is in a stationary state.
Based on the method and the device for judging the static state of the robot provided by the embodiment, the application also provides the robot, and the working principle of the robot is described in detail with reference to the attached drawings.
Robot embodiment:
referring to fig. 3, a schematic diagram of a robot provided by the present application is shown.
It should be noted that the robot may be a sweeping robot, or may be another robot, and the sweeping robot is described as an example below.
The embodiment provides a robot, includes: the sweeping mechanism 301, the inertia measurement unit 302 and the controller 303;
the inertial measurement unit 302 is used for obtaining the acceleration and the angular velocity of the robot;
the controller 303 is configured to control the sweeping mechanism 301 to sweep; also for obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of acceleration; respectively obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration; and when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value, determining that the robot is in a static state.
The controller 303 is specifically configured to determine that a maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold, and a maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
Since the first preset threshold is the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the angular velocity, and the second preset threshold is the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the acceleration, it is necessary to determine that the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the angular velocity is smaller than the first preset threshold, and the largest one of the module values of the three characteristic values of the anti-symmetric matrix of the acceleration is smaller than the second preset threshold when determining whether the robot is in a stationary state.
The case where the preset threshold is one is described below.
First, an acquisition mode when a preset threshold value is one will be described.
The process of obtaining the first preset threshold corresponding to the angular velocity will be described.
Obtaining a static triaxial angular velocity through an inertia measurement unit when the robot is in a static state in advance;
obtaining the module values of three eigenvalues of the antisymmetric matrix of the static triaxial angular velocity;
taking the maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold lambdagTHR。
The process of obtaining the second preset threshold corresponding to the acceleration is described below.
When the robot is in a static state, static triaxial acceleration is obtained through an inertia measurement unit in advance;
obtaining the module values of three eigenvalues of an antisymmetric matrix of the static triaxial acceleration;
taking the maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold lambdaaTHR。
The robot provided by the application compares the module values of the characteristic values of the antisymmetric matrixes of the acceleration and the angular velocity with the corresponding threshold values respectively, and does not directly judge the acceleration and the angular velocity with the corresponding threshold values respectively. Because the module value of the characteristic value calculated by the antisymmetric matrix achieves the filtering process, the influence of zero offset and offset of the IMU can be filtered, and the filtered data is obtained and is not influenced by the zero offset and the drift of the IMU. Therefore, it is not necessary to adjust the threshold value every time. The module value and the threshold value of the characteristic value participating in comparison are both module values of the characteristic value of the antisymmetric matrix, so that the module value and the threshold value have no relation with zero offset and drift characteristics of the IMU basically, the universality is good, and the obtained judgment result is more accurate.
In one implementation manner provided by the application, the maximum value in the module values of the eigenvalue of the antisymmetric matrix of the angular velocity can be compared with a first preset threshold value, and the maximum value in the module values of the antisymmetric matrix of the acceleration can be compared with a second preset threshold value. Therefore, by comparing the maximum values of the modulus values of the characteristic values, it can be better determined whether the robot is in a stationary state.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.
Claims (7)
1. The method for judging the static state of the robot is characterized in that the robot comprises an inertia measurement unit, wherein the inertia measurement unit is used for obtaining the angular velocity and the acceleration of the robot;
the method comprises the following steps:
obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of the acceleration;
respectively obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration;
when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is judged to be smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is judged to be smaller than a second preset threshold value, the robot is determined to be in a static state;
the angular velocity comprises a three-axis angular velocity, and the acceleration comprises a three-axis acceleration;
judging whether the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold, specifically comprising: and judging that the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value.
2. The method of claim 1, further comprising:
obtaining a static triaxial angular velocity through an inertia measurement unit when the robot is in a static state in advance;
obtaining three eigenvalues of an antisymmetric matrix of the static triaxial angular velocity;
taking the maximum value of the module values of the three characteristic values of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold value.
3. The method of claim 2, further comprising:
when the robot is in a static state, static triaxial acceleration is obtained through an inertia measurement unit in advance;
obtaining three eigenvalues of an antisymmetric matrix of the static triaxial acceleration;
and taking the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold value.
4. The device for judging the static state of the robot is characterized by being applied to the robot, wherein the robot comprises an inertia measuring unit, and the inertia measuring unit is used for obtaining the angular velocity and the acceleration of the robot; the device includes:
an antisymmetric matrix obtaining unit for obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of the acceleration;
a eigenvalue obtaining unit for obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration, respectively;
the judging unit is used for determining that the robot is in a static state when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value;
the angular velocity comprises a three-axis angular velocity, and the acceleration comprises a three-axis acceleration;
the judging unit comprises a judging subunit;
the judgment subunit is configured to judge that a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold and a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
5. The apparatus of claim 4, further comprising: a first preset threshold obtaining unit;
the first preset threshold value obtaining unit is used for obtaining the static triaxial angular velocity through the inertia measuring unit when the robot is in a static state in advance; obtaining three eigenvalues of an antisymmetric matrix of the static triaxial angular velocity; taking the maximum value of the module values of the three characteristic values of the antisymmetric matrix of the static triaxial angular velocity as the first preset threshold value.
6. The apparatus of claim 5, further comprising: a second preset threshold obtaining unit;
the second preset threshold obtaining unit is used for obtaining static triaxial acceleration through the inertia measuring unit when the robot is in a static state in advance; obtaining three eigenvalues of an antisymmetric matrix of the static triaxial acceleration; and taking the maximum value of the modulus values of the three characteristic values of the antisymmetric matrix of the static triaxial acceleration as the second preset threshold value.
7. A robot, comprising: the sweeping mechanism, the inertia measurement unit and the controller are arranged on the sweeping machine;
the inertial measurement unit is used for obtaining the acceleration and the angular velocity of the robot;
the controller is used for controlling the sweeping mechanism to sweep; also for obtaining an antisymmetric matrix of the angular velocity and an antisymmetric matrix of acceleration; respectively obtaining eigenvalues of the antisymmetric matrix of the angular velocity and eigenvalues of the antisymmetric matrix of the acceleration; when the module value of the characteristic value of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold value and the module value of the characteristic value of the antisymmetric matrix of the acceleration is smaller than a second preset threshold value, determining that the robot is in a static state;
the angular velocity comprises a three-axis angular velocity, and the acceleration comprises a three-axis acceleration;
the controller is specifically configured to determine that a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the angular velocity is smaller than a first preset threshold, and that a maximum value of the modulus values of the three eigenvalues of the antisymmetric matrix of the acceleration is smaller than a second preset threshold.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911304437.3A CN110916577B (en) | 2019-12-17 | 2019-12-17 | Robot static state judgment method and device and robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911304437.3A CN110916577B (en) | 2019-12-17 | 2019-12-17 | Robot static state judgment method and device and robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110916577A CN110916577A (en) | 2020-03-27 |
CN110916577B true CN110916577B (en) | 2021-11-09 |
Family
ID=69864118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911304437.3A Active CN110916577B (en) | 2019-12-17 | 2019-12-17 | Robot static state judgment method and device and robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110916577B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112577527B (en) * | 2021-02-25 | 2021-09-17 | 北京主线科技有限公司 | Vehicle-mounted IMU error calibration method and device |
CN115575923B (en) * | 2022-12-08 | 2023-03-28 | 千巡科技(深圳)有限公司 | Ground robot static judgment method, system, device and storage medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7142981B2 (en) * | 2003-08-05 | 2006-11-28 | The Boeing Company | Laser range finder closed-loop pointing technology of relative navigation, attitude determination, pointing and tracking for spacecraft rendezvous |
CN107813310B (en) * | 2017-11-22 | 2020-10-20 | 浙江优迈德智能装备有限公司 | Multi-gesture robot control method based on binocular vision |
CN108363959B (en) * | 2018-01-22 | 2021-12-10 | 河海大学常州校区 | Table tennis or badminton sport motion identification method |
CN108388187A (en) * | 2018-04-12 | 2018-08-10 | 广东水利电力职业技术学院(广东省水利电力技工学校) | A kind of robot control system |
CN110398245B (en) * | 2019-07-09 | 2021-04-16 | 武汉大学 | Indoor pedestrian navigation attitude estimation method based on foot-worn inertial measurement unit |
-
2019
- 2019-12-17 CN CN201911304437.3A patent/CN110916577B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN110916577A (en) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6104169B2 (en) | Device and method for gyro sensor calibration | |
CN110916577B (en) | Robot static state judgment method and device and robot | |
CN108195404B (en) | Calibration method for zero drift of gyroscope | |
EP1593931A4 (en) | Difference correcting method for posture determining instrument and motion measuring instrument | |
JP2006133230A (en) | Inclination sensor and utilization method therefor | |
US20190025056A1 (en) | Electrostatic offset correction | |
CN108827301A (en) | A kind of improvement error quaternion Kalman filtering robot pose calculation method | |
CN104215229B (en) | RTK device adjusting method, RTK device adjusting system and RTK measuring method | |
CN107782304B (en) | Mobile robot positioning method and device, mobile robot and storage medium | |
CA2957933A1 (en) | Earthmoving machine comprising weighted state estimator | |
CN108663067A (en) | A kind of adaptive calibration method and system of motion sensor | |
CN110132271B (en) | Adaptive Kalman filtering attitude estimation algorithm | |
WO2022222938A1 (en) | Motion state monitoring-based adaptive horizontal attitude measurement method | |
US20210055321A1 (en) | Vertical thermal gradient compensation in a z-axis mems accelerometer | |
JP2017102030A (en) | Pitch angular velocity correction value calculation device, pose angle calculation device, and pitch angular velocity correction value calculation method | |
CN106873612A (en) | Electrodynamic balance car attitude method for quick | |
CN112462793A (en) | Sensor-based equipment control method and device and computer equipment | |
EP3798372A1 (en) | Measuring apparatus | |
CN109506678A (en) | Gyroscope dynamic self-checking method in inertial measurement combination based on MEMS | |
KR102038482B1 (en) | Inertial sensor enhancement | |
CN110954103B (en) | Method and system for estimating dynamic attitude of vehicle body based on MEMS sensor | |
KR102006029B1 (en) | Method and Apparatus for calculation azimuth | |
CN102932686B (en) | Method for processing sensor data in remote controller | |
CN110864684A (en) | User posture measuring and calculating method | |
US20190204125A1 (en) | Physical quantity measuring apparatus |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 7-605, 6th floor, building 1, yard a, Guanghua Road, Chaoyang District, Beijing 100026 Patentee after: Beijing dog vacuum cleaner Group Co.,Ltd. Address before: 7-605, 6th floor, building 1, yard a, Guanghua Road, Chaoyang District, Beijing 100026 Patentee before: PUPPY ELECTRONIC APPLIANCES INTERNET TECHNOLOGY (BEIJING) Co.,Ltd. |