WO2023130766A1 - Path planning method for robot, electronic device, and computer-readable storage medium - Google Patents
Path planning method for robot, electronic device, and computer-readable storage medium Download PDFInfo
- Publication number
- WO2023130766A1 WO2023130766A1 PCT/CN2022/119974 CN2022119974W WO2023130766A1 WO 2023130766 A1 WO2023130766 A1 WO 2023130766A1 CN 2022119974 W CN2022119974 W CN 2022119974W WO 2023130766 A1 WO2023130766 A1 WO 2023130766A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- area
- sub
- obstacle
- planning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000007613 environmental effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
Definitions
- the present application relates to the technical field of robots, in particular to a path planning method for a robot, electronic equipment and a computer-readable storage medium.
- Path planning refers to the robot finding an optimal collision-free path from the current pose of the robot to the target pose in an environment with obstacles according to certain rules.
- the current path planning algorithm needs to expand the vehicle body, obstacles or trajectories to avoid obstacles when performing path planning, but in some scenarios Among them, the space for the robot to move is relatively small. During the expansion process, factors such as sensor accuracy and the expansion judgment of the robot and obstacles after expansion lead to the failure of the path planning of the robot in a small space.
- the present application provides a path planning method for a robot, an electronic device, and a computer-readable storage medium, which can improve the environment adaptability of the robot.
- the first aspect of the embodiments of the present application provides a path planning method for a robot, the method comprising: planning a global motion path of the robot; in response to the successful planning of the global motion path, planning a local motion path of the robot; In response to the failure of the global motion path planning, detect obstacles around the robot; based on the obstacles around the robot, control the robot to avoid the obstacles, and return to execute the plan. Describe the steps of the global motion path of the robot.
- the second aspect of the embodiment of the present application provides an electronic device, the electronic device includes a processor, a memory, and a communication circuit, the processor is respectively coupled to the memory and the communication circuit, and program data is stored in the memory , the processor implements the steps in the above method by executing the program data in the memory.
- a third aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and the computer program can be executed by a processor to implement the steps in the foregoing method.
- the fourth aspect of the embodiment of the present application provides an electronic device, the electronic device includes a global planning module, a local planning module, a detection module and an escape module; the global planning module is used to plan the global motion path of the robot; the local The planning module is used to plan the local motion path of the robot in response to the success of the global motion path planning; the detection module is used to detect obstacles around the robot in response to the failure of the global motion path planning; the escape module It is used to control the robot to avoid obstacles based on the obstacles around the robot.
- a fifth aspect of the embodiments of the present application provides a computer program product, where the computer program product includes computer program instructions, and the computer program instructions enable a computer to implement the above path planning method.
- the path planning method of the present application detects obstacles around the robot when planning the global motion path of the robot fails, and then controls the robot to avoid the obstacles based on the obstacles around the robot, so that the robot moves to an open space , and then re-plan the global motion path of the robot.
- the process of controlling the robot to move into an open space it can stay away from obstacles, overcome the virtual obstacles caused by sensor noise, expansion processing and other factors, and then improve the environmental adaptability of the robot. , stability and robustness of the path planning method.
- Fig. 1 is a schematic flow chart of an embodiment of the path planning method of the robot of the present application
- Fig. 2 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application.
- Fig. 3 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application.
- Fig. 4 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application.
- Fig. 5 is a partial flowchart in another embodiment of the path planning method of the robot of the present application.
- Fig. 6 is a schematic diagram of the movement of the robot in an application scene
- Fig. 7 is a schematic diagram of division of the first region
- Fig. 8 is a schematic diagram of part of the flow in another embodiment of the path planning method of the robot of the present application.
- Fig. 9 is a schematic diagram of the movement of the robot in an application scene
- Fig. 10 is a schematic diagram of a motion space in an application scene
- Fig. 11 is a schematic diagram of a motion space in an application scene
- FIG. 12 is a schematic structural diagram of an embodiment of an electronic device of the present application.
- FIG. 13 is a schematic structural diagram of another embodiment of the electronic device of the present application.
- Fig. 14 is a schematic structural diagram of an embodiment of a computer-readable storage medium of the present application.
- Fig. 15 is a schematic structural diagram of an embodiment of a computer program product of the present application.
- Fig. 1 is a schematic flow chart of an embodiment of the path planning method of the robot of the present application, the method comprising:
- the path planning method in this embodiment is executed by an electronic device controlling the movement of the robot, and the electronic device may be independent from the robot, or may be integrated on the robot. Wherein, when the electronic device is integrated on the robot, the electronic device may specifically be a processor in the robot.
- the present application does not limit the type of the robot, which may be any mobile robot that can move, such as a sweeping robot, a rescue robot, a service robot, and the like.
- the electronic device After the electronic device acquires the current position and the target position of the robot, it plans a global movement path from the current position to the target position according to the pre-stored map.
- A* heuristic search algorithm
- D* dynamic heuristic path search algorithm
- Dijkstra Dijkstra algorithm
- step S105 If successful, execute step S105, and if fail, execute step S103.
- the global path planning fails, it is determined that the reason for the failure is that the robot has entered a small space, and then obstacles around the robot are detected.
- sensors are installed on the robot in advance to collect obstacles around the robot.
- the sensors installed on the robot include a depth camera and a laser radar.
- the depth camera has disadvantages such as small field of view, high noise, susceptible to light interference, and inability to measure transmissive materials, but it has the advantages of not being limited by the height of objects and high definition, while LiDAR cannot accurately measure objects with higher heights. , but has the advantages of a large field of view and is not easily affected by environmental factors. Therefore, the depth camera and lidar are used to cooperate with each other to make up for the shortcomings of the other party and ensure the accuracy of obtaining obstacles around the robot.
- the electronic device is connected with the depth camera and the laser radar at the same time, and detects the obstacles around the robot through the data collected by the depth camera and the laser radar.
- the robot After obtaining the obstacles around the robot, based on the obstacles around the robot, the robot is controlled to move to avoid the obstacles, that is, to control the robot to escape from difficulties.
- step S102 If the global motion path of the robot is successfully obtained in step S102, then the local motion path of the robot is planned, that is, local path planning is performed.
- local path planning is also called local obstacle avoidance.
- local path planning is also called local obstacle avoidance.
- its surrounding environment is not static. There may be some moving obstacles or obstacles that do not exist on the static map. At this time, it is necessary to detect the environmental information around the robot. If a new obstacle appears, it is necessary to plan the local movement path of the robot to avoid the obstacle.
- the path planning method of the above embodiment when planning the global motion path of the robot fails, it detects the obstacles around the robot, and then controls the robot to avoid the obstacles based on the obstacles around the robot, so that the robot moves to an open space, and then Re-plan the global motion path of the robot. In the process of controlling the robot to move into an open space, it can stay away from obstacles and overcome the virtual obstacles caused by sensor noise, expansion processing and other factors, thereby improving the robot's environmental adaptability and stability. and the robustness of the path planning method.
- Fig. 2 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application, the method includes:
- Steps S201-S205 are correspondingly the same as steps S101-S105 in the above-mentioned implementation manner, for details, please refer to the above-mentioned implementation manner, and details are not repeated here.
- step S207 If successful, execute step S207, and if failed, return to execute step S201.
- the local motion path is acquired, it is determined that the planning of the local motion path is successful; otherwise, it is determined that the planning of the local motion path fails.
- FIG. 3 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application.
- the method includes:
- Steps S301-S305 are correspondingly the same as steps S101-S105 in the above-mentioned implementation manner, for details, please refer to the above-mentioned implementation manner, and details are not repeated here.
- S306 Determine whether the planning of the local motion path is successful.
- step S309 If successful, execute step S309, and if fail, execute step S307.
- step S308 return to step S305.
- step S307 is the same as step S103 in the above-mentioned embodiment
- step S308 is the same as step S104 in the above-mentioned embodiment.
- step S307 is the same as step S103 in the above-mentioned embodiment
- step S308 is the same as step S104 in the above-mentioned embodiment.
- the robot's Path planning methods include:
- S402 Determine whether the planning of the global motion path is successful.
- step S408 If it is judged that the planning is successful, execute step S408, otherwise execute step S403.
- S404 Determine whether the accumulated number of times exceeds the number threshold.
- step S407 If the judgment result is yes, execute step S407, otherwise execute step S405.
- S409 Determine whether the planning of the local motion path is successful.
- step S410 If it is judged that the planning is successful, execute step S410, otherwise, return to execute step S401.
- the counter is used to accumulate the number of consecutive failures of the global motion path planning.
- the counter is cleared.
- step S402 determines that the global motion path planning fails, the count of the counter is obtained. If the count exceeds the number threshold, it will prompt that the planning fails, and the global motion path will not be re-planned, otherwise, the robot will be controlled to escape from difficulties.
- the number of times threshold can be set according to the actual application scenario, for example, set to 20 times or 10 times.
- the criterion for judging whether the robot escapes successfully may be: there is no obstacle within the preset range of the robot. Specifically, in the process of controlling the robot to avoid obstacles based on the obstacles around the robot, if it detects that there are no obstacles within the preset range around the robot, it is determined that the robot has avoided the obstacle, and the robot If the escape is successful, then re-plan the global motion path of the robot, otherwise continue to drive the robot to avoid obstacles.
- the preset range can be set according to the actual application scenario. For example, in an application scenario, when no obstacle is detected within 0.6m around the robot, it is determined that the robot has avoided the obstacle.
- the steps of controlling the robot to avoid obstacles to accumulate the movement time of the robot, if the accumulated time reaches the time threshold and the robot has not avoided the obstacle, then forcibly exit the step of controlling the robot to avoid the obstacle, and return to the step of planning the global movement path of the robot.
- the duration threshold may be set according to an actual application scenario, for example, set to 2 minutes or 15 minutes.
- the criterion for judging whether the robot escapes successfully can also be other, for example: the movement duration of the robot reaches the first threshold, that is to say, the movement of the robot is controlled based on the obstacles around the robot until the movement duration of the robot reached the first threshold.
- the steps of controlling the robot to avoid obstacles include:
- the first area is a circular area centered on the robot and having a radius equal to a first preset distance.
- the first preset distance can be set according to the actual scene, for example, set to 0.6m.
- the first area may also be an area of other shapes such as sector, rectangle, trapezoid, etc. In general, the present application does not limit the shape of the first area.
- S502 In at least one first sub-area where there is no obstacle in the first area, search for the first sub-area with the smallest corresponding cost value, wherein the degree of deviation between the first sub-area and the forward direction of the robot corresponds to the first sub-area
- the cost value of is proportional, and the distance from the point closest to the robot in the first sub-region to the robot is equal to zero, and the point farthest from the robot is on the contour of the first region.
- the cost value in the first sub-area is preset, and the greater the deviation between the first sub-area and the advancing direction of the robot, the greater the cost value corresponding to the first sub-area.
- the distance from the point closest to the robot to the robot in the first sub-area without obstacles is equal to zero, and the point farthest from the robot is on the contour of the first area, so that the robot can move without touching the obstacle. Leave the first area along any path in the first sub-area to achieve the purpose of getting out of trouble.
- the forward direction of the robot is recorded as "Front", and the degree of deviation between the first sub-area and the forward direction of the robot refers to the maximum angle between the direction of the robot pointing to any point in the first sub-area and the forward direction Front.
- the first sub-area when there is only one first sub-area with no obstacle in the first area, the first sub-area is the first sub-area corresponding to the smallest cost value, and when there is no obstacle in the first area When there are more than two first sub-areas, it is necessary to search for the first sub-area corresponding to the smallest cost value among the two or more first sub-areas.
- S503 Control the robot to move in a direction pointing to the first sub-area corresponding to the smallest cost value, so as to avoid obstacles.
- a point can be randomly determined in the first sub-area corresponding to the smallest cost value, and then the robot is controlled to move along the pointing direction The path movement of this point, so as to achieve the purpose of avoiding obstacles, or first determine the target point in the first sub-region with the smallest corresponding cost value, and then control the robot to move along the path pointing to the target point, so as to avoid obstacles
- the goal of the object where among all points corresponding to the first sub-area with the smallest cost value, the angle between the direction of the robot pointing to the target point and the forward direction Front of the robot is the smallest.
- step S503 is described in conjunction with FIG. 6:
- step S502 searches for the first sub-area corresponding to the smallest cost value in the first sub-area where there is no obstacle in the first area, specifically including:
- step S502 is described by dividing the first area into 12 sub-areas:
- the first area is divided into 4 equal-sized and fan-shaped areas on average, and the central angle of each area is 90 degrees.
- the 4 areas are respectively recorded as Front area, Left area, Right area and Back area, where the symmetry axis of the Front area coincides with the robot's forward direction Front, and the robot's forward direction passes through the Front area, the Left area and the Right area are located on both sides of the Front area, and the Back area is located between the Left area and the Right area .
- the 4 equal-sized areas are divided into 3 equal-sized and fan-shaped sub-areas, that is, the first area is divided into 12 equal-sized sub-areas. It is understandable that there are A sub-area whose symmetry axis coincides with the robot's forward direction Front is marked as the first reference sub-area F-C, and the sub-areas on both sides of the first reference sub-area F-C are respectively marked as F-L and F-R.
- the first The cost value of the reference sub-area F-C is 0, the degree of deviation between the F-L sub-area and the F-R sub-area is the same as that of the robot’s forward direction Front, and the cost values of the F-L sub-area and the F-R sub-area are set equal to 1; the R-L sub-area and the L-R sub-area The degree of deviation between the area and the Front direction of the robot is the same, but both are greater than the deviation degree of the F-L sub-area/F-R sub-area from the Front direction of the robot. Therefore, the cost value of the R-L sub-area and the L-R sub-area is set to 2, and so on.
- the axis of symmetry of the first reference sub-region F-C coincides with the advancing direction Front of the robot, but in other implementations, the axis of symmetry of the first reference sub-region F-C may not coincide with the advancing direction Front of the robot, as long as It only needs to ensure that the forward direction Front of the robot can pass through the first reference sub-area F-C. It can be understood that when the symmetry axis of the first reference sub-area F-C does not coincide with the forward direction of the robot Front, the cost values of each sub-area in the first area are no longer set symmetrically as shown in Figure 7 .
- the above scheme has described the scheme by dividing the first area into 12 sub-areas, but the application is not limited thereto.
- the first area can also be divided into, for example, 4, 5, 6, 15 Or 18 and other number of sub-regions.
- the divided sub-regions can be of different sizes and shapes, as long as the distance from the point closest to the robot in the sub-region to the robot is equal to zero, and the point farthest from the robot is in the outline of the first region Just go up.
- the steps of controlling the robot to avoid obstacles include:
- S602 Determine whether there is an obstacle in the forward direction of the robot in the first area.
- step S603 If it exists, execute step S603; if not, execute step S605.
- step S602 specifically includes: judging whether there is an obstacle in the first reference sub-area in the first area, wherein the advancing direction of the robot passes through the first reference sub-area; If there is an obstacle, it is determined that there is an obstacle in the forward direction of the robot; in response to the fact that there is no obstacle in the first reference sub-area, it is determined that there is no obstacle in the forward direction of the robot.
- step S603 it is judged whether there is an obstacle in the above-mentioned first reference sub-region F-C, and if there is, then step S603 is executed, and if not, then step S605 is executed.
- step S602 may also directly determine whether the forward direction Front of the robot has passed an obstacle, and if so, execute step S603 , otherwise execute step S605 .
- S604 Control the robot to move along a direction pointing to the first sub-area corresponding to the smallest cost value, so as to avoid obstacles.
- Step S603 is the same as the above-mentioned step S502, and step S604 is the same as the above-mentioned step S503, which will not be repeated here.
- the second area is located at the periphery of the first area and connected to the first area, it can also be understood that the second area is located on the side of the first area away from the robot.
- the second area is an annular area with the robot as the center, the inner diameter being the first preset distance, and the outer diameter being the second preset distance.
- the second preset distance is greater than the first preset distance.
- the first preset distance is 0.6m
- the second preset distance is 1.5m.
- the second area may also be an area of other shapes such as a sector, a rectangle, and a trapezoid.
- S606 In the first sub-area where there is no obstacle in the first area and the second sub-area where there is no obstacle in the second area, find the target sub-area corresponding to the smallest cost value, and the point closest to the robot in the second sub-area On the outline of the first area, the point farthest from the robot is on the outline of the second area, and the target sub-area includes the connected first sub-area and the second sub-area.
- the target area includes the connected first sub-area and the second sub-area at the same time, and the point of the second sub-area closest to the robot is on the contour of the first area, and the point farthest from the robot is on the contour of the second area, Therefore, on the premise of not touching obstacles, the robot can follow any path in the target sub-area, and after passing through the first area, leave the second area to achieve the purpose of getting out of trouble.
- step S607 controls the robot to move along the direction pointing to the target sub-area to achieve the purpose of getting out of trouble.
- FIG. 9 it is assumed that in the first area, there are first sub-areas A1, A2, A3 without obstacles, and in the second area, there are second sub-areas B1, B2, B3 without obstacles.
- There are two target sub-areas one is the first target sub-area including the first sub-area A2 and the second sub-area B1, and the other is the second target sub-area including the first sub-area A3 and the second sub-area B2 , at this time, it can be seen from Figure 9 that the degree of deviation between the first target sub-region and the advancing direction of the robot is smaller than the deviation between the second target sub-region and the advancing direction of the robot, that is, the cost value of the first target sub-region is less than The cost value of the second target sub-area therefore controls the robot to move in the direction pointing to the first target sub-area, ie the direction indicated by the dotted arrow in FIG. 9 .
- multiple sub-areas are also divided in the second area.
- the multiple sub-areas in the second area correspond to the multiple sub-areas in the first area one-to-one, and the one-to-one correspondence It means that the symmetry axes of the two sub-areas coincide, and the corresponding cost values are equal.
- the first area includes 12 sub-areas with the same size and all fan-shaped
- the second area includes 12 sub-areas with the same size and each is a sub-region of the fan ring.
- S607 Control the robot to move in a direction pointing to the target sub-area, so as to avoid obstacles.
- step S606 it can also be judged whether there is an obstacle in the forward direction of the robot in the second area, If it exists, execute step S606; if not, just directly control the robot to move forward.
- the second reference sub-area in the second area corresponds to the first reference sub-area in the first area.
- step S605 directly execute step S606, or in other implementations, directly execute step S603 after step S601, at this time only need to control the robot to get out of trouble according to the situation of obstacles in the first area, or in other implementations
- step S603 after step S605: directly execute step S606 or in other implementations, directly execute step S603 after step S601, at this time only need to control the robot to get out of trouble according to the situation of obstacles in the first area, or in other implementations
- step S603 directly execute step S601 after step S601, at this time only need to control the robot to get out of trouble according to the situation of obstacles in the first area, or in other implementations
- step S603 directly execute step S601 after step S601 time only need to control the robot to get out of trouble according to the situation of obstacles in the first area, or in other implementations
- the robot is controlled to move forward directly.
- the first area and the second area may not be divided into sub-areas.
- the adjacent two The area between obstacles is determined as the first sub-area or the second sub-area, or in order to ensure that the robot can pass through smoothly, the sub-area between two adjacent obstacles with an area greater than the threshold is determined as the first sub-area or the second subregion.
- the shape of the first sub-region or the second sub-region is not fixed, and the first sub-region or the second sub-region may also be set to a predetermined shape, or may be set according to the distribution of actual obstacles.
- the robot When planning the trajectory of the robot, it is determined that there is an obstacle at the position and it is not passable, resulting in the failure of path planning, and
- the robot when the path planning fails, the robot is controlled to perform escape processing, and after the robot moves to an open space, the path is re-planned to keep away from obstacles and virtual obstacles, thereby ensuring that the robot can pass through a narrow space.
- FIG. 12 is a schematic structural diagram of an embodiment of an electronic device of the present application.
- the electronic device 200 includes a processor 210, a memory 220, and a communication circuit 230.
- the processor 210 is respectively coupled to the memory 220 and the communication circuit 230.
- the memory 220 stores program data.
- the processor 210 executes the program data in the memory 220 to realize For the steps in the method of any one of the above-mentioned implementation manners, the detailed steps can refer to the above-mentioned implementation manners, and will not be repeated here.
- the electronic device 200 may be any type of device for controlling the movement of the robot, which is not limited here.
- the electronic device 200 and the robot may be independent of each other, or may be integrated on the robot.
- the electronic device when the electronic device 200 is integrated on the robot, the electronic device may specifically be a processor in the robot.
- FIG. 13 is a schematic structural diagram of an embodiment of an electronic device of the present application.
- the electronic device 300 includes a global planning module 310 , a local planning module 320 , a detection module 330 and an escape module 340 .
- the global planning module 310 is used to plan the global motion path of the robot.
- the local planning module 320 is connected with the global planning module 310, and is used to plan the local motion path of the robot when the global motion path planning is successful.
- the detection module 330 is connected with the global planning module 310 and is used for detecting obstacles around the robot when the global motion path planning fails.
- the escape module 340 is connected with the detection module 330 and used for controlling the robot to avoid obstacles based on the obstacles around the robot.
- the global planning module 310 plans the global motion path of the robot again.
- the electronic device 300 executes the steps in any one of the above-mentioned implementation manners when it is working, and the detailed steps can be referred to the above content, which will not be repeated here.
- the electronic device 300 may be any type of device for controlling the movement of the robot, which is not limited here.
- the electronic device 300 can be independent from the robot, or can be integrated on the robot. Wherein, when the electronic device 300 is integrated on the robot, the electronic device may specifically be a processor in the robot.
- FIG. 14 is a schematic structural diagram of an embodiment of a computer-readable storage medium of the present application.
- the computer-readable storage medium 400 stores a computer program 410, and the computer program 410 can be executed by a processor to implement the steps in any one of the above methods.
- the computer-readable storage medium 400 can specifically be a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, etc., which can store computer programs.
- the device at 410 may also be a server storing the computer program 410, and the server may send the stored computer program 410 to other devices for running, or may also run the stored computer program 410 itself.
- FIG. 15 is a schematic structural diagram of an embodiment of a computer program product of the present application.
- the computer program product 500 includes a computer program 510.
- the steps in any one of the above-mentioned methods can be implemented.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
The present application discloses a path planning method for a robot, an electronic device, and a computer-readable storage medium. The path planning method comprises: planning a global motion path of a robot; in response to successful global motion path planning, planning a local motion path of the robot; in response to global motion path planning failing, detecting an obstacle around the robot; and on the basis of the obstacle around the robot, controlling the robot to avoid the obstacle, and returning to executing the step of planning the global motion path of the robot. The method provided by the present application can improve the adaptability of the robot to the environment.
Description
本申请要求于2022年01月05日提交的申请号为202210007009X,发明名称为“机器人的路径规划方法、电子设备及计算机可读存储介质”的中国专利申请的优先权,其通过引用方式全部并入本申请。This application claims the priority of the Chinese patent application with the application number 202210007009X filed on January 05, 2022, and the title of the invention is "robot path planning method, electronic equipment and computer-readable storage medium", which is incorporated by reference in its entirety into this application.
本申请涉及机器人技术领域,特别是涉及一种机器人的路径规划方法、电子设备及计算机可读存储介质。The present application relates to the technical field of robots, in particular to a path planning method for a robot, electronic equipment and a computer-readable storage medium.
近年来,移动机器人在家庭服务等领域迅猛发展,其相关技术也逐渐成为研究热点,其中移动机器人路径规划算法是导航技术的关键。路径规划指机器人在具有障碍物的环境中,按照一定的规则,寻找一条从机器人当前位姿到目标位姿的最优无碰撞路径。In recent years, mobile robots have developed rapidly in the fields of home services, and their related technologies have gradually become a research hotspot. Among them, the path planning algorithm of mobile robots is the key to navigation technology. Path planning refers to the robot finding an optimal collision-free path from the current pose of the robot to the target pose in an environment with obstacles according to certain rules.
考虑到实际环境比较复杂,障碍物形状不确定因素太高等原因,目前路径规划算法在进行路径规划时,都需要膨胀车身、障碍物或者轨迹等达到避开障碍物的目的,但是在某些场景中,机器人移动的空间比较小,在进行膨胀处理时,传感器精度以及机器人、障碍物膨胀后的膨胀判断等因素的存在,导致存在机器人在狭小空间内路径规划失败的现象。Considering that the actual environment is relatively complex and the uncertain factors of obstacle shapes are too high, the current path planning algorithm needs to expand the vehicle body, obstacles or trajectories to avoid obstacles when performing path planning, but in some scenarios Among them, the space for the robot to move is relatively small. During the expansion process, factors such as sensor accuracy and the expansion judgment of the robot and obstacles after expansion lead to the failure of the path planning of the robot in a small space.
【发明内容】【Content of invention】
本申请提供一种机器人的路径规划方法、电子设备及计算机可读存储介质,能够提高机器人的环境适应能力。The present application provides a path planning method for a robot, an electronic device, and a computer-readable storage medium, which can improve the environment adaptability of the robot.
本申请实施例第一方面提供一种机器人的路径规划方法,所述方法包括:规划所述机器人的全局运动路径;响应于所述全局运动路径规划成功,则规划所述机器人的局部运动路径;响应于所述全局运动路径规划失败,则侦测所述机器人周围的障碍物;基于所述机器人周围的所述障碍物,控制所述机器人避开所述障碍物,并返回执行所述规划所述机器人的全局运动路径的步骤。The first aspect of the embodiments of the present application provides a path planning method for a robot, the method comprising: planning a global motion path of the robot; in response to the successful planning of the global motion path, planning a local motion path of the robot; In response to the failure of the global motion path planning, detect obstacles around the robot; based on the obstacles around the robot, control the robot to avoid the obstacles, and return to execute the plan. Describe the steps of the global motion path of the robot.
本申请实施例第二方面提供一种电子设备,所述电子设备包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述方法中的步骤。The second aspect of the embodiment of the present application provides an electronic device, the electronic device includes a processor, a memory, and a communication circuit, the processor is respectively coupled to the memory and the communication circuit, and program data is stored in the memory , the processor implements the steps in the above method by executing the program data in the memory.
本申请实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。A third aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and the computer program can be executed by a processor to implement the steps in the foregoing method.
本申请实施例第四方面提供一种电子设备,所述电子设备包括全局规划模块、局部规划模块、侦测模块以及脱困模块;所述全局规划模块用于规划机器人的全局运动路径;所述局 部规划模块用于响应于所述全局运动路径规划成功,规划机器人的局部运动路径;所述侦测模块用于响应于所述全局运动路径规划失败,侦测机器人周围的障碍物;所述脱困模块用于基于机器人周围的障碍物,控制机器人避开障碍物。The fourth aspect of the embodiment of the present application provides an electronic device, the electronic device includes a global planning module, a local planning module, a detection module and an escape module; the global planning module is used to plan the global motion path of the robot; the local The planning module is used to plan the local motion path of the robot in response to the success of the global motion path planning; the detection module is used to detect obstacles around the robot in response to the failure of the global motion path planning; the escape module It is used to control the robot to avoid obstacles based on the obstacles around the robot.
本申请实施例第五方面提供一种计算机程序产品,所述计算机程序产品包括计算机程序指令,所述计算机程序指令使计算机实现上述的路径规划方法。A fifth aspect of the embodiments of the present application provides a computer program product, where the computer program product includes computer program instructions, and the computer program instructions enable a computer to implement the above path planning method.
有益效果是:本申请的路径规划方法,在规划机器人的全局运动路径失败时,侦测机器人周围的障碍物,然后基于机器人周围的障碍物,控制机器人避开障碍物,使得机器人运动到空旷空间,然后再重新规划机器人的全局运动路径,其中在控制机器人运动到空旷空间的过程中,能够远离障碍物,克服传感器噪声、膨胀处理等因素带来的虚拟障碍物,进而提高机器人的环境适应能力、稳定性以及路径规划方法的鲁棒性。The beneficial effect is: the path planning method of the present application detects obstacles around the robot when planning the global motion path of the robot fails, and then controls the robot to avoid the obstacles based on the obstacles around the robot, so that the robot moves to an open space , and then re-plan the global motion path of the robot. In the process of controlling the robot to move into an open space, it can stay away from obstacles, overcome the virtual obstacles caused by sensor noise, expansion processing and other factors, and then improve the environmental adaptability of the robot. , stability and robustness of the path planning method.
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative work, in which:
图1是本申请机器人的路径规划方法一实施方式的流程示意图;Fig. 1 is a schematic flow chart of an embodiment of the path planning method of the robot of the present application;
图2是本申请机器人的路径规划方法另一实施方式的流程示意图;Fig. 2 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application;
图3是本申请机器人的路径规划方法另一实施方式的流程示意图;Fig. 3 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application;
图4是本申请机器人的路径规划方法另一实施方式的流程示意图;Fig. 4 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application;
图5是本申请机器人的路径规划方法另一实施方式中的部分流程示意图;Fig. 5 is a partial flowchart in another embodiment of the path planning method of the robot of the present application;
图6是一应用场景中机器人的运动示意图;Fig. 6 is a schematic diagram of the movement of the robot in an application scene;
图7是第一区域的划分示意图;Fig. 7 is a schematic diagram of division of the first region;
图8是本申请机器人的路径规划方法另一实施方式中的部分流程示意图;Fig. 8 is a schematic diagram of part of the flow in another embodiment of the path planning method of the robot of the present application;
图9是一应用场景中机器人的运动示意图;Fig. 9 is a schematic diagram of the movement of the robot in an application scene;
图10是一应用场景中运动空间的示意图;Fig. 10 is a schematic diagram of a motion space in an application scene;
图11是一应用场景中运动空间的示意图;Fig. 11 is a schematic diagram of a motion space in an application scene;
图12是本申请电子设备一实施方式的结构示意图;FIG. 12 is a schematic structural diagram of an embodiment of an electronic device of the present application;
图13是本申请电子设备另一实施方式的结构示意图;FIG. 13 is a schematic structural diagram of another embodiment of the electronic device of the present application;
图14是本申请计算机可读存储介质一实施方式的结构示意图;Fig. 14 is a schematic structural diagram of an embodiment of a computer-readable storage medium of the present application;
图15是本申请计算机程序产品一实施方式的结构示意图。Fig. 15 is a schematic structural diagram of an embodiment of a computer program product of the present application.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中 的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, not all of them. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
参阅图1,图1是本申请机器人的路径规划方法一实施方式的流程示意图,该方法包括:Referring to Fig. 1, Fig. 1 is a schematic flow chart of an embodiment of the path planning method of the robot of the present application, the method comprising:
S101:规划机器人的全局运动路径。S101: Planning the global motion path of the robot.
本实施方式中的路径规划方法由控制机器人运动的电子设备执行,该电子设备可以与机器人彼此独立,也可以集成在机器人上。其中,当电子设备集成在机器人上时,电子设备具体可以是机器人中的处理器。The path planning method in this embodiment is executed by an electronic device controlling the movement of the robot, and the electronic device may be independent from the robot, or may be integrated on the robot. Wherein, when the electronic device is integrated on the robot, the electronic device may specifically be a processor in the robot.
其中本申请对机器人的类型不做限制,其可以是任何一个可以移动的移动机器人,例如扫地机器人、救援机器人、服务机器人等。The present application does not limit the type of the robot, which may be any mobile robot that can move, such as a sweeping robot, a rescue robot, a service robot, and the like.
其中电子设备在获取到机器人的当前位置以及目标位置后,根据预先存储的地图,规划从当前位置到目标位置的全局运动路径。Wherein, after the electronic device acquires the current position and the target position of the robot, it plans a global movement path from the current position to the target position according to the pre-stored map.
其中,可以采用例如A*(启发式搜索算法)、D*(动态启发式路径搜索算法)或者Dijkstra(迪科斯彻算法)等算法规划机器人的全局运动路径。Among them, algorithms such as A* (heuristic search algorithm), D* (dynamic heuristic path search algorithm) or Dijkstra (Dijkstra algorithm) can be used to plan the global motion path of the robot.
S102:判断全局运动路径是否规划成功。S102: Determine whether the planning of the global motion path is successful.
若成功,则执行步骤S105,若失败,则执行步骤S103。If successful, execute step S105, and if fail, execute step S103.
其中,如果获取到全局运动路径,则判定全局运动路径规划成功,否则判定全局运动路径规划失败。Wherein, if the global motion path is acquired, it is determined that the global motion path planning is successful, otherwise it is determined that the global motion path planning fails.
S103:侦测机器人周围的障碍物。S103: Detect obstacles around the robot.
在本实施方式中,若全局路径规划失败,则判定造成失败的原因是机器人进入了狭小空间,进而侦测机器人周围的障碍物。In this embodiment, if the global path planning fails, it is determined that the reason for the failure is that the robot has entered a small space, and then obstacles around the robot are detected.
其中,预先在机器人上安装传感器,用于采集机器人周围的障碍物,在本实施方式中,在机器人上安装的传感器包括深度相机以及激光雷达。Wherein, sensors are installed on the robot in advance to collect obstacles around the robot. In this embodiment, the sensors installed on the robot include a depth camera and a laser radar.
具体而言,深度相机存在视野小、噪声大、易受光照干扰、无法测量透射材料等缺点,但具有不受物体高度限制、清晰度高等优点,而激光雷达虽然无法准确测量高度较高的物体,但是具有视野大、不易受环境因素影响等优点,因此采用深度相机和激光雷达相互配合,以弥补对方存在的缺点,保证获取机器人周围的障碍物的准确率。Specifically, the depth camera has disadvantages such as small field of view, high noise, susceptible to light interference, and inability to measure transmissive materials, but it has the advantages of not being limited by the height of objects and high definition, while LiDAR cannot accurately measure objects with higher heights. , but has the advantages of a large field of view and is not easily affected by environmental factors. Therefore, the depth camera and lidar are used to cooperate with each other to make up for the shortcomings of the other party and ensure the accuracy of obtaining obstacles around the robot.
其中,电子设备同时与深度相机以及激光雷达连接,通过深度相机以及激光雷达采集的数据,侦测机器人周围的障碍物。Among them, the electronic device is connected with the depth camera and the laser radar at the same time, and detects the obstacles around the robot through the data collected by the depth camera and the laser radar.
S104:基于机器人周围的障碍物,控制机器人避开障碍物。S104: Based on the obstacles around the robot, control the robot to avoid the obstacles.
在获取到机器人周围的障碍物后,基于机器人周围的障碍物,控制机器人运动,以避开障碍物,即控制机器人进行脱困处理。After obtaining the obstacles around the robot, based on the obstacles around the robot, the robot is controlled to move to avoid the obstacles, that is, to control the robot to escape from difficulties.
S105:规划机器人的局部运动路径。S105: Planning a local motion path of the robot.
如果步骤S102成功获取到机器人的全局运动路径,则规划机器人的局部运动路径,即进行局部路径规划。If the global motion path of the robot is successfully obtained in step S102, then the local motion path of the robot is planned, that is, local path planning is performed.
其中,局部路径规划也称为局部避障,在机器人的实际运动过程中,其周围的环境并不是静态不变的,可能会出现一些运动的障碍物或者出现静态地图上不存在的障碍物,而这时 就需要侦测机器人周围的环境信息,如果出现新的障碍物,就需要规划机器人的局部运动路径,以避开障碍物。Among them, local path planning is also called local obstacle avoidance. During the actual movement of the robot, its surrounding environment is not static. There may be some moving obstacles or obstacles that do not exist on the static map. At this time, it is necessary to detect the environmental information around the robot. If a new obstacle appears, it is necessary to plan the local movement path of the robot to avoid the obstacle.
其中,可以采用例如DWA(动态窗口算法)或者TEB等算法规划机器人的局部运动路径。Among them, algorithms such as DWA (Dynamic Window Algorithm) or TEB can be used to plan the local motion path of the robot.
上述实施方式的路径规划方法,在规划机器人的全局运动路径失败时,侦测机器人周围的障碍物,然后基于机器人周围的障碍物,控制机器人避开障碍物,使得机器人运动到空旷空间,然后再重新规划机器人的全局运动路径,其中在控制机器人运动到空旷空间的过程中,能够远离障碍物,克服传感器噪声、膨胀处理等因素带来的虚拟障碍物,进而提高机器人的环境适应能力、稳定性以及路径规划方法的鲁棒性。In the path planning method of the above embodiment, when planning the global motion path of the robot fails, it detects the obstacles around the robot, and then controls the robot to avoid the obstacles based on the obstacles around the robot, so that the robot moves to an open space, and then Re-plan the global motion path of the robot. In the process of controlling the robot to move into an open space, it can stay away from obstacles and overcome the virtual obstacles caused by sensor noise, expansion processing and other factors, thereby improving the robot's environmental adaptability and stability. and the robustness of the path planning method.
参阅图2,图2是本申请机器人的路径规划方法另一实施方式的流程示意图,该方法包括:Referring to Fig. 2, Fig. 2 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application, the method includes:
S201:规划机器人的全局运动路径。S201: Planning a global motion path of the robot.
S202:判断全局运动路径是否规划成功。S202: Determine whether the planning of the global motion path is successful.
S203:侦测机器人周围的障碍物。S203: Detect obstacles around the robot.
S204:基于机器人周围的障碍物,控制机器人避开障碍物。S204: Based on the obstacles around the robot, control the robot to avoid the obstacles.
S205:规划机器人的局部运动路径。S205: Planning a local motion path of the robot.
步骤S201-S205与上述实施方式中的步骤S101-S105对应相同,具体可参见上述实施方式,在此不再赘述。Steps S201-S205 are correspondingly the same as steps S101-S105 in the above-mentioned implementation manner, for details, please refer to the above-mentioned implementation manner, and details are not repeated here.
S206:判断局部运动路径是否规划成功。S206: Determine whether the planning of the local motion path is successful.
若成功,则执行步骤S207,若失败,则返回执行步骤S201。If successful, execute step S207, and if failed, return to execute step S201.
其中,如果获取到局部运动路径,则判定局部运动路径规划成功,否则判定局部运动路径规划失败。Wherein, if the local motion path is acquired, it is determined that the planning of the local motion path is successful; otherwise, it is determined that the planning of the local motion path fails.
S207:控制机器人运动至目的地。S207: Control the robot to move to the destination.
与上述实施方式不同的是,本实施方式在局部运动路径规划失败时,判定机器人当前周围可能存在障碍物,由于局部运动路径影响着全局运动路径,因此返回重新规划机器人的全局运动路径。但是如果局部运动路径规划成功,则直接控制机器人运动至目的地。The difference from the above-mentioned embodiments is that in this embodiment, when the planning of the local motion path fails, it is determined that there may be obstacles around the robot. Since the local motion path affects the global motion path, it returns to replan the global motion path of the robot. But if the local motion path planning is successful, the robot is directly controlled to move to the destination.
参阅图3,图3是本申请机器人的路径规划方法另一实施方式的流程示意图,该方法包括:Referring to FIG. 3, FIG. 3 is a schematic flow chart of another embodiment of the path planning method of the robot of the present application. The method includes:
S301:规划机器人的全局运动路径。S301: Planning the global motion path of the robot.
S302:判断全局运动路径是否规划成功。S302: Determine whether the planning of the global motion path is successful.
S303:侦测机器人周围的障碍物。S303: Detect obstacles around the robot.
S304:基于机器人周围的障碍物,控制机器人避开障碍物。S304: Based on the obstacles around the robot, control the robot to avoid the obstacles.
S305:规划机器人的局部运动路径。S305: Planning a local motion path of the robot.
步骤S301-S305与上述实施方式中的步骤S101-S105对应相同,具体可参见上述实施方式,在此不再赘述。Steps S301-S305 are correspondingly the same as steps S101-S105 in the above-mentioned implementation manner, for details, please refer to the above-mentioned implementation manner, and details are not repeated here.
S306:判断局部运动路径是否规划成功。S306: Determine whether the planning of the local motion path is successful.
如果成功,则执行步骤S309,如果失败,则执行步骤S307。If successful, execute step S309, and if fail, execute step S307.
S307:侦测机器人周围的障碍物。S307: Detect obstacles around the robot.
S308:基于机器人周围的障碍物,控制机器人避开障碍物。S308: Based on the obstacles around the robot, control the robot to avoid the obstacles.
在步骤S308之后,返回执行步骤S305。After step S308, return to step S305.
与图2实施方式不同的是,本实施方式在局部运动路径规划失败时,不再重新规划全局运动路径,而是直接控制机器人进行脱困处理。其中步骤S307与上述实施方式中的步骤S103相同,步骤S308与上述实施方式中的步骤S104相同,具体可参见上述相关内容。Different from the embodiment shown in FIG. 2 , this embodiment does not re-plan the global motion path when the local motion path planning fails, but directly controls the robot to perform trouble-free processing. Wherein, step S307 is the same as step S103 in the above-mentioned embodiment, and step S308 is the same as step S104 in the above-mentioned embodiment. For details, please refer to the relevant content above.
S309:控制机器人运动至目的地。S309: Control the robot to move to the destination.
考虑到机器人在避开障碍物后,可能存在其他因素导致全局路径规划失败,此时重新规划全局运动路径会一直陷入循环,为了避免该现象,参阅图4,在另一实施方式中,机器人的路径规划方法包括:Considering that after the robot avoids obstacles, there may be other factors that lead to the failure of global path planning. At this time, re-planning the global motion path will always fall into a loop. In order to avoid this phenomenon, refer to Figure 4. In another embodiment, the robot's Path planning methods include:
S401:规划机器人的全局运动路径。S401: Planning a global motion path of the robot.
S402:判断全局运动路径是否规划成功。S402: Determine whether the planning of the global motion path is successful.
若判断规划成功,则执行步骤S408,否则执行步骤S403。If it is judged that the planning is successful, execute step S408, otherwise execute step S403.
S403:获取全局路径规划连续失败的累计次数。S403: Obtain the cumulative number of consecutive failures of the global path planning.
S404:判断累计次数是否超过次数阈值。S404: Determine whether the accumulated number of times exceeds the number threshold.
若判断结果为是,则执行步骤S407,否则执行步骤S405。If the judgment result is yes, execute step S407, otherwise execute step S405.
S405:侦测机器人周围的障碍物。S405: Detect obstacles around the robot.
S406:基于机器人周围的障碍物,控制机器人避开障碍物。S406: Based on the obstacles around the robot, control the robot to avoid the obstacles.
S407:提示规划失败。S407: Prompt that planning fails.
S408:规划机器人的局部运动路径。S408: Planning a local motion path of the robot.
S409:判断局部运动路径是否规划成功。S409: Determine whether the planning of the local motion path is successful.
若判断规划成功,则执行步骤S410,否则返回执行步骤S401。If it is judged that the planning is successful, execute step S410, otherwise, return to execute step S401.
S410:控制机器人运动至目的地。S410: Control the robot to move to the destination.
在本实施方式中,利用计数器对全局运动路径规划连续失败的次数进行累计,当全局运动路径规划成功时,该计数器进行清零,当步骤S402判定全局运动路径规划失败时,获取计数器的计数,如果计数超过次数阈值,则提示规划失败,不再重新规划全局运动路径,否则控制机器人进行脱困处理。In this embodiment, the counter is used to accumulate the number of consecutive failures of the global motion path planning. When the global motion path planning is successful, the counter is cleared. When step S402 determines that the global motion path planning fails, the count of the counter is obtained. If the count exceeds the number threshold, it will prompt that the planning fails, and the global motion path will not be re-planned, otherwise, the robot will be controlled to escape from difficulties.
其中,次数阈值可以根据实际应用场景进行设置,例如设置为20次或者10次等。Wherein, the number of times threshold can be set according to the actual application scenario, for example, set to 20 times or 10 times.
在上述任一项实施方式中,判断机器人是否脱困成功的标准可以是:机器人的预设范围内不存在障碍物。具体而言,在基于机器人周围的障碍物,控制机器人避开障碍物的过程中,如果一旦侦测到机器人周围的预设范围内不存在障碍物,则确定机器人已经避开了障碍物,机器人脱困成功,然后重新规划机器人的全局运动路径,否则继续驱动机器人避开障碍物。In any one of the above implementation manners, the criterion for judging whether the robot escapes successfully may be: there is no obstacle within the preset range of the robot. Specifically, in the process of controlling the robot to avoid obstacles based on the obstacles around the robot, if it detects that there are no obstacles within the preset range around the robot, it is determined that the robot has avoided the obstacle, and the robot If the escape is successful, then re-plan the global motion path of the robot, otherwise continue to drive the robot to avoid obstacles.
其中预设范围可以根据实际应用场景进行设置,例如,在一应用场景中,当侦测到机器人周围0.6m内都不存在障碍物时,确定机器人已经避开了障碍物。The preset range can be set according to the actual application scenario. For example, in an application scenario, when no obstacle is detected within 0.6m around the robot, it is determined that the robot has avoided the obstacle.
其中考虑到在某些应用场景中,可能存在无论机器人怎么运动,其都无法避开障碍物的 现象,此时为了避免流程一直停留在基于机器人周围的障碍物,控制机器人避开障碍物的步骤,对机器人的运动时长进行累计,如果累计的时长达到时长阈值时,机器人还没有避开障碍物,则强制退出控制机器人避开障碍物的步骤,返回规划机器人的全局运动路径的步骤。Considering that in some application scenarios, there may be a phenomenon that the robot cannot avoid obstacles no matter how it moves. At this time, in order to avoid the process staying in the obstacles around the robot, the steps of controlling the robot to avoid obstacles , to accumulate the movement time of the robot, if the accumulated time reaches the time threshold and the robot has not avoided the obstacle, then forcibly exit the step of controlling the robot to avoid the obstacle, and return to the step of planning the global movement path of the robot.
其中,时长阈值可以根据实际应用场景进行设置,例如,设置为2分钟或者15分钟等。Wherein, the duration threshold may be set according to an actual application scenario, for example, set to 2 minutes or 15 minutes.
在其他实施方式中,判断机器人是否脱困成功的标准还可以是其他,例如:机器人的运动时长达到第一阈值,也就是说,在基于机器人周围的障碍物,控制机器人运动,直至机器人的运动时长达到第一阈值。In other implementations, the criterion for judging whether the robot escapes successfully can also be other, for example: the movement duration of the robot reaches the first threshold, that is to say, the movement of the robot is controlled based on the obstacles around the robot until the movement duration of the robot reached the first threshold.
参阅图5,在一应用场景中,基于机器人周围的障碍物,控制机器人避开障碍物的步骤,包括:Referring to Figure 5, in an application scenario, based on the obstacles around the robot, the steps of controlling the robot to avoid obstacles include:
S501:获取机器人周围第一区域内的障碍物。S501: Obtain obstacles in the first area around the robot.
在一应用场景中,第一区域是以机器人为圆心,半径等于第一预设距离的圆形区域。其中,第一预设距离可以根据实际场景进行设定,例如设定为0.6m。In an application scenario, the first area is a circular area centered on the robot and having a radius equal to a first preset distance. Wherein, the first preset distance can be set according to the actual scene, for example, set to 0.6m.
在其他应用场景中,第一区域还可以是例如扇形、矩形、梯形等其他形状的区域,总而言之本申请对第一区域的形状不做限制。In other application scenarios, the first area may also be an area of other shapes such as sector, rectangle, trapezoid, etc. In general, the present application does not limit the shape of the first area.
S502:在第一区域不存在障碍物的至少一个第一子区域中,查找对应代价值最小的第一子区域,其中,第一子区域与机器人的前进方向的偏离程度和第一子区域对应的代价值呈正比,且第一子区域距离机器人最近的点到机器人的距离等于零,距离机器人最远的点处于第一区域的轮廓上。S502: In at least one first sub-area where there is no obstacle in the first area, search for the first sub-area with the smallest corresponding cost value, wherein the degree of deviation between the first sub-area and the forward direction of the robot corresponds to the first sub-area The cost value of is proportional, and the distance from the point closest to the robot in the first sub-region to the robot is equal to zero, and the point farthest from the robot is on the contour of the first region.
其中,第一子区域中的代价值预先设置好,且第一子区域与机器人的前进方向的偏离程度越大,第一子区域对应的代价值越大。Wherein, the cost value in the first sub-area is preset, and the greater the deviation between the first sub-area and the advancing direction of the robot, the greater the cost value corresponding to the first sub-area.
其中,不存在障碍物的第一子区域距离机器人最近的点到机器人的距离等于零,距离机器人最远的点处于第一区域的轮廓上,从而使得机器人可以在不触碰障碍物的前提下,沿着该第一子区域内的任意一条路径离开第一区域,达到脱困的目的。Among them, the distance from the point closest to the robot to the robot in the first sub-area without obstacles is equal to zero, and the point farthest from the robot is on the contour of the first area, so that the robot can move without touching the obstacle. Leave the first area along any path in the first sub-area to achieve the purpose of getting out of trouble.
结合图6,机器人的前进方向记为“Front”,第一子区域与机器人的前进方向的偏离程度指的是,机器人指向第一子区域中任意一点的方向与前进方向Front的最大夹角。Referring to Figure 6, the forward direction of the robot is recorded as "Front", and the degree of deviation between the first sub-area and the forward direction of the robot refers to the maximum angle between the direction of the robot pointing to any point in the first sub-area and the forward direction Front.
可以理解的是,第一子区域与机器人的前进方向的偏离程度越大,机器人自当前位置朝向第一子区域运动时、需要消耗的时间、能量等越多,因此设置第一子区域对应的代价值越大。It can be understood that the greater the deviation between the first sub-area and the forward direction of the robot, the more time and energy will be consumed when the robot moves from the current position to the first sub-area. The greater the cost value.
可以理解的是,当第一区域中不存在障碍物的第一子区域为一个时,该第一子区域即为对应代价值最小的第一子区域,当第一区域中不存在障碍物的第一子区域为两个以上时,需要在两个以上的第一子区域中查找对应代价值最小的第一子区域。It can be understood that when there is only one first sub-area with no obstacle in the first area, the first sub-area is the first sub-area corresponding to the smallest cost value, and when there is no obstacle in the first area When there are more than two first sub-areas, it is necessary to search for the first sub-area corresponding to the smallest cost value among the two or more first sub-areas.
S503:控制机器人沿着指向对应代价值最小的第一子区域的方向运动,以避开障碍物。S503: Control the robot to move in a direction pointing to the first sub-area corresponding to the smallest cost value, so as to avoid obstacles.
其中,控制机器人沿着指向对应代价值最小的第一子区域的方向运动,以避开障碍物时,可以先在对应代价值最小的第一子区域中随机确定一点,然后控制机器人沿着指向该点的路径运动,从而达到避开障碍物的目的,或者,先在对应代价值最小的第一子区域中确定目标点,然后控制机器人沿着指向目标点的路径运动,从而达到避开障碍物的目的,其中在对应 代价值最小的第一子区域的所有点中,机器人指向目标点的方向与机器人的前进方向Front的夹角最小。Among them, when controlling the robot to move along the direction pointing to the first sub-area corresponding to the smallest cost value to avoid obstacles, a point can be randomly determined in the first sub-area corresponding to the smallest cost value, and then the robot is controlled to move along the pointing direction The path movement of this point, so as to achieve the purpose of avoiding obstacles, or first determine the target point in the first sub-region with the smallest corresponding cost value, and then control the robot to move along the path pointing to the target point, so as to avoid obstacles The goal of the object, where among all points corresponding to the first sub-area with the smallest cost value, the angle between the direction of the robot pointing to the target point and the forward direction Front of the robot is the smallest.
为了更好地理解,结合图6对步骤S503进行说明:For a better understanding, step S503 is described in conjunction with FIG. 6:
假设在图6中,第一区域中存在第一子区域A和第一子区域B都不存在障碍物,而由于第一子区域A与前进方向Front的偏离程度大于第一子区域B与前进方向Front的偏离程度,因此预先设置的第一子区域A的代价值大于第一子区域B的代价值,从而控制机器人沿着指向第一子区域B的方向(例如图6中虚线箭头方向)运动,以避开障碍物。Assume that in Figure 6, there is no obstacle in the first sub-area A and the first sub-area B in the first area, and since the deviation between the first sub-area A and the forward direction Front is greater than that between the first sub-area B and the forward direction The degree of deviation of the direction Front, so the preset cost value of the first sub-area A is greater than the cost value of the first sub-area B, so as to control the robot along the direction pointing to the first sub-area B (such as the direction of the dotted arrow in Figure 6) Movement to avoid obstacles.
在该应用场景中,为了提高查找的效率,步骤S502在第一区域不存在障碍物的第一子区域中,查找对应代价值最小的第一子区域,具体包括:In this application scenario, in order to improve the search efficiency, step S502 searches for the first sub-area corresponding to the smallest cost value in the first sub-area where there is no obstacle in the first area, specifically including:
(a1)在第一区域预先划分的多个子区域中,查找不存在障碍物的第一子区域;其中,子区域距离机器人最近的点到机器人的距离等于零,到机器人最远的点处于第一区域的轮廓上。(a1) In the multiple sub-areas pre-divided in the first area, search for the first sub-area without obstacles; wherein, the distance from the point closest to the robot in the sub-area to the robot is equal to zero, and the farthest point to the robot is at the first on the outline of the area.
其中结合图7,以将第一区域划分为12个子区域对步骤S502进行说明:Wherein, in conjunction with FIG. 7, step S502 is described by dividing the first area into 12 sub-areas:
在图7中,将第一区域平均分为4个大小相等且为扇形的区域,每个区域的圆心角均为90度,将该4个区域分别记为Front区域、Left区域、Right区域以及Back区域,其中,Front区域的对称轴与机器人的前进方向Front重合,且机器人的前进方向经过Front区域,Left区域、Right区域分别位于Front区域的两侧,Back区域位于Left区域、Right区域之间。In Fig. 7, the first area is divided into 4 equal-sized and fan-shaped areas on average, and the central angle of each area is 90 degrees. The 4 areas are respectively recorded as Front area, Left area, Right area and Back area, where the symmetry axis of the Front area coincides with the robot's forward direction Front, and the robot's forward direction passes through the Front area, the Left area and the Right area are located on both sides of the Front area, and the Back area is located between the Left area and the Right area .
4个大小相等的区域又分别平均被划分为3个大小相等且为扇形的子区域,也就是说,第一区域被划分为12个大小相等的子区域,可以理解的是,Front区域中存在一个对称轴与机器人的前进方向Front重合的子区域,将该子区域记为第一基准子区域F-C,第一基准子区域F-C两侧的子区域分别记为F-L、F-R。The 4 equal-sized areas are divided into 3 equal-sized and fan-shaped sub-areas, that is, the first area is divided into 12 equal-sized sub-areas. It is understandable that there are A sub-area whose symmetry axis coincides with the robot's forward direction Front is marked as the first reference sub-area F-C, and the sub-areas on both sides of the first reference sub-area F-C are respectively marked as F-L and F-R.
其中,继续结合图7,在划分好子区域后,分别为多个子区域分配代价值,分配原则为:第一基准子区域F-C的代价值最小,其他的子区域中,与机器人前进方向Front的偏离程度越大,其对应的代价值越大。在图7中,子区域中的数值的绝对值表示该子区域对应的代价值,数值的正、负号表示机器人自当前位置朝向对应子区域运动时的旋转方向,在图7中,第一基准子区域F-C的代价值为0,F-L子区域、F-R子区域与机器人前进方向Front的偏离程度相同,设置F-L子区域、F-R子区域的代价值相等,均为1;R-L子区域、L-R子区域与机器人前进方向Front的偏离程度相同,但均大于F-L子区域/F-R子区域与机器人前进方向Front的偏离程度,因此设置R-L子区域、L-R子区域的代价值为2,依次类推。Among them, continuing to combine with Figure 7, after dividing the sub-areas, assign cost values to multiple sub-areas respectively. The allocation principle is: the cost value of the first reference sub-area F-C is the smallest; The greater the degree of deviation, the greater the corresponding cost value. In Fig. 7, the absolute value of the numerical value in the sub-area indicates the corresponding cost value of the sub-area, and the positive and negative signs of the numerical value indicate the rotation direction of the robot when moving from the current position to the corresponding sub-area. In Fig. 7, the first The cost value of the reference sub-area F-C is 0, the degree of deviation between the F-L sub-area and the F-R sub-area is the same as that of the robot’s forward direction Front, and the cost values of the F-L sub-area and the F-R sub-area are set equal to 1; the R-L sub-area and the L-R sub-area The degree of deviation between the area and the Front direction of the robot is the same, but both are greater than the deviation degree of the F-L sub-area/F-R sub-area from the Front direction of the robot. Therefore, the cost value of the R-L sub-area and the L-R sub-area is set to 2, and so on.
本实施方式将第一区域划分为多个子区域以及为子区域分配代价值后,在查找不存在障碍物的第一子区域时,只要先分别判断多个子区域中是否存在障碍物,然后在不存在障碍物的子区域中查找代价值最小的子区域即可,可以提高查找速度以及准确率。In this embodiment, after dividing the first area into multiple sub-areas and assigning cost values to the sub-areas, when searching for the first sub-area without obstacles, it is only necessary to first judge whether there are obstacles in the multiple sub-areas, and then Finding the sub-area with the smallest cost value in the sub-areas with obstacles can improve the search speed and accuracy.
在上述方案中,第一基准子区域F-C的对称轴与机器人的前进方向Front重合,但是在其他实施方式中,第一基准子区域F-C的对称轴也可以与机器人的前进方向Front不重合,只要保证机器人的前进方向Front能够经过第一基准子区域F-C即可。可以理解的是,当第一基准子区域F-C的对称轴不与机器人的前进方向Front重合时,第一区域中各个子区域的 代价值不再如图7中呈对称设置。In the above solution, the axis of symmetry of the first reference sub-region F-C coincides with the advancing direction Front of the robot, but in other implementations, the axis of symmetry of the first reference sub-region F-C may not coincide with the advancing direction Front of the robot, as long as It only needs to ensure that the forward direction Front of the robot can pass through the first reference sub-area F-C. It can be understood that when the symmetry axis of the first reference sub-area F-C does not coincide with the forward direction of the robot Front, the cost values of each sub-area in the first area are no longer set symmetrically as shown in Figure 7 .
同时上述方案以将第一区域划分为12个子区域对方案进行了说明,但是本申请并不限制于此,在其他实施方式中,还可以将第一区域划分为例如4、5、6、15或者18等其他数量的子区域。At the same time, the above scheme has described the scheme by dividing the first area into 12 sub-areas, but the application is not limited thereto. In other embodiments, the first area can also be divided into, for example, 4, 5, 6, 15 Or 18 and other number of sub-regions.
同时在其他实施方式中,划分的多个子区域大小可以不等,且形状也可以不同,只要保证子区域距离机器人最近的点到机器人的距离等于零,距离机器人最远的点处于第一区域的轮廓上即可。At the same time, in other embodiments, the divided sub-regions can be of different sizes and shapes, as long as the distance from the point closest to the robot in the sub-region to the robot is equal to zero, and the point farthest from the robot is in the outline of the first region Just go up.
参阅图8,在另一应用场景中,基于机器人周围的障碍物,控制机器人避开障碍物的步骤,包括:Referring to Figure 8, in another application scenario, based on the obstacles around the robot, the steps of controlling the robot to avoid obstacles include:
S601:获取机器人周围第一区域内的障碍物。S601: Obtain obstacles in the first area around the robot.
S602:判断在第一区域中,机器人的前进方向上是否存在障碍物。S602: Determine whether there is an obstacle in the forward direction of the robot in the first area.
若存在,则执行步骤S603,若不存在,则执行步骤S605。If it exists, execute step S603; if not, execute step S605.
在本实施方式中,步骤S602具体包括:判断第一区域中的第一基准子区域中,是否存在障碍物,其中,机器人的前进方向经过第一基准子区域;响应于第一基准子区域中存在障碍物,则确定机器人的前进方向上存在障碍物;响应于第一基准子区域中不存在障碍物,则确定机器人的前进方向上不存在障碍物。In this embodiment, step S602 specifically includes: judging whether there is an obstacle in the first reference sub-area in the first area, wherein the advancing direction of the robot passes through the first reference sub-area; If there is an obstacle, it is determined that there is an obstacle in the forward direction of the robot; in response to the fact that there is no obstacle in the first reference sub-area, it is determined that there is no obstacle in the forward direction of the robot.
也就是说,判断上述第一基准子区域F-C是否存在障碍物,如果存在,则执行步骤S603,如果不存在,则执行步骤S605。That is to say, it is judged whether there is an obstacle in the above-mentioned first reference sub-region F-C, and if there is, then step S603 is executed, and if not, then step S605 is executed.
在其他实施方式中,步骤S602还可以直接判断机器人的前进方向Front是否经过障碍物,如果经过,则执行步骤S603,否则执行步骤S605。In other implementation manners, step S602 may also directly determine whether the forward direction Front of the robot has passed an obstacle, and if so, execute step S603 , otherwise execute step S605 .
S603:在第一区域不存在障碍物的第一子区域中,查找对应代价值最小的第一子区域。S603: In the first sub-area where no obstacle exists in the first area, search for the first sub-area corresponding to the smallest cost value.
S604:控制机器人沿着指向对应代价值最小的第一子区域的方向运动,以避开障碍物。S604: Control the robot to move along a direction pointing to the first sub-area corresponding to the smallest cost value, so as to avoid obstacles.
步骤S603与上述步骤S502相同,步骤S604与上述步骤S503相同,在此不再赘述。Step S603 is the same as the above-mentioned step S502, and step S604 is the same as the above-mentioned step S503, which will not be repeated here.
S605:获取第一区域***第二区域内的障碍物。S605: Obtain obstacles in the second area outside the first area.
其中,第二区域位于第一区域的***,且与第一区域连接,也可以理解为第二区域位于第一区域远离机器人一侧。在一应用场景中,第二区域中是以机器人为圆心,内径为第一预设距离,外径为第二预设距离的环形区域。其中,第二预设距离大于第一预设距离。例如,第一预设距离为0.6m,第二预设距离为1.5m。Wherein, the second area is located at the periphery of the first area and connected to the first area, it can also be understood that the second area is located on the side of the first area away from the robot. In an application scenario, the second area is an annular area with the robot as the center, the inner diameter being the first preset distance, and the outer diameter being the second preset distance. Wherein, the second preset distance is greater than the first preset distance. For example, the first preset distance is 0.6m, and the second preset distance is 1.5m.
在其他应用场景中,第二区域还可以是例如扇形、矩形、梯形等其他形状的区域。In other application scenarios, the second area may also be an area of other shapes such as a sector, a rectangle, and a trapezoid.
具体地,如果机器人的前进方向上存在障碍物,则直接在第一区域中查找不存在障碍物且代价值最小的第一子区域,如果机器人的前进方向上不存在障碍物时,则说明机器人此时如果直接前进,可以避开障碍物,但是本应用场景为了避免机器人在前进过程中再遇到障碍物,从而导致后续路径规划失败,又要重新进行路径规划,此时还要再结合第一区域***的第二区域进行规划。Specifically, if there is an obstacle in the forward direction of the robot, then directly search for the first sub-area with no obstacle and the smallest cost in the first area, if there is no obstacle in the forward direction of the robot, then the robot At this time, if you move forward directly, you can avoid obstacles. However, in this application scenario, in order to prevent the robot from encountering obstacles in the process of advancing, resulting in the failure of subsequent path planning, it is necessary to re-plan the path. At this time, it is necessary to combine the first A second area outside the first area is planned.
S606:在第一区域不存在障碍物的第一子区域以及第二区域不存在障碍物的第二子区域中,查找对应代价值最小的目标子区域,第二子区域中距离机器人最近的点处于第一区域的 轮廓上,距离机器人最远的点处于第二区域的轮廓上,且目标子区域包括连通的第一子区域以及第二子区域。S606: In the first sub-area where there is no obstacle in the first area and the second sub-area where there is no obstacle in the second area, find the target sub-area corresponding to the smallest cost value, and the point closest to the robot in the second sub-area On the outline of the first area, the point farthest from the robot is on the outline of the second area, and the target sub-area includes the connected first sub-area and the second sub-area.
其中,目标区域同时包括连通的第一子区域以及第二子区域,且第二子区域距离机器人最近的点处于第一区域的轮廓上,距离机器人最远的点处于第二区域的轮廓上,从而在不触碰障碍物的前提下,机器人可以沿着目标子区域中的任意一条路径,在经过第一区域后,离开第二区域,达到脱困的目的。Wherein, the target area includes the connected first sub-area and the second sub-area at the same time, and the point of the second sub-area closest to the robot is on the contour of the first area, and the point farthest from the robot is on the contour of the second area, Therefore, on the premise of not touching obstacles, the robot can follow any path in the target sub-area, and after passing through the first area, leave the second area to achieve the purpose of getting out of trouble.
其中,与上述相同,目标子区域与机器人的前进方向Front的偏离程度越大,对应的代价值越大,因此本应用场景为了降低提高,减少规划的时间,查找代价值最小的目标子区域,后续步骤S607控制机器人沿着指向目标子区域的方向运动,达到脱困的目的。Among them, the same as above, the greater the deviation between the target sub-area and the robot's forward direction Front, the greater the corresponding cost value. Therefore, in order to reduce the improvement and reduce the planning time in this application scenario, find the target sub-area with the smallest cost value. Subsequent step S607 controls the robot to move along the direction pointing to the target sub-area to achieve the purpose of getting out of trouble.
为了更好地理解,结合图9进行说明:For a better understanding, it is explained in conjunction with Figure 9:
在图9中,假设在第一区域中,有第一子区域A1、A2、A3不存在障碍物,假设在第二区域中,有第二子区域B1、B2、B3不存在障碍物,此时目标子区域为两个,分别为包括第一子区域A2以及第二子区域B1的第一目标子区域,另一个为包括第一子区域A3以及第二子区域B2的第二目标子区域,此时从图9可以看出,第一目标子区域与机器人的前进方向的偏离程度小于第二目标子区域与机器人的前进方向的偏离程度,也就是,第一目标子区域的代价值小于第二目标子区域的代价值,因此控制机器人沿着指向第一目标子区域的方向运动,即图9中虚线箭头所示的方向。In FIG. 9, it is assumed that in the first area, there are first sub-areas A1, A2, A3 without obstacles, and in the second area, there are second sub-areas B1, B2, B3 without obstacles. There are two target sub-areas, one is the first target sub-area including the first sub-area A2 and the second sub-area B1, and the other is the second target sub-area including the first sub-area A3 and the second sub-area B2 , at this time, it can be seen from Figure 9 that the degree of deviation between the first target sub-region and the advancing direction of the robot is smaller than the deviation between the second target sub-region and the advancing direction of the robot, that is, the cost value of the first target sub-region is less than The cost value of the second target sub-area therefore controls the robot to move in the direction pointing to the first target sub-area, ie the direction indicated by the dotted arrow in FIG. 9 .
其中,为了提高查找的效率,同样在第二区域中划分多个子区域,在本实施方式中,第二区域中的多个子区域与第一区域中的多个子区域一一对应,其中一一对应指的是,两个子区域的对称轴重合,对应的代价值相等,例如在图9中,第一区域包括12个大小相等且均为扇形的子区域,第二区域包括12个大小相等且均为扇环形的子区域。Among them, in order to improve the efficiency of searching, multiple sub-areas are also divided in the second area. In this embodiment, the multiple sub-areas in the second area correspond to the multiple sub-areas in the first area one-to-one, and the one-to-one correspondence It means that the symmetry axes of the two sub-areas coincide, and the corresponding cost values are equal. For example, in Figure 9, the first area includes 12 sub-areas with the same size and all fan-shaped, and the second area includes 12 sub-areas with the same size and each is a sub-region of the fan ring.
S607:控制机器人沿着指向目标子区域的方向运动,以避开障碍物。S607: Control the robot to move in a direction pointing to the target sub-area, so as to avoid obstacles.
其中,考虑到真正对机器人产生影响的是机器人前进方向上的障碍物,因此为了减小计算量,在步骤S606之前,还可以先判断第二区域中,机器人的前进方向上是否存在障碍物,如果存在,则执行步骤S606,如果不存在,则直接控制机器人前进即可。Wherein, considering that what really affects the robot is the obstacle in the forward direction of the robot, so in order to reduce the amount of calculation, before step S606, it can also be judged whether there is an obstacle in the forward direction of the robot in the second area, If it exists, execute step S606; if not, just directly control the robot to move forward.
与判断第一区域中,机器人的前进方向上是否存在障碍物类似,在判断第二区域中,机器人的前进方向上是否存在障碍物时,具体判断第二区域中的第二基准子区域中,是否存在障碍物,如果存在,则确定机器人的前进方向上存在障碍物,如果不存在,则确定机器人的前进方向上不存在障碍物。其中,第二区域中的第二基准子区域与第一区域中的第一基准子区域对应。Similar to judging whether there is an obstacle in the advancing direction of the robot in the first area, when judging whether there is an obstacle in the advancing direction of the robot in the second area, specifically judging in the second reference sub-area in the second area, Whether there is an obstacle, if yes, it is determined that there is an obstacle in the forward direction of the robot, and if not, then it is determined that there is no obstacle in the forward direction of the robot. Wherein, the second reference sub-area in the second area corresponds to the first reference sub-area in the first area.
需要说明的是,判断第一区域中,机器人的前进方向上是否存在障碍物以及,判断第二区域中,机器人的前进方向上是否存在障碍物均不是必经步骤,例如,在其他实施方式中,在步骤S605之后,直接执行步骤S606,或者在其他实施方式中,在步骤S601之后直接执行步骤S603,此时只需要根据第一区域中障碍物的情况而控制机器人进行脱困,或者在其他实施方式中,当步骤S602判定出第一区域中,机器人的前进方向上不存在障碍物时,控制机器人直接前进。It should be noted that judging whether there is an obstacle in the advancing direction of the robot in the first area and judging whether there is an obstacle in the advancing direction of the robot in the second area are not necessary steps. For example, in other embodiments , after step S605, directly execute step S606, or in other implementations, directly execute step S603 after step S601, at this time only need to control the robot to get out of trouble according to the situation of obstacles in the first area, or in other implementations In the manner, when it is determined in step S602 that there is no obstacle in the forward direction of the robot in the first area, the robot is controlled to move forward directly.
同时在其他实施方式中,也可以不对第一区域和第二区域进行子区域的划分,此时在查找不存在障碍物的第一子区域或者第二子区域时,可以直接将相邻两个障碍物之间的区域,确定为第一子区域或者第二子区域,或者为了保证机器人能够顺利通过,将相邻两个障碍物之间且面积大于阈值的子区域,确定为第一子区域或者第二子区域。且此时在确定第一子区域或者第二子区域的形状不固定,也可以将第一子区域或者第二子区域设定为预定形状,也可以根据实际障碍物的分布情况进行设定。At the same time, in other embodiments, the first area and the second area may not be divided into sub-areas. At this time, when searching for the first sub-area or the second sub-area without obstacles, the adjacent two The area between obstacles is determined as the first sub-area or the second sub-area, or in order to ensure that the robot can pass through smoothly, the sub-area between two adjacent obstacles with an area greater than the threshold is determined as the first sub-area or the second subregion. And at this time, it is determined that the shape of the first sub-region or the second sub-region is not fixed, and the first sub-region or the second sub-region may also be set to a predetermined shape, or may be set according to the distribution of actual obstacles.
结合图10和图11,当机器人想要从图10中虚线箭头所指的位置运动到图11中虚线箭头所指的位置时,需要通过一个狭小的空间(图10中实线箭头所指处),在现有技术中,由于传感器精度以及膨胀处理等障碍物的影响,狭小空间被填充了,在规划机器人的轨迹时,判定该位置有障碍物,不可通行,从而造成路径规划失败,而在本实施方式中,由于在路径规划失败时,控制机器人进行脱困处理,使机器人运动到空旷空间后,重新规划路径,能够远离障碍物以及虚拟障碍物,从而保证机器人可以通过狭小空间。Combining Fig. 10 and Fig. 11, when the robot wants to move from the position indicated by the dotted arrow in Fig. 10 to the position indicated by the dotted arrow in Fig. 11, it needs to pass through a narrow space (the place indicated by the solid arrow in Fig. 10 ), in the prior art, due to the influence of sensor accuracy and obstacles such as expansion processing, the narrow space is filled. When planning the trajectory of the robot, it is determined that there is an obstacle at the position and it is not passable, resulting in the failure of path planning, and In this embodiment, when the path planning fails, the robot is controlled to perform escape processing, and after the robot moves to an open space, the path is re-planned to keep away from obstacles and virtual obstacles, thereby ensuring that the robot can pass through a narrow space.
参阅图12,图12是本申请电子设备一实施方式的结构示意图。该电子设备200包括处理器210、存储器220以及通信电路230,处理器210分别耦接存储器220、通信电路230,存储器220中存储有程序数据,处理器210通过执行存储器220内的程序数据以实现上述任一项实施方式方法中的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。Referring to FIG. 12 , FIG. 12 is a schematic structural diagram of an embodiment of an electronic device of the present application. The electronic device 200 includes a processor 210, a memory 220, and a communication circuit 230. The processor 210 is respectively coupled to the memory 220 and the communication circuit 230. The memory 220 stores program data. The processor 210 executes the program data in the memory 220 to realize For the steps in the method of any one of the above-mentioned implementation manners, the detailed steps can refer to the above-mentioned implementation manners, and will not be repeated here.
其中,电子设备200可以是控制机器人运动的任何一种类型的设备,在此不做限制。Wherein, the electronic device 200 may be any type of device for controlling the movement of the robot, which is not limited here.
且电子设备200可以与机器人彼此独立,也可以集成在机器人上。其中,当电子设备200集成在机器人上时,电子设备具体可以是机器人中的处理器。Moreover, the electronic device 200 and the robot may be independent of each other, or may be integrated on the robot. Wherein, when the electronic device 200 is integrated on the robot, the electronic device may specifically be a processor in the robot.
参阅图13,图13是本申请电子设备一实施方式的结构示意图。该电子设备300包括全局规划模块310、局部规划模块320、侦测模块330以及脱困模块340。Referring to FIG. 13 , FIG. 13 is a schematic structural diagram of an embodiment of an electronic device of the present application. The electronic device 300 includes a global planning module 310 , a local planning module 320 , a detection module 330 and an escape module 340 .
全局规划模块310用于规划机器人的全局运动路径。The global planning module 310 is used to plan the global motion path of the robot.
局部规划模块320与全局规划模块310连接,用于在全局运动路径规划成功时,规划机器人的局部运动路径。The local planning module 320 is connected with the global planning module 310, and is used to plan the local motion path of the robot when the global motion path planning is successful.
侦测模块330与全局规划模块310连接,用于在全局运动路径规划失败时,侦测机器人周围的障碍物。The detection module 330 is connected with the global planning module 310 and is used for detecting obstacles around the robot when the global motion path planning fails.
脱困模块340与侦测模块330连接,用于基于机器人周围的障碍物,控制机器人避开障碍物。The escape module 340 is connected with the detection module 330 and used for controlling the robot to avoid obstacles based on the obstacles around the robot.
其中,在脱困模块340控制机器人避开障碍物后,全局规划模块310再次规划机器人的全局运动路径。Wherein, after the escape module 340 controls the robot to avoid obstacles, the global planning module 310 plans the global motion path of the robot again.
其中,电子设备300在工作时执行上述任一项实施方式中的步骤,详细的步骤可参见上述内容,在此不再赘述。Wherein, the electronic device 300 executes the steps in any one of the above-mentioned implementation manners when it is working, and the detailed steps can be referred to the above content, which will not be repeated here.
其中,电子设备300可以是控制机器人运动的任何一种类型的设备,在此不做限制。Wherein, the electronic device 300 may be any type of device for controlling the movement of the robot, which is not limited here.
且电子设备300可以与机器人彼此独立,也可以集成在机器人上。其中,当电子设备300集成在机器人上时,电子设备具体可以是机器人中的处理器。And the electronic device 300 can be independent from the robot, or can be integrated on the robot. Wherein, when the electronic device 300 is integrated on the robot, the electronic device may specifically be a processor in the robot.
参阅图14,图14是本申请计算机可读存储介质一实施方式的结构示意图。该计算机可 读存储介质400存储有计算机程序410,计算机程序410能够被处理器执行以实现上述任一项方法中的步骤。Referring to FIG. 14 , FIG. 14 is a schematic structural diagram of an embodiment of a computer-readable storage medium of the present application. The computer-readable storage medium 400 stores a computer program 410, and the computer program 410 can be executed by a processor to implement the steps in any one of the above methods.
其中,计算机可读存储介质400具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储计算机程序410的装置,或者也可以为存储有该计算机程序410的服务器,该服务器可将存储的计算机程序410发送给其他设备运行,或者也可以自运行该存储的计算机程序410。Wherein, the computer-readable storage medium 400 can specifically be a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, etc., which can store computer programs. The device at 410 may also be a server storing the computer program 410, and the server may send the stored computer program 410 to other devices for running, or may also run the stored computer program 410 itself.
参阅图15,图15是本申请计算机程序产品一实施方式的结构示意图。该计算机程序产品500包括计算机程序510,计算机程序510在被处理器执行时实现上述任一项方法中的步骤,其中详细的方法步骤可参见上述实施方式,在此不再详述。Referring to FIG. 15 , FIG. 15 is a schematic structural diagram of an embodiment of a computer program product of the present application. The computer program product 500 includes a computer program 510. When the computer program 510 is executed by a processor, the steps in any one of the above-mentioned methods can be implemented. For detailed method steps, reference can be made to the above-mentioned implementations, which will not be described in detail here.
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。The above is only the implementation of the application, and does not limit the patent scope of the application. Any equivalent structure or equivalent process conversion made by using the specification and drawings of the application, or directly or indirectly used in other related technologies fields, are all included in the scope of patent protection of this application in the same way.
Claims (16)
- 一种机器人的路径规划方法,其中,所述方法包括:A path planning method for a robot, wherein the method includes:规划所述机器人的全局运动路径;Planning the global motion path of the robot;响应于所述全局运动路径规划成功,则规划所述机器人的局部运动路径;In response to the successful planning of the global motion path, plan a local motion path of the robot;响应于所述全局运动路径规划失败,则侦测所述机器人周围的障碍物;Detecting obstacles around the robot in response to the failure of the global motion path planning;基于所述机器人周围的所述障碍物,控制所述机器人避开所述障碍物,并返回执行规划所述机器人的全局运动路径的步骤。Based on the obstacles around the robot, control the robot to avoid the obstacles, and return to the step of planning the global motion path of the robot.
- 根据权利要求1所述的方法,其中,在所述规划所述机器人的局部运动路径的步骤之后,所述方法还包括:The method according to claim 1, wherein, after the step of planning the local motion path of the robot, the method further comprises:判断所述局部运动路径是否规划成功;judging whether the local motion path is successfully planned;响应于所述局部运动路径规划失败,则返回执行所述规划所述机器人的全局运动路径的步骤;In response to the failure of the local motion path planning, returning to the step of planning the global motion path of the robot;响应于所述局部运动路径规划成功,则控制所述机器人运动至目的地。In response to successful planning of the local motion path, the robot is controlled to move to a destination.
- 根据权利要求1-2任一项所述的方法,其中,所述根据所述机器人周围的所述障碍物,控制所述机器人避开所述障碍物的步骤,包括:The method according to any one of claims 1-2, wherein the step of controlling the robot to avoid the obstacle according to the obstacle around the robot comprises:获取所述机器人周围第一区域内的所述障碍物Get the obstacles in the first area around the robot在所述第一区域不存在所述障碍物的至少一个第一子区域中,查找对应代价值最小的第一子区域,其中,所述第一子区域与所述机器人的前进方向的偏离程度和所述第一子区域对应的所述代价值成正比,且所述第一子区域中距离所述机器人最近的点到所述机器人的距离等于零,距离所述机器人最远的点处于所述第一区域的轮廓上;In at least one first sub-area in which the obstacle does not exist in the first area, search for the first sub-area with the smallest corresponding cost value, wherein the degree of deviation between the first sub-area and the forward direction of the robot It is proportional to the cost value corresponding to the first sub-area, and the distance from the point closest to the robot in the first sub-area to the robot is equal to zero, and the point farthest from the robot is in the on the outline of the first area;控制所述机器人沿着指向对应代价值最小的所述第一子区域的方向运动,以避开所述障碍物。The robot is controlled to move in a direction pointing to the first sub-area corresponding to the smallest cost value, so as to avoid the obstacle.
- 根据权利要求3所述的方法,其中,在所述第一区域不存在所述障碍物的至少一个第一子区域中,查找对应代价值最小的第一子区域的步骤之前,还包括:The method according to claim 3, wherein, before the step of finding the first sub-area corresponding to the smallest cost value in at least one first sub-area in which the obstacle does not exist in the first area, further comprising:在所述第一区域预先划分的多个子区域中,查找不存在所述障碍物的所述第一子区域,其中,所述子区域中距离所述机器人最近的点到所述机器人的距离等于零,距离所述机器人最远的点处于所述第一区域的轮廓上。In the plurality of pre-divided sub-areas of the first area, search for the first sub-area in which the obstacle does not exist, wherein the distance from the robot to the robot is equal to zero from the point closest to the robot in the sub-area , the point farthest from the robot is on the contour of the first area.
- 根据权利要求3所述的方法,其中,在所述第一区域不存在所述障碍物的至少一个第一子区域中,查找对应代价值最小的第一子区域的步骤之前,还包括:The method according to claim 3, wherein, before the step of finding the first sub-area corresponding to the smallest cost value in at least one first sub-area in which the obstacle does not exist in the first area, further comprising:判断在所述第一区域中,所述机器人的所述前进方向上是否存在所述障碍物;judging whether there is the obstacle in the forward direction of the robot in the first area;响应于在所述第一区域中,所述机器人的所述前进方向上存在所述障碍物,则执行所述在所述第一区域不存在所述障碍物的至少一个第一子区域中,查找对应代价值最小的第一子区域的步骤。In response to the obstacle existing in the forward direction of the robot in the first area, performing the at least one first sub-area in which the obstacle does not exist in the first area, A step of finding the first subregion corresponding to the smallest cost value.
- 根据权利要求5所述的方法,其中,所述判断在所述第一区域中,所述机器人的所述前进方向上是否存在所述障碍物的步骤,包括:The method according to claim 5, wherein the step of judging whether there is the obstacle in the forward direction of the robot in the first area comprises:判断所述第一区域中的第一基准子区域中,是否存在所述障碍物,其中,所述机器人的 所述前进方向经过所述第一基准子区域;judging whether there is the obstacle in the first reference sub-area in the first area, wherein the advancing direction of the robot passes through the first reference sub-area;响应于所述第一基准子区域中存在所述障碍物,则确定所述机器人的所述前进方向上存在所述障碍物;In response to the existence of the obstacle in the first reference sub-area, determining that the obstacle exists in the forward direction of the robot;响应于所述第一基准子区域中不存在所述障碍物,则确定所述机器人的所述前进方向上不存在所述障碍物。In response to the fact that the obstacle does not exist in the first reference sub-area, it is determined that the obstacle does not exist in the forward direction of the robot.
- 根据权利要求5所述的方法,其中,所述判断在所述第一区域中,所述机器人的所述前进方向上是否存在所述障碍物的步骤,还包括:The method according to claim 5, wherein the step of judging whether there is the obstacle in the forward direction of the robot in the first area further comprises:响应于在所述第一区域中,所述机器人的所述前进方向上不存在所述障碍物,则获取所述第一区域***第二区域内的所述障碍物;Responding to the absence of the obstacle in the forward direction of the robot in the first area, acquiring the obstacle in a second area around the first area;在所述第一区域不存在所述障碍物的所述第一子区域以及所述第二区域不存在所述障碍物的第二子区域中,查找对应代价值最小的目标子区域,所述第二子区域中距离所述机器人最近的点处于所述第一区域的轮廓上,距离所述机器人最远的点处于所述第二区域的轮廓上,且所述目标子区域包括连通的所述第一子区域以及所述第二子区域;In the first sub-area where the obstacle does not exist in the first area and the second sub-area where the obstacle does not exist in the second area, search for a target sub-area corresponding to the smallest cost value, the The point closest to the robot in the second sub-area is on the outline of the first area, the point farthest from the robot is on the outline of the second area, and the target sub-area includes all connected the first sub-area and the second sub-area;控制所述机器人沿着指向所述目标子区域的方向运动,以避开所述障碍物。The robot is controlled to move in a direction pointing to the target sub-area, so as to avoid the obstacle.
- 根据权利要求7所述的方法,其中,在所述第一区域不存在所述障碍物的所述第一子区域以及所述第二区域不存在所述障碍物的第二子区域中,查找对应代价值最小的目标子区域的步骤之前,还包括:The method according to claim 7, wherein, in the first sub-area in which the obstacle does not exist in the first area and in the second sub-area in which the obstacle does not exist in the second area, searching Before the step corresponding to the target sub-region with the smallest cost value, it also includes:判断在所述第二区域中,所述机器人的所述前进方向上是否存在所述障碍物;judging whether there is the obstacle in the advancing direction of the robot in the second area;响应于在所述第二区域中,所述机器人的所述前进方向上存在所述障碍物,则执行所述在所述第一区域不存在所述障碍物的所述第一子区域以及所述第二区域不存在所述障碍物的第二子区域中,查找对应代价值最小的目标子区域的步骤;In response to the obstacle existing in the forward direction of the robot in the second area, executing the first sub-area in which the obstacle does not exist in the first area and the In the second sub-area in which the obstacle does not exist in the second area, the step of searching for the target sub-area corresponding to the smallest cost value;响应于在所述第二区域中,所述机器人的前进方向上不存在所述障碍物,则控制所述机器人沿着所述前进方向运动。In response to the absence of the obstacle in the forward direction of the robot in the second area, the robot is controlled to move along the forward direction.
- 根据权利要求7所述的方法,其中,在所述第一区域不存在所述障碍物的所述第一子区域以及所述第二区域不存在所述障碍物的第二子区域中,查找对应代价值最小的目标子区域的步骤之前,还包括:The method according to claim 7, wherein, in the first sub-area in which the obstacle does not exist in the first area and in the second sub-area in which the obstacle does not exist in the second area, searching Before the step corresponding to the target sub-region with the smallest cost value, it also includes:在所述第一区域预先划分的多个子区域中,查找不存在所述障碍物的所述第一子区域;Searching for the first sub-area in which the obstacle does not exist among the plurality of sub-areas pre-divided by the first area;在所述第二区域预先划分的多个子区域中,查找不存在所述障碍物的所述第二子区域;Searching for the second sub-area in which the obstacle does not exist among the plurality of sub-areas pre-divided by the second area;其中,所述第一区域中的多个子区域与所述第二区域中的多个子区域一一对应,且对应的两个子区域的对称轴重合,代价值相同。Wherein, the multiple sub-regions in the first region correspond one-to-one to the multiple sub-regions in the second region, and the symmetry axes of the corresponding two sub-regions coincide, and the cost values are the same.
- 根据权利要求1至9中任一项所述的方法,其中,所述响应于所述全局运动路径规划失败,则侦测所述机器人周围的障碍物的步骤,包括:The method according to any one of claims 1 to 9, wherein the step of detecting obstacles around the robot in response to the failure of the global motion path planning comprises:响应于所述全局路径规划失败,则获取所述全局路径规划连续失败的累计次数;In response to the failure of the global path planning, acquiring the cumulative number of consecutive failures of the global path planning;响应于所述累计次数未超过次数阈值,则侦测所述机器人周围的所述障碍物;Detecting the obstacle around the robot in response to the cumulative number of times not exceeding a number threshold;响应于所述累计次数超过所述次数阈值,则提示规划失败。In response to the cumulative number of times exceeding the number of times threshold, it is prompted that the planning fails.
- 根据权利要求1至10中任一项所述的方法,其中,所述基于所述机器人周围的所述 障碍物,控制所述机器人避开所述障碍物的步骤,包括:The method according to any one of claims 1 to 10, wherein the step of controlling the robot to avoid the obstacle based on the obstacle around the robot comprises:基于所述机器人周围的所述障碍物,控制所述机器人避开所述障碍物,直至所述机器人周围的预设范围内不存在所述障碍物。Based on the obstacles around the robot, the robot is controlled to avoid the obstacles until there is no obstacle within a preset range around the robot.
- 根据权利要求11所述的方法,其中,所述基于所述机器人周围的所述障碍物,控制所述机器人避开所述障碍物,直至所述机器人周围的预设范围内不存在所述障碍物的步骤,包括:The method according to claim 11, wherein, based on the obstacles around the robot, the robot is controlled to avoid the obstacles until there are no obstacles within a preset range around the robot steps, including:响应于控制所述机器人运动的时长超过时长阈值,则返回执行所述采用第一算法规划所述机器人的全局运动路径的步骤。In response to the duration of controlling the movement of the robot exceeding the duration threshold, return to executing the step of planning the global motion path of the robot using the first algorithm.
- 一种电子设备,其中,所述电子设备包括:An electronic device, wherein the electronic device includes:全局规划模块,用于规划机器人的全局运动路径;The global planning module is used to plan the global motion path of the robot;局部规划模块,用于响应于所述全局运动路径规划成功,规划机器人的局部运动路径;a local planning module, configured to plan a local motion path of the robot in response to the successful planning of the global motion path;侦测模块,用于响应于所述全局运动路径规划失败,侦测机器人周围的障碍物;A detection module, configured to detect obstacles around the robot in response to the failure of the global motion path planning;脱困模块,用于基于机器人周围的障碍物,控制机器人避开障碍物。The escape module is used to control the robot to avoid obstacles based on the obstacles around the robot.
- 一种电子设备,其中,所述电子设备包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现如权利要求1-12任一项所述方法中的步骤。An electronic device, wherein the electronic device includes a processor, a memory, and a communication circuit, the processor is respectively coupled to the memory and the communication circuit, and program data is stored in the memory, and the processor passes Executing the program data in the memory to implement the steps in the method according to any one of claims 1-12.
- 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-12任一项所述方法中的步骤。A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program can be executed by a processor to implement the steps in the method according to any one of claims 1-12.
- 一种计算机程序产品,其中,所述计算机程序产品包括计算机程序指令,所述计算机程序指令使计算机实现权利要求1-12任一项所述的路径规划方法。A computer program product, wherein the computer program product includes computer program instructions, and the computer program instructions enable a computer to implement the path planning method according to any one of claims 1-12.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007009.X | 2022-01-05 | ||
CN202210007009.XA CN114594761B (en) | 2022-01-05 | 2022-01-05 | Path planning method for robot, electronic device and computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023130766A1 true WO2023130766A1 (en) | 2023-07-13 |
Family
ID=81804056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/119974 WO2023130766A1 (en) | 2022-01-05 | 2022-09-20 | Path planning method for robot, electronic device, and computer-readable storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114594761B (en) |
WO (1) | WO2023130766A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117796711A (en) * | 2024-02-29 | 2024-04-02 | 杭州华橙软件技术有限公司 | Method for processing escape of robot, robot and storage medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594761B (en) * | 2022-01-05 | 2023-03-24 | 美的集团(上海)有限公司 | Path planning method for robot, electronic device and computer-readable storage medium |
CN116125991B (en) * | 2023-02-27 | 2023-08-15 | 麦岩智能科技(北京)有限公司 | High-end scene-oriented commercial service robot-based forbidden zone escaping, storage medium and equipment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107000608A (en) * | 2014-11-26 | 2017-08-01 | 爱信精机株式会社 | Moving body |
CN108227706A (en) * | 2017-12-20 | 2018-06-29 | 北京理工华汇智能科技有限公司 | The method and device of dynamic disorder is hidden by robot |
CN108549385A (en) * | 2018-05-22 | 2018-09-18 | 东南大学 | A kind of Robotic Dynamic paths planning method of combination A* algorithms and VFH obstacle avoidance algorithms |
CN111813101A (en) * | 2020-06-04 | 2020-10-23 | 深圳优地科技有限公司 | Robot path planning method and device, terminal equipment and storage medium |
CN113269837A (en) * | 2021-04-27 | 2021-08-17 | 西安交通大学 | Positioning navigation method suitable for complex three-dimensional environment |
CN114594761A (en) * | 2022-01-05 | 2022-06-07 | 美的集团(上海)有限公司 | Path planning method for robot, electronic device and computer-readable storage medium |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213236A (en) * | 2006-02-08 | 2007-08-23 | Sharp Corp | Method for planning route of autonomously traveling robot and autonomously traveling robot |
KR101626984B1 (en) * | 2009-11-16 | 2016-06-02 | 엘지전자 주식회사 | Robot cleaner and controlling method of the same |
CN106774347A (en) * | 2017-02-24 | 2017-05-31 | 安科智慧城市技术(中国)有限公司 | Robot path planning method, device and robot under indoor dynamic environment |
CN108227523B (en) * | 2017-11-01 | 2020-01-07 | 深圳乐动机器人有限公司 | Robot control method, device, storage medium and computer equipment |
CN108646765A (en) * | 2018-07-25 | 2018-10-12 | 齐鲁工业大学 | Based on the quadruped robot paths planning method and system for improving A* algorithms |
CN109213151A (en) * | 2018-08-07 | 2019-01-15 | 北京云迹科技有限公司 | A kind of paths planning method and distributed robot |
CN109753074A (en) * | 2019-01-28 | 2019-05-14 | 北京猎户星空科技有限公司 | A kind of robot cruise control method, device, control equipment and storage medium |
CN110058586A (en) * | 2019-03-12 | 2019-07-26 | 浙江大华技术股份有限公司 | A kind of preventing collision method and device of automated guided vehicle path conflict |
CN114942638A (en) * | 2019-04-02 | 2022-08-26 | 北京石头创新科技有限公司 | Robot working area map construction method and device |
CN110097212B (en) * | 2019-04-08 | 2022-03-29 | 华南理工大学 | Unmanned ship high-energy-efficiency cooperative area detection method |
CN109947114B (en) * | 2019-04-12 | 2022-03-15 | 南京华捷艾米软件科技有限公司 | Robot full-coverage path planning method, device and equipment based on grid map |
CN110353573B (en) * | 2019-06-05 | 2021-08-20 | 深圳市杉川机器人有限公司 | Poverty-escaping method of sweeping robot, computing equipment and storage medium |
CN111750861B (en) * | 2020-05-29 | 2024-04-09 | 广州极飞科技股份有限公司 | Optimization path planning method and device and electronic equipment |
CN111580530B (en) * | 2020-06-16 | 2021-10-26 | 福勤智能科技(昆山)有限公司 | Positioning method, positioning device, autonomous mobile equipment and medium |
CN111993415B (en) * | 2020-07-30 | 2022-04-19 | 广州大学 | Autonomous patrol robot, mobile monitoring method and device thereof, and autonomous patrol system |
CN111984014B (en) * | 2020-08-24 | 2024-06-18 | 上海高仙自动化科技发展有限公司 | Robot control method and device, robot and storage medium |
CN112269381B (en) * | 2020-10-20 | 2022-06-17 | 安徽工程大学 | Mobile robot path planning method based on improved artificial fish swarm algorithm |
CN112859860A (en) * | 2021-01-13 | 2021-05-28 | 宁波工业互联网研究院有限公司 | Robot system and path planning method thereof |
CN113110497B (en) * | 2021-05-08 | 2024-06-18 | 珠海一微半导体股份有限公司 | Edge obstacle detouring path selection method based on navigation path, chip and robot |
CN113390417A (en) * | 2021-06-25 | 2021-09-14 | 深圳市优必选科技股份有限公司 | Robot and navigation method, device and computer readable storage medium thereof |
CN113791616A (en) * | 2021-08-25 | 2021-12-14 | 深圳优地科技有限公司 | Path planning method, device, robot and storage medium |
-
2022
- 2022-01-05 CN CN202210007009.XA patent/CN114594761B/en active Active
- 2022-09-20 WO PCT/CN2022/119974 patent/WO2023130766A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107000608A (en) * | 2014-11-26 | 2017-08-01 | 爱信精机株式会社 | Moving body |
CN108227706A (en) * | 2017-12-20 | 2018-06-29 | 北京理工华汇智能科技有限公司 | The method and device of dynamic disorder is hidden by robot |
CN108549385A (en) * | 2018-05-22 | 2018-09-18 | 东南大学 | A kind of Robotic Dynamic paths planning method of combination A* algorithms and VFH obstacle avoidance algorithms |
CN111813101A (en) * | 2020-06-04 | 2020-10-23 | 深圳优地科技有限公司 | Robot path planning method and device, terminal equipment and storage medium |
CN113269837A (en) * | 2021-04-27 | 2021-08-17 | 西安交通大学 | Positioning navigation method suitable for complex three-dimensional environment |
CN114594761A (en) * | 2022-01-05 | 2022-06-07 | 美的集团(上海)有限公司 | Path planning method for robot, electronic device and computer-readable storage medium |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117796711A (en) * | 2024-02-29 | 2024-04-02 | 杭州华橙软件技术有限公司 | Method for processing escape of robot, robot and storage medium |
CN117796711B (en) * | 2024-02-29 | 2024-06-07 | 杭州华橙软件技术有限公司 | Method for processing escape of robot, robot and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN114594761A (en) | 2022-06-07 |
CN114594761B (en) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023130766A1 (en) | Path planning method for robot, electronic device, and computer-readable storage medium | |
CN108983777B (en) | Autonomous exploration and obstacle avoidance method based on self-adaptive front exploration target point selection | |
US11554488B2 (en) | Robot navigation using 2D and 3D path planning | |
US20200215694A1 (en) | Dynamic region division and region passage identification methods and cleaning robot | |
US20240152160A1 (en) | Map exploration method for exploring unknown region by robot, chip, and robot | |
CN108007452B (en) | Method and device for updating environment map according to obstacle and robot | |
CN103455034B (en) | A kind of based on the histogrammic obstacle-avoiding route planning method of minimum distance vector field | |
CN111258320A (en) | Robot obstacle avoidance method and device, robot and readable storage medium | |
EP4332714A1 (en) | Robot navigation method, chip and robot | |
WO2020220604A1 (en) | Real-time obstacle avoidance method and obstacle avoidance system for dynamic obstacles in multi-agv system | |
CN108628318B (en) | Congestion environment detection method and device, robot and storage medium | |
CN110008941A (en) | Drivable region detection method, device, computer equipment and storage medium | |
CN114136318A (en) | Intelligent navigation method and device for machine | |
CN114594772A (en) | Robot, path planning method, device and storage medium | |
CN114755373A (en) | Air pollution source early warning positioning method based on multi-robot formation | |
CN114510028A (en) | Map construction method, control method, robot, and computer-readable storage medium | |
CN108363391B (en) | Robot and control method thereof | |
CN111240322B (en) | Method for determining working starting point of robot movement limiting frame and motion control method | |
CN112306049B (en) | Autonomous robot, obstacle avoidance method and device thereof, and storage medium | |
CN117111617A (en) | Robot path planning method and system considering collision uncertainty of perception dead zone | |
CN113110473B (en) | Connectivity-based region judging method, chip and robot | |
CN105373123A (en) | High-efficiency barrier avoidance method based on binary index calculation | |
CN111897337A (en) | Obstacle avoidance control method and control system for robot walking along edge | |
CN112859842B (en) | Path following navigation method and system thereof | |
WO2023103713A1 (en) | Method and system for searching for charging base, self-moving robot, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22918220 Country of ref document: EP Kind code of ref document: A1 |