Multi-robot cooperation method and cooperation system
By having a main robot assist sub-robots in collaboration, and utilizing pose perception units and motion adjustments, the problem of low robot efficiency and coverage in complex environments is solved, resulting in a more efficient user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-03
- Publication Date
- 2026-03-17
AI Technical Summary
In complex and ever-changing work environments, robots struggle to guarantee work efficiency and coverage, resulting in a poor user experience.
The system employs a collaborative approach between a master robot and a sub-robot. The sub-robot's pose perception unit determines the pose information, while the master robot assists the sub-robot in relocalization. When the master robot cannot perceive the sub-robot, it performs search or response actions to improve perception capabilities.
It improves the efficiency and coverage of multi-robot collaborative systems in complex environments, reduces user intervention, and enhances the user experience.
Smart Images

Figure CN121667582A_ABST
Abstract
Description
[0001] This application is a divisional application of the original application with the application number 202410405012.6 and the original filing date of April 3, 2024, and the entire contents of the original application are incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the technical field of intelligent robots, in particular to a multi-robot cooperation method and a cooperation system. BACKGROUND
[0003] With the development of science and technology and the improvement of people's living standards, robots are increasingly applied in various places, such as homes, shopping malls, hospitals, and office environments, to improve work efficiency. However, the working environment faced by robots is usually complex and variable. Therefore, how to ensure the work efficiency and coverage rate of robots in a complex and variable working environment and improve user experience is very crucial. SUMMARY
[0004] The present application provides a multi-robot cooperation method and a cooperation system to solve the problem of how to ensure the work efficiency and coverage rate of robots in a complex and variable working environment and improve user experience.
[0005] In some embodiments of the present application, the multi-robot includes a master robot and at least one sub-robot; the sub-robot is at least used to perform supplementary work on an area that is not workable by the master robot; the master robot is configured with a sub-robot pose perception unit, which is used to determine the pose information of the sub-robot relative to the master robot, so that the master robot assists the sub-robot to perform repositioning based on the pose information; and the method includes:
[0006] In the case that the master robot assists the sub-robot to perform repositioning and the sub-robot cannot be perceived by the sub-robot pose perception unit of the master robot, the master robot performs a search action and / or the sub-robot performs a response action, so that the master robot attempts to perceive the sub-robot.
[0007] For example, in the case that the position of the sub-robot and the position of the master robot meet the repositioning requirements of the sub-robot pose perception unit, the master robot assists the sub-robot to perform repositioning.
[0008] Optionally, in the case that the sub-robot is located within the detection range of the sub-robot pose perception unit and there is no obstacle to block the detection of the sub-robot by the sub-robot pose perception unit, the master robot assists the sub-robot to perform repositioning.
[0009] In some implementations, when the sub-robot is within the detection range of the sub-robot pose perception unit and there are no obstacles obstructing the sub-robot pose perception unit from detecting the sub-robot, the main robot assists the sub-robot in performing repositioning.
[0010] For example, before the main robot assists the sub-robot in performing relocation, the method further includes:
[0011] The sub-robot and / or the main robot move to a position that meets the repositioning requirements of the sub-robot's pose sensing unit.
[0012] Optionally, the sub-robot and / or the main robot moves to a position that meets the repositioning requirements of the sub-robot's pose sensing unit, including:
[0013] When the main robot confirms that the sub-robot is performing relocation, the main robot moves to the host robot's work area around the sub-robot's current work area.
[0014] Optionally, the sub-robot moves from the sub-robot's current work area to the host work area surrounding the sub-robot's work area; or, the sub-robot moves towards the boundary between the sub-robot's work area and the host work area.
[0015] For example, the search action includes:
[0016] The main robot moves towards the first target location on the work map until it senses the sub-robot before triggering the first preset stop condition, or until the main robot triggers the first preset stop condition; wherein...
[0017] The first preset stopping condition includes at least the main robot moving to the first target position;
[0018] The first target position is the position of the sub-robot on the work map when the main robot assists the sub-robot in performing relocation, or the release position of the sub-robot marked on the work map.
[0019] Optionally, the search action includes:
[0020] Within a specified range relative to a reference position, the main robot moves around the reference position until the main robot senses the sub-robot before triggering a second preset stop condition, or the main robot triggers the second preset stop condition; wherein...
[0021] The second preset stopping condition includes at least one of the following conditions: the position of the main robot exceeds the specified range; the movement time of the main robot exceeds the preset movement duration; the movement distance of the main robot exceeds the preset distance threshold.
[0022] The reference position is the position of the main robot on the work map when the main robot assists the sub-robot in performing repositioning, or the position of the sub-robot on the work map when the main robot assists the sub-robot in performing repositioning, or the release position of the sub-robot marked on the work map.
[0023] In some embodiments, before the main robot performs the search action, it further includes:
[0024] The main robot performs relocation;
[0025] When the pose information of the main robot is determined to be without deviation based on the relocation information, the main robot performs a search action;
[0026] When the pose information of the main robot is determined to be deviated based on the repositioning information, the main robot adjusts its pose so that the adjusted pose meets the repositioning requirements of the slave robot pose perception unit.
[0027] For example, the response action includes:
[0028] The sub-robot moves towards the second target location on the work map until it is detected by the main robot before triggering the first preset stop condition, or until the sub-robot triggers the third preset stop condition; wherein...
[0029] The third preset stopping condition includes at least the sub-robot moving to the second target position;
[0030] The second target position is the position of the main robot on the work map when the main robot assists the sub-robot in performing relocation, or the release position of the sub-robot marked on the work map.
[0031] Optionally, the response action includes:
[0032] Within a specified range relative to a reference position, the sub-robot moves around the reference position until it is sensed by the main robot before triggering a fourth preset stop condition, or until the sub-robot triggers the fourth preset stop condition; wherein,
[0033] The fourth preset stopping condition includes at least one of the following conditions: the position of the sub-robot exceeds the specified range; the movement time of the sub-robot exceeds the preset movement duration; the movement distance of the sub-robot exceeds the preset distance threshold.
[0034] The reference position is the position of the main robot on the work map when the main robot assists the sub-robot in performing repositioning, or the position of the sub-robot on the work map when the main robot assists the sub-robot in performing repositioning, or the release position of the sub-robot marked on the work map.
[0035] In some embodiments, after the main robot performs a search action and / or the sub-robot performs a response action, and if the main robot does not detect the sub-robot, the main robot and / or the sub-robot issue a reminder, which is used to request the user or a third-party device to assist in finding the sub-robot.
[0036] In other embodiments provided in this application, the multi-robot system includes a master robot and at least one sub-robot; the sub-robot is used to perform supplementary tasks in areas where the master robot cannot operate; the master robot is equipped with a sub-robot pose sensing unit, which is used to determine the pose information of the sub-robot relative to the master robot, so that the master robot accompanies the sub-robot to perform tasks or switch areas based on the pose information; the method includes:
[0037] If the main robot accompanies the sub-robot to perform tasks or switch areas, and the main robot cannot perceive the sub-robot, the sub-robot stops moving, and the main robot moves to re-perceive the sub-robot.
[0038] If the main robot regains awareness of the sub-robot, the sub-robot continues to perform tasks or switch areas while accompanied by the main robot.
[0039] For example, if the sub-robot is confirmed to be outside the detection range of the sub-robot pose perception unit based on the task map, the master robot moves towards the location of the sub-robot until the master robot senses the sub-robot; and / or,
[0040] If, based on the work map, it is confirmed that the sub-robot is obstructed by an obstacle, preventing the main robot from sensing the sub-robot, the main robot will perform obstacle avoidance maneuvers until it senses the sub-robot again.
[0041] Optionally, the method further includes:
[0042] If the main robot cannot perceive the sub-robot when it is confirmed based on the operation map that the sub-robot is within the detection range of the sub-robot pose perception unit and there are no obstacles obstructing the sub-robot, the main robot performs a search action and / or the sub-robot performs a response action to enable the main robot to attempt to perceive the sub-robot.
[0043] Optionally, the method further includes:
[0044] After the main robot performs a search action and / or the sub-robot performs a response action, and if the main robot does not detect the sub-robot, the main robot and / or the sub-robot issue a reminder, which is used to request the user or a third-party device to assist in finding the sub-robot.
[0045] This application provides a multi-robot collaboration method, wherein the multi-robot includes a master robot and at least one sub-robot; the sub-robot is used to perform supplementary tasks in areas where the master robot cannot operate; the master robot is equipped with a sub-robot pose perception unit, which is used to determine the pose information of the sub-robot relative to the master robot; the method includes: when the master robot is mapping, or cleaning without mapping, or triggering preliminary localization of the sub-robot, the master robot performs preliminary localization of the sub-robot to determine the location of the sub-base station corresponding to the sub-robot; wherein, when performing preliminary localization of the sub-robot, the sub-robot is located in the sub-base station.
[0046] Optionally, in the event of triggering preliminary localization of the sub-robot, after the main robot is freed from hijacking, the main robot is relocated first, and then the sub-robot is initially located; wherein, the main robot is placed in a preset localization area by hijacking, and the preset localization area is the area within the detection range of the sub-robot pose perception unit for the sub-robot.
[0047] This application provides a multi-robot collaboration method, wherein the multi-robot includes a master robot and at least one sub-robot; the sub-robot is used to perform supplementary tasks in areas where the master robot cannot operate; the master robot is equipped with a sub-robot pose perception unit, which is used to determine the pose information of the sub-robot relative to the master robot; the method includes: the master robot performing tasks or switching areas with the sub-robot based on the pose information; wherein, switching areas refers to switching the sub-robot's operating area, or the sub-robot moving from a sub-base station to the sub-robot's operating area, or the sub-robot moving from the sub-robot's operating area to the sub-base station.
[0048] This application provides a multi-robot collaboration method, wherein the multi-robot includes a master robot and at least one sub-robot; the sub-robot is used to perform supplementary tasks in areas where the master robot cannot operate; the master robot is equipped with a sub-robot pose perception unit, which is used to determine the pose information of the sub-robot relative to the master robot; the method includes: when a sub-robot is trapped, the master robot goes to the location where the sub-robot is trapped and sends an escape path to the sub-robot, so that the sub-robot can perform an escape based on the escape path.
[0049] This application provides a multi-robot collaborative system, including:
[0050] At least one processor; and a memory communicatively connected to said at least one processor;
[0051] The memory stores instructions that can be executed by the at least one processor, which enables the at least one processor to perform a multi-robot collaborative method.
[0052] The multi-robot collaboration method and system provided in this application, when the master robot assists the sub-robot in performing relocation and the master robot's sub-robot pose perception unit cannot perceive the sub-robot, the master robot performs a search action and / or the sub-robot performs a response action, so that the master robot attempts to perceive the sub-robot, thereby reducing user intervention, improving the intelligence of the multi-robot collaboration system, and improving the working efficiency and coverage of the robot system in complex and changing working environments, and enhancing the user experience. Attached Figure Description
[0053] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0054] Figure 1 A schematic diagram of the main robot;
[0055] Figure 2 This is a schematic diagram of the sub-robot's structure;
[0056] Figure 3 A schematic diagram of a scenario involving the working area of the main robot and its sub-robots;
[0057] Figure 4 Another scene diagram illustrating the working area of the main robot and its sub-robots;
[0058] Figure 5 This is a schematic diagram of a multi-robot collaborative system.
[0059] Figure 6 This is a system schematic diagram of a multi-robot collaborative system provided in one embodiment of this application;
[0060] Figure 7 This is a schematic diagram showing the dimensional relationship between the main robot and the sub-robot provided in one embodiment of this application;
[0061] Figure 8 This is a schematic diagram showing the dimensional relationship between the main robot and the sub-robot provided in one embodiment of this application. Detailed Implementation
[0062] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without inventive effort are within the scope of protection of this invention.
[0063] This application provides a multi-machine collaborative system, including a main robot, sub-robots, and a base station. The appearance of the main robot and sub-robots as a whole is not limited. For example, the main robot may have a storage space for carrying the sub-robots, and the sub-robots may be stored inside the main robot. And / or, the main robot may have a connecting device that moves the sub-robots, and the sub-robots can be physically connected to the main robot through the connecting device. And / or, the sub-robots and the main robot may not have a hardware connection and are physically separated. Besides these, the main robot and sub-robots may also have other appearance styles, which can be set according to the application scenario requirements, and will not be elaborated here.
[0064] A communication connection can be established between the main robot and the sub-robot. For example, the main robot and the sub-robot can establish a communication connection through wired or wireless means. The main robot and the sub-robot can communicate directly, for example, through a data cable, Bluetooth, infrared, or Wi-Fi. The main robot and the sub-robot can also communicate indirectly, through smart terminals (such as mobile phones) or servers. Other communication methods are also possible between the main robot and the sub-robot, which can be set according to the application scenario and will not be elaborated here.
[0065] The main robot and sub-robots can be of various types, such as cleaning robots, lawnmowers, and food delivery robots. They can be the same or different types. In one example scenario, both the main robot and sub-robots can be cleaning robots. Cleaning robots can be sweeping robots, mopping robots, sweeping and mopping robots, window cleaning robots, etc.
[0066] This specification uses the example of a main robot and a sub-robot being cleaning robots for illustration. Other types of equipment can be referred to, but will not be elaborated upon.
[0067] A cleaning robot may include a body, a walking system, a cleaning module, a control system, and a sensing system. The body contains mounting cavities for installing certain structures. The shape of the body is not limited; it can be, but is not limited to, circular, D-shaped, triangular, or other shapes.
[0068] refer to Figure 1 The locomotion system is mounted on the body 10 and is used to drive the body 10 to move on the surface to be cleaned. The locomotion system generally includes a driver and locomotion components, with the driver driving the locomotion components to move. There are generally two locomotion components, symmetrically arranged on the body 10. The locomotion components can be, but are not limited to, drive wheels, track wheels, or adjustable steering wheels. For example, steering wheels are Mecanum wheels. Furthermore, the locomotion system can be oscillatingly mounted on the body 10 to enable the cleaning robot to overcome obstacles during movement. The surface to be cleaned can be, but is not limited to, the surface of objects such as the ground, tabletops, glass, and walls. For ease of description, the surface to be cleaned will be described using the ground as an example below. The width direction of the body is perpendicular to the direction of travel.
[0069] The cleaning module includes a dry cleaning module or a wet cleaning module, or both. Regarding the arrangement of the dry and wet cleaning modules on the body 10, when the cleaning robot is performing a cleaning task, it can sweep first and then mop. In this case, the wet cleaning module is located behind the dry cleaning module in the direction of the cleaning robot's movement.
[0070] The dry cleaning module includes a main brush 102, a dust box (not shown), and a fan (not shown). The bottom of the body 10 has a main brush chamber, and the main brush 102 is rotatably mounted within it. The suction port on the main brush chamber is connected to the dust inlet of the dust box, and the exhaust port of the dust box is connected to the fan. During rotation, the main brush 102 moves debris around and in front of it to the suction port. Under the negative pressure generated by the fan, the debris at the suction port is sucked into the dust box, thus achieving the cleaning function of the surface to be cleaned.
[0071] The wet cleaning module includes a first drive structure and a cleaning component 101. The cleaning component 101 may include a cleaning disc and a cleaning element disposed on the bottom of the cleaning disc. The first drive structure drives the cleaning disc to move, thereby causing the cleaning element to reciprocate or rotate. During the movement, the cleaning element forms friction with the ground to clean the ground.
[0072] The cleaning module also includes side brushes 103 located on one or both sides of the front of the body 10. Along the forward direction of the cleaning robot, the side brushes 103 are located in front of the dry cleaning module. At least part of the side brushes 103 extends beyond the edge of the body 10. The side brushes 103 rotate under the drive of the drive mechanism. During the rotation of the side brushes 103, the debris located in front of and around them moves toward the inside of the body 10, so that the main brush 102 of the dry cleaning module located at the rear can sweep away the debris and suck it into the dust box by the fan.
[0073] The perception system includes a two-dimensional or three-dimensional lidar located on the top of the robot body, as well as a buffer, line laser sensor, vision sensor located at the front of the robot body 10, and edge sensors located on the side walls of the robot body 10, ultrasonic sensors and downward sensors located at the bottom of the robot body 10, and inertial measurement units and odometry devices located inside the robot.
[0074] The system includes a buffer that detects obstacles by colliding with them. Edge sensors detect the distance to obstacles, allowing the robot to perform edge cleaning based on this information. Two-dimensional or three-dimensional LiDAR, along with line laser sensors, collect distance information. A vision sensor identifies the robot's environment. The control system determines the distance, outline, and type of obstacles based on this information, enabling mapping and control of the robot to perform obstacle avoidance, obstacle crossing, and edge cleaning. A downward-looking sensor detects cliffs. An inertial measurement unit (IMU) measures the robot's three-axis attitude angles (or angular rates) and acceleration to acquire real-time motion information. An odometer determines the robot's location on a map. An ultrasonic sensor identifies carpet signals; the control system uses these signals to lift the cleaning components of the robot's wet cleaning module or to return the robot to the base station to remove these components. The base station powers the robot and cleans its components. Of course, the above-described sensing system is merely an example and does not constitute a limitation on the embodiments of this specification.
[0075] The main robot can have the same structural configuration as the sub-robot, or the sub-robot and the main robot can have different configurations. In some implementations, the main robot can have a more complex structural configuration than the sub-robot, which can make the sub-robot less expensive and smaller.
[0076] For example, refer to Figure 1 The cleaning module of the main robot 100 may include a cleaning component 101, a main brush 102, and a side brush 103. The perception system of the main robot 100 may include a buffer, a two-dimensional or three-dimensional lidar, a line laser sensor, a vision sensor, an edge sensor, a downward-looking sensor, an ultrasonic sensor, an inertial measurement unit, and an odometer, among other sensor devices. (Reference) Figure 2 The cleaning module of the sub-robot 200 may include a main brush 102 and a side brush 103. The sub-robot 200 does not have a wet cleaning module. Its perception system may include a buffer, inertial measurement unit, downward-facing sensor, and odometer, but does not include 2D or 3D LiDAR, line laser sensors, vision sensors, or ultrasonic sensors. Because the sub-robot 200 does not have a wet cleaning module, the sensors involved in its perception system are relatively simplified, resulting in a simpler structure, smaller size, and lower height for the sub-robot. Consequently, the sub-robot 200 can perform supplementary cleaning on areas that are difficult for the main robot to clean, such as the bottom areas of obstacles like sofas, beds, and cabinets, thereby improving the overall cleaning flexibility and coverage of the cleaning robot and enhancing the user experience.
[0077] Figure 6 This is a system schematic diagram of a multi-robot collaborative system provided in one embodiment of this application. Specifically, as shown... Figure 6 As shown, the system may include:
[0078] The main robot (MR) may include a body, a walking system, a control system, a cleaning module, and a sensing system. The sensing system includes a variety of sensors, some of which are located at the front of the main robot's body and within the height range of the main robot's body.
[0079] The sub-robot (CR, Collaborative Robot) includes a body, a walking system, a control system, a cleaning module, and a sensing system. In walking mode, the maximum height of the sub-robot is less than the maximum height of the main robot but greater than the sensing height of one or more of the sensors.
[0080] In some embodiments, the main robot's body outline may be approximately D-shaped, and the sub-robot's shape may differ from that of the main robot, for example, it may be square or circular, etc. This application does not limit this.
[0081] In this system, the drive wheels of a cleaning robot typically drop a certain distance when the robot body is raised. When the robot is in walking mode (walking on the surface to be cleaned), the drive wheels are compressed. In this state, the distance between the top of the main robot and the surface to be cleaned can be considered the maximum height of the main robot. Similarly, the distance between the top of the sub-robot and the surface to be cleaned in this state can be considered the maximum height of the sub-robot. In this state, the distance between the lowest point of the sensor's sensing range perpendicular to the surface to be cleaned and the surface itself can be considered the sensing height of the main robot's sensor. Because the sub-robot is lower than the main robot in walking mode, it can access low-lying areas that the main robot cannot reach, performing supplementary cleaning in these areas, increasing the cleaning coverage area, and improving the user experience. Furthermore, since the height of the sub-robot in walking mode is greater than the sensing height of some sensors on the main robot, the main unit can use these sensors to perceive the position and attitude of the sub-robot, which can better assist in the sub-robot's positioning.
[0082] Specifically, for example, in some embodiments, the main robot may have a laser sensor, which can be a laser distance sensor (LDS) or a direct time-of-flight (dTOF) sensor. Correspondingly, the maximum height of the sub-robot is greater than the height of the laser beam emitted by the laser sensor but less than the maximum height of the main robot. That is, it is located above the height of the laser sensor's laser emission point, allowing the laser beam from the laser sensor to illuminate the sub-robot, thereby achieving its positioning.
[0083] In some embodiments, a viewing window may be provided at the front of the main robot's body, through which some sensors perceive information outside the robot's body. For example, laser sensors and AI cameras can perceive environmental information and object distance information outside the robot's body through the viewing window. The AI camera may be an RGB camera.
[0084] In some embodiments, some of the sensors are located within the outline of the main robot's body. That is, in a direction parallel to the upper surface of the main robot, some of the sensors are located within the outline of the body. For example, the viewing window is opened on the side wall of the main robot, and some of the sensors are located behind or inside the viewing window. This allows for the embedding of sensors, especially laser sensors (such as LDS), which effectively reduces the robot's height compared to the prior art where LDS protrudes from the top of the robot. This allows the main robot to enter and perform cleaning tasks on some suspended obstacles. At the same time, by opening a wider viewing window, the loss of the sensor's sensing range can be minimized.
[0085] In some application examples, for suspended obstacles whose height above the ground is greater than that of both the main robot and the sub-robot in their walking states, both the main robot and the sub-robot can be controlled to enter below the suspended obstacle to perform cleaning tasks.
[0086] For suspended obstacles whose height above the ground is less than that of the main robot in its walking state but greater than that of the sub-robot in its walking state, the sub-robot can be controlled to enter under the obstacle to perform cleaning tasks, while the main robot autonomously performs other tasks, monitoring or guiding the sub-robot during its tasks. Correspondingly, the main robot can notify the user via the cloud that the area of the suspended obstacle is an area where the sub-robot can perform tasks, for example, by displaying a map through the app and marking the area on the map as an area where the sub-robot can perform tasks and / or where the main robot cannot perform tasks. The specific marking method is not limited in this application.
[0087] For suspended obstacles whose height above the ground is less than that of both the sub-robot and the main robot when walking, the system can control both the main and sub-robots to avoid entering beneath them and instead perform other tasks. Appropriate prompts can be sent to the user, such as via the app or voice prompts. The app can also display a map, marking the area as a zone where neither the sub-robot nor the main robot can perform tasks; the specific marking method is not limited in this application.
[0088] Additionally, the app interface on the user terminal can provide users with controls to set the working frequency or duration of the slave unit. Users can set the working frequency of the slave unit using the controls provided in the interface. For example, the main unit can perform a cleaning task 7 times, and the slave unit can perform a cleaning task 1 time. It can also be set to always have the slave unit perform the task whenever the main unit performs a task. It can also be set to any other frequency, or high-frequency and low-frequency options can be provided for users to choose themselves. This allows users to select the frequency at which the slave unit performs tasks.
[0089] Of course, the control unit of the system can also automatically set the working frequency of the sub-robots according to the actual cleaning situation. This allows the sub-robots to be used to clean low or narrow areas that the main robot cannot reach, while areas that the main robot cannot reach may not need to be cleaned too frequently. Furthermore, the sub-robots can be assigned tasks according to the actual situation or user needs, which can save cleaning time and energy and reduce wear and tear on the sub-robots and their accessories.
[0090] In some embodiments, the cleaning module of the main robot includes a dry cleaning module and a wet cleaning module, and the cleaning module of the sub-robot includes a dry cleaning module and a wet cleaning module. The number or type of cleaning components in the wet cleaning module of the main robot differs from the number and type of cleaning components in the wet cleaning module of the sub-robot.
[0091] In some embodiments, the wet cleaning module of the main robot includes two rotating mop trays, and the wet cleaning module of the sub-robot may include a flat mop tray. This allows for differentiation between the main and sub-robots, enabling differentiated cleaning while also saving on the cost of the sub-robot.
[0092] In some embodiments, the flat dishcloth tray includes a flat water tank and a dishcloth, the dishcloth being detachably attached to the side of the flat water tank.
[0093] In some embodiments, the system further includes a main robot base station and a sub-robot base station, wherein the sub-robot base station has fewer functions than the main robot base station.
[0094] Furthermore, the main robot base station is used to clean the wet cleaning module of the main robot, collect dust for the main robot, and charge the main robot, while the sub-robot base station is only used to charge the sub-robot and / or collect dust.
[0095] In some embodiments, the system may further include a combined base station for cleaning the wet cleaning module of the main robot, collecting dust from the main robot, charging the main robot, and charging and / or collecting dust from the sub-robots only. This can effectively save costs.
[0096] In some embodiments, the combined base station includes a robot compartment for accommodating or partially accommodating the main robot. A cleaning tray is provided at the bottom of the robot compartment for cleaning the wet cleaning components of the main robot. The robot compartment also includes a main unit charging port and a dust suction port, which are connected to a dust-containing space within the combined base station. The main unit charging port is used to charge the main robot. The combined base station also includes a sub-unit charging port for charging the sub-robots.
[0097] In some embodiments, the slave unit charging terminal is located outside the robot cabin.
[0098] In some embodiments, the maximum width of the main robot's body is greater than the maximum width of the sub-robot's body.
[0099] In some embodiments, when the sub-robot is located in front of the main robot and the distance between them is greater than a certain distance, the maximum width of the sub-robot is less than the maximum horizontal field of view of the portion of the main robot's sensors at that specific distance.
[0100] Figure 7 This is a schematic diagram showing the dimensional relationship between the main robot and the sub-robot provided in one embodiment of this application. For example... Figure 7 As shown, in this example, the wet cleaning module of the main robot may include two rotatable mop trays, wherein at least one of the mop trays can switch between an inward state and an outward state. When the mop tray is in the outward state, in the width direction of the main robot, the sum of the maximum width d1 of the main robot body and the width d2 of the portion of the mop tray that extends beyond the maximum width of the body is greater than the maximum width d3 of the sub-robot, wherein the width direction is the direction perpendicular to the forward direction of the main robot.
[0101] Figure 8 This is a schematic diagram showing the dimensional relationship between the main robot and the sub-robot provided in one embodiment of this application. For example... Figure 8 As shown, the wet cleaning module of the main robot includes two larger rotatable mop trays and one smaller rotatable mop tray. The sum of the maximum width d1 of the main robot body and the width d4 of the portion of the smaller mop tray extending beyond the maximum width of the main robot body is greater than the maximum width d3 of the sub-robot. The width direction is perpendicular to the forward direction of the main robot. The diameter of the smaller mop tray is smaller than the diameter of the larger mop tray.
[0102] In some embodiments, the maximum height of the main robot is greater than 75 mm and less than 95 mm, and the maximum height of the sub-robot is greater than 50 mm and less than 75 mm. This ensures a height difference between the main and sub-robots while providing sufficient installation space for sensors and cleaning components. This allows for differentiated cleaning while avoiding excessive compression of installation space, which could lead to increased costs and reduced reliability.
[0103] In some embodiments, the maximum width of the main robot's body is greater than 300 mm and less than 400 mm, and the maximum width of the sub-robot's body is greater than 200 mm and less than 300 mm. By setting the width, differentiated cleaning can be achieved, while avoiding a reduction in the coverage area of the cleaning components due to excessively small widths.
[0104] In some embodiments, the partial sensors of the main robot include one or more of a laser sensor, an AI camera, and a line laser sensor, with the sensing end of the partial sensors facing the viewing window.
[0105] In some embodiments, the perception system of the sub-robot includes one or more of an inertial measurement unit, a buffer, and an odometer.
[0106] In some embodiments, the main robot is equipped with a signal transmitter, and the sub-robot is equipped with a signal receiver that matches the signal transmitter. The sub-robot receives signals from the signal transmitter through the signal receiver to follow the main robot, and the main robot guides the sub-robot through signals emitted by the signal transmitter. The signal transmitter includes one or more of a Wi-Fi signal reflector, an infrared signal transmitter, or a Bluetooth signal transmitter, and the signal receiver includes one or more of a Wi-Fi signal receiver, an infrared signal receiver, or a Bluetooth signal receiver.
[0107] In some embodiments, the signal transmitter is located at the rear of the main robot, and the signal receiver is located at the front of the sub-robot.
[0108] In some embodiments, the partial sensors include laser sensors. In the walking state, the maximum height of the sub-robot is less than the height of the laser beam emitted by the lidar but greater than the sensing height of one or more of the partial sensors.
[0109] The robot can operate based on a task map. This task map can be quickly constructed and updated in real-time as the robot cleans, and can also be updated by receiving information from users or other terminals. The task map can be pre-stored for reuse in subsequent cleaning sessions, eliminating the need to rebuild the map for each cleaning cycle and reducing cleaning efficiency. While working with the reused task map, the robot can also update the map based on real-time collected information and information input from users or other terminals, improving cleaning accuracy and flexibility.
[0110] In the embodiments described in this specification, if the main robot is equipped with a rich perception system, the sub-robot can reuse the pre-stored or real-time updated work map in the main robot. After receiving the work map from the main robot, the sub-robot can work based on that work map. There are many areas in the sub-robot's working area that the main robot cannot access, resulting in relatively limited information detected by the main robot in these areas. For example, the main robot's perception system detects little or almost no information in the bottom space of obstacles that it cannot enter. Therefore, the sub-robot can supplement the work map based on the information detected by its own perception system while working in these areas. The real-time updated work map and cleaning path of both the main robot and the sub-robot can be displayed to the user in real time through a display interface.
[0111] The work area on the work map can be divided into a main robot work area and a sub-robot work area. The main robot work area is the main robot's work area, and the sub-robot work area is the sub-robot's work area. The main robot work area and the sub-robot work area can be divided by the main robot based on information collected by its perception system; or they can be further divided based on the work map divided by the main robot, combined with supplementary information collected by the sub-robots based on their perception systems; or they can be further divided by combining information collected by other devices and information entered by the user.
[0112] The main robot's operating area can be an area accessible to the main robot or an area that is relatively easy to clean. The sub-robot's operating area can be an area that the main robot cannot reach but the sub-robot can, or an area that is difficult for the main robot to clean but relatively easy for the sub-robot to clean. For example, if the distance between two obstacles is less than a preset value, preventing the main robot from moving or making its cleaning logic complex, but allowing the sub-robot to move or making its cleaning logic simple, then the area between the two obstacles can be considered a narrow passage; correspondingly, this narrow passage can be designated as the sub-robot's operating area. Alternatively, if the bottom of an obstacle is lower than the overall height of the main robot but higher than the overall height of the sub-robot, such as the bottom of a sofa or cabinet, then the area at the bottom of the obstacle can be designated as the sub-robot's operating area. Alternatively, if the sub-robot is not equipped with a wet cleaning module, the sub-robot's operating area can also be a carpet area; accordingly, the main robot does not need to be equipped with an additional wet cleaning module lifting structure. Accordingly, sub-robot operating area division parameters can be preset, and the sub-robot's operating area can be determined based on these parameters. The classification parameters can include the bottom height of obstacles, the spacing between obstacles, and whether it is a carpeted area.
[0113] Accordingly, the sub-robot can be used at least to perform supplementary tasks in areas where the main robot cannot operate. Areas where the main robot cannot operate may be areas that the main robot cannot reach but the sub-robot can, or areas that are difficult for the main robot to clean but are relatively easy for the sub-robot to clean. The above method can be used to determine areas where the main robot cannot operate, which can then be designated as sub-robot operating areas, enabling the sub-robot to perform mapping and cleaning within these areas, thus completing supplementary tasks in areas that the main robot cannot reach or that are difficult to operate in.
[0114] The work area on the work map can be divided into multiple work zones based on the rooms, for reference. Figure 3The work area on the work map can be divided into areas A, B, C, D, E, and F. Areas A and B are bedrooms, area C is the living room, area D is the kitchen, and area E is the bathroom. Of course, the work areas on the work map can also be divided based on other factors; for example, users can flexibly divide them according to their needs. Each work area can also be further divided into main unit work areas and sub-unit work areas. Different rooms are usually separated by walls, making path planning difficult for interconnected robot cleaning. The obstacles, their distribution, and the degree of dirt involved in cleaning may also vary significantly between different rooms. Furthermore, the user's requirements may differ within each work area. All of these factors can lead to significant differences in the cleaning parameter configurations for each work area. By dividing the work area into zones, it is easier for the robot to plan cleaning paths and perform differentiated cleaning, thus improving cleaning flexibility.
[0115] For ease of distinction, the work area currently being cleaned by the sub-robot will be referred to as the first work area, and the work area to be cleaned by the sub-robot will be referred to as the second work area.
[0116] After cleaning the main robot's work area in any work zone, the main robot can control the sub-robots to clean the sub-robots' work areas in that zone. For example, if there are no main robot and sub-robot work areas in area A, the main robot can divide these areas based on collected information during the cleaning process. Alternatively, if main robot and sub-robot work areas already exist in area A, the main robot can adjust these divisions in real-time based on obstacle changes, making the division of main robot and sub-robot work areas more real-time. Correspondingly, after the main robot cleans the main robot's work area in area A, the sub-robots clean the sub-robot work areas within area A based on the shared work map.
[0117] When a sub-robot is cleaning its work area in zone A, the master robot can accompany it in zone A until the sub-robot has finished cleaning that area. For example, the master robot can accompany the sub-robot in the host work area surrounding the sub-robot's work area. If the work area is divided into sub-zones, the master robot can accompany the sub-robot in the host work area surrounding the sub-zone it is cleaning. The host work area surrounding the sub-robot's work area / sub-zone refers to the host work area adjacent to the sub-robot's work area / sub-zone. Having the master robot accompany the sub-robot in zone A makes it easier to control the sub-robot, and allows for a faster response to any abnormalities encountered during the sub-robot's cleaning process, improving the user experience.
[0118] By combining the principle of minimizing the distance between the main robot and the sub-robot, the position of the main robot in the host operating area surrounding the sub-robot's working area / sub-robot partition can be controlled to more effectively control the sub-robot. Alternatively, the position of the main robot in the host operating area surrounding the sub-robot's working area / sub-robot partition can be controlled by combining the main robot's sensor detection range, so that the main robot can more effectively detect the sub-robot and thus control it more effectively.
[0119] Alternatively, while the sub-robot is cleaning its work area in zone A, the main robot can clean other work zones outside zone A. By having the main robot and sub-robots clean different work zones separately, the overall cleaning efficiency of the main robot and sub-robots as a single unit across the work map can be further improved.
[0120] Of course, the main robot can clean all the work zones before controlling the sub-robot to clean the corresponding sub-robot work areas. Alternatively, the main robot and sub-robot can clean simultaneously. Both the main robot and sub-robot can record the cleaned areas. If the main robot updates the sub-cleaning areas during the cleaning process, the sub-robot can perform supplementary cleaning on the updated areas.
[0121] Correspondingly, in some embodiments, when the sub-robot cleans the sub-robot working area of the first working partition, the main robot is in the first working partition. The main robot can clean synchronously with the sub-robot in the first working partition, or the main robot can accompany the sub-robot to clean in the first working partition. The main robot can be at any position in the first working partition, waiting for the sub-robot to work, and so on. When the sub-robot cleans the sub-robot working area of the first working partition and the main robot is in the first working partition, it is more convenient for the main robot and the sub-robot to be linked, improving the cleaning accuracy and efficiency of the sub-robot, and improving the timeliness of handling abnormal situations of the sub-robot.
[0122] In some embodiments, when the sub-robot cleans the sub-robot working area of the first working partition, the main robot is in the second working partition or the main robot is located at the base station. The main robot and the sub-robot respectively perform cleaning of different working partitions or return to the base station, which can further improve the flexibility of the main robot and the sub-robot in operation and the overall cleaning efficiency for the working areas in the operation map.
[0123] In some embodiments, when the sub-robot cleans the first sub-robot partition, the main robot is in the main robot working area on the periphery of the first sub-robot partition. In the case where the sub-robot partition is divided in the working partition, the currently cleaned sub-robot partition by the sub-robot can be used as the first sub-robot partition, and the sub-robot partition to be cleaned by the sub-robot can be described as the second sub-robot partition. The main robot being in the main robot working area on the periphery of the first sub-robot partition may mean that the main robot is located in the working partition adjacent to the first sub-robot partition. This working partition adjacent to the first sub-robot partition can include both the first working partition and other working partitions, which is not limited here. The main robot can perform cleaning synchronously in the main robot working area on the periphery of the first sub-robot partition, or accompany the sub-robot to perform cleaning. The accompanying method can refer to the solution described in the above embodiments. By setting that when the sub-robot cleans the first sub-robot partition, the main robot is in the main robot working area on the periphery of the first sub-robot partition, the main robot can respond to the needs of the sub-robot more quickly or quickly provide auxiliary information to the sub-robot, improving the cleaning accuracy and efficiency of the sub-robot and the speed of handling abnormal situations.
[0124] Given that the indoor working environment of the cleaning robot is usually relatively complex, and the sub-robot working area is usually an area where the main robot cannot enter. Therefore, the complexity of the sub-robot working area may be relatively higher than that of the main robot working area, and the perception system configured on the sub-robot is not rich enough, and the perception ability of the surrounding environment is relatively worse than that of the main robot. Therefore, the optimization of the cleaning path of the sub-robot in the sub-robot working area is very crucial for the efficient cleaning of the sub-robot.
[0125] For example, the sub-machine work areas of a certain work partition can be extracted, and connected component analysis can be performed separately to obtain different connected components. Each connected component can then be used as a sub-machine partition.
[0126] Alternatively, the submachine operating area can be divided into different submachine zones based on different partitioning parameters. For example, a carpet could be used as one submachine zone, a submachine operating area determined by the bottom height of obstacles could be used as another submachine zone, and a narrow passageway could be used as yet another submachine zone.
[0127] Alternatively, the main robot can be equipped with visual sensors and 3D structured light sensors, which can determine the type of obstacle based on its shape and AI. Obstacle types can include beds, sofas, cabinets, etc. Sub-regions can be created based on obstacle types, with the space under a sofa as one sub-region and the space under a cabinet as another.
[0128] Alternatively, the sub-machine partitions can be created by combining obstacle type, sub-machine operation area division parameters, and any two or all three of the connected domains. For example, if there is a narrow passage between a sofa and a cabinet, and the space under the sofa, the space under the cabinet, and the narrow passage between them belong to the same connected domain, then the space under the sofa, the space under the cabinet, and the narrow passage between them can be considered as one sub-machine partition. If there is a narrow passage between a sofa and a carpet, and the space under the sofa, the carpet area, and the narrow passage between them belong to the same connected domain, since the cleaning logic for carpets may differ from that of ordinary floors, then only the space between the sofa and the carpet and the space under the sofa can be considered as one sub-machine partition, and the carpet as a separate sub-machine partition. The above partitioning methods are merely illustrative examples and do not constitute a direct limitation on the embodiments of this specification.
[0129] Alternatively, the sub-robot can first move back and forth between the boundaries of the sub-robot's work area within a specific work zone until it has achieved initial coverage of that work zone. Then, it can identify the areas within the sub-robot's work area that were not initially covered, and for these areas, it can divide them into sub-zones by considering at least one of the following: obstacle type, sub-robot work area partitioning parameters, and connected components.
[0130] Of course, sub-machine partitions can also be partitioned in other ways. For example, sub-machine partitions can be partitioned based on user input information, which is not limited here.
[0131] After the main robot finishes cleaning a work zone A, based on the latest map information of work zone A, at least one sub-machine zone can be obtained by dividing the sub-machine work zones in work zone A by referring to the above sub-machine zone division method.
[0132] Alternatively, during the main robot's cleaning of work zone A, sub-robot partitions can be generated in real time, referring to the above-described sub-robot partitioning method. Accordingly, when sub-robot partitions are generated during the main robot's cleaning of work zone A, the main robot cleans the uncleaned main robot work areas within work zone A, and the sub-robots clean the generated sub-robot partitions. For example, for the bottom space of a specific obstacle (such as a bed or cabinet), after determining the area covered by the obstacle, the bottom space of that obstacle can be designated as a sub-robot partition; after determining a carpet, the carpet can be designated as a sub-robot partition, and so on. Consequently, when the main robot is working in a work zone A, after determining a sub-robot partition, it can control the sub-robot to work in that sub-robot partition, without waiting for the main robot to complete cleaning of the entire work zone A before controlling the sub-robot to clean the sub-robot work areas within A, further improving cleaning efficiency and flexibility.
[0133] Accordingly, in some embodiments, when a sub-machine partition is generated during the process of the main robot cleaning the first work partition, the main robot cleans the uncleaned main machine work area in the first work partition, and the sub-robot cleans the generated sub-machine partition, thereby further improving cleaning efficiency and flexibility.
[0134] Alternatively, sub-robot zones can be pre-defined on the work map as specific sub-robot zones. For example, a user-specified area can be designated as a specific sub-robot zone. Alternatively, sub-robot zones that meet specific characteristics can be designated as specific sub-robot zones, such as carpets, the space under obstacles that do not move for extended periods, or narrow passages formed by obstacles that do not move for extended periods. The sub-robot can flexibly perform cleaning on this specific sub-robot zone without needing to coordinate with the main robot. For a specific sub-robot zone, it is not necessary to consider whether the main robot is currently cleaning or has finished cleaning the work area containing the sub-robot zone; the sub-robot can proceed to the specific sub-robot zone to perform cleaning based on pre-configured cleaning parameters and instructions.
[0135] The cleaning parameters for each sub-robot zone can include cleaning frequency, cleaning intensity, cleaning type, cleaning duration, and so on. Cleaning intensity can include deep cleaning, normal cleaning, quick cleaning, etc. Cleaning type can include mopping only, sweeping only, and sweeping and mopping in one. Cleaning frequency specifies how often a sub-robot zone should be cleaned. For example, the bottom space of some obstacles is less likely to be contaminated, so it can be set to clean the bottom space of those obstacles once a week. Carpets, on the other hand, easily attract dust, so they can be set to be cleaned once a day. The probability of contamination in narrow passages is not much different from that of the surrounding main robot operating area, so the narrow passage can be cleaned simultaneously while the main robot is cleaning the surrounding main robot operating area. Configuring different cleaning parameters for different sub-robot zones can further improve cleaning flexibility and quality. The cleaning parameters for different sub-robot zones can be configured based on the sub-robot zone division method, historical cleaning data, and user input.
[0136] The cleaning command can be issued by the main robot during the cleaning process. For example, during the cleaning of work area A, after moving to a specific sub-area, the main robot can retrieve the cleaning parameter information of that specific sub-area and, combined with the real-time collected data on the degree of dirt in that specific sub-area, determine whether cleaning of that specific sub-area is necessary. If it is determined that cleaning of that specific sub-area is necessary, the main robot can also collect information such as the pose and environmental characteristics of that specific sub-area to update the work map of that specific sub-area, so that the sub-robot can clean that specific sub-area more accurately.
[0137] The cleaning command can also be issued by the main robot when it is not performing a cleaning task, by the sub-robot, other terminal devices, or by the user. When the degree of dirt or cleaning frequency of a specific sub-robot zone meets the requirements, the main robot, sub-robot, other terminal devices, or the user can issue a command to make the sub-robot go to the specific sub-robot zone to perform cleaning, thereby improving the flexibility of cleaning the sub-robot's work area and thus improving the user experience.
[0138] For situations where the main robot generates sub-robot zones during the cleaning process to guide the sub-robots to those zones, or where the main robot analyzes specific sub-robot zones during cleaning and then controls the sub-robots to move to those zones, the cleaning information of both the main robot and the sub-robots can be recorded in the work map. After the main robot and sub-robots complete cleaning of a specific work zone, the work map can be analyzed to determine if there are any uncleaned sub-robot work areas. If so, a comprehensive analysis can be performed on these uncleaned areas. The analysis method can refer to the scheme described in the above embodiments, such as combining analysis of connected components, obstacle types, and sub-robot work area division parameters to determine whether it is necessary to divide the uncleaned sub-robot work areas into sub-robot zones and plan cleaning paths, thus completing supplementary cleaning of the uncleaned sub-robot work areas. This improves cleaning flexibility and further enhances cleaning coverage.
[0139] Accordingly, in some embodiments, when there are specific sub-robot zones in the work map, the sub-robot cleans the specific sub-robot zones according to cleaning instructions and / or pre-configured cleaning parameters to further improve cleaning flexibility.
[0140] After cleaning its designated work area in the first work zone, the sub-robot can proceed to the second work zone to clean its assigned area, as needed. For example, after cleaning its area in the first work zone, the sub-robot can send a cleaning completion signal to the master robot. Upon receiving this signal, the master robot can determine whether the sub-robot needs to clean its area in the second work zone. Alternatively, after cleaning its area in the first work zone, the sub-robot can independently determine whether it needs to proceed to the second work zone based on the work map provided by the master robot. If it confirms the need to proceed, the master robot can guide the sub-robot to the second work zone. For instance, the sub-robot can proceed autonomously along a planned path, or it can be guided to the second work zone by the master robot.
[0141] A sub-robot can first clean one sub-area, and after completing that cleaning, it can then clean the next sub-area. For ease of description, the currently cleaning sub-area can be designated as the first sub-area, and the sub-area to be cleaned as the second sub-area. For example, after cleaning the first sub-area, the sub-robot can send a cleaning completion signal to the master robot. Upon receiving the cleaning completion signal, the master robot can determine whether the sub-robot needs to clean the second sub-area. Alternatively, after cleaning the first sub-area, the sub-robot can independently determine, based on the work map, whether it needs to proceed to the second sub-area for cleaning. If it confirms the need to proceed, the master robot can guide the sub-robot to the second sub-area. For instance, the sub-robot can travel to the second sub-area independently based on a planned path, or it can be guided to the second sub-area by the master robot.
[0142] While sub-robots are equipped with perception systems, these systems may be relatively simple, making them less accurate and efficient than the main robot in terms of movement, cleaning, and handling of special situations. For example, although sub-robots can be equipped with odometry, the lack of vision sensors, laser sensors, etc., means that the odometry used in sub-robots is usually wheeled. Wheeled odometry is less accurate than odometry that combines vision and LiDAR data. Furthermore, if the distance between two work zones or two sub-robot zones is large and / or the environment is complex, the sub-robot is prone to deviation while navigating to the second work zone or sub-robot zone based on path planning. In some implementations, sub-robots can be repositioned for specific scenarios to clarify their global position on the work map, improving cleaning accuracy and efficiency, as well as their ability to handle special situations.
[0143] In some embodiments, the main robot can be used to assist in the relocalization of the sub-robot to determine the sub-robot's global position information on the work map. Global position information refers to the robot's position information on the work map. Given the rich perception system of the main robot, which makes its positioning more accurate, using the main robot as a reference for sub-robot positioning results in more accurate sub-robot positioning. Furthermore, it eliminates the need for complex perception systems on the sub-robot, allowing it to better meet flexibility requirements.
[0144] For example, the master robot can first determine the current location range of the sub-robot. For instance, the sub-robot can determine its current location range based on its initial position along the cleaning or travel path, and then send this information to the master robot. Alternatively, after confirming the work area / sub-robot is cleaning or receiving a signal that a work area / sub-robot has been cleaned, the master robot can roughly determine the work area / sub-robot is located in and use this as the sub-robot's current location range. Or, the master robot can detect the sub-robot based on interaction with it or through LiDAR or vision sensors. After detecting the sub-robot, it can preliminarily determine its current location range based on signal interaction information and detection information. Then, the master robot can move to the sub-robot's current location range. After confirming that the master robot has reached the sub-robot's current location range, it can use the master robot to assist in repositioning the sub-robot. The current location range of the sub-robot determined using these methods allows the master robot to quickly move to the vicinity of the sub-robot for assisted repositioning.
[0145] The main robot may be equipped with a sub-robot pose sensing unit to obtain the position and orientation of the sub-robot. The sub-robot pose sensing unit may include a signal transmitting or receiving device disposed on the main robot, and correspondingly, the sub-robot may be configured with a signal receiving or transmitting device that interacts with the sub-robot pose sensing unit. The main robot / sub-robot determines the position and orientation of the sub-robot based on the interaction information between the signal transmitting and receiving devices.
[0146] Or, refer to Figure 2 The sub-robot pose perception unit includes a contour acquisition sensor and a distance sensor mounted on the main robot. The sub-robot has a first contour representing its first orientation and a second contour representing its second orientation, the shapes of the first and second contours being different. The contour detection sensor detects the contour information of the sub-robot to determine its orientation relative to the main robot. The distance detection sensor detects the distance of the sub-robot relative to the main robot. Accordingly, when the main robot assists the sub-robot in performing relocation, it can perform relocation based on the distance and orientation of the sub-robot relative to the main robot.
[0147] The first orientation can be the direction in which the sub-robot moves forward, and the second orientation can be the direction in which the sub-robot moves backward; or, the second orientation can be the direction in which the sub-robot moves forward, and the first orientation can be the direction in which the sub-robot moves backward.
[0148] For example, the sub-robot's body shape can be D-shaped. The sub-robot can move in an arc direction and move backward in a straight line. The contour acquisition sensor can be a two-dimensional or three-dimensional LiDAR, a vision sensor, a line laser sensor, etc., to acquire the sub-robot's contour and then determine the sub-robot's orientation relative to the main robot based on the contour. The ranging sensor can be a two-dimensional or three-dimensional LiDAR to acquire the sub-robot's position relative to the main robot. Of course, the body shape can also be a Reichol triangle, etc., and is not limited here.
[0149] The main robot is typically equipped with sensors to detect obstacle contours. Therefore, the contour acquisition sensors and contour processing algorithms of the main robot can be reused to quickly determine the orientation of the sub-robot based on the detected contours, improving the accuracy and efficiency of sub-robot orientation determination. Furthermore, this eliminates the need for additional signaling devices on the sub-robots to determine their orientation, reducing the complexity of the sub-robot's equipment, compressing its size and height, improving its mobility, and ultimately increasing cleaning coverage.
[0150] The above method can be used to determine the pose of the sub-robot relative to the main robot, that is, the sub-robot's position and orientation relative to the main robot. The sub-robot's position and orientation relative to the main robot can be used as its local positioning information. The main robot stores its global positioning information. This global positioning information can at least include the main robot's position and direction of travel on the work map. By combining the main robot's position and direction of travel on the work map with the sub-robot's position and orientation relative to the main robot, the sub-robot's position and direction of travel on the work map can be determined, thereby determining the sub-robot's global positioning information and enabling relocalization of the sub-robot. Using this method to quickly and accurately determine the sub-robot's pose relative to the main robot, and then using the main robot's global positioning information to assist in sub-robot relocalization, makes sub-robot relocalization simpler and more efficient.
[0151] Of course, the relocation of the sub-robot can also be performed by combining the distance and orientation of the sub-robot relative to the main robot, as well as the global positioning information of other devices.
[0152] In other embodiments, the master robot obtains the global positioning information of the sub-robot based on its global positioning information and the local positioning information of the sub-robot; the local positioning information refers to the distance and orientation of the sub-robot relative to the master robot. Alternatively, the sub-robot obtains its global positioning information based on the master robot's global positioning information and its local positioning information; the local positioning information refers to the distance and orientation of the sub-robot relative to the master robot. Based on this implementation, the efficiency and accuracy of relocation can be further improved.
[0153] Of course, the sub-robot can also detect nearby landmarks and then compare the detected information with the work map to determine its own position and orientation on the work map, thereby completing relocation.
[0154] In some embodiments, the master robot assists the sub-robot in performing relocation before the sub-robot performs the action of leaving the first sub-robot partition, or when the sub-robot arrives at the second sub-robot partition.
[0155] The sub-robot can execute the action of leaving the first sub-unit partition immediately upon receiving the instruction to leave the first sub-unit partition. Alternatively, after receiving the instruction to leave the first sub-unit partition, the sub-robot can first move to the boundary between the first sub-unit partition and the host operating area, and then execute the action of leaving the first sub-unit partition. The host robot's detection range over the sub-unit partition is limited; this method facilitates interaction between the host robot and the sub-robot, improving relocation accuracy. Relocation can be performed before executing the action of leaving the first sub-unit partition. The instruction to leave the first sub-unit partition can be issued by the sub-robot's controller, the host robot, or by the user, other terminals, etc., without limitation. The instruction to leave the first sub-unit partition can be issued when the sub-robot wants to switch to a cleaning sub-unit, or when the sub-robot wants to return to the base station, etc.
[0156] The arrival of the sub-robot in the second sub-partition can refer to either arriving at the initial position in the second sub-partition to begin cleaning, or arriving at the boundary of the second sub-partition.
[0157] During the cleaning or movement process, the sub-robot is prone to positional deviation. Before the sub-robot leaves the first sub-robot zone or when the sub-robot arrives at the second sub-robot zone, it can first perform repositioning and then proceed to the next sub-zone based on the planned path, or return to the base station, which can improve the accuracy of the sub-robot's movement.
[0158] In some embodiments, the sub-robot's action of leaving the first sub-machine partition includes: the sub-robot cleaning the first sub-machine partition and then leaving the first sub-machine partition to proceed to the second sub-machine partition. Accordingly, after relocation, the sub-robot proceeds from the first sub-machine partition to the second sub-machine partition based on a planned path.
[0159] In some embodiments, the sub-robot's action of leaving the first sub-unit partition includes: the sub-robot receiving a return-to-base station instruction and then performing the action of leaving the first sub-unit partition to return to the base station. The scenarios in which the sub-robot receives the return-to-base station instruction include at least one of the following: the first sub-unit partition is the last sub-unit partition in the cleaning task; the sub-robot's battery is insufficient while cleaning the first sub-unit partition; or the sub-robot's return to the base station for dust collection or cleaning of the rag is triggered while cleaning the first sub-unit partition. Accordingly, after relocation, the sub-robot returns to the base station based on the planned path.
[0160] In some embodiments, the master robot assists the sub-robot in performing repositioning before the sub-robot performs the action of leaving the first work zone, or when the sub-robot arrives at the sub-robot work area of the second work zone.
[0161] The sub-robot can execute the action of leaving the first work zone immediately upon receiving an instruction to do so. Alternatively, after receiving the instruction to leave the first work zone, the sub-robot can first move to the boundary between the currently cleaning sub-robot work area and the main robot work area before executing the action of leaving the first work zone. This method facilitates interaction between the main robot and the sub-robot and improves repositioning accuracy. Repositioning can be performed before executing the action of leaving the first sub-robot zone. The instruction to leave the first sub-robot zone can be issued by the sub-robot's controller, the main robot, or by the user, other terminals, etc., without limitation. The instruction to leave the first work zone can be issued when the sub-robot wants to switch cleaning work zones, or when the sub-robot wants to return to the base station, etc.
[0162] The arrival of the sub-robot in the sub-robot work area of the second work zone can refer to either the initial position where it arrives at the sub-robot work area of the second work zone to begin cleaning, or it can refer to the boundary of the sub-robot work area of the second work zone.
[0163] The sub-robot's action of leaving the first work area includes: after cleaning the first work area, the sub-robot leaves the first work area to proceed to the second work area. Accordingly, after relocation, the sub-robot travels from the first work area to the second work area based on a planned path.
[0164] The sub-robot's action of leaving the first work area includes: the sub-robot receiving a return-to-base station instruction and then performing the action of leaving the first work area to return to the base station. The scenarios in which the sub-robot receives the return-to-base station instruction include at least one of the following: the first work area is the last work area of the sub-robot's cleaning task; the sub-robot's battery is low while cleaning the first work area; or the sub-robot's return to the base station for dust collection or cleaning of the rag is triggered while cleaning the first work area. Accordingly, after relocation, the sub-robot returns to the base station based on the planned path.
[0165] The repositioning method can be referred to in the above embodiments, and will not be repeated here. The main robot can be used to assist in the repositioning of the sub-robot to further improve the accuracy of the sub-robot's repositioning, thereby improving the cleaning effect of the sub-robot.
[0166] When a sub-robot travels to a second work zone or a second sub-machine zone, the path may be long or the surrounding environment complex. Furthermore, the sub-robot's perception system is relatively simple, making it prone to deviation during this process. Without repositioning, the sub-robot may deviate from its cleaning target area within the second work zone or sub-machine zone, affecting cleaning effectiveness. Repositioning before controlling the sub-robot to perform cleaning further ensures optimal cleaning results.
[0167] The sub-robot's work area may have complex environmental features and limited environmental information. When the sub-robot is cleaning the first work zone or the first sub-machine zone, its perception system may be relatively simple, potentially leading to deviation during the cleaning process. Relocating the sub-robot and then guiding it along the planned path to the second work zone or the second sub-machine zone can further improve the accuracy of its movement and reduce the possibility of initial deviation.
[0168] Based on the above method, after relocation, the sub-robot can move more easily on its own before moving to the next location or performing cleaning again. Compared to the main robot leading the sub-robot, this avoids frequent interactions between the sub-robot and the main robot, or avoids hardware connections between the main robot and the sub-robot, thus improving the ease and flexibility of the sub-robot's movement.
[0169] In some implementations, the main robot and the sub-robot can be set to clean within the same work zone. In this case, using the main robot to reposition the sub-robot will not excessively affect the main robot's cleaning work, thereby improving the cleaning effect while ensuring overall cleaning efficiency.
[0170] Alternatively, the sub-robot can be repositioned before docking with the base station to determine its global location on the work map. Then, the sub-robot can be docked with the base station for charging, thereby improving the efficiency of docking between the sub-robot and the base station.
[0171] refer to Figure 4 The sub-robot's work area is typically an area inaccessible to the main robot, especially in low-ceilinged spaces where the main robot's perception system often cannot detect it, resulting in at least partial lack of environmental information about the sub-robot's work area. Furthermore, the sub-robot's perception system is relatively simple and unable to detect rich and accurate environmental information in its work area, making it prone to problems such as getting stuck or repeatedly cleaning for extended periods during the cleaning process.
[0172] In some embodiments, if the sub-robot is trapped or if the cleaning time in the first sub-robot partition exceeds a preset time threshold, the sub-robot performs relocation.
[0173] For example, after a sub-robot confirms it's stuck based on its operating parameters, it can send a stuck alert to the main robot; alternatively, the main robot can determine the sub-robot is stuck based on its operating parameters. The main robot can then travel to the area where the sub-robot is stuck to assist it in repositioning. After repositioning, the main robot can use its pose and orientation relative to the main robot to guide the sub-robot back to the main robot's location, thus achieving autonomous escape. Only if the sub-robot cannot escape autonomously should a notification be sent to the user. By prioritizing autonomous escape, the overall cleaning flexibility and user experience can be further improved.
[0174] If a sub-robot spends more than a preset time threshold in the first sub-robot zone, it can be relocated. The preset time threshold can be determined based on the cleaning area of the sub-robot zone, its corresponding environmental characteristics, historical cleaning duration, and user input information. When there are few environmental features in the work map, these features can be determined by combining the obstacle types corresponding to the sub-robot zone and the sub-robot work area division parameters. For example, if a sub-robot zone corresponds to the bottom space of an obstacle, the environmental features of that bottom space are usually limited. The preset time threshold for that sub-robot zone can be determined by combining the possible environmental features of the bottom spaces of different obstacles to improve the accuracy of the preset time threshold estimation.
[0175] For the first sub-robot zone, such as narrow passages or carpets where the main robot can detect environmental information, the area to be cleaned in the first sub-robot zone can be determined based on the information detected by the main robot. For the first sub-robot zone determined based on the bottom height of obstacles, the area to be cleaned in the first sub-robot zone can be determined based on the obstacle type and the area of the obstacle parallel to the surface to be cleaned, as detected by the main robot. For example, this method can be used to determine the first sub-robot zone formed by a completely empty bottom of a cabinet. Alternatively, the area to be cleaned in the first sub-robot zone can be determined by combining the obstacle boundary information detected by the main robot and / or the sub-robot, such as the first sub-robot zone formed by the concavity of a cabinet. The bottom space of some obstacles may be more complex. For special obstacles with potentially complex bottom spaces, the preset time threshold can be extended, taking into account the obstacle type. Determining the preset time threshold by combining the area to be cleaned in the sub-robot zone and the type of obstacle corresponding to the sub-robot zone can improve the accuracy of judging whether the sub-robot has a cleaning abnormality, avoid excessive relocation or long periods without relocation, which affect cleaning efficiency and user experience.
[0176] In some embodiments, when the master robot confirms that the sub-robot is performing relocation, the master robot moves to the host operating area around the first sub-robot partition to assist the sub-robot in performing relocation. After the master robot moves to the host operating area around the first sub-robot partition, it can easily interact with the sub-robot, improving the accuracy and efficiency of relocation. The host operating area around the first sub-robot partition can refer to the above embodiments and will not be elaborated here.
[0177] In other embodiments, the sub-robot moves from the first sub-robot partition to the host operating area surrounding the first sub-robot partition, so that the host robot assists the sub-robot in completing relocation. The host robot's perception system has a limited detection range over the sub-robot operating area; moving the sub-robot to the host operating area for relocation facilitates interaction with the sub-robot and improves the accuracy and efficiency of relocation. The host operating area surrounding the first sub-robot partition can refer to the above embodiments and will not be elaborated here.
[0178] In other embodiments, after relocation, the sub-robot can continue cleaning the first sub-robot area based on the replanned cleaning path to accurately and comprehensively complete the cleaning of the sub-robot area. Of course, if it is confirmed that the first sub-robot area has been cleaned, it can also perform actions such as returning to the base station or moving to the next sub-robot work area.
[0179] In some embodiments, once it is confirmed that the sub-robot has escaped hijacking, the main robot can assist the sub-robot in performing relocation. When the sub-robot becomes trapped or changes areas, the user can intervene, moving it out of the trapped area or switching the sub-robot's cleaning area by carrying it, thus creating a hijacking scenario. After freeing the sub-robot or moving it to the designated sub-area to be cleaned, the user can place it on the ground to detach it from hijacking and continue cleaning. At this time, the sub-robot's global location information on the map is unknown, so the main robot can assist the sub-robot in performing relocation. After relocation, the cleaning operation can then be performed. Using the main robot to assist the sub-robot in relocation after confirming it has escaped hijacking allows for more efficient and accurate relocation, improving the accuracy and efficiency of the sub-robot's cleaning process.
[0180] Based on the solutions provided in the above embodiments, this specification also provides a multi-robot collaboration method. The multi-robot includes a master robot and sub-robots. The working area of the multi-robot includes a master robot working area and a sub-robot working area. The sub-robot working area includes at least one sub-robot partition. The method is applied to the sub-robot. The method includes: before performing an action to leave a first sub-robot partition or upon arriving at a second sub-robot partition, sending a relocation request to the master robot to assist in relocation; or, upon receiving a relocation instruction from the master robot, performing relocation with the assistance of the master robot. The relocation instruction is issued by the master robot upon confirming that the sub-robot needs to leave the first sub-robot partition or upon confirming that the sub-robot has arrived at the second sub-robot partition. The first sub-robot partition is the sub-robot partition currently being cleaned by the sub-robot, and the second sub-robot partition is the sub-robot partition to be cleaned by the sub-robot. After relocation, the sub-robot proceeds along a planned path. Specific implementation details can be found in the above embodiments and will not be repeated here.
[0181] Based on the solutions provided in the above embodiments, this specification also provides a multi-robot collaboration method. The multi-robot includes a master robot and sub-robots. The working area of the multi-robot includes a master robot working area and a sub-robot working area. The sub-robot working area includes at least one sub-robot partition. The method is applied to the master robot. The method includes: when it is confirmed that the sub-robot needs to perform an action to leave a first sub-robot partition, or when it is confirmed that the sub-robot has arrived at a second sub-robot partition, assisting the sub-robot to perform relocation so that the sub-robot can travel based on a planned path after relocation; or, after receiving a relocation request from the sub-robot, assisting the sub-robot to perform relocation so that the sub-robot can travel based on a planned path after relocation. The relocation request is issued before the sub-robot performs the action to leave the first sub-robot partition or when it arrives at the second sub-robot partition. The first sub-robot partition is the sub-robot partition currently being cleaned by the sub-robot, and the second sub-robot partition is the sub-robot partition to be cleaned by the sub-robot. For specific implementation details, please refer to the above embodiments, which will not be repeated here.
[0182] In the embodiments described in this specification, if the positions of the sub-robot and the main robot satisfy the repositioning requirements of the sub-robot pose perception unit, the main robot can be controlled to assist the sub-robot in performing repositioning. The determination of whether the positions of the sub-robot and the main robot satisfy the repositioning requirements of the sub-robot pose perception unit can be based on the work map and information detected in real-time by the main robot and the sub-robot that is not stored in the work map.
[0183] Referring to the above embodiments, the pose perception unit of the sub-robot, which assists the main robot in performing repositioning, has a detection range, which may include detection distance, detection direction, detection angle range, detection height, etc.
[0184] For example, the sub-robot pose perception unit can be a vision sensor arranged on the front side of the fuselage. Affected by the acquisition parameters of the vision sensor itself and the installation position of the vision sensor, the vision sensor has a preset detection distance, detection angle range, detection direction, and detection height. To facilitate the acquisition of obstacle distribution information affecting the robot's movement, the vision sensor usually only needs to acquire the ground image within a preset range in the front and the information between the ground and the height of the robot. The detection direction of the vision sensor is usually set to the moving direction of the fuselage, and the horizontal detection angle range should preferably reach 180 degrees, or a larger angle range. However, due to the influence of the sensor's own structure, it is difficult for the horizontal angle range to reach 360 degrees. Given that the working space of the cleaning robot is usually a family house and the sizes of various rooms in the family house are limited, all areas in the room may be within the detection distance of the vision sensor; of course, in the case of a larger room area or affected by the parameters of the vision sensor itself, some areas in the room are not within the detection distance of the vision sensor.
[0185] The sub-robot pose perception unit can also include a lidar. The lidar of some cleaning robots is arranged above the fuselage and can rotate 360 degrees. The acquisition distance of the lidar can generally cover all areas of the room. However, the lidar has a fixed detection height. If the obstacle is lower than this detection height, the lidar cannot detect it.
[0186] The sub-robot pose perception unit can also be a signal sending device supporting the signal receiving device of the sub-robot, or a signal receiving device supporting the signal transmitting device of the sub-robot, etc. In some scenario examples, sensors such as Bluetooth and infrared can be used as the signal receiving device and the signal transmitting device to determine the pose information of the sub-robot. Generally, sensors such as Bluetooth and infrared have a limited acquisition distance, and affected by the installation position, the acquisition direction is also fixed, and it is also difficult for the acquisition angle range to reach 360 degrees. <000°0397>
[0187] In addition, when the lidar of the main robot is used as the sub-robot pose perception unit, it is necessary to control the movement of the sub-robot. If the obstacle distribution around the sub-robot is relatively complex and it is difficult for the sub-robot to execute the movement, then the main robot cannot assist the sub-robot to perform repositioning either. Or, when the vision sensor of the main robot is used as the sub-robot pose perception unit, the vision sensor is relatively sensitive to the brightness of the ambient light. Although the vision sensor can perceive the sub-robot, in the case of more interference factors in the ambient light, there are more noises, which may also cause deviation in contour recognition and affect the accuracy of repositioning. Or, when using the Bluetooth installed on the main robot as the sub-robot pose perception unit, it may be necessary to control both the main robot and the sub-robot to execute certain actions before the repositioning of the sub-robot can be achieved.
[0188] Therefore, due to factors such as the detection range of the sub-robot's pose perception unit, the distribution of obstacles around the robot, ambient light intensity, and the relocation algorithm used by the main robot to assist the sub-robot, if the position of the sub-robot and / or the main robot does not meet the relocation requirements of the sub-robot's pose perception unit, problems such as the sub-robot getting stuck or the pose perception unit failing to accurately detect the sub-robot's information can easily occur when the main robot assists the sub-robot in relocation. This can lead to relocation failure or inaccurate relocation results. If the sub-robot relocation fails, the main robot needs to analyze the cause of the failure and make complex adjustments; if the sub-robot gets stuck, user intervention is required; and when relocation is inaccurate, the subsequent movement and cleaning accuracy of the sub-robot are difficult to guarantee, resulting in poor sub-robot operation accuracy, poor cleaning coverage, poor interaction flexibility among multiple robots, and ultimately a poor user experience.
[0189] In the embodiments described in this specification, if the positions of the sub-robot and the main robot meet the repositioning requirements corresponding to the sub-robot's pose perception unit, the main robot can then assist the sub-robot in performing repositioning. This can further ensure the accuracy of the sub-robot's operation and the cleaning coverage, as well as improve the interaction flexibility of multiple robots, thereby enhancing the user experience.
[0190] Since the sensor types and auxiliary repositioning algorithms of the sub-robot pose perception units differ, their repositioning requirements also differ. Therefore, the repositioning requirements of the sub-robot pose perception units can be determined in advance based on the sensor types and auxiliary repositioning algorithms configured for the main robot, and these requirements can be pre-stored. For example, they can be stored in the main robot and / or the sub-robot. Before auxiliary repositioning, the main robot and / or the sub-robot determine whether the positions of the sub-robot and the main robot meet the requirements based on the pre-stored repositioning requirements.
[0191] The location that meets the relocalization requirements of the sub-robot pose perception unit can include: the sub-robot is within the detection range of the main robot's sub-robot pose perception unit, and there are no obstacles obstructing the sub-robot pose perception unit's detection of the sub-robot.
[0192] Once it's confirmed that the sub-robot is within the detection range of its pose sensing unit and unobstructed by obstacles, the main robot assists the sub-robot in relocalization. If the sub-robot is outside the detection range of its pose sensing unit or is obstructed by obstacles, the main robot or sub-robot is controlled to move to ensure the sub-robot is within the detection range of its pose sensing unit and unobstructed. Since the detection range of some sub-robot pose sensing units may be limited, and the external environment is complex and variable, performing sub-robot relocalization only after confirming that the sub-robot is within the detection range of its pose sensing unit and unobstructed by obstacles based on the work map information can further improve the efficiency of sub-robot relocalization and enhance the user experience.
[0193] The location that satisfies the relocalization requirements of the sub-robot pose perception unit may also include: environmental features at the location of the sub-robot, and / or environmental features at the location of the master robot, and / or environmental features of the area between the master robot and the sub-robot that satisfy the relocalization requirements of the sub-robot pose perception unit. Environmental features may include ambient light intensity, obstacle distribution characteristics, etc.
[0194] If the environmental features at the location of the sub-robot, and / or the location of the main robot, and / or the environmental features in the area between the main robot and the sub-robot do not meet the relocation requirements, the sub-robot and / or the main robot can be controlled to move until the corresponding environmental features meet the relocation requirements of the sub-robot's pose perception unit. For example, if the obstacle distribution at the location of the sub-robot is complex, or the obstacle distribution in the area between the main robot and the sub-robot is complex, the sub-robot and / or the main robot can be controlled to move to a more open area, facilitating the sub-robot and / or the main robot to perform relocation actions, and so on.
[0195] For example, low-ceilinged spaces are generally dimly lit. If the sub-robot's pose perception unit relies on ambient light for its perception of the sub-robot, then relocalization should be performed after the sub-robot leaves the low-ceilinged space. Obstacles near narrow passages are usually complex. If the sub-robot's pose perception unit requires the sub-robot to move for relocalization, then relocalization can be performed after the sub-robot leaves the narrow passage. Environmental features can be determined based on the work map or by combining ambient light information detected in real-time by the main robot. The conditions that the environmental features around the sub-robot must meet depend on the type of sub-robot's pose perception unit and the algorithm used by the main robot to assist in sub-robot relocalization; these are not limited here.
[0196] Re-controlling the sub-robot and / or main robot to move again when anomalies occur during relocation is typically complex and cumbersome, and anomalies during relocation can also negatively impact the user experience. This embodiment of the specification addresses this by performing relocation only when the environmental characteristics of the sub-robot's location, and / or the main robot's location, and / or the area between the main robot and the sub-robot meet the relocation requirements. This reduces the probability of anomalies during relocation, effectively improving the relocation success rate and enhancing the user experience.
[0197] In some embodiments, the position of the sub-robot that meets the repositioning requirements of the sub-robot pose sensing unit and the position of the main robot can be determined. Before the main robot assists the sub-robot in performing repositioning, the sub-robot and / or the main robot can move to the position that meets the repositioning requirements of the sub-robot pose sensing unit.
[0198] The operation map stores the pose information of the sub-robots and the main robot, as well as obstacle distribution information. Based on the map information, the sub-robots and / or the main robot can determine the position of the sub-robot and the position of the main robot that meet the repositioning requirements of the sub-robot pose perception unit, so that the sub-robots and / or the main robot can move to the position that meets the repositioning requirements of the sub-robot pose perception unit. The obstacle information in the operation map can be updated in real time as the main robot and sub-robots determine the obstacle information during their movement. The position that meets the repositioning requirements of the sub-robot pose perception unit can also be adjusted in real time as the operation map is updated to ensure that the position that meets the repositioning requirements of the sub-robot pose perception unit conforms to the actual working environment. Of course, during the movement, information collected by the robot in real time, such as ambient light intensity, can also be used to adjust the position that meets the repositioning requirements of the sub-robot pose perception unit.
[0199] In some embodiments, after confirming that the sub-robot is performing repositioning, the main robot can also move towards the host robot's operating area, which is adjacent to the sub-robot's current operating area. Alternatively, the sub-robot can move from its current operating area towards the host robot's operating area, or towards the boundary between the sub-robot and host robot operating areas. This initial movement by the main robot and sub-robot can initially reduce the distance between them and minimize obstruction. This also reduces the complexity of path planning for both the main robot and sub-robot. Due to the complex and ever-changing working environment, after moving to the initially determined position, the sub-robot and / or the main robot can further adjust their position based on real-time collected information to meet the repositioning requirements of the sub-robot's pose perception unit, and then move to the adjusted position to ensure that both the sub-robot and the main robot's positions meet the repositioning requirements of the sub-robot's pose perception unit.
[0200] Some obstacle detection sensors on cleaning robots, such as lidar and line lasers, are unable to accurately identify obstacles with weak light emission signals or reflective signals that differ from those of ordinary objects (such as mirrors and glass). Alternatively, if the obstacle detection sensor is a vision sensor, it may fail to accurately identify obstacles in dark areas without supplemental lighting. For these types of obstacles, cleaning robots can supplement their identification using other contact sensors, such as bumpers.
[0201] The sub-robot's work area is typically a low-ceilinged or narrow space, making it difficult for the main robot's sub-robot pose perception unit to detect many locations within this area. Therefore, as described in the above embodiments, before performing relocation, the sub-robot needs to be moved to a position that meets the relocation requirements of its pose perception unit. For example, the sub-robot might be moved to the boundary between the sub-robot's work area and the main robot's work area, or a position near that boundary. However, this boundary or position near the boundary is usually cleaned along the edge by the main robot or sub-robot. During the cleaning process, the main robot or sub-robot may not directly contact the boundary, resulting in some obstacles not identified by non-contact sensors such as LiDAR, line laser, or vision sensors not being marked on the work map. Alternatively, although the main robot or sub-robot may identify the obstacles through contact during the cleaning process, the outlines of the obstacles identified by the collision plate are usually not accurate enough. This results in some obstacles identified based on the collision plate being marked on the work map, but the marked information deviates from the actual obstacle information.
[0202] In addition, due to the performance of the obstacle detection sensor itself or the built-in algorithm, there are some obstacles that the cleaning robot cannot accurately identify. For example, the outline, position and type of the obstacle identified by the cleaning robot may deviate from the actual outline, position and type of the obstacle.
[0203] The child robot's perception system is relatively simple, making it more likely to experience positional deviations during movement. Therefore, the child robot on the work map is also more likely to have positional deviations. Of course, due to the influence of the complex working environment, it cannot be ruled out that the main robot's position may also deviate.
[0204] Therefore, the obstacle information in the work map may deviate from the actual work environment, and the pose information of the sub-robot and main robot in the work map may also deviate. After controlling the sub-robot and / or the main robot to move to a position that meets the repositioning requirements of the sub-robot pose perception unit, at least due to the influence of the external environment on the detection of the sub-robot pose perception unit, the difference between the environmental information in the work map and the environmental information of the actual work area, and the difference between the pose information of the main robot and the sub-robot in the work map and the actual pose information of the main robot and the sub-robot, the sub-robot may not actually be within the detection range of the sub-robot pose perception unit when the work map determines that the sub-robot is within the detection range of the sub-robot pose perception unit and there are no obstacles obstructing it, and / or there may be obstacles obstructing it. As a result, the sub-robot pose perception unit of the main robot cannot detect the sub-robot, and the main robot cannot assist in performing the repositioning of the sub-robot.
[0205] For example, during the movement of a sub-robot, a positional deviation may occur. When the main robot moves to the vicinity of the sub-robot to assist in relocalization based on its updated position information on the work map, if the sub-robot's actual position deviates from its marked position on the work map, and the sub-robot is actually outside the detection range of the main robot's vision sensor, then the image captured by the main robot's vision sensor will not include the sub-robot. Consequently, the main robot cannot assist the sub-robot in relocalization based on its vision sensor. Alternatively, if there are obstacles around the sub-robot, and the sub-robot is occluded by these obstacles while the main robot is assisting in relocalization, even if the sub-robot is within the detection range of the vision sensor, the obstacle may obscure it, preventing the sub-robot from being included in the image captured by the main robot's vision sensor. Similarly, the area around the sub-robot may be dark, and the main robot's sub-robot pose perception unit may not detect the sub-robot, thus preventing the main robot from assisting in the sub-robot's relocalization, and so on.
[0206] In the embodiments described in this specification, when the main robot assists the sub-robot in performing relocation and the sub-robot's pose perception unit cannot perceive the sub-robot, the main robot can perform a search action and / or the sub-robot can perform a response action to enable the main robot to attempt to perceive the sub-robot.
[0207] For example, after controlling the sub-robot and / or the main robot to move to a position that meets the repositioning requirements of the sub-robot's pose perception unit, the main robot can assist the sub-robot in performing repositioning. If the sub-robot's pose perception unit cannot perceive the sub-robot at this time, the main robot can perform a search action, and / or the sub-robot can perform a response action, so that the main robot can attempt to perceive the sub-robot.
[0208] The search and response actions can include one or a combination of several of the following: rotating in place, moving forward in a straight line, moving backward in a straight line, and moving in a curved path. For example, the search action could involve the main robot moving back and forth near the location of the sub-robot displayed on the work map, attempting to sense the sub-robot. The response action could involve the sub-robot moving back and forth near the location of the main robot displayed on the work map, allowing the main robot to attempt to sense the sub-robot. While the main robot is performing a search action, the sub-robot can wait in place; or while the sub-robot is performing a response action, the main robot can wait in place; of course, the sub-robot can simultaneously perform a response action while the main robot is performing a search action. The search and response actions can be configured as needed and are not limited here.
[0209] The master robot can communicate with its sub-robots to send signals, enabling both to perform corresponding actions. For example, the master robot can instruct the sub-robot to leave its currently undetectable work area and proceed to a preset location. Since communication typically utilizes methods like Wi-Fi, which allow for long-distance interaction across obstacles, it mitigates the impact of obstacles and distance, facilitating interaction between the master and sub-robots and enabling them to exchange information about required actions. For instance, the master robot can start a timer when it cannot detect the sub-robot. After a preset first duration, it can use the communication connection to interact with the sub-robot, sending it a response action or instructing it to wait in place.
[0210] Actual working environments are complex and changeable, and the work map cannot guarantee an accurate and comprehensive reflection of all information in the actual working environment. Therefore, even if the work map confirms that the sub-robot is within the detection range of the sub-robot's pose perception unit and there are no obstacles obstructing its movement, controlling the main robot to assist the sub-robot in relocalization cannot guarantee that the sub-robot's pose perception unit will successfully perceive the sub-robot. In the embodiments described in this specification, by having the main robot perform a search action and / or the sub-robot perform a response action, the multi-robot collaborative system can autonomously complete relocalization in situations where there is information discrepancy between the work map and the actual working environment, or where information is missing from the work map. This reduces user intervention, improves the intelligence of the multi-robot collaborative system, and enhances the user experience.
[0211] This specification also provides a multi-robot collaboration method in some embodiments, wherein the multi-robot includes a master robot and at least one sub-robot; the sub-robot can be used to perform supplementary tasks in areas where the master robot cannot operate. The master robot is equipped with a sub-robot pose sensing unit, which is used to determine the pose information of the sub-robot relative to the master robot, so that the master robot assists the sub-robot in performing relocation based on the pose information. The method includes: when the master robot assists the sub-robot in performing relocation, and the master robot's sub-robot pose sensing unit cannot detect the sub-robot, the master robot performs a search action, and / or the sub-robot performs a response action, so that the master robot attempts to detect the sub-robot, thereby enabling the multi-robot collaboration system to autonomously complete relocation, reducing user intervention, improving the intelligence of the multi-robot collaboration system, and improving the user experience. Specific implementation methods are as described in the above embodiments and will not be repeated here.
[0212] In some embodiments, the main robot can first perform its own relocalization. If it confirms that the main robot's pose information is without deviation, the main robot then performs a search action, and / or the sub-robot performs a response action, to re-perceive the sub-robot. If, based on the relocalization information, it is determined that the main robot's pose information has a deviation, the main robot adjusts its pose to meet the relocalization requirements of the sub-robot's pose perception unit. For example, if it is confirmed that the main robot's pose information has a deviation, the relocalized pose information of the main robot can be updated in the work map. Then, based on the work map, the main robot can be controlled to move and / or rotate. Only after the adjusted pose of the main robot meets the relocalization requirements of the sub-robot's pose perception unit can the main robot be controlled to assist the sub-robot in performing relocalization.
[0213] The main robot has a rich perception system, enabling it to quickly calibrate its own pose. If a pose deviation is detected, the main robot can eliminate the problem of not being aware of the sub-robot by rapidly calibrating its own pose, thus improving the accuracy and efficiency of the sub-robot's repositioning. If the main robot's pose information is confirmed to be error-free, it facilitates subsequent accurate movement of the main robot or movement of the sub-robot based on the main robot's position. This makes it easier for the main robot and sub-robot to collaborate, quickly perceive the sub-robot, and improve the interaction efficiency during the repositioning process.
[0214] In some embodiments, the search action of the main robot may include the main robot moving towards a first target location until the main robot senses the sub-robot before triggering a first preset stop condition, or the main robot triggers the first preset stop condition.
[0215] The first target location can include the sub-robot's position on the work map when the main robot assists the sub-robot in relocation, or the release position of the sub-robot marked on the work map. Alternatively, the specified location can be other locations, such as any point in a relatively open area on the work map.
[0216] During the process of the master robot controlling the sub-robot, it can lead the sub-robot to the sub-robot's working area or sub-area. After arriving at the sub-robot's working area or sub-area, the master robot can release the sub-robot from its starting position in the sub-robot's working area or sub-area, allowing the sub-robot to work on the sub-robot's working area or sub-area from that starting position. Accordingly, the starting position can be used as the release position.
[0217] When the main robot releases the sub-robot to perform tasks, it typically needs to know the sub-robot's global pose information so that the sub-robot can accurately perform its work within the designated cleaning path. If the environment around the release location remains largely unchanged, controlling the main robot to move to the release location and sense the sub-robot increases the probability of the main robot detecting the sub-robot. Correspondingly, while controlling the main robot to move to the release location, the sub-robot can also be controlled to move to the release location.
[0218] When the main robot releases the sub-robot, their positions may or may not coincide. If the main robot releases the sub-robot but their positions do not coincide, each robot is released to its designated release position. Accordingly, the main robot can move to its release position, and the sub-robot can move to its release position.
[0219] The main robot can move to the target location based on a planned path. Before moving, the main robot can pre-plan a path based on the work map and move to the target location based on the planned path. During the movement, the main robot can also adjust the planned path in real time based on the real-time updated work map and real-time detected information. For example, if the main robot identifies an obstacle blocking the sub-robot by hitting a board during its movement, it can adjust its movement path in real time based on the detected obstacle information.
[0220] If the main robot detects the sub-robot before triggering the first preset stopping condition while moving towards the first target position, it stops moving. The main robot can determine whether the positions of the sub-robot and the main robot meet the repositioning requirements of the sub-robot pose sensing unit. If they do, the main robot assists the sub-robot in performing repositioning. If not, the main robot and the sub-robot can move and / or rotate until the repositioning requirements of the sub-robot pose sensing unit are met.
[0221] Alternatively, if the main robot triggers a first preset stop condition, the main robot will stop moving. The first preset stop condition may be that the main robot moves to a first target position, or it may be that the main robot moves for more than a preset moving time or moves for more than a preset distance threshold.
[0222] In some embodiments, the main robot may perform the following search action:
[0223] S101: The main robot can first rotate in place by a specified angle, and then move to the target position on the work map after rotating by the specified angle;
[0224] S102: The main robot can move a preset distance to the first target position based on the planned path and then stop, and rotate in place by a specified angle; after rotating by the specified angle, the main robot continues to move to the target position based on the planned path;
[0225] S103: Repeat the steps of moving a preset distance, stopping, rotating in place by a specified angle, and then continuing to move until the main robot senses the sub-robot before triggering the first preset stop condition, or the main robot triggers the first preset stop condition.
[0226] S104: If the main robot moves to the first target position, the main robot can also rotate in place at the first target position by a specified angle.
[0227] A deviation in the pose information of either the main robot or the sub-robot may cause the sub-robot to be within the acquisition range of its pose sensing unit, but the acquisition angle range and / or acquisition direction of the sub-robot's pose sensing unit may not cover its location. By controlling the main robot to rotate in place, the sub-robot can be detected by the sub-robot's pose sensing unit. Alternatively, due to occlusion by an obstacle, the acquisition angle range and / or acquisition direction of the sub-robot's pose sensing unit may not cover its location. By rotating in place, the acquisition angle range and / or acquisition direction of the sub-robot's pose sensing unit can be made to cover the sub-robot's location, thus allowing the main robot to detect the sub-robot. The main robot's in-place rotation operation enables rapid adjustment of the sensing system. Using simple body control operations, and without complex algorithms, relocation anomaly recovery in simple scenarios can be achieved.
[0228] Meanwhile, based on the planned path and the search in place using rotation, the main robot's perception system can be effectively utilized to perform 360-degree detection around the main robot, improving the efficiency of the main robot in finding the sub-robot.
[0229] Furthermore, compared to controlling the movement of the sub-robots, this embodiment controls the movement of the main robot, which can utilize the main robot's relatively rich perception system to collect obstacle information and flexibly adjust the search path, thereby enabling the main robot to more quickly and accurately re-perceive the sub-robots.
[0230] The specified angle in the above actions can be determined based on the horizontal detection angle of the sub-robot's pose perception sensor. Given that the horizontal detection angle of some sub-robot pose perception sensors is limited, controlling the main robot to rotate by a specified angle at the start of movement, after traveling a certain distance, and upon reaching the first target position can avoid missing the perception of the sub-robot due to the influence of the horizontal detection angle of the sub-robot's pose perception sensor.
[0231] If the detection angle of the sub-robot's pose perception sensor is 360 degrees, the main robot can continue to move based on the planned path until the main robot perceives the sub-robot before triggering the first preset stopping condition, or the main robot triggers the first preset stopping condition, without having to perform the actions of rotating in place by a specified angle and moving a preset distance before stopping.
[0232] Of course, during the detection process, other sensing sensors on the main robot can also be used to detect the sub-robot. For example, if a lidar is used as the sub-robot's pose sensing sensor, a vision sensor can also be used to detect the sub-robot, so as to quickly detect the sub-robot. After initially determining the position of the sub-robot, the main robot or the sub-robot can be controlled to move based on the initially determined position of the sub-robot, so that the lidar can quickly detect the sub-robot. Since the horizontal detection angle of the vision sensor does not reach 360 degrees, even if the detection angle of the sub-robot's pose sensing sensor is 360 degrees, the actions of rotating in place by a specified angle and moving a preset distance and then stopping can be executed in S101 to S104 during the main robot's movement based on the planned path.
[0233] For example, the main robot can be controlled to move to the location of the sub-robot on the work map. While the main robot moves to the location of the sub-robot on the work map, the sub-robot can wait in place.
[0234] As described in the above implementation, the boundary between the sub-robot's operating area and the main robot's operating area may contain obstacles that the main robot cannot identify in non-contact mode. Due to the operating path, neither the main robot nor the sub-robot may have pre-identified these obstacles through contact, or the identification may be inaccurate. This results in the obstacle not being marked on the operation map or the marked obstacle information being inaccurate, causing the obstacle to occlude the sub-robot. By controlling the main robot to move towards the location of the sub-robot on the operation map, the main robot can determine whether there are obstacles between the sub-robot's location and the main robot's location through collisions along its path. If the main robot determines the existence of an obstacle through collisions, it can move along the obstacle and determine the obstacle's outline information through contact. The specific obstacle avoidance algorithm is not limited here.
[0235] During the obstacle avoidance process, the sub-robot's pose perception unit can be used to perceive the sub-robot in real time. After perceiving the sub-robot, the main robot can then assist the sub-robot in repositioning. Alternatively, other sensing sensors on the main robot can be activated to synchronously perceive the sub-robot. After perceiving the sub-robot, the main robot can control its movements in tandem with the main robot, so that the sub-robot's pose perception unit can also perceive the sub-robot.
[0236] Alternatively, if there is a deviation in the pose information of the main robot and / or the sub-robot, the main robot can travel to the location of the sub-robot to confirm whether there is a pose deviation. For example, if the main robot travels to the location of the sub-robot without touching any object, it may be that the pose information of the sub-robot is deviated, and the sub-robot is not in the position shown on the work map; or it may be that the pose information of the main robot is deviated, and the main robot has not traveled to the position of the sub-robot on the work map.
[0237] For example, the main robot can be controlled to move a preset distance toward the location of the sub-robot, then stop and rotate in place to detect the sub-robot; if the sub-robot is not detected, the main robot can be moved a preset distance again, stop and rotate in place to detect the sub-robot, and the above-mentioned moving and rotating search actions can be continuously executed until the sub-robot is detected.
[0238] Using the location of the sub-robot as the primary target location allows the main robot to quickly determine whether there are obstacles obstructing the sub-robot's path, as well as whether there are positional deviations between the main robot and the sub-robot. Based on these determined factors, the main robot can then perform other search actions or control the sub-robot to execute response actions.
[0239] Of course, the main robot can also use other actions to move towards the first target location. If the main robot does not detect the child robot while moving towards the location of the child robot, or while moving to the location of the child robot, it can also be controlled to reposition itself, or issue a reminder, etc.
[0240] In some embodiments, the response action of the sub-robot may include moving the sub-robot to a second target location until the sub-robot is sensed by the master robot before triggering a third preset stop condition, or the sub-robot triggers the third preset stop condition.
[0241] The second target location can be the position of the main robot on the work map when the main robot assists the sub-robot in performing relocation, or the release position of the sub-robot marked on the work map. Alternatively, the second target location can be other locations, such as any point in a relatively open area on the work map.
[0242] The sub-robot can move to the target location based on a planned path. Before moving, the sub-robot can pre-plan its path based on the work map, or the master robot can send a planned path, and the sub-robot will move to the target location based on the planned path. During the movement, the sub-robot can also adjust the planned path in real time based on the updated work map and real-time detected information. For example, if the sub-robot identifies an obstacle blocking its path by hitting a board, it can adjust its path in real time based on the detected obstacle information.
[0243] If the sub-robot is detected by the master robot before triggering the third preset stopping condition while moving towards the second target position, it will stop moving. The master robot can determine whether the positions of the sub-robot and the master robot meet the repositioning requirements of the sub-robot pose sensing unit. If they do, the master robot assists the sub-robot in performing repositioning. If not, the master robot and the sub-robot can move and / or rotate until the repositioning requirements of the sub-robot pose sensing unit are met.
[0244] Alternatively, the sub-robot may trigger a first preset stop condition, causing it to stop moving. The first preset stop condition could be that the sub-robot has moved to a second target position, or it could be that the sub-robot's movement time exceeds a preset movement duration or the movement distance exceeds a preset distance threshold.
[0245] For example, the sub-robot can move to the location of the main robot on the work map. While the sub-robot is moving to the location of the main robot, the main robot can either wait in place or rotate in place. The main robot's rotation can be continuous rotation or rotation at preset intervals, and the rotation angle can be 360 degrees or the angle specified above.
[0246] Because of the integrity of the main robot's own positioning device, the main robot's position is accurate in the work map. The main robot's position in the work map can be used as the target position for the sub-robot to move. The range including the main robot's position and a specified distance nearby can also be used as the target area for the sub-robot to move, so as to ensure that the sub-robot can reach the area and be perceived by the main robot.
[0247] The sub-robot's operating area is typically a low-ceilinged or narrow passageway area that the main robot cannot access. If, during relocation, the sub-robot is within its operating area, and an obstacle obstructing it is also located within that area, the main robot cannot move into the sub-robot's operating area and therefore cannot identify and remove the obstacle through contact. In this situation, controlling the sub-robot to move towards the main robot makes it easier to overcome the obstacle's obstruction.
[0248] Alternatively, during relocation, if the sub-robot is within the main working area, and an obstacle obstructing it is also located within the main working area, the main robot can move to the sub-robot's location based on the work map. However, the information about the obstacle obstructing the sub-robot is unknown. Since the sub-robot's location is usually close to its working area, the obstacle obstructing the sub-robot and other obstacles within the sub-robot's working area may create new low-lying spaces or narrow passages, hindering the main robot's movement to the sub-robot's location. Because the sub-robot is lightweight and less affected by obstacles, it has a relatively larger traversable area. Controlling the sub-robot to move towards the main robot's location can significantly improve the flexibility of robot collaboration and more easily overcome obstacle obstructions.
[0249] Furthermore, during relocalization, if the sub-robot is determined to be within the main working area based on the work map, but its pose information is deviated, the sub-robot is highly likely to remain within its own working area. Even if the main robot moves to the sub-robot's location and detects the pose information deviation, it may still be difficult to detect the sub-robot due to the presence of areas outside the sub-robot's pose sensing unit's detection range within its working area; or, due to obstacles, areas within the sub-robot's working area may be undetectable by the pose sensing unit. In this case, even if the main robot performs further search actions, it may still be difficult to detect the sub-robot. This embodiment, by controlling the sub-robot's movement, ensures that even with a deviated pose information, the sub-robot's working area is typically limited, giving it a significant probability of moving out of the working area and being detected by the main robot.
[0250] As the sub-robot moves toward the main robot, the sub-robot's pose perception unit can continuously perceive the sub-robot. Of course, it can also activate other perception sensors on the main robot to perceive the sub-robot synchronously.
[0251] Alternatively, in other embodiments, the sub-robot and the main robot can be controlled to move to the release location on the work map.
[0252] For example, the master robot can send a signal to the sub-robot to move to the release position, and control both the master robot and the sub-robot to move to the release position. The movement methods of the master robot and the sub-robot can be referred to the above embodiments, and will not be repeated here.
[0253] The system can control both the main robot and the sub-robot to move to the release location. If, after confirming that both the main robot and the sub-robot have reached the release location, the main robot still fails to detect the sub-robot, it can be confirmed that there is a deviation in the pose information of the sub-robot and / or the main robot. The main robot can be controlled to perform relocalization first. If, after relocalization, there is no pose information deviation, it can be confirmed that there is a deviation in the pose information of the sub-robot, thus quickly identifying the reason why the sub-robot was not detected.
[0254] Of course, the first target location and the second target location can also be any location point in a relatively open area on the work map. The main robot and the sub-robot can move to the first target location and the second target location respectively. Please refer to the release location for details. There are no restrictions here.
[0255] In some embodiments, the search action may further include: within a specified range relative to the reference position, the main robot moves around the reference position until the main robot senses the sub-robot before triggering the second preset stop condition, or the main robot triggers the second preset stop condition.
[0256] The second preset stopping condition includes at least one of the following conditions: the position of the main robot exceeds the specified range; the movement time of the main robot exceeds the preset movement duration; the movement distance of the main robot exceeds the preset distance threshold.
[0257] The reference position is the position of the main robot on the work map when the main robot assists the sub-robot in performing repositioning, or the position of the sub-robot on the work map when the main robot assists the sub-robot in performing repositioning, or the release position of the sub-robot marked on the work map.
[0258] The specified range relative to the reference position can refer to a circular area centered on the reference position with a specified radius; or a square centered on the reference position with a specified side length; or it can be an irregular shape, without limitation here. Within the specified range, the main robot and / or the sub-robot are controlled to move around the reference position, such as moving in a straight line forward, backward, left, or right, or moving in an arc, without limitation here. The sub-robot's pose sensing unit can continuously sense the sub-robot during the movement.
[0259] The pose information deviation range of the main robot or sub-robot is usually limited. By limiting the reference position and the range of movement, controlling the movement of the main robot and / or sub-robot can quickly eliminate the problem of the sub-robot not being perceived due to pose information deviation. The size of obstacles that occlude the sub-robot is also limited. In the case of obstacle occlusion, the main robot and sub-robot can move within the above-mentioned range to more flexibly get rid of obstacle occlusion.
[0260] The main robot's movement relative to the reference position can also refer to S101-S104 above. First, it rotates in place by a specified angle, then moves. After moving a preset distance, it stops and rotates in place by a specified angle. If the child robot is not detected, it moves another preset distance, stops, and rotates in place by a specified angle to detect the child robot. This movement and rotation search action is repeated until the child robot is detected. Of course, the main robot can also perform other actions, which are not limited here.
[0261] In some embodiments, the response action may further include: within a specified range relative to the reference position, the sub-robot moves around the reference position until the sub-robot is sensed by the master robot before the fourth preset stop condition is triggered, or the sub-robot triggers the fourth preset stop condition.
[0262] The fourth preset stopping condition may include at least one of the following conditions: the position of the sub-robot exceeds the specified range; the movement time of the sub-robot exceeds the preset movement duration; or the movement distance of the sub-robot exceeds the preset distance threshold.
[0263] The reference position can be the position of the main robot on the work map when the main robot assists the sub-robot in performing relocation, or the position of the sub-robot on the work map when the main robot assists the sub-robot in performing relocation, or the release position of the sub-robot marked on the work map.
[0264] The movements of the sub-robot relative to the reference position can be referenced from the movements of the main robot relative to the reference position, and will not be elaborated here.
[0265] When the main robot performs a search action relative to the reference position, the sub-robot can wait in place or perform a response action relative to the reference position; when the sub-robot performs a response action relative to the reference position, the main robot can wait in place, rotate in place, or perform other search actions relative to the reference position.
[0266] Alternatively, the sub-robot can perform simple relocalization and update its position on the work map. This allows the master robot to locate the sub-robot based on the updated map, reducing the distance between them by moving towards the sub-robot and thus restoring perception. For example, the sub-robot might be equipped with a wheeled positioning device that can correct its position on the work map. However, due to limitations in the device's positioning accuracy, the correction is often ineffective, only sending a position close to the sub-robot's actual location to the work map. Therefore, the master robot still needs to move to the corrected position to actually locate the sub-robot and restore perception. Because the sub-robot performs a simple position update on the work map, this method is more effective than the master robot directly searching for the sub-robot based on the work map. It reduces unnecessary travel paths during the master robot's search for the sub-robot and improves the efficiency of finding and restoring perception.
[0267] In the above embodiments, the main robot may first perform a search action, and if it fails to detect the sub-robot, then perform another search action, or the sub-robot may perform a response action; alternatively, the sub-robot may first perform a response action, then perform another response action, or the main robot may perform a search action; or, while the main robot is performing a search action, the sub-robot may simultaneously perform a response action. The combination and execution order of the above actions can be selected as needed and are not limited.
[0268] In some embodiments, after the main robot performs a search action and / or the sub-robot performs a response action, and the main robot does not detect the sub-robot, the main robot and / or the sub-robot may issue a reminder, which is used to request the user or a third-party device to assist in finding the sub-robot.
[0269] For example, if the main robot does not detect the sub-robot after the preset search and response actions are completed, the main robot and / or the sub-robot can issue a reminder; or, the main robot and / or the sub-robot can issue a reminder after a certain period of time has elapsed since the search and response actions were performed.
[0270] For example, the main robot sends an anomaly alert to the user terminal. After receiving the alert, the user can directly locate the sub-robot in the work area. Alternatively, the main robot sends an anomaly alert to a third-party device connected to it, such as a surveillance camera. The surveillance camera uses this alert to help the main robot locate the sub-robot's position on the work map.
[0271] By using anomaly alerts to handle scenarios where neither the main robot nor the sub-robot can perceive the situation, the system avoids the main robot and sub-robots from entering a dead loop of perception and searching, reduces energy consumption during useless searches, and improves collaboration efficiency by leveraging users and third parties.
[0272] As can be seen from the above embodiments, the sub-robot's operating area is usually in the blind spot of the main robot's obstacle information collection, or the ambient light in the sub-robot's operating area is dim, resulting in the main robot having less obstacle information for the sub-robot's operating area and difficulty in ensuring accuracy. Therefore, the sub-robot cannot actually continue to move along the initially planned path. During the movement, the sub-robot needs to perform obstacle avoidance, obstacle bypass cleaning and other operations based on the real-time detected obstacle information.
[0273] Alternatively, when the sub-robot switches areas, although the obstacle information on the planned path is relatively accurate, the area it passes through is usually an area where the user frequently moves, and the obstacle positions change frequently. The sub-robot cannot actually continue to move along the initially planned path. If the main robot is not near the sub-robot and cannot detect the changes in obstacles on the sub-robot's path in real time, the sub-robot needs to perform obstacle avoidance, obstacle bypass cleaning, and other operations based on the obstacle information it detects in real time.
[0274] However, the accuracy of the information collected by the sub-robot regarding obstacles is difficult to guarantee. The sub-robot's own pose information is relatively simple. When the sub-robot adjusts its path in real time based on the collected obstacle information, the adjusted path and the sub-robot's real-time pose information are prone to large deviations, causing the sub-robot to fail to accurately perform cleaning coverage or accurately travel to the target location.
[0275] Accordingly, this specification also provides a multi-robot collaboration method in its embodiments. The multi-robot includes a master robot and at least one sub-robot. The sub-robot can be used to perform supplementary tasks in areas where the master robot cannot operate. The master robot is equipped with a sub-robot pose sensing unit, which is used to determine the pose information of the sub-robot relative to the master robot, so that the master robot can accompany the sub-robot to perform tasks or switch areas based on the pose information.
[0276] The tasks performed by the sub-robots can include cleaning and mapping. Robot area switching can include a robot moving from one cleaning area to another, returning from a cleaning area to the base station, or moving from the base station to a cleaning area.
[0277] The main robot, based on the pose information, accompanies the sub-robot to perform tasks or switch areas. This can be achieved by the sub-robot remaining within the sensing range of the main robot's sub-robot pose perception unit during its movement, allowing the main robot's sub-robot pose perception unit to continuously and in real-time perceive the sub-robot, or perceive it at preset intervals. The main robot can guide the sub-robot's movement based on its pose information relative to the main robot; or, the sub-robot can move based on its pose information relative to the main robot. The accuracy of the main robot's pose information, combined with the sub-robot's movement based on this information, improves the accuracy of the sub-robot's movement. Correspondingly, when obstacles change along the sub-robot's path, the sub-robot can accurately determine its pose during obstacle avoidance or obstacle bypassing based on the collected obstacle information, and after obstacle avoidance or obstacle bypassing, allowing the sub-robot to accurately and in real-time adjust its movement path, ensuring the accuracy of the path adjustment and the cleaning coverage rate.
[0278] For example, the main robot can accompany the sub-robot in its cleaning area, located within the main robot's cleaning area. If the sub-robot's cleaning area is divided into at least one sub-robot partition, the main robot can also accompany the sub-robot in its cleaning area, located within the main robot's cleaning area. Having the main robot accompany the sub-robot in its cleaning area allows for easier control of the sub-robot and enables a rapid response to any abnormalities encountered during the sub-robot's cleaning process, thus improving the user experience.
[0279] For example, the main robot can first clean and / or collect data on the traversable areas of the work zone to create a preliminary work map. Then, it controls the sub-robots to move into areas not included in the preliminary work map. The main robot uses its perception of the sub-robots to correct their positioning errors, thus supplementing the preliminary work map with information about areas not collected by the main robot, thereby completing the construction of the work area map. Through the cooperation of the main robot and the sub-robots, the work map of the work area becomes more accurate and complete.
[0280] When the main robot arrives at any work zone to perform cleaning and / or mapping tasks, and the main robot accompanies the sub-robot in the same process, the main robot typically moves within its own work area, while the sub-robot moves within its own work area. There is a certain distance between the sub-robot and the main robot. Due to factors such as obstacle obstruction and the detection range of the sub-robot's pose sensing unit, there may be situations where the main robot fails to detect the sub-robot. Accordingly, if the main robot is accompanying the sub-robot during a task or area switch, and the main robot fails to detect the sub-robot, the sub-robot stops moving, and the main robot moves to re-detect the sub-robot. Once the main robot re-detects the sub-robot, the sub-robot continues to perform the task or switch areas while accompanied by the main robot.
[0281] If the main robot cannot detect the sub-robot, and the sub-robot continues to move, there is a high probability of path deviation, leading to errors in the information updated in the map by the sub-robot. This increases the difficulty for the main robot to re-detect the sub-robot. In this embodiment, when the main robot cannot detect the sub-robot, it controls the sub-robot to stop moving. The main robot can quickly locate the sub-robot based on its position when the sub-robot's detection signal was lost, the work map, and real-time detection information. This reduces the complexity of the main robot's detection of the sub-robot and improves the efficiency of the main robot's detection of the sub-robot. After the main robot detects the sub-robot, the sub-robot continues to perform tasks or switch areas accompanied by the main robot.
[0282] When the main robot accompanies the sub-robot in cleaning, and the main robot is unaware of the sub-robot, the sub-robot can stop cleaning or clean at a low speed while it stops moving. If the main robot is unaware of the sub-robot during cleaning, it may take some time for the main robot to become aware. During this waiting period, the main robot can control its cleaning module to stop cleaning or clean at a low speed while the sub-robot is stationary, thus reducing its power consumption.
[0283] If, based on the work map, it is confirmed that the sub-robot is outside the detection range of the sub-robot pose perception unit, the main robot moves towards the location of the sub-robot until the main robot perceives the sub-robot; and / or, if, based on the work map, it is confirmed that the sub-robot is obstructed by an obstacle, preventing the main robot from perceiving the sub-robot, the main robot performs obstacle avoidance maneuvers towards the obstacle until the main robot perceives the sub-robot. The work area environment is complex, and there may be sudden obstacles obstructing the main robot's perception of the sub-robot, or the sub-robot may be moved from its original position due to external factors. In such cases, the main robot can, based on the detected information, preliminarily determine the factors causing the sub-robot to be unperceived. If the factors are identifiable, it can plan a path to quickly and accurately perceive the sub-robot, improving the flexibility of the main robot accompanying the sub-robot.
[0284] For example, during the accompanying movement of the main robot and the sub-robot, there may be deviations from the predetermined accompanying trajectory. This could be due to the sub-robot deviating, the main robot deviating, or both robots deviating, increasing the distance between them and causing them to exceed the distance limit for perception, resulting in a loss of perception. In this situation, the main robot can be controlled to stop moving, while the sub-robot continues moving based on the work map until it returns to the main robot's perception range. Alternatively, the main robot can be controlled to slow down, for example, by controlling its movement speed to be less than the sub-robot's speed, until the sub-robot moves back into the main robot's perception range based on the work map. Or, the main robot's movement speed can be kept constant while increasing the sub-robot's speed, making the main robot's speed less than the sub-robot's speed, until the sub-robot moves back into the main robot's perception range based on the work map. Adjusting the relative position between the main robot and the sub-robot through simple speed adjustments restores the main robot's perception of the sub-robot, making the movements of both the main robot and the sub-robot simpler and more flexible.
[0285] While the main robot is stationary, it can be controlled to rotate in place. For example, after a preset stop time, the main robot can rotate in place to detect the sub-robot; if it cannot detect the sub-robot, it can rotate in place again after another preset stop time to detect the sub-robot, until the sub-robot is detected. Alternatively, the main robot can stop and rotate in place while slowing down for a preset deceleration time to detect the sub-robot; if it cannot detect the sub-robot, it can slow down again for a preset deceleration time, stop and rotate in place to detect the sub-robot, continuously executing these deceleration and rotation search actions until the sub-robot is detected. During the main robot's stop or deceleration process, the sub-robot can also accelerate.
[0286] Alternatively, the master robot can return along the original path after confirming that the sub-robot is trapped. For example, if the sub-robot gets stuck on an obstacle while following the master robot, and the master robot continues to move, causing the distance between them to increase, the master robot will not be able to sense the sub-robot when the distance no longer meets the sensing conditions. Returning along the original path can shorten the distance between the master robot and the sub-robot, thereby restoring sensing and also helping the sub-robot to get out of trouble.
[0287] When a sub-robot is unable to move, it can send a stuck signal to the main robot via communication devices. The main robot receives the signal and returns along its original path to restore its perception in a timely manner. It can also assist the sub-robot in escaping its stuck state; this method achieves timely restoration of perception through a simple backward movement. Alternatively, the main robot can determine if a sub-robot is stuck by observing that its position on the work map remains unchanged, and then return promptly, reducing equipment damage caused by the sub-robot being stuck.
[0288] Optionally, after the main robot returns along the original path to find the sub-robot, it can also help the sub-robot escape from its predicament. For example, by sensing data collected by the sub-robot, analyzing its work area, and precisely controlling its movement path, the main robot can assist in escaping the predicament. Alternatively, by controlling the main robot to collide with a barrier, the main robot can trigger a positional change in the sub-robot, thus helping it escape. Or, by controlling other unstuck sub-robots to collide with barriers, the main robot can trigger a positional change in the stuck sub-robot, thus helping it escape. The main robot can use these methods or a combination of them to assist the sub-robot in escaping predicaments, achieving automated handling of multi-robot collaborative problems, reducing human intervention, and improving the level of intelligence.
[0289] In some embodiments, if the sub-robot is confirmed to be within the detection range of the sub-robot pose perception unit based on the task map, and there are no obstacles obstructing the sub-robot, but the main robot cannot perceive the sub-robot, the main robot performs a search action, and / or the sub-robot performs a response action, so that the main robot attempts to perceive the sub-robot. The main robot performing the search action and / or the sub-robot performing the response action can utilize the search and response actions in the relocation described above, which will not be elaborated here.
[0290] In some embodiments, if the main robot still cannot detect the sub-robot after processing the search through one or more of the above methods, or if the main robot cannot detect the sub-robot for a preset second time period, the main robot and / or the sub-robot will issue an abnormal reminder to enable the user or a third-party device to assist in the search.
[0291] For example, the main robot sends an anomaly alert to the user terminal. After receiving the alert, the user can directly locate the sub-robot in the work area. Alternatively, the main robot sends an anomaly alert to a third-party device connected to it, such as a surveillance camera. The surveillance camera uses this alert to help the main robot locate the sub-robot's position on the work map.
[0292] By using anomaly alerts to handle scenarios where neither the main robot nor the sub-robot can perceive the situation, the system avoids the main robot and sub-robots from entering a dead loop of perception and searching, reduces energy consumption during useless searches, and improves collaboration efficiency by leveraging users and third parties.
[0293] Based on the solutions provided in the above embodiments, in some embodiments of this specification, the multi-robot collaborative system may include a master robot, a sub-robot, a master base station corresponding to the master robot, and a sub-base station corresponding to the sub-robot. The master base station and the sub-base station can be separate structures or a combined structure. The structures of the master robot, sub-robot, master base station, and sub-base station can be referred to the solutions described in the various embodiments of this specification, and will not be repeated here. The docking between the master robot and the master base station, and the docking between the sub-robot and the sub-base station, also refer to the solutions described in the various embodiments of this specification, and will not be repeated here.
[0294] The multi-robot collaborative system may further include a cloud server that communicates with the master robot and the sub-robots respectively, and a smart terminal that communicates with the cloud server. The cloud server is one of the servers described in the above embodiments that enables indirect communication between the master robot and the sub-robots. The smart terminal may be a mobile phone, smart speaker, etc.
[0295] The main robot and the cloud server can establish a communication connection, and the sub-robot and the cloud server can also establish a communication connection. Accordingly, the main robot and the sub-robot can indirectly communicate through the cloud server. The main robot and the sub-robot can also respectively establish indirect communication connections with smart terminals through the cloud server.
[0296] Taking a mobile phone as an example of a smart terminal, the phone can have a cleaning application (APP) installed to control the main robot and sub-robots, or a cleaning mini-program embedded in other APPs. Taking the cleaning APP as an example, the cleaning APP can display a control interface. The control interface can display cleaning information such as a work map, cleaning parameter configurations for the main robot and / or sub-robots. The control method of the cleaning mini-program is the same as that of the cleaning APP; the control methods of other smart terminals can be referenced from the control methods of the mobile phone, and will not be elaborated here.
[0297] The work map can be a map generated by the main robot based on its perception system. Information collected by the sub-robots based on their perception systems, such as obstacle information and cleaning path information, may or may not be displayed on the work map. The cleaning paths of the main robot and the sub-robots can be displayed separately, for example, by line color or line type. The work map can show the areas that the sub-robots can enter, i.e., the sub-robot's work area, and can be clearly distinguished from the main robot's work area, for example, by using color, text labels, or selection boxes to differentiate the sub-robot's work area from the main robot's work area, so that users can understand the sub-robot's work area and adjust it as needed.
[0298] Given that the accuracy of obstacle information and travel path data collected by the sub-robot's perception system cannot be guaranteed, not displaying this information on the work map can prevent it from misleading the operation of both the main robot and the sub-robot. However, even when the information collected by the sub-robot's perception system is not displayed on the work map, the location information obtained by the sub-robot based on its own positioning sensors can be displayed there, allowing the main robot and the user to understand the approximate location of the sub-robot in real time.
[0299] Of course, the information collected by the main robot is more accurate, and the obstacle information of the sub-robot's working area and the sub-robot's position information collected by the main robot can be updated to the working map for display.
[0300] The work map can also display information entered by the user or collected from other terminals, without limitation. The work map can be uploaded to a cloud server, and the sub-robot can download the work map from the cloud server and perform tasks based on the work map. The sub-robot can download only part of the data from the work map as needed, such as only downloading the map information corresponding to the sub-robot's work area, to avoid the sub-robot experiencing crashes or freezes due to large data processing loads caused by downloading and running a large work map. Alternatively, the work map can be omitted. The sub-robot's work area is usually an area not entered by the main robot, which may lead to missing or inaccurate obstacle detection information from the main robot for the sub-robot's work area. Furthermore, the sub-robot's obstacle detection may rely solely on collision barriers, and the accuracy of obstacle detection information is difficult to guarantee. Therefore, the sub-robot can clean its work area without relying on the work map.
[0301] The control interface can be configured with options for cleaning parameters such as area selection and cleaning modes. Area selection can include options like zone selection, global selection, and zone division. Cleaning modes can include options like intelligent management and custom cleaning. Custom cleaning can include robot cleaning settings and base station settings. The cleaning settings sub-interface can configure cleaning modes (such as sweeping, mopping, sweeping and mopping, sweeping then mopping, and custom cleaning), and for each cleaning mode, it can further configure cleaning parameters such as suction power, mop humidity, and route preferences. The base station settings sub-interface can configure options such as mop cleaning, drying, and dust collection, and for these functions, it can further configure related cleaning parameters. The control interface can also be configured with options such as work map selection, cleaning time, special cleaning surfaces (such as carpets and special floors), voice settings, and AI obstacle avoidance settings, etc.
[0302] The control interface can be displayed separately for the main robot and the sub-robot. That is, the cleaning APP can display the sub-robot control interface and the main robot control interface. The sub-robot control interface displays the cleaning information related to the sub-robot, and the main robot control interface displays the cleaning information related to the main robot.
[0303] Alternatively, the main robot and sub-robots can share the same control interface, displaying a work map. Cleaning parameter configurations for the main and sub-robots can be shown through different sub-interfaces. For example, the control interface could display control options for both the main and sub-robots. When a user triggers a control option for a sub-robot, they are directed to its cleaning parameter configuration sub-interface; similarly, triggering a control option for the main robot leads to its cleaning parameter configuration sub-interface. Since the cleaning methods and docking methods with the base station differ between the main and sub-robots, separate cleaning parameter configurations can be applied to each robot.
[0304] After unpacking the machine, users can remove the main robot, sub-robot, main base station, and sub-base station, and then download a cleaning app on their mobile phone. Next, they can perform network configuration operations for the main robot and sub-robots through the cleaning app on their phone. During network configuration, the operation can be performed separately for the main robot and sub-robots. For example, users can perform network configuration for the main robot on both the cleaning app and the main robot, and vice versa. Separate network configuration improves the ease of use and avoids operational errors that could negatively impact the user experience. After network configuration, the main robot, sub-robots, and the cleaning app on the phone can establish communication connections with the cloud server, which in turn indirectly communicates with the cloud server.
[0305] After network configuration is completed, the cleaning app displays a control interface, allowing users to control the machines and monitor their cleaning status. During actual operation, the main robot and sub-robots may experience communication interruptions with the cloud server due to power outages, communication module malfunctions, or other reasons, resulting in the main robot and / or sub-robots going offline.
[0306] In some implementations, the main robot and the sub-robot share the same control interface. The cleaning app's control interface is bound to the main robot. When the main robot is offline, the cleaning app's control interface cannot be accessed. The cleaning app's homepage can at least display a message indicating that the main robot is offline to notify the user. Since the sub-robots require the control or assistance of the main robot for cleaning, the main robot and sub-robots can share the same control interface, and the cleaning app's control interface can be bound to the main robot. This improves ease of use and prevents the sub-robots from losing control and moving arbitrarily when the main robot is offline (e.g., due to random collisions or wandering), thus avoiding abnormal situations (e.g., encountering fragile objects / pets, entering restricted areas, etc.) and improving the user experience.
[0307] In other implementations, the main robot and the sub-robot share the same control interface. The cleaning app's control interface can be separately bound to the main robot and the sub-robot. Whether the main robot or the sub-robot is offline, the user can still access the cleaning app's control interface, but the interface will display "Main robot offline" or "Sub-robot offline." Sharing the same control interface while allowing separate binding to the cleaning app's control interface simplifies the interface and improves the operational flexibility of both robots. Even if one robot is offline, the user can still control the other as needed. When the user requires the two robots to work together, they can perform operations on the offline robot by selecting its offline option on the control interface, thus establishing a communication connection between the offline robot and the cloud server.
[0308] Of course, if the main robot and the sub-robot each have their own control interfaces, then when the main robot is offline, only the main robot's control interface may be inaccessible, and when the sub-robot is offline, only the sub-robot's control interface may be inaccessible. Alternatively, in this case, a notification that the sub-robot is offline may be displayed on the main robot's control interface; or vice versa.
[0309] Regardless of whether the main robot and the sub-robot share a control interface, the cleaning app's homepage can still be opened normally when both the sub-robot and the main robot are offline, displaying notifications that both the main robot and the sub-robot are offline.
[0310] After network configuration is complete, preliminary positioning can be performed on the sub-robots. During preliminary positioning, the sub-robots can be controlled to reside within the sub-base stations. This preliminary positioning facilitates the main robot's ability to quickly determine the associated locations of the sub-base stations and the main base station during mapping or in situations where cleaning is not possible. Given that the sub-robots spend most of their time within the sub-base stations, they are likely to be led to their work area by the main robot during cleaning operations. Pre-determining the location of the sub-base stations facilitates the main robot's control over the sub-robots during subsequent cleaning processes.
[0311] After the network is completed, the main robot can perform mapping operations. Once mapping is complete, the main robot and sub-robots perform cleaning operations based on the work map. During mapping, the main robot can sense the sub-robots. After sensing the sub-robots, it can obtain their pose information. Since the sub-robots are located at the sub-base station, the location information of the sub-base station can be determined based on the pose information of the sub-robots, thus completing the initial localization of the sub-robots and the sub-base station.
[0312] The main robot can also perform cleaning operations without mapping. In the absence of a work map, the main robot can perceive the sub-robots during the cleaning process. After perceiving the sub-robots, it can obtain the pose information of the sub-robots. Based on the pose information of the sub-robots, the location information of the sub-base station can be determined, thereby completing the initial positioning of the sub-robots and the sub-base station.
[0313] If the user triggers the sub-robot's initial localization without mapping, the main robot can also perform the sub-robot's localization first. After network configuration is complete, the user can first select to determine the location of the sub-base station, the sub-robot's pose, and the main robot's location, such as by triggering the sub-robot's initial localization through a cleaning app or voice command. The main robot can locate the sub-robot using a sensing system, such as LiDAR, line laser, vision sensors, infrared, and Wi-Fi signals. After sensing the sub-robot, it obtains the sub-robot's pose information and then determines the location of the sub-base station.
[0314] In some embodiments, when the initial localization of the sub-robot is triggered, the main robot performs initial localization on the sub-robot after it is released from hijacking; wherein, the main robot is placed in a preset localization area by hijacking, and the preset localization area is the detection range of the sub-robot pose perception unit for the sub-robot.
[0315] In the case of triggering preliminary localization of the sub-robot, after the main robot breaks free from hijacking, it first performs relocalization of the main robot, and then performs preliminary localization of the sub-robot. The user can hijack the main robot and move it near the sub-base station. After breaking free from hijacking, the main robot can first perform its own relocalization. After completing its own relocalization, the main robot then uses the perception system to locate the sub-robot. After detecting the sub-robot, it uses the sub-robot pose perception unit to obtain the sub-robot's pose information, and then determines the location information of the sub-base station, completing the preliminary localization of the sub-robot and the sub-base station. The localization of the sub-robot is based on the main robot's accurate pose. After breaking free from hijacking, the main robot's relocalization allows it to accurately determine its own pose, thus enabling a more accurate determination of the sub-robot's pose and the sub-base station's location. Given that mapping may not yet be completed, the main robot cannot determine its global pose on the operational map. The main robot can perceive the location of the main base station to determine its relative position to the main base station, which serves as the main robot's global pose.
[0316] Of course, after breaking free from hijacking, the main robot can first locate the sub-robot through the perception system. After locating the sub-robot, it can perform preliminary localization on the sub-robot. Then, the main robot can perform its own relocalization and return to the main base station.
[0317] After completing the initial positioning of the sub-robots and sub-base stations, the main robot can return to the main base station, thus completing the associated positioning of the main base station and sub-base stations on the work map. By having the user move the main robot near the sub-robots, the initial positioning of the sub-robots and sub-base stations can be completed more quickly.
[0318] Of course, in the above implementation, the main robot can use visual perception, lidar, etc. to determine whether the sub-robot is located at the sub-base station; or, if the sub-robot knows whether it is located at the sub-base station, the sub-robot can transmit the information of whether it is located at the sub-base station to the cloud server, and the main robot can determine whether the sub-robot is located at the sub-base station based on the information fed back by the cloud server; of course, other methods can also be used to determine whether the sub-robot is located at the sub-base station, which is not limited here.
[0319] The location information of the main base station, the location information of the sub-base station, and the pose information of the sub-robot can be stored in the work map. When the main robot is mapping, cleaning without a map, or triggering preliminary localization of the sub-robot, the main robot performs preliminary localization of the sub-robot, and determines the location information of the main base station, the location information of the sub-base station, and the pose information of the sub-robot. This allows the main robot to accurately control the sub-robot to perform cleaning and return to the sub-base station during subsequent cleaning processes.
[0320] As described in the above embodiments, the front of the main robot can be equipped with a LiDAR, a line laser, and an AI vision sensor, while the rear of the main robot can be equipped with an infrared sensor. The front of the sub-robot can also be equipped with an infrared sensor. Both the main robot and the sub-robot can establish communication connections with the router in the room to establish communication connections with the cloud server. Accordingly, the main robot can use at least one of the front-mounted LiDAR, line laser, or AI vision sensor to detect the sub-robot and determine its pose information. The main robot's infrared sensor can also communicate with the sub-robot's infrared sensor; for example, the main robot's infrared sensor can act as a signal transmitter, and the sub-robot's infrared sensor as a signal receiver. Given the communication range of the infrared sensor, the main robot and the sub-robot can use this signal transmitter and receiver to determine whether the main robot is near the sub-robot.
[0321] The relative distance between the main robot and the sub-robot can also be determined by the Wi-Fi signal strength of both. Since Wi-Fi signal strength varies at different locations within the work area, the main robot and sub-robot can roughly determine their positions based on the Wi-Fi signal strength. Correspondingly, the relative distance between the main robot and the sub-robot can be roughly determined based on the difference in their Wi-Fi signal strength. The sub-robot can transmit its Wi-Fi signal to the main robot; the sub-robot's Wi-Fi signal receiver acts as the signal transmitter, and the main robot's Wi-Fi signal receiver acts as the signal receiver.
[0322] The main robot and the sub-robot can interact using infrared sensors to roughly determine the sub-robot's position; alternatively, they can use infrared sensors and the strength of a Wi-Fi signal to roughly determine the sub-robot's position; or they can use the strength of a Wi-Fi signal to roughly determine the sub-robot's position. Based on this, the main robot can further use at least one of the following front-mounted sensors—LiDAR, line laser, and AI vision sensor—to detect the sub-robot and accurately determine its pose information.
[0323] When a sub-robot needs to move to its designated cleaning area, the main robot can move to the sub-base station, from which the sub-robot moves out. For example, the main robot can send a cleaning instruction to the cloud server, which then receives the instruction and moves out of the sub-base station. Alternatively, the user can send the cleaning instruction via a cleaning app, which uploads it to the cloud server, which then distributes the instruction to both the main and sub-robots. Other methods can also be used to ensure that the main and sub-robots determine when they need to move to the designated cleaning area. The sub-robot can move out of the sub-base station immediately upon receiving the instruction, or it can wait until the main robot approaches the sub-base station before moving out.
[0324] Afterward, the master robot can lead the sub-robot to the sub-robot's work area. After moving out of the sub-base station, the sub-robot and master robot can attempt infrared docking. Once docking is complete, the sub-robot can follow behind the master robot, which will then lead it to the sub-robot's work area. Before attempting infrared docking, the master robot can assist the sub-robot in performing repositioning to accurately determine their relative pose, thus facilitating rapid and accurate infrared docking.
[0325] Upon reaching the vicinity of the initial cleaning position in the sub-robot's work area, both the main robot and the sub-robot stop moving. This can be achieved by the main robot issuing a stop command to the sub-robot via a cloud server. Before the sub-robot begins cleaning, the main robot can assist it in repositioning and / or control its precise movement to the initial cleaning position. Then, it can issue a start-up command to the sub-robot via the cloud server. This method ensures a more accurate cleaning path after the sub-robot begins cleaning, minimizing the risk of it veering off course and affecting the user experience. Alternatively, since the sub-robot always follows the main robot and its positional information is relatively accurate, the main robot may not need to assist in repositioning or control its movement to the initial cleaning position; the sub-robot can directly begin cleaning its designated work area.
[0326] While the sub-robot is cleaning its designated area, the master robot can wait nearby. The master robot can also perform cleaning in the main robot's area or return to the main base station. After cleaning, the sub-robot can stop moving, and the master robot can proceed to the location where the sub-robot finished cleaning, leading it back to the base station or switching it to another sub-robot's work area. Alternatively, before leading the sub-robot, the master robot can perform assisted repositioning to ensure accurate following and prevent initial deviation, which could lead to a poor user experience.
[0327] Outside the designated work area of the sub-robots, the working environment is typically more complex. Sub-robots often lack sophisticated obstacle detection sensors and have limited pose sensors (e.g., only inertial navigation sensors). Even when the entire work map is shared with the sub-robots, they struggle to accurately handle anomalies and navigate to the sub-base station or another sub-robot's work area. This results in a higher probability of anomalies occurring while the sub-robots are moving to or leaving their work areas. Having the master robot lead the sub-robots to or from their work areas effectively reduces the occurrence of such anomalies.
[0328] In some embodiments, the master robot may perform tasks or switch areas with the sub-robot based on the pose information of the sub-robot relative to the master robot determined by the sub-robot pose perception unit; wherein, the switching area refers to switching the sub-robot's work area, or the sub-robot moving from the sub-base station to the sub-robot's work area, or the sub-robot moving from the sub-robot's work area to the sub-base station.
[0329] If the infrared docking between the sub-robot and the main robot is interrupted while the main robot is leading the sub-robot or accompanying it during cleaning, the sub-robot will stop moving. The main robot will then move to locate the sub-robot. The sensor used for locating the sub-robot is not limited; it can be an infrared sensor, line laser, AI vision sensor, LiDAR, etc. Once located, the sub-robot will re-establish its infrared docking with the main robot, and the main robot will then lead the sub-robot to move or perform cleaning. The sub-robot's perception system is relatively simple. If the infrared docking is interrupted, the sub-robot may move on its own, potentially veering off course or colliding with fragile objects or pets. By controlling the sub-robot to remain stationary while the main robot moves to locate it after the infrared docking is interrupted, the occurrence of abnormal situations can be effectively reduced.
[0330] An interruption in infrared docking between the child robot and the main robot is usually caused by the child robot being trapped or obstructed by obstacles. Given the limited communication range of infrared docking and the relatively short distance between the main and child robots, the main robot can use the infrared docking communication range as a reference distance and attempt to locate the child robot based on its rich perception system. For example, it can use the main robot's current location as the reference position and the reference distance as the radius to search for the child robot. Of course, given the potential time delay in the main robot detecting the interruption—that is, several seconds after the interruption, the main robot's controller only then determines that the infrared docking has been interrupted, allowing the main robot to stop moving and resume the search—and ensuring the child robot is outside the infrared docking communication range, the search area can be appropriately expanded when using the main robot's current location as the reference position and the infrared docking communication distance as the reference distance. This ensures the main robot can locate the child robot and avoids situations where the child robot is very close to the main robot but is obstructed by obstacles, causing the main robot to abandon the search, thus improving the user experience.
[0331] Of course, when using Wi-Fi strength to determine the distance between the main robot and the sub-robot, an abnormal distance can be considered when the difference in Wi-Fi strength between the main robot and the sub-robot exceeds a preset value. The distance between the main robot and the sub-robot corresponding to the preset value is then used as the aforementioned baseline distance.
[0332] In case of abnormal situations such as the sub-robot going offline or getting stuck, the main robot can issue an alert, or the cleaning app's control interface can issue a voice alert, so that the user can intervene and resolve the abnormal situation.
[0333] Alternatively, if the sub-robot is offline, the main robot can try to wake it up. If the sub-robot still fails to wake up after several attempts, the main robot can issue a voice reminder or issue a reminder on the control interface of the cleaning app.
[0334] If the sub-robot becomes stuck, the main robot can travel to its location. This includes at least reaching a preset positioning area, which is the area within the sub-robot's pose sensing unit's detection range. The main robot collects obstacle information near the sub-robot and determines an escape path based on this information. This escape path can be sent to the sub-robot via a cloud server or similar method, allowing the sub-robot to execute the escape procedure. Before attempting to escape, the main robot can also assist the sub-robot in performing repositioning, ensuring the sub-robot accurately follows the escape path and improving efficiency.
[0335] Once the sub-robot has completed its cleaning task and returned to the base station, the main robot can issue a prompt message to the sub-robot regarding the manual cleaning of the dustbin and rag. This prompt message can be issued directly by the main robot via voice; it can also be uploaded by the main robot to a cloud server, which then downloads it to the cleaning app on the user's phone, where it can be displayed on the control interface; or it can be downloaded from the cloud server to the sub-robot, which then issues the reminder.
[0336] When a sub-robot is equipped with a dry cleaning module and / or a wet cleaning module, but the sub-base station is not equipped with dust collection and / or cloth cleaning functions, the garbage and cloth in the sub-robot's dust box usually need to be emptied and washed by the user. When the sub-robot completes the cleaning task and returns to the base station, the main robot should promptly remind the user to empty the garbage and / or clean the cloth. This can improve the timeliness of garbage emptying and cloth washing, prevent the growth of bacteria, and thus improve the user experience.
[0337] refer to Figure 5 This application also provides a multi-robot collaborative system, including:
[0338] At least one processor 501; and a memory 502 communicatively connected to the at least one processor 501;
[0339] The memory 502 stores instructions that can be executed by the at least one processor 501, which are executed by the at least one processor 501 to enable the at least one processor 501 to perform a multi-robot collaborative method.
[0340] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0341] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A multi-robot collaboration method, characterized by, The multi-robot includes a master robot and at least one sub-robot; the sub-robot is used at least for performing supplementary work on an area which is not workable by the master robot; the master robot is configured with a sub-robot pose perception unit; The method comprises: The master robot determines a current position range of the sub-robot; After the master robot goes to the current position range of the sub-robot, the master robot assists the sub-robot to perform repositioning; The sub-robot pose perception unit determines pose information of the sub-robot relative to the master robot; The master robot assists the sub-robot to perform repositioning based on the pose information.
2. The method of claim 1, wherein, The master robot determines the current position range of the sub-robot, comprising: The master robot confirms a work sub-zone or a sub-robot sub-zone being cleaned by the sub-robot, and takes the work sub-zone or the sub-robot sub-zone where the sub-robot is located as the current position range of the sub-robot; or The master robot determines the current position range of the sub-robot based on interaction with the sub-robot, or based on detection of the sub-robot by the master robot through a laser radar or a visual sensor, and determines the current position range of the sub-robot based on signal interaction information and detection information after detecting the sub-robot.
3. The method of claim 1, wherein, The sub-robot pose perception unit comprises a contour acquisition sensor and a distance measurement sensor arranged on the master robot; The master robot assists the sub-robot to perform repositioning, comprising: The master robot uses the contour detection sensor to detect contour information of the sub-robot, so as to determine an orientation of the sub-robot relative to the master robot based on the contour information; The master robot uses the distance detection sensor to detect a distance of the sub-robot relative to the master robot; The master robot performs repositioning based on the distance and the orientation of the sub-robot relative to the master robot.
4. The method of claim 3, wherein, The master robot performs repositioning based on the distance and the orientation of the sub-robot relative to the master robot, comprising: The master robot takes the position and the orientation of the sub-robot relative to the master robot as local positioning information of the sub-robot; The master robot integrates global positioning information of the master robot and the local positioning information of the sub-robot to determine a position and a travel direction of the sub-robot in a work map, so as to determine global positioning information of the sub-robot, and perform repositioning of the sub-robot based on the global positioning information of the sub-robot; The global positioning information of the master robot at least comprises a position and a travel direction of the master robot in the work map.
5. The method of claim 1, wherein, The master robot assists the sub-robot to perform repositioning before the sub-robot performs an action of leaving a first sub-robot sub-zone, or when the sub-robot arrives at a second sub-robot sub-zone.
6. The method of claim 1, wherein, The method further comprises: In a case where the master robot assists the sub-robot to perform repositioning, and the sub-robot pose perception unit of the master robot cannot perceive the sub-robot, the master robot performs a searching action, and / or the sub-robot performs a responding action, so as to make the master robot try to perceive the sub-robot.
7. The method of claim 6, wherein, Before the master robot performs the searching action, the method further comprises: The master robot performs repositioning; When it is determined based on the repositioning information that the pose information of the master robot has no deviation, the master robot performs a search action; When it is determined based on the repositioning information that the pose information of the master robot has a deviation, the master robot adjusts the pose so that the adjusted pose meets the repositioning requirement of the sub-machine pose perception unit.
8. The method of claim 7, wherein, After the master robot performs repositioning, the method further comprises: The master robot updates the pose information of the master robot after repositioning to a work map; The master robot adjusts the pose so that the adjusted pose meets the repositioning requirement of the sub-machine pose perception unit, comprising: The master robot moves and / or rotates based on the work map to assist the sub-robot to perform repositioning when the adjusted pose of the master robot meets the repositioning requirement of the sub-machine pose perception unit.
9. The method according to any one of claims 6-8, characterized in that, The master robot performs a search action, comprising: The master robot rotates by a specified angle in place, and after rotating by the specified angle, moves to a first target position in a work map; The master robot stops after moving a preset distance to the first target position based on the planned path, and rotates by the specified angle in place; after rotating by the specified angle, the master robot continues to move to the target position based on the planned path; The master robot repeats the steps of stopping after moving the preset distance, rotating by the specified angle in place, and then continuing to move, until the master robot perceives the sub-robot before triggering a first preset stop condition, or the master robot triggers the first preset stop condition; If the master robot moves to the first target position, the master robot rotates by the specified angle in place at the first target position; The first preset stop condition includes the master robot moving to the first target position; The first target position is the position of the sub-robot in the work map when the master robot assists the sub-robot to perform repositioning, or the release position of the sub-robot marked in the work map.
10. The method according to any one of claims 6-8, characterized in that, The method further comprises: The master robot sends a signal to the sub-robot to go to the release position, and the master robot and the sub-robot move to the release position; If it is confirmed that the master robot and the sub-robot arrive at the release position, and the master robot still does not perceive the sub-robot, it is confirmed that the pose information of the sub-robot and / or the master robot has a deviation; The master robot is controlled to perform repositioning, and if there is no pose information deviation after the master robot repositions, it is confirmed that the pose information of the sub-robot has a deviation, and the reason why the sub-robot cannot be perceived is investigated.