CN114310908A - Robot control method, robot control device and robot - Google Patents

Robot control method, robot control device and robot Download PDF

Info

Publication number
CN114310908A
CN114310908A CN202210088007.8A CN202210088007A CN114310908A CN 114310908 A CN114310908 A CN 114310908A CN 202210088007 A CN202210088007 A CN 202210088007A CN 114310908 A CN114310908 A CN 114310908A
Authority
CN
China
Prior art keywords
map
robot
point
local
global path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210088007.8A
Other languages
Chinese (zh)
Other versions
CN114310908B (en
Inventor
叶小宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202210088007.8A priority Critical patent/CN114310908B/en
Publication of CN114310908A publication Critical patent/CN114310908A/en
Application granted granted Critical
Publication of CN114310908B publication Critical patent/CN114310908B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The application discloses a robot control method, a robot control device, a robot and a computer readable storage medium. Wherein, the method comprises the following steps: controlling the robot to move to a target point based on a current global path, wherein the global path is planned by a starting point, the target point and a preset global map in an initial state; acquiring a local map of a local area where the robot is located in the process that the robot moves to the target point; calculating the similarity between the local map and a regional map, wherein the regional map is as follows: a map corresponding to the local area in the global map; and if the similarity is greater than a preset similarity threshold, returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps. By the aid of the scheme, the robot can execute tasks in a fixed scene, and computational power of the robot is saved.

Description

Robot control method, robot control device and robot
Technical Field
The present application relates to the field of navigation technologies, and in particular, to a robot control method, a robot control device, a robot, and a computer-readable storage medium.
Background
The navigation of the robot relies on path planning, which includes global path planning and local path planning. Specifically, the former is used for integrally planning the robot moving to a target point; the robot is used for local planning in a certain range with the current position of the robot as the center, and navigation and obstacle avoidance under a dynamic environment can be realized.
In general, as the robot moves continuously, the global path planner and the local path planner perform corresponding calculations continuously, which requires a great deal of computational support. However, in some situations, for example, when the robot performs a meal delivery task or when the robot navigates late, the environment of the robot may not change greatly, and the robot is still performing corresponding calculation of path planning, which results in wasted calculation power of the robot.
Disclosure of Invention
The application provides a robot control method, a robot control device, a robot and a computer readable storage medium, which can save the computing power of the robot when the robot executes tasks in a fixed scene.
In a first aspect, the present application provides a robot control method, including:
controlling the robot to move to a target point based on a current global path, wherein the global path is planned by a starting point, the target point and a preset global map in an initial state;
acquiring a local map of a local area where the robot is located in the process that the robot moves to the target point;
calculating the similarity between the local map and a regional map, wherein the regional map comprises: a map corresponding to the local area in the global map;
and if the similarity is greater than a preset similarity threshold, returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
In a second aspect, the present application provides a robot control apparatus comprising:
the control module is used for controlling the robot to move to a target point based on a current global path, wherein the global path is planned by a starting point, the target point and a preset global map in an initial state;
the acquisition module is used for acquiring a local map of a local area where the robot is located in the process that the robot moves to the target point;
a calculating module, configured to calculate a similarity between the local map and a regional map, where the regional map is: a map corresponding to the local area in the global map;
the control module is further configured to be triggered to operate again when the similarity is greater than a preset similarity threshold.
In a third aspect, the present application provides a robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the method according to the first aspect when executing the computer program.
In a fourth aspect, the present application provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method of the first aspect.
In a fifth aspect, the present application provides a computer program product comprising a computer program which, when executed by one or more processors, performs the steps of the method of the first aspect as described above.
Compared with the prior art, the application has the beneficial effects that: and controlling the robot to move to the target point based on the current global path, wherein the global path is planned by the starting point, the target point and a preset global map in the initial state. In the process that the robot moves to the target point, a local map of a local area where the robot is located is obtained, and the similarity between the local map and the local map is calculated, wherein the local map is as follows: a map corresponding to the local area in the global map. If the calculated similarity is greater than the preset similarity threshold, it can be considered that the environment where the robot is located has not changed greatly, that is, at least the real-time environment in the local area is nearly the same as the recorded environment. At the moment, the local path planner and the global path planner do not need to be called, namely, the global path and/or the local path are not planned again, and the robot only needs to move to the target point according to the originally planned global path, so that the calculation power of the robot can be greatly saved.
It is understood that the beneficial effects of the second aspect to the fifth aspect can be referred to the related description of the first aspect, and are not described herein again.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flow chart of an implementation of a robot control method provided in an embodiment of the present application;
fig. 2 is a block diagram of a robot control device according to an embodiment of the present disclosure;
fig. 3 is a schematic structural diagram of a robot provided in an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
In order to explain the technical solution proposed in the present application, the following description will be given by way of specific examples.
A robot control method provided in an embodiment of the present application is described below. The robot control method is applied to a robot; alternatively, the robot control method may be applied to a control apparatus that establishes a communication connection with a robot, and the main body of execution of the robot control method is not limited herein. Taking the robot control method applied to a robot as an example, please refer to fig. 1, the robot control method includes:
and 101, controlling the robot to move to a target point based on the current global path.
In an indoor scene or other scenes with less environment change, the robot can construct a global map of the current scene in advance through a GMapping algorithm or other map building algorithms, and store the global map in a local storage space of the robot.
After the robot receives the task in the scene, the task can be analyzed to obtain a target point of the task, wherein the target point is a position where the robot needs to go to execute the task. Meanwhile, the robot can position itself through a positioning algorithm to obtain a starting point of the task, wherein the starting point is the position where the robot is ready to start executing the task. It will be appreciated that in order to perform the task smoothly, the robot needs to move from the starting point to the target point.
Considering that there are some obstacles in the scene that may affect the movement of the robot, in order to enable the robot to reach the target point most quickly, the robot may plan a global path to navigate itself. The global path is planned according to a starting point, a target point and a global map in an initial state. That is, the robot first moves along the global path planned in the initial state.
And 102, acquiring a local map of a local area where the robot is located in the process of moving the robot to the target point.
In the process of moving the robot to the target point, the real-time position of the robot is continuously changed. General robots are equipped with environment sensing equipment such as radars, and therefore the robots can obtain the latest obstacle situation of the local area where the robots are currently located through real-time scanning of the environment sensing equipment, and obtain a local map according to the latest obstacle situation. It will be appreciated that the local map represents the latest environment of the local area in which the robot is currently located.
And 103, calculating the similarity between the local map and the regional map.
It can be understood that if the latest environment of the local area where the robot is currently located does not change greatly compared with the environment represented by the original global map, the global path constructed based on the original global map can be considered to be still applicable currently. In the embodiment of the present application, whether the environment has a large change or not may be determined by calculating the similarity between a local map and a regional map, where the regional map refers to: among the global maps, a map corresponding to a local area.
In some examples, a map of an area may be delineated from a global map by: after the robot acquires the local map, the length and the width of the local map can be calculated; considering that a general local map is constructed by taking the robot as a center, the robot can acquire the current position of the robot; based on the parameters obtained above, the robot can define a corresponding area map by taking the current position as the center, the length as the length of the area map, and the width as the width of the area map in the global map. Wherein, the local map and the global map adopt the same scale. It will be appreciated that the area map corresponds exactly to the local map, except that the area map is part of a global map, representing the original environment of the local area, and the local map represents the current, up-to-date environment of the local area.
And step 104, if the similarity is greater than the preset similarity threshold, returning to execute the step 101 and the subsequent steps.
The robot may preset a similarity threshold. For example only, the similarity threshold may be 0.95; of course, the similarity threshold may be other values, and is not limited herein. When the similarity between the calculated local map and the regional map is greater than the similarity threshold, the latest environment of the local region is considered to be unchanged from the original environment. At this time, the global path does not need to be re-planned, that is, the original global path is not changed, and the global path is still suitable for the current latest environment of the local area.
It is understood that, in an ideal state, after the global path is initially planned, if the latest environment of the local area where each point on the global path is located has not changed greatly compared with the original environment, the steps 101-104 are repeatedly performed. In the ideal state, the robot can be guided to safely reach the target point only by planning the global path once (namely, initially once), so that the computing power of the robot can be greatly saved.
In some embodiments, after step 103, when the calculated similarity between the local map and the area map is less than or equal to the similarity threshold, it is considered that the latest environment of the local area is changed greatly from the original environment. At this time, the robot may need to re-plan the global path, and the necessity of re-planning the global path may be determined as follows:
judging whether the road section of the global path in the local area has an obstacle or not based on the local map; if the road section has the obstacle, confirming that the global path is necessary to be re-planned; on the contrary, if there is no obstacle in the road segment, it is determined that it is not necessary to re-plan the global path, that is, the step 101 may still be executed again, and the road segment is moved according to the original global path. The basis for making this determination is set forth below:
the local map represents the latest environment of the local area. In the embodiment of the application, the robot always moves according to the global path, and the local area is the current area of the robot, so that part of the road sections in the original global path necessarily fall into the local area. The robot can judge whether the part of the road section in the local area has the obstacle or not by referring to the local map. Obviously, if there is an obstacle on the road section, the obstacle will hinder the movement of the robot. On the contrary, if no obstacle exists on the road section, the change of the environment of the local area can be shown to occur in other places, and the change of the environment in other places does not influence the movement of the robot.
In some embodiments, when an obstacle exists in a road segment, the robot may re-plan the global path by:
first, the robot may update the global map based on the local map. For example only, the portion of the area map in the global map may be directly replaced with the local map; that is, the local map is overlaid to the corresponding location of the global map. Alternatively, the global map may be labeled based on a difference between the local map and the area map, and the update method of the global map is not limited here.
The robot may then re-plan a global path based on its current location, the target point of the task, and the updated global map. Considering that the robot has moved from the starting point to the current position at this time, the path from the starting point to the target point may not be considered any more but the path from the current position to the target point may be considered directly when the global path is re-planned. Of course, the robot may also re-plan the global path based on the starting point, the target point of the task, and the updated global map, but this method cannot ensure that the current position of the robot is on the re-planned global path, and there is a certain safety risk.
Finally, the robot may return to perform step 101 and subsequent steps, i.e., continue moving to the target point according to the current global path. It can be understood that after the global path is re-planned, the current global path on which the robot depends when moving is changed to the global path obtained after re-planning, that is, the latest global path.
As can be seen from the above, in the embodiment of the present application, the robot does not invoke the local path planner all the time in an indoor scene or other scenes with less environmental changes; that is, the robot depends on the global path planned by the global path planner in the whole process. In the process that the robot moves according to the global path, as long as the environment where the robot is located has not changed greatly, the robot continues to move to the target point according to the originally planned global path. And when the environment of the robot is greatly changed, if no obstacle exists on the originally planned global path, the robot still moves to the target point according to the global path. In fact, in the embodiment of the present application, only when the environment where the robot is located has changed greatly and an obstacle exists on the originally planned global path, the robot may call the global path planner again to re-plan the global path and continue to move according to the re-planned global path. It can be seen that in the embodiment of the present application, the robot needs to re-plan the global path only under very special conditions, which greatly saves the computational power of the robot.
In some embodiments, the robot may calculate the similarity of the local map and the area map by:
and judging whether each map point pair meets a preset condition, counting the number of the map point pairs meeting the preset condition, and calculating the similarity based on the number and the total number of the map point pairs.
The following description is first given to map points: as can be seen from the foregoing, the local map and the local map are completely corresponding, and both have the same number of map points (i.e., pixels), and both represent the environmental conditions of the local area. Therefore, in the regional map and the local map, two map points corresponding to the positions actually point to the same position of the local region, and the two map points corresponding to the positions can be used as a map point pair. The two map points corresponding to the positions may be specifically: two map points having the same coordinates. For example only, in a local map, the coordinates are (x)1,y1) Map point of P11(ii) a In the area map, the coordinates are (x)1,y1) Map point of P21(ii) a The map point P11And the map point P21I.e. a map point pair is formed.
Note that the number of map points in the local map is N, and the number of map points in the local map is also N, which may form N map point pairs, that is, the total number of map point pairs is N. For convenience of explanation, for any map point pair, the map point belonging to the local map in the map point pair may be referred to as a first map point, and the map point belonging to the area map in the map point pair may be referred to as a second map point.
The following describes a process of the robot determining whether a map point pair satisfies a preset condition:
the preset conditions of the robot include a first preset condition, and whether a certain map point pair meets the preset conditions can be judged in the following way: acquiring the state of a first map point and the state of a second map point in the map point pair, wherein the state of the map points is used for indicating whether the map points are idle or not; then, the robot may determine whether the map point pair satisfies a first preset condition based on the state of the first map point and the state of the second map point, where the first preset condition specifically is: the state of the first map point is the same as the state of the second map point.
Generally, there are two possible states for each map point (i.e., pixel point) in a map: one is an idle state, which is usually white in the binarized map and is used for indicating that no obstacle exists at the map point; and the other is a non-idle state, and is usually black in the binarized map, and is used for indicating that the map point has an obstacle. Based on the above definition of the map point states, it can be determined whether the environment in the local area has a large change according to the state of the first map point, the state of the second map point and the first preset condition. Obviously, as long as a certain map point pair meets the first preset condition, the map point pair can be directly confirmed to meet the preset condition.
However, the environmental change may be that the original position is not occupied but an obstacle is added, or the original obstacle is removed. It will be appreciated that the removal of the original obstacle does not actually affect the movement of the robot in the original global path. Based on this, the preset conditions of the robot further include a second preset condition, and the second preset condition can be used as a supplement to the first preset condition. It can be considered that a certain map point pair satisfies a preset condition as long as the map point pair satisfies any one of the first preset condition and the second preset condition.
Considering that the second preset condition is complementary to the first preset condition, the robot may determine whether the map point pair satisfies the first preset condition, and if the map point pair does not satisfy the first preset condition, determine whether the map point pair satisfies the second preset condition, so as to save computation power of the robot.
The robot specifically can judge whether the map point pair meets a second preset condition based on the state of a first map point in the map point pair, where the second preset condition is: the state of the first map point is a preset state. As can be seen from the foregoing, the original obstacle being removed does not actually affect the movement of the robot on the original global path, and thus the preset state herein refers to: an idle state.
To facilitate understanding of the above determination process, a description will be given below by using a specific example.
P in local map11And P in the area map21A map point pair is formed. At the acquisition of P11And P21After the state of (c), there are four cases:
first case, P11Is in an idle state, P21Is in an idle state. The map point pair meets the first preset condition through judgment. In this case, it is determined that the map point pair satisfies the preset condition.
Second case, P11Is in a non-idle state, P21Is in a non-idle state. The map point pair meets the first preset condition through judgment. In this case, it is determined that the map point pair satisfies the preset condition.
In the third case, P11Is in an idle state, P21Is in a non-idle state. The map point pair does not satisfy the first preset condition but satisfies the second preset condition through judgment. In this case, it is determined that the map point pair satisfies the preset condition.
In the fourth case, P11Is in a non-idle state, P21Is in an idle state. And judging that the map point pair does not meet the first preset condition and does not meet the second preset condition. In this case, it is determined that the map point pair does not satisfy the preset condition.
After traversing all map point pairs, the number of map point pairs meeting the preset condition can be counted. Based on the number of map point pairs satisfying a preset condition, and the placeThe total number of pairs of graph points can be calculated by the following formula:
Figure BDA0003488554590000091
wherein S is similarity; m is the number of map point pairs meeting preset conditions; n has been described above as the total number of map point pairs.
In some embodiments, to further save the calculation power, after the robot receives the task and obtains the starting point and the target point of the task, the number of times of calling the starting point and the target point can be updated. That is, it is determined that the global path is currently planned based on the start point and the target point for the second time. If the called times reach a preset time threshold, the starting point and the target point are considered to be common task points, and the planned global path can be stored at the moment so as to improve the path planning speed of the common task points. It should be noted that, in general, when the starting point and the target point are interchanged, the planned global path is the same, and therefore, for any two points, the robot does not actually consider which point is the starting point and which point is the target point when updating the called times. That is, the robot considers the target point and the starting point as a combination (not a permutation).
For example only, assume that at time T1, the robot is tasked from point P0 to point P1, noting that the number of calls is 1; assuming that at the time of T2, the task of the robot is from point P1 to point P0, although the starting point and the target point are interchanged compared with the time of T1, the robot will still update the called number, that is, the called number can be recorded as 2 at this time; by analogy, as long as the called points are P0 and P1, no matter from the point P0 to the point P1 or from the point P1 to the point P0, the robot updates the called times until the called times reach a preset time threshold, and the corresponding global path can be saved.
Corresponding to the robot control method proposed in the foregoing, embodiments of the present application provide a robot control apparatus. Referring to fig. 2, a robot controller 200 according to an embodiment of the present invention includes:
a control module 201, configured to control the robot to move to a target point based on a current global path, where the global path is planned by a starting point, the target point, and a preset global map in an initial state;
an obtaining module 202, configured to obtain a local map of a local area where the robot is located in a process that the robot moves to the target point;
a calculating module 203, configured to calculate a similarity between the local map and a local map, where the local map is: a map corresponding to the local area in the global map;
the control module 201 is further configured to be triggered to operate again when the similarity is greater than a preset similarity threshold.
Optionally, the calculating module 203 includes:
a determining unit, configured to determine whether each map point pair satisfies a preset condition, where each map point pair includes a first map point and a second map point, the first map point is a map point in the local map, the second map point is a map point in the regional map, and a position of the first map point in the local map corresponds to a position of the second map point in the regional map;
the statistical unit is used for counting the number of the map point pairs meeting the preset conditions;
and the calculating unit is used for calculating the similarity based on the number and the total number of the map point pairs.
Optionally, the preset condition includes a first preset condition, and the determining unit includes:
an obtaining subunit, configured to obtain, for each map point pair, a state of a first map point and a state of a second map point in the map point pair, where the states are used to indicate whether the corresponding map point is idle;
a first determining subunit, configured to determine whether the map point pair satisfies the first preset condition based on a state of the first map point and a state of a second map point, where the first preset condition is: the state of the first map point is the same as the state of the second map point.
Optionally, the preset conditions further include a second preset condition; the above-mentioned judging unit further includes:
a second determining subunit, configured to determine whether the map point pair satisfies the second preset condition based on a state of the first map point if the map point pair does not satisfy the first preset condition, where the second preset condition is: the state of the first map point is a preset state.
Optionally, the robot controller 200 further includes:
the judging module is used for judging whether the road sections of the global path in the local area have obstacles or not based on the local map if the similarity is smaller than or equal to a preset similarity threshold;
the control module 201 is further configured to be triggered again when there is no obstacle in the road segment.
Optionally, the robot controller 200 further includes:
an update module, configured to update the global map based on the local map if the road segment has an obstacle;
a replanning module, configured to replan the global path based on a current position of the robot, the target point, and the updated global map;
the control module 201 is further configured to be triggered again when the global path is re-planned.
Optionally, the robot controller 200 further includes:
the counting module is used for counting the called times of the starting point and the target point;
and the storage module is used for storing the global path if the called times reach a preset time threshold.
Therefore, according to the embodiment of the application, the robot does not call the local path planner all the time in an indoor scene or other scenes with less environment change; that is, the robot depends on the global path planned by the global path planner in the whole process. In the process that the robot moves according to the global path, as long as the environment where the robot is located has not changed greatly, the robot continues to move to the target point according to the originally planned global path. And when the environment of the robot is greatly changed, if no obstacle exists on the originally planned global path, the robot still moves to the target point according to the global path. In fact, in the embodiment of the present application, only when the environment where the robot is located has changed greatly and an obstacle exists on the originally planned global path, the robot may call the global path planner again to re-plan the global path and continue to move according to the re-planned global path. It can be seen that in the embodiment of the present application, the robot needs to re-plan the global path only under very special conditions, which greatly saves the computational power of the robot.
An embodiment of the present application further provides a robot, please refer to fig. 3, where the robot 3 in the embodiment of the present application includes: a memory 301, one or more processors 302 (only one shown in fig. 3), and a computer program stored on the memory 301 and executable on the processors. The memory 301 is used for storing software programs and units, and the processor 302 executes various functional applications and data processing by running the software programs and units stored in the memory 301, so as to obtain resources corresponding to the preset events. Specifically, the processor 302 realizes the following steps by running the above-mentioned computer program stored in the memory 301:
controlling the robot to move to a target point based on a current global path, wherein the global path is planned by a starting point, the target point and a preset global map in an initial state;
acquiring a local map of a local area where the robot is located in the process that the robot moves to the target point;
calculating the similarity between the local map and a regional map, wherein the regional map comprises: a map corresponding to the local area in the global map;
and if the similarity is greater than a preset similarity threshold, returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
Assuming that the above is the first possible embodiment, in a second possible embodiment provided based on the first possible embodiment, the comparing the local map with the area map includes:
judging whether each map point pair meets a preset condition, wherein each map point pair comprises a first map point and a second map point, the first map point is one map point in the local map, the second map point is one map point in the regional map, and the position of the first map point in the local map corresponds to the position of the second map point in the regional map;
counting the number of map point pairs meeting the preset conditions;
and calculating the similarity based on the number and the total number of the map point pairs.
In a third possible implementation manner provided as a basis for the second possible implementation manner, the determining whether each map point pair satisfies the preset condition includes:
acquiring the state of a first map point and the state of a second map point in the map point pairs aiming at each map point pair, wherein the states are used for indicating whether the corresponding map points are idle or not;
judging whether the map point pair meets the first preset condition or not based on the state of the first map point and the state of the second map point, wherein the first preset condition is as follows: the state of the first map point is the same as the state of the second map point.
In a fourth possible implementation manner provided as the basis of the third possible implementation manner, the preset conditions further include a second preset condition, and after the determining whether the map point pairs satisfy the first preset condition, the processor 302 further implements the following steps when executing the computer program stored in the memory 301:
if the map point pair does not satisfy the first preset condition, determining whether the map point pair satisfies the second preset condition based on the state of the first map point, wherein the second preset condition is as follows: the state of the first map point is a preset state.
In a fifth possible implementation form based on the first possible implementation form, the second possible implementation form, the third possible implementation form, or the fourth possible implementation form, after the calculating the similarity between the local map and the area map, the processor 302 further implements the following steps when executing the computer program stored in the memory 301:
if the similarity is smaller than or equal to a preset similarity threshold, judging whether barriers exist in the road sections of the global path in the local area or not based on the local map;
and if the road section has no barrier, returning to the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
In a sixth possible implementation form provided as a basis for the fifth possible implementation form, after determining whether an obstacle exists in a link of the global path in the local map based on the local map, the processor 302 further implements the following steps when executing the computer program stored in the memory 301:
if the road section has an obstacle, updating the global map based on the local map;
replanning the global path based on the current position of the robot, the target point and the updated global map;
and returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
In a seventh possible implementation form, which is provided on the basis of the first possible implementation form, the second possible implementation form, the third possible implementation form, or the fourth possible implementation form, the processor 302 implements the following steps by running the computer program stored in the memory 301:
counting the number of times of calling the starting point and the target point;
and if the called times reach a preset time threshold, saving the global path.
It should be understood that in the embodiments of the present Application, the Processor 302 may be a CPU, and the Processor may be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Memory 301 may include both read-only memory and random access memory and provides instructions and data to processor 302. Some or all of memory 301 may also include non-volatile random access memory. For example, the memory 301 may also store device class information.
Therefore, according to the embodiment of the application, the robot does not call the local path planner all the time in an indoor scene or other scenes with less environment change; that is, the robot depends on the global path planned by the global path planner in the whole process. In the process that the robot moves according to the global path, as long as the environment where the robot is located has not changed greatly, the robot continues to move to the target point according to the originally planned global path. And when the environment of the robot is greatly changed, if no obstacle exists on the originally planned global path, the robot still moves to the target point according to the global path. In fact, in the embodiment of the present application, only when the environment where the robot is located has changed greatly and an obstacle exists on the originally planned global path, the robot may call the global path planner again to re-plan the global path and continue to move according to the re-planned global path. It can be seen that in the embodiment of the present application, the robot needs to re-plan the global path only under very special conditions, which greatly saves the computational power of the robot.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned functions may be distributed as different functional units and modules according to needs, that is, the internal structure of the apparatus may be divided into different functional units or modules to implement all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art would appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of external device software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described system embodiments are merely illustrative, and for example, the division of the above-described modules or units is only one logical functional division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The integrated unit may be stored in a computer-readable storage medium if it is implemented in the form of a software functional unit and sold or used as a separate product. Based on such understanding, all or part of the flow in the method of the embodiments described above can be realized by a computer program, which can be stored in a computer-readable storage medium and can realize the steps of the embodiments of the methods described above when the computer program is executed by a processor. The computer program includes computer program code, and the computer program code may be in a source code form, an object code form, an executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the above-described computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer readable Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signal, telecommunication signal, software distribution medium, etc. It should be noted that the computer readable storage medium may contain other contents which can be appropriately increased or decreased according to the requirements of the legislation and the patent practice in the jurisdiction, for example, in some jurisdictions, the computer readable storage medium does not include an electrical carrier signal and a telecommunication signal according to the legislation and the patent practice.
The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A robot control method, comprising:
controlling the robot to move to a target point based on a current global path, wherein the global path is planned by a starting point, the target point and a preset global map in an initial state;
acquiring a local map of a local area where the robot is located in the process that the robot moves to the target point;
calculating the similarity between the local map and a regional map, wherein the regional map is as follows: a map corresponding to the local area in the global map;
and if the similarity is greater than a preset similarity threshold, returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
2. The robot control method according to claim 1, wherein the calculating the similarity of the local map and the area map includes:
judging whether each map point pair meets a preset condition or not, wherein each map point pair comprises a first map point and a second map point, the first map point is one map point in the local map, the second map point is one map point in the regional map, and the position of the first map point in the local map corresponds to the position of the second map point in the regional map;
counting the number of map point pairs meeting the preset conditions;
calculating a similarity based on the number and a total number of the map point pairs.
3. The robot control method according to claim 2, wherein the preset condition includes a first preset condition, and the determining whether each map point pair satisfies the preset condition includes:
acquiring the state of a first map point and the state of a second map point in the map point pairs aiming at each map point pair, wherein the states are used for indicating whether the corresponding map points are idle or not;
judging whether the map point pair meets the first preset condition or not based on the state of the first map point and the state of the second map point, wherein the first preset condition is as follows: the state of the first map point is the same as the state of the second map point.
4. The robot control method according to claim 3, wherein the preset conditions further include a second preset condition, and after the determination of whether the map point pair satisfies the first preset condition, the robot control method further includes:
if the map point pair does not meet the first preset condition, judging whether the map point pair meets the second preset condition or not based on the state of the first map point, wherein the second preset condition is as follows: the state of the first map point is a preset state.
5. The robot control method according to any one of claims 1 to 4, wherein after the calculating the similarity of the local map and the area map, the robot control method further comprises:
if the similarity is smaller than or equal to a preset similarity threshold, judging whether barriers exist in the road sections of the global path in the local area or not based on the local map;
and if the road section has no barrier, returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
6. The robot control method according to claim 5, wherein after the determination of whether the segment of the global path in the local map has an obstacle based on the local map, the robot control method further comprises:
if the road section has the obstacle, updating the global map based on the local map;
replanning the global path based on the current position of the robot, the target point and the updated global map;
and returning to execute the step of controlling the robot to move to the target point based on the current global path and the subsequent steps.
7. A robot control method according to any of claims 1 to 4, characterized in that the robot control method further comprises:
counting the number of times of calling the starting point and the target point;
and if the called times reach a preset time threshold, saving the global path.
8. A robot control apparatus, comprising:
the control module is used for controlling the robot to move to a target point based on a current global path, wherein the global path is planned by a starting point, the target point and a preset global map in an initial state;
the acquisition module is used for acquiring a local map of a local area where the robot is located in the process that the robot moves to the target point;
a calculating module, configured to calculate a similarity between the local map and a regional map, where the regional map is: a map corresponding to the local area in the global map;
the control module is further used for triggering operation again when the similarity is larger than a preset similarity threshold.
9. A robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1 to 7.
CN202210088007.8A 2022-01-25 2022-01-25 Robot control method, robot control device and robot Active CN114310908B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210088007.8A CN114310908B (en) 2022-01-25 2022-01-25 Robot control method, robot control device and robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210088007.8A CN114310908B (en) 2022-01-25 2022-01-25 Robot control method, robot control device and robot

Publications (2)

Publication Number Publication Date
CN114310908A true CN114310908A (en) 2022-04-12
CN114310908B CN114310908B (en) 2023-10-24

Family

ID=81028200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210088007.8A Active CN114310908B (en) 2022-01-25 2022-01-25 Robot control method, robot control device and robot

Country Status (1)

Country Link
CN (1) CN114310908B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018067314A (en) * 2016-10-21 2018-04-26 ネイバー コーポレーションNAVER Corporation Method and system for controlling indoor autonomous travelling robot
US20180183650A1 (en) * 2012-12-05 2018-06-28 Origin Wireless, Inc. Method, apparatus, and system for object tracking and navigation
CN109974702A (en) * 2017-12-27 2019-07-05 深圳市优必选科技有限公司 A kind of robot navigation method, robot and storage device
CN111152266A (en) * 2020-01-09 2020-05-15 安徽宇润道路保洁服务有限公司 Control method and system of cleaning robot
CN112393719A (en) * 2019-08-12 2021-02-23 科沃斯商用机器人有限公司 Grid semantic map generation method and device and storage equipment
CN112785705A (en) * 2021-01-21 2021-05-11 中国科学技术大学 Pose acquisition method and device and mobile equipment
CN113246126A (en) * 2021-04-30 2021-08-13 上海擎朗智能科技有限公司 Robot movement control method, robot movement control device and robot

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180183650A1 (en) * 2012-12-05 2018-06-28 Origin Wireless, Inc. Method, apparatus, and system for object tracking and navigation
JP2018067314A (en) * 2016-10-21 2018-04-26 ネイバー コーポレーションNAVER Corporation Method and system for controlling indoor autonomous travelling robot
CN109974702A (en) * 2017-12-27 2019-07-05 深圳市优必选科技有限公司 A kind of robot navigation method, robot and storage device
CN112393719A (en) * 2019-08-12 2021-02-23 科沃斯商用机器人有限公司 Grid semantic map generation method and device and storage equipment
CN111152266A (en) * 2020-01-09 2020-05-15 安徽宇润道路保洁服务有限公司 Control method and system of cleaning robot
CN112785705A (en) * 2021-01-21 2021-05-11 中国科学技术大学 Pose acquisition method and device and mobile equipment
CN113246126A (en) * 2021-04-30 2021-08-13 上海擎朗智能科技有限公司 Robot movement control method, robot movement control device and robot

Also Published As

Publication number Publication date
CN114310908B (en) 2023-10-24

Similar Documents

Publication Publication Date Title
CN111813101B (en) Robot path planning method, device, terminal equipment and storage medium
EP3566821B1 (en) Robot movement control method, and robot
CN109724612B (en) AGV path planning method and device based on topological map
CN113715814B (en) Collision detection method, device, electronic equipment, medium and automatic driving vehicle
KR20210041544A (en) Method and apparatus for planning autonomous vehicle, electronic device and storage medium
CN112595337B (en) Obstacle avoidance path planning method and device, electronic device, vehicle and storage medium
US20240166196A1 (en) Obstacle avoidance method, apparatus, electronic device and storage medium for vehicle
RU2703824C1 (en) Vehicle control device
CN111158365A (en) Path planning method and device, robot and storage medium
CN111338360B (en) Method and device for planning vehicle driving state
US11978345B2 (en) Moving object behavior prediction device
US20200317193A1 (en) Travel Assistance Method and Travel Assistance Device
CN114475585B (en) Automatic intersection driving method and device, electronic equipment and automatic driving vehicle
CN112445222A (en) Navigation method, navigation device, storage medium and terminal
CN114303581B (en) Intelligent mower, walking path planning method and device and storage medium
CN114594772A (en) Robot, path planning method, device and storage medium
CN114310908A (en) Robot control method, robot control device and robot
CN110083158B (en) Method and equipment for determining local planning path
CN112462403A (en) Positioning method, positioning device, storage medium and electronic equipment
JP7167732B2 (en) map information system
CN114812539B (en) Map searching method, map using method, map searching device, map using device, robot and storage medium
CN114347019B (en) Robot control method, robot and control system
CN115562296B (en) Robot scheduling method, system and device based on hybrid control strategy
EP4310797A1 (en) Method for determination of a free space boundary of a physical environment in a vehicle assistance system
CN114590248B (en) Method and device for determining driving strategy, electronic equipment and automatic driving vehicle

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant