A positioning method, device, medium and robot in a long corridor scene
By combining wheel-based odometers and ICP methods with laser frames for positioning in corridor scenarios, the problem of robot positioning loss in corridor scenarios has been solved. This achieves autonomous and accurate positioning, without relying on GPS or reflectors, and is highly adaptable.
Patent Information
- Application Number
- CN202211476638.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-23
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2042-11-23
AI Technical Summary
Patrol robots are prone to losing their location in long corridors. Existing methods, such as adding GPS positioning devices, increase costs and are easily obstructed, while affixing reflective panels requires certain conditions.
The system employs a combination of wheel odometer and ICP method with laser frames for positioning. First, the wheel odometer is used for rough positioning, and then the ICP method is used for precise positioning when the destination is near, thus avoiding reliance on GPS and reflectors.
It achieves autonomous positioning in corridor scenarios, has good adaptability, does not increase robot costs and does not require additional hardware equipment, and improves the accuracy and reliability of positioning.
Smart Images

Figure CN115900715B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of robot technology, in particular to a positioning method and device in a long corridor scene, a medium and a robot. BACKGROUND
[0002] The patrol robot needs to autonomously patrol in the working scene, and needs to pre-construct a 3D point cloud map of the working scene through laser SLAM (Simultaneous Localization and Mapping) technology. The robot positioning is output by real-time registration of laser scanning profile and point cloud map, but in the face of very long corridor-like scenes, the laser scanning profile is "basically unchanged" (reference Fig. 1-2 ) even if the robot is advancing, which leads to easy positioning loss of the patrol robot in the long corridor scene.
[0003] The existing method for positioning the mobile robot in the long corridor mainly includes:
[0004] 1. Install a GPS positioning device, which mainly positions according to received satellite signals, but in some conditions, such as the high-rise buildings in the city, the signal will be blocked, and the measurement error of the GPS signal can reach 10 m, which meets the requirements of real-time positioning. However, the installation of the GPS positioning device will increase the cost of the robot, and the GPS is easy to be blocked.
[0005] 2. Paste "reflective plates" on both sides of the long corridor, because the "reflective plates" can be clearly distinguished under laser scanning, as long as the number of pasted "reflective plates" is sufficient, the patrol robot can perform real-time positioning according to the scanned "reflective plates". This method requires that the long corridor has the condition to paste the reflective plates.
[0006] The background description provided herein is for the purpose of generally presenting the context of the disclosure. The subject matter of the section is not prior art to the present application and is not admitted to be prior art by inclusion in this section. SUMMARY
[0007] In view of the above technical problems in the related art, the present application provides a positioning method in a long corridor scene, which includes the following steps:
[0008] S1, detecting that the robot walks to the starting point A of the long corridor;
[0009] S2, acquiring the wheel odometer positioning odom_L, when the current laser scanning frame Scan_current is acquired, wherein L is the length of the long corridor, is the cumulative error of the wheel odometer, wherein
[0010] S3, obtaining SC descriptor SC_current corresponding to current laser scanning frame Scan_current;
[0011] S4, obtaining SC descriptor SC_B corresponding to laser scanning frame Scan_B of the end point B of the long corridor in the point cloud map map of the long corridor scene constructed by the robot; when the vector difference norm between the current SC_B and SC_current is less than a first threshold value, it is considered that the robot reaches the end point B of the long corridor, and step S5 is executed; otherwise, step S2 is executed;
[0012] S5, using Scan_B as a source point cloud and the current frame Scan_current as a target point cloud, the target point cloud is registered to the source point cloud by using the ICP method, and if the score after ICP registration is less than a second threshold value, it is considered that the robot comes to the end point B of the long corridor, and the position of the B point in the point cloud map is taken as the current position of the robot in the point cloud map.
[0013] Specifically, step S1 further comprises:
[0014] S10, obtaining a point cloud map map of a long corridor scene constructed by the robot; wherein the point cloud map map of the long corridor scene frames the start point A and the end point B of the long corridor;
[0015] S20, using laser profile and point cloud map matching positioning to determine whether the robot walks to the start point A of the long corridor.
[0016] Specifically, step S1 further comprises:
[0017] S10, obtaining a point cloud map map of a long corridor scene constructed by the robot; wherein the point cloud map map of the long corridor scene frames the start point A and the end point B of the long corridor;
[0018] S20', obtaining SC descriptor SC_A corresponding to the laser scanning frame Scan_A of the start point A of the long corridor in the point cloud map map; obtaining the first current laser scanning frame Scan_current1 and the SC descriptor SC_current1 corresponding to the first current laser scanning frame Scan_current1, and when the vector difference norm between the current SC_A and SC_current1 is less than a first threshold value, it is considered that the robot reaches the start point A of the long corridor.
[0019] Specifically, the first threshold value is 10.
[0020] In a second aspect, another embodiment of the present application discloses a positioning device in a long corridor scene, which comprises the following units:
[0021] A long corridor start point acquisition unit is configured to detect that the robot walks to the start point A of the long corridor.
[0022] a current laser scan frame acquisition unit configured to acquire a current laser scan frame Scan_current, wherein L is a length of the long corridor, a current odometer position odom_L, when odom_L is greater than or equal to L, the current laser scan frame Scan_current is acquired, a cumulative error of the odometer, wherein odom_L is greater than or equal to L,
[0023] a current laser frame SC descriptor acquisition unit configured to acquire an SC descriptor SC_current corresponding to the current laser scan frame Scan_current;
[0024] a descriptor judgment unit configured to acquire an SC descriptor SC_B corresponding to a laser scan frame Scan_B of an end point B of the long corridor in a point cloud map map of the long corridor scene constructed by the robot; when a vector difference norm between the current SC_B and the SC_current is less than a first threshold value, it is considered that the robot reaches the end point B of the long corridor, and the positioning unit is executed; otherwise, the first long corridor start point judgment unit is executed.
[0025] a positioning unit configured to use Scan_B as a source point cloud and the current frame Scan_current as a target point cloud, and use an ICP method to register the target point cloud to the source point cloud; if a score after ICP registration is less than a second threshold value, it is considered that the robot reaches the end point B of the long corridor, and a position of the point B in the point cloud map is directly taken as a current position of the robot in the point cloud map.
[0026] Specifically, the long corridor start point acquisition unit further includes:
[0027] a long corridor scene point cloud map construction unit configured to acquire a point cloud map map of the long corridor scene constructed by the robot; wherein the point cloud map map of the long corridor scene frames out a long corridor start point A and a long corridor end point B;
[0028] a first long corridor start point judgment unit configured to use laser profile and point cloud map matching positioning to judge whether the robot walks to the long corridor start point A.
[0029] Specifically, the long corridor start point acquisition unit further includes:
[0030] a long corridor scene point cloud map construction unit configured to acquire a point cloud map map of the long corridor scene constructed by the robot; wherein the point cloud map map of the long corridor scene frames out a long corridor start point A and a long corridor end point B;
[0031] The second long corridor starting point judging unit is used for obtaining an SC descriptor SC A corresponding to a laser scanning frame Scan A of a long corridor starting point A in a point cloud map map; obtaining a first current laser scanning frame Scan current1 and an SC descriptor SC current1 corresponding to the first current laser scanning frame Scan current1; and when a vector difference norm between the current SC A and the SC current1 is less than a first threshold value, it is considered that the robot reaches the long corridor starting point A.
[0032] Specifically, the first threshold value is 10.
[0033] In a third aspect, another embodiment of the present application discloses a non-volatile memory, which stores instructions, and the instructions are executed by a processor to implement the positioning method in the long corridor scenario.
[0034] In a fourth aspect, another embodiment of the present application discloses a robot, which comprises a processing module, a chassis, a storage module and a laser radar, and the storage module stores instructions, and the instructions are executed to implement the positioning method in the long corridor scenario.
[0035] The present application first detects whether the robot enters the long corridor, uses the long corridor positioning mode after the robot enters the long corridor, uses the wheeled odometer for positioning in the long corridor positioning mode, uses the laser frame for SC operator calculation when the positioning result output by the wheeled odometer is obtained quickly to the long corridor end, judges whether the robot reaches the long corridor end, and uses the ICP for more accurate positioning when it is determined that the robot reaches the long corridor end. The positioning method in the long corridor scenario of the present application does not need to rely on additional hardware devices such as GPS, and does not need to paste a reflector, and has good adaptability. BRIEF DESCRIPTION OF DRAWINGS
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed in the embodiments. Obviously, the drawings described below are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0037] Fig. 1 is a long corridor schematic diagram provided by the embodiment of the present application;
[0038] Fig. 2 is a long corridor point cloud schematic diagram provided by the embodiment of the present application;
[0039] Fig. 3 is a long corridor scene positioning method flowchart provided by the embodiment of the present application;
[0040] Fig. 4 is a kind of long corridor scene under the positioning device schematic diagram provided by the embodiment of the present application;
[0041] Fig. 5 is a kind of long corridor scene under the positioning device schematic diagram provided by the embodiment of the present application. DETAILED DESCRIPTION
[0042] The technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the drawings in the embodiments of the present application.Obviously, the described embodiments are only part of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art belong to the scope of protection of the present application.
[0043] Embodiment one
[0044] Reference Fig. 3 The embodiment discloses a positioning method under long corridor scene, which comprises the following steps:
[0045] S1, detecting that the robot walks to the long corridor starting point A;
[0046] The robot of the embodiment walks in a non-long corridor scene when walking in the long corridor, i.e. the robot of the embodiment walks in a non-long corridor scene first, and then enters the long corridor at a certain time.
[0047] Specifically, when walking in a non-long corridor scene, laser profile and point cloud map matching positioning are used.
[0048] For a long corridor, when the selected one end of the long corridor is the starting point A, the other end of the long corridor corresponds to the long corridor ending point B.
[0049] Specifically, the embodiment only uses the long corridor starting point A and the long corridor ending point B to relatively represent the entrance and exit of the long corridor, but for a long corridor, both ends can be used as starting point or ending point. That is, the long corridor starting point A and the ending point B of the embodiment can be exchanged.
[0050] When the robot walks to the long corridor starting point A is detected, the long corridor positioning mode is entered, i.e. the positioning mode of step S2 is executed.
[0051] Specifically, when the robot walks to the long corridor starting point A is detected, the laser radar positioning mode can be used to obtain whether the robot reaches the long corridor starting point A.
[0052] The specific step S1 further comprises:
[0053] S10, acquire a point cloud map map of a long corridor scene constructed by a robot; wherein the point cloud map map of the long corridor scene frames a starting point A of the long corridor and an ending point B of the long corridor;
[0054] The robot of the embodiment comprises a laser radar, which is used to construct a 3D point cloud map of a working scene using a laser SLAM (Simultaneous Localization and Mapping) technology. First, the robot is moved to the starting point of the long corridor, and then the robot is started to perform SLAM mapping. When constructing the point cloud map of the long corridor scene, the robot of the embodiment needs to be manually controlled to walk for mapping, so as to prevent the robot from walking incorrectly due to the long corridor scene and causing mapping failure.
[0055] Specifically, before step S1 is performed, the long corridor scene needs to be mapped, and the starting point A of the long corridor and the ending point B of the long corridor are marked in the constructed point cloud map map.
[0056] S20, use laser profile and point cloud map matching to determine whether the robot walks to the starting point A of the long corridor;
[0057] Specifically, the laser scanning profile is matched with the point cloud map in real time to output the robot positioning. When the marked starting point A of the long corridor is matched, it is considered that the robot walks to the starting point A of the long corridor.
[0058] In another embodiment, determining whether the robot walks to the starting point A of the long corridor further comprises:
[0059] S20', acquire a SC descriptor SC_A corresponding to a laser scanning frame Scan_A of the starting point A of the long corridor in the point cloud map map; acquire a first current laser scanning frame Scan_current1 of the robot, and acquire a SC descriptor SC_current1 corresponding to the first current laser scanning frame Scan_current1. When a vector difference norm between the current SC_A and the SC_current1 is less than a first threshold value, it is considered that the robot reaches the starting point A of the long corridor.
[0060] Scan Context is applied to 3D point cloud-based repositioning and scene recognition, which compresses 3D information of a scene and converts information of a Cartesian coordinate system to a polar coordinate system for calculation.
[0061] S2, acquire a wheeled odometer positioning odom_L, and acquire a current laser scanning frame Scan_current when L is the length of the long corridor, is the cumulative error of the wheeled odometer,
[0062] The robot in this embodiment will close the laser positioning and open the wheel odometer positioning odom_L after entering the long corridor positioning mode, and use the wheel odometer for positioning. Assuming that the cumulative error of the wheel odometer is 10%, for example, the wheel odometer outputs 10m, then the actual position of the robot may be within [9m, 11m].
[0063] The robot in this embodiment is 10%.
[0064] When positioning in a long corridor, if the error is 10%, it is considered that the positioning result output by the wheel odometer is within 0.9*L, and it is considered that the robot may have reached the end point B of the long corridor.
[0065] This embodiment obtains the wheel odometer positioning odom_L, and when odom_L>0.9*L, the current laser scan frame Scan_current is obtained; and laser positioning is performed according to the current laser scan frame Scan_current.
[0066] S3, the SC descriptor SC_current corresponding to the current laser scan frame Scan_current is obtained;
[0067] Specifically, the SC descriptor SC_current corresponding to the current laser scan frame Scan_B is calculated using Scan Context in this embodiment.
[0068] The current laser scan frame Scan_current indicates that the robot may be about to reach the end point B of the long corridor.
[0069] S4, the SC descriptor SC_B corresponding to the laser scan frame Scan_B of the end point B of the long corridor in the point cloud map map constructed by the robot is obtained; when the vector difference between the current SC_B and SC_current is less than a first threshold value, it is considered that the robot has reached the end point B of the long corridor, and step S5 is performed; otherwise, step S2 is performed.
[0070] |SC current -SC_B|<10
[0071] Specifically, the first threshold value in this embodiment is 10.
[0072] S5, using Scan_B as the source point cloud and the current frame Scan_current as the target point cloud, the target point cloud is registered to the source point cloud using the ICP method, and if the score after ICP registration is less than a second threshold value, it is considered that the robot has reached the end point B of the long corridor, and the position of the point cloud in the point cloud map is directly taken as the current position of the robot in the point cloud map.
[0073] Specifically, the second threshold value is 0.3.
[0074] The embodiment firstly detects whether the robot enters the long corridor, after the robot enters the long corridor, a long corridor positioning mode is used, positioning is performed using a wheel odometer in the long corridor positioning mode, when the positioning result output by the wheel odometer is acquired to the end of the long corridor, the SC operator calculation is performed using the laser frame, whether the robot reaches the end of the long corridor is judged, when it is determined that the robot reaches the end of the long corridor, ICP is used for more accurate positioning. The positioning method of the long corridor scene in the embodiment does not need to rely on additional hardware devices such as GPS, and does not need to paste a reflector plate, and has good adaptability.
[0075] Embodiment two
[0076] Reference Fig. 4 The embodiment discloses a positioning device in a long corridor scene, which comprises the following units:
[0077] A long corridor starting point acquisition unit is configured to detect that the robot walks to a long corridor starting point A.
[0078] The robot of the embodiment walks in a non-long corridor scene when walking in the long corridor, that is, the robot of the embodiment first walks in a non-long corridor scene, and then enters the long corridor at a certain moment.
[0079] Specifically, when walking in a non-long corridor scene, laser profile and point cloud map matching positioning is used.
[0080] For a long corridor, when the selected one end of the long corridor is the starting point A, the other end of the long corridor corresponds to the long corridor ending point B.
[0081] Specifically, the embodiment only uses the long corridor starting point A and the long corridor ending point B to relatively represent the entrance and exit of the long corridor, but for a long corridor, both ends can be used as a starting point or an ending point. That is, the long corridor starting point A and the ending point B of the embodiment can be exchanged.
[0082] The embodiment enters a long corridor positioning mode when detecting that the robot walks to the long corridor starting point A, that is, the positioning mode of the current laser scanning frame acquisition unit is executed.
[0083] Specifically, the embodiment can use a laser radar positioning method to acquire whether the robot reaches the long corridor starting point A when detecting that the robot walks to the long corridor starting point A.
[0084] The specific long corridor starting point acquisition unit further comprises:
[0085] A long corridor scene point cloud map mapping unit is configured to acquire a point cloud map map of a long corridor scene constructed by the robot; wherein the point cloud map map of the long corridor scene frames out the long corridor starting point A and the long corridor ending point B.
[0086] The robot of the embodiment comprises a laser radar, which is used to construct a 3D point cloud map of a working scene using a laser SLAM (Simultaneous Localization and Mapping) technology. First, the robot is moved to the starting point of the corridor, and then the robot is started to perform SLAM mapping. When constructing the point cloud map of the corridor scene, the robot of the embodiment needs to be manually controlled to walk for mapping, so as to prevent the robot from walking incorrectly due to the corridor scene and causing mapping failure.
[0087] Specifically, the embodiment needs to first map the corridor scene. In the constructed point cloud map map, the starting point A of the corridor and the ending point B of the corridor are marked.
[0088] The first corridor starting point judgment unit is used to determine whether the robot walks to the starting point A of the corridor by matching the laser profile with the point cloud map.
[0089] Specifically, the robot positioning is output by real-time registration of the laser scanning profile and the point cloud map. When the marked starting point A of the corridor is matched, it is considered that the robot walks to the starting point A of the corridor.
[0090] In another embodiment, determining whether the robot walks to the starting point A of the corridor further comprises:
[0091] The second corridor starting point judgment unit is used to obtain the SC descriptor SC_A corresponding to the laser scanning frame Scan_A of the starting point A of the corridor in the point cloud map map, obtain the first current laser scanning frame Scan_current1 of the robot, and obtain the SC descriptor SC_current1 corresponding to the first current laser scanning frame Scan_current1. When the vector difference norm between the current SC_A and SC_current1 is less than a first threshold value, it is considered that the robot reaches the starting point A of the corridor.
[0092] Scan Context is applied to 3D point cloud-based repositioning and scene recognition, which compresses 3D scene information and converts Cartesian coordinate system information to polar coordinate system for calculation.
[0093] The current laser scanning frame acquisition unit is used to obtain the wheeled odometer positioning odom_L, and when the current laser scanning frame Scan_current is obtained, wherein L is the length of the corridor, is the cumulative error of the wheeled odometer, wherein
[0094] The robot of the embodiment will close the laser positioning and open the wheel odometer positioning odom_L after entering the long corridor positioning mode, and use the wheel odometer for positioning. Assuming that the cumulative error of the wheel odometer is 10%, for example, the wheel odometer outputs 10m, and then the actual position of the robot may be within [9m, 11m].
[0095] The embodiment of the application is 10%.
[0096] When positioning in the long corridor, if the error is 1%, it is considered that the positioning result output by the wheel odometer is within 0.9*L, and then it is considered that the robot may have reached the end point B of the long corridor.
[0097] The embodiment of the application obtains the wheel odometer positioning odom_L, and obtains the current laser scan frame Scan_current, and performs laser positioning according to the current laser scan frame Scan_current.
[0098] The current laser frame SC descriptor acquisition unit is configured to acquire an SC descriptor SC_current corresponding to the current laser scan frame Scan_current.
[0099] Specifically, the embodiment uses the Scan Context to calculate the SC descriptor SC_current corresponding to the current laser scan frame Scan_B.
[0100] The descriptor judgment unit is configured to acquire an SC descriptor SC_B corresponding to the laser scan frame Scan_B of the end point B of the long corridor in the point cloud map map of the long corridor scene constructed by the robot, and when the vector difference norm between the current SC_B and the SC_current is less than a first threshold value, it is considered that the robot reaches the end point B of the long corridor.
[0101] The positioning unit is configured to use the Scan_B as a source point cloud and the current frame Scan_current as a target point cloud, and use the ICP method to register the target point cloud to the source point cloud, and if the score after the ICP registration is less than a second threshold value, it is considered that the robot reaches the end point B of the long corridor, and the position of the B point in the point cloud map is directly used as the position of the robot in the point cloud map.
[0102] |SC current -SC_B|<10
[0103] Specifically, the first threshold value of the embodiment is 10.
[0104] The positioning unit is configured to use the Scan_B as a source point cloud and the current frame Scan_current as a target point cloud, and use the ICP method to register the target point cloud to the source point cloud, and if the score after the ICP registration is less than a second threshold value, it is considered that the robot reaches the end point B of the long corridor, and the position of the B point in the point cloud map is directly used as the position of the robot in the point cloud map.
[0105] The embodiment firstly detects whether the robot enters the corridor, after the robot enters the corridor, a corridor positioning mode is used, positioning is performed using a wheel odometer in the corridor positioning mode, when the positioning result output by the wheel odometer is acquired to the end of the corridor, the SC operator calculation is performed using a laser frame, whether the robot reaches the end of the corridor is judged, when it is determined that the robot reaches the end of the corridor, ICP is used for more accurate positioning. The positioning method in the corridor scene of the embodiment does not need to rely on additional hardware devices such as GPS, and does not need to paste a reflector plate, and has good adaptability.
[0106] Embodiment three
[0107] The embodiment discloses a robot, the robot comprises a processing module, a chassis, a storage module, a laser radar, the storage module stores instructions, when the instructions are executed, a positioning method in a corridor scene is realized as in embodiment one.
[0108] In another embodiment, a robot, the robot comprises a processing module, a chassis, a storage module, a laser radar, and further comprises a positioning device in a corridor scene as in embodiment two.
[0109] Embodiment four
[0110] Reference Fig. 5 , Fig. 5 is a structural schematic diagram of a positioning device in a corridor scene of the embodiment. The positioning device 20 in the corridor scene of the embodiment comprises a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. The processor 21 implements the steps in the above method embodiments when executing the computer program. Alternatively, the processor 21 implements the functions of each module / unit in the above device embodiments when executing the computer program.
[0111] For example, the computer program can be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program in the positioning device 20 in the corridor scene. For example, the computer program can be divided into the modules in embodiment two, and the specific functions of each module are described in the working process of the device in the above embodiment, which will not be repeated here.
[0112] The positioning device 20 in the long corridor scene can include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art can understand that the schematic diagram is only an example of the positioning device 20 in the long corridor scene, and does not constitute a limitation on the positioning device 20 in the long corridor scene, and can include more or fewer components than the diagram, or combine certain components, or different components, for example, the positioning device 20 in the long corridor scene can also include an input / output device, a network access device, a bus, etc.
[0113] The processor 21 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic components, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The processor 21 is the control center of the positioning device 20 in the long corridor scene, and connects various parts of the entire positioning device 20 in the long corridor scene through various interfaces and lines.
[0114] The memory 22 can be used to store computer programs and / or modules, and the processor 21 realizes various functions of the positioning device 20 in the long corridor scene by running or executing computer programs and / or modules stored in the memory 22, and calling data stored in the memory 22. The memory 22 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.), etc.; and the data storage area can store data created according to the use of the mobile phone (such as audio data, a phonebook, etc.), etc. In addition, the memory 22 can include a high-speed random access memory, and can also include a non-volatile memory, for example, a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0115] The modules / units integrated in the positioning device 20 in the long corridor scene can be stored in a computer-readable storage medium if they are realized in the form of software function units and sold or used as independent products. Based on this understanding, all or part of the processes in the above-mentioned embodiment methods can also be completed by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor 21, the steps of the above-mentioned various method embodiments can be implemented. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or some intermediate forms, etc. The computer-readable medium can include any entity or device, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc. that can carry the computer program code. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0116] It should be noted that the apparatus embodiments described above are merely illustrative, and the units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e., they can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment scheme according to actual needs. In addition, the connection relationship between the modules in the apparatus embodiment provided by the present application indicates that there is a communication connection between them, which can be realized as one or more communication buses or signal lines. Those skilled in the art can understand and implement it without creative labor.
[0117] The above only describes the preferred embodiments of the present application and does not limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A positioning method in a corridor scenario, comprising the following steps: S1, the robot has been detected to have walked to the starting point A of the corridor; S2, obtain the wheel odometer positioning odom_L, when odom_L > The current laser scan frame, Scan_current, is obtained, where L is the length of the corridor. The cumulative error of the wheel odometer is denoted as , where ; S3, obtain the SC descriptor SC_current corresponding to the current laser scan frame Scan_current; S4, obtain the SC descriptor SC_B corresponding to the laser scan frame Scan_B of the corridor endpoint B in the point cloud map map of the corridor scene constructed by the robot; if the difference norm between SC_B and SC_current vector is less than the first threshold, execute step S5; otherwise, execute step S2. S5. Using Scan_B as the source point cloud and the current frame Scan_current as the target point cloud, the target point cloud is registered to the source point cloud using the ICP method. If the score after ICP registration is less than the second threshold, the position of point B in the point cloud map is taken as the robot's current position in the point cloud map.
2. The method according to claim 1, step S1 further includes: S10, Obtain the point cloud map of the corridor scene constructed by the robot; The point cloud map of the corridor scene selects the starting point A and the ending point B of the corridor. S20 uses laser contour matching and point cloud map to determine whether the robot has walked to the starting point A of the corridor.
3. The method according to claim 1, step S1 further includes: S10, Obtain the point cloud map of the corridor scene constructed by the robot; The point cloud map of the corridor scene selects the starting point A and the ending point B of the corridor. S20': Obtain the SC descriptor SC_A corresponding to the laser scan frame Scan_A of the starting point A of the corridor in the point cloud map; obtain the robot's first current laser scan frame Scan_current1, and obtain the SC descriptor SC_current1 corresponding to the first current laser scan frame Scan_current1. If the first norm of the difference between the current SC_A and SC_current1 vectors is less than the first threshold, then the robot is considered to have reached the starting point A of the corridor.
4. The method according to any one of claims 1-3, wherein the first threshold is 10.
5. A positioning device for a corridor setting, comprising the following units: The corridor starting point acquisition unit is used to detect when the robot walks to the corridor starting point A; The current laser scan frame acquisition unit is used to acquire the wheel odometer positioning odom_L. When odom_L > The current laser scan frame, Scan_current, is obtained, where L is the length of the corridor. The cumulative error of the wheel odometer is denoted as , where ; The current laser frame SC descriptor acquisition unit is used to acquire the SC descriptor SC_current corresponding to the current laser scan frame Scan_current. The descriptor judgment unit is used to obtain the SC descriptor SC_B corresponding to the laser scan frame Scan_B of the corridor endpoint B in the point cloud map map constructed by the robot; when the difference between SC_B and the SC_current vector is less than the first threshold, the localization unit is executed; otherwise, the first corridor start point judgment unit is executed. The localization unit is used to register the target point cloud to the source point cloud using Scan_B as the source point cloud and the current frame Scan_current as the target point cloud using the ICP method. If the score after ICP registration is less than the second threshold, the position of point B in the point cloud map is directly used as the robot's current position in the point cloud map.
6. The apparatus according to claim 5, wherein the corridor starting point acquisition unit further comprises: The point cloud map building unit for the corridor scene is used to obtain the point cloud map of the corridor scene constructed by the robot. The point cloud map of the corridor scene selects the starting point A and the ending point B of the corridor. The first corridor starting point determination unit is used to determine whether the robot has walked to the starting point A of the corridor by matching the laser contour with the point cloud map.
7. The apparatus according to claim 5, wherein the corridor starting point acquisition unit further comprises: The point cloud map building unit for the corridor scene is used to obtain the point cloud map of the corridor scene constructed by the robot. The point cloud map of the corridor scene selects the starting point A and the ending point B of the corridor. The second corridor starting point determination unit is used to obtain the SC descriptor SC_A corresponding to the laser scan frame Scan_A of the starting point A of the corridor in the point cloud map; obtain the robot's first current laser scan frame Scan_current1, and obtain the SC descriptor SC_current1 corresponding to the first current laser scan frame Scan_current1. When the first norm of the difference between the vectors of the current SC_A and SC_current1 is less than the first threshold, it is considered that the robot has reached the starting point A of the corridor.
8. The apparatus according to any one of claims 5-7, wherein the first threshold is 10.
9. A non-volatile memory storing instructions that, when executed by a processor, implement a positioning method in a corridor scene as described in any one of claims 1-4.
10. A robot, the robot comprising: The system includes a processing module, a chassis, a storage module, and a lidar. The storage module stores instructions, which, when executed, are used to implement a positioning method in a corridor scenario as described in any one of claims 1-4.
Citation Information
Patent Citations
Multi-source information fusion robot positioning method and system for unstructured environment
CN114689037A