Robot slip detection method, device and robot
By obtaining the position and angle change amount and odometer data calculated by the sensor and matching results with the laser point cloud, we determine whether the robot has slippage, which solves the problem that wheel slippage affects positioning accuracy during the robot's movement, and realizes efficient slip detection and processing .
Patent Information
- Application Number
- CN202210045142.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-14
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-01-14
AI Technical Summary
The robot may experience wheel slipping during movement, which affects the positioning accuracy and system performance. It is difficult for the existing technology to effectively detect and deal with such problems.
By obtaining the position and angle changes calculated by the sensor, combining the odometer data and the correlation matching results of the laser point cloud and the local map, we determine whether the robot has slippage and use a multiple judgment mechanism to ensure accuracy and reliability.
It effectively reduces the calculation amount, improves the accuracy and accuracy of the robot to detect wheel slip during movement, and avoids the negative impact of slip on the system.
Smart Images

Figure CN114505887B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence, and in particular to a robot slippage detection method, a robot slippage detection device and a robot. Background Art
[0002] With the development of robot technology, its application areas are becoming increasingly wide, effectively liberating the hands of the vast number of working people.
[0003] In the related technology, the 2D laser positioning algorithm mainly includes: Slam algorithm based on particle filtering and Slam algorithm based on graph optimization. The Slam algorithm based on particle filtering has a large amount of particle filtering calculation, especially when the map is large, it is not suitable for low-cost embedded systems. As the map increases, the computing resources will also increase. Relatively speaking, the Slam algorithm based on graph optimization has certain advantages, and its calculation amount increases relatively little as the map increases.
[0004] The graph-optimized SLAM algorithm is used, which is divided into two parts: front-end processing and back-end processing. The front-end processing is mainly used for robot mapping and posture calculation, while the back-end processing is used to eliminate the accumulated posture error of the robot during long-term operation.
[0005] During the movement of the robot, the wheel may slip (for example, idling, locking, etc.), which may affect the positioning accuracy of the robot. Therefore, it is very meaningful to detect whether the wheel slips during the movement of the robot. The front-end processing of the SLAM algorithm using graph optimization is closely related to the observation data of the odometer, especially the correlation matching between the laser point cloud and the local map and the CERES optimization. Both parts rely on the observation data of the odometer. Therefore, if the robot slips during the movement, it will have a greater impact on the entire system. Summary of the invention
[0006] The main purpose of the present invention is to disclose a robot slip detection method, device and robot, so as to at least solve the problem in the related art that the robot may experience wheel slippage during movement, which has a great impact on the entire system.
[0007] According to one aspect of the present invention, a robot slip detection method is provided.
[0008] The robot slip detection method according to the present invention includes: obtaining a first position change and a first angle change between a current laser frame and a previous laser frame solved by a predetermined sensor; obtaining a second position change and a second angle change between the current laser frame and the previous laser frame solved by an odometer; when the difference between the second position change and the first position change is greater than or equal to a first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to a first predetermined angle change threshold, combining the correlation matching results between the laser point cloud data and the local map, judging the slip condition of the robot in the current laser frame.
[0009] According to another aspect of the present invention, a slip detection device for a robot is provided.
[0010] The robot slip detection device according to the present invention comprises: a first acquisition module, used to acquire a first position change and a first angle change between a current laser frame and a previous laser frame solved by a predetermined sensor; a second acquisition module, used to acquire a second position change and a second angle change between the current laser frame and the previous laser frame solved by an odometer; a detection and determination module, used to determine the slip condition of the robot in the current laser frame when the difference between the second position change and the first position change is greater than or equal to a first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to a first predetermined angle change threshold, in combination with a correlation matching result between the laser point cloud data and the local map.
[0011] According to yet another aspect of the present invention, a robot is provided.
[0012] The robot according to the present invention comprises: a memory and a processor, wherein the memory is used to store computer-executable instructions; and the processor is used to execute the computer-executable instructions stored in the memory, so that the robot executes any one of the above methods.
[0013] According to the present invention, the first position change and the first angle change between the current laser frame and the previous laser frame calculated by a predetermined sensor (e.g., IMU, etc.) are obtained; the second position change and the second angle change between the current laser frame and the previous laser frame calculated by the odometer are obtained; when the difference between the second position change and the first position change is greater than or equal to the first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to the first predetermined angle change threshold, the robot's slipping condition in the current laser frame is determined by further combining the correlation matching result between the laser point cloud data and the local map. With this solution, the amount of calculation is relatively low, and it can effectively determine whether the wheels of the mobile robot slip during movement, thereby solving the problem that the wheels of the robot slip during movement in the related art have a great impact on the entire system. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 is a flow chart of a method for detecting a slippage of a robot according to an embodiment of the present invention;
[0015] Figure 2 is a flow chart of a robot slip detection method according to a preferred embodiment of the present invention;
[0016] Figure 3 is a structural block diagram of a robot slip detection device according to an embodiment of the present invention;
[0017] Figure 4 is a structural block diagram of a robot slip detection device according to a preferred embodiment of the present invention;
[0018] Figure 5 is a structural block diagram of a robot according to an embodiment of the present invention. DETAILED DESCRIPTION
[0019] The specific implementation of the present invention is described in detail below with reference to the accompanying drawings.
[0020] According to an embodiment of the present invention, a method for detecting slippage of a robot is provided.
[0021] Figure 1 FIG. 1 is a flow chart of a method for detecting a robot slipping according to an embodiment of the present invention. Figure 1 As shown, the robot's slip detection method includes:
[0022] Step S101: obtaining a first position change amount and a first angle change amount between a current laser frame and a previous laser frame resolved by a predetermined sensor;
[0023] Step S102: obtaining a second position change and a second angle change between the current laser frame and the previous laser frame calculated by the odometer;
[0024] Step S103: When the difference between the second position change and the first position change is greater than or equal to the first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to the first predetermined angle change threshold, the slipping condition of the robot in the current laser frame is determined in combination with the correlation matching result between the laser point cloud data and the local map.
[0025] use Figure 1 The method shown, obtains the first position change and the first angle change between the current laser frame and the previous laser frame solved by a predetermined sensor (for example, IMU, etc.); obtains the second position change and the second angle change between the above-mentioned current laser frame and the above-mentioned previous laser frame solved by the odometer; when the difference between the second position change and the first position change is greater than or equal to the first predetermined position change threshold, and / or, when the difference between the second angle change and the first angle change is greater than or equal to the first predetermined angle change threshold, further combining the correlation matching result between the above-mentioned laser point cloud data and the local map, determine the robot's slipping condition in the current laser frame. With this solution, the amount of calculation is relatively low, and it can effectively determine whether the wheels of the mobile robot slip during the movement, thereby solving the problem that the wheels of the robot slip during the movement in the related technology have a great impact on the entire system.
[0026] The predetermined sensor is a sensor other than the odometer, and may be a sensor for measuring position change and angle change, for example, an inertial sensor IMU.
[0027] For example, the relative posture data between the two frames solved by the IMU (i.e., the first position change and the first angle change) can be compared with the relative posture data solved by the odometer (i.e., the second position change and the second angle change), Condition 1: the difference between the second position change and the first position change is greater than or equal to the first predetermined position change threshold (e.g., 2 cm); Condition 2: the difference between the second angle change and the first angle change is greater than or equal to the first predetermined angle change threshold (e.g., 1°); When Condition 1 or Condition 2 is met, or both Condition 1 and Condition 2 are met, the next step of the judgment process can be entered, that is, combining the correlation matching results of the laser point cloud data and the local map to judge the slipping condition of the robot in the current laser frame.
[0028] Preferably, in step S103, combined with the correlation matching result between the above-mentioned laser point cloud data and the local map, judging the slipping condition of the robot in the current laser frame may further include: using the posture data of the current laser frame solved by the above-mentioned odometer as the initial value of the correlation matching between the above-mentioned laser point cloud data and the local map, and obtaining multiple first correlation matching scores; comparing the position change associated with the highest score among the above-mentioned multiple first correlation matching scores with the second predetermined position change threshold, and comparing the angle change associated with the highest score among the above-mentioned multiple first correlation matching scores with the second predetermined angle change threshold; when the position change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the above-mentioned second predetermined position change threshold, and / or the angle change associated with the highest score among the above-mentioned multiple first correlation matching scores is greater than or equal to the above-mentioned second predetermined angle change threshold, it is determined that the robot slips in the current laser frame.
[0029] In the preferred implementation process, the pose data of the current laser frame solved by the above odometer (for example, x0, y0, θ0) is used as the initial value of the correlation matching between the above laser point cloud data and the local map, and multiple groups of matching results can be obtained, each group of matching results includes: x relative change dx, y relative change dy, θ relative change d θ , and the correlation matching score Score. The position change amount (determined by dx, dy) associated with the highest score Score(max) among the multiple correlation matching scores Score is compared with a second predetermined position change threshold (for example, 5 cm), and the angle change amount (determined by dx, dy) associated with the highest score among the multiple correlation matching scores is compared with the second predetermined position change threshold (for example, 5 cm). θ Condition 3: when the position change amount associated with the above-mentioned highest score is greater than or equal to the above-mentioned second predetermined position change threshold value; Condition 4: when the angle change amount associated with the above-mentioned highest score is greater than or equal to the above-mentioned second predetermined angle change threshold value, it is determined that the robot slips in the current laser frame; when condition 3 or condition 4 is met, or when condition 3 and condition 4 are met at the same time, it is determined that the robot slips in the current laser frame.
[0030] Preferably, after determining that the robot slips in the current laser frame, the above-mentioned method may further include: using the posture data solved by the above-mentioned predetermined sensor (for example, the inertial sensor IMU) as the initial value of the correlation matching between the above-mentioned laser point cloud data and the local map, and obtaining multiple second correlation matching scores; using the posture data associated with the highest score among the above-mentioned multiple second correlation matching scores as the initial value of CERES optimization, and obtaining the above-mentioned CERES-optimized posture data as the final posture data of the robot in the above-mentioned current laser frame.
[0031] Ceres Solver is a C++ library used to solve optimization problems in related technologies. The essence of optimization problems is to adjust the optimization variables so that the estimated values obtained by optimizing variable modeling are constantly close to the observed data (making the objective function decrease). It is a process of continuously adjusting the optimization variables under the maximum likelihood framework to obtain unbiased estimation of the estimated values obtained by optimizing variable modeling under observation conditions.
[0032] In the preferred implementation process, after determining that the robot slips in the current laser frame, the position data (e.g., x0', y0', θ0') of the current laser frame solved by the above-mentioned predetermined sensor (e.g., IMU) is used as the initial value of the correlation matching between the above-mentioned laser point cloud data and the local map, and multiple groups of matching results can be obtained, each group of matching results includes: x relative change dx', y relative change dy', θ relative change d θ ', and the correlation matching score Score'. The pose data x1', y1', θ1' (x0', y0', θ0', dx', dy', dx') associated with the highest score Score'(max) among the multiple correlation matching scores Score' are θ 'Determine) as the initial value of CERES optimization, and obtain the above CERES optimized posture data as the final posture data x2', y2', θ2' of the robot in the above current laser frame.
[0033] Preferably, in step S103, when the difference between the second position change and the first position change is less than the first predetermined position change threshold, and the difference between the second angle change and the first angle change is less than the first predetermined angle change threshold, the following processing may also be included: using the posture data solved by the odometer as the initial value for the correlation matching between the laser point cloud data and the local map, and obtaining multiple third correlation matching scores; using the posture data associated with the highest score among the multiple third correlation matching scores as the initial value for CERES optimization, and obtaining the posture data after CERES optimization as the final posture data of the robot in the current laser frame.
[0034] In the preferred implementation process, when the above conditions 1 and 2 are not met at the same time, the pose data of the current laser frame solved by the above odometer (for example, x0, y0, θ0) is used as the initial value of the correlation matching between the above laser point cloud data and the local map, and multiple groups of matching results can be obtained, each group of matching results includes: x relative change dx, y relative change dy, θ relative change d θ , and the correlation matching score Score. The pose data x1, y1, θ1 (x0, y0, θ0, dx, dy, dx) associated with the highest score Score (max) among the multiple correlation matching scores Score) are θDetermine) as the initial value of CERES optimization, and obtain the pose data after CERES optimization as the final pose data x2, y2, θ2 of the robot in the current laser frame.
[0035] Preferably, before obtaining the first position change and the first angle change between the current laser frame and the previous laser frame solved by the predetermined sensor, the following processing may also be included: judging the slipping condition of the above-mentioned robot in the previous laser frame; if the above-mentioned robot slips in the above-mentioned previous laser frame, using a uniform motion model, combined with the timestamp corresponding to each laser point, to compensate for the position and posture data of each laser point in the laser point cloud data to remove motion distortion; if the above-mentioned robot does not slip in the above-mentioned previous laser frame, then integrating the position and posture data solved by the above-mentioned predetermined sensor and the above-mentioned odometer, and using an interpolation method to compensate for the position and posture data of each laser point in the laser point cloud data to remove motion distortion.
[0036] A frame of laser point cloud is composed of multiple laser points, and these laser points are not generated at the same time. Therefore, during the movement of the laser radar, the references of the laser points in a frame are different, which will cause motion distortion. For example, when the robot rotates at a speed of 1.60 rad / s, if the radar frequency is 10 Hz, the references of the first and last points in a frame of laser points will differ by 1.60*0.1=0.16 rad.
[0037] In the preferred implementation process, if the robot slips in the previous frame of the current frame, the uniform motion model can be used, combined with the timestamp corresponding to each laser point, to compensate for the position and posture data of each laser point in the laser point cloud data to remove motion distortion. Specifically, a corresponding timestamp is assigned to each laser point in a frame of laser point cloud data; using the uniform motion model, the movement speed v1 between the current frame schedule and the previous frame schedule is considered equal to the movement speed v2 between the previous frame schedule and the previous two frames schedule. The movement speed v2 between the previous frame and the previous two frames can be calculated by matching the position and posture changes and time changes between the two frames; then, based on the obtained movement speed v2, combined with the timestamp corresponding to each laser point, the position and posture data of each laser point in the laser point cloud data set are compensated to remove motion distortion.
[0038] If the robot does not slip in the previous laser frame, the pose data calculated by the predetermined sensor (e.g., IMU) and the odometer are integrated, and the pose data of each laser point in the laser point cloud data is compensated by interpolation to remove motion distortion. Specifically, a laser time segment in the middle that exceeds the interpolation time is selected each time, with the starting point being start and the end point being middle. The poses of the starting and end points of this segment are obtained by the odometer and IMU to avoid the problem of time asynchrony. Interpolation is performed internally, with several points interpolated, so that each laser point has its own pose.
[0039] In the preferred implementation process, after the ceres optimization is performed, the local map can be updated according to the final pose data obtained.
[0040] Preferably, after judging the slipping condition of the robot in the current laser frame in combination with the correlation matching result of the laser point cloud data and the local map, the method may further include: determining the motion state of the robot in combination with the current posture angle of the robot and the judgment result of the slipping condition, and triggering the robot to perform one of the following processing according to the motion state:
[0041] If the robot slips in the current laser frame and the attitude angle is less than the first predetermined angle threshold or greater than the second angle threshold, the robot executes a corresponding escape process;
[0042] If the robot slips in the current laser frame, and the posture angle is greater than or equal to the first predetermined angle threshold and less than or equal to the second angle threshold, and the number of consecutive frames in which the position change of the odometer is less than the currently acquired posture change exceeds the predetermined frame number threshold, the robot is triggered to perform alarm processing.
[0043] In the preferred implementation process, the robot's motion state can be determined by combining the robot's posture angle given by the simultaneous localization and mapping (SLAM) module and the above-mentioned slip judgment result, and corresponding processing can be performed:
[0044] When the robot slips in the current laser frame and the posture angle is less than the first predetermined angle threshold (for example, -5°, etc.) or greater than the second predetermined angle threshold (for example, 5°, etc.), the robot may be stuck by an obstacle or fall into a pit, and the robot executes the corresponding escape process. For example, the robot can be triggered to accelerate or decelerate and retreat to escape.
[0045] When the robot slips in the current laser frame, if the attitude angle is greater than or equal to the first predetermined angle threshold (for example, -5°, etc.) and less than or equal to the second predetermined angle threshold (for example, 5°, etc.), and the number of consecutive frames in which the odometer position change is less than the posture change given by SLAM exceeds the predetermined number of frames (for example, 5 frames, etc.), it indicates that the wheel may be locked, etc., and the robot can be triggered to perform alarm processing to prompt relevant personnel to check whether the wheel is abnormal.
[0046] The following combination Figure 2 The above preferred embodiments are further described.
[0047] Figure 2 1 is a flow chart of a method for detecting a robot slipping according to a preferred embodiment of the present invention. Figure 2 As shown, the robot's slip detection method includes:
[0048] Step S201: Determine the slip condition of the robot in the previous frame, and select a distorted motion model based on the determination result. If the robot did not slip in the previous frame, use the interpolation of the IMU and odometer to remove the motion distortion of the laser point cloud; if the robot slipped in the previous frame, use the uniform speed model between the two frames to remove the motion distortion.
[0049] Step S202: Compare the relative posture between the two frames solved by the IMU with the relative posture solved by the odometer.
[0050] In the preferred implementation process, the first position change and the first angle change between the current laser frame and the previous laser frame solved by the IMU are obtained; the second position change and the second angle change between the above-mentioned current laser frame and the above-mentioned previous laser frame solved by the odometer are obtained; condition 1: determine whether the difference between the above-mentioned second position change and the above-mentioned first position change is greater than or equal to the first predetermined position change threshold, and / or, condition 2: determine whether the difference between the above-mentioned second angle change and the above-mentioned first angle change is greater than or equal to the first predetermined angle change threshold.
[0051] When condition 1 is satisfied, or condition 2 is satisfied, or both condition 1 and condition 2 are satisfied, step S203 is executed; when condition 1 and condition 2 are not satisfied, step S206 is executed.
[0052] Step S203: combining the correlation matching results between the laser point cloud data and the local map, determining the slipping condition of the robot in the current laser frame.
[0053] In the preferred implementation process, the pose data of the current laser frame solved by the odometer is used as the initial value of the correlation matching between the laser point cloud data and the local map to obtain multiple first correlation matching scores; the position change associated with the highest score among the multiple first correlation matching scores is compared with the second predetermined position change threshold, and the angle change associated with the highest score among the multiple first correlation matching scores is compared with the second predetermined angle change threshold; Condition 3: The position change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the second predetermined position change threshold; Condition 4: The angle change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the second predetermined angle change threshold.
[0054] When condition 3 is met, or condition 4 is met, or both condition 3 and condition 4 are met, it is determined that the robot slips in the current laser frame, and step S204 is executed; when condition 3 and condition 4 are not met, step S206 is executed.
[0055] Step S204: using the posture data solved by the IMU as the initial value of the correlation matching between the laser point cloud data and the local map, and obtaining a plurality of second correlation matching scores; then executing step S205.
[0056] Step S205: taking the posture data associated with the highest score among the plurality of second correlation matching scores as the initial value of CERES optimization, obtaining the posture data after CERES optimization as the final posture data of the robot in the current laser frame, and then executing S208.
[0057] Step S206: using the posture data solved by the odometer as the initial value of the correlation matching between the laser point cloud data and the local map, and obtaining a plurality of third correlation matching scores; then executing S207.
[0058] Step S207: taking the posture data associated with the highest score among the plurality of third correlation matching scores as the initial value of CERES optimization, obtaining the posture data after CERES optimization as the final posture data of the robot in the current laser frame, and then executing S208.
[0059] Step S208: After executing the CERES optimization, the local map is updated according to the final pose data obtained.
[0060] In the above embodiment, a combination of multiple sensors is used to determine the robot's slipping condition. The odometer and IMU posture comparison are first used as a preliminary judgment, and then the correlation matching result between the laser point cloud data and the local map is used as a second judgment. Due to the introduction of multiple judgment detection mechanisms for multiple conditions, the accuracy and reliability of the robot's slip detection results are effectively guaranteed. In addition, the amount of calculation is low, the implementation is simple, and high accuracy can be guaranteed even when the robot slips.
[0061] According to an embodiment of the present invention, a robot slippage detection device is also provided.
[0062] Figure 3 is a structural block diagram of a robot slip detection device according to an embodiment of the present invention. Figure 3 As shown, the slip detection device of the robot includes: a first acquisition module 30, used to obtain a first position change and a first angle change between a current laser frame and a previous laser frame solved by a predetermined sensor; a second acquisition module 32, used to obtain a second position change and a second angle change between the current laser frame and the previous laser frame solved by an odometer; a detection and determination module 34, used to determine the slip condition of the robot in the current laser frame when the difference between the second position change and the first position change is greater than or equal to a first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to a first predetermined angle change threshold, in combination with the correlation matching result between the laser point cloud data and the local map.
[0063] use Figure 3 In the device shown, the first acquisition module 30 acquires the first position change and the first angle change between the current laser frame and the previous laser frame calculated by a predetermined sensor (e.g., IMU, etc.); the second acquisition module 32 acquires the second position change and the second angle change between the current laser frame and the previous laser frame calculated by the odometer; the detection and determination module 34 further combines the correlation matching result between the laser point cloud data and the local map to determine the slipping condition of the robot in the current laser frame when the difference between the second position change and the first position change is greater than or equal to the first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to the first predetermined angle change threshold. With this solution, the amount of calculation is relatively low, and it can effectively determine whether the mobile robot has problems such as wheel slippage and idling during movement, thereby solving the problems in the related art that when the robot has wheel slippage and idling during movement, the observation data of the odometer is affected, and the front-end processing of the SLAM algorithm using graph optimization has a great impact.
[0064] Preferably, if Figure 4As shown, the detection and determination module 34 further includes: an acquisition unit 340, used to use the position and posture data of the current laser frame solved by the odometer as the initial value of the correlation matching between the laser point cloud data and the local map, and obtain multiple first correlation matching scores; a comparison unit 342, used to compare the position change associated with the highest score among the multiple first correlation matching scores with the second predetermined position change threshold, and to compare the angle change associated with the highest score among the multiple first correlation matching scores with the second predetermined angle change threshold; a determination unit 344, used to determine that the robot is slipping in the current laser frame when the position change associated with the highest score is greater than or equal to the second predetermined position change threshold, and / or the angle change associated with the highest score is greater than or equal to the second predetermined angle change threshold.
[0065] Preferably, if Figure 4 As shown, the above-mentioned device may also include: a judgment module 36, used to judge the slipping condition of the above-mentioned robot in the previous laser frame; a compensation module 38, used to use a uniform motion model, combined with a timestamp corresponding to each laser point, to compensate for the position and posture data of each laser point in the laser point cloud data when the above-mentioned robot slips in the above-mentioned previous laser frame, so as to remove motion distortion; when the above-mentioned robot does not slip in the above-mentioned previous laser frame, the position and posture data solved by the above-mentioned predetermined sensor and the above-mentioned odometer are integrated, and the position and posture data of each laser point in the laser point cloud data are compensated by an interpolation method to remove motion distortion.
[0066] It should be noted that the preferred implementation of the mutual combination of the modules in the above-mentioned robot slip detection device can be specifically referred to in Figure 1 to Figure 2 The corresponding related descriptions and effects in the illustrated embodiments can be understood and will not be repeated here.
[0067] According to an embodiment of the present invention, a robot is provided.
[0068] Figure 5 is a structural block diagram of a robot according to an embodiment of the present invention. Figure 5 As shown, the robot according to the present invention includes: a memory 50 and a processor 52, wherein the memory 50 is used to store computer-executable instructions; the processor 52 is used to execute the computer-executable instructions stored in the memory, so that the robot executes the robot slip detection method provided in the above embodiment.
[0069] The processor 52 may be a central processing unit (CPU). The processor 52 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination of the above chips.
[0070] The memory 50, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as program instructions / modules corresponding to the robot repositioning method in the embodiment of the present invention. The processor executes various functional applications and data processing of the processor by running the non-transitory software programs, instructions and modules stored in the memory.
[0071] The memory 50 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required by at least one function; the data storage area may store data created by the processor, etc. In addition, the memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 50 may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0072] The one or more modules are stored in the memory 50 and when executed by the processor 52, the following steps are performed: Figure 1 and Figure 2 The robot repositioning method in the illustrated embodiment.
[0073] For details of the above robots, please refer to Figure 1 and Figure 2 The corresponding related descriptions and effects in the illustrated embodiments can be understood and will not be repeated here.
[0074] In summary, with the aid of the above-mentioned implementation mode provided by the present invention, a combination of multiple sensors is used to determine the slipping condition of the robot. The odometer and IMU posture comparison are first used as a preliminary judgment, and then the correlation matching result between the laser point cloud data and the local map is used as another judgment. Due to the introduction of multiple judgment and detection mechanisms for multiple conditions, the accuracy and reliability of the robot slip detection results are effectively guaranteed. In the correlation matching stage between the laser point cloud and the local map, the slip processing is set in the CERES optimization and laser point cloud distortion removal stage. The above-mentioned technical solution can effectively determine whether the mobile robot has problems such as wheel slippage and idling during movement, and the calculation amount is relatively low, the implementation is simple, and a high degree of accuracy can be guaranteed even when the robot slips.
[0075] The above disclosures are only several specific embodiments of the present invention; however, the present invention is not limited thereto, and any changes that can be conceived by those skilled in the art should fall within the protection scope of the present invention.
Claims
1. A method for detecting slippage of a robot, characterized in that: include: Acquire a first position change and a first angle change between a current laser frame and a previous laser frame resolved by a predetermined sensor; Obtaining a second position change and a second angle change between the current laser frame and the previous laser frame solved by the odometer; as well as When the difference between the second position change and the first position change is greater than or equal to a first predetermined position change threshold, and / or when the difference between the second angle change and the first angle change is greater than or equal to a first predetermined angle change threshold, the slipping condition of the robot in the current laser frame is determined in combination with the correlation matching result between the laser point cloud data and the local map; Wherein, combining the correlation matching result of the laser point cloud data and the local map, judging the slipping condition of the robot in the current laser frame includes: Using the pose data of the current laser frame solved by the odometer as the initial value of the correlation matching between the laser point cloud data and the local map, and obtaining a plurality of first correlation matching scores; Comparing the position change associated with the highest score among the plurality of first correlation matching scores with a second predetermined position change threshold, and comparing the angle change associated with the highest score among the plurality of first correlation matching scores with a second predetermined angle change threshold; When the position change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the second predetermined position change threshold, and / or the angle change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the second predetermined angle change threshold, it is determined that the robot slips in the current laser frame.
2. The method according to claim 1, characterized in that The step of determining that the robot slips in the current laser frame further includes: Using the posture data solved by the predetermined sensor as the initial value of the correlation matching between the laser point cloud data and the local map, and obtaining a plurality of second correlation matching scores; The pose data associated with the highest score among the multiple second correlation matching scores is used as the initial value of CERES optimization, and the pose data after CERES optimization is obtained as the final pose data of the robot in the current laser frame.
3. The method according to claim 1, characterized in that When the difference between the second position change and the first position change is less than a first predetermined position change threshold, and the difference between the second angle change and the first angle change is less than a first predetermined angle change threshold, the method further includes: Using the pose data solved by the odometer as the initial value of the correlation matching between the laser point cloud data and the local map, and obtaining a plurality of third correlation matching scores; The pose data associated with the highest score among the multiple third correlation matching scores is used as the initial value of CERES optimization, and the pose data after CERES optimization is obtained as the final pose data of the robot in the current laser frame.
4. The method according to claim 1, characterized in that: Before obtaining the first position change amount and the first angle change amount between the current laser frame and the previous laser frame resolved by the predetermined sensor, the method further includes: Determining the slip condition of the robot in the previous laser frame; If the robot slips in the previous laser frame, the uniform motion model is used to compensate the position and posture data of each laser point in the laser point cloud data in combination with the timestamp corresponding to each laser point to remove motion distortion; If the robot does not slip in the previous laser frame, the posture data solved by the predetermined sensor and the odometer are fused, and the posture data of each laser point in the laser point cloud data is compensated using an interpolation method to remove motion distortion.
5. The method according to claim 1, characterized in that After judging the slipping condition of the robot in the current laser frame by combining the correlation matching result of the laser point cloud data and the local map, the method further includes: The robot's motion state is determined based on the current posture angle of the robot and the judgment result of the slipping condition, and the robot is triggered to perform one of the following processing according to the motion state: If the robot slips in the current laser frame and the attitude angle is less than the first predetermined angle threshold or greater than the second predetermined angle threshold, the robot is triggered to execute a corresponding escape process; If the robot slips in the current laser frame, and the posture angle is greater than or equal to the first predetermined angle threshold and less than or equal to the second predetermined angle threshold, and the number of consecutive frames in which the position change of the odometer is less than the currently acquired posture change exceeds the predetermined frame number threshold, the robot is triggered to perform alarm processing.
6. The method according to claim 1, characterized in that The predetermined sensor includes: an inertial sensor.
7. A robot slip detection device, characterized in that: include: A first acquisition module, used to acquire a first position change and a first angle change between a current laser frame and a previous laser frame resolved by a predetermined sensor; A second acquisition module, used to acquire a second position change and a second angle change between the current laser frame and the previous laser frame solved by the odometer; as well as a detection and determination module, configured to determine the slipping condition of the robot in the current laser frame in combination with the correlation matching result of the laser point cloud data and the local map when the difference between the second position change amount and the first position change amount is greater than or equal to a first predetermined position change threshold value, and / or when the difference between the second angle change amount and the first angle change amount is greater than or equal to a first predetermined angle change threshold value; Wherein, the detection and determination module further includes: An acquisition unit, configured to use the pose data of the current laser frame solved by the odometer as an initial value for correlation matching between the laser point cloud data and the local map, and acquire a plurality of first correlation matching scores; a comparing unit, configured to compare a position change amount associated with a highest score among the plurality of first correlation matching scores with a second predetermined position change threshold, and to compare an angle change amount associated with a highest score among the plurality of first correlation matching scores with a second predetermined angle change threshold; A determination unit is used to determine that the robot slips in the current laser frame when the position change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the second predetermined position change threshold, and / or the angle change associated with the highest score among the multiple first correlation matching scores is greater than or equal to the second predetermined angle change threshold.
8. The device according to claim 7, characterized in that Also includes: A judgment module, used to judge the slipping condition of the robot in the previous laser frame; A compensation module, used to compensate the position and posture data of each laser point in the laser point cloud data by using a uniform motion model and combining the timestamp corresponding to each laser point when the robot slips in the previous laser frame, so as to remove motion distortion; When the robot does not slip in the previous laser frame, the posture data solved by the predetermined sensor and the odometer are integrated, and the posture data of each laser point in the laser point cloud data is compensated by an interpolation method to remove motion distortion.
9. A robot comprising: A memory and a processor, characterized in that: The memory is used to store computer-executable instructions; The processor is used to execute the computer-executable instructions stored in the memory, so that the robot performs the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Robot slipping detecting method and robot slipping correcting method
CN108638053A
Mobile robot positioning method and device, electronic equipment and storage medium
CN113376650A