Automatic homeward voyage method for robot
By generating and sorting the set of key nodes and combining with the DWA algorithm, the robot automatically returns without global positioning information is achieved, solving the problem of return failure in the existing technology, and improving the accuracy and reliability of return journeys.
Patent Information
- Application Number
- CN202411218133.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-02
- Publication Date
- 2024-12-27
AI Technical Summary
The prior art cannot realize automatic return without global positioning information, resulting in return failure.
By obtaining the robot's passing trajectory record from the outbound starting point to the outbound end point, multiple key node sets are generated based on preset rules, and sorted from behind to front according to the generation time of the key nodes. The robot moves from the outbound end point to the sorted The first key node is moved to the next key node in sequence until it returns to the starting point of the outbound journey, and the robot is controlled by using the DWA algorithm.
Without global positioning information, the robot can automatically return, improving the accuracy and reliability of the return journey.
Smart Images

Figure CN119188732A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a method for automatic robot return. Background Art
[0002] At present, there are mature solutions for automatic return when the robot's global positioning information is correct. For example, the global coordinates of the outbound starting point P1 are recorded. When returning, the robot's current global coordinates are used as the global coordinates of the return starting point P2. A path search algorithm, such as the A* algorithm, is used to search for the path from P1 to P2. The path can be returned by tracking the path. However, this method is heavily dependent on the robot's global positioning information. If the robot's own positioning information is wrong, this method will fail. Summary of the invention
[0003] The technical problem to be solved by this application is: how can the robot return automatically without the help of global positioning information.
[0004] The technical solution adopted by this application to solve its technical problem is:
[0005] In a first aspect, the present application provides a method for automatic return of a robot, comprising the following steps:
[0006] S1, obtaining a travel trajectory record of the robot from the outbound start point to the outbound end point, and generating multiple key nodes of the robot on the travel trajectory based on a preset rule, and generating a first key node set from all the generated key nodes;
[0007] S2, on the return trip, the key nodes in the first key node set are sorted from back to front according to their generation time. The robot moves from the end point of the outbound trip to the first key node after sorting, and then moves from one key node to the next key node in sequence until it returns to the starting point of the outbound trip.
[0008] When generating key nodes, the starting point of the outbound trip can be used as the first key node generated.
[0009] The first key node set is a set consisting of all generated key nodes.
[0010] Based on the first aspect, further, the above preset rule may be a first preset rule, and the first preset rule is: taking the current key node as the starting point, the robot moves a specific distance (for example, 1 meter) to generate the next key node.
[0011] Based on the first aspect, further, the above preset rule may be a second preset rule, and the second preset rule is: taking the current key node as the starting point, the robot's posture rotates by a specific angle (for example, 15°) to generate the next key node.
[0012] Based on the first aspect, further, the above-mentioned preset rule can be a third preset rule, and the third preset rule is: taking the current key node as the starting point, the robot moves a specific distance (for example, 1 meter) or the robot's posture rotates a specific angle (for example, 15°) to generate the next key node.
[0013] Based on the first aspect, further, the robot moves from the outbound end point (i.e., the return start point) to the first key node after sorting, comprising the following steps:
[0014] Get the robot's corrected odometer position at the end of the outbound trip;
[0015] According to the corrected odometer posture of the robot at the outbound end point, the first key node after sorting is used as the target node corresponding to the outbound end point, and the robot is controlled to move to the first key node after sorting.
[0016] Based on the first aspect, further, the robot moves from one key node to the next key node in sequence, comprising the following steps:
[0017] Get the robot's corrected odometer position at the current key node;
[0018] According to the corrected odometer posture of the robot at the current key node, the next key node of the current key node is used as the target node corresponding to the current key node, and the robot is controlled to move to the next key node of the current key node.
[0019] Based on the first aspect, further, the above-mentioned method of obtaining the corrected odometer posture of the robot at the end point of the outbound journey or obtaining the corrected odometer posture of the robot at the current key node adopts the following method:
[0020]
[0021] in, The corrected odometer position of the robot at the end of the outbound journey or the current key node; is the transformation matrix from the robot's odometer posture before correction at that point to the odometer posture of the target node corresponding to that point before correction; for The transposed matrix of is the odometer pose of the robot before correction of the target node corresponding to this point.
[0022] Based on the first aspect, further, the conversion matrix of the odometer posture of the robot before correction at a certain point to the odometer posture of the target node corresponding to the point before correction is obtained by the following method:
[0023]
[0024] in, It is the transformation matrix from the odometer posture of the robot at a certain point before correction to the odometer posture of the target node corresponding to the point before correction; is the transformation matrix from the target node laser radar coordinate system corresponding to the point to the target node robot coordinate system corresponding to the point; is the transformation matrix from the laser radar coordinate system of the point to the laser radar coordinate system of the target node corresponding to the point; is the transformation matrix from the robot coordinate system at that point to the lidar coordinate system at that point.
[0025] Based on the first aspect, further, the transformation matrix from the laser radar coordinate system of the above-mentioned point to the laser radar coordinate system of the target node corresponding to the point is obtained by using an ICP algorithm.
[0026] Based on the first aspect, further, according to the odometer posture of the robot corrected at the outbound end point, the first key node after sorting is used as the target node corresponding to the outbound end point, and the specific method used to control the robot to move to the first key node after sorting is:
[0027] The DWA algorithm is used to control the robot to move to the first key node after sorting.
[0028] In a second aspect, the present application further provides an electronic device, comprising a memory for storing one or more programs and a processor. When the one or more programs are executed by the processor, any method in the first aspect described above is implemented.
[0029] In a third aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any one of the methods in the first aspect described above.
[0030] The present application obtains the robot's travel trajectory record from the outbound starting point to the outbound end point, generates multiple key nodes on the robot's travel trajectory based on preset rules, and generates a first key node set from each key node; when the robot is ready to return, the key nodes in the first key node set are sorted from back to front according to their generation time, and the robot moves from the outbound end point to the first key node after sorting. In this process, it is first necessary to obtain the robot's corrected odometer posture at the outbound end point; according to the robot's corrected odometer posture at the outbound end point, the first key node after sorting is used as the target node corresponding to the outbound end point, and the DWA algorithm (i.e., dynamic window algorithm) is used to control the robot to move to the first key node after sorting; then it moves from one key node to the next key node in sequence, and it is necessary to obtain the robot's corrected odometer posture at the current key node; then according to the robot's corrected odometer posture at the current key node, the next key node of the current key node is used as the target node corresponding to the current key node, and the DWA algorithm is used to control the robot to move to the next key node of the current key node, and the operation is repeated until it returns to the outbound starting point.
[0031] The beneficial effects of this application are:
[0032] The robot can return automatically without global positioning information. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 A flowchart of a method for automatic robot return provided in an embodiment of the present application;
[0034] Figure 2 A structural block diagram of an electronic device provided in an embodiment of the present application.
[0035] The reference numerals are: 101, memory; 102, processor; 103, communication interface. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.
[0037] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0038] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.
[0039] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0040] In the description of the embodiments of the present application, "plurality" means at least 2.
[0041] like Figure 1 As shown, an embodiment of a method for automatic robot return of the present application includes the following steps:
[0042] S1, obtaining a travel trajectory record of the robot from the outbound start point to the outbound end point, and generating multiple key nodes of the robot on the travel trajectory based on a preset rule, and generating a first key node set from all the generated key nodes;
[0043] S2, on the return trip, the key nodes in the first key node set are sorted from back to front according to their generation time. The robot moves from the end point of the outbound trip to the first key node after sorting, and then moves from one key node to the next key node in sequence until it returns to the starting point of the outbound trip.
[0044] The unmanned delivery robot includes a motor encoder, an IMU, and a 2D laser radar. Among them, the wheel odometer position of the robot at a certain point can be obtained through the encoder and the IMU (i.e., inertial measurement unit). The wheel odometer position of the robot at a certain point here is the wheel odometer position of the robot before correction at that point.
[0045] When generating the key nodes, the outbound starting point can be used as the first key node generated. The information stored in the array corresponding to the generated key node includes the key node number, the robot's odometer position before correction at the key node, and the robot's lidar point cloud data at the key node.
[0046] In one embodiment of the present application, the preset rule may be a first preset rule, which is: taking the current key node as the starting point, the robot moves a specific distance (for example, 1 meter) to generate the next key node.
[0047] In one embodiment of the present application, the preset rule may also be a second preset rule, and the second preset rule is: taking the current key node as the starting point, the robot's posture rotates a specific angle (for example, 15°) to generate the next key node.
[0048] In one embodiment of the present application, the preset rule can also be a third preset rule, and the third preset rule is: taking the current key node as the starting point, the robot moves a specific distance (for example, 1 meter) or the robot's posture rotates a specific angle (for example, 15°) to generate the next key node.
[0049] In one embodiment of the present application, the robot moves from the outbound end point to the first key node after sorting, including the following steps:
[0050] Get the robot's corrected odometer position at the end of the outbound trip;
[0051] According to the corrected odometer posture of the robot at the outbound end point, the first key node after sorting is used as the target node corresponding to the outbound end point, and the robot is controlled to move to the first key node after sorting.
[0052] The first key node after sorting is used as the target node corresponding to the outbound end point. The robot is controlled to move to the first key node after sorting according to the odometer posture of the robot after correction at the outbound end point instead of the odometer posture of the robot before correction at the outbound end point. This can effectively reduce the impact of the odometer error on the return accuracy and improve the accuracy of the robot's automatic return.
[0053] According to the corrected odometer posture of the robot at the outbound end point, the first key node after sorting is used as the target node corresponding to the outbound end point. The odometer posture before correction of the target node can be used to control the robot to move to the first key node after sorting using the DWA algorithm (i.e., dynamic window algorithm).
[0054] In one embodiment of the present application, the robot moves from one key node to the next key node in sequence, including the following steps:
[0055] Get the robot's corrected odometer position at the current key node;
[0056] According to the corrected odometer posture of the robot at the current key node, the next key node of the current key node is used as the target node corresponding to the current key node, and the robot is controlled to move to the next key node of the current key node.
[0057] Taking the next key node of the current key node as the target node corresponding to the current key node, and controlling the robot to move to the next key node of the current key node according to the odometer posture of the robot after correction at the current key node instead of the odometer posture of the robot before correction at the current key node, can effectively reduce the influence of the odometer error on the return accuracy and improve the accuracy of the robot's automatic return.
[0058] According to the corrected odometer posture of the robot at the current key node, the next key node of the current key node is used as the target node corresponding to the current key node. The odometer posture before correction of the target node can be used to control the robot to move to the next key node of the current key node using the DWA algorithm.
[0059] In one embodiment of the present application, the following method is used to obtain the corrected odometer position of the robot at a certain point:
[0060]
[0061] in, is the corrected odometer pose of the robot at a certain point; is the transformation matrix from the robot's odometer posture before correction at that point to the odometer posture of the target node corresponding to that point before correction; for The transposed matrix of is the odometer pose of the robot before correction at the target node corresponding to this point. A certain point here can be either the end point of the outbound journey or a key node.
[0062] In one embodiment of the present application, the transformation matrix of the robot's odometer posture before correction at a certain point to the odometer posture before correction of the target node corresponding to the point is obtained by the following method:
[0063]
[0064] in, It is the transformation matrix from the odometer posture of the robot at a certain point before correction to the odometer posture of the target node corresponding to the point before correction; is the transformation matrix from the target node laser radar coordinate system corresponding to the point to the target node robot coordinate system corresponding to the point; is the transformation matrix from the laser radar coordinate system of the point to the laser radar coordinate system of the target node corresponding to the point; is the transformation matrix from the robot coordinate system to the laser radar coordinate system. The point here can be either the end point of the outbound journey or a key node.
[0065] The transformation matrix from the robot coordinate system of a certain point to the laser radar coordinate system of the same point can be obtained by measurement, and the transformation matrix from the laser radar coordinate system of the target node corresponding to the point to the robot coordinate system of the target node corresponding to the point can be obtained by measurement. The transformation matrix from the laser radar coordinate system of the point to the laser radar coordinate system of the target node corresponding to the point can be obtained by using methods such as the ICP algorithm (i.e., the closest point iteration algorithm).
[0066] The robot coordinate system refers to the coordinate system with the robot's geometric center as its origin.
[0067] The laser radar coordinate system refers to the coordinate system with the center of the laser radar sensor of the laser radar installed on the robot as the origin.
[0068] The odometer position of the robot before correction at a certain point can be obtained through the encoder and IMU (inertial measurement unit) installed on the robot.
[0069] The present application obtains the robot's travel trajectory record from the outward starting point to the outward end point, and generates multiple key nodes of the robot on the travel trajectory through preset rules; the key nodes generated by the preset rules constitute a first key node set; when the robot is ready to return, the key nodes in the first key node set are sorted from back to front according to their generation time, and the robot moves from the outward end point to the first key node after sorting. In this process, it is first necessary to obtain the robot's corrected odometer posture at the outward end point; according to the robot's corrected odometer posture at the outward end point, the first key node after sorting is used as the target node corresponding to the outward end point, and the DWA algorithm is used to control the robot to move to the first key node after sorting; then it moves from one key node to the next key node in sequence, and it is necessary to obtain the robot's corrected odometer posture at the current key node; then according to the robot's corrected odometer posture at the current key node, the next key node of the current key node is used as the target node corresponding to the current key node, and the DWA algorithm is used to control the robot to move to the next key node of the current key node, and the operation is repeated until it returns to the outward starting point.
[0070] like Figure 2 As shown, in a second aspect, an embodiment of the present application further provides an electronic device, which includes a memory 101 for storing one or more programs and a processor 102. When the one or more programs are executed by the processor 102, any method in the first aspect described above is implemented.
[0071] The memory 101, the processor 102 and the communication interface 103 are directly or indirectly electrically connected to each other to achieve data transmission or interaction. For example, these elements can be electrically connected to each other through one or more communication buses or signal lines. The memory 101 can be used to store software programs and modules, and the processor 102 executes various functional applications and data processing by executing the software programs and modules stored in the memory 101. The communication interface 103 can be used to communicate signaling or data with other node devices.
[0072] Among them, the memory 101 can be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), etc.
[0073] The processor 102 may be an integrated circuit chip with signal processing capability. The processor 102 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0074] In the third aspect, the embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by the processor 102, a method as in any one of the first aspects described above is implemented. If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, RandomAccess Memory), a disk or an optical disk.
[0075] The above are only preferred embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
[0076] It will be apparent to those skilled in the art that the present application is not limited to the details of the exemplary embodiments described above, and that the present application can be implemented in other specific forms without departing from the spirit or essential features of the present application. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims be included in the present application. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
Claims
1. A method for automatic robot return, characterized in that: The following steps are involved: S1, obtaining a travel trajectory record of the robot from the outbound start point to the outbound end point, and generating multiple key nodes of the robot on the travel trajectory based on a preset rule, and generating a first key node set from all the generated key nodes; S2, on the return trip, the key nodes in the first key node set are sorted from back to front according to their generation time. The robot moves from the end point of the outbound trip to the first key node after sorting, and then moves from one key node to the next key node in sequence until it returns to the starting point of the outbound trip.
2. The method for automatic robot return according to claim 1, characterized in that: The preset rule is a first preset rule, which is: taking the current key node as the starting point, the robot moves a specific distance to generate the next key node.
3. The method for automatic robot return according to claim 1, characterized in that: The preset rule is the second preset rule, and the second preset rule is: taking the current key node as the starting point, the robot's posture rotates by a specific angle to generate the next key node.
4. The method for automatic robot return according to claim 1, characterized in that: The preset rule is the third preset rule, and the third preset rule is: taking the current key node as the starting point, the robot moves a specific distance or the robot's posture rotates a specific angle to generate the next key node.
5. The method for automatic robot return according to claim 1, characterized in that: The robot moves from the outbound end point to the first key node after sorting, including the following steps: Get the robot's corrected odometer position at the end of the outbound trip; According to the corrected odometer posture of the robot at the outbound end point, the first key node after sorting is used as the target node corresponding to the outbound end point, and the robot is controlled to move to the first key node after sorting.
6. The method for automatic robot return according to claim 1, characterized in that: The robot moves from one key node to the next key node in sequence, including the following steps: Get the robot's corrected odometer position at the current key node; According to the corrected odometer posture of the robot at the current key node, the next key node of the current key node is used as the target node corresponding to the current key node, and the robot is controlled to move to the next key node of the current key node.
7. The method for automatic robot return according to any one of claims 5 or 6, characterized in that: The method for obtaining the corrected odometer posture of the robot at the end point of the outbound journey or obtaining the corrected odometer posture of the robot at the current key node is as follows: in, The corrected odometer position of the robot at the end of the outbound journey or the current key node; is the transformation matrix from the robot's odometer posture before correction at that point to the odometer posture of the target node corresponding to that point before correction; for The transposed matrix of is the odometer pose of the robot before correction of the target node corresponding to this point.
8. The method for automatic robot return according to claim 7, characterized in that: The conversion matrix of the robot's odometer posture before correction at a certain point to the odometer posture before correction of the target node corresponding to the point is obtained by the following method: in, It is the transformation matrix from the odometer posture of the robot at a certain point before correction to the odometer posture of the target node corresponding to the point before correction; is the transformation matrix from the target node laser radar coordinate system corresponding to the point to the target node robot coordinate system corresponding to the point; is the transformation matrix from the laser radar coordinate system of the point to the laser radar coordinate system of the target node corresponding to the point; is the transformation matrix from the robot coordinate system at that point to the lidar coordinate system at that point.
9. The method for automatic robot return according to claim 8, characterized in that: The transformation matrix from the laser radar coordinate system of a certain point to the laser radar coordinate system of the target node corresponding to the point is obtained by using the ICP algorithm.
10. The method for automatic robot return according to claim 5, characterized in that: The specific method of controlling the robot to move to the first key node after sorting is as follows: The DWA algorithm is used to control the robot to move to the first key node after sorting.
Citation Information
Patent Citations
Robot indoor tracking homing method
CN105511459A
Autonomous Behaviors for a Remote Vehicle
US20110106339A1
Autonomous vehicle waypoint routing
US20200056895A1
Method and apparatus for controlling cruise of vehicle, electronic device, and storage medium
US20210291833A1
Scheduling server, robot and travelling method thereof
WO2019037553A1
