CN112956961B - Sweeping robot, repositioning method and repositioning device thereof, and storage medium - Google Patents
Sweeping robot, repositioning method and repositioning device thereof, and storage medium Download PDFInfo
- Publication number
- CN112956961B CN112956961B CN202110296441.0A CN202110296441A CN112956961B CN 112956961 B CN112956961 B CN 112956961B CN 202110296441 A CN202110296441 A CN 202110296441A CN 112956961 B CN112956961 B CN 112956961B
- Authority
- CN
- China
- Prior art keywords
- sweeping robot
- scoring calculation
- repositioning
- scoring
- laser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
- A47L11/4008—Arrangements of switches, indicators or the like
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The invention is applicable to the technical field of sweeping robots and provides a sweeping robot, a repositioning method, a repositioning device and a storage medium thereof, wherein the method comprises the following steps: when the sweeping robot is detected to leave the ground and return to the ground again, at least one frame of laser radar signal is selected to carry out position scoring calculation on the sweeping robot, and a plurality of different position scoring calculation values are obtained; sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance; and comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number as a target position for repositioning the sweeping robot according to a comparison result. The invention realizes the rapid positioning of the condition of returning to the ground after being held without restarting the SLAM.
Description
Technical Field
The invention belongs to the technical field of robots, and particularly relates to a sweeping robot, a repositioning method and device thereof, and a storage medium.
Background
The sweeping robot is held up and then falls down due to external factors in the walking process, the positioning of the sweeping robot is invalid due to the process, and at the moment, if corresponding strategies are not adopted for timely correction, the sweeping robot can perform positioning and even map building according to wrong positioning results, so that problems and even map flowers occur in navigation path planning and the like. Therefore, when the sweeping robot is held up and then returns to the ground again in the walking process, how to quickly and accurately complete the positioning correction of the sweeping robot is a technical problem encountered in the actual research and development process of the sweeping robot.
Disclosure of Invention
In view of this, embodiments of the present invention provide a sweeping robot, a repositioning method and apparatus thereof, and a storage medium, so as to solve the problem of how to reposition quickly when the sweeping robot returns to the ground after being held up.
A first aspect of the embodiments of the present invention provides a method for repositioning a cleaning robot, which at least includes the following steps: when the sweeping robot is detected to leave the ground and return to the ground again, at least one frame of laser radar signal is selected to carry out position scoring calculation on the sweeping robot, and a plurality of different position scoring calculation values are obtained; sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance; and comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number as a target position for repositioning the sweeping robot according to a comparison result.
In some optional embodiments, the determining, according to a result of the comparison, a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot includes: and if the variance is larger than or equal to a preset first threshold value, determining that the position corresponding to the highest position scoring calculation value in the designated number of position scoring calculation values is the target position for repositioning the sweeping robot.
In some optional embodiments, the determining that the position corresponding to the highest position scoring calculation value in the specified number of position scoring calculation values is the target position at which the sweeping robot is repositioned further includes: calculating the difference value between the highest position scoring calculation value and the next highest position scoring calculation value in the position scoring calculation values of the appointed number; judging whether the difference value is larger than a preset second threshold value, wherein the second threshold value is smaller than the highest position scoring calculation value; and if so, determining the position corresponding to the highest position scoring calculation value as the target position for repositioning the sweeping robot.
In some optional embodiments, after determining whether the difference value is greater than a preset second threshold, the method further includes: if not, the sweeping robot rotates in situ at different angles in sequence to obtain the next frame of laser radar signal; aiming at the highest position scoring calculation value and the next highest position scoring calculation value, performing position scoring calculation again by using the next frame of laser radar signal acquired by rotating different angles to obtain position scoring calculation values of multiple results; and selecting the position with the most matching times as a target position for repositioning the sweeping robot according to the position scoring calculation value.
In some optional embodiments, the determining, according to a result of the comparing, a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot further includes: if the variance is smaller than a preset first threshold value, rotating the sweeping robot in situ to reacquire the next frame of laser radar signals at different angles; according to the obtained next frame of laser radar signal, carrying out position scoring calculation on the sweeping robot again to obtain a group of different position scoring calculation values again; sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance; and comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number according to a comparison result to serve as a target position for repositioning the sweeping robot.
In some alternative embodiments, further comprising: when the sweeping robot is rotated in situ to obtain the next frame of laser radar signals at different angles and the target position still cannot be determined, moving the sweeping robot forward or backward to change the position; and according to the position of the sweeping robot after the sweeping robot moves, re-executing the sweeping robot repositioning method to determine the target position.
In some alternative embodiments, further comprising: when the target position of the sweeping robot is determined, at least the target position is transmitted back to the synchronous positioning and mapping module of the sweeping robot, and the positioning and mapping of the sweeping robot are recovered.
A second aspect of the embodiments of the present invention provides a floor sweeping robot repositioning device, which at least includes: the position scoring calculation module is used for selecting at least one frame of laser radar signal to perform position scoring calculation on the sweeping robot when the sweeping robot is detected to leave the ground and return to the ground again to obtain a plurality of different position scoring calculation values; the scoring variance calculating module is used for sorting the plurality of different position scoring calculated values according to the sequence from top to bottom, and selecting a specified number of position scoring calculated values arranged in the front in the sorting to calculate the variance; and the target position determining module is used for comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values in the specified number as a target position for repositioning the sweeping robot according to a comparison result.
A third aspect of the embodiments of the present invention provides a sweeping robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of the sweeping robot repositioning method according to any one of the first aspect when executing the computer program.
A fourth aspect of the embodiments of the present invention provides a storage medium, which stores a computer program, and the computer program, when executed by a processor, implements the steps of the floor sweeping robot repositioning method according to any one of the first aspects.
Compared with the prior art, the embodiment of the invention has the following beneficial effects: according to the invention, the position scoring calculation is carried out by carrying out laser scanning on the position of the sweeping robot which returns to the ground again after being held up, so that a plurality of different position scoring calculation values are obtained, and then the position corresponding to the position scoring calculation value which meets the preset condition is selected as the target position for repositioning by means of sequencing and variance calculation, so that the situation that the sweeping robot returns to the ground again after being held up is rapidly positioned under the condition that the SLAM is not restarted, and the positioning and drawing construction work of the sweeping robot is rapidly resumed.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed for the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a flowchart of an implementation of the method for repositioning a cleaning robot according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a repositioning device of a cleaning robot according to an embodiment of the invention;
fig. 3 is a sweeping robot to which the sweeping robot repositioning method or device can be applied.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to explain the technical means of the present invention, the following description will be given by way of specific examples.
Fig. 1 is a flowchart of an implementation of the method for repositioning a sweeping robot according to an embodiment of the present invention, as shown in fig. 1, the method for repositioning a sweeping robot at least includes the following steps S01-S04:
s01, when the sweeping robot is detected to leave the ground and return to the ground again, at least one frame of laser radar signal is selected to carry out position scoring calculation on the sweeping robot, and a plurality of different position scoring calculation values are obtained;
s02, sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance;
and S03, comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number according to a comparison result to be used as a target position for repositioning the sweeping robot.
According to the method, aiming at the condition that the sweeping robot is suddenly held up and then returns to the ground in the walking process, the laser radar signals on the sweeping robot are utilized to re-score and calculate the positions of the sweeping robot so as to obtain a plurality of different position scoring calculated values, then the position scoring calculated values are sorted from high to low to select a plurality of position scoring calculated values arranged in front to calculate the variance, and then the preset threshold value is compared with the calculated variance to determine the re-positioned target position.
Specifically, in step S01, the position score of the sweeping robot is calculated by using the laser radar signal on the sweeping robot to calculate the score of the position of the sweeping robot after returning to the ground. For example, at least one frame of laser radar signal is selected to calculate the position score of the sweeping robot, which may specifically include steps S101 to S104:
s101, at least one frame of laser radar signal of the sweeping robot in a static state is obtained.
In order to make the result more reliable, the laser radar signal should contain more hit information as much as possible, and if the reliability of the laser at the current position is poor, the sweeper can be moved to search to obtain a reliable laser radar signal and is static.
S102, obtaining a map which is built at present, and traversing a feasible reachable area for the first time with the map precision according to the laser radar signal.
The map is generally a grid map, which is a two-dimensional map, the grid map divides x and y by resolution, and the first layer of traversal assumes that the robot is in any grid pixel.
And S103, when the position is at any position of the map, performing second traversal on the pose angle in a mode of 5 degrees of iteration each time.
And performing the second time of traversal of the pose angle in a mode of 5 degrees of iteration each time until the pose angle is stopped after traversing 360 degrees.
And S104, when a certain pose is specified, scoring calculation is carried out.
Wherein the scoring specifically includes filtering each laser in the lidar signal, where the filtering is of a potentially erroneous laser and all missed lasers. For example, when the laser hits an obstacle, it is detected whether the previous grid map cell hit by the grid map cell is a feasible reachable cell, and if not, it represents that the laser has an error, and no calculation can be added.
Then, after filtering, the laser which can participate in calculation is calculated according to the following steps in sequence: calculating the position coordinates of the laser hitting point on the map; calculating the position coordinate of the previous feasible region of the hit point in the laser direction; when the hit rate of the map grid where the hit points are located is higher than the hit threshold and the concentration rate of the grids where the feasible regions are located is lower than the hit threshold, calculating the difference between the hit position and the center position of the grid, and marking as distance, then scoring to calculate a score + ═ exp (-1.0/σ distance), wherein σ is a confidence index, and is adjustable, and the magnitude is generally one percent. And summing all the laser beams according to the calculation above to obtain the score of the position under the laser frame.
Specifically, in the step S02, the position scoring calculated values obtained by calculating the positions of the sweeping robot are sorted in the order from high to low, a specified number of scoring calculated values arranged in front are selected from the sorted position scoring calculated values, for example, the 5-10 scoring calculated values arranged in front are selected, and then the variance of the selected scoring calculated values is calculated, where the variance represents the difference of the surrounding environment of the sweeping robot, and the larger the variance is, the larger the difference of the surrounding environment of the sweeping robot is, which is more beneficial to realizing positioning; conversely, the smaller the difference in the environmental space around the specification, the less easy it is to achieve accurate positioning.
Further, in the step S03, determining, according to the comparison result, a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot, further includes step S301: and if the variance is larger than or equal to a preset first threshold value, determining that the position corresponding to the highest position scoring calculation value in the designated number of position scoring calculation values is the target position for repositioning the sweeping robot.
The first threshold value may be generally adjusted and set according to the accuracy of the lidar sensor, and a specific set value is not limited, and may be set to 25 to 35, for example.
Specifically, in the step S301, determining that a position corresponding to a highest position scoring calculation value in the specified number of position scoring calculation values is a target position for repositioning the sweeping robot may specifically include: s311, calculating the difference value between the highest position scoring calculation value and the second highest position scoring calculation value in the designated number of position scoring calculation values; s312, judging whether the difference value is larger than a preset second threshold value, wherein the second threshold value is smaller than the highest position scoring calculation value; and S313, if so, determining that the position corresponding to the highest position scoring calculation value is the target position for repositioning the sweeping robot.
The second threshold value can also be set according to the experimental condition of the robot during sweeping in a specific application scene. Typically, the second threshold is 1/5 to 1/3 of the highest scoring calculation.
Further, after the step S313, the method may further include the step of: s314, if not, sequentially rotating the sweeping robot at different angles in situ to obtain a next frame of laser radar signal; s315, aiming at the highest position scoring calculation value and the second highest position scoring calculation value, performing position scoring calculation again by utilizing the next frame of laser radar signals obtained by rotating different angles to obtain position scoring calculation values of multiple results; and S316, selecting the position with the most matching times as a target position for repositioning the sweeping robot according to the position scoring calculation value. According to the method, the repositioning target position is determined according to the difference value between the highest position scoring calculation value and the second highest position scoring calculation value, so that the positioning of the sweeping robot can be accurately realized.
In step S314, the sweeping robot rotates in situ at different angles in turn, may rotate in situ at two different angles at random, or may regularly select two angles according to a preset angle. For example, in step S314, the sweeper may be sequentially rotated by 45 degrees and 90 degrees in situ to acquire the next frame of lidar signal.
Further, the step S03 may further include the steps of: s302, if the variance is smaller than a preset first threshold value, rotating the sweeping robot in situ to reacquire the next frame of laser radar signals at different angles; s303, according to the obtained next frame of laser radar signal, carrying out position scoring calculation on the sweeping robot again to obtain a group of different position scoring calculation values again; s02, sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance; and S03, comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number as a target position for repositioning the sweeping robot according to the comparison result.
With reference to the step S301, when the variance obtained after the position scoring calculation is performed on one frame of laser radar signal acquired by the sweeping robot cannot reposition the target position of the sweeping robot, the next frame of laser radar signal is acquired again through the steps S302 to S303, and the position of the sweeping robot is determined again by performing the position scoring calculation and the variance calculation again according to the acquired laser radar signal, and after a group of different position scoring calculation values are obtained again in the step S303, the steps S02 to S03 are repeated to determine the target position of the sweeping robot, until the target position can be determined.
Further, since the positions of the sweeping robots are calculated by using the laser radar signals of the sweeping robots at the same position and at different angles, in practice, due to the positions of the sweeping robots, the target positions cannot be determined by rotating different angles to acquire different laser radar signals for position calculation, and at this time, it is indicated that the target positions of the sweeping robots cannot be acquired by the method. In view of such a situation, in practical applications, the present application further provides the following supplementary technical solutions.
Specifically, the method for repositioning the sweeping robot may further include the steps of: s04, when the next frame of laser radar signals at different angles is obtained by rotating the sweeping robot in situ and the target position still cannot be determined, moving the sweeping robot forward or backward to change the position; and S05, re-executing the re-positioning method of the sweeping robot to determine the target position according to the position of the sweeping robot after the sweeping robot moves.
Furthermore, after the position of the sweeping robot is determined again, the sweeping robot can work according to the determined target position without restarting SLAM (Simultaneous Localization and Mapping), so that the working efficiency of the sweeping robot is improved.
Specifically, the method for repositioning the sweeping robot may further include the steps of: and S06, when the target position of the sweeping robot is determined, at least returning the target position to the synchronous positioning and mapping module of the sweeping robot, and recovering the positioning and mapping of the sweeping robot. By the method, the sweeping robot can quickly position the condition that the sweeping robot returns to the ground again after being held without restarting the SLAM, so that the positioning and map building work of the sweeping robot is recovered.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by functions and internal logic of the process, and should not limit the implementation process of the embodiments of the present invention in any way.
Under the same invention concept, based on the floor sweeping robot repositioning, the invention also provides a floor sweeping robot repositioning device.
Referring to fig. 2, which is a schematic structural diagram of a sweeping robot repositioning device according to an embodiment of the present invention, as shown in fig. 2, the sweeping robot repositioning device 200 at least includes: the position scoring calculation module 201 is configured to, when it is detected that the sweeping robot leaves the ground and returns to the ground again, select at least one frame of laser radar signal to perform position scoring calculation on the sweeping robot, so as to obtain a plurality of different position scoring calculation values; a scoring variance calculation module 202, configured to sort the multiple different position scoring calculation values according to a top-to-bottom order, and select a designated number of position scoring calculation values that are ranked in the top in the sort to calculate a variance; and the target position determining module 203 is configured to compare the variance with a preset threshold, and determine, according to a comparison result, a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot.
In an optional embodiment, the target position determining module 203 includes: and the first target position calculating module is used for determining that the position corresponding to the highest position scoring calculation value in the designated number of position scoring calculation values is the target position relocated by the sweeping robot if the variance is greater than or equal to a preset first threshold value.
In an optional embodiment, the first target position calculation module further includes: a difference value calculation unit configured to calculate a difference value between a highest position score calculation value and a second highest position score calculation value among the specified number of position score calculation values; a difference value comparison unit, configured to determine whether the difference value is greater than a preset second threshold value, where the second threshold value is smaller than the highest position scoring calculation value; and if so, determining the position corresponding to the highest position scoring calculation value as the target position for repositioning the sweeping robot.
In an optional embodiment, the first target position calculation module further includes: the first laser reacquisition unit is used for rotating the sweeping robot in situ by different angles in sequence to acquire the next frame of laser radar signal if the sweeping robot does not rotate in situ by different angles; the first re-scoring calculation unit is used for performing position scoring calculation again on the next frame of laser radar signals acquired by rotating different angles according to the highest position scoring calculation value and the second highest position scoring calculation value to obtain position scoring calculation values of multiple results; and selecting the position with the most matching times as a target position for repositioning the sweeping robot according to the position scoring calculation value.
In an optional embodiment, the target position determining module 203 includes: the second laser reacquiring unit is used for rotating the sweeping robot in situ to reacquire the next frame of laser radar signals under different angles if the variance is smaller than a preset first threshold value; the second re-scoring calculation unit is used for performing position scoring calculation on the sweeping robot again according to the acquired next frame of laser radar signal to obtain a group of different position scoring calculation values again; the scoring variance calculation module is used for sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance; and the target position determining module 203 is configured to compare the variance with a preset threshold, and determine, according to a comparison result, a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot.
In an optional embodiment, further comprising: the position moving control module is used for moving the sweeping robot forwards or backwards to change the position when the next frame of laser radar signals at different angles can not be determined by rotating the sweeping robot in situ; and the target position recalculation module is used for executing the sweeping robot repositioning method again according to the position of the sweeping robot after moving so as to determine the target position.
In an optional embodiment, the method further comprises: and the target position synchronization module is used for at least transmitting the target position back to the synchronous positioning and mapping module of the sweeping robot when the target position of the sweeping robot is determined, and recovering the positioning and mapping of the sweeping robot.
Since the floor sweeping robot repositioning device and the floor sweeping robot repositioning method belong to the same invention concept and have the same specific technical characteristics, the technical content of the floor sweeping robot repositioning device is not repeated, and the content of the floor sweeping robot repositioning method can be referred to specifically.
Referring to fig. 3, a sweeping robot to which the sweeping robot repositioning method or the sweeping robot repositioning device may be applied is provided in an embodiment of the present invention, wherein fig. 3 only shows a part of a structure of the sweeping robot related to the present application, and as for other parts of the structure, reference may be made to a structure of an existing sweeping robot, which is not described in detail herein. As shown in fig. 3, the cleaning robot 300 includes: a processor 301, a memory 302 and a computer program 303, e.g. an executable computer program, stored in said memory 302 and executable on said processor 301. The processor 301, when executing the computer program 303, implements the steps in the above embodiments of the robot cleaning repositioning method, such as the steps S01 to S03 shown in fig. 1. Alternatively, the processor 301, when executing the computer program 303, implements the functions of each module/unit in each device embodiment described above, for example, the functions of the modules 201 to 203 shown in fig. 2.
Illustratively, the computer program 303 may be partitioned into one or more modules/units, which are stored in the memory 302 and executed by the processor 301 to implement the present invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the computer program 303 in the sweeping robot 300. For example, the computer program 303 may be divided into a location score calculation module 201, a score variance calculation module 202 and a target location determination module 203.
The sweeping robot 300 includes, but is not limited to, a processor 301 and a memory 302. Those skilled in the art will appreciate that figure 3 is merely an example of the sweeping robot 300 and is not intended to limit the sweeping robot 300 and may include more or fewer components than shown, or some components may be combined, or different components.
The Processor 301 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 302 may be an internal storage unit of the cleaning robot 300, such as a hard disk or a memory of the cleaning robot 300. The memory 302 may also be an external storage device of the sweeping robot 300, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, which are provided on the sweeping robot 300. Further, the memory 302 may also include both an internal memory unit and an external memory device of the sweeping robot 300. The memory 302 is used for storing the computer program and other programs and data required by the device/terminal equipment. The memory 302 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. For the specific working processes of the units and modules in the system, reference may be made to the corresponding processes in the foregoing method embodiments, which are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other ways. For example, the above-described embodiments of the apparatus/terminal device are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the method according to the above embodiments of the present invention can also be implemented by a computer program to instruct related hardware, where the computer program can be stored in a computer readable storage medium, and when the computer program is executed by a processor, the steps of the above embodiments of the method for repositioning the sweeping robot can be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
The above-mentioned embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.
Claims (10)
1. A floor sweeping robot repositioning method is characterized by at least comprising the following steps:
when the sweeping robot is detected to leave the ground and return to the ground again, at least one frame of laser radar signal is selected to carry out position scoring calculation on the sweeping robot, and a plurality of different position scoring calculation values are obtained;
sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a designated number of position scoring calculation values arranged in the front in the sorting to calculate the variance;
comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number as a target position for repositioning the sweeping robot according to a comparison result;
the method for performing position scoring calculation on the sweeping robot by selecting at least one frame of laser radar signal comprises the following steps:
acquiring at least one frame of laser radar signals of the sweeping robot in a static state;
acquiring a currently established map, and traversing a feasible reachable area for the first time according to the laser radar signal with the map precision;
when the map is at any position of the map, performing second traversal on the pose angle in a manner of 5 degrees of iteration each time;
when a certain pose is specified, scoring calculation is carried out; wherein, the scoring calculation specifically comprises:
filtering each laser beam in the laser radar signals to filter the laser with errors and all the laser which is not hit;
the filtered laser is sequentially subjected to scoring calculation according to the following steps: calculating the position coordinates of the laser hitting point on the map; calculating the position coordinate of the previous feasible region of the hitting point in the laser direction; when the hit rate of the map grid where the hit point is located is higher than a hit threshold and the hit rate of the grid where the previous feasible region is located is lower than the hit threshold, calculating a difference between the hit point position and the grid center position, and marking the difference as distance, then scoring and calculating a score, which is (exp (-1.0/σ) distance) where σ is a confidence index.
2. The method for repositioning the sweeping robot according to claim 1, wherein the determining a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot according to the comparison result comprises:
and if the variance is larger than or equal to a preset first threshold value, determining that the position corresponding to the highest position scoring calculation value in the designated number of position scoring calculation values is the target position for repositioning the sweeping robot.
3. The method of claim 2, wherein the determining that the position corresponding to the highest scoring calculation value among the specified number of scoring calculation values is the target position for repositioning the sweeping robot further comprises:
calculating a difference value between the highest position scoring calculation value and the next highest position scoring calculation value in the designated number of position scoring calculation values;
judging whether the difference value is larger than a preset second threshold value, wherein the second threshold value is smaller than the highest position scoring calculation value;
and if so, determining that the position corresponding to the highest position scoring calculation value is the target position for repositioning the sweeping robot.
4. The method of claim 3, wherein after determining whether the difference is greater than a second predetermined threshold, the method further comprises:
if not, the sweeping robot rotates in situ at different angles in sequence to obtain the next frame of laser radar signal;
aiming at the highest position scoring calculation value and the next highest position scoring calculation value, performing position scoring calculation again by using the next frame of laser radar signal acquired by rotating different angles to obtain position scoring calculation values of multiple results;
and selecting the position with the most matching times as a target position for repositioning the sweeping robot according to the position scoring calculation value.
5. The method of claim 2, wherein the determining a position corresponding to one of the specified number of position scoring calculations as a target position for the repositioning of the sweeping robot according to the comparison result further comprises:
if the variance is smaller than a preset first threshold value, rotating the sweeping robot in situ to reacquire the next frame of laser radar signals at different angles;
according to the obtained next frame of laser radar signal, position scoring calculation is carried out on the sweeping robot again, and a group of different position scoring calculation values are obtained again;
sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance;
and comparing the variance with a preset threshold value, and determining a position corresponding to one of the position scoring calculation values of the specified number as a target position for repositioning the sweeping robot according to a comparison result.
6. The sweeping robot repositioning method of claim 5, further comprising:
when the next frame of laser radar signals at different angles can not be determined by rotating the sweeping robot in situ, moving the sweeping robot forwards or backwards to change the position of the sweeping robot;
and re-executing the sweeping robot repositioning method to determine the target position according to the position of the sweeping robot after the sweeping robot moves.
7. The method for repositioning the sweeping robot according to any one of claims 1 to 6, further comprising transmitting at least the target position back to the synchronous positioning and mapping module of the sweeping robot when the target position of the sweeping robot is determined, and recovering the positioning and mapping of the sweeping robot.
8. A floor sweeping robot repositioning device, comprising at least:
the position scoring calculation module is used for selecting at least one frame of laser radar signal to perform position scoring calculation on the sweeping robot when the sweeping robot is detected to leave the ground and return to the ground again to obtain a plurality of different position scoring calculation values;
the scoring variance calculation module is used for sorting the plurality of different position scoring calculation values according to the sequence from top to bottom, and selecting a specified number of position scoring calculation values arranged in the front in the sorting to calculate the variance;
the target position determining module is used for comparing the variance with a preset threshold value and determining a position corresponding to one of the specified number of position scoring calculation values as a target position for repositioning the sweeping robot according to a comparison result;
the position scoring calculation module is specifically configured to:
acquiring at least one frame of laser radar signal of the sweeping robot in a static state;
acquiring a currently established map, and traversing a feasible reachable area for the first time according to the laser radar signal with the accuracy of the map;
when the map is at any position of the map, performing second traversal on the pose angle in a manner of 5 degrees of iteration each time;
when a certain pose is specified, scoring calculation is carried out; wherein, the scoring calculation specifically comprises:
filtering each laser beam in the laser radar signals to filter the laser with errors and all the missed laser beams;
the filtered laser is sequentially subjected to scoring calculation as follows: calculating the position coordinates of the laser hitting point on the map; calculating the position coordinate of the previous feasible region of the hit point in the laser direction; when the hit rate of the map grid where the hit point is located is higher than a hit threshold and the hit rate of the grid where the previous feasible region is located is lower than the hit threshold, calculating a difference between the hit point position and the grid center position, and marking the difference as distance, then scoring and calculating a score, which is (exp (-1.0/σ) distance) where σ is a confidence index.
9. A sweeping robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the steps of the method according to any one of claims 1 to 7 are implemented when the computer program is executed by the processor.
10. A storage medium storing a computer program, characterized in that the computer program realizes the steps of the method according to any one of claims 1 to 7 when executed by a processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110296441.0A CN112956961B (en) | 2021-03-19 | 2021-03-19 | Sweeping robot, repositioning method and repositioning device thereof, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110296441.0A CN112956961B (en) | 2021-03-19 | 2021-03-19 | Sweeping robot, repositioning method and repositioning device thereof, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112956961A CN112956961A (en) | 2021-06-15 |
CN112956961B true CN112956961B (en) | 2022-08-23 |
Family
ID=76277762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110296441.0A Active CN112956961B (en) | 2021-03-19 | 2021-03-19 | Sweeping robot, repositioning method and repositioning device thereof, and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112956961B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113558524B (en) * | 2021-07-14 | 2022-11-29 | 北京小狗吸尘器集团股份有限公司 | Sweeping robot and method and device for repositioning lifted sweeping robot |
CN114993304A (en) * | 2022-06-29 | 2022-09-02 | 北京石头创新科技有限公司 | Method, device, medium and electronic equipment for determining position of robot |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109141437A (en) * | 2018-09-30 | 2019-01-04 | 中国科学院合肥物质科学研究院 | A kind of robot global method for relocating |
CN109807911A (en) * | 2019-03-14 | 2019-05-28 | 湖南超能机器人技术有限公司 | Based on GNSS, UWB, IMU, laser radar, code-disc the multi-environment joint positioning method of outdoor patrol robot |
CN110174894A (en) * | 2019-05-27 | 2019-08-27 | 小狗电器互联网科技(北京)股份有限公司 | Robot and its method for relocating |
CN110412596A (en) * | 2019-07-10 | 2019-11-05 | 上海电机学院 | A kind of robot localization method based on image information and laser point cloud |
CN110900602A (en) * | 2019-11-26 | 2020-03-24 | 苏州博众机器人有限公司 | Positioning recovery method and device, robot and storage medium |
-
2021
- 2021-03-19 CN CN202110296441.0A patent/CN112956961B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109141437A (en) * | 2018-09-30 | 2019-01-04 | 中国科学院合肥物质科学研究院 | A kind of robot global method for relocating |
CN109807911A (en) * | 2019-03-14 | 2019-05-28 | 湖南超能机器人技术有限公司 | Based on GNSS, UWB, IMU, laser radar, code-disc the multi-environment joint positioning method of outdoor patrol robot |
CN110174894A (en) * | 2019-05-27 | 2019-08-27 | 小狗电器互联网科技(北京)股份有限公司 | Robot and its method for relocating |
CN110412596A (en) * | 2019-07-10 | 2019-11-05 | 上海电机学院 | A kind of robot localization method based on image information and laser point cloud |
CN110900602A (en) * | 2019-11-26 | 2020-03-24 | 苏州博众机器人有限公司 | Positioning recovery method and device, robot and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN112956961A (en) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599541B (en) | Method and device for calibrating multiple sensors and storage medium | |
CN112956961B (en) | Sweeping robot, repositioning method and repositioning device thereof, and storage medium | |
CN109977466B (en) | Three-dimensional scanning viewpoint planning method and device and computer readable storage medium | |
CN111380510B (en) | Repositioning method and device and robot | |
CN110433467B (en) | Operation method and device of table tennis ball picking robot based on binocular vision and ant colony algorithm | |
CN111428578B (en) | Self-body and positioning method and device thereof | |
CN111113422B (en) | Robot positioning method and device, computer readable storage medium and robot | |
CN110927732A (en) | Pose recognition method, electronic device, and storage medium | |
CN112180914A (en) | Map processing method, map processing device, storage medium and robot | |
CN115326051A (en) | Positioning method and device based on dynamic scene, robot and medium | |
CN115290066A (en) | Error correction method and device and mobile equipment | |
CN113345005B (en) | Finite random search method suitable for target ball center calculation | |
CN113317733B (en) | Path planning method and cleaning robot | |
CN113459088B (en) | Map adjustment method, electronic device and storage medium | |
US20230413712A1 (en) | Path finding method and system for weeding robot | |
CN113503876A (en) | Multi-sensor fusion laser radar positioning method, system and terminal | |
CN112212863B (en) | Grid map creation method and system | |
CN113440054B (en) | Method and device for determining range of charging base of sweeping robot | |
CN112223281A (en) | Robot and positioning method and device thereof | |
CN113558524B (en) | Sweeping robot and method and device for repositioning lifted sweeping robot | |
CN112214560B (en) | Grid map updating method and system | |
CN113985395A (en) | Method and system for searching target by guiding photoelectric servo turntable through radar | |
Xiao et al. | Indoor robot visual positioning system based on floor features | |
CN112214040B (en) | Configuration method and configuration system for optimal elevation angle in grid unit | |
CN118778644A (en) | Garbage recycling robot control method and related equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |