Slip detection method and device for mobile robot, mobile robot and medium
By mounting multiple optical mice and wheel speed meters or inertial measurement units on a mobile robot, and combining them with sliding detection rules, the problem of insufficient detection accuracy in existing technologies is solved, achieving high-precision sliding detection and real-time positioning, and improving the obstacle avoidance capability of the mobile robot.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-30
- Publication Date
- 2026-03-27
AI Technical Summary
In existing technologies, the linear acceleration accuracy and noise issues of the inertial measurement unit (IMU) cause detection distortion when mobile robots detect slippage in a straight line, resulting in high costs. Meanwhile, single-light mice cannot calculate the pose of planar mobile robots with three degrees of freedom, leading to poor detection accuracy.
By mounting multiple optical mice and wheel speedometers or inertial measurement units on a mobile robot, motion data is acquired. Combined with preset slip detection rules, the optical mice calculate the robot's pose information and compare it with the data from the inertial measurement units or wheel speedometers to determine whether the robot has slipped.
It achieves high-precision sliding detection of mobile robots in straight lines and rotations, improves the accuracy of real-time positioning and mapping, reduces hardware modification costs, and expands the scope of application.
Smart Images

Figure CN116810851B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of mobile robots, and particularly relates to a mobile robot slip detection method and device, a mobile robot and a medium. BACKGROUND
[0002] In the prior art, whether a mobile robot slips is usually determined by using pose information collected by an inertial measurement unit, a wheel speed meter or a single light mouse. For example, the rotation angular velocity measured by the inertial measurement unit is compared with the robot angular velocity calculated by the wheel speed meter to determine whether the mobile robot slips. This method is effective when the robot slips in rotation, but when the robot slips in a straight line, the slip detection is distorted due to the line acceleration precision and noise of the inertial measurement unit, and the cost is high. When a single light mouse is used, the pose of a mobile robot with three degrees of freedom cannot be solved, the application range is limited, and the detection accuracy is poor. SUMMARY
[0003] Embodiments of the present application are proposed to overcome or at least partially overcome the deficiencies of the prior art.
[0004] In the first aspect, the embodiments of the present application provide a mobile robot slip detection method, comprising:
[0005] In the process of executing a planar task by a mobile robot, first motion data is acquired by at least one wheel speed meter or an inertial measurement unit loaded on the mobile robot, and second motion data is acquired by multiple light mice loaded on the mobile robot;
[0006] First pose information of the mobile robot is determined according to the first motion data, and second pose information of the mobile robot is determined according to the second motion data;
[0007] Whether the mobile robot slips is determined according to the first pose information and the second pose information based on a preset slip detection rule.
[0008] Optionally, in the above method, the first pose information of the mobile robot is determined according to the first motion data, comprising:
[0009] First pose information of the mobile robot in a world coordinate system is read from the first motion data collected by the inertial measurement unit, and the first pose information comprises a first instantaneous speed and / or a first average speed;
[0010] Or,
[0011] reading sub-speeds of each wheel speed meter in the first motion data collected by each wheel speed meter respectively, and determining a first instantaneous speed and / or a first average speed of the mobile robot in a world coordinate system according to the sub-speeds.
[0012] Optionally, in the above method, the determining the second pose information of the mobile robot according to the second motion data comprises:
[0013] constructing instantaneous linear speed and angular speed of the mobile robot in the world coordinate system as unknown independent variables based on the convention coordinate system of the mobile robot, and constructing instantaneous speed of the optical mouse at the mounting position point of each optical mouse on the mobile robot in the world coordinate system;
[0014] projecting the instantaneous speed of each mounting position point into the corresponding convention optical mouse coordinate system respectively to obtain a speed projection equation set;
[0015] constructing an over-determined equation set according to the displacement of the mobile robot in the world coordinate system within a preset time length collected by each optical mouse in the second motion data and the speed projection equation set;
[0016] solving the over-determined equation set to obtain the second instantaneous linear speed and the second instantaneous angular speed of the mobile robot in the world coordinate system;
[0017] determining a second average linear speed and a second average angular speed of the mobile robot in the world coordinate system according to a plurality of second instantaneous linear speeds and a plurality of second instantaneous angular speeds within a preset time length.
[0018] Optionally, in the above method, the convention coordinate system is conventioned according to the following method:
[0019] setting a robot coordinate system origin of the mobile robot at a center position of a driving wheel of the mobile robot and satisfying a right-hand rule;
[0020] constructing a convention optical mouse coordinate system corresponding to each optical mouse with a mounting position point of each optical mouse as an origin, and each convention optical mouse coordinate system satisfying a right-hand rule;
[0021] calibrating a plurality of reference quantities according to a relative position relationship between the robot coordinate system and each convention optical mouse coordinate system, the plurality of reference quantities comprising: an angle between each convention optical mouse coordinate system and an X-axis and a Y-axis of the robot coordinate system, and a connecting line from an origin of each convention optical mouse coordinate system to an origin of the robot coordinate system.
[0022] Optionally, in the method, the second instantaneous linear velocity and the second instantaneous angular velocity of the mobile robot in the world coordinate system are taken as unknown independent variables, and instantaneous velocities of the optical mice at the mounting position points of the optical mice on the mobile robot in the world coordinate system are constructed, including:
[0023] For one mounting position point, a product of the second instantaneous angular velocity of the mounting position point and a connecting line is determined, and a sum of the product and the second instantaneous linear velocity is taken as the instantaneous velocity of the optical mouse, wherein the connecting line is a line connecting an origin of the conventional optical mouse coordinate system corresponding to the mounting position point to an origin of the robot coordinate system.
[0024] The instantaneous velocities of the optical mice at the mounting position points are projected into the corresponding conventional optical mouse coordinate systems respectively to obtain a velocity projection equation set, including:
[0025] According to the angles between the conventional optical mouse coordinate systems and the X-axis and the Y-axis of the robot coordinate system, the instantaneous velocities of the optical mice at the mounting position points are projected onto the X-axis and the Y-axis of the corresponding conventional optical mouse coordinate systems to obtain the velocity projection equation set.
[0026] Optionally, in the method, the displacements of the mobile robot in the world coordinate system collected by the optical mice within a preset time length are projected onto the X-axis and the Y-axis of the corresponding conventional optical mouse coordinate systems to obtain a displacement projection equation set, including:
[0027] The displacements of the mobile robot in the world coordinate system collected by the optical mice within a preset time length are projected onto the X-axis and the Y-axis of the corresponding conventional optical mouse coordinate systems to obtain a displacement projection equation set.
[0028] The velocity projection equation set and the displacement projection equation set are used to construct an over-determined equation set.
[0029] Optionally, in the method, the first pose information includes a first instantaneous velocity and a first average velocity of the mobile robot in the world coordinate system, wherein the first instantaneous velocity is a first instantaneous linear velocity or a first instantaneous angular velocity, and the first average velocity is a first average linear velocity or a first average angular velocity; the second pose information includes a second instantaneous velocity and a second average velocity of the mobile robot in the world coordinate system, wherein the second instantaneous velocity is a second instantaneous linear velocity or a second instantaneous angular velocity, and the second average velocity is a second average linear velocity or a second average angular velocity.
[0030] The first pose information and the second pose information are used to determine whether the mobile robot has slipped based on a preset sliding detection rule, including:
[0031] determining that the mobile robot is slipping, if an error between the first instantaneous speed and the second instantaneous speed is greater than or equal to a first threshold value, based on the first instantaneous speed;
[0032] and / or,
[0033] determining that the mobile robot is slipping, if an error between the first average speed and the second average speed is greater than or equal to a second threshold value, based on the first average speed.
[0034] In a second aspect, the embodiments of the present application further provide a mobile robot slip detection device, the device comprising:
[0035] a collection unit configured to acquire first motion data through at least one wheel speed meter or an inertial measurement unit loaded on the mobile robot and acquire second motion data through a plurality of optical mice loaded on the mobile robot during execution of a planar task by the mobile robot;
[0036] a pose estimation unit configured to determine first pose information of the mobile robot according to the first motion data and determine second pose information of the mobile robot according to the second motion data;
[0037] a detection unit configured to determine whether the mobile robot is slipping according to the first pose information and the second pose information based on a preset slip detection rule.
[0038] In a third aspect, the embodiments of the present application further provide a mobile robot, comprising a processor and a memory for storing executable instructions of the processor, wherein the processor is configured to execute any of the above-mentioned mobile robot slip detection methods via the executable instructions.
[0039] In a fourth aspect, the embodiments of the present application further provide a computer readable storage medium having a computer program stored thereon, wherein the computer program is executed by the processor to implement any of the above-mentioned mobile robot slip detection methods.
[0040] The method adopted by the embodiments of the present application can at least achieve the following beneficial effects:
[0041] This application provides a method for detecting whether a mobile robot is slipping based on multiple optical mice. During the mobile robot's planar task execution, first motion data is acquired or calculated using at least one wheel velocities meter or inertial measurement unit mounted on the robot. Second motion data is acquired and calculated using multiple optical mice mounted on the robot. Then, the first pose information of the mobile robot is determined based on the first motion data, and the second pose information is determined based on the second motion data. Finally, based on a preset slip detection rule, the first pose information and the second pose information are compared to determine whether the mobile robot has slipped. This application utilizes multiple optical mice combined with the mobile robot's inherent wheel velocities meter or inertial measurement unit to achieve high-precision detection of slippage in both straight lines and rotations, improving the accuracy and quality of real-time positioning and mapping during movement, and greatly enhancing the obstacle avoidance capability of the mobile robot. Furthermore, it requires only simple modifications to the mobile robot, resulting in low hardware costs. In addition, the algorithm is simple, requires low computing power, and has a wide range of applications. Attached Figure Description
[0042] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0043] Figure 1 A schematic flowchart of a sliding detection method for a mobile robot according to an embodiment of this application is shown;
[0044] Figure 2 A schematic diagram showing the mounting method of a dual-light mouse on a mobile robot according to an embodiment of this application is illustrated;
[0045] Figure 3 A schematic diagram of a conventional coordinate system according to an embodiment of this application is shown;
[0046] Figure 4 A schematic diagram of the structure of a sliding detection device for a mobile robot according to an embodiment of this application is shown;
[0047] Figure 5 This is a schematic diagram of the structure of a mobile robot according to an embodiment of this application. Detailed Implementation
[0048] In order to make the purposes, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be described below in connection with specific embodiments of the present application and corresponding drawings. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0049] The technical solutions provided by the embodiments of the present application will be described in detail below in connection with the drawings.
[0050] In the prior art, there are mainly two ways to detect whether the mobile robot slips, one of which is to use a six-axis accelerometer (inertial measurement unit, IMU) to measure the angular velocity of rotation, compare it with the angular velocity of the robot calculated by the wheel speed, and determine whether it slips. This method is effective when the robot slips in rotation, but when it slips in a straight line, the slip detection fails due to the accuracy and noise problems of the IMU linear acceleration. Better IMUs can have lower linear acceleration noise, but they are expensive, resulting in a sharp increase in the cost of the robot. The second way is to use a single optical mouse to detect the slip of the mobile robot, but since the optical mouse can only output the displacement in the x direction and the y direction in its own coordinate system, it cannot solve the pose of the planar mobile robot containing three degrees of freedom of x, y and θ, and its use is limited. In addition, there are robots with two-wheel differential kinematic models, when the robot slips or the tire wears, the calculation formula of the linear and angular velocities is no longer valid, and the calculation result has a large error, so the detection result is not meaningful.
[0051] To this end, the present application proposes a mobile robot slip detection method. The idea of the present application is to calculate the linear and angular velocities of the mobile robot through the readings of multiple optical mouse (at least 2) sensors, and compare the calculation results with the linear and angular velocities calculated by the wheel speed meter or read by the IMU to determine whether the robot slips.
[0052] Figure 1 The flowchart of the mobile robot slip detection method according to an embodiment of the present application is shown, from Figure 1 It can be seen that the present application at least includes steps S110-S130:
[0053] Step S110: During the execution of the planar task by the mobile robot, the first motion data is obtained by at least one wheel speed meter or inertial measurement unit loaded on the mobile robot, and the second motion data is obtained by multiple optical mice loaded on the mobile robot.
[0054] The present application is mainly applicable to the process of the mobile robot executing a planar task or to robots that can only move in a plane, such as a sweeping robot.
[0055] The mobile robot is usually equipped with a wheel speed meter and an inertial measurement unit (IMU), both of which can collect motion information of the mobile robot. In the present application, a plurality of optical mice are added to the mobile robot. The optical mouse is a hardware device that detects the displacement of the mouse through infrared or laser, converts the displacement signal into an electrical pulse signal, and then controls the movement of the cursor arrow on the screen through program processing and conversion. The optical sensor of the optical mouse replaces the traditional ball. Hereinafter, the optical mouse is referred to as the optical mouse.
[0056] In the present application, the minimum number of optical mice capable of completely solving the pose of the mobile robot is 2. If the number of optical mice is increased, the detection accuracy can be increased, but the cost will also be increased accordingly. When the number of optical mice is greater than 2, the algorithm is the same as when the number of optical mice is 2. Hereinafter, the number of optical mice is 2 for convenience of explanation.
[0057] The installation method of the optical mouse is described below. Please refer to Figure 2 , Figure 2 A schematic diagram of the installation method of the dual optical mouse on the mobile robot according to an embodiment of the present application is shown. Taking a robot vacuum cleaner as an example, two optical mice are installed on the robot vacuum cleaner chassis (the side facing the ground). There is no special requirement for the installation position, which does not affect other functional components such as the three-brush, pig snout, mop support, etc.
[0058] During the movement of the mobile robot on a plane, on the one hand, the first motion data is obtained through one or more wheel speed meters or inertial measurement units loaded on the mobile robot, and on the other hand, the second motion data is obtained through a plurality of optical mice loaded on the mobile robot.
[0059] In actual scenarios, the mobile robot usually has at least two wheels, and each wheel is provided with a wheel speed meter. Therefore, the mobile robot usually has a plurality of wheel speed meters. Of course, one wheel speed meter can also be used to implement the business logic of the mobile robot sliding detection method of the present application.
[0060] In the mobile robot sliding detection method of the present application, any one of the wheel speed meter and the inertial measurement unit can be used. Here, the motion data collected by one or more wheel speed meters or the motion data collected by the inertial measurement unit is referred to as the first motion data. Hereinafter, the number of wheel speed meters is described as multiple.
[0061] If it is a wheel speed meter, the first motion data usually includes the linear velocity of each wheel. Assuming that the mobile robot has two wheels, the first motion data includes the linear velocities of the two wheels, which are denoted as V1 and V rIf it is an inertial measurement unit, the first motion data output by the inertial measurement unit usually directly includes the linear velocity and angular velocity of the mobile robot.
[0062] Step S120: Determine the first pose information of the mobile robot based on the first motion data, and determine the second pose information of the mobile robot based on the second motion data.
[0063] After acquiring the first motion data and the second motion data, the pose of the mobile robot can be calculated based on these data. Specifically, the first pose information of the mobile robot is determined based on the first motion data, and the second pose information of the mobile robot is determined based on the second motion data.
[0064] It should be noted that both the first pose information and the second pose information mainly include the linear velocity and angular velocity of the mobile robot. For linear velocity, the linear velocity information in the first pose information and the second pose information can be the instantaneous linear velocity at the same moment and / or the average linear velocity over the same duration; for angular velocity, the angular velocity information in the first pose information and the second pose information can be the instantaneous angular velocity at the same moment and / or the average angular velocity over the same duration.
[0065] Specifically, in some embodiments of this application, in the above method, determining the first pose information of the mobile robot based on the first motion data includes: reading the first pose information of the mobile robot in the world coordinate system collected by the inertial measurement unit in the first motion data, wherein the first pose information includes a first instantaneous velocity and / or a first average velocity; or, reading the sub-velocities of each wheel speed meter collected by each wheel speed meter in the first motion data, and determining the first instantaneous velocity and / or the first average velocity of the mobile robot in the world coordinate system based on each sub-velocity.
[0066] In other words, when determining the first pose information, if it is done through the inertial measurement unit of the mobile robot, the data output by the inertial measurement unit can be read directly. This includes the instantaneous velocity at a certain time t, denoted as the first instantaneous linear velocity and the first instantaneous angular velocity, and / or the average velocity over a certain time period t0 to t1, denoted as the first average linear velocity and the first average angular velocity.
[0067] If the data is obtained through the wheel speedometer of a mobile robot, taking a two-wheeled mobile robot as an example, the first motion data may include, but is not limited to, the linear velocities V1 and V2 at a certain moment of the two wheels. r According to the formula for calculating angular velocity: ω=(V1-V r ) / R, and the formula for calculating linear velocity V=(V1+V rAccording to the first instantaneous linear velocity and the first instantaneous angular velocity of the mobile robot at the time t, the average linear velocity and the average angular velocity of the mobile robot in the time period t0-t1 can be obtained by averaging a plurality of values in the time period.
[0068] It should be noted that the first pose information of the mobile robot obtained according to the inertial measurement unit IMU and the wheel speed meter is in the world coordinate system.
[0069] In some embodiments of the present application, in the above method, the determining the second pose information of the mobile robot according to the second motion data comprises: based on the convention coordinate system of the mobile robot, taking the second instantaneous linear velocity and the second instantaneous angular velocity of the mobile robot in the world coordinate system as unknown independent variables, constructing the instantaneous velocity of the optical mouse at the mounting position point of each optical mouse on the mobile robot; projecting the instantaneous velocity of each mounting position point into the corresponding conventional optical mouse coordinate system respectively to obtain a velocity projection equation set; constructing an over-determined equation set according to the displacement of the mobile robot in the world coordinate system collected by each optical mouse in the preset time period in the second motion data and the velocity projection equation set; solving the over-determined equation set to obtain the second instantaneous linear velocity and the second instantaneous angular velocity of the mobile robot in the world coordinate system; and determining the second average linear velocity and the second average angular velocity of the mobile robot in the world coordinate system according to a plurality of second instantaneous linear velocities and a plurality of second instantaneous angular velocities in the preset time period.
[0070] The convention coordinate system is conventioned according to the following method: setting the robot coordinate system origin of the mobile robot at the center position of the driving wheel of the mobile robot and satisfying the right-hand rule; constructing the conventional optical mouse coordinate system corresponding to each optical mouse with the mounting position point of each optical mouse as the origin, and each conventional optical mouse coordinate system satisfying the right-hand rule; and calibrating a plurality of reference quantities according to the relative position relationship of the robot coordinate system and each conventional optical mouse coordinate system, the plurality of reference quantities comprising: the included angle of each conventional optical mouse coordinate system with the X-axis and the Y-axis of the robot coordinate system respectively, and the connecting line from the origin of each conventional optical mouse coordinate system to the origin of the robot coordinate system.
[0071] When determining the second pose information of the mobile robot according to the data of the optical mouse, the coordinate system is first conventioned. First, the overall coordinate system (large coordinate system) of the mobile robot is conventioned, which is recorded as the robot coordinate system. Then, the optical mouse coordinate system of each optical mouse is conventioned under the robot coordinate system. In some embodiments of the present application, the coordinate system can be conventioned according to the following method, as shown in FIG. 1. Figure 3 Figure 3 FIG. 1 shows a schematic diagram of the conventioned coordinate system according to an embodiment of the present application, from whichFigure 3 It can be seen that the robot coordinate system origin of the mobile robot can be set at the center position of the driving wheel of the mobile robot, the Y axis of the robot coordinate system is parallel to the driving wheel axis of the mobile robot, the X axis is perpendicular to the driving wheel axis, the forward direction of the robot is taken as the positive direction of the X axis and the positive direction of the Y axis, and the coordinate system satisfies the right-hand rule. The overall coordinate system is the robot coordinate system, the EBD forms the light mouse 1 coordinate system, B is the coordinate origin, the angle between the X axis (BD) of the light mouse 1 coordinate system and the X axis of the robot coordinate system is γ; the GCF forms the light mouse 2 coordinate system, C is the coordinate origin, and the angle between the X axis (CF) of the light mouse 2 coordinate system and the X axis of the robot coordinate system is δ. The angle between the line f connecting the robot coordinate system origin A and the light mouse 1 coordinate system origin B and the X axis of the robot coordinate system is α, and the angle between the line g connecting the robot coordinate system origin A and the light mouse 2 coordinate system origin C and the X axis of the robot coordinate system is β. The light mouse 1 and the light mouse 2 are fixed to the mobile robot, and α, β, δ, γ, f and g are obtained by calibration and are known quantities.
[0072] It should be noted that, Figure 3 The shown agreement mode is only an example of description, and does not constitute any limitation on the present application. Other forms of agreement can be used according to the needs, and the present application is not limited.
[0073] In Figure 3 Under the shown agreed coordinate system, the second pose information of the mobile robot is calculated. Specifically, the second instantaneous linear velocity V' and the second instantaneous angular velocity ω' of the mobile robot in the world coordinate system are taken as unknown independent variables, the instantaneous velocities of the installation position points of each light mouse on the mobile robot in the world coordinate system are constructed and are denoted as light mouse instantaneous velocities; the light mouse instantaneous velocities of each installation position point are projected into the corresponding agreed light mouse coordinate system respectively to obtain a velocity projection equation group; based on the displacement of the mobile robot in the world coordinate system collected by each light mouse in the preset time length in the second motion data and the velocity projection equation group, an over-determined equation group is constructed; the over-determined equation group is solved to obtain the second instantaneous linear velocity value and the second instantaneous angular velocity value of the mobile robot in the world coordinate system; and the second instantaneous velocity and the second average velocity of the mobile robot in the world coordinate system are restored according to the second instantaneous linear velocity value, the second instantaneous angular velocity value and the displacement.
[0074] Let the second instantaneous linear velocity of the mobile robot in the world coordinate system be V', and the components of the second instantaneous linear velocity V' along the X axis and the Y axis of the robot coordinate system be V' x and V' y, the second instantaneous angular velocity of the mobile robot in the world coordinate system is ω', the amplitude is ω, the second instantaneous linear velocity V' and the second instantaneous angular velocity ω' are taken as unknown quantities, velocity expressions of B point (the installation position point of light mouse 1) and C point (the installation position point of light mouse 2) in the world coordinate system are constructed, which are recorded as light mouse instantaneous velocities, specifically, for an installation position point, the product of the second instantaneous angular velocity of the installation position point and the connecting line is determined, and the sum of the product and the second instantaneous linear velocity is taken as the light mouse instantaneous velocity, wherein the connecting line is the connecting line from the origin of the conventional light mouse coordinate system corresponding to the installation position point to the origin of the robot coordinate system. That is, the light mouse instantaneous velocity as shown in formula 1 can be obtained, as shown in expression 1, wherein V1 represents the velocity expression of B point in the world coordinate system, and V2 represents the velocity expression of C point in the world coordinate system:
[0075]
[0076] Then, according to the angles between the conventional light mouse coordinate system and the X axis and the Y axis of the robot coordinate system, the light mouse instantaneous velocities of each installation position point are projected onto the X axis and the Y axis of the corresponding conventional light mouse coordinate system to obtain the velocity projection equation set. That is, V1 and V2 are projected onto the conventional light mouse 1 coordinate system and the conventional light mouse 2 coordinate system respectively to obtain the velocity projection equation set, as shown in formula 2:
[0077]
[0078] V1 x is the velocity of light mouse 1 in the X direction of the light mouse coordinate system, V 1y is the velocity of light mouse 1 in the Y direction of the light mouse coordinate system; V2 x is the velocity of light mouse 2 in the X direction of the light mouse coordinate system, V 2y is the velocity of light mouse 2 in the Y direction of the light mouse coordinate system.
[0079] The displacement of light mouse 1 in the X axis within the preset time length Δt is ΔX1, and the displacement of light mouse 1 in the Y axis within the preset time length Δt is ΔY1; the displacement of light mouse 2 in the X axis within the preset time length Δt is ΔX2, and the displacement of light mouse 2 in the Y axis within the preset time length Δt is ΔY2; the displacement of the mobile robot in the world coordinate system within the preset time length collected by each light mouse is projected onto the X axis and the Y axis of the corresponding conventional light mouse coordinate system to obtain the displacement projection equation set, then the equation set as shown in formula 3 can be obtained:
[0080]
[0081] Let X = [V' x , V'y , ω' T According to the velocity projection equation set and the displacement projection equation set, the over-determined equation set is constructed, that is, the combination of formula 2 and formula 3, and the over-determined equation set of X can be obtained, as shown in formula 4:
[0082] A 2n*3 X = b (formula 4);
[0083] Wherein, n is the number of optical mice, b is a constant, n = 2 in the embodiment, A 2n*3 is a 2n row and 3 column matrix.
[0084] The least square solution of the above over-determined equation set formula 4 is obtained, that is, the component V' x of the linear velocity of the mobile robot in the world coordinate system in the X axis, the component V' y of the linear velocity in the Y axis, and the angular velocity ω', then V' x and V' y are combined, that is, the second instantaneous linear velocity V' of the mobile robot in the world coordinate system is obtained, that is, the second instantaneous linear velocity V' and the second instantaneous angular velocity ω' of the mobile robot in the world coordinate system are obtained. For the average linear velocity and the average angular velocity in a certain time period t0-t1, the average can be obtained by averaging multiple values in a period of time.
[0085] Step S130: based on the preset sliding detection rule, determining whether the mobile robot slides according to the first pose information and the second pose information.
[0086] Since the mileage calculated by the optical mouse is not affected by whether the tire slips on the ground or not, the linear velocity and the angular velocity of the robot can be compared with the results calculated by the wheel speed meter or the inertial measurement unit, and then it can be determined that the robot slips.
[0087] Specifically, the first pose information includes a first instantaneous speed and a first average speed of the mobile robot in a world coordinate system, where the first instantaneous speed is a first instantaneous linear speed or a first instantaneous angular speed, and the first average speed is a first average linear speed or a first average angular speed; the second pose information includes a second instantaneous speed and a second average speed of the mobile robot in the world coordinate system, where the second instantaneous speed is a second instantaneous linear speed or a second instantaneous angular speed, and the second average speed is a second average linear speed or a second average angular speed; and the determining, based on the preset sliding detection rule, whether the mobile robot slides according to the first pose information and the second pose information includes: taking the first instantaneous speed as a reference, if an error between the first instantaneous speed and the second instantaneous speed is greater than or equal to a first threshold, it is determined that the mobile robot slides; and / or taking the first average speed as a reference, if an error between the first average speed and the second average speed is greater than or equal to a second threshold, it is determined that the mobile robot slides.
[0088] It should be noted that the judgment of whether an object slips can be based on any at least one of the linear speed and the angular speed, that is, if it is judged to slip based on one of the linear speed and the angular speed, the object can be judged to slip.
[0089] And when detecting the movement data of the mobile robot, at least one of the instantaneous speed and the average speed is included, and when detecting the sliding, one or both of the instantaneous speed and the average speed can be detected to determine.
[0090] When the error of the instantaneous speed of the wheel speed meter or the inertial measurement unit relative to the optical mouse is greater than a certain threshold (for example, 30%); and / or the average speed error of the wheel speed meter or the inertial measurement unit relative to the optical mouse is greater than a certain threshold (for example, 10%) within a period of time (for example, 1s), it can be determined that the robot slips.
[0091] For example, taking the first instantaneous linear speed obtained by the wheel speed meter as a reference, the difference between the first instantaneous linear speed and the second instantaneous linear speed obtained by the double optical mouse is determined, the obtained difference is divided by the first instantaneous linear speed to obtain an error percentage, and it is judged whether the error percentage is greater than or equal to a preset first threshold, such as 30%. If yes, it is determined that the mobile robot slips; otherwise, it is determined that the mobile robot does not slip.
[0092] For example, a first average angular velocity obtained by an inertial measurement unit in a period of time (such as 1s) is taken as a reference, a difference between the first average angular velocity and a second average angular velocity obtained by a double light mouse is determined, a quotient obtained by dividing the difference by the first average angular velocity is taken as an error percentage, and it is determined that the mobile robot slips if the error percentage is greater than or equal to a preset second threshold value (such as 10%).
[0093] For other cases, the same as the above cases, and details are not repeated.
[0094] According to Figure 1 As shown in the method, the application provides a method for detecting whether a mobile robot slips based on a plurality of light mice. During the execution of a planar task by the mobile robot, first motion data is obtained or calculated by one or more wheel speed meters or inertial measurement units loaded on the mobile robot, and second motion data is obtained and calculated by a plurality of light mice loaded on the mobile robot. Then, first pose information of the mobile robot is determined according to the first motion data, and second pose information of the mobile robot is determined according to the second motion data. Finally, the first pose information and the second pose information are compared based on a preset slip detection rule to determine whether the mobile robot slips. The application uses a plurality of light mice in combination with the inherent wheel speed meter or inertial measurement unit of the mobile robot to realize high-precision detection of the slip of the mobile robot in a straight line and rotation, improve the accuracy and quality of real-time positioning and mapping of the mobile robot during movement, and greatly improve the obstacle avoidance ability of the mobile robot. Moreover, only simple modification of the mobile robot is needed, and the hardware cost is low. In addition, the algorithm is simple, the computing power requirement is low, and the application range is wide.
[0095] Figure 4 A structural schematic diagram of a slip detection device of a mobile robot according to an embodiment of the application is shown. From Figure 4 It can be seen that the slip detection device 400 of the mobile robot comprises:
[0096] The acquisition unit 410 is configured to obtain first motion data by at least one wheel speed meter or inertial measurement unit loaded on the mobile robot and obtain second motion data by a plurality of light mice loaded on the mobile robot during the execution of a planar task by the mobile robot.
[0097] The pose estimation unit 420 is configured to determine first pose information of the mobile robot according to the first motion data and determine second pose information of the mobile robot according to the second motion data.
[0098] The detection unit 430 is configured to determine whether the mobile robot slides based on a preset sliding detection rule and according to the first pose information and the second pose information.
[0099] In some embodiments of the present application, in the above device, the pose estimation unit 420 is configured to read first pose information of the mobile robot in a world coordinate system collected by the inertial measurement unit in the first motion data, the first pose information including a first instantaneous speed and / or a first average speed; or read sub-speeds of each wheel speed sensor collected by each wheel speed sensor in the first motion data, and determine the first instantaneous speed and / or the first average speed of the mobile robot in the world coordinate system according to the sub-speeds.
[0100] In some embodiments of the present application, in the above device, the pose estimation unit 420 is configured to, based on a convention coordinate system of the mobile robot, take the second instantaneous linear speed and the second instantaneous angular speed of the mobile robot in the world coordinate system as unknown independent variables, construct instantaneous mouse speeds of mounting position points of each mouse on the mobile robot in the world coordinate system, project the instantaneous mouse speeds of each mounting position point into a corresponding convention mouse coordinate system to obtain a speed projection equation set, construct an over-determined equation set according to displacements of the mobile robot in the world coordinate system collected by each mouse in the second motion data within a preset time length and the speed projection equation set, solve the over-determined equation set to obtain the second instantaneous linear speed and the second instantaneous angular speed of the mobile robot in the world coordinate system, and determine a second average linear speed and a second average angular speed of the mobile robot in the world coordinate system according to a plurality of second instantaneous linear speeds and a plurality of second instantaneous angular speeds within the preset time length.
[0101] In some embodiments of the present application, in the above device, the pose estimation unit 420 is configured to set a robot coordinate system origin of the mobile robot at a center position of a driving wheel of the mobile robot and satisfy a right-hand rule, construct a convention mouse coordinate system corresponding to each mouse with a mounting position point of each mouse as an origin, and make each convention mouse coordinate system satisfy the right-hand rule, calibrate a plurality of reference quantities according to relative position relationships of the robot coordinate system and each convention mouse coordinate system, and the plurality of reference quantities include: angles between each convention mouse coordinate system and X and Y axes of the robot coordinate system, and a line connecting origins of each convention mouse coordinate system to the robot coordinate system origin.
[0102] In some embodiments of the present application, in the above device, the pose estimation unit 420 is configured to determine, for each installation position point, a product of a second instantaneous angular velocity of the installation position point and a connecting line, and take a sum of the product and the second instantaneous linear velocity as the instantaneous velocity of the optical mouse, wherein the connecting line is a line connecting an origin of the conventional optical mouse coordinate system corresponding to the installation position point to an origin of the robot coordinate system; and the projecting the instantaneous velocity of each installation position point into the corresponding conventional optical mouse coordinate system respectively to obtain the velocity projection equation set comprises: projecting the instantaneous velocity of each installation position point into X and Y axes of the corresponding conventional optical mouse coordinate system according to an angle between the conventional optical mouse coordinate system and X and Y axes of the robot coordinate system respectively to obtain the velocity projection equation set.
[0103] In some embodiments of the present application, in the above device, the pose estimation unit 420 is configured to project displacements of the mobile robot in a preset time length in the world coordinate system respectively collected by each optical mouse into X and Y axes in the corresponding conventional optical mouse coordinate system to obtain a displacement projection equation set; and construct the over-determined equation set according to the velocity projection equation set and the displacement projection equation set.
[0104] In some embodiments of the present application, in the above device, the first pose information comprises a first instantaneous velocity and a first average velocity of the mobile robot in the world coordinate system, wherein the first instantaneous velocity is a first instantaneous linear velocity or a first instantaneous angular velocity, and the first average velocity is a first average linear velocity or a first average angular velocity; the second pose information comprises a second instantaneous velocity and a second average velocity of the mobile robot in the world coordinate system, wherein the second instantaneous velocity is a second instantaneous linear velocity or a second instantaneous angular velocity, and the second average velocity is a second average linear velocity or a second average angular velocity; the detection unit 430 is configured to take the first instantaneous velocity as a reference, and if an error between the first instantaneous velocity and the second instantaneous velocity is greater than or equal to a first threshold value, determine that the mobile robot has a slip; and / or take the first average velocity as a reference, and if an error between the first average velocity and the second average velocity is greater than or equal to a second threshold value, determine that the mobile robot has a slip.
[0105] It should be noted that the above mobile robot slip detection device can implement the above mobile robot slip detection method, which will not be described here.
[0106] Figure 5 is a structural schematic diagram of a mobile robot according to an embodiment of the present application. Please refer to Figure 5At the hardware level, the mobile robot comprises a processor, and optionally further comprises an internal bus, a network interface, a memory. The memory can include a memory such as a high-speed random access memory (RAM), and can further include a non-volatile memory such as at least one disk memory. Of course, the mobile robot can further include other hardware required by the business.
[0107] The processor, the network interface and the memory can be connected to each other through the internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 Only one bidirectional arrow is used in the figure, but it does not mean that there is only one bus or only one type of bus.
[0108] The memory is used to store programs. Specifically, the program can include program code including computer operation instructions. The memory can include a memory and a non-volatile memory, and provide instructions and data to the processor.
[0109] The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs, and forms the mobile robot sliding detection device at the logical level. The processor executes the program stored in the memory, and is specifically used to execute the mobile robot sliding detection method.
[0110] The above as described in the present application Figure 4The method performed by the mobile robot slip detection device disclosed in the embodiment can be applied in a processor or implemented by the processor. The processor can be an integrated circuit chip with processing capability of signals. In the implementation process, each step of the method can be completed by integrated logic circuits in the hardware of the processor or instructions in the form of software. The processor can be a general processor, including a central processing unit (CPU), a network processor (NP), etc.; or a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. Each method, step and logic block disclosed in the embodiment of the present application can be implemented or executed. The general processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register or other mature storage medium in the art. The storage medium is located in the memory, and the processor reads the configuration information in the memory and combines the hardware to complete the steps of the mobile robot slip detection method.
[0111] The mobile robot can also perform the method performed by the mobile robot slip detection device in the embodiment. Figure 4 The mobile robot slip detection device in the embodiment can also perform the method performed by the mobile robot slip detection device in the embodiment. Figure 4 The mobile robot slip detection device in the embodiment can also perform the method performed by the mobile robot slip detection device in the embodiment.
[0112] The embodiment of the present application also provides a computer readable storage medium storing one or more programs, the one or more programs including instructions, which when executed by a mobile robot including a plurality of application programs, can enable the mobile robot to perform the method performed by the mobile robot slip detection device in the embodiment. Figure 4 The embodiment of the present application also provides a computer readable storage medium storing one or more programs, the one or more programs including instructions, which when executed by a mobile robot including a plurality of application programs, can enable the mobile robot to perform the method performed by the mobile robot slip detection device in the embodiment.
[0113] Those skilled in the art will appreciate that embodiments of the application can be readily used as software, hardware, or a combination of software and hardware. In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0114] The present application is described in reference to the flowchart illustrations and / or block diagrams according to the embodiments of the application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing system, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams.
[0115] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams.
[0116] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams.
[0117] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0118] The memory can include non-persistent memory, random access memory (RAM), and / or non-volatile memory, such as read only memory (ROM) or flash memory, among others. The memory is an example of computer-readable media.
[0119] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to configure information storage. Configuration information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store configuration information that can be accessed by a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.
[0120] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusions, so that processes, methods, articles or devices that include a list of elements not only include those elements, but also include other elements not explicitly listed, or other elements inherent to such processes, methods, articles or devices. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of another same element in the process, method, article or device that includes the element.
[0121] Those skilled in the art will appreciate that embodiments of the present application can be provided as methods, systems or computer program products. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0122] The above only describes the embodiments of the present application and is not intended to limit the present application. Those skilled in the art can make various modifications and changes to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the scope of the claims of the present application.
Claims
1. A sliding detection method for a mobile robot, characterized in that, include: During the mobile robot's execution of a planar task, first motion data is acquired through at least one wheel speed meter or inertial measurement unit mounted on the mobile robot, and second motion data is acquired through multiple optical mice mounted on the mobile robot. The first pose information of the mobile robot is determined based on the first motion data, and the second pose information of the mobile robot is determined based on the second motion data. Based on preset sliding detection rules, it is determined whether the mobile robot has slid according to the first pose information and the second pose information; Determining the second pose information of the mobile robot based on the second motion data includes: Based on the agreed coordinate system of the mobile robot, the second instantaneous linear velocity and the second instantaneous angular velocity of the mobile robot in the world coordinate system are used as unknown independent variables to construct the instantaneous velocity of each optical mouse at its installation position on the mobile robot in the world coordinate system. The instantaneous velocity of the optical mouse at each installation location is projected onto the corresponding conventional optical mouse coordinate system to obtain the velocity projection equation set; Based on the displacement and velocity projection equations of the mobile robot in the world coordinate system collected by each optical mouse in the second motion data, an overdetermined equation set is constructed. Solving the overdetermined system of equations yields the second instantaneous linear velocity and the second instantaneous angular velocity of the mobile robot in the world coordinate system. Based on multiple instantaneous linear velocities and multiple instantaneous angular velocities within a preset time period, the second average linear velocity and the second average angular velocity of the mobile robot in the world coordinate system are determined.
2. The method according to claim 1, characterized in that, Determining the first pose information of the mobile robot based on the first motion data includes: Read the first pose information of the mobile robot in the world coordinate system, which is collected by the inertial measurement unit in the first motion data. The first pose information includes the first instantaneous velocity and / or the first average velocity. or, Read the sub-velocities of each wheel speed meter collected by each of the wheel speed meters in the first motion data, and determine the first instantaneous velocity and / or the first average velocity of the mobile robot in the world coordinate system based on each of the sub-velocities.
3. The method according to claim 1, characterized in that, The agreed coordinate system is defined according to the following method: The origin of the robot coordinate system of the mobile robot is set at the center of the active wheel of the mobile robot, and the right-hand rule is satisfied. With the installation location of each optical mouse as the origin, a conventional optical mouse coordinate system is constructed for each optical mouse, and each conventional optical mouse coordinate system satisfies the right-hand rule; Based on the relative positional relationship between the robot coordinate system and each of the agreed optical mouse coordinate systems, multiple reference quantities are calibrated. The multiple reference quantities include: the angles between each of the agreed optical mouse coordinate systems and the X-axis and Y-axis of the robot coordinate system, respectively, and the lines connecting the origin of each agreed optical mouse coordinate system to the origin of the robot coordinate system.
4. The method according to claim 3, characterized in that, The step of constructing the instantaneous linear velocity and instantaneous angular velocity of the mobile robot in the world coordinate system as unknown independent variables, and using these as unknown independent variables, to construct the instantaneous velocity of each optical mouse at its installation position in the world coordinate system includes: For an installation location, the product of the second instantaneous angular velocity of the installation location and the connecting line is determined, and the sum of the product and the second instantaneous linear velocity is taken as the instantaneous velocity of the optical mouse, wherein the connecting line is the line connecting the origin of the agreed optical mouse coordinate system corresponding to the installation location to the origin of the robot coordinate system; The instantaneous velocity of the optical mouse at each installation location is projected onto the corresponding agreed optical mouse coordinate system to obtain a set of velocity projection equations, including: Based on the angles between the agreed optical mouse coordinate system and the X-axis and Y-axis of the robot coordinate system, the instantaneous velocity of the optical mouse at each installation position point is projected onto the X-axis and Y-axis of the corresponding agreed optical mouse coordinate system to obtain the velocity projection equation set.
5. The method according to claim 3, characterized in that, The step of constructing an overdetermined set of equations based on the displacement and velocity projection equations of the mobile robot within a preset time period in the world coordinate system, collected by each optical mouse in the second motion data, includes: The displacement of the mobile robot in the world coordinate system collected by each optical mouse within a preset time period is projected onto the X-axis and Y-axis of the corresponding conventional optical mouse coordinate system to obtain the displacement projection equation set. Based on the velocity projection equations and the displacement projection equations, the overdetermined equations are constructed.
6. The method according to claim 1, characterized in that, The first pose information includes the first instantaneous velocity and the first average velocity of the mobile robot in the world coordinate system, wherein the first instantaneous velocity is a first instantaneous linear velocity or a first instantaneous angular velocity, and the first average velocity is a first average linear velocity or a first average angular velocity; the second pose information includes the second instantaneous velocity and the second average velocity of the mobile robot in the world coordinate system; wherein the second instantaneous velocity is a second instantaneous linear velocity or a second instantaneous angular velocity, and the second average velocity is a second average linear velocity or a second average angular velocity; The method of determining whether the mobile robot has slipped based on the preset sliding detection rules and the first pose information and the second pose information includes: Based on the first instantaneous velocity, if the error between the first instantaneous velocity and the second instantaneous velocity is greater than or equal to a first threshold, then it is determined that the mobile robot has slipped. And / or, Based on the first average speed, if the error between the first average speed and the second average speed is greater than or equal to the second threshold, then it is determined that the mobile robot has slipped.
7. A sliding detection device for a mobile robot, characterized in that, The device includes: The acquisition unit is used to acquire first motion data by means of at least one wheel speed meter or inertial measurement unit mounted on the mobile robot during the mobile robot's execution of a planar task, and to acquire second motion data by means of multiple optical mice mounted on the mobile robot. The pose estimation unit is used to determine the first pose information of the mobile robot based on the first motion data, and to determine the second pose information of the mobile robot based on the second motion data. The detection unit is used to determine whether the mobile robot has slid based on the preset sliding detection rules, the first pose information, and the second pose information. The pose estimation unit is used to construct the instantaneous linear velocity and instantaneous angular velocity of the mobile robot in the world coordinate system, based on the agreed coordinate system of the mobile robot, using the second instantaneous linear velocity and second instantaneous angular velocity of the mobile robot in the world coordinate system as unknown independent variables; project the instantaneous velocities of the optical mice at each installation position point onto the corresponding agreed optical mouse coordinate system to obtain a set of velocity projection equations; construct an overdetermined set of equations based on the displacement of the mobile robot in the world coordinate system within a preset time period collected by each optical mouse in the second motion data, and the set of velocity projection equations; solve the overdetermined set of equations to obtain the second instantaneous linear velocity and second instantaneous angular velocity of the mobile robot in the world coordinate system; and determine the second average linear velocity and second average angular velocity of the mobile robot in the world coordinate system based on multiple second instantaneous linear velocities and multiple second instantaneous angular velocities within the preset time period.
8. A mobile robot, comprising: processor; And a memory for storing executable instructions of the processor, characterized in that the processor is configured to execute the sliding detection method of the mobile robot according to any one of claims 1 to 6 via the executable instructions.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the sliding detection method for the mobile robot according to any one of claims 1 to 6.
Citation Information
Patent Citations
Robot, robot slipping processing method and device and readable storage medium
CN115685236A