CN114610042A - Robot path dynamic planning method and device and robot - Google Patents
Robot path dynamic planning method and device and robot Download PDFInfo
- Publication number
- CN114610042A CN114610042A CN202210374453.5A CN202210374453A CN114610042A CN 114610042 A CN114610042 A CN 114610042A CN 202210374453 A CN202210374453 A CN 202210374453A CN 114610042 A CN114610042 A CN 114610042A
- Authority
- CN
- China
- Prior art keywords
- robot
- path
- area
- map
- real
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 13
- 230000004888 barrier function Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 13
- 230000008447 perception Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000010408 sweeping Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 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/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons 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/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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
-
- 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/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- 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/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- 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/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
The invention discloses a robot path dynamic planning method and device and a robot. The method comprises the following steps: determining a first path of the robot operation in the operation range of the robot according to the preset route or the preset position; and adjusting the motion posture of the robot so that the robot travels along a path keeping a preset distance from the nearest historical path or the nearest obstacle by combining the real-time position, the real-time angle, the preset offset angle and the real-time distance between the robot and the nearest obstacle or the nearest historical path of the robot, detecting coverage information in real time in the traveling process of the robot, if adjacent areas are covered areas, searching a starting point again, controlling the robot to navigate to the searched starting point, and executing the step in a circulating manner until the robot cannot find a new starting point. By adopting the path planning method, the stability and the working efficiency of the robot are improved, and the method is suitable for complex scenes with more dynamic obstacles in the working environment.
Description
Technical Field
The invention relates to the field of artificial intelligence, in particular to a robot path dynamic planning method and device and a robot.
Background
In mobile robot path planning, area coverage path planning is used in various fields, such as: the robot system comprises a sweeping robot, a killing robot, a mobile security robot, a distribution robot, a mowing robot, a glass cleaning robot, a mobile business robot, an agricultural robot, a special work robot, a military robot and the like.
Early mobile robots were relatively simple in planning coverage paths, and generally consisted of two actions, namely, rotation and linear travel: when the robot meets an obstacle, the robot rotates a certain angle and continues to move straight until the specified time is exceeded. The area coverage mode has low efficiency and large omission area, and is common in early sweeping robots.
With the application of the inertial navigation technology, the mobile robot has a positioning function, and the area coverage planning has a new direction, so that a path avoiding a known obstacle can be planned, for example, a Chinese character bow (or called zigzag) path planning mode and the like.
However, the application scenarios of the mobile robot are gradually diversified at present, and the requirements to be met are gradually diversified in the home environment, the public office environment and the outdoor environment, so that the area coverage planning mode cannot meet the requirements.
The area coverage planning method in the related art mainly has the following problems:
1. the number of curves is large, and the curves are all sharp, so that the robot has a high rotating speed when turning. This has a non-negligible effect on the SLAM module of the robot. When the size and the weight of the robot are large, large inertia can be generated to drive the load to generate large shaking, and the stability of the robot is greatly reduced. It is conceivable to improve the above by reducing the speed of the robot when turning, but this introduces the problem of frequent acceleration and deceleration, and also reduces the work efficiency.
2. The working efficiency is low. The area coverage planning method in the related art generally consists of straight lines, no curve, short length of a single path, and unidirectional extension direction (each time, the path can only extend to a fixed direction, and the path stops to re-establish the starting point and the direction after the path is ended).
3. The application platform is single. The area coverage planning mode in the related art has better adaptability on a robot chassis with a differential control model; the chassis of the automobile control model is restrained by the turning radius of the robot, so that the cleaning distance is limited, and the working efficiency is reduced.
Therefore, a new scheme for dynamically planning a path with covered area is needed to solve the above problems and improve the working efficiency of the robot.
Disclosure of Invention
The invention mainly aims to disclose a method and a device for dynamically planning a robot path and a robot, which are used for at least solving the problems of low stability, low working efficiency and the like of the robot caused by adopting an area coverage planning mode in the related technology.
According to one aspect of the invention, a method for dynamically planning a robot path is provided.
The robot path dynamic planning method comprises the following steps: determining a first path of the robot operation in the operation range of the robot according to a preset route or a preset position, and sending the information of the first path to a motion control module of the robot so that the motion control module controls the robot to track the first path; and adjusting the motion posture of the robot by combining the real-time position, the real-time angle, the preset offset angle of the robot and the real-time distance between the robot and the nearest barrier or the nearest historical path, so that the robot travels along the path keeping the preset distance from the nearest historical path or the nearest barrier, detecting coverage information in real time in the traveling process of the robot, if adjacent areas are covered areas, searching the starting point again, controlling the robot to navigate to the searched starting point, and executing the step in a circulating manner until the robot cannot find a new starting point.
According to another aspect of the present invention, a robot path dynamic planning apparatus is provided.
The robot path planning apparatus according to the present invention includes: the determining module is used for determining a first path of the robot operation in the operation range of the robot according to a preset route or a preset position; a sending module, configured to send information of the first path to a motion control module of the robot, so that the motion control module controls the robot to track the first path; and the dynamic planning module is used for adjusting the motion posture of the robot by combining the real-time position, the real-time angle and the preset offset angle of the robot and the real-time distance between the robot and the nearest barrier or the nearest historical path so that the robot travels along the path keeping the preset distance from the nearest historical path or the nearest barrier, detecting the coverage information in real time in the traveling process of the robot, if adjacent areas are covered areas, searching the starting point again, controlling the robot to navigate to the searched starting point, and executing the step in a circulating manner until the robot cannot find a new starting point.
According to yet another aspect of the present invention, a robot is provided.
The robot according to the present invention comprises: the memory is used for storing computer execution instructions; the processor is configured to execute the computer-executable instructions stored in the memory, so that the robot performs the method according to any one of the above embodiments.
According to the invention, a new area coverage dynamic planning path scheme is provided, a first path of the robot operation is determined in an operation range of a robot according to a preset route or a preset position, then the motion posture of the robot is adjusted to enable the robot to travel along a path keeping a preset distance from a nearest historical path or a nearest obstacle by combining the real-time position, the real-time angle and the preset offset angle of the robot and the real-time distance between the robot and the nearest obstacle or the nearest historical path, a starting point is searched again until detected adjacent areas are all covered areas, the robot is controlled to navigate to the searched starting point, the step is executed in a circulating mode until the robot cannot find a new starting point, and the operation flow is finished. By adopting the dynamic path planning method, the problems of low stability, low working efficiency and the like of the robot caused by an area coverage planning mode in the related technology are solved, and the stability and the working efficiency of the robot are improved. And the path of the robot can be dynamically planned and adjusted according to the real-time information, so that the method is suitable for complex scenes with more dynamic obstacles in the working environment.
Drawings
Fig. 1 is a flow chart of a robot path planning method according to an embodiment of the invention;
FIG. 2 is a schematic diagram of a grid map after multiple data fills in accordance with an example of the invention;
fig. 3 is a block diagram of a robot path planning apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a robot according to an embodiment of the present invention.
Detailed Description
The following detailed description of specific embodiments of the present invention is provided in conjunction with the accompanying drawings.
Fig. 1 is a flowchart of a robot path planning method according to an embodiment of the present invention. As shown in fig. 1, the robot path planning method includes:
step S101: determining a first path of the robot operation in the operation range of the robot according to a preset route or a preset position, and sending the information of the first path to a motion control module of the robot so that the motion control module controls the robot to track the first path;
step S102: and adjusting the motion posture of the robot by combining the real-time position, the real-time angle and the preset deviation angle of the robot and the real-time distance between the robot and the nearest barrier or the nearest historical path to ensure that the robot travels along the path keeping the preset distance from the nearest historical path or the nearest barrier, detecting the coverage information in real time in the traveling process of the robot, searching the starting point again if adjacent areas are covered areas, controlling the robot to navigate to the searched starting point, and executing the step in a circulating way until the robot cannot find a new starting point.
The method shown in fig. 1 is adopted to provide a new area coverage dynamic planning path scheme, a first path of the robot operation is determined in an operation range of the robot according to a preset route or a preset position, then the motion posture of the robot is adjusted so that the robot travels along a path keeping a preset distance from a nearest historical path or a nearest obstacle by combining a real-time position, a real-time angle and a preset offset angle of the robot and a real-time distance between the robot and the nearest obstacle or the nearest historical path, until all detected adjacent areas are covered areas, a starting point is searched again, the robot is controlled to navigate to the searched starting point, the step is executed in a circulating mode until the robot cannot find a new starting point, and an operation flow is finished. By adopting the path planning method, the problems of low stability, low working efficiency and the like of the robot caused by an area coverage planning mode in the related technology are solved, and the stability and the working efficiency of the robot are improved. And the path of the robot can be dynamically planned and adjusted according to the real-time information, so that the method is suitable for complex scenes with more dynamic obstacles in the working environment.
In a preferred implementation, the robot has two edgewise capabilities:
1. the ability of the entity to be along the edge. The robot needs to have a sensor for detecting the distance of an obstacle, for example, an edge sensor on a floor-sweeping robot, which can help the robot to advance along a wall.
2. Virtual edge capability. For example, a region is delineated in a map and the robot may follow the region boundary in a clockwise or counterclockwise direction.
Preferably, before determining the first path of the robot operation within the operation range of the robot according to the predetermined route or the predetermined position, the following process may be further included: newly building a coverage area map for storing the information of the covered area; when the motion control module controls the robot to track the first path or adjusts the motion posture of the robot so that the robot travels along a path which keeps a predetermined distance from a recent historical path or a recent obstacle, the method further comprises the following steps: and storing the information of the covered area of the current operation of the robot into the map of the covered area in real time.
In a preferred implementation process, a coverage area map (e.g., a grid map) CoverMap is newly created to record an already-operated coverage area, specifically, a grid attribute corresponding to the already-operated coverage area may be set to Cover, a grid attribute of an uncovered area may be set to Unknown, and the grid attribute of the CoverMap is set to Unknown all at the time of initialization. And filling the boundary data into the CoverMap, wherein the filling is Side, and the area Outside the boundary is Outside.
During the execution of the operation (for example, when the motion control module controls the robot to track the first path, or adjusts the motion attitude of the robot so that the robot travels along the covered area or the boundary of an obstacle), the robot sets the grid attributes within N layers with the current position of the robot as the center as Cover. The value of N is half of the width of the robot covered once, for example, the width of the robot covered once is 10 grids, and the value of N is 5. When the robot moves along an obstacle, the obstacle information is filled into the CoverMap, the CoverMap is set to be the Obs and expands N layers, the value of N is the safe radius of the robot, and the safety radius of the robot needs to be determined according to the attribute information (such as the shape and the structure) of the robot.
Preferably, as shown in fig. 2, before determining the first path of the robot operation within the operation range of the robot according to the predetermined route or the predetermined position, the following process may be further included: establishing a world coordinate system based on a reference point, and constructing a world map based on the world coordinate system, wherein the reference point comprises: the method comprises the following steps of (1) charging pile position, initialization object position and robot operation starting position; constructing a grid map based on the world coordinate system and the world map, wherein the grid map comprises: unknown region information, obstacle expansion region information, and free region information; and determining the working range of the robot.
In a preferred implementation, the reference point needs to be determined first, for example, the reference point may be determined by:
the first method is as follows: the robot is started from the charging pile, the infrared signal point on the charging pile is taken as a reference point, and the robot returns to the charging pile for charging/standby after the robot operation is finished; in the specific implementation process, an object interfering the movement of the robot cannot be placed near the charging pile.
The second method comprises the following steps: the robot takes the position of an initialization object (the initialization object can be an object containing various characteristic identifications such as natural characteristics, fixed characteristics and the like, for example, a plane marking plate and the like), the identification on the initialization object marker can be apriltag, and other types of identifications such as ARTag, ARToolkit, and rauco and the like as a starting point, and if the robot cannot find the charging pile after the operation is completed, the robot can return to the vicinity of the initialization object. In the specific implementation process, an object which interferes the movement of the robot cannot be placed near the initialization object.
The third method comprises the following steps: the robot can start the operation in optional position, consequently can regard as the reference point with robot operation start position, if do not find the position of filling electric pile in the robot working process, can return to this robot operation start position after the robot accomplishes the task.
In a preferred implementation, the grid map may be constructed based on the world coordinate system and the world map. The grid map is an ordered data array, is a set of pixels, and is composed of a plurality of small square pixels, the pixels are not affected with each other, the grid map is divided into a two-dimensional (2D) grid map and a three-dimensional (3D) grid map, the data amount stored in the 3D grid map is large, a larger storage space is needed compared with the 2D grid map, the efficiency in data access is relatively low, the 2D grid map is generally adopted for a non-space mobile robot, and for a ground mobile robot, the 2D grid map meets the requirements, and the 2D grid map is taken as an example for explanation below.
The storage form of the grid map includes but is not limited to the following:
the first method comprises the following steps: the storage space is saved by: chain, run, block, quadtree, etc. The disadvantage is that random read and write efficiency is low.
And the second method comprises the following steps: the higher read-write efficiency is as follows: static map. The defects are that the occupied storage space is fixed in size, and storage resources are consumed comparatively.
And the third is that: the mode of taking storage and reading and writing into consideration: and (4) dynamic graph. The occupied storage space changes with the size of the effective data of the map, a small part of storage resources can be wasted, and the reading and writing speed is equal to that of the static map.
From the perspective of a robot, the spatial attributes in the map can be divided into: unknown (Unknown) areas (areas not reached by the robot), obstacle areas (Obs, not-passable areas), obstacle expanded areas (ObsExpand, not-obstacle but not-passable areas), Free areas (Free, areas that the robot can pass through), grid values on the map can be used to represent the above types of area information, and other special marks may be marked on the map. For example, grid value 254 represents an obstacle area, grid value 100 represents an obstacle expansion area, and grid value 0 represents a free area.
In a specific implementation process, the graph can be built in the following mode:
firstly, acquiring reference data for mapping: the robot passes through sensor perception external information, can adopt multisensor, includes: infrared sensors, ultrasonic sensors, collision sensors, etc., which can detect obstacles at a close distance; laser radar, monocular or binocular cameras, structured light, TOF, such sensors can detect obstacles at a long distance; the detection range of the laser radar and the camera is relatively large, the robot generally mainly refers to data of the two sensors when in mapping, and data of other sensors can be used for mapping according to the difference of the functional platforms of the robot. For a robot with higher safety requirement, various sensors can be arranged at different parts of the robot, the detection range of the sensors can cover the robot body, and data of each sensor is longitudinally mapped to a 2D plane and filled into a grid map; and a 3D grid map can be established according to the height of the robot body, and the 3D grid map is subjected to dimensionality reduction treatment during use to compress the 3D grid map into a 2D grid map.
Second, a data stuffing operation is performed, including: firstly, filtering and denoising sensor data; the data obtained from the sensors are all vector data having a distance and an orientation, and the grid coordinates of the target point (obstacle) with respect to the sensors can be obtained by rasterizing the vector data. And translating the grid coordinate of the target point to the grid coordinate where the robot is located, and then obtaining the grid coordinate of the target point relative to the map origin. Setting the grid attribute of a target point in a map as an obstacle area, setting a non-obstacle area around the obstacle as an expansion area, and setting the non-expansion area between the target point and the grid coordinate where the robot is located as an idle area. As for the error, the error of the grid map includes two kinds: measurement error of the sensor and error of the rasterization itself. The size of the error depends on the accuracy of the sensor and the resolution of the grid map, the higher the measurement accuracy of the sensor, the higher the resolution of the map, the smaller the error of the information fed back by the map, but the larger the data volume of the map, the longer the time consumed in making a decision. In general, the accuracy of the sensor is fixed and cannot be changed; the resolution of the map can be set according to actual requirements, but is generally not higher than the measurement error of the sensor. See the example shown in fig. 2 in connection with a grid map populated with multi-sensor data, wherein the grid map comprises: an unknown region 20 (shaded region in the figure), an obstacle region 21 (white region in the figure), an obstacle expanded region 22 (gray region in the figure), and an empty region 23 (black region in the figure).
In general, due to different robot platforms, the requirements for the map are various, and for the built map, the map optimization correction is also required to be performed. Ways to optimize corrections include, but are not limited to: noise reduction, smoothing, straightening, map direction correction and the like.
Preferably, the establishing a world coordinate system based on the reference point and the establishing a world map based on the world coordinate system comprise at least one of: responding to the operation of the user for operating the robot to move in the target area until the construction of the world map is completed; when the robot autonomously moves in the target area to build a map until the construction of the world map is completed; when the robot tracks a preset specific mark or a mobile object to move and construct a map until the construction of the world map is completed; and responding to cloud operation, and building a map when one or more robots move in the target area until the construction of the world map is completed. That is, the establishment of the world coordinate system based on the reference point and the construction of the world map based on the world coordinate system may be implemented in any one of the above manners, any combination of two manners, or a combination of four manners.
In a preferred implementation, the robot mapping operation may be performed in at least one of the following ways:
1. responding to the operation of the user for operating the robot to move in the target area until the construction of the world map is completed; for example, using remote control, hand grip, direct push, etc., the robot is moved within the target area until the mapping is complete. Or, the robot tracks a specified target (for example, a user) to complete scanning and mapping of the working environment, and the method is suitable for human-machine mixed operation and cross-species robot mixed operation scenes.
2. The robot self-mapping mode is as follows: and the robot autonomously moves in the target area until the mapping is completed. The method specifically comprises the following steps: (1) starting the robot; (2) the robot scans the surrounding environment; (3) the robot finds a target point near the nearest unknown area; (4) the robot reaches a target point through navigation and then returns to the step (2) to continue execution; (5) and (4) completing mapping until the target point cannot be found in the step (3).
3. Target object guidance: the robot can scan and map the surrounding environment by tracking the specific mark or characteristic (such as a plane marking board and the like) by placing the specific mark with directivity in the working scene of the robot (such as a two-dimensional code and the like) or setting the specific object characteristic for the robot (such as a plane marking board and the like).
4. Cloud control: when one or more robots move in the target area, a graph is built, and the robots are remotely/centrally controlled through a cloud. The robot cluster management can be realized, and the robot cluster management system is suitable for a scene of multi-machine collaborative work mapping in a large field.
It should be noted that, any one of the above modes, any two of the above modes, any three of the above modes, and any combination of the above modes may be used to construct the diagram.
The mapping content may be various information that different robots need to scan and record for use in mapping according to specific working environment and use. For example: the system comprises robot track information, scene obstacle information, robot business operation information, environment characteristic information, semantic identification information, falling information and the like.
Preferably, determining the robot working range may comprise at least one of:
responding to the operation of controlling the movement of the robot by a user, and taking the range enclosed by the grids corresponding to the movement track of the robot as the operation range;
responding to the setting operation of a user on the map through a human-computer interaction interface, and taking the range surrounded by the route set by the user as the operation range;
after the robot autonomously moves in the target area to complete the construction of the grid map, searching an idle area connected with a starting point in the grid map, and storing the position information of the idle area into a first list; traversing the first list, performing N-layer expansion on positions corresponding to the position information in the first list to a non-idle area, determining a grid of an Nth layer as an outermost grid of a robot working range, traversing the grid map, and storing the position information of all the outermost grids into a second list, wherein N is a boundary depth, and is determined by a positioning error, a mapping error and robot related information;
the robot defines the working range on the grid map based on a predetermined marker or predetermined feature information.
That is, the robot working range may be determined by any one of the above-described modes, a combination of any two of the above-described modes, a combination of any three of the above-described modes, or a combination of four modes.
In a preferred implementation process, when a range surrounded by a route set by a user is used as the work range in response to a setting operation of the user on the map through a human-computer interaction interface, the map (for example, a grid map) needs to be acquired first. If no map is constructed at present, the method for acquiring the map comprises the following steps: and constructing the map by adopting the map construction mode. Of course, if there is already a constructed map, the manner of obtaining the map includes: and directly importing the constructed map. Namely, the robot can directly use the constructed map without reconstructing the map. For example, in one scene, a plurality of robots are provided, only one of the robots needs to build a map, and other robots can share the map data; or, the same robot needs to work in multiple scenes, and the robot can store the map after completing map building in one scene for the next use. In addition, when the multi-machine cluster works, all robots can share a map with each other; the map built by each robot can also be uploaded to the cloud end, the uploaded maps are combined in the background of the cloud end, and then the combined map is distributed to the robot cluster.
In addition, the robot generally works in a limited space range, and the working range of the robot needs to be determined. Specifically, the robot working range may be determined in at least one of the following ways:
the first method is as follows: responding to the operation of controlling the movement of the robot by a user, and taking the range enclosed by the grids corresponding to the movement track of the robot as the operation range; for example, the user guides the robot to make a round of movement along the boundary of the designated area, and the range surrounded by the grid corresponding to the trajectory of the robot is used as the working range, and the robot is not allowed to exceed the movement trajectory in the subsequent working process. The working range marked by the method has certain limitation, and some areas which cannot be accessed by the robot cannot be included in the working range of the robot.
The second method comprises the following steps: responding to the setting operation of a user on the map through a human-computer interaction interface, and taking the range surrounded by the route set by the user as the operation range; for example, after the robot completes the autonomous map building in the known closed area, the boundary is manually drawn on the map through a human-computer interaction interface. This way the boundary can be flexibly defined.
The third method comprises the following steps: and after the robot completes the automatic drawing construction in the known closed area, the operation range is determined automatically. The drawn range is comprehensive, and the working range of the robot can be drawn to the maximum extent. The method specifically comprises the following steps:
step 1: and (3) automatically constructing a map by adopting the map constructing mode, and completing the construction of a grid map (hereinafter expressed by WorldMap).
Step 2: autonomously determining the side working range:
(1) the areas that the robot can reach are looked up in WorldMap and stored in ilist.
(2) The boundary depth N (number of grids) is determined. Wherein N1 is the sum of the maximum error of mapping and the maximum error of robot positioning; n2 is the radius of the robot body; n3 is the control error of the robot. The value of N may be determined by: the sum of N1, N2, N3 was converted to the number of grids and added by 1.
(3) Traversing ilist1, performing N-layer expansion on the coordinates in ilist1 to a non-Free area (non-Free area), and marking the grid value of the Nth layer as FlgSide 1.
(4) Traverse WorldMap, store the grid coordinates of FlgSide1 into tlist 1. The data in Tlist1 is the data of the above-described boundary.
The method is as follows: and setting a special mark in the working environment of the robot or setting a specific natural characteristic for the robot, and defining the working range in the grid map by the robot according to the marker or the preset characteristic information.
The robot working range may be determined by any one of the above-described modes, any two of the modes, any three of the modes, or any four of the modes. For example, after the robot completes the autonomous map building and autonomously determines the boundary, the setting operation of the user on the map through the human-computer interaction interface may be responded, and the boundary information may be adjusted.
Preferably, after the grid map is constructed based on the world coordinate system and the world map, at least one of the following may be further included:
responding to the forbidden zone setting operation of a user, and setting a forbidden zone for forbidding the robot to enter in the grid map;
responding to the virtual wall setting operation of a user, and setting a virtual wall for forbidding the robot to pass on the grid map;
responding to the setting operation of a core (key) coverage area of a user, and setting an area needing the robot to realize full coverage of operation or multiple times of coverage in the grid map;
responding to the neglected covering area setting operation of a user, and setting an area which needs the robot to pass but does not need to realize the covering in the grid map;
responding to the setting operation of a user safety coverage area, and setting an area which needs to keep a preset safety distance with an obstacle when the robot passes in the grid map; that is, the robot is not allowed to approach an obstacle too close to the obstacle during the operation in the area, and the robot is kept at a set safe distance.
And setting the specific area according to the area attribute information in the grid map in response to the setting operation of the specific area by the user. For example, a carpet area, a depressed area, a raised area, a height-limiting area, a width-limiting area, a weight-limiting area, a silent area, a dry area, a water-accumulating area, an uneven pavement area, a dark area, a highlight area, a static object area, a dynamic object area; when the robot passes through the areas, the working mode is adjusted according to the set area attributes.
Preferably, the determining the first path of the robot operation within the operation range of the robot according to the predetermined route or the predetermined position may include one of the following modes:
the first method is as follows: and determining a route formed by the outermost grid of the robot working range as a first path of the robot working.
In a preferred implementation, the robot moves along the route formed by the outermost grid in the working range in a set direction, turns to move along the obstacle when encountering the obstacle, and turns to move along the boundary when returning to the route formed by the outermost grid in the working range again until the robot moves to the historical path.
The second method comprises the following steps: and forming a route by using the current position of the robot as a center and the minimum turning radius of the robot as a radius, and using the route as a first path for the robot to work.
In a preferred implementation process, a circular edge formed by taking the current position of the robot as a center and taking the minimum turning radius of the robot as a radius is taken as a first path. The robot can advance in the current direction, after the robot moves to the edge of the circle, the direction of the robot is adjusted to be tangential to the circle, and then the robot moves forward. If the robot finds the obstacle in the process of traveling, the robot is switched to advance along the boundary of the obstacle until the robot walks to the historical path.
The third method comprises the following steps: and forming a route by taking the current position of the robot as a starting point and the minimum turning radius of the robot as a radius, and taking the route as a first path for the robot to work.
In a preferred implementation process, a current position of the robot is taken as a starting point, a round edge formed by taking the minimum turning radius of the robot as a radius is taken as a first path, and when an obstacle is found in the process of the robot travelling, the robot is converted into a path which advances along the boundary of the obstacle.
The method is as follows: the boundary point of the obstacle closest to the robot is used as a starting point, and a route traveling along the boundary of the obstacle is a first path of the robot work.
In the preferred implementation process, the boundary point of the nearest obstacle of the robot is taken as a starting point, the robot starts to advance along the obstacle, the obstacle nearest to the robot is found firstly, then the robot navigates to the boundary of the obstacle, and the robot advances along the boundary of the obstacle.
The fifth mode is as follows: and determining the boundary of the obstacle or the area to which the robot travels along the current direction, and taking the route traveling along the boundary of the obstacle or the area as a first path of the robot operation.
In a preferred implementation, the robot travels in the current direction until it reaches the boundary of the obstacle or work area and then begins traveling along the boundary of the obstacle or work area.
Preferably, in step S102, in combination with the real-time position, the real-time angle, the predetermined offset angle, and the real-time distance between the robot and the nearest obstacle or the nearest historical path, adjusting the motion posture of the robot so that the robot travels along the path that maintains the predetermined distance from the nearest historical path or the nearest obstacle may further include: determining a preset offset angle of the robot according to the attribute parameters of the robot; determining a reference direction according to the sum of the real-time angle and the preset offset angle; determining the real-time distance from the robot to the nearest barrier or the nearest historical path along the reference direction by taking the real-time position of the robot as a datum point; and adjusting the motion posture of the robot by combining the real-time pose information, the reference direction and the real-time distance of the robot so that the robot travels along a path keeping a preset distance from the latest historical path or the latest obstacle.
In a preferred implementation, the current real-time position of the robot is (x, y), the current real-time angle is yaw, and a desired offset angle dlt is determined (which may be determined based on the robot's attribute information (e.g., shape, structure, etc.). The method comprises the steps of taking the current real-time position (x, y) of the robot as a datum point, taking yaw + dlt as a reference direction dir, searching a covered area or a boundary of an obstacle closest to the current position of the robot, determining a position point on the boundary closest to the current position of the robot, calculating the distance L from the current real-time position of the robot to the position point, and adjusting the motion posture of the robot by combining the current real-time posture (position information and direction information) of the robot according to the reference direction dir to enable the robot to keep a path with a preset distance or enable the nearest obstacle to keep a path with a preset distance to travel. The robot advances along a path keeping a preset distance from a recent historical path or a recent obstacle in a clockwise or counterclockwise direction, and when the robot advances, coverage information needs to be detected in real time, and a coverage area is recorded on a CoverMap until the current adjacent areas are covered areas.
Preferably, in step S102, the searching for a start point again may further include: searching a covered area or the outermost layer of the obstacle closest to the current position of the robot, and determining a position point on the searched outermost layer closest to the current position of the robot; counting the length of the outermost layer of the uncovered region connected with the position points and the area of the uncovered region; and when the length of the outermost layer of the uncovered area is greater than or equal to a preset first threshold value and/or the area of the uncovered area is greater than or equal to a preset second threshold value, determining the position point as the starting point.
In the preferred implementation process, the coverage information is detected in real time in the moving process of the robot, and if the adjacent areas are covered areas, it indicates that the current area is covered, and other uncovered areas need to be searched for operation. Specifically, the boundary of the covered area or the boundary of the obstacle closest to the current position of the robot may be searched, a position point closest to the current position of the robot on the searched boundary may be determined, the length of the boundary of the uncovered area connected to the position point and the area of the uncovered area may be counted, and the position point may be determined as the start point if the length of the boundary of the uncovered area is greater than or equal to a predetermined first threshold and/or the area of the uncovered area is greater than or equal to a predetermined second threshold. That is, when the length of the boundary of the uncovered area is greater than or equal to a predetermined first threshold, determining the position point as the starting point; or when the area of the uncovered area is greater than or equal to a preset second threshold value, determining the position point as the starting point; or, when the length of the boundary of the uncovered area is greater than or equal to a predetermined first threshold and the area of the uncovered area is greater than or equal to a predetermined second threshold, determining the position point as the starting point.
When the length of the boundary of the uncovered area is less than a predetermined first threshold value and the area of the uncovered area is less than a predetermined second threshold value, the starting point needs to be searched again, after the uncovered area and the obstacle above the uncovered area are excluded, the boundary of another covered area or the boundary of another obstacle closest to the current position of the robot is continuously searched, the position point on the searched boundary closest to the current position of the robot is determined, the length of the boundary of the uncovered area connected with the position point and the area of the uncovered area are counted, and if the length of the boundary of the uncovered area is greater than or equal to a predetermined first threshold value and/or the area of the uncovered area is greater than or equal to a predetermined second threshold value, the position point is determined as the starting point. And if the proper starting point cannot be found after multiple searches, the robot operation flow is ended.
Preferably, during the robot operation, at least one of the following processes may be further included:
in the operation process of the robot, when the spatial information of different time points in the same area is changed, the motion control module controls the robot to execute the escaping and difficult decision processing, and under the condition that the robot cannot escape, the robot executes the abnormal declaration processing;
in the working process of the robot, when the spatial information of the same time point in different areas changes, the robot executes corresponding decision processing according to the historical record information and the observation data of the current sensor.
In the preferred implementation process, the prerequisite of the robot decision planning is perception, which can be perceived to be coped with. The degree of intelligence of the robot depends on the perception capabilities. Sensor detection, data sharing of the internet of things, machine learning and state prediction are all sensing capabilities of the robot, but not all robot platforms have the sensing capabilities. When the robot meets the condition beyond the perception capability, the robot can hardly make reasonable and effective response.
In the same place, the change of the spatial information at different time points causes the interruption of the normal working flow of the robot, which cannot make a reasonable decision plan. For example: after the robot enters a room, the door of the room is closed, the robot wants to leave the current room, but the robot cannot know the time when the door is opened next time. The opening and closing states of the door of the room at different time points may be different, and the robot may detect the opening or closing of the door, but the robot may not know the opening and closing state of the door at the next time node. If the robot is required to wait for the door to open in the room, a new problem is introduced: where in the room the robot should wait; whether the robot affects the normal work of other objects (such as other robots) in the room during waiting; whether the robot will be treated as an obstacle by other objects (e.g., other robots); whether the robot needs to change the position during waiting; whether the robot can in time perceive that the door is opened, how the robot knows the time that needs to wait, how to handle the scheduling problem in the robot electric quantity is not enough during waiting, under the circumstances that does not have reasonable reply mode to realize getting rid of poverty, the robot can send out the police dispatch newspaper, waits for manual intervention to avoid letting the robot make decision planning from the time dimension.
At the same time point, the decision planning of the robot also has certain limitations due to the change of different spatial information. Under the influence of the detection range of the sensor, the perception of the robot to the space environment is limited, only the change of the local environment can be detected, and for the change of the environment beyond the perception range of the robot, the robot can only make decision planning according to historical information. When the robot executes the decision task, the decision plan can be adjusted in real time according to the current perception information. For example, a new obstacle is detected on the planned path, the robot may attempt to circumvent the obstacle, and when it is found that the obstacle cannot be circumvented, the path is re-planned.
Preferably, the method further comprises: after the robot completes all the tasks (for example, the coverage path cannot be regenerated, the omission path cannot be regenerated, and all the tasks can be considered to be completed), the robot task coverage area is counted to obtain the area of the actual task coverage area of the robot, and the task coverage rate of the robot is calculated according to the area of the actual task coverage area and the area of the predetermined robot task range.
Preferably, the method further comprises: executing path planning operation at the position of the robot when the robot finishes all operations, and planning to obtain a path of the robot returning to the charging pile position, the initialization object position or the robot operation starting position; the robot returns to the charging pile position, the initialization object position or the robot operation starting position according to the planned path, and sends currently stored map information, area information of an actual operation coverage area and robot operation related information (such as robot operation state information, operation duration information, consumable information and the like) to local or cloud backup.
According to the embodiment of the invention, the invention further provides a robot path planning device.
Fig. 3 is a block diagram of a robot path dynamic planning apparatus according to an embodiment of the present invention. As shown in fig. 3, the robot path planning apparatus includes: a determining module 30, configured to determine a first path of the robot operation within an operation range of the robot according to a predetermined route or a predetermined position; a sending module 32, configured to send information of the first path to a motion control module of the robot, so that the motion control module controls the robot to track the first path; and the dynamic planning module 34 is configured to adjust a motion posture of the robot so that the robot travels along a path that maintains a predetermined distance from the nearest historical path or the nearest obstacle in combination with a real-time position, a real-time angle, a predetermined offset angle of the robot and a real-time distance between the robot and the nearest obstacle or the nearest historical path, detect coverage information in real time during the travel of the robot, re-search for a starting point if adjacent areas are covered areas, control the robot to navigate to the searched starting point, and execute the step in a loop until the robot cannot find a new starting point.
The device shown in fig. 3 is adopted to provide a new area coverage dynamic planning path scheme, the determining module 30 determines a first path of the robot operation within the operation range of the robot according to a predetermined route or a predetermined position, the dynamic planning module 34 adjusts the motion posture of the robot so that the robot travels along a path keeping a predetermined distance from the recent historical path or the recent obstacle in combination with the real-time position, the real-time angle, the predetermined offset angle of the robot and the real-time distance between the robot and the recent obstacle or the recent historical path, until all detected adjacent areas are covered areas, searches the starting point again, controls the robot to navigate to the searched starting point, and executes the step in a circulating manner until the robot cannot find a new starting point, and the operation flow is finished. By adopting the path planning method, the problems of low stability, low working efficiency and the like of the robot caused by an area coverage planning mode in the related technology are solved, and the stability and the working efficiency of the robot are improved. And the path of the robot can be dynamically planned and adjusted according to the real-time information, so that the method is suitable for complex scenes with more dynamic obstacles in the working environment.
It should be noted that, in the above apparatus, the preferred embodiments of each module and each unit may refer to the descriptions of fig. 1 to fig. 2, and are not described herein again.
According to the embodiment of the invention, the invention further provides the robot.
Fig. 4 is a block diagram of a robot according to an embodiment of the present invention. As shown in fig. 4, the robot according to the present invention includes: a memory 40 and a processor 42, the memory 40 being used for storing computer execution instructions; the processor 42 is configured to execute the computer-executable instructions stored in the memory, so that the robot performs the method for dynamically planning the path of the robot according to the embodiment.
Processor 42 may be a Central Processing Unit (CPU). The Processor 52 may also be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any combination thereof.
The memory 40, which is a non-transitory computer-readable storage medium, may be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as program instructions/modules corresponding to the robot repositioning method in embodiments of the present invention. The processor executes various functional applications and data processing of the processor by executing non-transitory software programs, instructions, and modules stored in the memory.
The memory 40 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created by the processor, and the like. Further, the memory may include high speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, memory 40 optionally includes memory located remotely from the processor, which may be connected to the processor via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The one or more modules are stored in the memory 40, and when executed by the processor 42, perform a method for dynamically planning a robot path according to the embodiment shown in fig. 1 to 2.
The details of the robot may be understood by referring to the corresponding descriptions and effects in the embodiments shown in fig. 1 to fig. 2, and are not described herein again.
To sum up, with the above embodiments provided by the present invention, a new area coverage dynamic planning path scheme is provided, where a first path of the robot operation is determined in an operation range of the robot according to a predetermined route or a predetermined position, a motion posture of the robot is adjusted so that the robot travels along a path that maintains a predetermined distance from a recent historical path or a recent obstacle in combination with a real-time position, a real-time angle, a predetermined offset angle of the robot and a real-time distance between the robot and the recent obstacle or the recent historical path, until detected adjacent areas are covered areas, a starting point is searched again, the robot is controlled to navigate to the searched starting point, and this step is executed in a loop until the robot cannot find a new starting point, and an operation flow is ended. The route planned by the scheme provided by the embodiment of the invention has better smoothness and high operation coverage efficiency, solves the problems of low stability, low working efficiency and the like of the robot caused by an area coverage planning mode in the related technology, and improves the stability and the working efficiency of the robot. The scheme is not restricted by the turning radius of the robot and can be suitable for various mobile robot platforms. The scheme can dynamically plan and adjust the path of the robot according to the real-time information, and is suitable for complex scenes with more dynamic obstacles in the working environment.
The above disclosure is only for a few specific embodiments of the present invention, but the present invention is not limited thereto, and any variations that can be made by those skilled in the art are intended to fall within the scope of the present invention.
Claims (14)
1. A robot path dynamic planning method is characterized by comprising the following steps:
determining a first path of the robot operation in the operation range of the robot according to a preset route or a preset position, and sending the information of the first path to a motion control module of the robot so that the motion control module controls the robot to track the first path;
and adjusting the motion posture of the robot by combining the real-time position, the real-time angle, the preset offset angle of the robot and the real-time distance between the robot and the nearest barrier or the nearest historical path, so that the robot travels along the path keeping the preset distance from the nearest historical path or the nearest barrier, detecting coverage information in real time in the traveling process of the robot, if adjacent areas are covered areas, searching the starting point again, controlling the robot to navigate to the searched starting point, and executing the step in a circulating manner until the robot cannot find a new starting point.
2. The method of claim 1,
according to the preset route or the preset position, before determining the first path of the robot operation in the operation range of the robot, the method further comprises the following steps: newly building a coverage area map for storing the information of the covered area;
when the motion control module controls the robot to track the first path or adjusts the motion posture of the robot so that the robot travels along a path keeping a predetermined distance from the latest historical path or the latest obstacle, the method further comprises the following steps: and storing the information of the covered area of the current operation of the robot into the covered area map in real time.
3. The method of claim 1, wherein prior to determining the first path of the robot operation within the operation range of the robot based on the predetermined route or the predetermined position, further comprising:
establishing a world coordinate system based on a reference point, and constructing a world map based on the world coordinate system, wherein the reference point comprises: the method comprises the following steps of (1) charging pile position, initialization object position and robot operation starting position;
constructing a grid map based on the world coordinate system and the world map, wherein the grid map comprises: unknown region information, obstacle expansion region information, and free region information;
and determining the working range of the robot.
4. The method of claim 3, wherein establishing a world coordinate system based on the reference point and constructing a world map based on the world coordinate system comprises at least one of:
responding to the operation of moving the robot in the target area by the user until the construction of the world map is completed;
when the robot autonomously moves in the target area to build a map until the world map is built;
when the robot tracks a preset specific mark or a mobile object to move to build a map until the construction of the world map is completed;
and responding to cloud operation, and building a map when one or more robots move in the target area until the world map is built.
5. The method of claim 3, wherein determining the working range of the robot comprises at least one of:
responding to the operation of a user for controlling the movement of the robot, and taking a range surrounded by grids corresponding to the movement track of the robot as the working range;
responding to the setting operation of a user on the map through a human-computer interaction interface, and taking the range surrounded by the route set by the user as the operation range;
after the robot autonomously moves in the target area to complete the construction of the grid map, searching an idle area connected with a starting point in the grid map, and storing the position information of the idle area into a first list; traversing the first list, performing N-layer expansion on a position corresponding to the position information in the first list to a non-idle area, determining the grid of the Nth layer as the outermost grid of the robot working range, traversing the grid map, and storing the position information of all the outermost grids into a second list, wherein N is the boundary depth, and is determined by positioning error, mapping error and robot correlation information;
and the robot demarcates the operation range in the grid map according to a preset marker or preset characteristic information.
6. The method of claim 3, further comprising, after constructing a grid map based on the world coordinate system and the world map, at least one of:
responding to a forbidden zone setting operation of a user, and setting a forbidden zone for forbidding the robot to enter in the grid map;
responding to the virtual wall setting operation of a user, and setting a virtual wall for forbidding the robot to pass through on the grid map;
responding to the setting operation of a core coverage area of a user, and setting an area needing the robot to realize full coverage of operation or multiple times of coverage in the grid map;
responding to the neglected covering area setting operation of a user, and setting an area which needs the robot to pass but does not need to realize the covering in the grid map;
responding to a user safety coverage area setting operation, and setting an area which needs to keep a preset safety distance with an obstacle when the robot passes in the grid map;
and responding to the setting operation of the user on the specific area, and setting the specific area in the grid map according to the area attribute information.
7. The method according to claim 1, wherein determining a first path of the robot work within the working range of the robot according to a predetermined route or a predetermined position comprises one of:
determining a route composed of the outermost grid of the robot working range as a first path of the robot working;
forming a route by taking the current position of the robot as a center and the minimum turning radius of the robot as a radius, and taking the route as a first path for the operation of the robot;
forming a route by taking the current position of the robot as a starting point and the minimum turning radius of the robot as a radius, and taking the route as a first path for the operation of the robot;
taking a boundary point of an obstacle closest to the robot as a starting point, and taking a route which is traveled along the boundary of the obstacle as a first path for the robot to work;
and determining an obstacle to which the robot travels in the current direction or the outermost layer of the working range, and taking a route along the obstacle or the outermost layer of the working range as a first path for the robot to work.
8. The method of claim 1, wherein adjusting the kinematic pose of the robot such that the robot travels along a path that maintains a predetermined distance from the recent historical path or the recent obstacle in combination with the real-time position, the real-time angle, the predetermined offset angle, and the real-time distance of the robot from the recent obstacle or the recent historical path comprises:
determining a preset offset angle of the robot according to the attribute parameters of the robot;
determining a reference direction according to the sum of the real-time angle and the preset offset angle;
determining the real-time distance from the robot to the nearest obstacle or the nearest historical path along the reference direction by taking the real-time position of the robot as a datum point;
and adjusting the motion posture of the robot by combining the real-time pose information, the reference direction and the real-time distance of the robot so that the robot travels along a path keeping a preset distance from the nearest historical path or the nearest obstacle.
9. The method of claim 1, wherein the re-searching for a starting point comprises:
searching a covered area or the outermost layer of the obstacle closest to the current position of the robot, and determining a position point on the searched outermost layer closest to the current position of the robot;
counting the length of the outermost layer of the uncovered region connected with the position point and the area of the uncovered region;
and when the length of the outermost layer of the uncovered area is greater than or equal to a preset first threshold value, and/or the area of the uncovered area is greater than or equal to a preset second threshold value, determining the position point as the starting point.
10. The method of any one of claims 1 to 9, further comprising at least one of:
in the operation process of the robot, when the spatial information of different time points in the same area is changed, the motion control module controls the robot to execute the escaping decision processing, and under the condition that the robot cannot escape, the robot executes the abnormity declaration processing;
in the operation process of the robot, when the spatial information of the same time point in different areas changes, the robot executes corresponding decision processing according to the historical record information and the observation data of the current sensor.
11. The method of any one of claims 1 to 9, further comprising:
and after the robot tracks all the planned paths to complete all the operations, counting the operation coverage area of the robot to obtain the area of the actual operation coverage area of the robot, and calculating the operation coverage rate of the robot according to the area of the actual operation coverage area and the area of the predetermined operation range of the robot.
12. The method of any one of claims 1 to 9, further comprising:
executing path planning operation at the position of the robot when the robot finishes all operations, and planning to obtain a path of the robot returning to a charging pile position, an initialization object position or a robot operation starting position;
and the robot returns to the charging pile position, the initialization object position or the robot operation starting position according to the planned path, and sends the currently stored map information, the area information of the actual operation coverage area and the robot operation associated information to a local or cloud backup.
13. A robot path dynamic planning device is characterized by comprising:
the determining module is used for determining a first path of the robot operation within the operation range of the robot according to a preset route or a preset position;
the sending module is used for sending the information of the first path to a motion control module of the robot so that the motion control module controls the robot to track the first path;
and the dynamic planning module is used for adjusting the motion posture of the robot by combining the real-time position, the real-time angle and the preset offset angle of the robot and the real-time distance between the robot and the nearest barrier or the nearest historical path so that the robot travels along the path keeping the preset distance from the nearest historical path or the nearest barrier, detecting the coverage information in real time in the traveling process of the robot, if adjacent areas are covered areas, searching the starting point again, controlling the robot to navigate to the searched starting point, and executing the step in a circulating manner until the robot cannot find a new starting point.
14. A robot, comprising: a memory and a processor, wherein the memory and the processor,
the memory is used for storing computer execution instructions;
the processor to execute the memory-stored computer-executable instructions to cause the robot to perform the method of any of claims 1-12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210374453.5A CN114610042A (en) | 2022-04-11 | 2022-04-11 | Robot path dynamic planning method and device and robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210374453.5A CN114610042A (en) | 2022-04-11 | 2022-04-11 | Robot path dynamic planning method and device and robot |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610042A true CN114610042A (en) | 2022-06-10 |
Family
ID=81869594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210374453.5A Pending CN114610042A (en) | 2022-04-11 | 2022-04-11 | Robot path dynamic planning method and device and robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610042A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117268401A (en) * | 2023-11-16 | 2023-12-22 | 广东碧然美景观艺术有限公司 | Gardening path generation method of dynamic fence |
CN118131781A (en) * | 2024-05-10 | 2024-06-04 | 中国特种设备检测研究院 | Method and device for tracking invisible environment path of storage tank bottom plate in oil detection robot |
-
2022
- 2022-04-11 CN CN202210374453.5A patent/CN114610042A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117268401A (en) * | 2023-11-16 | 2023-12-22 | 广东碧然美景观艺术有限公司 | Gardening path generation method of dynamic fence |
CN117268401B (en) * | 2023-11-16 | 2024-02-20 | 广东碧然美景观艺术有限公司 | Gardening path generation method of dynamic fence |
CN118131781A (en) * | 2024-05-10 | 2024-06-04 | 中国特种设备检测研究院 | Method and device for tracking invisible environment path of storage tank bottom plate in oil detection robot |
CN118131781B (en) * | 2024-05-10 | 2024-07-09 | 中国特种设备检测研究院 | Method and device for tracking invisible environment path of storage tank bottom plate in oil detection robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113110457B (en) | Autonomous coverage inspection method for intelligent robot in indoor complex dynamic environment | |
KR102478975B1 (en) | Robot navigation using 2d and 3d path planning | |
CN108983777B (en) | Autonomous exploration and obstacle avoidance method based on self-adaptive front exploration target point selection | |
US10705528B2 (en) | Autonomous visual navigation | |
CN110023867B (en) | System and method for robotic mapping | |
CN108931983B (en) | Map construction method and robot thereof | |
CN112000754B (en) | Map construction method, device, storage medium and computer equipment | |
EP3525992B1 (en) | Mobile robot and robotic system comprising a server and the robot | |
CN114610042A (en) | Robot path dynamic planning method and device and robot | |
CN115494834A (en) | Robot path planning method and device and robot | |
CN114911228A (en) | Robot path planning method and device and robot | |
CN106774347A (en) | Robot path planning method, device and robot under indoor dynamic environment | |
Costante et al. | Exploiting photometric information for planning under uncertainty | |
CN108628318B (en) | Congestion environment detection method and device, robot and storage medium | |
Davis et al. | C-opt: Coverage-aware trajectory optimization under uncertainty | |
WO2021037071A1 (en) | Flight control method and related apparatus | |
Kaufman et al. | Autonomous exploration by expected information gain from probabilistic occupancy grid mapping | |
CN111609853A (en) | Three-dimensional map construction method, sweeping robot and electronic equipment | |
CN115981305A (en) | Robot path planning and control method and device and robot | |
CN114460939A (en) | Intelligent walking robot autonomous navigation improvement method under complex environment | |
Zhao et al. | Complete coverage path planning scheme for autonomous navigation ROS-based robots | |
Sharma et al. | A virtual bug planning technique for 2D robot path planning | |
CN114812539B (en) | Map searching method, map using method, map searching device, map using device, robot and storage medium | |
CN116149314A (en) | Robot full-coverage operation method and device and robot | |
CN114815791A (en) | Method and device for planning travelable space |
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 |