Roundabout operation method of robot and robot
By using the Ackerman model to determine the robot's initial and target breakpoints during island-roundabout operations, the problem of inaccurate breakpoint matching for cleaning robots in island-roundabout operations was solved, enabling precise continued sweeping and path planning, and improving operational efficiency.
Patent Information
- Application Number
- CN202310159880.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-23
- Publication Date
- 2026-03-03
- Estimated Expiration
- 2043-02-23
AI Technical Summary
Existing cleaning robots have problems such as inaccurate breakpoint matching, unsuitable motion models, and inability to determine the number of cleaning cycles when operating around islands.
By acquiring the robot's current position and heading, the initial breakpoint is determined using the Ackerman model, and the target breakpoint is calculated based on the Ackerman model to accurately match the continued scanning position.
It enables precise matching and continuous scanning of the robot in island-circling operations, solves the problem of inaccurate matching of path points in multiple loops, improves work efficiency and avoids repetitive work.
Smart Images

Figure CN116124148B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and more particularly to a method for a robot to perform island-circling operations and the robot itself. Background Technology
[0002] With the continuous development of science and technology, robots are being used more and more in production and daily life. When performing cleaning tasks, robots need to perform path planning, that is, select a safe and feasible path to avoid collisions with obstacles in the workspace. Path planning is also one of the key technologies of mobile robots, involving environmental mapping, robot localization, and other issues, and is an important direction of modern robotics research. Currently, common cleaning robots often suffer from problems such as inaccurate breakpoint matching, inapplicable motion models, and inability to determine the number of cleaning cycles when operating in a circular area. Summary of the Invention
[0003] This invention aims to at least partially solve one of the technical problems in related technologies. Therefore, the object of this invention is to propose a method for island-circling operations using a robot and a robot that can accurately match the resuming scan position by considering the robot's Ackerman model during the breakpoint matching process.
[0004] To achieve the above objectives, a first aspect of the present invention proposes a method for a robot to perform island-circling operations. The method includes: acquiring the robot's current position, current heading, and planned island-circling path; determining an initial breakpoint based on the coordinates of each path point in the current position, current heading, and planned island-circling path; determining a target breakpoint based on the current position, current heading, and initial breakpoint using an Ackerman model; and controlling the robot to move to the target breakpoint to continue island-circling operations.
[0005] In addition, the robot's island-looping operation method according to the above embodiments of the present invention may also have the following additional technical features:
[0006] According to one embodiment of the present invention, determining the initial breakpoint based on the current position, the current heading, and the coordinates of each path point in the planned island loop path includes: selecting first candidate path points from the planned island loop path based on the current heading and the coordinates of each path point in the currently completed island loop path; calculating the spatial cost value of each first candidate path point based on the current position and the coordinates of each first candidate path point; and determining the initial breakpoint from the first candidate path points based on the spatial cost value.
[0007] According to an embodiment of the present invention, determining the initial breakpoint from the first candidate path points based on each of the spatial cost values includes: sorting the spatial cost values from smallest to largest; if the number of spatial cost values with the smallest value is one, then the first candidate path point corresponding to the spatial cost value with the smallest value is taken as the initial breakpoint; if the number of spatial cost values with the smallest value is multiple, then calculating the time cost value of each second candidate path point based on the spatial cost value and index number of multiple second candidate path points, and the largest index number of the already operated path points in the planned roundabout operation path, obtaining the spatiotemporal cost value based on the spatial cost value and time cost value of the second candidate path points, and taking the second candidate path point corresponding to the spatiotemporal cost value with the smallest value as the initial breakpoint, wherein the multiple second candidate path points are multiple first candidate path points corresponding to the spatial cost values with the smallest values.
[0008] According to one embodiment of the present invention, the step of selecting a first candidate path point from the planned roundabout path based on the current heading and the coordinates of each path point in the planned roundabout path includes: calculating a set heading corresponding to each path point based on the coordinates of each path point in the planned roundabout path; calculating the spatial heading difference between the current heading and each set heading respectively; and selecting the path point corresponding to the spatial heading difference that is less than or equal to a spatial heading difference threshold as the first candidate path point.
[0009] According to an embodiment of the present invention, the spatial cost obj of the i-th first candidate path point is calculated by the following formula. 1i :
[0010] obj 1i =λ1sqrt((xx i ) 2 +(yy i ) 2 )+λ2(heading-heading i )+λ3(cur-cur i ),
[0011] Where λ1, λ2, and λ3 are the first, second, and third preset weight values, respectively; sqrt() is the square root operator; (x, y) is the current position; and heading and cur are the robot's current orientation and curvature, respectively. i ,y i ) represents the coordinates of the i-th first candidate path point, heading i ,cur i The orientation and curvature of the i-th first candidate path point are respectively. (xi-1 ,y i-1 ) represents the coordinates of the path point preceding the i-th first candidate path point.
[0012] According to one embodiment of the present invention, the spatiotemporal cost obj of the j-th second candidate path point is calculated from a plurality of candidate path points with the minimum spatial cost using the following formula. 2j :
[0013] obj 2j =η1obj 1j +η2abs(index-index j ),
[0014] Where η1 and η2 are the fourth and fifth preset weight values, respectively, and index is the maximum index number of the already completed path points of the planned roundabout path. j Here is the index number of the j-th second candidate path point, and abs() is the absolute value.
[0015] According to one embodiment of the present invention, determining the target breakpoint based on the Ackerman model according to the current position, the current heading, and the initial breakpoint includes: determining whether the robot can reach the initial breakpoint by moving according to the Ackerman model based on the current position and the current heading; if the robot can reach the initial breakpoint, then the initial breakpoint is taken as the target breakpoint; if the robot cannot reach the initial breakpoint, then the first candidate path point with the second smallest spatial cost value is taken as the initial breakpoint, and Ackerman model verification is performed; if the verification passes, then the current initial breakpoint is taken as the target breakpoint; if the verification fails, then the first candidate path point with the third smallest spatial cost value is taken as the initial breakpoint, and so on.
[0016] According to an embodiment of the present invention, the step of determining the target breakpoint based on the Ackerman model according to the current position, the current heading, and the initial breakpoint further includes: if the spatial heading difference is greater than or equal to a threshold of the spatial heading difference, then based on the current position and the current heading, determining the path points after the initial breakpoint that the robot can reach according to the Ackerman model, and recording them as suboptimal candidate path points; calculating the Ackerman model cost value of each suboptimal candidate path point based on the expected heading and expected curvature of the robot reaching each suboptimal candidate path point and the set heading and curvature of each suboptimal candidate path point; and taking the suboptimal candidate path point corresponding to the smallest Ackerman model cost value as the target breakpoint.
[0017] According to one embodiment of the present invention, the Ackerman model cost obj of the kth suboptimal candidate path point is calculated by the following formula. 3k :
[0018] obj3k =γ1(h vk -h tk ) 2 +γ2(cur vk -cur tk ) 2 ,
[0019] Where γ1 and γ2 are the sixth and seventh preset weight values, respectively, and h vk h is the expected heading of the robot when it reaches the k-th suboptimal candidate path point. tk For the set heading of the kth suboptimal candidate path point, cur vk Let curvature be the expected curvature when the robot reaches the k-th suboptimal candidate path point, where curvature is the reciprocal of the corresponding turning radius. tk Let be the curvature of the kth suboptimal candidate path point, which is obtained from the discrete point curvature mentioned above.
[0020] To achieve the above objectives, a second aspect of the present invention provides a robot including a controller, the controller including a memory, a processor and a computer program stored in the memory, wherein when the computer program is executed by the processor, it implements the above-described method for the robot to perform island-circling operations.
[0021] The robot's island-circling operation method and robot in this embodiment of the invention can accurately match the continued scanning position during the breakpoint matching process based on the robot's current position, current heading, and planned island-circling path, and taking into account the robot's Ackerman model. Attached Figure Description
[0022] Figure 1 This is a flowchart of a robot's island-circling operation method according to an embodiment of the present invention;
[0023] Figure 2 This is a schematic diagram of a method for filtering path points from a path according to an embodiment of the present invention;
[0024] Figure 3 This is a flowchart of a robot's island-circling operation method according to another embodiment of the present invention;
[0025] Figure 4 This is a schematic diagram of a method for calculating the spatial cost of path points according to an embodiment of the present invention;
[0026] Figure 5 This is a schematic diagram of a method for determining target breakpoints according to an embodiment of the present invention;
[0027] Figure 6 This is a schematic diagram of a method for determining target breakpoints according to another embodiment of the present invention;
[0028] Figure 7 This is a schematic diagram of the expected course and the set course according to an embodiment of the present invention;
[0029] Figure 8 This is a structural block diagram of a robot according to an embodiment of the present invention;
[0030] Figure 9 This is a structural block diagram of a controller according to an embodiment of the present invention. Detailed Implementation
[0031] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.
[0032] The following description, with reference to the accompanying drawings, illustrates a method for island-circling operations using a robot according to embodiments of the present invention, and the robot itself.
[0033] Figure 1 This is a method for robot to perform island-circling operations according to an embodiment of the present invention.
[0034] See Figure 1 The methods include:
[0035] S11: Obtain the robot's current position, current heading, and planned island loop path.
[0036] Specifically, the current position can be obtained through a positioning device installed on the robot (such as an autonomous sanitation vehicle), and the current heading can be obtained through the magnetometer, inertial measurement unit, etc., mentioned above on the robot. The robot's working loop path can be characterized by discrete points along the loop, such as... Figure 2 As shown, discrete points can be set at equal intervals, such as one discrete point for each preset arc length. The currently completed loop path can be represented by consecutively numbered discrete points. For example, the robot's starting point is discrete point numbered 0. When the preset arc length of the loop is completed, the robot reaches discrete point numbered 1, and so on. After the robot completes one loop, it continues with the second loop, with the positions of the discrete points being the same as in the first loop, and the numbers increasing sequentially. Figure 2 As shown, the discrete point is numbered 0 in the first circle and 9 in the second circle.
[0037] See Figure 2 If the robot leaves after working to the discrete point numbered 17 (e.g., to recharge), and returns to work at... Figure 2 The robot is located in the lower right corner. At this point, the robot's current position, current heading, and currently completed path points on the planned roundabout path can be obtained (represented by discrete points 0-17).
[0038] S12, determine the initial breakpoint based on the current position, current course, and coordinates of each path point in the planned island-circling operation path.
[0039] Specifically, since the location of the roundabout is fixed and the roundabout path is also fixed, the position coordinates of each point on the roundabout path can be determined. When determining the initial breakpoint based on the current position, current heading, and the coordinates of the currently operated path points (i.e., the discrete points mentioned above) of the planned roundabout path, the initial breakpoint can be obtained by taking into account the positional deviation from the robot, the heading deviation, and the already operated status.
[0040] S13, based on the Ackerman model, determines the target breakpoint according to the current position, current course, and initial breakpoint.
[0041] Among them, the Ackerman model is a steering motion model, and the target breakpoint can be obtained from the discrete points that the robot can reach through steering, so as to enable the robot to quickly continue its work (such as sweeping).
[0042] S14, control the robot to move to the target breakpoint to continue the island-circling operation.
[0043] The robot island-looping method of this invention, during the breakpoint matching process, accurately matches the resuming position based on the robot's current position, current heading, and currently completed island-looping path, and considering the robot's Ackerman model, so that the robot can return to the island-looping path in the best condition.
[0044] In some embodiments, such as Figure 3 As shown, the initial breakpoint is determined based on the current position, current heading, and coordinates of each path point in the planned island loop path, including:
[0045] S21. Based on the current course and the coordinates of each path point in the currently operated island loop, candidate path points are selected from the planned island loop path.
[0046] Specifically, the set heading corresponding to each path point is calculated based on the coordinates of each path point in the planned roundabout path (i.e., the theoretical heading of the robot at the corresponding path point, which can be obtained through the tangent direction of that point); the spatial heading difference between the current heading and each set heading is calculated respectively; and the path point corresponding to the spatial heading difference that is less than or equal to the spatial heading difference threshold is selected as the candidate path point.
[0047] The spatial heading difference threshold can be ±90 degrees. (See also...) Figure 2 Taking the robot's current completed loop path as a two-circle path as an example, with path points 0-17, the robot's current position and heading are as follows: Figure 2 As shown. If the spatial heading difference between the robot's current heading and the path point's set heading is greater than ±90 degrees, then that path point is discarded. Figure 2Points 0, 9, 8, 17, 7, and 16 should be removed. Using the above method to remove path points with excessive heading deviations can reduce the amount of calculation. The remaining points after removal are candidate path points.
[0048] S22. Based on the current position and the coordinates of each candidate path point, calculate the spatial cost of each candidate path point, and determine the initial breakpoint from the candidate path points based on the spatial cost of each path point.
[0049] In some embodiments, the spatial cost obj of the i-th candidate path point can be calculated using the following formula. 1i :
[0050] obj 1i =λ1sqrt((xx i ) 2 +(yy i ) 2 )+λ2(heading-heading i )+λ3(cur-cur i ),
[0051] Where λ1, λ2, and λ3 are the first, second, and third preset weight values, respectively, and their values can be set based on engineering experience. The orders of magnitude of λ1, λ2, and λ3 decrease, for example, λ1 is set to hundreds, λ2 to tens, and λ3 to several; sqrt() is used to take the square root, (x, y) is the current position, and heading and cur are the robot's current orientation and curvature, respectively. i ,y i Let be the coordinates of the i-th candidate path point, and sqrt((xx) i ) 2 +(yy i ) 2 ) represents the distance between the robot and the candidate path points, such as Figure 4 As shown by the dashed line; heading i ,cur i Let be the orientation and curvature of the i-th candidate path point, respectively. (x i-1 ,y i-1 ) represents the coordinates of the path point preceding the i-th candidate path point.
[0052] After obtaining the spatial cost of each candidate path point, the candidate path points can be sorted in ascending order according to the size of their spatial cost. Points with the same spatial cost can be sorted in ascending order according to their index number. The sorting result is: 2, 11, 1, 10, 3, 12, 4, 13, 5, 14, 6, 15.
[0053] In some embodiments, determining an initial breakpoint from candidate path points based on each spatial cost value includes: if there is only one candidate path point with the smallest spatial cost value, then the candidate path point corresponding to the smallest spatial cost value is taken as the initial breakpoint; if there are multiple candidate path points with the smallest spatial cost value, then the time cost value is calculated based on the index number (i.e., the number mentioned above) of the candidate path points corresponding to the multiple smallest spatial cost values, and the largest index number of the path points in the currently operated roundabout path in the planned roundabout path; the spatiotemporal cost value is obtained based on the time cost value and the spatial cost value; and the candidate path point corresponding to the smallest spatiotemporal cost value is taken as the initial breakpoint.
[0054] For example, if the robot's planned loop path corresponds to a complete loop, then the candidate path points are... Figure 2 If the spatial cost value is selected from 0-8 in the diagram, there are no duplicate values, and only one value is the smallest. In this case, the candidate path point corresponding to the smallest spatial cost value is directly used as the initial breakpoint. If the robot's planned loop path corresponds to multiple loops, which are numbered 0-17 (two loops) in the diagram, then there are multiple candidate path points with the same value and multiple values with the smallest value. In this case, it is necessary to further calculate the spatiotemporal cost value and select the initial breakpoint based on the second-generation value.
[0055] In some embodiments, the spatiotemporal cost obj of the candidate path point with the same and smallest spatial cost can be calculated by the following formula. 2j :
[0056] obj 2j =η1obj 1j +η2abs(index-index j ),
[0057] Wherein, η1 and η2 are the fourth and fifth preset weight values, respectively, which can be determined based on engineering experience. η1 > η2, indicating a greater emphasis on distance cost; index is the maximum index number of the currently completed path point in the planned roundabout path. j Let abs() be the index of the j-th candidate path point with the smallest spatial cost and the same value.
[0058] In some embodiments, determining the target breakpoint based on the Ackerman model according to the current position, current heading, and initial breakpoint includes: determining whether the robot can reach the initial breakpoint by moving according to the Ackerman model based on the current position and current heading; if so, the initial breakpoint is used as the target breakpoint; if the initial breakpoint cannot be reached, the candidate path point with the second smallest spatial cost is used as the initial breakpoint, and Ackerman model verification is performed. If the breakpoint can be reached, the initial breakpoint is used as the target breakpoint; if not, the above process is repeated iteratively, that is, if the verification passes, the current initial breakpoint is used as the target breakpoint; if the verification fails, the candidate path point with the third smallest spatial cost is used as the initial breakpoint, and so on.
[0059] Specifically, such as Figure 5 As shown, the roundabout path has path points 0, 1, 2, 3, and 4. The robot cleans in sequence according to these numbers. If path point 1 is the initial breakpoint, path points 0, 2, and 3 represent the set of nearby points that the robot can reach from its current position with a single turning radius (greater than or equal to the robot's minimum turning radius). The dashed line represents the robot's trajectory with one turning radius. See also... Figure 5 The robot can reach path point 1, but if the difference between the expected heading of the robot when it moves to path point 1 and the set heading of path point 1 is greater than or equal to the threshold of spatial heading difference, path point 1 cannot be used as the target breakpoint.
[0060] In some embodiments, determining the target breakpoint based on the Ackerman model according to the current position, current heading, and initial breakpoint further includes: if the spatial heading difference is greater than or equal to a threshold of the spatial heading difference, then based on the current position and current heading, determining the path point after the initial breakpoint that the robot can reach according to the Ackerman model, and recording it as a suboptimal candidate path point; calculating the Ackerman model cost value of each suboptimal candidate path point based on the expected heading and expected curvature of the robot reaching each suboptimal candidate path point and the set heading and curvature of each suboptimal candidate path point; and taking the suboptimal candidate path point corresponding to the smallest Ackerman model cost value as the target breakpoint.
[0061] Specifically, such as Figure 6 As shown, although the robot can reach path point 1, the difference between the robot's expected heading and the set heading of path point 1 is greater than or equal to the spatial heading difference threshold (which can be ±90°). When the robot reaches path point 1 in one turn, it is not in the optimal operating state. At this time, path points 2 and 3 can be considered as suboptimal candidate path points. The Ackerman model cost values of path points 2 and 3 are calculated. The Ackerman model cost value of path point 3 is smaller, so path point 3 is selected as the target breakpoint. Figure 6 The solid line trajectory is the robot's motion trajectory corresponding to the target breakpoint, that is, controlling the robot to make one turn along the solid line to the path point 3.
[0062] In some embodiments, the Ackerman model cost obj of the kth suboptimal candidate path point is calculated using the following formula. 3k :
[0063] obj 3k =γ1(h vk -h tk ) 2 +γ2(cur vk -cur tk ) 2 ,
[0064] Wherein, γ1 and γ2 are the sixth and seventh preset weight values, respectively, which can be obtained based on engineering experience; h vk Let h be the robot's expected heading when it reaches the k-th suboptimal candidate path point (i.e., the robot's heading when it reaches the suboptimal candidate path point after one turn). tk To set the heading for the k-th suboptimal candidate path point, cur vk Let curvature be the expected curvature when the robot reaches the k-th suboptimal candidate path point. This expected curvature is the reciprocal of the corresponding turning radius. tk Let be the curvature of the kth suboptimal candidate path point, which is obtained from the discrete point curvature mentioned above.
[0065] Specifically, such as Figure 7 As shown, the robot's expected heading to reach path point 2 is 70, and the set heading for path point 2 is 71.
[0066] Figure 8 This is a structural block diagram of a robot according to an embodiment of the present invention.
[0067] like Figure 8 As shown, robot 800 includes controller 900.
[0068] In some embodiments, such as Figure 9 As shown, the controller 900 includes a processor 901 and a memory 903. The processor 901 and the memory 903 are connected, for example, via a bus 902. Optionally, the controller 900 may also include a transceiver 904. It should be noted that in practical applications, the transceiver 904 is not limited to one type, and the structure of the controller 900 does not constitute a limitation on the embodiments of the present invention.
[0069] Processor 901 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. Processor 901 may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0070] Bus 902 may include a pathway for transmitting information between the aforementioned components. Bus 902 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 902 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0071] The memory 903 stores a computer program corresponding to the island-looping operation method of the robot in the above embodiments of the present invention. This computer program is controlled and executed by the processor 901. The processor 901 executes the computer program stored in the memory 903 to implement the content shown in the foregoing method embodiments.
[0072] Figure 9 The controller 900 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.
[0073] In summary, the robot's island-looping method and robot in this embodiment of the invention, by considering the robot's Ackerman model during the breakpoint matching process, solve the problem of inaccurate pathpoint matching in multi-lap scenarios for unmanned sweeping vehicles to resume sweeping after a breakpoint, thus enabling smooth execution of multi-lap path planning in island environments and improving the cleanliness of the operation. This method accurately matches the resume sweeping position while also accurately matching the current number of sweeping laps, improving operational efficiency and avoiding repetitive work to a certain extent.
[0074] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0075] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0076] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0077] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0078] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0079] In this invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise explicitly limited. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0080] In this invention, unless otherwise explicitly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "over," and "on top" of the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0081] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.
Claims
1. A method for a robot to perform island-circling operations, characterized in that, The method includes: Obtain the robot's current position, current heading, and planned roundabout path; The initial breakpoint is determined based on the current position, the current heading, and the coordinates of each path point in the planned island loop path; The target breakpoint is determined based on the Ackerman model, according to the current position, the current heading, and the initial breakpoint. Control the robot to move to the target breakpoint to continue the island-circling operation; The step of determining the initial breakpoint based on the current position, the current heading, and the coordinates of each path point in the planned roundabout path includes: Based on the current heading and the coordinates of each path point in the currently operational island loop, candidate path points are selected from the planned island loop path; Based on the current position and the coordinates of each candidate path point, the spatial cost of each candidate path point is calculated, and the initial breakpoint is determined from the candidate path points based on the spatial cost of each candidate path point. The spatial cost obj of the i-th candidate path point is calculated using the following formula. 1i : , in, , , These are the first preset weight value, the second preset weight value, and the third preset weight value, respectively; sqrt() is for taking the square root; (x, y) is the current position; heading and cur are the robot's current orientation and current curvature, respectively. i ,y i ) represents the coordinates of the i-th candidate path point. , The orientation and curvature of the i-th candidate path point are respectively. , , , , (x i-1 ,y i-1 ) represents the coordinates of the path point preceding the i-th candidate path point.
2. The island-circling operation method of the robot according to claim 1, characterized in that, The step of determining the initial breakpoint from the candidate pathpoints based on each of the spatial cost values includes: Sort the spatial costs from smallest to largest; If the number of spatial cost values with the smallest value is one, then the candidate path point corresponding to the spatial cost value with the smallest value is taken as the initial breakpoint. If there are multiple minimum spatial cost values, then the time cost value is calculated based on the index number of the candidate path point corresponding to the multiple minimum spatial cost values and the maximum index number of the already operated path point in the planned roundabout operation path. Based on the spatial cost value and time cost value of the candidate path point, the spatiotemporal cost value is obtained, and the candidate path point corresponding to the minimum spatiotemporal cost value is taken as the initial breakpoint.
3. The island-circling operation method of the robot according to claim 1, characterized in that, The step of selecting candidate path points from the planned roundabout path based on the current heading and the coordinates of each path point in the planned roundabout path includes: The set heading corresponding to each path point is calculated based on the coordinates of each path point in the planned roundabout route. Calculate the spatial heading difference between the current heading and each of the set headings; The path points corresponding to spatial heading differences that are less than or equal to the spatial heading difference threshold are selected as the candidate path points.
4. The island-circling operation method of the robot according to claim 2, characterized in that, The spatiotemporal cost of the j-th candidate path point is calculated using the following formula. : , in, , These are the fourth and fifth preset weight values, respectively, where `index` is the maximum index number of the currently completed path point in the planned roundabout path. j Let be the index number of the j-th candidate path point, and abs() be the absolute value.
5. The method for island-circling operation of a robot according to claim 3, characterized in that, The determination of the target breakpoint based on the Ackerman model according to the current position, the current heading, and the initial breakpoint includes: Based on the current position and the current heading, determine whether the robot can reach the initial breakpoint by moving according to the Ackerman model; If the initial breakpoint can be reached, then the initial breakpoint is taken as the target breakpoint; If the initial breakpoint cannot be reached, the candidate path point with the second smallest spatial cost is used as the initial breakpoint, and Ackerman model verification is performed. If the verification passes, the current initial breakpoint is used as the target breakpoint. If the verification fails, the candidate path point with the third smallest spatial cost is used as the initial breakpoint, and so on.
6. The method for island-circling operation of a robot according to claim 5, characterized in that, The method of determining the target breakpoint based on the Ackerman model according to the current position, the current heading, and the initial breakpoint also includes: If the spatial heading difference is greater than or equal to the spatial heading threshold, then based on the current position and the current heading, the path point after the initial breakpoint that the robot can reach by moving according to the Ackerman model is determined and recorded as the suboptimal candidate path point. Based on the robot’s expected heading and expected curvature to reach each of the suboptimal candidate path points, and the set heading and curvature of each of the suboptimal candidate path points, the Ackerman model value of each of the suboptimal candidate path points is calculated. The suboptimal candidate path point corresponding to the smallest Ackerman model cost is taken as the target breakpoint.
7. The method for island-circling operation of a robot according to claim 6, characterized in that, The Ackerman model cost obj for the kth suboptimal candidate path point is calculated using the following formula. 3k : obj 3k =γ1(h vk -h tk ) 2 +γ2(cur vk -cur tk ) 2 , in, , These are the sixth and seventh preset weight values, respectively, h vk h is the expected heading of the robot when it reaches the k-th suboptimal candidate path point. tk For the set heading of the kth suboptimal candidate path point, cur vk Let curvature be the expected curvature when the robot reaches the k-th suboptimal candidate path point, where curvature is the reciprocal of the corresponding turning radius. tk Let be the curvature of the kth suboptimal candidate path point, which is obtained from the discrete point curvature mentioned above.
8. A robot, characterized in that, The system includes a controller, which comprises a memory, a processor, and a computer program stored in the memory. When executed by the processor, the computer program implements the island-circling operation method of the robot as described in any one of claims 1-7.
Citation Information
Patent Citations
Method and device for acquiring operation starting point and electronic equipment
CN113970927A