CN110916577B - Robot static state judgment method and device and robot - Google Patents

Robot static state judgment method and device and robot Download PDF

Info

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
Application number
CN201911304437.3A
Other languages
Chinese (zh)
Other versions
CN110916577A (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.)
Beijing Puppy Vacuum Cleaner Group Co Ltd
Original Assignee
Xiaogou Electric Internet Technology Beijing 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 Xiaogou Electric Internet Technology Beijing Co Ltd filed Critical Xiaogou Electric Internet Technology Beijing Co Ltd
Priority to CN201911304437.3A priority Critical patent/CN110916577B/en
Publication of CN110916577A publication Critical patent/CN110916577A/en
Application granted granted Critical
Publication of CN110916577B publication Critical patent/CN110916577B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts 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/4002Installations of electric equipment
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts 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/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/06Control 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

Robot static state judgment method and device and robot
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 acceleration
Figure GDA0003060874840000041
The magnitude of the local gravity g, if the criterion is satisfied
Figure GDA0003060874840000042
(β is a preset acceleration threshold); simultaneously comparing angular velocities of gyroscope outputs
Figure GDA0003060874840000043
Figure GDA0003060874840000044
(α 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)
Figure GDA0003060874840000051
Acceleration of x, y and z axes
Figure GDA0003060874840000052
Angular 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.
Figure GDA0003060874840000053
Is the angular velocity of the IMU output;
Figure GDA0003060874840000054
is the acceleration of the IMU output;
Figure GDA0003060874840000055
Figure GDA0003060874840000056
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.
CN201911304437.3A 2019-12-17 2019-12-17 Robot static state judgment method and device and robot Active CN110916577B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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.