Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In the following description, suffixes such as "module", "component", or "unit" used to represent components are used only for facilitating the explanation of the present invention, and have no specific meaning in itself. Thus, "module", "component" or "unit" may be used mixedly.
In the related art, mapping of a whole room can be performed based on SLAM positioning technology, specifically, an anchor base station position is used as an origin of a coordinate system of a robot, a positioning module samples and generates a keyframe (used for representing a nearby frame, recording feature points observed under a current view angle, and tracking the quality of the keyframe in a traveling process), a currently explored map is continuously updated, and an un-mapped area is continuously explored until the mapping of the whole room is completely constructed. However, map construction only supports mapping of all rooms, and does not support mapping of local areas, so that the following problems exist: (1) the map is incomplete due to the fact that the map is not completely built for the first time and some rooms may be missed; (2) opening a room door which is not to be cleaned (such as a kitchen and a toilet) or closing a room door which is to be cleaned (such as a bedroom), and in such a situation, the drawing can cause the cleaning area of the robot to be not in accordance with the requirements of users; (3) the map information generated by the user due to adjustment or newly added furniture, modification of interior decoration and the like is inconsistent; (4) for the condition of missing map building, the problem can be solved only by rebuilding the map, and the process is long in time consumption.
The robot related to the embodiment of the invention includes, but is not limited to, a cleaning robot, a service robot, a logistics robot, a base station or a handheld cleaning device, and the like, wherein the base station refers to the cleaning device used in cooperation with the cleaning robot or the handheld cleaning device. Taking the base station as an example, in order to facilitate the use of the user, the base station is often used in cooperation with the cleaning robot, and the base station can be used for charging the cleaning robot. For cleaning robots, the base station may also clean mops (e.g., mops). Specifically, the cleaning robot may be moved to the base station so that a cleaning mechanism on the base station automatically cleans a wiper of the cleaning robot. The base station can manage the cleaning robot through the base station, so that the cleaning robot can be controlled more intelligently in the process of executing a cleaning task, and the working intelligence of the cleaning robot is improved. The terminal device may include, but is not limited to, an APP installed on a terminal such as a mobile phone, a tablet, a computer, a smart screen, a portable device, or other mobile terminal device and/or the terminal, other smart devices (e.g., a smart speaker, a smart wearable device), and the like, and the present invention is not limited thereto.
Referring to fig. 1 to 3, a supplementary map building method according to an embodiment of the present invention may be used to build a supplementary map of a current map of a robot 100, and the supplementary map building method includes:
012: acquiring a first target point in a current map;
014: controlling the robot 100 to navigate to a first target point;
016: controlling the robot 100 to locally explore at the first target point to supplement mapping of the corresponding region of the first target point, wherein step 016 (controlling the robot 100 to locally explore at the first target point to supplement mapping of the corresponding region of the first target point) includes:
0162: controlling the robot 100 to search within a preset range of the first target point to acquire local exploration information;
0164: and performing supplementary mapping on the corresponding area of the first target point based on the local exploration information to obtain an updated map.
The current map may be a map that has been built by the robot 100 after the last task is completed or before the current task, and the current map may include one or more target points, and one of the target points is selected as a first target point, that is, as a starting point for starting local exploration; the robot can observe an unexplored area (i.e. an unexplored area of the current map) at the target point.
Referring to fig. 3 and 4, the supplementary map building apparatus 10 according to the embodiment of the present invention may be used to build a supplementary map of a current map of the robot 100, where the supplementary map building apparatus 10 includes a first obtaining module 112, a first control module 114, and a second control module 116.
The supplementary mapping method according to the embodiment of the present invention may be implemented by the supplementary mapping apparatus 10 according to the embodiment of the present invention, and specifically, step 012 may be implemented by the first obtaining module 112, step 014 may be implemented by the first control module 114, and step 016 may be implemented by the second control module 116. That is, the first obtaining module 112 may be configured to obtain a first target point in the current map. The first control module 114 may be used to control the robot 100 to navigate to a first target point. The second control module 116 may be configured to control the robot 100 to locally explore the first target point to supplement mapping of the corresponding area of the first target point. The second control module 116 includes a control unit 1162 and a processing unit 1164. Step 0162 may be implemented by control unit 1162 and step 0164 may be implemented by processing unit 1164. That is, the control unit 1162 may be configured to control the robot 100 to search within a preset range of the first target point to acquire the local exploration information. The processing unit 1164 may be configured to perform supplementary mapping on the corresponding area of the first target point based on the local exploration information to obtain the updated map.
According to the supplementary map building method and the supplementary map building device 10, supplementary map building can be performed on the current map in a local exploration mode, so that the map can be completed through supplementary map building under the condition that the initial map building is incomplete, and the map is complete.
The supplementary mapping apparatus 10 may be used for the robot 100, and the robot 100 may include a household robot, such as a sweeping robot.
The method supports supplementary mapping of the local area, so that the mapping time can be greatly reduced. The robot 100 searches within a preset range of the first target point to obtain the local exploration information, where the preset range may be 1 meter, 2 meters, 3 meters, 3.2 meters, 4 meters, and the like, and is not limited herein. And performing supplementary mapping on the corresponding area of the first target point based on the local exploration information to obtain an updated map.
Referring to fig. 5, in some embodiments, the supplementary mapping method further includes:
018: determining that the robot 100 completes the local exploration;
022: controlling the robot 100 to perform global exploration in the updated map to obtain a second target point;
024: controlling the robot 100 to navigate to a second target point;
026: the robot 100 is controlled to locally explore the second target point to supplement mapping of the corresponding area of the second target point.
Referring to fig. 6, in some embodiments, the supplementary map building apparatus 10 further includes a first determining module 118, a second obtaining module 122, a third controlling module 124 and a fourth controlling module 126. Step 018 may be implemented by the first determining module 118, step 022 may be implemented by the second acquiring module 122, step 024 may be implemented by the third control module 124, and step 026 may be implemented by the fourth control module 126. That is, the first determination module 118 may be used to determine that the robot 100 completed a local exploration. The second obtaining module 122 may be configured to control the robot 100 to perform a global exploration within the updated map to obtain a second target point. The third control module 124 may be used to control the robot 100 to navigate to a second target point. The fourth control module 126 may be configured to control the robot 100 to locally explore the second target point to supplement mapping of the corresponding area of the second target point.
Therefore, after the local exploration is finished, the global exploration can be carried out, so that the positions of the map needing to be updated are all supplemented to build the map, and the updated map is more complete and accurate.
Specifically, after the robot 100 completes the local exploration, that is, when the local exploration information is not obtained, the global exploration may be performed in the updated map, that is, when the local exploration information is not searched in the area corresponding to the first target point, the global map outside the area range corresponding to the first target point is explored, a new target point is searched in the global map, so as to obtain a second target point, and then the second target point is used as the first target point to perform the next local exploration. The second target point may be a boundary point, where the boundary point is a boundary point between an explored area and an unexplored area, the explored area is an existing area of the updated map, and the unexplored area is an area to be mapped out of the updated map or an area of the updated map that is not yet mapped. The robot 100 is navigated to the second target point and continues to perform local exploration at the second target point to supplement mapping of the corresponding area of the second target point. The local search at the second target point is performed in the same manner as the local search at the first target point, and is not specifically limited herein. After the local exploration of the second target point is completed, the global exploration may be continued to acquire a next second target point until the map is closed (i.e., no second target point or boundary point is searched for).
Referring to fig. 7, in some embodiments, the method for creating a supplemental map further includes:
028: if the robot 100 does not search for the second target point when performing the global exploration in the updated map, determining that the robot 100 completes the global exploration;
032: and controlling the robot 100 to return to the base station and pushing exploration completion information to the terminal equipment.
Referring to fig. 8, in some embodiments, the supplemental map creating apparatus 10 further includes a second determining module 128 and a fifth control module 132. Step 028 may be implemented by the second determination module 128 and step 032 may be implemented by the fifth control module 132. That is, the second determining module 128 may be configured to determine that the robot 100 completes the global exploration if the robot 100 does not search for the second target point while performing the global exploration in the updated map. The fifth control module 132 may be configured to control the robot 100 to return to the base station and push the exploration completion information to the terminal device.
In this way, after the global exploration is completed, the robot 100 may be controlled to return to the base station and notify the user.
Specifically, in the case where the second target point is not searched, it may be determined that the robot 100 has completed the global exploration, and thus, the robot 100 may be controlled to return to the base station and push exploration completion information to the terminal device. In one embodiment, the robot 100 connects with the terminal device and pushes exploration completion information to the APP of the terminal device.
Referring to fig. 9, in some embodiments, the method for creating a supplemental map further includes:
034: if at least two second target points are obtained when the robot 100 performs global exploration in the updated map, determining one of the at least two second target points as a second target point for local exploration;
036: controlling the robot 100 to navigate to the second target point;
038: the robot 100 is controlled to locally explore the second target point to supplement mapping of the corresponding area of the second target point.
Referring to fig. 10, in some embodiments, the supplementary map building apparatus 10 further includes a third determination module 134, a sixth control module 136, and a seventh control module 138. Step 034 may be implemented by the third determining means 134, step 036 may be implemented by the sixth control means 136, and step 038 may be implemented by the seventh control means 138. That is, the third determining module 134 may be configured to determine one of the at least two second target points as the second target point for the local exploration if at least two second target points are obtained when the robot 100 performs the global exploration in the updated map. The sixth control module 136 may be configured to control the robot 100 to navigate to the second target point. The seventh control module 138 may be configured to control the robot 100 to locally explore the second target point to supplement mapping of a corresponding area of the second target point.
In this way, a second target point of the at least two second target points can be determined to supplement the mapping of the corresponding region of the second target point.
Specifically, in the case that there are at least two second target points, the robot 100 needs to plan an exploration route, and select one of the target points for local exploration, so that one of the at least two second target points can be determined as the second target point for local exploration, and the robot 100 is controlled to navigate to the second target point to locally explore the second target point first.
Referring to fig. 11, in some embodiments, step 034 (determining one of at least two second targets as the second target for local exploration) includes:
0342: respectively acquiring the revenue factors of at least two second target points;
0344: respectively calculating the profit values of at least two second target points based on the profit factors;
0346: and determining a second target point corresponding to the maximum value in the profit values as a second target point of the local exploration.
Referring to fig. 12, in some embodiments, the third determining module 134 includes a first obtaining unit 1342, a first calculating unit 1344 and a first determining unit 1346. Step 0342 may be implemented by the first obtaining unit 1342, step 0344 may be implemented by the first calculating unit 1344, and step 0346 may be implemented by the first determining unit 1346. That is, the first obtaining unit 1342 may be configured to obtain the revenue factors of at least two second target points, respectively. The first calculation unit 1344 may be configured to calculate revenue values for the at least two second target points, respectively, based on the revenue factors. The first determination unit 1346 may be configured to determine a second target point corresponding to a maximum value of the benefit values as a second target point for the local exploration.
In this way, a relatively more suitable second target point may be determined for local exploration.
Specifically, the return factors of at least two second target points may be obtained, and based on the return factors, corresponding return values may be obtained through calculation, and the second target point corresponding to the maximum value in the return values has the highest priority, so that the second target point may be used as the second target point for local exploration. In one embodiment, the profit factor of the second target point includes a distance between the second target point and a previous exploration point (the first target point or the previous second target point), and profit values of at least two second target points are calculated based on the distances, wherein the smaller the distance is, the larger the profit value can be, and therefore, the second target point corresponding to the maximum value in the profit values can refer to the second target point with the closest distance, and the second target point with the closest distance is taken as the second target point of the local exploration, thereby implementing path planning. Of course, in other embodiments, the revenue factor may also include other parameters, such as expected expansion area and path similarity, which are not specifically limited herein.
Referring to fig. 13, in some embodiments, the method for creating a supplemental map further includes:
042: controlling the robot 100 to detect a target point within the work area while performing a task within the work area;
044: and controlling the robot 100 to send a reminder to the terminal device when the task in the working area is completed, wherein the reminder comprises: at least one of supplement, non-supplement and no-more-prompt;
046: generating corresponding feedback information based on the operation aiming at the reminding, wherein the operation aiming at the reminding comprises the following steps: selecting one of supplement, non-supplement and no-more-prompt, or not selecting;
048: determining an instruction type according to the feedback information, wherein when the operation aiming at the reminding is to select supplement, the instruction type is to control the robot 100 to build a supplementary map of the working area; when the operation for reminding is not supplemented by selection, the instruction type is to control the robot 100 to end the task, and the reminding is sent to the terminal equipment after the task of the robot 100 in the working area is finished next time; when the operation for reminding is to select no reminding any more, the instruction type is to control the robot 100 to end the task, and no reminding is sent to the terminal equipment after the task of the robot 100 in the working area is finished next time; when the operation for reminding is not selected, the instruction type is to control the robot 100 to end the task, and the reminding is sent to the terminal equipment after the task of the robot 100 in the working area is completed next time.
Referring to fig. 14, in some embodiments, the supplementary map building apparatus 10 further includes an eighth control module 142, a ninth control module 144, a first generation module 146, and a fourth determination module 148. Step 042 may be implemented by the eighth control module 142, step 044 may be implemented by the ninth control module 144, step 046 may be implemented by the first generation module 146, and step 048 may be implemented by the fourth determination module 148. That is, the eighth control module 142 may be used to control the robot 100 to detect a target point within the work area while performing a task within the work area. The ninth control module 144 may be configured to control the robot 100 to send a reminder to the terminal device when the task in the work area is completed, where the reminder includes: and at least one of supplement, non-supplement and no-more-prompt. The first generating module 146 may be used to generate corresponding feedback information based on operations for the reminder, where the operations for the reminder include: selecting one of supplement, non-supplement, no-more-remind, or no-select. The fourth determining module 148 may be configured to determine a command type according to the feedback information, where the command type is to control the robot 100 to perform supplementary mapping on the work area when the operation for reminding is to select supplementary; when the operation for reminding is not supplemented by selection, the instruction type is to control the robot 100 to end the task, and the reminding is sent to the terminal equipment after the task of the robot 100 in the working area is finished next time; when the operation for reminding is to select no reminding any more, the instruction type is to control the robot 100 to end the task, and no reminding is sent to the terminal equipment after the task of the robot 100 in the working area is finished next time; when the operation for reminding is not selected, the instruction type is to control the robot 100 to end the task, and the reminding is sent to the terminal equipment after the task of the robot 100 in the working area is completed next time.
Therefore, user interaction can be supported, and supplementary mapping is controlled according to the interaction information of the user.
Specifically, when the robot 100 performs a task (e.g., a cleaning task) in a work area, the target point in the work area may be detected, wherein the work area may be an area where the robot 100 needs to perform the task or an area selected by a user, such as one room, multiple rooms, a certain area, or an entire house. The robot 100 may detect a target point in the work area when executing the task, where the target point may be a position where the abundance of sensor information is greater than a preset level and an unexplored area can be observed in the current map, so that supplementary mapping may be performed more conveniently. The sensor information may include radar point cloud information, detection information of other sensors (such as a binocular sensor), and the like, and is not particularly limited herein. The robot 100 may be provided with a laser radar, a binocular sensor, or other sensors to acquire corresponding information while moving. In one embodiment, the sensor information is radar point cloud information, and the abundance degree of the sensor information is greater than a preset degree, which may mean that the ratio of the radar point cloud information (the ratio of the number of received point clouds to the number of sent point clouds) is greater than a preset degree, for example, 60%. The unexplored area may be an area of the map to be supplemented outside the current map or an unexplored area of the updated map. The first target point and the second target point of the robot during the local search may be selected from the detected target points.
After the task is completed, the robot may send a reminder to the terminal device, for example, after one or more target points are detected, the robot reminds the user whether to build a map in a supplementary manner, so that the map can be built in a supplementary manner by means of user interaction. When the operation for reminding is to select supplement, that is, when the user selects supplement, the robot 100 may generate feedback information of "supplement", and the corresponding instruction types are: the robot 100 is controlled to supplement mapping of the work area, but may not be cleaned. When the operation for reminding is to select not to supplement, that is, when the user selects not to supplement, the robot 100 may generate feedback information of "not to supplement", and the corresponding instruction types are: and controlling the robot 100 to finish the task, and sending a prompt to the terminal equipment after the next time the task of the robot 100 in the working area is finished. When the operation for reminding is to select no more reminding, that is, when the user selects no more reminding, the robot 100 may generate feedback information of "no more reminding", and the corresponding instruction types are: and controlling the robot 100 to end the task, and not sending a prompt to the terminal device any more after the next time the robot 100 completes the task in the working area. When the operation for the reminder is not selected, that is, when the user does not select the reminder, the robot 100 may generate feedback information of "not selecting", where the corresponding instruction type is: and controlling the robot 100 to finish the task, and sending a prompt to the terminal equipment after the next time the task of the robot 100 in the working area is finished.
Referring to fig. 15, in some embodiments, the supplementary mapping method further includes:
052: when the instruction type is that the robot 100 is controlled to perform supplementary mapping on a working area, pushing a target point in the working area detected by the robot 100 to the terminal equipment;
054: generating corresponding selection information based on an operation for the pushed target point, wherein the operation for the pushed target point comprises: selecting one of the pushed target points as a first target point;
056: the first target point is determined according to the selection information.
Referring to fig. 16, in some embodiments, the supplementary drawing device 10 further includes a pushing module 152, a second generating module 154, and a fifth determining module 156. Step 052 may be implemented by the push module 152, step 054 may be implemented by the second generation module 154, and step 056 may be implemented by the fifth determination module 156. That is, the pushing module 152 may be configured to push, to the terminal device, a target point in the work area detected by the robot 100 when the instruction type is to control the robot 100 to perform supplementary mapping on the work area. The second generating module 154 may be configured to generate corresponding selection information based on an operation for a pushed target point, where the operation for the pushed target point includes: and selecting one of the pushed target points as a first target point. The fifth determination module 156 may be configured to determine the first target point based on the selection information.
Therefore, the area to be expanded can be conveniently selected in a user interaction mode to be supplemented and mapped.
Specifically, the robot 100 may push the detected target points to the terminal device in a list manner, and push the target points to the user for selection. The user may perform an operation on the pushed target point, the robot 100 generates corresponding selection information based on the operation, for example, the user may select one from one or more pushed target points as a first target point, and the robot 100 may determine the first target point according to the selection information generated by the user's selection operation, navigate to the first target point, and perform a local exploration. In some embodiments, a plurality of target points within a certain range can be converged into one target point, and then the target point is pushed to the terminal device; for the user, the selection is not influenced by too many pushed target points.
In some embodiments, the local exploration information comprises: and the boundary point is a boundary point of an explored area and an unexplored area, the explored area is an existing area of the current map, and the unexplored area is an area to be supplemented with the map outside the current map or an area of the current map. And (3) supplementary drawing is carried out while the robot 100 carries out local exploration to find the boundary point, the boundary point is taken as the next first target point, the next local exploration is carried out to search a new boundary point, and the process is repeated until the boundary point cannot be found during the local exploration.
Therefore, the boundary points can be acquired during local exploration, and supplementary mapping can be carried out based on the boundary points.
In some embodiments, the dynamic RRT (fast extended search tree), the non-dynamic RRT, the PRM (probabilistic road map), and the like may be used to search within a preset range of the first target point to find the boundary point.
Referring to fig. 17, in some embodiments, the method for creating a supplemental map further includes:
058: if the area of an unexplored area in the corresponding area of the first target point or the second target point is not larger than the preset area, the robot 100 is controlled not to send a reminder to the terminal device when the task in the working area is completed, and the robot 100 is controlled to build a map for the corresponding area of the first target point or the second target point.
Referring to fig. 18, in some embodiments, the supplemental drawing device 10 further includes a tenth control module 158. Step 058 may be implemented by the tenth control module 158, that is, the tenth control module 158 may be configured to, if the area of the unexplored area in the area corresponding to the first target point or the second target point is not greater than the preset area, control the robot 100 not to send a reminder to the terminal device when the task in the working area is completed, and control the robot 100 to supplement mapping to the area corresponding to the first target point or the second target point.
Thus, under the condition that the area of the unexplored area is not larger than the preset area, the robot 100 can automatically perform supplementary drawing construction without user intervention.
Specifically, the preset area may be 0.5 square meter, 1 square meter, 1.2 square meter, and the like, and is not specifically limited herein and may be set according to actual requirements. Taking 1.5 square meters as an example, if the area of an unexplored area in the corresponding area of the first target point or the second target point is not greater than 1.5 square meters, the robot 100 may perform supplementary mapping by itself during the task execution process or when the task is completed, and does not need to send a reminder to the terminal device, i.e., does not need to be intervened or known by the user. If the area of the unexplored area in the corresponding area of the first target point or the second target point is larger than the preset area, the target points may be recorded, and the step 044 may be further performed to perform supplementary drawing according to the interaction information of the user.
Referring to fig. 19, in some embodiments, step 0164 (performing supplementary mapping on the corresponding area of the first target point based on the local exploration information to obtain the updated map) includes:
01642: control the robot 100 to navigate to the boundary points;
01644: acquiring map information in the process that the robot 100 navigates to the boundary point;
01646: and updating the map information to the current map to obtain an updated map.
Referring to fig. 20, in some embodiments, the processing unit 1164 includes a control subunit 11642, an acquisition subunit 11644, and an update subunit 11646. Step 01642 may be implemented by the control subunit 11642, step 01644 may be implemented by the acquisition subunit 11644, and step 01646 may be implemented by the update subunit 11646. That is, the control subunit 11642 may be used to control the robot 100 to navigate to the boundary points. The obtaining sub-unit 11644 may be configured to obtain map information during navigation of the robot 100 to the boundary point. The update sub-unit 11646 may be used to update the map information to the current map to obtain the updated map.
In this way, the current map can be updated according to the map information in the process of navigating to the boundary point so as to obtain the updated map.
Specifically, during the process of navigating to the boundary point, the robot 100 may simultaneously acquire map information, and in some embodiments, the map information may be map information obtained by matching positioning and acquiring sensor information (the sequence of steps 01642 and 01644 is not limited, and steps 01642 and 01644 may be performed simultaneously), and the positioning and sensor information is taken as the map information during the process of navigating to the boundary point by the robot 100, where the sensor information may include radar point cloud information, detection information of other sensors (for example, a picture taken by a camera), and the like, and is not particularly limited herein. The map information is updated to the current map to obtain an updated map, and specifically, the map information may be updated to the current map, and in some embodiments, the current map may be an occupancy probability map, where the occupancy probability map includes three states: occupancy (area where the robot 100 cannot walk or perform a task), blank (area where the robot 100 can walk or perform a task), unexplored area (unexplored area of the robot 100, not within the current map). If the boundary point exists, the unexplored area exists; if no boundary point exists, the map is completely explored.
Referring to fig. 21, in some embodiments, after step 01646 (updating map information to the current map to obtain the updated map), the supplementary mapping method further includes:
062: the boundary point is used as the next first target point, and the robot 100 is controlled to perform local exploration again at the boundary point to build a map for the corresponding area of the boundary point.
Referring to fig. 22, in some embodiments, the supplemental drawing device 10 further includes an eleventh control module 162. The step 062 may be implemented by the eleventh control module 162, that is, the eleventh control module 162 may be configured to control the robot 100 to perform local exploration again at the boundary point by using the boundary point as the next first target point, so as to supplement mapping on the corresponding area of the boundary point.
In this way, when the boundary point can be found by the local exploration, the local exploration is continued to perform supplementary mapping, and the process is repeated in a circulating manner until the boundary point cannot be found by the local exploration.
Specifically, in the case that a boundary point exists, the map information in the process of navigating to the boundary point may be updated to the current map to obtain an updated map, and then the boundary point is used as the next first target point to perform local exploration, where the local exploration is performed in the same manner as the local exploration, and is not described herein again.
Referring to FIG. 23, in some embodiments, step 018 (determining that the robot 100 completed the partial exploration) includes:
0182: if the robot 100 does not search for a boundary point within the preset range of the first target point, it is determined that the robot 100 completes the local search.
Referring to fig. 22, in some embodiments, step 0182 may be implemented by the first determining module 118, that is, the first determining module 118 may be configured to determine that the robot 100 completes the local exploration if the robot 100 does not search for the boundary point within the preset range of the first target point.
Thus, whether the local search is completed or not can be accurately determined.
Specifically, if the boundary point is not searched in the local exploration, it indicates that no unexplored area exists in the corresponding area range of the first target point, and therefore, it may be determined that the robot 100 has completed the local exploration, and step 022 may be performed, that is, the robot 100 is controlled to perform the global exploration in the updated map to acquire the second target point.
Referring to fig. 24, in some embodiments, the supplementary mapping method further includes:
064: and if the local exploration information comprises at least two boundary points, determining one of the at least two boundary points as a first target point.
Referring to fig. 25, in some embodiments, the supplementary map building apparatus 10 further includes a sixth determining module 164, and step 064 may be implemented by the sixth determining module 164, that is, the sixth determining module 164 may be configured to determine one of the at least two boundary points as the first target point if the local exploration information includes the at least two boundary points.
In this way, a first target point of the at least two boundary points may be determined to supplement mapping of the corresponding area of the first target point.
Specifically, in the case that there are at least two boundary points, the robot 100 needs to plan a search route, and select one of the boundary points for local search, so that one of the at least two boundary points can be determined as a first target point, and the robot 100 is controlled to navigate to the first target point to locally search the first target point.
Referring to fig. 26, in some embodiments, step 064 (determining one of at least two boundary points as the first target point) includes:
0642: respectively acquiring benefit factors corresponding to at least two boundary points;
0644: based on the benefit factors, respectively calculating benefit values corresponding to at least two boundary points;
0646: and determining a boundary point corresponding to the maximum value in the gain values as a first target point.
Referring to fig. 27, in some embodiments, the sixth determining module 164 includes a second obtaining unit 1642, a second calculating unit 1644 and a second determining unit 1646. Step 0642 may be implemented by the second obtaining unit 1642, step 0644 may be implemented by the second calculating unit 1644, and step 0646 may be implemented by the second determining unit 1646. That is, the second obtaining unit 1642 may be configured to obtain the benefit factors corresponding to at least two boundary points, respectively. The second calculation unit 1644 may be configured to calculate benefit values corresponding to the at least two boundary points, respectively, based on the benefit factors. The second determining unit 1646 may be configured to determine a boundary point corresponding to a maximum value of the benefit values as the first target point.
In this way, a relatively most suitable boundary point may be determined as the first target point.
Specifically, benefit factors of at least two boundary points may be obtained, and based on the benefit factors, corresponding benefit values may be obtained through calculation, and the priority of the boundary point corresponding to the maximum value of the benefit values is the highest, so that the boundary point may be used as the first target point.
In some embodiments, the benefit factors include: at least one of an expected expanded area, a path similarity and a distance, wherein the expected expanded area is the area of an unexplored area around the boundary point, the route similarity is the similarity between an expected planned route from the first target point to the boundary point and an existing planned route from the first target point to the boundary point in the current map, and the distance is the distance from the first target point to the boundary point.
In this way, the benefit value may be determined according to at least one of the expected expansion area, the path similarity, and the distance.
The expected expanded area is the area of an unexplored area around the boundary point, specifically, the boundary point can be used as a circle center, a circle is formed by using the preset side length to serve as the peripheral area of the boundary point, the peripheral area of the boundary point is divided into an explored area and an unexplored area, the area of the unexplored area can serve as the expected expanded area (the ratio of the area of the unexplored area to the area of the peripheral area can also serve as the expected expanded area), and the larger the expected expanded area is, the larger the exploration of the boundary point can supplement the map to a greater extent. The path similarity is the similarity between an expected planned path from the first target point (or the last search point) to the boundary point and an existing planned path from the first target point to the boundary point in the current map, and the greater the path similarity, the easier the search is to execute and implement. The distance is the distance from the first target point to the boundary point, and the smaller the distance is, the easier the exploration and route planning are. In one embodiment, the expected expansion area, the path similarity and the distance may be combined into a benefit function, for example, the expected expansion area, the path similarity and the distance may be combined into a benefit function in a weighting manner, so as to obtain a benefit value. In some embodiments, the expected expansion area and the benefit value may be in a positive correlation, the path similarity and the benefit value may be in a positive correlation, and the distance and the benefit value may be in a negative correlation, and when the expected expansion area is larger, or the path similarity is larger, or the distance is smaller, the benefit value of the boundary point is larger. Of course, in other embodiments, the benefit factor may also include other parameters, which are not specifically limited herein.
Referring to fig. 3, a robot 100 according to an embodiment of the present invention may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, a memory 1005 and sensors. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., a Wi-Fi interface). A memory 1005 is provided on the robot main body, and the memory 1005 stores a program that realizes corresponding operations when executed by the processor 1001. The memory 1005 is also used to store parameters for use by the robot. The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001 described previously. The robot may communicate with the user terminal through the network interface 1004. The robot may also communicate with a base station via short-range communication techniques. Wherein, the base station is the equipment that cooperates the robot to use.
The sensors may include various types of sensors, which may include, but are not limited to: laser radar, line laser sensors, binocular sensors, etc.
The memory 1005 may include: any entity or device capable of carrying a computer program, recording medium, U-disk, removable hard disk, magnetic disk, optical disk, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), software distribution medium, and the like. The computer program includes computer program code. The computer program code may be in the form of source code, object code, an executable file or some intermediate form, etc. The memory 1005 may include: any entity or device capable of carrying computer program code, recording medium, U-disk, removable hard disk, magnetic disk, optical disk, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), software distribution medium, and the like.
The Processor 1001 may include one or more of a driver board, other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components. The driver board may include a Central Processing Unit (CPU).
The robot 100 can perform supplementary mapping on the current map in a local exploration mode, so that the map can be completed through supplementary mapping under the condition that the initial mapping is incomplete, and the map is relatively complete.
A computer-readable storage medium of an embodiment of the present invention has a computer program stored thereon. When being executed by a processor, the program realizes the supplementary mapping method of any one of the above embodiments.
The computer-readable storage medium can supplement map building for the current map in a local exploration mode, so that the map can be perfected through the supplement map building under the condition that the initial map building is incomplete, and the map is complete.
The computer-readable storage medium may be provided in the robot 100 or in another terminal device, and the robot 100 can communicate with the other terminal device to obtain the corresponding program.
It is understood that the computer-readable storage medium may include: any entity or device capable of carrying a computer program, recording medium, U-disk, removable hard disk, magnetic disk, optical disk, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), software distribution medium, and the like. The computer program includes computer program code. The computer program code may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable storage medium may include: any entity or device capable of carrying computer program code, recording medium, U.S. disk, removable hard disk, magnetic diskette, optical disk, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), and software distribution medium.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium provided herein and used in the examples may include non-volatile and/or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (SSRDRAM), enhanced SDRAM (ESDRAM), synchronous Link (SLDRAM), rambus (Rambus) direct RAM (RDRAM), direct Rambus Dynamic RAM (DRDRAM), and Rambus Dynamic RAM (RDRAM), among others.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
The logic and/or steps represented in the flowcharts or otherwise described herein, such as an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processing module-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
In the description of the present specification, reference to the description of the terms "one embodiment", "some embodiments", "an illustrative embodiment", "an example", "a specific example", or "some examples", etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the present invention have been shown and described, it will be understood by those of ordinary skill in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.