CN113124859B - Robot, angular velocity correction method, and computer-readable storage medium - Google Patents

Robot, angular velocity correction method, and computer-readable storage medium Download PDF

Info

Publication number
CN113124859B
CN113124859B CN201911403633.6A CN201911403633A CN113124859B CN 113124859 B CN113124859 B CN 113124859B CN 201911403633 A CN201911403633 A CN 201911403633A CN 113124859 B CN113124859 B CN 113124859B
Authority
CN
China
Prior art keywords
robot
angular velocity
measurement unit
measured
determining
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
CN201911403633.6A
Other languages
Chinese (zh)
Other versions
CN113124859A (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 Jizhijia Technology Co Ltd
Original Assignee
Beijing Jizhijia Technology 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 Beijing Jizhijia Technology Co Ltd filed Critical Beijing Jizhijia Technology Co Ltd
Priority to CN201911403633.6A priority Critical patent/CN113124859B/en
Publication of CN113124859A publication Critical patent/CN113124859A/en
Application granted granted Critical
Publication of CN113124859B publication Critical patent/CN113124859B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P21/00Testing or calibrating of apparatus or devices covered by the preceding groups
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P21/00Testing or calibrating of apparatus or devices covered by the preceding groups
    • G01P21/02Testing or calibrating of apparatus or devices covered by the preceding groups of speedometers

Abstract

The application provides a robot, an angular velocity correction method and a computer readable storage medium, wherein reference angular velocities of the robot in different operation stages and measured angular velocities of the robot in the different operation stages measured by an inertial measurement unit are firstly obtained; then, determining a scale coefficient deviation value and a zero offset error deviation value corresponding to the inertia measurement unit based on the difference value of the reference angular velocity and the measurement angular velocity corresponding to each operation stage; and finally, correcting the angular speed measured by the inertial measurement unit based on the scale coefficient deviation value and the zero-offset error deviation value, thereby being beneficial to improving the accuracy of the positioning robot.

Description

Robot, angular velocity correction method, and computer-readable storage medium
Technical Field
The present application relates to the field of positioning and error processing, and in particular, to a robot, an angular velocity correction method, and a computer-readable storage medium.
Background
When the inertial measurement unit is used to position the robot, the inertial measurement unit is generally used to measure the angular velocity of the robot, and then the dead reckoning algorithm is used to position the robot in combination with the linear velocity of the robot.
However, in the process of measuring the angular velocity, the inertial measurement unit can cause that the measured angular velocity is not accurate enough due to the zero offset error of self calibration and the deviation of the scale coefficient, so that the positioning accuracy of the robot is influenced.
Disclosure of Invention
In view of the above, the present application provides at least a robot, an angular velocity correction method, and a computer-readable storage medium angular velocity correction method.
In a first aspect, the present application provides a robot comprising a processor, an inertial measurement unit; the processor comprises an angular velocity acquisition module, a deviation calculation module, a deviation adjustment module and an angular velocity processing module;
the inertial measurement unit is used for measuring the angular speed of the robot in different operation stages;
the angular velocity acquisition module is used for acquiring reference angular velocities of the robot in different operation stages and the measured angular velocity measured by the inertial measurement unit;
the deviation calculation module is used for determining a scale coefficient deviation value and a zero deviation error deviation value corresponding to the inertia measurement unit based on the difference value between the reference angular velocity and the measurement angular velocity corresponding to each operation stage;
the deviation adjusting module is used for determining a target scale coefficient of the inertia measuring unit based on the currently calibrated scale coefficient of the inertia measuring unit and the scale coefficient deviation value; determining a target zero offset error value of the inertial measurement unit based on a zero offset error value currently calibrated by the inertial measurement unit and the zero offset error deviation value;
the angular velocity processing module is configured to determine a corrected angular velocity measured by the inertial measurement unit based on the target scale coefficient and the target zero offset error value.
In a possible embodiment, the angular velocity acquisition module, when acquiring the reference angular velocity of the robot in different operating phases, is configured to:
acquiring at least two preset markers shot by the robot in each operation stage;
aiming at each operation stage, determining a shooting angle of the robot when the robot shoots each preset marker at the operation stage;
and determining the reference angular speed corresponding to the running stage of the robot based on the shooting angle of the robot when shooting each preset marker and the time of the robot shooting each preset marker.
In a possible implementation manner, the preset marker is a two-dimensional code including position information corresponding to the preset marker;
the angular velocity acquisition module is used for determining a shooting angle of the robot when shooting each preset marker in the operation stage:
analyzing each shot two-dimensional code to obtain position information of each two-dimensional code;
and determining the shooting angle of the robot when the robot shoots each two-dimensional code at the operation stage based on the position information of each two-dimensional code and the position information of the robot when shooting each two-dimensional code.
In a possible embodiment, the angular velocity acquisition module, when acquiring the measured angular velocities of the robot measured by the inertial measurement unit in the different operating phases, is configured to:
aiming at each operation stage, acquiring a plurality of initial angular velocities measured by the inertia measurement unit in the process that the robot shoots the at least two preset markers at the operation stage;
and taking the average value of the initial angular velocities as the measured angular velocity of the robot measured in the operation stage of the robot.
In a possible embodiment, the deviation calculating module, when determining the calibration coefficient deviation value and the zero deviation error deviation value corresponding to the inertial measurement unit based on the difference between the reference angular velocity and the measured angular velocity corresponding to each operation stage, is configured to:
aiming at each operation stage, acquiring a scale value corresponding to the measured angular speed in the operation stage; the measured angular velocity is determined based on a scale value measured by the inertia measuring unit, a calibrated scale coefficient and a calibrated zero offset error value;
and determining a scale coefficient deviation value and a zero offset error deviation value corresponding to the inertial measurement unit based on the scale value in each operation stage and the difference value between the reference angular velocity and the measured angular velocity.
In a second aspect, the present application provides an angular velocity correction method, including:
acquiring reference angular velocities of the robot in different operation stages and measured angular velocities of the robot in the different operation stages, which are measured by an inertial measurement unit;
determining a scale coefficient deviation value and a zero offset error deviation value corresponding to the inertia measurement unit based on a difference value between the reference angular velocity and the measurement angular velocity corresponding to each operation stage;
determining a target scale coefficient of the inertial measurement unit based on the currently calibrated scale coefficient of the inertial measurement unit and the scale coefficient deviation value;
determining a target zero offset error value of the inertial measurement unit based on a zero offset error value currently calibrated by the inertial measurement unit and the zero offset error deviation value;
determining a corrected angular velocity measured by the inertial measurement unit based on the target scale coefficient and the target zero offset error value.
In a possible embodiment, the acquiring of the reference angular velocity of the robot in different operating phases comprises:
acquiring at least two preset markers shot by the robot in each operation stage;
for each operation stage, determining a shooting angle of the robot when the robot shoots each preset marker at the operation stage;
and determining the reference angular speed corresponding to the running stage of the robot based on the shooting angle of the robot when shooting each preset marker and the time of the robot shooting each preset marker.
In a possible implementation manner, the preset marker is a two-dimensional code including position information corresponding to the preset marker;
the determining of the shooting angle of the robot shooting each preset marker at the operation stage includes:
analyzing each shot two-dimensional code to obtain position information of each two-dimensional code;
and determining the shooting angle of the robot when the robot shoots each two-dimensional code at the operation stage based on the position information of each two-dimensional code and the position information of the robot when the robot shoots each two-dimensional code.
In a third aspect, the present application also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the angular velocity correction method as described above.
The application provides a robot, an angular velocity correction method and a computer readable storage medium, wherein reference angular velocities of the robot in different operation stages and measured angular velocities of the robot in the different operation stages measured by an inertial measurement unit are firstly obtained; then, determining a scale coefficient deviation value and a zero offset error deviation value corresponding to the inertia measurement unit based on the difference value of the reference angular velocity and the measurement angular velocity corresponding to each operation stage; finally, determining a target scale coefficient of the inertia measurement unit based on the currently calibrated scale coefficient of the inertia measurement unit and the scale coefficient deviation value; determining a target zero offset error value of the inertia measurement unit based on a zero offset error value and a zero offset error deviation value which are currently calibrated by the inertia measurement unit; and determining a corrected angular velocity measured by the inertial measurement unit based on the target scale factor and the target null error value. According to the technical scheme, the zero offset error and the scale coefficient of the inertial measurement unit are corrected by using the actual reference angular velocity of the robot and the lateral quantity angular velocity measured by the inertial measurement unit, and the angular velocity measured by the inertial measurement unit can be corrected based on the corrected zero offset error and the corrected scale coefficient, so that the accuracy of positioning the robot is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 shows a schematic structural diagram of a robot provided in an embodiment of the present application;
fig. 2 shows a flowchart of an angular velocity correction method provided in an embodiment of the present application.
Detailed Description
In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, 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 should be understood that the drawings in the present application are for illustrative and descriptive purposes only and are not used to limit the scope of protection of the present application. Further, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of the present application. It should be understood that the operations of the flow diagrams may be performed out of order, and steps without logical context may be performed in reverse order or simultaneously. One skilled in the art, under the guidance of this application, may add one or more other operations to, or remove one or more operations from, the flowchart.
In addition, the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that in the embodiments of the present application, the term "comprising" is used to indicate the presence of the features stated hereinafter, but does not exclude the addition of further features.
Aiming at the defect that the precision of the angular velocity measured by the inertia measuring unit is low due to the fact that the calibrated scale coefficient Kg1 and the zero deviation error K01 of the current inertia measuring unit have deviation with the actual scale coefficient Kg and the zero deviation error K0, the application provides a robot, an angular velocity correction method and a computer readable storage medium.
As shown in fig. 1, the present application provides a robot comprising: comprises a processor 110, an inertial measurement unit 120; the processor 110 includes an angular velocity acquisition module 1101, a deviation calculation module 1102, a deviation adjustment module 1103, and an angular velocity processing module 1104.
The inertial measurement unit 120 is used to measure the angular velocity w of the robot during different phases of operation.
The angular velocity acquisition module 1101 is configured to acquire a reference angular velocity wc of the robot at different operation stages and the measured angular velocity w measured by an inertial measurement unit.
The deviation calculating module 1102 is configured to determine a scale coefficient deviation value delat-Kg and a zero deviation error deviation value delat-K0 corresponding to the inertia measuring unit based on a difference delat-w between the reference angular velocity wc and the measured angular velocity w corresponding to each operation stage.
The deviation adjusting module 1103 is configured to determine a target scale factor Kg of the inertia measuring unit based on a currently calibrated scale factor Kg1 of the inertia measuring unit and the scale factor deviation value delat-Kg; and determining a target zero offset error value K0 of the inertial measurement unit based on the currently calibrated zero offset error value K01 of the inertial measurement unit and the zero offset error offset value delat-K0.
The angular velocity processing module 1104 is configured to determine a corrected angular velocity measured by the inertial measurement unit based on the target scale factor Kg and the target zero-offset value K0. As described above, the different operation stages may be different time periods of the robot operation, and in the present application, at least the reference angular velocity wc and the measurement angular velocity w corresponding to the two operation stages are needed to determine the scale coefficient deviation value delat-Kg and the zero offset error deviation value delat-K0.
In practical applications, the angular velocity obtaining module 1101 may determine the reference angular velocity wc of the robot at different operation stages by using different methods, where the reference angular velocity wc is an angular velocity at which the robot actually operates, and the method for determining the reference angular velocity wc is not limited in the present application. For example, the reference angular velocity wc of the robot in different operating phases can be determined by the following steps:
step one, at least two preset markers shot by the robot in each operation stage are obtained.
Here, the preset marker is a marker including position information thereof, the position information of the preset marker can be obtained by analyzing the photographed preset marker, and the reference angular velocity wc is determined using the position information of the plurality of preset markers. The preset marker is not limited in the present application, and for example, the preset marker may be a two-dimensional code including position information thereof.
Only by using the position information of one preset marker and the position information of the robot when shooting the preset marker, the shooting angle of the robot can be determined, and the running angular speed of the robot cannot be determined.
Here, the preset marker may be shot by using a camera mounted on the robot, and a shooting angle of the camera is a shooting angle corresponding to the robot.
And step two, aiming at each operation stage, determining the shooting angle of the robot when shooting each preset marker in the operation stage.
Here, the position information of each preset marker may be obtained through analysis, and then the photographing angle of the robot at the time of photographing each preset marker may be determined based on the position information of each preset marker and the position information of the robot at the time of photographing each preset marker.
And thirdly, determining the reference angular speed wc corresponding to the robot in the running stage based on the shooting angle of the robot when shooting each preset marker and the time of the robot shooting each preset marker.
Here, for each operation phase, based on a photographing angle at which the robot photographs each preset marker in the operation phase, an angle at which the robot operates during a period of time in which any two preset markers are photographed can be determined; based on the time of the robot shooting each preset marker, the length value of the time period of the robot running between the shooting of any two preset markers can be determined. Finally, based on the operation angle of the robot in the time period for shooting any two preset markers and the length of the time period for shooting any two preset markers by the robot, the reference angular velocity wc corresponding to the operation stage of the robot can be determined.
The inertia measuring unit measures the angular speed of the robot in each operation stage to obtain the measured angular speed w.
Before determining the calibration coefficient deviation value delat-Kg and the zero offset error deviation value delat-K0, the deviation calculating module 1102 first needs to determine the difference delat-w between the reference angular velocity wc and the measured angular velocity w in each operating phase.
After the difference value corresponding to each operation stage is determined, the scale coefficient deviation value delat-Kg and the zero offset error deviation value delat-K0 corresponding to the inertia measurement unit can be determined by using the difference values of the plurality of operation stages and the scale value of the measured angular velocity of each operation stage.
The above-mentioned scale factor deviation value delat-Kg may be defined as a difference value obtained by subtracting the actual scale factor of the inertia measurement unit, i.e. the target scale factor Kg, from the currently calibrated scale factor Kg1, and therefore, after the scale factor deviation value delat-Kg is determined, a difference value obtained by subtracting the scale factor deviation value delat-Kg from the currently calibrated scale factor Kg1 may be used as the target scale factor Kg.
The zero offset error deviation value delat-K0 may be defined as a difference obtained by subtracting an actual zero offset error value when the inertial measurement module measures the angular velocity from the currently calibrated zero offset error value K01, that is, the target zero offset error value K0, and therefore, after the zero offset error deviation value delat-K0 is determined, a difference obtained by subtracting the zero offset error deviation value delat-K0 from the currently calibrated zero offset error value K01 may be used as the target zero offset error value K0.
The robot of the embodiment corrects the zero offset error and the scale coefficient of the inertial measurement unit by using the actual reference angular velocity wc of the robot and the measured angular velocity measured by the inertial measurement unit, and can correct the angular velocity measured by the inertial measurement unit based on the corrected zero offset error and the corrected scale coefficient, thereby being beneficial to improving the accuracy of positioning the robot.
In some embodiments, the angular velocity acquisition module 1101, when acquiring the measured angular velocities of the robot at the different operation phases measured by the inertial measurement unit, is configured to:
and acquiring a plurality of initial angular velocities measured by the inertial measurement unit in the process that the robot shoots the at least two preset markers in each operation stage. And taking the average value of the initial angular velocities as the measured angular velocity w of the robot measured by the robot in the operation stage.
The inertial measurement unit measures the angular velocity of the robot based on a preset frequency, and therefore, a plurality of initial angular velocities are measured in the process of shooting the at least two preset markers.
And averaging the initial angular velocity obtained by measurement to obtain the measured angular velocity w, wherein the averaging processing mode is favorable for improving the accuracy of the determined measured angular velocity w.
In some embodiments, the deviation calculating module 1102, when determining the scale coefficient deviation value delat-Kg and the zero offset error deviation value delat-K0 corresponding to the inertial measurement unit based on the difference delat-w between the reference angular velocity and the measured angular velocity w corresponding to each operation stage, is configured to:
aiming at each operation stage, acquiring a scale value corresponding to the measured angular speed w in the operation stage; the measured angular velocity w is determined based on a scale value measured by the inertia measuring unit, a calibrated scale coefficient Kg1 and a calibrated zero offset error value K01; and determining a scale coefficient deviation value delat-Kg and a zero offset error deviation value delat-K0 corresponding to the inertia measurement unit based on the scale value in each operation stage and the difference delat-w between the reference angular velocity and the measurement angular velocity w.
Here, when the inertial measurement unit measures the angular velocity, the scale value corresponding to the angular velocity is obtained first, and then the angular velocity measured by the inertial measurement unit can be calculated by using the following formula:
w=Kg2×w2+K2
in the formula, w represents the angular velocity measured by the inertia measurement unit, kg2 represents the scale factor calibrated by the inertia measurement unit, w2 represents the scale value measured by the inertia measurement unit, and K2 represents the zero offset error calibrated by the inertia measurement unit.
The above measured angular velocity is also calculated based on the above formula.
In particular implementations, the calibration coefficient deviation value and the zero offset error deviation value can be determined using the following equations:
delta_w=(Kg1×w0+K01)-(Kg×w0+K0)
=(Kg1-Kg)×w0+(K01-K0)
=delta_Kg×w0+delta_K0
in the formula, delta _ w represents a difference between a reference angular velocity and the measured angular velocity w, kg1 represents a scale coefficient currently calibrated by the inertial measurement unit, K01 represents a zero offset error currently calibrated by the inertial measurement unit, w0 represents a scale value measured by the inertial measurement unit, kg represents a scale coefficient to be determined, namely a target scale coefficient, and K0 represents a zero offset error to be determined, namely a target zero offset error value. delta _ Kg represents a scale factor deviation value and delta _ K0 represents a zero offset error deviation value.
According to the above formula, the calibration coefficient deviation value delta _ Kg and the zero offset error deviation value delta _ K0 can be calculated by using at least two groups of delta _ w and w 0.
Thereafter, since delta _ Kg = Kg1-Kg, delta _ K0= K01-K0
The target scale factor Kg and the target zero-offset error value K0 can be calculated using the following equations:
Kg=Kg1-delta_Kg,K0=K01-delta_K0
in some embodiments, the robot may include the following steps to correct the angular velocity of the inertial measurement unit:
and acquiring a scale value obtained when the inertial measurement unit measures the angular speed of the robot at present.
And determining the current running angular speed of the robot based on the scale value, the target scale factor Kg and the target zero offset error value K0.
The formula for calculating the angular velocity is as above, and is not described in detail here.
In practical applications, the difference delat-w between the measured reference angular velocity and the measured angular velocity w measured by the inertial measurement unit may be used to determine whether to perform the correction. Specifically, when the difference is greater than a preset threshold value, the inertial measurement unit is corrected, and when the difference is less than or equal to the threshold value, the inertial measurement unit is not corrected.
Of course, it is also possible to determine whether to calibrate the inertial measurement unit based on the time the inertial measurement unit is operating. Specifically, when the operating time is greater than a preset time threshold, the inertial measurement unit is corrected, and when the operating time is less than or equal to the time threshold, the inertial measurement unit is not corrected.
The correction method of the embodiment is simple and convenient, and the correction efficiency is high.
In addition, the above-mentioned reference angular velocity may be determined using measurement data of other devices, such as an antenna, and the like.
Corresponding to the robot, the embodiment of the present application further provides an angular velocity correction method, which is applied to the robot and can achieve the same or similar beneficial effects, and therefore, repeated descriptions of the parts are omitted.
Specifically, as shown in fig. 2, the angular velocity correction method provided by the present application may include the following steps:
s210, acquiring reference angular velocities of the robot in different operation stages, and acquiring a measurement angular velocity w of the robot in the different operation stages, which is measured by an inertial measurement unit.
S220, determining a scale coefficient deviation value delat-Kg and a zero offset error deviation value delat-K0 corresponding to the inertia measuring unit based on the difference delat-w between the reference angular velocity and the measured angular velocity w corresponding to each operation stage.
S230, determining a target scale coefficient Kg of the inertia measuring unit based on the currently calibrated scale coefficient Kg1 of the inertia measuring unit and the scale coefficient deviation value delat-Kg.
S240, determining a target zero offset error value K0 of the inertia measurement unit based on the currently calibrated zero offset error value K01 of the inertia measurement unit and the zero offset error offset value delat-K0.
And S250, determining the corrected angular speed measured by the inertial measurement unit based on the target scale factor Kg and the target zero offset error value K0.
In some embodiments, the acquiring the reference angular velocity of the robot at different operation stages includes:
acquiring at least two preset markers shot by the robot in each operation stage;
for each operation stage, determining a shooting angle of the robot when the robot shoots each preset marker at the operation stage;
and determining the reference angular speed corresponding to the running stage of the robot based on the shooting angle of the robot when shooting each preset marker and the time of the robot shooting each preset marker.
In some embodiments, the preset marker is a two-dimensional code including position information corresponding to the preset marker;
the determining of the shooting angle of the robot shooting each preset marker at the operation stage includes:
analyzing each shot two-dimensional code to obtain position information of each two-dimensional code;
and determining the shooting angle of the robot when the robot shoots each two-dimensional code at the operation stage based on the position information of each two-dimensional code and the position information of the robot when shooting each two-dimensional code.
In some embodiments, obtaining the measured angular velocity w of the robot measured by the inertial measurement unit at the different operational phases comprises:
aiming at each operation stage, acquiring a plurality of initial angular velocities measured by the inertia measurement unit in the process that the robot shoots the at least two preset markers at the operation stage;
and taking the average value of the initial angular velocities as the measured angular velocity w of the robot measured by the robot in the operation stage. A computer program product corresponding to the above method provided in this embodiment of the present application includes a computer readable storage medium storing a program code, where instructions included in the program code may be used to execute the method in the foregoing method embodiment, and specific implementation may refer to the method embodiment, which is not described herein again.
The foregoing description of the various embodiments is intended to highlight various differences between the embodiments, and the same or similar parts may be referred to one another, which are not repeated herein for brevity.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to corresponding processes in the method embodiments, and are not described in detail in this application. In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. The above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is merely a logical division, and there may be other divisions in actual implementation, and for example, a plurality of modules or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or modules through some communication interfaces, and may be in an electrical, mechanical or other form.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in software functional units and sold or used as a stand-alone product, may be stored in a non-transitory computer-readable storage medium executable by a processor. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think of the changes or substitutions within the technical scope of the present application, and shall cover the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (8)

1. A robot is characterized by comprising a processor and an inertia measurement unit; the processor comprises an angular velocity acquisition module, a deviation calculation module, a deviation adjustment module and an angular velocity processing module;
the inertial measurement unit is used for measuring the measurement angular speed of the robot in different operation stages;
the angular velocity acquisition module is used for acquiring reference angular velocities of the robot in different operation stages and the measured angular velocity measured by the inertial measurement unit; the angular velocity acquisition module is used for acquiring reference angular velocities of the robot in different operation stages:
acquiring at least two preset markers shot by the robot in each operation stage;
for each operation stage, determining a shooting angle of the robot when the robot shoots each preset marker at the operation stage;
determining the reference angular speed corresponding to the running stage of the robot based on the shooting angle of the robot when shooting each preset marker and the time of the robot shooting each preset marker;
the deviation calculation module is used for determining a scale coefficient deviation value and a zero deviation error deviation value corresponding to the inertia measurement unit based on the difference value between the reference angular velocity and the measurement angular velocity corresponding to each operation stage;
the deviation adjusting module is used for determining a target scale coefficient of the inertia measuring unit based on the currently calibrated scale coefficient of the inertia measuring unit and the scale coefficient deviation value; determining a target zero offset error value of the inertial measurement unit based on a zero offset error value currently calibrated by the inertial measurement unit and the zero offset error deviation value;
the angular velocity processing module is configured to determine a corrected angular velocity measured by the inertial measurement unit based on the target scale coefficient and the target zero offset error value.
2. The robot according to claim 1, wherein the preset marker is a two-dimensional code including position information corresponding to the preset marker;
the angular velocity obtaining module is used for determining a shooting angle of the robot when shooting each preset marker in the operation stage:
analyzing each shot two-dimensional code to obtain position information of each two-dimensional code;
and determining the shooting angle of the robot when the robot shoots each two-dimensional code at the operation stage based on the position information of each two-dimensional code and the position information of the robot when shooting each two-dimensional code.
3. A robot according to claim 1 or 2, wherein the angular velocity acquisition module, when acquiring the measured angular velocities of the robot at the different phases of operation measured by the inertial measurement unit, is configured to:
aiming at each operation stage, acquiring a plurality of initial angular velocities measured by the inertia measurement unit in the process that the robot shoots the at least two preset markers at the operation stage;
and taking the average value of the initial angular velocities as the measured angular velocity of the robot measured in the operation stage of the robot.
4. The robot of claim 1, wherein the deviation calculation module, when determining the calibration coefficient deviation value and the zero offset error deviation value corresponding to the inertial measurement unit based on the difference between the reference angular velocity and the measured angular velocity corresponding to each operation phase, is configured to:
aiming at each operation stage, acquiring a scale value corresponding to the measured angular speed in the operation stage; the measured angular velocity is determined based on a scale value measured by the inertia measuring unit, a calibrated scale coefficient and a calibrated zero offset error value;
and determining a scale coefficient deviation value and a zero offset error deviation value corresponding to the inertial measurement unit based on the scale value in each operation stage and the difference value between the reference angular velocity and the measured angular velocity.
5. An angular velocity correction method characterized by comprising:
acquiring reference angular velocities of the robot in different operation stages and measured angular velocities of the robot in the different operation stages, which are measured by an inertial measurement unit; the method for acquiring the reference angular speed of the robot in different operation stages comprises the following steps:
acquiring at least two preset markers shot by the robot in each operation stage;
for each operation stage, determining a shooting angle of the robot when the robot shoots each preset marker at the operation stage;
determining the reference angular speed corresponding to the running stage of the robot based on the shooting angle of the robot when shooting each preset marker and the time of the robot shooting each preset marker;
determining a scale coefficient deviation value and a zero offset error deviation value corresponding to the inertia measurement unit based on a difference value between the reference angular velocity and the measurement angular velocity corresponding to each operation stage;
determining a target scale coefficient of the inertial measurement unit based on the currently calibrated scale coefficient of the inertial measurement unit and the scale coefficient deviation value;
determining a target zero offset error value of the inertial measurement unit based on a zero offset error value currently calibrated by the inertial measurement unit and the zero offset error deviation value;
determining a corrected angular velocity measured by the inertial measurement unit based on the target scale coefficient and the target zero offset error value.
6. The angular velocity correction method according to claim 5, wherein the preset marker is a two-dimensional code including position information corresponding to the preset marker;
the determining of the shooting angle of the robot shooting each preset marker at the operation stage includes:
analyzing each shot two-dimensional code to obtain position information of each two-dimensional code;
and determining the shooting angle of the robot when the robot shoots each two-dimensional code at the operation stage based on the position information of each two-dimensional code and the position information of the robot when shooting each two-dimensional code.
7. The angular velocity correction method according to claim 5 or 6, wherein acquiring the measured angular velocities of the robot measured by the inertial measurement unit at the different operation phases includes:
aiming at each operation stage, acquiring a plurality of initial angular velocities measured by the inertial measurement unit in the process that the robot shoots the at least two preset markers at the operation stage;
and taking the average value of the initial angular velocities as the measured angular velocity of the robot measured in the operation stage of the robot.
8. A computer-readable storage medium, having stored thereon a computer program which, when executed by a processor, performs the angular velocity correction method according to any one of claims 5 to 7.
CN201911403633.6A 2019-12-30 2019-12-30 Robot, angular velocity correction method, and computer-readable storage medium Active CN113124859B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911403633.6A CN113124859B (en) 2019-12-30 2019-12-30 Robot, angular velocity correction method, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911403633.6A CN113124859B (en) 2019-12-30 2019-12-30 Robot, angular velocity correction method, and computer-readable storage medium

Publications (2)

Publication Number Publication Date
CN113124859A CN113124859A (en) 2021-07-16
CN113124859B true CN113124859B (en) 2023-03-21

Family

ID=76768403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911403633.6A Active CN113124859B (en) 2019-12-30 2019-12-30 Robot, angular velocity correction method, and computer-readable storage medium

Country Status (1)

Country Link
CN (1) CN113124859B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06294614A (en) * 1993-04-08 1994-10-21 Oyo Keisoku Kenkyusho:Kk Measuring equipment for moving body
CN103324194A (en) * 2013-05-21 2013-09-25 无锡普智联科高新技术有限公司 Mobile robot positioning system based on two-dimension code navigation band
CN106444750A (en) * 2016-09-13 2017-02-22 哈尔滨工业大学深圳研究生院 Two-dimensional code positioning-based intelligent warehousing mobile robot system
JP2018036250A (en) * 2016-08-30 2018-03-08 富士通株式会社 Position decision method, position decision device, and electronic instrument
CN109000612A (en) * 2018-06-19 2018-12-14 深圳市道通智能航空技术有限公司 Angle evaluation method, device, camera assembly and the aircraft of equipment
CN109358616A (en) * 2018-09-12 2019-02-19 黄海宁 A kind of bearing calibration of pair of self-navigation object space coordinate and the deviation of directivity
CN109798891A (en) * 2019-01-25 2019-05-24 上海交通大学 Inertial Measurement Unit calibration system based on high-precision motion capture system
CN110440827A (en) * 2019-08-01 2019-11-12 北京神导科讯科技发展有限公司 A kind of scaling method of parameter error, device and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100643304B1 (en) * 2005-02-15 2006-11-10 삼성전자주식회사 Apparatus and method for correcting inertia measurement unit and recording medium for recording the method
KR100772915B1 (en) * 2006-07-05 2007-11-05 삼성전자주식회사 Apparatus and method for correcting bias of gyroscope on a moving robot
KR100886340B1 (en) * 2007-04-04 2009-03-03 삼성전자주식회사 Apparatus and method for calibrating gyro-sensor of mobile robot
JP2012185111A (en) * 2011-03-08 2012-09-27 Seiko Epson Corp Positioning device and positioning method
JP2014106206A (en) * 2012-11-29 2014-06-09 Tamagawa Seiki Co Ltd Inertial sensor and method for reducing its calculation error
US9121866B2 (en) * 2013-03-15 2015-09-01 Autoliv Asp, Inc. System and method for inertial sensor offset compensation
CN109959381B (en) * 2017-12-22 2021-06-04 深圳市优必选科技有限公司 Positioning method, positioning device, robot and computer readable storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06294614A (en) * 1993-04-08 1994-10-21 Oyo Keisoku Kenkyusho:Kk Measuring equipment for moving body
CN103324194A (en) * 2013-05-21 2013-09-25 无锡普智联科高新技术有限公司 Mobile robot positioning system based on two-dimension code navigation band
JP2018036250A (en) * 2016-08-30 2018-03-08 富士通株式会社 Position decision method, position decision device, and electronic instrument
CN106444750A (en) * 2016-09-13 2017-02-22 哈尔滨工业大学深圳研究生院 Two-dimensional code positioning-based intelligent warehousing mobile robot system
CN109000612A (en) * 2018-06-19 2018-12-14 深圳市道通智能航空技术有限公司 Angle evaluation method, device, camera assembly and the aircraft of equipment
CN109358616A (en) * 2018-09-12 2019-02-19 黄海宁 A kind of bearing calibration of pair of self-navigation object space coordinate and the deviation of directivity
CN109798891A (en) * 2019-01-25 2019-05-24 上海交通大学 Inertial Measurement Unit calibration system based on high-precision motion capture system
CN110440827A (en) * 2019-08-01 2019-11-12 北京神导科讯科技发展有限公司 A kind of scaling method of parameter error, device and storage medium

Also Published As

Publication number Publication date
CN113124859A (en) 2021-07-16

Similar Documents

Publication Publication Date Title
EP2264403B1 (en) Positioning device and positioning method
US8692709B2 (en) Positioning apparatus, positioning method, and storage medium for measuring position using both autonomous navigation and GPS
US11120562B2 (en) Posture estimation method, posture estimation apparatus and computer readable storage medium
CN108731673B (en) Autonomous navigation positioning method and system for robot
WO2016155074A1 (en) Correcting and focusing method and system for included angle of optical axis, and dual-camera equipment
US5422639A (en) Navigation equipment which determines current position dependent on difference between calculated value of self-contained navigation and measured value of radio navigation
CN108871314B (en) Positioning and attitude determining method and device
KR101106048B1 (en) Method for calibrating sensor errors automatically during operation, and inertial navigation using the same
CN111083309B (en) Time alignment method of multi-sensor data and data acquisition equipment
CN102538780A (en) Positioning apparatus, positioning method, and storage medium for measuring position using both autonomous navigation and GPS
CN112113582A (en) Time synchronization processing method, electronic device, and storage medium
CN113625288A (en) Camera and laser radar pose calibration method and device based on point cloud registration
CN114252082A (en) Vehicle positioning method and device and electronic equipment
CN107272038B (en) High-precision positioning method and device
CN112330754A (en) Binocular vision correction method and device, electronic equipment and storage medium
CN113504796B (en) Unmanned aerial vehicle trajectory processing method and device, electronic equipment and storage medium
CN113124859B (en) Robot, angular velocity correction method, and computer-readable storage medium
CN111882616B (en) Method, device and system for correcting target detection result, electronic equipment and storage medium
KR102250107B1 (en) Device for vehicle speed correction and method of calculating the wheel scale factor by the same
CN110674888B (en) Head posture recognition method based on data fusion
JP4804371B2 (en) Sensor bias error estimation device
CN111044053B (en) Navigation method and device of single-steering-wheel unmanned vehicle and single-steering-wheel unmanned vehicle
KR102161306B1 (en) Pan Angle Calibration Method in Image of Mobile PTZ Camera
CN108921902B (en) Method and device for correcting structured light camera deviation
CN114019954B (en) Course installation angle calibration method, device, computer equipment and storage medium

Legal Events

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