Map exploration method and device, computer readable storage medium and robot
By selecting the unblocked contour representative points with the longest distance from the robot in robot map exploration and conducting map exploration, the problem of low exploration efficiency when more areas to be explored in the existing technology is solved, and more efficient map exploration is achieved.
Patent Information
- Application Number
- CN202310965770.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-01
- Publication Date
- 2025-02-14
AI Technical Summary
The map exploration method in the prior art has poor exploration efficiency when there are multiple areas to be explored.
By determining the contour representative points of each contour to be explored separately, select the unblocked contour representative point with the longest distance from the robot as the first contour representative point, and search for its corresponding first exploration representative point. If found, control the robot to move to This point is explored on map.
The efficiency of map exploration is improved, and the exploration time of unknown areas is reduced by selecting long-distance contour representative points and completing close-range explorations over the distance.
Smart Images

Figure CN119439977A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and in particular, relates to a map exploration method, device, computer-readable storage medium, and robot. Background Art
[0002] With the development of science and technology, robots have been widely used in all walks of life. When in use, robots can perform various tasks to help people reduce their burden. Usually, robots will perform map exploration and build maps when performing tasks or before performing tasks. However, the map exploration method in the prior art has poor exploration efficiency when there are multiple areas to be explored. Summary of the invention
[0003] In view of this, the embodiments of the present application provide a map exploration method, device, computer-readable storage medium and robot to solve the problem of poor exploration efficiency of the map exploration method in the prior art when there are multiple areas to be explored.
[0004] A first aspect of an embodiment of the present application provides a map exploration method, which may include:
[0005] Determine the contour representative points of each contour to be explored respectively;
[0006] When there is an unobstructed contour representative point, the unobstructed contour representative point with the longest distance from the robot is selected as the first contour representative point; wherein the unobstructed contour representative point is a contour representative point on the line connecting the unobstructed contour representative point and the robot without any obstacles;
[0007] Searching for a first exploration representative point corresponding to the first contour representative point;
[0008] If the first exploration representative point is found, the robot is controlled to move to the first exploration representative point to perform map exploration.
[0009] In a specific implementation of the first aspect, after respectively determining the contour representative points of each contour to be explored, the method may further include:
[0010] When the unobstructed contour representative point does not exist, respectively calculating the distance between the robot and the room corresponding to each contour to be explored;
[0011] Select the room with the smallest distance from the robot as the target room;
[0012] Selecting the deepest contour representative point in the target room as the target room contour representative point;
[0013] Searching for a target room exploration representative point corresponding to the target room contour representative point;
[0014] If the target room exploration representative point is found, the robot is controlled to move to the target room exploration representative point to perform map exploration.
[0015] In a specific implementation of the first aspect, after controlling the robot to move to the target room exploration representative point to perform map exploration, the method may further include:
[0016] When there is no unexplored room, each to-be-explored outline in the room is explored in turn in a clockwise or counterclockwise order.
[0017] In a specific implementation of the first aspect, searching for the target room exploration representative point corresponding to the target room outline representative point may include:
[0018] Moving the target room outline representative point to a first passable area to obtain a target room outline offset point; wherein the first passable area is a known area determined by a preset first path width;
[0019] If the target room outline offset point meets a preset explorable condition, the target room outline offset point is determined as the target room exploration representative point.
[0020] In a specific implementation of the first aspect, respectively calculating the distance between the robot and the room corresponding to each to-be-explored contour may include:
[0021] For any room, the distance between the door of the room and the robot is taken as the distance between the room and the robot.
[0022] In a specific implementation of the first aspect, respectively calculating the distance between the robot and the room corresponding to each to-be-explored contour may include:
[0023] For any room, the distance between the deepest contour representative point in the room and the robot is taken as the distance between the room and the robot.
[0024] In a specific implementation of the first aspect, before selecting the deepest contour representative point in the target room as the target room contour representative point, the method may further include:
[0025] For any contour representative point in the target room, the distance between the contour representative point and the door of the target room is used as the depth of the contour representative point.
[0026] A second aspect of an embodiment of the present application provides a map exploration device, which may include:
[0027] A contour representative point determination module is used to respectively determine the contour representative points of each contour to be explored;
[0028] A contour representative point selection module, for selecting, when there is an unobstructed contour representative point, the unobstructed contour representative point with the longest distance from the robot as the first contour representative point; wherein the unobstructed contour representative point is a contour representative point on a line connecting the robot and having no obstacles;
[0029] An exploration representative point search module, used to search for a first exploration representative point corresponding to the first contour representative point;
[0030] The exploration representative point exploration module is used to control the robot to move to the first exploration representative point to perform map exploration if the first exploration representative point is searched.
[0031] In a specific implementation of the second aspect, the map exploration device may further include:
[0032] A distance calculation module, used for respectively calculating the distance between the robot and the room corresponding to each contour to be explored when the unobstructed contour representative point does not exist;
[0033] A target room selection module, used to select the room with the smallest distance from the robot as the target room;
[0034] A room outline representative point selection module, used to select the deepest outline representative point in the target room as the target room outline representative point;
[0035] A room exploration representative point search module, used to search for a target room exploration representative point corresponding to the target room outline representative point;
[0036] The room exploration representative point exploration module is used to control the robot to move to the target room exploration representative point for map exploration if the target room exploration representative point is found.
[0037] In a specific implementation of the second aspect, the map exploration device may further include:
[0038] The sequential exploration module is used to sequentially explore each to-be-explored outline in the room in a clockwise or counterclockwise order when there is no unexplored room.
[0039] In a specific implementation of the second aspect, the room exploration representative point search module may include:
[0040] A representative point moving unit, used to move the target room outline representative point to a first passable area to obtain a target room outline offset point; wherein the first passable area is a known area determined by a preset first path width;
[0041] The representative point determination unit is used to determine the target room outline offset point as the target room exploration representative point if the target room outline offset point meets a preset explorable condition.
[0042] In a specific implementation of the second aspect, the distance calculation module may further include:
[0043] The first distance determination unit is used for, for any room, taking the distance between the door of the room and the robot as the distance between the room and the robot.
[0044] In a specific implementation of the second aspect, the distance calculation module may further include:
[0045] The second distance determination unit is used to, for any room, use the distance between the deepest contour representative point in the room and the robot as the distance between the room and the robot.
[0046] In a specific implementation of the second aspect, the room outline representative point selection module may further include:
[0047] The depth determination unit is used to use, for any contour representative point in the target room, the distance between the contour representative point and the door of the target room as the depth of the contour representative point.
[0048] A third aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above-mentioned map exploration methods are implemented.
[0049] A fourth aspect of an embodiment of the present application provides a robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned map exploration methods when executing the computer program.
[0050] A fifth aspect of an embodiment of the present application provides a computer program product, which, when executed on a robot, enables the robot to execute the steps of any one of the above-mentioned map exploration methods.
[0051] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application respectively determine the contour representative points of each contour to be explored; when there is an unobstructed contour representative point, select the unobstructed contour representative point with the longest distance from the robot as the first contour representative point; wherein the unobstructed contour representative point is a contour representative point on the line connecting the robot without obstacles; search for the first exploration representative point corresponding to the first contour representative point; if the first exploration representative point is searched, control the robot to move to the first exploration representative point for map exploration. Through the embodiments of the present application, the contour representative point with the longest distance from the robot can be selected, and the exploration representative point corresponding to the contour representative point can be explored on the map, so that in the process of exploring the long-distance exploration representative point, the exploration of the short-distance exploration representative point may be completed, which helps to improve the efficiency of map exploration. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0053] Figure 1 This is a flow chart of an embodiment of a map exploration method in an embodiment of the present application;
[0054] Figure 2 It is a schematic diagram of a known area in the shape of a ray;
[0055] Figure 3 A first schematic diagram of the search process for exploring representative points;
[0056] Figure 4 A second schematic diagram of the search process for exploring representative points;
[0057] Figure 5 A third schematic diagram of the search process for exploring representative points;
[0058] Figure 6 is a schematic diagram of a dynamic obstacle;
[0059] Figure 7 This is the first schematic diagram of the map exploration process;
[0060] Figure 8 This is the second schematic diagram of the map exploration process;
[0061] Fig. 9 This is the third schematic diagram of the map exploration process;
[0062] Fig.10 A schematic diagram of the map;
[0063] Fig.11 This is a structural diagram of an embodiment of a map exploration device in an embodiment of the present application;
[0064] Fig.12 This is a schematic block diagram of a robot in an embodiment of the present application. DETAILED DESCRIPTION
[0065] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0066] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0067] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0068] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0069] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0070] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0071] With the development of science and technology, robots have been widely used in all walks of life. When in use, robots can perform various tasks to help people reduce their burden. Usually, robots will perform map exploration and build maps when performing tasks or before performing tasks. However, the map exploration method in the prior art has poor exploration efficiency when there are multiple areas to be explored.
[0072] In view of this, the embodiments of the present application provide a map exploration method, device, computer-readable storage medium and robot to solve the problem of poor exploration efficiency of the map exploration method in the prior art when there are multiple areas to be explored.
[0073] It should be noted that the executor of the method of the present application is a robot, specifically, it may include but is not limited to sweepers, scrubbers, inspection robots, guide robots, food delivery robots and other common robots in the prior art.
[0074] See also Figure 1 , an embodiment of a map exploration method in the embodiment of the present application may include:
[0075] Step S101: Determine the contour representative points of each contour to be explored.
[0076] The contour to be explored is a boundary contour between an unknown area and a first traversable area; and the first traversable area is a known area determined by a preset first path width.
[0077] In the embodiment of the present application, the first path width can be preferably set to the robot body width, based on which the passable area of the robot body can be screened out, and the inaccessible area of the robot body can be filtered out, for example, the known area whose entrance width is less than the body width, the gap whose width is less than the body width, and other inaccessible areas of the body can be filtered out. Afterwards, the boundary contour of the unknown area and the first passable area can be confirmed as the contour to be explored.
[0078] In a specific implementation of the embodiment of the present application, before determining the contour to be explored, the ray-shaped known area detected by the laser radar can be filtered out; wherein the ray-shaped known area can be a known area with a width less than a preset area width threshold and a length greater than a preset area length threshold. For example, refer to Figure 2 , a ray-shaped known area A leaks out between the walls, and the width of the known area A is less than the area width threshold, and the length of the known area A is greater than the area length threshold, so the known area A can be filtered out to reduce interference with subsequent map exploration.
[0079] After obtaining the contour to be explored, a contour representative point of the contour to be explored may be selected, wherein the contour representative point of the contour to be explored is located on the contour to be explored. Specifically, any point on the contour to be explored may be selected as the contour representative point of the contour to be explored.
[0080] In a specific implementation of the embodiment of the present application, a point with the smallest distance from the robot may be selected between the midpoint and two end points of the contour to be explored as a contour representative point of the contour to be explored.
[0081] In another specific implementation manner of the embodiment of the present application, the midpoint of the contour to be explored may be preferably selected as the contour representative point of the contour to be explored.
[0082] Step S102: When there is an unobstructed contour representative point, select the unobstructed contour representative point with the longest distance to the robot as the first contour representative point.
[0083] The unobstructed contour representative point is a contour representative point on the line connecting the robot where no obstacles exist.
[0084] In a specific implementation method of an embodiment of the present application, the contour representative points can be sorted in ascending order according to the number of obstacles passed through the line connecting the robot to obtain an ascending sorting result. If there is no obstacle on the connecting line between the contour representative point with the highest priority and the robot in the ascending sorting result, the contour representative point can be determined as an unobstructed contour representative point; thereafter, the unobstructed contour representative points can be sorted in descending order according to the distance between the robot to obtain a descending sorting result, and the unobstructed contour representative point with the highest priority in the descending sorting result can be selected as the first contour representative point.
[0085] It should be understood that the embodiment of the present application uses the unobstructed contour representative point with the longest distance from the robot as the first contour representative point. As a result, the robot can, while exploring the distant unknown areas, conduct map exploration of the nearby unknown areas that can be explored along the way, which helps to improve the efficiency of map exploration.
[0086] Step S103: Search for the first exploration representative point corresponding to the first contour representative point.
[0087] Specifically, step S103 may include the following process:
[0088] Step S1031: Move the first contour representative point to the first passable area to obtain the first contour offset point.
[0089] In the embodiment of the present application, the first contour representative point may be moved toward the first passable area along any direction to obtain the first contour offset point.
[0090] In a specific implementation of the embodiment of the present application, the first contour representative point can be moved toward the first passable area in a specific direction to obtain a first contour offset point; wherein the specific direction can be a vertical direction of the contour to be explored.
[0091] It should be noted that, in the implementation of the present application, the first contour representative point can be gradually moved toward the first passable area according to the moving distance from small to large.
[0092] Step S1032: If the first contour offset point meets the preset explorable condition, the first contour offset point is determined as the first exploratory representative point.
[0093] In the embodiment of the present application, after obtaining the first contour offset point, it can be determined whether the first contour offset point satisfies the explorable condition. Specifically, the explorable condition can be considered from four aspects: the safety of the robot, the obstacle situation between the first contour representative point and the first exploration representative point, the computing power resources of the robot and the detection range of the sensor, and the distance between the first exploration representative point and the current position of the robot.
[0094] It should be understood that if the robot moves to the first exploration representative point and part of its body is located in the unknown area, the body may collide with obstacles in the unknown area, affecting the safety of the robot. Therefore, in the embodiment of the present application, it is necessary to take the first exploration representative point as the center of the robot and the body of the robot is located in the first passable area. Figure 3 As shown. Therefore, after the robot navigates to the first exploration representative point, the robot body is located in the first passable area, thereby reducing unnecessary collisions during the map exploration process and ensuring the safety of the robot.
[0095] When the robot moves to the first exploration representative point, it needs to be able to explore the unknown area at the first exploration representative point. Therefore, in the embodiment of the present application, there should be no obstacles on the connection line of the preset thickness between the first contour representative point and the first exploration representative point, so that the robot can smoothly explore the unknown area after navigating to the first exploration representative point without being blocked by obstacles. Figure 4 , there is no obstacle on the connecting line with a thickness of d between the first contour representative point and the first exploration representative point, and the robot can scan the unknown area through the preset laser radar at the first exploration representative point. Among them, the thickness of the connecting line between the first contour representative point and the first exploration representative point can be specific and situationally set according to the actual situation, and this application does not limit this. It can be preferably set to 15 cm here.
[0096] In addition, in the embodiment of the present application, the distance between the first exploration representative point and the current position of the robot should be greater than the preset first distance threshold. If the distance between the first exploration representative point and the current position of the robot is close, the robot may be able to explore the unknown area at the current position without moving to the first exploration representative point to explore the unknown area. Figure 5 As shown, the distance between the first contour offset point and the robot is less than the first distance threshold. At this time, the detection range of the robot can also cover part of the unknown area without moving to the first contour offset point to explore the unknown area. Therefore, the first contour offset point will not be selected as the first exploration representative point.
[0097] It is also necessary to consider that, due to the limited computing resources of the robot and the detection distance of the sensor, the distance between the first contour representative point and the first exploration representative point should be less than or equal to the preset second distance threshold, so that the robot can smoothly explore the unknown area through the sensor after reaching the first exploration representative point. Among them, the second distance threshold can be specific and situationally set according to actual needs, and the embodiments of the present application do not limit this.
[0098] In an embodiment of the present application, if the first contour offset point is taken as the center of the robot, the body of the robot is located in the first passable area; and there are no obstacles on the connecting line of preset thickness between the first contour representative point and the first contour offset point; and the distance between the first contour offset point and the current position of the robot is greater than a preset first distance threshold; and the distance between the first contour representative point and the first contour offset point is less than or equal to a preset second distance threshold, then it can be considered that the first contour offset point meets the explorable condition, and the first contour offset point is selected as the first exploration representative point.
[0099] If the distance between the first contour representative point and the first contour offset point is greater than the second distance threshold, it can be considered that the first contour representative point has been moved far enough, but the corresponding first exploration representative point cannot be found. At this time, it can be confirmed that the first exploration representative point has not been found.
[0100] It is understandable that the explorable conditions can also be specified and situationally configured according to actual conditions, and this application does not limit this.
[0101] Step S104: If the first exploration representative point is found, the robot may be controlled to move to the first exploration representative point to perform map exploration.
[0102] In an embodiment of the present application, a path planning can be performed for the robot according to the first exploration representative point, and the robot can be controlled to move to the first exploration representative point according to the planned path to perform map exploration.
[0103] It should be noted that, if after executing step S101, it is found that there are obstacles on the lines connecting each contour representative point and the robot, it can be determined that there is no unobstructed contour representative point. At this time, the robot can be controlled to explore the room; specifically, the process of exploring the room may include the following steps:
[0104] Step S105: When there is no unobstructed contour representative point, the distance between the robot and the room corresponding to each contour to be explored is calculated respectively.
[0105] In the embodiment of the present application, each contour to be explored may be mapped to a room, wherein the room may be determined based on the distribution of obstacles. For example, the area surrounded by identified long-side obstacles such as walls and doors may be determined as a room.
[0106] In a specific implementation of the embodiment of the present application, for any room, the distance between the door of the room and the robot can be used as the distance between the room and the robot.
[0107] In another specific implementation method of the embodiment of the present application, for any room, the distance between the deepest contour representative point in the room and the robot can be used as the distance between the room and the robot; specifically, for any contour representative point in the room, the distance between the contour representative point and the door of the room can be used as the depth of the contour representative point, and then, the distance between the contour representative point with the greatest depth and the robot can be used as the distance between the room and the robot.
[0108] Step S106: Select the room with the shortest distance from the robot as the target room.
[0109] In the embodiment of the present application, the room with the shortest distance to the robot may be selected as the target room.
[0110] Step S107: Select the deepest contour representative point in the target room as the target room contour representative point.
[0111] In the embodiment of the present application, the contour representative point with the largest depth in the target room may be selected as the contour representative point of the target room.
[0112] It should be understood that the embodiment of the present application can use the deepest contour representative point in the target room as the target room contour representative point. As a result, the robot can map the unknown areas that can be explored on the path while heading to the deepest unknown area of the target room for map exploration, which helps to improve the efficiency of map exploration.
[0113] Step S108: Search for the target room exploration representative point corresponding to the target room outline representative point.
[0114] In an embodiment of the present application, the target room outline representative point can be moved to the first passable area to obtain the target room outline offset point; if the target room outline offset point meets the preset explorable condition, the target room outline offset point is determined as the target room exploration representative point.
[0115] The process of searching for representative points of the target room exploration may refer to the detailed description of step S103, which will not be repeated here.
[0116] Step S109: If the target room exploration representative point is found, the robot is controlled to move to the target room exploration representative point to perform map exploration.
[0117] In an embodiment of the present application, a path planning can be performed on the robot according to the target room exploration representative point, and the robot can be controlled to move to the target room exploration representative point according to the planned path to perform map exploration.
[0118] It should be understood that when each room has been explored at least once by the robot (entered at least once), it can be considered that there is no unexplored room. At this time, each outline to be explored in the room can be explored in turn in a clockwise or counterclockwise order along the distribution of the walls to enrich the details in the room.
[0119] It should be noted that after exploring the room according to the above method, you can consider the possible existence of dynamic obstacles in the known area and enable dynamic obstacle exploration. Figure 6 As shown, since there is a dynamic obstacle at the position of the door of Room 1, the contour representative point in Room 1 will not be determined as an unobstructed contour representative point, and since the passable area of the door of Room 1 after being occupied by the dynamic obstacle is smaller than the first path width, the known area A in Room 1 will be filtered out when determining the first passable area, and the boundary contour between the known area A and the unknown area B will not be determined as the contour to be explored. Therefore, Room 1 will not be explored by the robot in the above process. If the map exploration process is terminated directly after the above method, the unknown area B will not be explored, resulting in omissions in the construction of the map. Therefore, in an embodiment of the present application, after exploring the room according to the above method, it can be considered that there may be dynamic obstacles in the known area, and more relaxed conditions can be set for determining the second passable area, and an attempt can be made to search for the third exploration representative point to reduce the possibility of omissions in the map construction process.
[0120] Specifically, the second passable area may be determined by the second path width, wherein the second path width is smaller than the first path width.
[0121] It is understandable that the second path width can be set to a value smaller than the first path width according to actual needs, and the present application does not make any specific limitation on this.
[0122] In the embodiment of the present application, the second path can be preferably set to half the width of the robot body, thereby screening out the passable area of half the robot body. Afterwards, the second contour representative point of the boundary contour between the unknown area and the second passable area can be selected by referring to the method of step S101.
[0123] Afterwards, the second exploration representative point corresponding to the second contour representative point can be searched with reference to the method of step S103; if the second exploration representative point is found, path planning can be performed between the second exploration representative point and the robot to obtain a planned path, and it can be considered that there may be a dynamic obstacle at the intersection of the planned path and the first passable area. Based on this, the position of the obstacle can be determined, and the position can be used as the third contour representative point of the obstacle.
[0124] After the third contour representative point is determined, the method in step S103 may be referred to to search for the third exploration representative point corresponding to the third contour representative point.
[0125] If at least one exploration representative point corresponding to the third contour representative point is searched, the exploration representative point with the least number of obstacles passing through the connecting line with the robot will be selected as a candidate exploration representative point; if there is one candidate exploration representative point, the candidate exploration representative point will be selected as the third exploration representative point; if there are at least two candidate exploration representative points, the candidate exploration representative point with the largest distance to the robot will be selected from the candidate exploration representative points as the third exploration representative point.
[0126] If the exploration representative point corresponding to the third contour representative point cannot be found, it can be determined that the third exploration representative point has not been found, and the map exploration process is terminated directly.
[0127] If the third exploration representative point is found, the robot can be controlled to move to the third exploration representative point to perform map exploration.
[0128] Specifically, after the robot moves to the third exploration representative point, a preset sensor may be used to perform obstacle detection on the second contour representative point to detect whether there is an obstacle at the second contour representative point.
[0129] If there is no obstacle at the representative point of the obstacle's contour, it can be considered that the obstacle that previously existed at the representative point of the contour is a dynamic obstacle, which has been cleared at this time, and the robot can be controlled to move to the second exploration representative point for map exploration.
[0130] If there is an obstacle at the second contour representative point, the obstacle can be marked as a static obstacle, and in the subsequent search for the third exploration representative point, the contour representative point of the static obstacle is filtered out to improve the search efficiency.
[0131] Afterwards, the above process may be repeated, and when the third exploration representative point is not found, the construction of the map may be terminated.
[0132] To facilitate understanding, the map exploration method of the embodiment of the present application will be described below in conjunction with specific application scenarios.
[0133] See also Figure 7 (The dotted lines in the figure are contours to be explored, and the solid lines are obstacles). The robot conducts a preliminary exploration of the map through the preset sensors, and constructs a preliminary map containing known areas, unknown areas, and obstacles. After that, the robot starts from point A and further explores the map. At this time, there are unobstructed contour representative points B and C, and the unobstructed contour representative point C with the largest distance from the robot can be selected as the first contour representative point. After that, the first exploration representative point corresponding to the first contour representative point can be searched, and the robot can be controlled to move to the first exploration representative point for map exploration.
[0134] See also Figure 8 (The dotted line in the figure is the contour to be explored, and the solid line is the obstacle). When the robot moves to the first exploration representative point, it can explore areas D, E, F, and G by the sensor. After the robot moves to the first exploration representative point for map exploration, there is only the unobstructed contour representative point D. At this time, the unobstructed contour representative point D can be selected as the first contour representative point. After that, the first exploration representative point corresponding to the first contour representative point can be searched, and the robot can be controlled to move to the first exploration representative point for map exploration.
[0135] See also Fig. 9 (The dotted line in the figure is the contour to be explored, and the solid line is the obstacle). After moving to the first exploration representative point for map exploration, there is no unobstructed contour representative point. At this time, the room E with the smallest distance from the robot can be selected as the target room, and the deepest contour representative point in the target room (not shown in the figure) can be used as the target room contour representative point. After that, the target room exploration representative point corresponding to the target room contour representative point can be searched, and the robot can be controlled to move to the target room exploration representative point for map exploration. After that, the above method can be repeated to explore the remaining unexplored rooms in turn.
[0136] When there is no unexplored room, you can enter each room and explore each unexplored outline in the room in a clockwise or counterclockwise order to enrich the map details of each room, and you can get the following: Fig.10 Full map shown.
[0137] In summary, the embodiment of the present application determines the contour representative points of each contour to be explored respectively; when there is an unobstructed contour representative point, the unobstructed contour representative point with the longest distance from the robot is selected as the first contour representative point; wherein the unobstructed contour representative point is a contour representative point on which there are no obstacles on the line connecting the robot; the first exploration representative point corresponding to the first contour representative point is searched; if the first exploration representative point is searched, the robot is controlled to move to the first exploration representative point for map exploration. Through the embodiment of the present application, the contour representative point with the longest distance from the robot can be selected, and the exploration representative point corresponding to the contour representative point can be explored on the map, so that in the process of exploring the long-distance exploration representative point, the exploration of the short-distance exploration representative point may be completed, which helps to improve the efficiency of map exploration.
[0138] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0139] Corresponding to a map exploration method described in the above embodiment, Fig.11 A structural diagram of an embodiment of a map exploration device provided in an embodiment of the present application is shown.
[0140] In this embodiment, a map exploration device may include:
[0141] A contour representative point determination module 1101 is used to respectively determine the contour representative points of each contour to be explored;
[0142] The contour representative point selection module 1102 is used to select the unobstructed contour representative point with the longest distance from the robot as the first contour representative point when there is an unobstructed contour representative point; wherein the unobstructed contour representative point is a contour representative point on the line connecting the robot and having no obstacles;
[0143] An exploration representative point search module 1103 is used to search for a first exploration representative point corresponding to the first contour representative point;
[0144] The exploration representative point exploration module 1104 is used to control the robot to move to the first exploration representative point to perform map exploration if the first exploration representative point is found.
[0145] In a specific implementation of the embodiment of the present application, the map exploration device may further include:
[0146] A distance calculation module, used for respectively calculating the distance between the robot and the room corresponding to each contour to be explored when the unobstructed contour representative point does not exist;
[0147] A target room selection module, used to select the room with the smallest distance from the robot as the target room;
[0148] A room outline representative point selection module, used to select the deepest outline representative point in the target room as the target room outline representative point;
[0149] A room exploration representative point search module, used to search for a target room exploration representative point corresponding to the target room outline representative point;
[0150] The room exploration representative point exploration module is used to control the robot to move to the target room exploration representative point for map exploration if the target room exploration representative point is found.
[0151] In a specific implementation of the embodiment of the present application, the map exploration device may further include:
[0152] The sequential exploration module is used to sequentially explore each to-be-explored outline in the room in a clockwise or counterclockwise order when there is no unexplored room.
[0153] In a specific implementation of the embodiment of the present application, the room exploration representative point search module may include:
[0154] A representative point moving unit, used to move the target room outline representative point to a first passable area to obtain a target room outline offset point; wherein the first passable area is a known area determined by a preset first path width;
[0155] The representative point determination unit is used to determine the target room outline offset point as the target room exploration representative point if the target room outline offset point meets a preset explorable condition.
[0156] In a specific implementation of the embodiment of the present application, the distance calculation module may include:
[0157] The first distance determination unit is used for, for any room, taking the distance between the door of the room and the robot as the distance between the room and the robot.
[0158] In a specific implementation of the embodiment of the present application, the distance calculation module may further include:
[0159] The second distance determination unit is used to, for any room, use the distance between the deepest contour representative point in the room and the robot as the distance between the room and the robot.
[0160] In a specific implementation of the embodiment of the present application, the room outline representative point selection module may further include:
[0161] The depth determination unit is used to use, for any contour representative point in the target room, the distance between the contour representative point and the door of the target room as the depth of the contour representative point.
[0162] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0163] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0164] Fig.12 A schematic block diagram of a robot provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0165] like Fig.12 As shown, the robot 12 of this embodiment includes: a processor 120, a memory 121, and a computer program 122 stored in the memory 121 and executable on the processor 120. When the processor 120 executes the computer program 122, the steps in the above-mentioned map exploration method embodiments are implemented, for example Figure 1 Alternatively, when the processor 120 executes the computer program 122, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Fig.11 The functions of modules 1101 to 1104 are shown.
[0166] Exemplarily, the computer program 122 may be divided into one or more modules / units, which are stored in the memory 121 and executed by the processor 120 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 122 in the robot 12.
[0167] Those skilled in the art will understand that Fig.12 It is only an example of the robot 12 and does not constitute a limitation of the robot 12. The robot 12 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 12 may also include input and output devices, network access devices, buses, etc.
[0168] The processor 120 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0169] The memory 121 may be an internal storage unit of the robot 12, such as a hard disk or memory of the robot 12. The memory 121 may also be an external storage device of the robot 12, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 12. Further, the memory 121 may also include both an internal storage unit of the robot 12 and an external storage device. The memory 121 is used to store the computer program and other programs and data required by the robot 12. The memory 121 may also be used to temporarily store data that has been output or is to be output.
[0170] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0171] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0172] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0173] In the embodiments provided in the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0174] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0175] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0176] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.
[0177] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A map exploration method, characterized in that: include: Determine the contour representative points of each contour to be explored respectively; When there is an unobstructed contour representative point, the unobstructed contour representative point with the longest distance from the robot is selected as the first contour representative point; wherein the unobstructed contour representative point is a contour representative point on the line connecting the unobstructed contour representative point and the robot without any obstacles; Searching for a first exploration representative point corresponding to the first contour representative point; If the first exploration representative point is found, the robot is controlled to move to the first exploration representative point to perform map exploration.
2. The map exploration method according to claim 1, characterized in that: After respectively determining the contour representative points of each contour to be explored, it also includes: When the unobstructed contour representative point does not exist, respectively calculating the distance between the robot and the room corresponding to each contour to be explored; Select the room with the smallest distance from the robot as the target room; Selecting the deepest contour representative point in the target room as the target room contour representative point; Searching for a target room exploration representative point corresponding to the target room contour representative point; If the target room exploration representative point is found, the robot is controlled to move to the target room exploration representative point to perform map exploration.
3. The map exploration method according to claim 2, characterized in that: After controlling the robot to move to the target room exploration representative point to perform map exploration, the method further includes: When there is no unexplored room, each to-be-explored outline in the room is explored in turn in a clockwise or counterclockwise order.
4. The map exploration method according to claim 2, characterized in that: The searching for the target room exploration representative point corresponding to the target room outline representative point includes: Moving the target room outline representative point to a first passable area to obtain a target room outline offset point; wherein the first passable area is a known area determined by a preset first path width; If the target room outline offset point meets a preset explorable condition, the target room outline offset point is determined as the target room exploration representative point.
5. The map exploration method according to claim 2, characterized in that: The step of respectively calculating the distance between the robot and the room corresponding to each contour to be explored comprises: For any room, the distance between the door of the room and the robot is taken as the distance between the room and the robot.
6. The map exploration method according to claim 2, characterized in that: The step of respectively calculating the distance between the robot and the room corresponding to each contour to be explored comprises: For any room, the distance between the deepest contour representative point in the room and the robot is taken as the distance between the room and the robot.
7. The map exploration method according to any one of claims 2 to 6, characterized in that: Before selecting the deepest contour representative point in the target room as the target room contour representative point, the method further includes: For any contour representative point in the target room, the distance between the contour representative point and the door of the target room is used as the depth of the contour representative point.
8. A map exploration device, characterized in that: include: A contour representative point determination module is used to respectively determine the contour representative points of each contour to be explored; A contour representative point selection module, for selecting, when there is an unobstructed contour representative point, the unobstructed contour representative point with the longest distance from the robot as the first contour representative point; wherein the unobstructed contour representative point is a contour representative point on a line connecting the robot and having no obstacles; An exploration representative point search module, used to search for a first exploration representative point corresponding to the first contour representative point; The exploration representative point exploration module is used to control the robot to move to the first exploration representative point to perform map exploration if the first exploration representative point is searched.
9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the map exploration method according to any one of claims 1 to 7 are implemented.
10. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the map exploration method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Map exploration method for robot to explore unknown area, chip and robot
CN113050632A
Rapid mapping method and device and cleaning robot
CN115191886A
Method for robot to explore unknown environment
CN115542907A
Map construction method and device, equipment and storage medium
CN116182840A