A method, system and self-moving robot for determining objects in a regional map
By guiding the self-moving robot to the target location and utilizing the re-localization function, combined with SLAM technology to match environmental features, the problem of inaccurate identification of indoor object locations by the self-moving robot is solved, achieving accurate object positioning on the map and normal execution of the cleaning function.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-24
- Publication Date
- 2026-04-07
AI Technical Summary
The self-propelled robot's accuracy in identifying the location of indoor doors is not high, causing the map zoning and cleaning functions to malfunction.
The user manually or remotely guides the self-moving robot to the target location, uses the repositioning function to determine the object's position in a pre-built map, and combines SLAM technology to match environmental features to improve recognition accuracy.
It enables accurate location determination of objects in a regional map, simplifies the need for recognition accuracy that relies on self-moving robots, and improves the accuracy of map zoning and cleaning functions.
Smart Images

Figure CN112257510B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of automation technology, and in particular to a method, system, and self-moving robot for identifying objects in a region map. Background Technology
[0002] Autonomous mobile robots can create an indoor map by recognizing the environment. They can then plan cleaning paths within this map and execute cleaning functions. Currently, autonomous mobile robots can perform special functions such as map zoning and cleaning by zone by recognizing the location of indoor doors. However, because indoor environments are often complex, the accuracy of door location recognition may be low, leading to incorrect door identification or even failure to identify the exit point. This would prevent the subsequent map zoning and zone-based cleaning functions from functioning properly. Summary of the Invention
[0003] The purpose of this application is to provide a method, system, and self-moving robot for identifying objects in a region map, which can accurately identify indoor objects in a region map.
[0004] To achieve the above objectives, this application provides a method for determining an object in a regional map, the method comprising: a self-moving robot responding to a user instruction to determine to enter an object positioning mode; the self-moving robot determining the position of at least one target location to which it has been to be located in a pre-constructed map of a target region; and the self-moving robot determining the position of a target object in the map of the target region based on the position of the at least one target location.
[0005] To achieve the above objectives, this application also provides a system for determining objects in a regional map, the system comprising: an instruction response unit for determining to enter an object positioning mode in response to a user instruction; a target location determination unit for determining the position of at least one target location to which it is being directed in a pre-constructed map of a target region; and a target object determination unit for determining the position of a target object in the map of the target region based on the position of the at least one target location.
[0006] To achieve the above objectives, this application also provides a self-moving robot, which includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, performs the following functions: the self-moving robot, in response to a user instruction, determines to enter an object positioning mode; the self-moving robot determines the position of at least one target location to which it has been to in a pre-constructed map of a target area; and the self-moving robot, based on the position of the at least one target location, determines the position of a target object in the map of the target area.
[0007] As can be seen from the above, the technical solution provided by one or more embodiments of this application allows the self-moving robot to be guided to a target location within the target area after constructing a map of the target area, through manual handling or remote control by the user. This target location can be a location related to the object to be identified, such as either side of a door or the four vertices of a bed. After being guided to the target location, the self-moving robot can identify the position of the target location on the map of the target area through a repositioning function. Since multiple points of the object are identified on the map of the target area, the corresponding object can be accurately determined on the map of the target area by delineating these points. Therefore, the technical solution provided by this application does not overly rely on the self-moving robot's accuracy in recognizing indoor objects; instead, it determines the object on the map through repositioning, which is not only simple but also accurately determines the object's position on the map. Attached Figure Description
[0008] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0009] Figure 1 This is a schematic diagram illustrating the method steps for determining objects in a regional map according to an embodiment of the present invention;
[0010] Figure 2 This is a schematic diagram of the repositioning of the door in an embodiment of the present invention;
[0011] Figure 3 This is a schematic diagram of the repositioning of the sofa in an embodiment of the present invention;
[0012] Figure 4 This is a schematic diagram of the repositioning of the passageway in an embodiment of the present invention;
[0013] Figure 5 This is a schematic diagram illustrating the scene of determining the position of the door in an embodiment of the present invention;
[0014] Figure 6 This is another scenario diagram illustrating the determination of the door's position in an embodiment of the present invention;
[0015] Figure 7 This is a schematic diagram illustrating the scene of determining the position of the sofa in an embodiment of the present invention;
[0016] Figure 8This is a schematic diagram of the functional modules of the system for determining objects in a regional map according to an embodiment of the present invention;
[0017] Figure 9 This is a schematic diagram of the structure of the self-moving robot in an embodiment of the present invention. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0019] This application provides a method for identifying objects in a regional map, which can be applied to a self-moving robot. The self-moving robot can be an intelligent device with cleaning capabilities. For example, the self-moving robot may include one or more processors and one or more memories storing computer programs, as well as one or more sensors. The one or more sensors can be used to collect data about the self-moving robot itself and data related to its surrounding environment during movement. For example, a camera (image sensor) can be installed on the self-moving robot to collect environmental features during the cleaning process and construct an indoor map based on these features. In other application scenarios, a LiDAR can also be installed on the self-moving robot to collect point clouds of the indoor environment and construct an indoor map based on the collected point clouds. Furthermore, the self-moving robot may also include audio / video components, power supply components, side brushes, a built-in trash can, and other components. In practical applications, this self-moving robot can be manufactured as a sweeping robot, a window cleaning robot, or other products with cleaning functions, depending on the functions implemented.
[0020] Please see Figure 1 One embodiment of this application provides a method for determining objects in a region map, which may include the following steps.
[0021] S1: The self-moving robot responds to the user's command and determines to enter the object positioning mode.
[0022] S3: The self-moving robot determines the location of at least one target location it has been to in a pre-built map of the target area.
[0023] S5: The self-moving robot determines the position of the target object in the map of the target area based on the position of the at least one target location.
[0024] In this embodiment, the self-moving robot can utilize SLAM (Simultaneous Localization and Mapping) technology to construct a map of the target area. This target area can be the area that needs to be cleaned. In existing technologies, self-moving robots can identify the locations of doors during map construction and mark them on the map. However, due to limitations in the identification algorithm, it may not be able to identify all doors within the target area. Therefore, after the map is constructed, the user usually needs to manually determine the door locations on the map. However, the user may not be able to understand the constructed map and thus cannot accurately mark the door locations on the map.
[0025] Therefore, in this embodiment, after completing map construction, the self-moving robot can be manually moved by the user to the actual location of the door in the target area. Alternatively, the self-moving robot can respond to the user's remote control commands and move to the actual location of the door in the target area. Since users are usually familiar with the actual environment of the target area, the self-moving robot can be accurately guided to the door's location. To accurately determine the door's location in the constructed map, the self-moving robot can be guided to both sides of the door sequentially. For example, in... Figure 2 In the process, the mobile robot can be guided to the target location (a solid black circle and a solid white circle) in turn, and the exit location can be accurately marked on the map through these two target locations.
[0026] In one implementation, before the self-propelled robot is towed, the user can issue an object positioning command to it. This command can be issued by the user via a mobile app, or via a button or touchscreen installed on the self-propelled robot. Upon receiving the object positioning command, the self-propelled robot enters object positioning mode. In this mode, the self-propelled robot can detect whether it is in contact with the ground and its own movement status, and subsequently determine whether a repositioning function needs to be triggered based on the detection results.
[0027] In this embodiment, the target location can be either the boundary of the projection area where the target object is located, or a point within the projection area where the target object is located. For example, when the target object is a door, the target location can be the location of the two edges of the door, or the center point between the two edges. As another example, when the target object is a sofa, the target location can be multiple points around the sofa.
[0028] In practical applications, the technical solution provided in this embodiment can not only determine the location of a door on a map, but also the location of any object on the map. This object can be an entity located within the target area. For example, the object can be an object such as a bed, sofa, aisle, table and chairs, or TV cabinet. For different objects, the self-moving robot can be led to a different number of target locations. For example, to determine the location of a sofa on the map, the self-moving robot can be led to locations such as... Figure 3 The seven target locations are shown.
[0029] As can be seen from the above, for an object to be determined within a target area, the self-propelled robot can be towed to multiple target locations within the target area. Through the joint positioning of these locations, the actual location of the object to be determined can be finally determined on the map of the target area.
[0030] In this embodiment, after being guided to the target location, the self-moving robot can activate a repositioning function. This function allows the self-moving robot to reposition itself at the target location, thereby determining the location of the target location on a constructed map of the target area. Thus, by placing the self-moving robot at the target location in the actual environment, the location of the target location can be accurately determined on the constructed map. This results in high accuracy when identifying objects on the map based on the target location.
[0031] In practical applications, once the self-propelled robot is towed to a target location, the user can issue an object location command. This command can be issued remotely via a mobile app or by touching the object location function button on the robot's control panel. For example, the user can issue an object location command each time the self-propelled robot is towed to a new target location. At each target location, the self-propelled robot can respond to the user's command, perform a relocation function, and thus determine the current target location's position on a pre-built map of the target area.
[0032] In another application scenario, when a user needs to locate an object, they can first issue an object location command to the self-moving robot, and then move the self-moving robot to different target locations sequentially. The self-moving robot can detect its contact with the ground. After being moved to the target location, if it detects contact with the ground, it can perform a re-localization function to determine the current target location's position on a pre-built map of the target area.
[0033] In this embodiment, when the self-mobilizing robot performs the relocalization function, it can match the environmental features at the target location with the environmental features used when building the map, thereby identifying the target location's position in the constructed map. Specifically, the self-mobilizing robot can use the same methods as when building the map to perform the relocalization function. For example, if the self-mobilizing robot uses laser SLAM technology to build the map of the target area, then when performing the relocalization function, it can collect point clouds with angle and distance information at the target location using a laser radar. Then, the self-mobilizing robot can compare the collected point clouds with the point clouds used when building the map, thereby determining the point cloud that matches the relocalization. When building the map, each point cloud can record corresponding pose information. Thus, after determining the matching point cloud, the pose information corresponding to the matching point cloud can be read. The position represented by this pose information can then be used as the self-mobilizing robot's current position in the map of the target area.
[0034] For example, if a self-moving robot uses visual SLAM technology to build a map of a target area, then when performing a relocalization function, it can acquire image information of the target location and extract feature points from the image information. The self-moving robot can then compare the image information and feature points with the image information and feature points used when building the map, thereby determining the matching image information and feature points. Similarly, this image information and feature points can also record corresponding pose information; the position represented by this pose information can then be used as the self-moving robot's current position on the map of the target area.
[0035] As can be seen from the above, the autonomous mobile robot can collect environmental features at the target location within the target area. These environmental features can vary depending on the SLAM technology used, and may include point cloud features or image features. Then, the collected environmental features can be matched with the environmental features used in map construction to obtain a matching result. Finally, the pose information corresponding to the matching result can be read, and the position represented by the pose information can be used as the location of the autonomous mobile robot in the map of the target area. In this way, the current location of the autonomous mobile robot can be determined in the map of the target area based on the matching result.
[0036] In this embodiment, by mapping real-world target locations to their positions on a constructed map, objects characterized by their identified locations can be determined within the map of the target area. Specifically, please refer to... Figure 2 and Figure 3 Once the location of the target point on the map is identified, the identified locations can be connected sequentially to determine the location of the object on the map.
[0037] It's important to note that after determining the location of an object on the map of the target area, that object's position can be represented by the coordinates of a series of pixels on the map. These pixel coordinates can be used as the object's data and stored in association with the map of the target area. This way, when the self-moving robot acquires map data for the target area, it can simultaneously read the associated object data. When it needs to show the user the object's location on the map of the target area, the location represented by the object's data can be displayed on the map, thus completing the process of determining the object on the map. However, when the self-moving robot performs certain functions, it may not need to explicitly display the object's location on the map. In this case, there's no need to render the object's data; it can be processed in the background. For example, after determining the location of a door on the map, the self-moving robot can perform a zoned cleaning function. In this case, the self-moving robot only needs to use a background algorithm to input the door's coordinates into the map for calculation, thereby dividing the map into multiple areas to be cleaned.
[0038] In one implementation, the self-moving robot can respond to a user command carrying an object type and determine whether to enter an object positioning mode for that object type. Specifically, when it is necessary to determine the location of an object on a map of a target area, the user can first set the object type to be determined in the self-moving robot. Of course, the user can also set the object type to be identified in the APP. Subsequently, when issuing an object positioning command to the self-moving robot, the corresponding object type can be included in the command. The object type can be, for example, a door, a sofa, a hallway, a bed, a TV cabinet, etc. Different object types may require the self-moving robot to be led to different numbers of target locations, and the contour drawing method may also differ when the object is finally determined. For example, for a door, usually only two points need to be determined, so the self-moving robot only needs to be led to two target locations. However, for an L-shaped sofa, seven points may need to be determined for accurate positioning, so the self-moving robot needs to be led to seven target locations. For another example, for an L-shaped sofa, when finally outlining the contour on the map, the seven positions can be connected sequentially to form a closed contour, which can represent the position of the sofa on the map. For passageways, please refer to [link / reference]. Figure 4Eight locations can be identified on the map, and these eight locations can be divided into two groups. Each group can be connected by a line, but different groups do not need to be connected to each other. Thus, if the target location includes at least two boundary locations of the projected area of the target object, the positions of these at least two boundary locations on the pre-built map can be connected, and the resulting line segment can be used as the identifier of the target object on the pre-built map. As mentioned above, the number of boundary locations may vary for different types of target objects, and the way these boundary locations are connected may also differ.
[0039] It's important to note that in some application scenarios, even without the user specifying an object type, the self-moving robot can determine the object type based on the number of target locations and / or the positional relationship between them. For example, if the target object can be identified using only two target locations, its object type can be determined as a door. If it requires four target locations to identify, and these four locations form a 1.8m x 2m rectangle, its object type can be determined as a bed. Furthermore, if it requires seven target locations to identify, and these seven locations form an L-shaped area, its object type can be determined as an L-shaped sofa. After automatically identifying the object type, the self-moving robot can display the object type to the user via a screen or app, allowing the user to confirm the correctness of the object type.
[0040] Of course, in some application scenarios, objects of the same type can also be identified by different numbers of target locations. For example, in... Figure 5 In this scenario, when determining the door's location, the user can move the self-propelled robot to the center of the door. After triggering the repositioning function, the self-propelled robot can scan the straight-line distance to the obstacle along a 360-degree arc. For example... Figure 5 As shown, after scanning around, the self-moving robot obtains five line segments, each with two ends corresponding to different obstacles. The robot can then use the shortest line segment as the actual span of the door. Thus, the position of this shortest line segment on the map can be used as the actual position of the door on the map.
[0041] In one implementation, based on the location of the target object on the map of the target area, the self-moving robot can add an identifier for the target object at the corresponding location on a pre-built map of the target area. Specifically, in one application scenario, the self-moving robot can add the identifier for the target object by outlining its contour. After setting the object type of the object to be determined, the self-moving robot can determine the contour outlining method that matches the object type and use the contour outlining method to outline the identified location, thereby drawing the contour of the object to be determined on the map of the target area. Furthermore, as mentioned above, the number of target locations that the self-moving robot needs to guide can vary depending on the object type. Therefore, a location guiding strategy that matches the object type can be queried and displayed, and the location guiding strategy is used to at least limit the lower limit of the number of target locations to be guided. For example, after the user sets the object to be determined as a door in the self-moving robot, the self-moving robot can display on the screen that it currently needs to be guided to two target locations, and can also illustrate the locations of these two target locations so that the user can better understand where the self-moving robot should be guided. Subsequently, after being guided to the target location, the self-propelled robot can respond to user commands and activate its repositioning function, thereby marking the current target location on the map. For each marked target location, the self-propelled robot records the total number of target locations already guided. If the total number of target locations guided for the object to be determined is less than the minimum number defined by the location guiding strategy, the self-propelled robot can play a quantity prompt message to guide it to more target locations. For example, after marking the first target location, the self-propelled robot can announce: "The first location has been marked; please continue to mark the remaining location."
[0042] In another embodiment, the self-moving robot can also select an object identifier corresponding to the object type based on a preset object identifier library, and add the selected object identifier to the corresponding position in a pre-built target area map. Specifically, the object identifier library can be categorized and stored according to object type. For example, the object identifier library can have different object type categories such as sofas, doors, aisles, dining chairs, and dining tables, and each category can be further subdivided. For example, sofas can be divided into L-shaped sofas, round sofas, etc. After determining the object type of the target object and locating the target object's position in the pre-built map, the self-moving robot can mark the position with an object identifier that matches the object type.
[0043] In one implementation, when building a map, the self-moving robot may have already identified the locations of some objects using a recognition algorithm and marked these objects on the map. The self-moving robot can determine whether an object marker already exists near the location of the identified target object in the pre-built target area map. If not, it can add the target object marker to the corresponding location in the pre-built target area map. If so, it can issue a prompt indicating that the object marker is duplicated, or cancel the existing object marker and re-add the corresponding object marker to the target area map. Specifically, since users may not understand maps and the markers on them, when guiding the self-moving robot, it may be led to a previously identified object. In this case, when performing the repositioning function, the self-moving robot can determine whether the current target location already has a corresponding object in the target area map. If there is no corresponding object, the object's location can be determined on the map in the manner described above. If the object already exists on the map, the self-moving robot can issue a prompt indicating that the object is duplicated. For example, a self-propelled robot can announce, "An object has been identified at this location. Please determine whether to cover it," and display "Cover" and "Abandon" options on the screen. If the user selects "Cover," the self-propelled robot can remove the already identified object from the map and re-identify the corresponding object in the target area. If the user selects "Abandon," the self-propelled robot can clear the relocation result and wait for the user to guide it to another target location. This allows the self-propelled robot to correct already labeled objects and avoids re-labeling objects that have already been labeled. For instance, after being guided to a target location, if the user issues an object location command, the self-propelled robot will query the background data and find that the target location has already been recorded, indicating that the object at that location has been labeled. At this point, the self-propelled robot can announce, "An object has been identified at this location. Please determine whether to cover it," and display "Cover" and "Abandon" options on the screen. If the user selects "Overwrite," the self-moving robot can unmark the object on the map and re-identify the corresponding object in the target area. If the user selects "Abandon," the self-moving robot can clear the current location result and wait for the user to guide it to another target location.
[0044] In one implementation, after the mobile robot identifies an object on the map, during subsequent cleaning in the target area, a cleaning strategy matching the object type can be selected, and cleaning can be performed in the area where the object is located according to the cleaning strategy. For example, for a bed, the selected cleaning strategy could be to focus on cleaning under the bed. In this way, suitable cleaning strategies can be selected for different types of objects to improve cleaning efficiency.
[0045] As can be seen from the above, the technical solution provided in this application can not only accurately locate the position of the door, but also determine any object within the target area on the map.
[0046] In a specific application scenario, after the robot vacuum cleaner completes the construction of an indoor map, the user needs to locate the L-shaped sofa on the map. The user can set the object to be located as the L-shaped sofa in the robot vacuum cleaner settings. At this time, a guide video about the L-shaped sofa can be displayed on the robot vacuum cleaner's screen. This guide video instructs the user to place the robot vacuum cleaner at seven target locations on the L-shaped sofa and triggers the robot vacuum cleaner's repositioning function. The user can then move the robot vacuum cleaner to the first target location on the L-shaped sofa according to the guide video's instructions. After moving the robot vacuum cleaner, the repositioning function is triggered again. The robot vacuum cleaner can then map the location of the first target location onto the constructed map and save this location information. The robot vacuum cleaner can then continue playing the guide video and announce, "The first target location has been located. Please continue moving the robot vacuum cleaner to the remaining six target locations." The user can then locate the remaining six target locations one by one. After locating all seven target locations, the robot vacuum cleaner can outline the L-shaped sofa on the map, thus completing the process of locating the L-shaped sofa.
[0047] In another specific application scenario, when locating a door, the user guides the robot vacuum cleaner to the first target location of the door using a short video. Upon locating this target location, the robot vacuum cleaner finds that a corresponding door has already been identified on the map. At this point, the robot vacuum cleaner can play a voice prompt, "An object has been identified here. Please confirm whether to cover this object," and provide two options: "Cover" and "Discard." The user can choose "Cover," in which case the robot vacuum cleaner will remove the door from the map and record the location of the first target location. Then, guided by the robot vacuum cleaner, the user can locate the second target location, ultimately completing the door identification process.
[0048] In another specific application scenario, during the map-building process, the robot vacuum cleaner has already marked the door positions on the map using its object recognition algorithm. However, due to low recognition accuracy, these door positions are somewhat off, causing the zoned cleaning function to fail. Specifically, the robot vacuum cleaner can determine whether the door position is off based on the execution results of the zoned cleaning function. If the zoned cleaning function still cannot complete the normal zoned operation after a specified number of executions, it can be determined that the door position may be off. In this case, the robot vacuum cleaner can push an error message to the display screen or the user's mobile phone to prompt the user to re-determine the door position. After receiving the push error message, the user can clear all the door positions from the already built map, then move the robot vacuum cleaner to the center of the door position and trigger the repositioning function. In addition, the door position can also be determined by the user. The user can view the completed map and find that the door position on the map does not fit well with the walls on both sides, indicating that the door position is off. The user can clear all the door positions from the already built map, then move the robot vacuum cleaner to the center of the door position and trigger the repositioning function. Robotic vacuum cleaners can use LiDAR to scan their surroundings 360 degrees, identifying the distance to obstacles at different angles. Subsequently, the robot vacuum can piece together the distances to these obstacles according to their angles. For example... Figure 5 As shown, two distances with an angle difference of 180 degrees can be joined to form a line segment. Since the user can ensure there are no obstacles too close to the door during repositioning, the shortest line segment length obtained by the robot vacuum is actually the distance between the two door frames. Thus, based on its current position and the robot vacuum's pose information corresponding to the shortest line segment length, the robot vacuum can determine its actual location on the map.
[0049] In another specific application scenario, for an object to be identified, the user can sequentially move the robot vacuum cleaner to multiple different target locations and issue object positioning commands at each target location. For example... Figure 6As shown, when needing to locate a door on a map, the user can move the robot vacuum from location A to either side of the door. Upon reaching location B, the user can put the robot vacuum down and issue a location command via their phone or a button on the robot vacuum. In response, the robot vacuum can locate location B and pinpoint its location on the map. Then, the user can move the robot vacuum to location C, and similarly issue a location command via their phone or a button on the robot vacuum. In response, the robot vacuum can locate location C and pinpoint its location on the map. After moving the robot to these two locations, it can automatically determine the exit location on the map based on the locations of these two locations. Alternatively, the robot vacuum can wait for the user to issue a "location complete" or "confirm object" command before determining the exit location on the map.
[0050] In another specific application scenario, for an object to be located, the user can sequentially move the robot vacuum cleaner to multiple different target locations, but the user can only issue the object location command at the first target location. For example... Figure 7 As shown, when a user needs to determine the location of a sofa, they can move the robot vacuum cleaner from location D to target location E, and then issue a location command at target location E. In this case, the robot vacuum cleaner can first locate target location E. Then, when the user moves the robot vacuum cleaner from target location E to target location F, during this process, the robot vacuum cleaner can detect the distance to the ground through a distance sensor, or detect its own motion state through an accelerometer and gyroscope, thereby determining whether it has been pulled to the target location. When it detects contact with the ground or detects that it has been stationary for a specified period of time, it can determine that it has been pulled to the target location. At this time, the self-moving robot can perform a repositioning function at the target location to determine the position of the target location in a pre-constructed target area map. For example, after the user moves the robot vacuum cleaner to target location F, if the robot vacuum cleaner detects that it has been stationary for 3 seconds, it can automatically activate the positioning function to determine the position of target location F on the map. Similarly, the robot vacuum cleaner can automatically locate target locations G and H. After completing the transport to the target locations, the robot vacuum can automatically determine the sofa's position on the map based on the locations of these four target locations. Alternatively, the robot vacuum can wait for the user to issue a "location complete" or "confirm object" command; only after receiving such a command will the robot vacuum determine the sofa's position on the map based on the locations of the four target locations.
[0051] Furthermore, in another application scenario, after the robot vacuum is transported to and located at target location E, it can employ an "edge-following" strategy, automatically moving close to the sofa and stopping automatically at corners. Specifically, the robot vacuum can detect its own rotation angle during movement. If the rotation angle exceeds a certain fixed value, it is considered to have passed a corner. For example, when the robot vacuum detects a rotation angle exceeding 60°, it can determine that it is passing a corner and automatically stop. Thus, the robot vacuum can stop when it automatically travels to target locations F, G, and H. After stopping, it can automatically perform a repositioning function to locate target locations F, G, and H. In this way, the self-moving robot can move along the boundary of the target object, identifying corners as target locations, and performing repositioning at corners to determine the corner's position on a pre-built map of the target area. As can be seen, after being moved to the first target location, the robot vacuum can respond to the user's object positioning command and perform a repositioning function to determine the position of the first target location within a pre-built map of the target area. Subsequently, it can move along the outer contour of the target object according to a preset travel strategy and stop at corners. At corners, the robot vacuum can perform a repositioning function to determine the corner's position within the pre-built map of the target area. After completing the positioning of the target location, the robot vacuum can automatically determine the sofa's position on the map based on the positions of these four target locations. Alternatively, the robot vacuum can wait for the user to issue a "positioning complete" or "object confirmed" command; only upon receiving such a command will the robot vacuum determine the sofa's position on the map based on the positions of the four target locations.
[0052] Please see Figure 8 This application also provides a system for identifying objects in a regional map, the system comprising:
[0053] The instruction response unit is used to respond to user instructions and determine whether to enter the object positioning mode.
[0054] The target location determination unit is used to determine the position of at least one target location to which it is to be pulled in on a pre-constructed map of the target area.
[0055] The target object determination unit is used to determine the position of the target object in the map of the target area based on the position of the at least one target location.
[0056] Please see Figure 9One embodiment of this application also provides a self-moving robot, which includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, performs the following functions:
[0057] The mobile robot responds to user commands and determines whether to enter object positioning mode;
[0058] The self-mobile robot determines the location of at least one target location it has been to in a pre-built map of the target area;
[0059] The self-moving robot determines the location of the target object in the map of the target area based on the location of the at least one target location.
[0060] In this embodiment, the memory may include a physical device for storing information, typically digitizing the information and then storing it using a medium employing electrical, magnetic, or optical methods. This memory may include: devices that store information using electrical energy, such as RAM and ROM; devices that store information using magnetic energy, such as hard disks, floppy disks, magnetic tapes, magnetic core memory, bubble memory, and USB flash drives; and devices that store information using optical methods, such as CDs or DVDs. Of course, there are other types of memory, such as quantum memories and graphene memories.
[0061] In this embodiment, the processor can be implemented in any suitable manner. For example, the processor can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers, etc.
[0062] The various embodiments in this specification are described in a progressive manner. For the same or similar parts between the various embodiments, please refer to each other. The focus of each embodiment is to describe the differences from other embodiments.
[0063] As can be seen from the above, the technical solution provided by one or more embodiments of this application allows the self-mobilizing robot to be guided to a target location within the target area after constructing a map of the target area, through manual handling or remote control by the user. This target location can be a location related to an object, such as either side of a door or the four corners of a bed. After being guided to the target location, the self-mobilizing robot can identify the position of the target location on the map of the target area through a repositioning function. Since multiple points of the object are determined on the map of the target area, the corresponding object can be accurately identified on the map of the target area by delineating these points. Therefore, the technical solution provided by this application does not overly rely on the self-mobilizing robot's accuracy in recognizing indoor objects; instead, it determines the object on the map through repositioning, which is not only simple but also accurately determines the object's position on the map.
[0064] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware implementation, a completely software implementation, or an implementation combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0065] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0066] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0067] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0068] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0069] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0070] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0071] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0072] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of this application should be included within the scope of the claims of this application.
Claims
1. A method for identifying objects in a regional map, characterized in that, The method includes: The mobile robot responds to user commands and determines whether to enter object positioning mode; The self-mobile robot determines the location of at least one target location it has been to in a pre-built map of the target area; The self-mobile robot uses the at least one target location as the boundary location of the projection area where the target object is located and / or a point within the projection area where the target object is located, and determines the position of the target object in the map of the target area based on the position of the boundary location of the projection area where the target object is located and / or a point within the projection area where the target object is located. The self-moving robot determines the location of at least one target location it has been to in a pre-constructed map of the target area, including: The self-moving robot moves along the boundary of the target object and identifies the corner as the target location. At the corner, it performs a repositioning function to determine the position of the corner in the pre-built map of the target area.
2. The method according to claim 1, characterized in that, The method further includes: Based on the location of the target object in the map of the target area, add the identifier of the target object to the corresponding location in the pre-built map of the target area.
3. The method according to claim 1, characterized in that, The self-moving robot determines the location of at least one target location it has been to in a pre-built map of the target area, and further includes: The autonomous mobile robot determines whether it has been towed to the target location. If so, the autonomous mobile robot performs a repositioning function at the target location to determine the position of the target location in a pre-built map of the target area.
4. The method according to claim 2, characterized in that, The self-moving robot responds to user commands and determines to enter object positioning mode, including: The mobile robot responds to a user instruction carrying an object type and determines to enter an object positioning mode for that object type.
5. The method according to claim 4, characterized in that, Adding the identifier of the target object to the corresponding location in the pre-constructed map of the target area includes: determining a contour drawing method that matches the object type, and using the contour drawing method to draw the identified location, so as to draw the identifier of the target object in the map of the target area; or, Based on a preset object identifier library, select an object identifier corresponding to the object type and add the selected object identifier to the corresponding position in the pre-built target area map.
6. The method according to claim 1, characterized in that, The method further includes: Determine whether object identifiers already exist near the location of the identified target object in the pre-constructed target area map; If not, add the identifier of the target object to the corresponding location in the pre-built map of the target area; If so, issue a prompt message indicating that the object identifier is duplicated, or cancel the existing object identifier and re-add the object identifier corresponding to the target object to the corresponding position in the map of the target area.
7. The method according to claim 2, characterized in that, The target location includes at least two boundary locations of the projection area where the target object is located; Adding the identifier of the target object to the corresponding location in the pre-constructed target area map includes: Connect the positions of the at least two boundary locations in the pre-built map, and use the resulting line segment as the identifier of the target object.
8. The method according to claim 1, characterized in that, The method further includes: The object type of the target object is determined based on the number of target locations and / or the positional relationship between the target locations.
9. A system for identifying objects in a regional map, characterized in that, The system includes: The instruction response unit is used to respond to user instructions and determine whether to enter the object positioning mode; The target location determination unit is used to determine the position of at least one target location to which it is to be pulled in within a pre-built map of the target area. The target object determination unit is used to take the at least one target location as the boundary location of the projection area where the target object is located and / or a point within the projection area where the target object is located, and determine the position of the target object in the map of the target area based on the position of the boundary location of the projection area where the target object is located and / or a point within the projection area where the target object is located; The process of the self-mobile robot determining the location of at least one target location it has been to in a pre-built map of the target area includes: The self-moving robot moves along the boundary of the target object and identifies the corner as the target location. At the corner, it performs a repositioning function to determine the position of the corner in the pre-built map of the target area.
10. A self-moving robot, characterized in that, The self-moving robot includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, performs the following functions: The mobile robot responds to user commands and determines whether to enter object positioning mode; The self-mobile robot determines the location of at least one target location it has been to in a pre-built map of the target area; The self-mobile robot uses the at least one target location as the boundary location of the projection area where the target object is located and / or a point within the projection area where the target object is located, and determines the position of the target object in the map of the target area based on the position of the boundary location of the projection area where the target object is located and / or a point within the projection area where the target object is located. The self-moving robot determines the location of at least one target location it has been to in a pre-constructed map of the target area, including: The self-moving robot moves along the boundary of the target object and identifies the corner as the target location. At the corner, it performs a repositioning function to determine the position of the corner in the pre-built map of the target area.
Citation Information
Patent Citations
Self-moving robot relocation method and self-moving robot using method
CN107037806A
A map construction method and system, a positioning method and system, a navigation method and system, a control method and system and a mobile robot
CN109643127A