Mapping method and device of robot, robot and storage medium
By optimizing target point selection and utilizing the SLAM algorithm, the robot detects exploration point information while moving, solving the problem of repeated scanning in traditional mapping methods and achieving more efficient autonomous mapping.
Patent Information
- Application Number
- CN202210006545.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-04
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2042-01-04
AI Technical Summary
Traditional robot mapping methods waste time, manpower and material resources in large and complex indoor environments, and may cause repeated scanning within the reachable area of the target point, increasing mapping time.
By optimizing the selection of target points, the robot detects the exploration point information within the preset range during movement, adjusts the target points to avoid repeated scanning, and uses the SLAM algorithm for autonomous mapping.
It reduces the running time of the robot's mapping process, improves exploration efficiency and autonomy, and avoids unnecessary exploration work.
Smart Images

Figure CN114595354B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of robot mapping, and in particular to a robot mapping method and device, a robot and a storage medium. BACKGROUND
[0002] With the rapid development of robot technology and the change of social needs, autonomous mobile robots are increasingly concerned by the engineering and academic circles. In order to enable autonomous mobile robots to help people complete daily life tasks autonomously in unstructured and uncertain environments, a key technology is to establish a map of the external environment in the internal representation of the robot when the robot is in an unknown environment, which is used for subsequent navigation. However, the traditional robot mapping method is manual or using a keyboard and a gamepad to control the movement of the robot, which wastes time, manpower and resources when facing large and complex indoor environments. Therefore, it is of great significance for the robot to be free from human control and realize autonomous exploration mapping, which saves manpower and resource resources on the one hand, and on the other hand, the robot makes real-time mapping decisions according to its own perception, collection and processing of environmental information, thereby improving the autonomy and intelligence of the robot.
[0003] In related technologies, the robot moves to different positions to perform LDS (Laser Distance Sensor) scanning, and completes the mapping of the entire space to be explored. However, during the movement, if the mapping of the target point reachable area has been completed, subsequent movement to the target point for mapping may still occur, which increases the running time of the mapping process. For example, selecting the target point according to the distance priority principle may cause continuous short-distance movement in the same area, and multiple movements are required to complete scanning at different positions in the same area, thereby prolonging the mapping time. SUMMARY
[0004] Therefore, the embodiments of the present disclosure provide a robot mapping method, device, robot and storage medium, which optimizes the selection of target points to reduce the running time of the robot mapping process.
[0005] In an embodiment of the first aspect of the present disclosure, a robot mapping method is provided, comprising:
[0006] controlling the robot to travel to a target point, the target point being a first exploration point of a region to be explored, the first exploration point being in an unexplored state; detecting exploration point information corresponding to a preset range in which the target point is located during the travel of the robot to the target point; processing the target point according to the exploration point information; and collecting mapping data of the region to be explored based on the robot traveling to the target point, to update an environmental space map of the robot.
[0007] Optionally, the step of processing the target point according to the exploration point information specifically comprises:
[0008] based on the exploration point information, if the second exploration point does not exist in the preset range, and the second exploration point exists outside the preset range, updating the target point to the second exploration point, wherein the second exploration point is a first exploration point other than the target point.
[0009] Optionally, the mapping method of the robot further comprises:
[0010] based on the exploration point information, if the second exploration point does not exist in the to-be-explored region, controlling the robot to stop moving; and storing the environment space map.
[0011] Optionally, before the step of controlling the robot to move towards the target point, the method further comprises:
[0012] acquiring an environment space map, the environment space map comprising a known region and / or a to-be-explored region, the known region corresponding to mapping data; extracting a plurality of boundary points of the to-be-explored region overlapping the known region; and determining a boundary point in an unexplored state as a first exploration point.
[0013] Optionally, the mapping method of the robot further comprises:
[0014] based on the number of the first exploration points in the to-be-explored region being a plurality, sequentially connecting the plurality of first exploration points to obtain a connection line; determining a first distance between each first exploration point and a center point of the connection line; and determining a first exploration point corresponding to a minimum value in the first distances as the target point.
[0015] Optionally, after the step of collecting the mapping data of the to-be-explored region, the method further comprises:
[0016] updating the target point to an explored state.
[0017] Optionally, the mapping method of the robot further comprises:
[0018] during the movement of the robot towards the target point, based on an existence of an obstacle between a current position of the robot and the target point, controlling the robot to move along an outer edge of the obstacle to bypass the obstacle.
[0019] Embodiments of the second aspect of the present disclosure provide a mapping device of a robot, comprising:
[0020] a control module configured to control the robot to move towards a target point, the target point being a first exploration point of a to-be-explored region, the first exploration point being in an unexplored state; a detection module configured to detect exploration point information in a preset range in which the target point is located during the movement of the robot towards the target point; a processing module configured to process the target point according to the exploration point information; and a mapping module configured to collect mapping data of the to-be-explored region based on the movement of the robot to the target point, to update an environment space map of the robot.
[0021] Optionally, the processing module is specifically configured to maintain the target point based on the exploration point information that the second exploration point exists within the preset range; update the target point to the second exploration point based on the exploration point information that the second exploration point does not exist within the preset range and the second exploration point exists outside the preset range; and the second exploration point is the first exploration point other than the target point.
[0022] Optionally, the control module is further configured to control the robot to stop moving based on the exploration point information that the second exploration point does not exist in the to-be-explored region; and the mapping device of the robot further includes a storage module configured to store the environment space map.
[0023] Optionally, the mapping device of the robot further includes an acquisition module configured to acquire the environment space map, the environment space map including a known region and / or a to-be-explored region, and the known region corresponding to mapping data; an extraction module configured to extract a plurality of boundary points of the to-be-explored region overlapping the known region; and a first determination module configured to determine a boundary point in an unexplored state as the first exploration point.
[0024] Optionally, the mapping device of the robot further includes a second determination module configured to sequentially connect a plurality of first exploration points based on the number of the first exploration points in the to-be-explored region being multiple, to obtain a connection line; determine a first distance between each first exploration point and a center point of the connection line; and determine a first exploration point corresponding to a minimum value in the first distance as the target point.
[0025] Optionally, the mapping device of the robot further includes a state updating module configured to update the target point to an explored state.
[0026] Optionally, the control module is further configured to control the robot to move along an outer edge of an obstacle to bypass the obstacle based on the current position of the robot and the target point existing between the current position and the target point in a process in which the robot moves to the target point.
[0027] Embodiments of a third aspect of the present disclosure provide a robot, including a processor and a memory; the memory is configured to store operation instructions; and the processor is configured to execute the mapping method of the robot of any one of the first aspect by invoking the operation instructions.
[0028] Embodiments of a fourth aspect of the present disclosure provide a storage medium having a computer program stored thereon, the program being executed by a processor to implement the mapping method of the robot of any one of the first aspect.
[0029] The mapping method of the robot provided by the embodiment of the present disclosure optimizes the selection of target points, so that the robot can complete the mapping of the area by moving to less positions. Moreover, the robot can monitor other exploration points around the target point during movement to prevent the mapping data of the position of the target point from being repeatedly collected. Thus, the autonomous exploration mapping of the unknown scene can be completed with fewer exploration times, higher exploration efficiency and less exploration time. BRIEF DESCRIPTION OF DRAWINGS
[0030] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description are some embodiments of the present disclosure, and other drawings can also be obtained by those skilled in the art without creative labor under the premise of the drawings.
[0031] Figure 1 One of the structural diagrams of the robot provided according to one of the optional embodiments of the present disclosure;
[0032] Figure 2 The second structural diagram of the robot provided according to one of the optional embodiments of the present disclosure;
[0033] Figure 3 The flowchart of the mapping method of the robot provided according to one of the optional embodiments of the present disclosure;
[0034] Figure 4 The schematic block diagram of the mapping device of the robot provided according to one of the optional embodiments of the present disclosure;
[0035] Figure 5 The electronic structural schematic diagram of the robot provided according to one of the optional embodiments of the present disclosure. DETAILED DESCRIPTION
[0036] The embodiments of the present disclosure are described in detail below, and examples of the embodiments are shown in the drawings, wherein the same or similar reference signs represent the same or similar elements or elements with the same or similar functions throughout. The embodiments described below by referring to the drawings are exemplary and are only used to explain the present disclosure, and cannot be interpreted as a limitation on the present disclosure.
[0037] It is to be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. It is further understood that the terms "comprise" and "comprising" and the like, when used in the specification, the specification of certain embodiments of the disclosure, refer to the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It is further understood that when an element or layer is referred to as being "on" or "connected to" another element or layer, it can be directly on or connected to the other element or layer or intervening elements or layers can be present. In addition, the term "connected" or "coupled" as used herein refers to any connection or coupling, either direct or indirect, between otherwise isolated components. The term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0038] Exemplary embodiments according to the present disclosure will now be described in detail with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in various different forms, and should not be construed as being limited to only the embodiments set forth herein. It should be understood that the embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art.
[0039] The present disclosure provides a possible application scenario, which includes a robot, Figure 1 and Figure 2 is a structural schematic diagram of a robot according to an exemplary embodiment of the present disclosure. As shown in Figure 1 and Figure 2 The robot of the present disclosure can be a sweeping robot, a mopping robot, a vacuum mopping robot, etc. For ease of description, the present embodiment describes the technical solutions of the present disclosure by taking a sweeping robot as an example.
[0040] The robot can include a moving platform 100, a perception system 120, a human-computer interaction system 130, a driving system 140, a cleaning module 150, an energy system 160, and a control system 170. Among them:
[0041] The moving platform 100 can be configured to automatically move along a target direction on an operation surface. The operation surface can be a surface to be cleaned by the robot. In some embodiments, the sweeping robot works on the ground, and the ground is the operation surface.
[0042] In some embodiments, the mobile platform 100 can be an autonomous mobile platform or a non-autonomous mobile platform. An autonomous mobile platform refers to a mobile platform 100 that can make operational decisions automatically and adaptively according to unexpected environmental inputs; a non-autonomous mobile platform cannot make operational decisions adaptively according to unexpected environmental inputs, but can execute a predetermined program or operate according to a certain logic. Accordingly, when the mobile platform 100 is an autonomous mobile platform, the target direction can be determined autonomously by the robot; when the mobile platform 100 is a non-autonomous mobile platform, the target direction can be set by the system or manually. When the mobile platform 100 is an autonomous mobile platform, the mobile platform 100 includes a front portion 111 and a rear portion 110.
[0043] The perception system 120 includes a position determining device 121 located above the mobile platform 100, a bumper 122 located at the front portion 111 of the mobile platform 100, a cliff sensor 123 and ultrasonic sensor (not shown in the figure), infrared sensor (not shown in the figure), magnetometer (not shown in the figure), accelerometer (not shown in the figure), gyroscope (not shown in the figure), odometer (not shown in the figure), and the like, which provide various position information and motion state information of the robot to the control system 170.
[0044] The position determining device 121 includes, but is not limited to, a camera, a laser ranging device. The laser ranging device (such as LDS) can measure events (or objects) within a measurement height range above the robot. The measurement height range can be set to a range of 8-10 centimeters above the robot, for example.
[0045] In order to more clearly describe the behavior of the robot, the following direction definitions are made: the robot can travel on the ground through various combinations of movements relative to the following three mutually perpendicular axes defined by the mobile platform 100: a lateral axis x, a front-rear axis y, and a central vertical axis z. The forward driving direction along the front-rear axis y is denoted as "forward", and the rearward driving direction along the front-rear axis y is denoted as "rearward". The lateral axis x substantially extends between the right wheel and the left wheel of the robot along an axis defined by the center point of the drive wheel assembly 141. The robot can rotate about the x-axis. When the front portion of the robot is tilted upward and the rear portion is tilted downward, it is "pitched up"; when the front portion of the robot is tilted downward and the rear portion is tilted upward, it is "pitched down". In addition, the robot can rotate about the z-axis. In the forward direction of the robot, when the robot is tilted to the right of the Y-axis, it is "turned right"; when the robot is tilted to the left of the Y-axis, it is "turned left".
[0046] As Figure 2As shown, a cliff sensor 123 is provided on the bottom of the mobile platform 100 and in front of and behind the drive wheel assembly 141, which is used to prevent falling when the robot is backing up, so as to avoid damage to the robot. The aforementioned "front" refers to the same side relative to the direction of travel of the robot, and the aforementioned "rear" refers to the opposite side relative to the direction of travel of the robot.
[0047] The various components in the perception system 120 can operate independently or collectively to more accurately achieve the intended function. The cliff sensor 123 and the ultrasonic sensor are used to identify the surface to be cleaned to determine the physical characteristics of the surface to be cleaned, including the surface material, the degree of cleaning, and the like, and can be combined with a camera, a laser ranging device, and the like to make more accurate determinations.
[0048] For example, the ultrasonic sensor can be used to determine whether the surface to be cleaned is a carpet, and if the ultrasonic sensor determines that the surface to be cleaned is a carpet material, the control system 170 controls the robot to perform carpet mode cleaning.
[0049] The front portion 111 of the mobile platform 100 is provided with a bumper 122. During the cleaning process, when the drive wheel assembly 141 propels the robot to travel on the ground, the bumper 122 detects one or more events (or objects) in the travel path of the robot via a sensor system, such as an infrared sensor. The robot can control the drive wheel assembly 141 to respond to the events (or objects) detected by the bumper 122, such as obstacles, walls, and the like, such as moving away from the obstacles, crossing the obstacles, and the like.
[0050] In an exemplary embodiment of the present disclosure, the obstacle detection device of the robot can include a bumper 122, an infrared sensor, and the like. The obstacle detection device can be used to detect whether there is a first obstacle between the current position of the robot and the target position of the robot.
[0051] The height of the first obstacle is less than the measurement height range of the robot.
[0052] The control system 170 is disposed on a circuit mainboard within the mobile platform 100, and includes a computing processor, such as a central processing unit, an application processor, in communication with a non-transitory memory, such as a hard disk, a flash memory, a random access memory. The application processor is configured to receive the sensed environmental information from the plurality of sensors of the perception system 120, draw an instant map of the environment where the robot is located using a positioning algorithm, such as Simultaneous Localization And Mapping (SLAM), according to the obstacle information fed back by the laser ranging device, and autonomously determine a driving path according to the environmental information and the environmental map, and then control the driving system 140 to perform forward, backward, and / or steering operations according to the autonomously determined driving path. Further, the control system 170 can also determine whether to start the cleaning module 150 to perform a cleaning operation according to the environmental information and the environmental map.
[0053] Specifically, the control system 170 can comprehensively judge the current working state of the robot, such as crossing a threshold, being on a carpet, being located at a cliff, being stuck above or below, being full of dust, being picked up, and the like, in combination with the distance information and speed information fed back by the bumper 122, the cliff sensor 123, and the ultrasonic sensor, the infrared sensor, the magnetometer, the accelerometer, the gyroscope, the odometer, and the like, and give specific next action strategies for different situations, so that the work of the robot is more in line with the requirements of the owner, and the user has a better experience. Further, the control system 170 can plan the most efficient and reasonable running path and running mode based on the instant map information drawn by SLAM, thereby greatly improving the running efficiency of the robot.
[0054] In an exemplary embodiment of the present disclosure, the mapping device of the robot can include a control system 170. The mapping device of the robot can be used to control the robot to travel to a target point; detect exploration point information in a preset range where the target point is located during the robot traveling to the target point; process the target point according to the exploration point information; and based on the robot traveling to the target point, collect mapping data of a region to be explored to update an environmental space map of the robot.
[0055] The driving system 140 can execute driving commands based on specific distance and angle information, such as x, y, and θ components, to manipulate the robot to travel across the ground. In order for the robot to move more stably on the ground or have stronger movement ability, the robot can include one or more steering assemblies 142, which can be driven wheels or driving wheels, and the structure forms thereof include but are not limited to universal wheels, and the steering assemblies 142 can be located in front of the driving wheel assembly 141.
[0056] The driving wheel assembly 141 can be detachably connected to the mobile platform 100, facilitating disassembly and maintenance. The driving wheel can have a biasing drop type suspension system, movably fastened, for example, rotatably attached, to the robot mobile platform 100, and maintained in contact with the ground and traction by a resilient element, such as a tension spring or a compression spring, while the robot cleaning module 150 also contacts the surface to be cleaned with a certain pressure. The cleaning module 150 can include a dry cleaning module 151 and / or a wet cleaning module 180.
[0057] The energy system 160 includes a rechargeable battery, such as a nickel-hydrogen battery and a lithium battery. The rechargeable battery can be connected with a charging control circuit, a battery pack charging temperature detection circuit, and a battery undervoltage monitoring circuit, which are connected with a single-chip microcomputer control circuit. The host is connected with a charging pile through a charging electrode arranged on the side or the lower part of the body for charging. If dust adheres to the exposed charging electrode, the accumulation of electric charge during the charging process can cause the plastic body around the electrode to melt and deform, and even cause the electrode itself to deform, which can prevent the normal charging from continuing.
[0058] The human-computer interaction system 130 includes keys on the host panel for the user to select functions, and can also include a display screen and / or an indicator light and / or a loudspeaker to show the user the current state of the machine or the function selection item, and can also include a mobile phone client program.
[0059] It should be noted that in the example embodiments of the present disclosure, the mapping method of the robot described below can be implemented by the robot (such as a sweeping robot, a mopping robot, etc.), that is, each step of the mapping method of the robot can be performed by the robot, and in this case, the mapping device of the robot can be configured in the robot.
[0060] As shown in FIG. 1, Figure 3 The present disclosure provides a mapping method of a robot, including the following method steps:
[0061] Step S302, controlling the robot to travel to a target point;
[0062] The target point is a first exploration point in the to-be-explored area, and the first exploration point is in an unexplored state, that is, the target point is a position in the to-be-explored area on the environment space map that has not been collected by the robot. Therefore, when the target point is selected, the position that has been collected can be avoided, the robot can work without reason, the number of explorations of the robot can be effectively reduced, and the mapping time can be greatly shortened. It can be understood that the first exploration point corresponds to a coordinate, and after the robot enters the mapping mode, the robot can navigate through the coordinate position and then move to the target point position to be explored.
[0063] Further, the boundary points of the to-be-explored region overlapping with the known region on the environment space map can be taken as the first exploration points, so that not only can more area be covered during scanning of the mapping data, but also local region omission can be prevented during exploration, so that better mapping effect is obtained.
[0064] More specifically, the number of the first exploration points can be one or multiple, and the number of the first exploration points is related to the size of the unexplored region. In the case where the number of the first exploration points is multiple, one of the multiple first exploration points needs to be selected as the target point.
[0065] In step S304, the exploration point information corresponding to the preset range where the target point is located is detected during the movement of the robot to the target point.
[0066] The preset range can be centered on the target point and set reasonably according to the scanning region of the robot, that is, the range of the mapping data that can be collected by the robot at the target point. For example, the visual range of the camera of the robot.
[0067] In step S306, the target point is processed according to the exploration point information.
[0068] In this embodiment, considering that the robot can collect data in the complete scanning region, when the robot is located at two first exploration points close to each other to collect data, at least partial region may be repeatedly scanned, which will lengthen the mapping time and is not conducive to improving the mapping efficiency. Therefore, during the movement of the robot to the target point, the exploration point information corresponding to the preset range is periodically detected at a preset time interval, the preset time interval is related to the speed of the movement of the robot and the environment of the movement, and the exploration point information is used to indicate whether there is a first exploration point other than the target point in the preset range and whether there is a first exploration point other than the target point outside the preset range. After the exploration point information is detected, the target point is changed in time by using the exploration point information, so that the robot can move less position to complete the mapping of the region, and the data of the scannable region of the target point can be prevented from being repeatedly collected, so that the autonomous exploration mapping of the unknown scene is completed with fewer exploration times, higher exploration efficiency and less exploration time.
[0069] In step S308, the mapping data of the to-be-explored region is collected based on the movement of the robot to the target point, so as to update the environment space map of the robot.
[0070] In this embodiment, when the robot reaches the target point, the data collection device of the robot is started to collect the mapping data of the scannable region of the robot at the target point position, and the mapping data is used to expand the environment space map.
[0071] In the implementation process, when the robot autonomously explores in an unknown environment, based on the SLAM (Simultaneous Localization And Mapping) algorithm, the robot's motion is mapped and measured to locate and map. More specifically, laser data and odometry data are collected to estimate the robot's pose, and then the environment is mapped, and the robot's pose is corrected according to the established map, thereby constructing an accurate map model. It can be understood that the environmental space map model can be a grid map. The grid map can directly obtain the occupancy state of the environment through the distance information of the sensor, provide detailed environmental feature data, and is suitable for spatial representation of unstructured environments, and is an important basis for robot navigation and path planning. Each grid in the grid map has three states: free, occupied, and unknown. Free means that there is no obstacle in the grid, occupied means that there is an obstacle in the grid, and unknown means that the grid has not been perceived by the robot and belongs to the environment to be explored.
[0072] Further, after the step of collecting mapping data of the to-be-explored area, the target point is updated to an explored state. Thus, the target point is excluded from the first exploration points, avoiding the problem of repeated selection of points in the next selection of points, which is beneficial to improve the speed of point selection, prevent the robot from working unnecessarily, and reduce the overall running time of the mapping process.
[0073] In some embodiments provided in the present disclosure, the step of processing the target point according to the exploration point information specifically includes:
[0074] Step S306-1, based on the exploration point information, if there is a second exploration point within the preset range, the target point is maintained.
[0075] Step S306-2, based on the exploration point information, if there is no second exploration point within the preset range and there is a second exploration point outside the preset range, the target point is updated to the second exploration point.
[0076] Wherein, the second exploration point is a first exploration point other than the target point.
[0077] In this embodiment, if it is detected that there is a second exploration point within the preset range, that is, there is a first exploration point within the preset range that has not been data collected, that is, the robot does not scan at different positions in the same area; at this time, the target point can be maintained unchanged, so that the robot continues to travel according to the set target point until the target point is reached and the data collection of the target point is completed.
[0078] If it is detected that there is no second exploration point within the preset range, that is, there is no point that has not been explored around the target point, it indicates that the robot has possibly collected the mapping data corresponding to the target point when it is located at other exploration points to explore. At this time, it is not necessary to move to the currently set target point, and the robot stops moving, and the next new target point is searched, and the robot is controlled to move to the new target point. In other words, the target point is updated according to the second exploration point outside the preset range, that is, the other first exploration points that have not been explored in the to-be-explored region, so as to change the destination of the robot for collecting data in time, so that the robot can move to the updated target point. Thus, continuous short-distance movement in the same region is avoided, the mapping speed is accelerated, and autonomous exploration mapping of an unknown scene is completed with fewer exploration times, higher exploration efficiency and less exploration time, and the autonomy and intelligence of the robot for completing mapping are improved.
[0079] It can be understood that, in the case where it is determined that there is no second exploration point within the preset range, that is, the currently set target point has been fully scanned, the robot does not need to perform data collection at the point again. At this time, the target point before updating can be approximately regarded as having been explored, and in order to avoid subsequent repeated point selection, the state of the target point before updating can be changed to an explored state, that is, the target point before updating is excluded from the first exploration points, and then the updating of the target point is performed.
[0080] It should be noted that, in the process of controlling the robot to move to the updated target point, the exploration point information of the preset range related to the updated target point can also be re-detected. If the exploration point information still indicates that there is no second exploration point within the preset range, and there is a second exploration point outside the preset range, the updating of the target point is continued until the data collection is completed.
[0081] In some embodiments that can be implemented provided in the present disclosure, the mapping method of the robot further includes:
[0082] In step S310, based on the exploration point information, if there is no second exploration point in the to-be-explored region, the robot is controlled to stop moving;
[0083] In step S312, the environment space map is stored.
[0084] In this embodiment, if it is detected that there is no second exploration point in the to-be-explored region, that is, there is no second exploration point within the preset range and outside the preset range, in other words, there is no first exploration point that has not been explored in the to-be-explored region. At this time, it is confirmed that the mapping is completed, and the robot is directly controlled to stop exploring. At the same time, the final environment space map is stored for subsequent use. Thus, unnecessary work of the robot in the exploration process is prevented, the time required for exploration is saved, and the autonomous exploration efficiency is improved.
[0085] It should be noted that the area within the preset range and the area outside the preset range together constitute the to-be-explored area.
[0086] For example, when it is determined that there is no second exploration point within the preset range, the following three cases can occur:
[0087] (I) There is no second exploration point outside the preset range, that is, there is no unexplored first exploration point in the unexplored area, in other words, the environmental space map is completed by autonomous exploration, and the mapping is completed. At this time, the robot is controlled to stop exploration, the completed environmental space map is saved, the mapping mode is exited, and the exploration completion information is output.
[0088] (II) There is only one second exploration point outside the preset range, and the robot is controlled to move according to the only second exploration point as a new target point. After the robot completes the mapping data collection at the second exploration point, it can be determined that there is no unexplored point, the robot can save the completed environmental space map, exit the mapping mode, and output the exploration completion information.
[0089] (III) There are multiple second exploration points outside the preset range. At this time, the multiple second exploration points are further screened according to a preset rule, so as to select an optimal second exploration point to update the target point, and then control the robot to move according to the updated target point. Specifically, the preset rule is used to select one second exploration point from the multiple second exploration points, which can be reasonably set according to the exploration requirements. For example, the preset rule is defined as selecting the second exploration point closest to the current position of the robot to reduce the time required for the robot to move, or the preset rule is defined as selecting the second exploration point closest to the current target point to avoid continuous short-distance movement of the robot in the same area as much as possible, or the preset rule is defined as the obstacle between the robot and the second exploration point. The embodiments of the present disclosure do not make specific limitations on the preset rule.
[0090] In some implementable embodiments provided by the present disclosure, before the step of controlling the robot to move to the target point, the method further comprises:
[0091] Step S402, obtaining an environmental space map;
[0092] The environmental space map includes a known area and / or a to-be-explored area, and the known area corresponds to mapping data. The environmental space map can be obtained through information transmission between the control terminal and the robot, or can be created by the robot itself or retrieved from the built-in memory of the robot.
[0093] Further, in the case of obtaining the environmental space map through information transmission between the control terminal and the robot, if it is detected that the environmental space map is all known areas, there is no need to perform exploration, and a prompt information is sent to the control terminal to avoid map miscommunication.
[0094] Step S404, extracting a plurality of boundary points of the to-be-explored region overlapping with the known region;
[0095] For example, based on a frontier-based exploration algorithm, boundary points between the known and unexplored regions in the local grid map are extracted by an image segmentation technique.
[0096] It should be noted that the boundary point is defined as a coordinate point at the intersection of the open (known) and unknown (unknown) in the map, that is, the boundary of the region not scanned by the lidar.
[0097] Further, when the robot first performs exploration, the environment space where the robot is located, that is, the to-be-explored region, is taken as the target point to perform first data collection, so as to form an environment space map in which the known region and the to-be-explored region coexist, and then the boundary algorithm is used to continue mapping the to-be-explored region.
[0098] Step S406, determining the boundary point in the unexplored state as a first exploration point.
[0099] In the embodiment, all boundary points adjacent to the known region on the environment space map to be explored are extracted first, and unexplored boundary points are selected from all the boundary points as the first exploration point through state recognition. The robot is controlled to detect the to-be-explored region from the optimal boundary point (target), and expand the grid map. Not only the automatic selection of points in the mapping process is realized, but also the manual operation is saved, the manpower is saved, and the purpose of autonomous mapping of the robot is achieved. Moreover, when the target point is selected, the situation of collecting data at the same coordinate multiple times can be avoided, and the mapping efficiency is greatly improved.
[0100] In some implementable embodiments provided in the disclosure, the mapping method of the robot further includes:
[0101] Step S502, based on the number of the first exploration points in the to-be-explored region being multiple, connecting the multiple first exploration points in sequence to obtain a connection line;
[0102] Step S504, determining a first distance between each first exploration point and a center point of the connection line;
[0103] Step S506, determining the first exploration point corresponding to the minimum value in the first distance as a target point.
[0104] In the embodiment, if there are multiple first exploration points in the region to be explored, that is, multiple unexplored boundary points, the multiple first exploration points are connected in sequence to form a connection line. In order to cover a larger area during scanning and obtain better mapping effect, a first distance between each first exploration point and a center point of the connection line is calculated, and the first exploration point corresponding to the minimum value in the first distance is the first exploration point closest to the center point, and the first exploration point is taken as a target point for exploration.
[0105] For example, when selecting a target point, all points in the map are checked in sequence. After a first exploration point meeting the condition (adjacent to the known region and unexplored) is found, since the laser ranging sensor is in a straight line, all boundary points are approximately in a straight line, and the center of the line segment formed by the multiple first exploration points is selected as the target point as much as possible. If no target point is found, the entire mapping is completed. When the robot moves to the target point, it is checked whether there are still unexamined first exploration points around the target point. If there are no such points, the robot does not need to move to the current target point, and stops moving, finds the next target point, and moves to the new target point. This process is repeated until there is no valid target point, and the mapping of the region is completed. If there are such points, the robot continues to move to the current target point, and after the data collection of the current target point is completed, the next target point is found. In this way, the robot can complete the mapping of the region by moving to fewer positions, and the overall running time of the mapping process is reduced.
[0106] In some possible implementation embodiments provided in the present disclosure, the mapping method of the robot further includes:
[0107] In step S602, during the movement of the robot to the target point, if there is an obstacle between the current position of the robot and the target point, the robot is controlled to move along the outer edge of the obstacle to bypass the obstacle.
[0108] In the embodiment, during the movement of the robot, if it is detected that there is an obstacle between the current position of the robot and the target point, the robot is controlled to move along the outer edge of the obstacle to bypass the obstacle and reach the target point, thereby avoiding stopping the robot due to the obstacle, increasing the continuity of the work of the robot, and improving the running efficiency of the robot.
[0109] Further, the step of controlling the robot to move along the outer edge of the obstacle specifically includes: in the case where a second distance between the current position of the robot and the obstacle is less than a distance threshold, controlling the robot to deflect by a preset angle and move in a direction away from the obstacle; and if a third distance between the current position of the robot and the obstacle after the movement is greater than the distance threshold, controlling the robot to reverse the deflection by the preset angle and move in a direction close to the first obstacle. The preset angle can refer to an angle by which the robot adjusts the moving direction during the movement.
[0110] It should be noted that the setting of the distance threshold can be different for different detection methods.
[0111] As shown in FIG. 7, embodiments of the second aspect of the present disclosure provide a mapping device 700 of a robot, which can include a control module 702, a detection module 704, a processing module 706, and a mapping module 708. Figure 4
[0112] The control module 702 is configured to control the robot to move to a target point, the target point being a first exploration point of a to-be-explored region, and the first exploration point being in an unexplored state. The detection module 704 is configured to detect exploration point information in a preset range in which the target point is located during movement of the robot to the target point. The processing module 706 is configured to process the target point according to the exploration point information. The mapping module 708 is configured to collect mapping data of the to-be-explored region based on movement of the robot to the target point, so as to update an environmental space map of the robot.
[0113] As an example, the processing module 706 is specifically configured to, based on the exploration point information indicating that there is a second exploration point in the preset range, maintain the target point; and based on the exploration point information indicating that there is no second exploration point in the preset range and there is a second exploration point outside the preset range, update the target point to the second exploration point; wherein the second exploration point is a first exploration point other than the target point.
[0114] As an example, the control module 702 is further configured to, based on the exploration point information indicating that there is no second exploration point in the to-be-explored region, control the robot to stop moving; and the mapping device 700 of the robot further includes a storage module (not shown in the figure) configured to store the environmental space map.
[0115] As an example, the mapping device 700 of the robot further includes an acquisition module (not shown in the figure) configured to acquire the environmental space map, the environmental space map including a known region and / or a to-be-explored region, and the known region corresponding to mapping data; an extraction module (not shown in the figure) configured to extract a plurality of boundary points of the to-be-explored region overlapping the known region; and a first determination module (not shown in the figure) configured to determine a boundary point in the unexplored state as a first exploration point.
[0116] As an example, the mapping device 700 of the robot further includes a second determination module (not shown in the figure) configured to, based on a number of the first exploration points in the to-be-explored region being a plurality, sequentially connect the plurality of first exploration points to obtain a connection line; determine a first distance between each first exploration point and a center point of the connection line; and determine a first exploration point corresponding to a minimum value in the first distance as the target point.
[0117] As an example, the mapping device 700 of the robot further comprises a state updating module (not shown in the figure) configured to update the target point to an explored state.
[0118] As an example, the control module 702 is further configured to, during the robot travelling to the target point, control the robot to travel along an outer edge of the obstacle to bypass the obstacle based on that there is an obstacle between the current position of the robot and the target point.
[0119] Embodiments of the third aspect of the disclosure provide a robot comprising a processor and a memory, the memory storing computer program instructions capable of being executed by the processor, the processor implementing the steps of the mapping method of the robot of any embodiment when executing the computer program instructions.
[0120] As shown in Figure 5 The robot can include a processing device 801 (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes in accordance with programs stored in a read-only memory (ROM 802) or loaded from a storage device 808 into a random access memory (RAM 803). Various programs and data required for electronic robot operations are also stored in the RAM 803. The processing device 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface is also connected to the bus 804.
[0121] In general, the following devices can be connected to the I / O interface 805: input devices 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 808 including, for example, a hard disk, etc.; and communication devices 809. The communication devices 809 can allow the electronic robot to communicate wirelessly or wired with other robots to exchange data. Although Figure 1 and Figure 2 The electronic robot is shown with various devices, but it should be understood that not all of the shown devices are required to be implemented or present. More or fewer devices can alternatively be implemented or present.
[0122] In particular, the processes described above with reference to the flowcharts can be implemented as a robot software program in accordance with embodiments of the disclosure. For example, embodiments of the disclosure include a robot software program product comprising a computer program carried on a readable medium, the computer program containing instructions for performing the processes of the flowcharts Figure 4The program codes of the method shown. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 809, or installed from the storage device 808, or installed from the ROM 802. When the computer program is executed by the processing device 801, the above-mentioned functions defined in the method of the embodiments of the present disclosure are executed.
[0123] It should be noted that the readable medium of the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the above two. The computer readable storage medium may, for example, but not limited to: electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or instruments, or any combination of the above. More specific examples of computer readable storage medium can include, but are not limited to: electrical connection with one or more conductive wires, portable computer disk, hard disk, random access memory (RAM 803), read only memory (ROM 802), erasable programmable read only memory (EPROM 802 or flash memory), optical fiber, portable compact disk read only memory (CD-ROM 802), optical storage device, magnetic storage device, or any suitable combination of the above.
[0124] Embodiments of the fourth aspect of the present disclosure provide a storage medium having computer program instructions stored therein, which, when invoked and executed by a processor, implement the mapping method steps of the robot as described in any of the above embodiments.
[0125] In the present disclosure, the storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or instrument. In the present disclosure, the computer readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer readable program codes. Such a propagated data signal can take various forms, including but not limited to electromagnetic signal, optical signal or any suitable combination of the above. The computer readable signal medium can also be any readable medium other than the storage medium, which can send, propagate or transmit programs for use by or in conjunction with an instruction execution system, device or instrument. The program codes contained in the readable medium can be transmitted by any suitable medium, including but not limited to: wire, cable, RF (radio frequency), etc., or any suitable combination of the above.
[0126] The above-mentioned readable medium can be contained in the above-mentioned robot; or can exist separately without being assembled into the robot.
[0127] Computer program code for carrying out operations of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
[0128] In situations in which the remote computer is connected to the user's computer through any type of network, the remote computer can be a personal computer, a server, a router, a network PC, a
[0129] The flow diagrams and the block diagrams in the drawings are meant only to illustrate ways in which various embodiments of the present disclosure can be implemented, and are not intended to limit the scope of the present disclosure. In this regard, each block in the flow diagrams or block diagrams can represent a module, segment, or portion of code which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the block can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems which perform the specified functions or operations, or combinations of special purpose hardware and
[0130] The device embodiments described above are merely illustrative, in which the units as shown may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., may be located in one place, or may be distributed on multiple network units. Part or all of the modules can be selected to achieve the purposes of the embodiments according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0131] Finally, it should be noted that the above examples are only used to illustrate the technical solutions of the present disclosure, and are not intended to limit the same: although the present disclosure has been described in detail with reference to the foregoing examples, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing examples, or make equivalent replacements for part of the technical features: and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A robot mapping method, characterized in that: include: Controlling the robot to move toward a target point, where the target point is a first exploration point in the area to be explored, and the first exploration point is in an unexplored state; During the process of the robot moving toward the target point, detecting exploration point information corresponding to a preset range where the target point is located; Based on the exploration point information, there is a second exploration point within the preset range, maintaining the target point; Based on the exploration point information indicating that the second exploration point does not exist within the preset range and that the second exploration point exists outside the preset range, changing the first exploration point serving as the target point to an explored state and updating the target point to the second exploration point; Based on the robot moving to the target point, collecting mapping data of the to-be-explored area to update the robot's environmental space map; The second exploration point is the first exploration point other than the target point.
2. The robot mapping method according to claim 1, characterized in that: The method further comprises: Based on the absence of the second exploration point in the to-be-explored area, controlling the robot to stop moving; The environment space map is stored.
3. The robot mapping method according to claim 1, characterized in that: Before the step of controlling the robot to move toward the target point, the method further includes: Acquire the environmental space map, the environmental space map including known areas and / or areas to be explored, the known areas corresponding to the mapping data; Extracting a plurality of boundary points of the to-be-explored area that overlaps with the known area; A boundary point that is in an unexplored state is determined as the first exploration point.
4. The robot mapping method according to claim 1, characterized in that: The method further comprises: Based on the number of the first exploration points in the to-be-explored area being multiple, sequentially connecting the multiple first exploration points to obtain a connecting line; determining a first distance between each of the first exploration points and a center point of the connecting line; The first exploration point corresponding to the minimum value of the first distances is determined as the target point.
5. The robot mapping method according to any one of claims 1 to 4, characterized in that: After the step of collecting the mapping data of the area to be explored, the method further includes: Update the target point to the explored state.
6. The robot mapping method according to any one of claims 1 to 4, characterized in that: The method further comprises: During the process of the robot moving toward the target point, based on the presence of an obstacle between the current position of the robot and the target point, the robot is controlled to move along the outer edge of the obstacle to bypass the obstacle.
7. A robot mapping device, characterized in that: include: a control module, configured to control the robot to move toward a target point, wherein the target point is a first exploration point in the area to be explored, and the first exploration point is in an unexplored state; A detection module, configured to detect exploration point information corresponding to a preset range where the target point is located, during the process of the robot moving toward the target point; A processing module, configured to maintain the target point based on the exploration point information that there is a second exploration point within the preset range; Based on the exploration point information indicating that the second exploration point does not exist within the preset range and that the second exploration point exists outside the preset range, changing the first exploration point serving as the target point to an explored state and updating the target point to the second exploration point; a mapping module, configured to collect mapping data of the to-be-explored area based on the robot traveling to the target point, so as to update the robot's environmental spatial map; The second exploration point is the first exploration point other than the target point.
8. A robot, characterized in that: including processor and memory; The memory is used to store operation instructions; The processor is configured to execute the robot mapping method according to any one of claims 1 to 6 by calling the operation instruction.
9. A storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor, the robot mapping method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Robot autonomous mapping method in strange environment
CN111638526A