A position correction method of a robot and related device
By using radar technology to obtain the robot's relative position to the baseline and using relative positioning technology for position correction, the problem of robot positioning on cotton or silk surfaces is solved, enabling automatic correction and task path planning, and improving execution efficiency and consistency.
Patent Information
- Application Number
- CN202011632337.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-31
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2040-12-31
AI Technical Summary
When robots work on soft cotton or silk home furnishing surfaces, they are prone to getting stuck in the objects, causing positioning failure and making it impossible to correct their position.
Radar technology is used to obtain the relative position information of the robot and the baseline. Relative positioning technology is used for position correction. The electromagnetic waves emitted by the radar penetrate cotton or silk objects to measure the actual distance and heading angle, and control the robot to move to achieve the expected distance and heading.
It enables automatic position correction of robots on cotton or silk surfaces, expands application scenarios, reduces the impact of the environment on movement, and improves the efficiency and consistency of task execution.
Smart Images

Figure CN114690761B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence, and in particular to a method for position correction of a robot and related equipment. Background Technology
[0002] As living standards improve, people are paying more and more attention to the cleanliness of their home environment. Bedding, such as quilts and mattresses, are the household items that people have the most direct contact with, making them susceptible to dust, mites, and bacteria, which can pose health risks. To address the issue of sterilization and disinfection of bedding, handheld bedding cleaning devices have been developed. These devices are equipped with sterilization and disinfection mechanisms, but they require users to manually operate them for extended periods, pressing on every corner of the bed. This requires prolonged manual operation, and the devices are relatively bulky, leading to significant workload and limiting their practicality.
[0003] Therefore, intelligent cleaning robots have been introduced. These robots use absolute positioning technology. Specifically, the robot stores the environment of the entire cleaning area and collects data on the robot's surroundings in real time to determine the robot's absolute position in the cleaning area based on the current environment around the robot and the environment of the entire cleaning area.
[0004] However, when the cleaning robot works on soft cotton home furnishings, its own weight can cause it to get stuck in the furniture, making it unable to collect information about its surroundings and thus unable to locate itself or correct its position. Summary of the Invention
[0005] This application provides a robot position correction method and related equipment, which uses a baseline and relative positioning technology to correct the robot's position, providing a solution for automatic position correction of the robot during movement.
[0006] To address the aforementioned technical problems, this application provides the following technical solutions:
[0007] Firstly, embodiments of this application provide a robot position correction method, applicable to the field of intelligent robots within the field of artificial intelligence. The method includes: an electronic device acquiring a first actual distance between the robot and a reference line in a target direction and a first heading angle of the robot relative to the reference line via radar / radar detection antenna. The reference line is a boundary line of a target object, the target direction is perpendicular to the reference line, and the first heading angle is the angle between the robot's movement direction and the reference line. The target object is an object related to the robot's task, specifically a bed, floor, blanket, grass, or other object the robot can work on. The electronic device acquires a expected distance between the robot and the reference line in the target direction based on the robot's planned path and preset speed, and controls the robot's movement based on the expected distance, the first actual distance, and the first heading angle, so that the second actual distance between the robot and the reference line in the target direction after movement is the expected distance.
[0008] In this implementation, since the electromagnetic waves emitted by the radar can penetrate cotton or silk objects, and the radar can measure the actual distance and first heading angle between the robot and the baseline by emitting electromagnetic waves, the robot's movement is controlled based on the expected distance, actual distance, and first heading angle between the robot and the baseline, so that the actual distance between the robot and the baseline after movement is the expected distance. That is, the robot's position is corrected by using relative positioning technology with the baseline, providing a solution for automatic position correction of the robot during movement. In addition, this solution can be applied not only to scenarios where the robot works on the surface of cotton or silk objects, but also to scenarios where the robot is covered by cotton or silk objects. Since the robot does not rely on collecting data from the surrounding environment for positioning, the impact of the working environment on the robot's movement process is greatly reduced, thereby greatly expanding the robot's application scenarios.
[0009] In one possible implementation of the first aspect, the electronic device controls the robot to move based on the expected distance between the robot and the reference line in the target direction, a first actual distance, and a first heading angle, so that the second actual distance between the robot and the reference line in the target direction after the movement is the expected distance. This includes: the electronic device calculating a first error distance of the robot in the target direction based on the expected distance and the first actual distance, and controlling the robot to rotate based on the first heading angle, so that the first direction of movement of the rotated robot is perpendicular to the reference line; the first direction of movement can be a direction of movement closer to the reference line or a direction of movement away from the reference line. The electronic device controls the robot to move along the first direction of movement based on the first error distance, that is, controls the robot to move along the first direction of movement by the first error distance, so that the second actual distance between the robot and the reference line in the target direction after the movement is the expected distance. After controlling the robot to move along the first direction of movement by the first error distance, the electronic device controls the robot to rotate according to the robot's planned path, so that the actual heading angle of the robot relative to the reference line is rotated to the expected heading angle. It should be noted that "controlling the robot to move a first error distance along the first moving direction" here means that the electronic device wants to control the robot to move a first error distance along the first moving direction, but in reality, the robot may move a third actual distance along the first moving direction, and the difference between the third actual distance and the first error distance is relatively small.
[0010] This implementation provides a specific scheme for correcting the robot's distance in the target direction using the expected distance, the first actual distance, and the first heading angle of the baseline. During the correction process, the robot is first rotated based on the first heading angle relative to the baseline so that the first direction of movement of the rotated robot is perpendicular to the baseline. After correcting the robot's distance in the target direction, when controlling the robot's movement, the robot needs to be rotated to the robot's expected heading angle. That is, while correcting the robot's distance in the target direction, the robot's heading angle is also corrected, ensuring the planarability of the robot's movement path and thus ensuring that the robot's movement path can fully cover the entire target object.
[0011] In one possible implementation of the first aspect, before the electronic device acquires the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline via radar, the method further includes: the electronic device acquiring first point cloud data of the environment within the target range of the robot via radar, the environment within the target range including the environment in front of the robot within the current detection range of the radar; further, taking the robot's current orientation as the center line, the environment within the target range can include the environment in front of the robot within a first angle range to the left and right of the center line, that is, the current detection range of the first radar is within a first angle range to the left and right of the center line, the first angle range can be 30 degrees, 50 degrees, 60 degrees, 80 degrees or other values, etc. Point cloud data refers to a set of points that express the spatial distribution and surface characteristics of an object in the same spatial reference frame. After acquiring the spatial coordinates of each sampling point on the surface of the object in the environment within the target range, a set of points is obtained. Based on the first point cloud data, if the boundary line of the target object exists in the surrounding environment within the robot's target range, the electronic equipment controls the robot to move towards the boundary line of the target object. During the movement towards the boundary line, the system detects whether the robot is located in the edge region of the target object. The edge region of the target object can also be referred to as the danger zone or cliff area. The probability of the robot falling from the edge region of the target object is greater than the probability of it falling from the non-edge region. It should be noted that the concepts of "probability of the robot falling from the edge region of the target object" and "probability of the robot falling from the non-edge region of the target object" are introduced here only for ease of understanding the edge region of the target object. In practice, the robot does not need to distinguish between edge and non-edge regions of the target object by calculating the probability of the robot falling off the target object. Furthermore, the edge region of the target object is not a fixed area. The robot determines which regions of the target object are edge regions and which are non-edge regions based on the detection results. In other words, the robot does not divide the target object into edge and non-edge regions. The robot determines which regions of the target object are edge regions and which are non-edge regions based on the detection results. When the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge region of the target object, the boundary line of the target object is determined as the baseline.
[0012] This implementation provides a scheme for the robot to automatically determine the baseline, so that no matter where the user places the robot on the target object, the robot can find the baseline and use it to correct the robot's position during the cleaning process. In addition, not any detected line (i.e., any edge line of the target object) is used as the baseline. Instead, the boundary line of the target object is only determined as the baseline when the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge area. That is, the baseline is not only an edge line of the target object, but also not located in the edge area of the target object, thereby preventing the robot from falling off the target object during the baseline search process.
[0013] In one possible implementation of the first aspect, the electronic device determines the boundary line of a target object in the surrounding environment within the robot's target range based on the first point cloud data. This includes: the electronic device acquiring at least one pre-stored second point cloud data, and acquiring the similarity between the first point cloud data and each of the at least one second point cloud data, where each second point cloud data represents the point cloud data of the boundary line of an object acquired by radar, and the relative angle between the boundary line corresponding to different second point cloud data and the radar is different. If the at least one second point cloud data contains target point cloud data, then the boundary line of a target object in the surrounding environment within the robot's target range is determined, and the similarity between the target point cloud data and the first point cloud data is greater than or equal to a preset similarity threshold. Alternatively, the electronic device performs a fitting operation on the first point cloud data; if the fitting result of the first point cloud data is a linear function and the fitting error of the linear function is less than a preset error threshold, then the boundary line of a target object in the surrounding environment within the robot's target range is determined. Among them, the fitting error is used to reflect the degree of aggregation of the first point cloud data with respect to the fitted linear function. The greater the degree of aggregation of the first point cloud data with respect to the fitted linear function, the smaller the fitting error and the better the fit. The smaller the degree of aggregation of the first point cloud data with respect to the fitted linear function, the greater the fitting error and the worse the fit.
[0014] This implementation provides two methods for determining whether there is a boundary line of a target object in the surrounding environment within the robot's target range based on the first point cloud data, thus improving the implementation flexibility of this solution.
[0015] In one possible implementation of the first aspect, before the electronic device acquires the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline, the method further includes: the electronic device controlling the robot to move along the baseline; when the robot moves to the edge area of the target object, controlling the robot to pause its movement, rotating the robot 180 degrees in place, using the robot's current position as a reference point, and optionally using the robot's current orientation as the 0-degree orientation, using this reference point as the starting point for the robot to perform a task. This task can be mite removal, vacuuming, dehumidifying, ironing clothes, mowing lawns, collecting bacterial samples, or other types of tasks, etc. Acquiring the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline by the electronic device includes: the electronic device acquiring the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline during the robot's task execution.
[0016] In this implementation, since the baseline is an edge line of the target object and the reference point is the edge region on the edge line, that is, the reference point is a vertex of the target object, using a vertex of the target object as the starting point in the robot's task execution process makes it easier to plan the robot's movement path and to plan a non-repeating task execution path, making the robot's task execution path more organized, which is conducive to improving the efficiency of the robot's task execution process and reducing the robot's task execution time.
[0017] In one possible implementation of the first aspect, the robot's movement path during task execution is bow-shaped, comprising a second movement direction and a third movement direction. The second movement direction is parallel to the baseline, and the third movement direction is perpendicular to the baseline. It should be noted that while the electronic equipment aims for the robot's movement path to be bow-shaped, errors may exist between the robot's movement and the expected path. Furthermore, the electronic equipment will correct the robot's position during movement; therefore, the actual movement path will be similar to the bow shape, but may not be entirely identical.
[0018] In this implementation, the robot is controlled to move along a bow-shaped path during the task execution, starting from a vertex of the target object. The robot's position and heading angle are corrected in a timely manner during the task execution, which not only ensures that the robot's movement path can fully cover the target object, but also avoids the repetition of the robot's movement path.
[0019] In one possible implementation of the first aspect, before the electronic device controls the robot to move toward the boundary line of the target object, the method further includes: the electronic device acquiring at least one first distance between the robot and a probe below the robot via radar, and selecting the largest distance from the at least one first distance as the target distance; the electronic device detecting whether the robot is located in the edge region of the target object during the robot's movement toward the boundary line of the target object includes: during the robot's movement toward the boundary line of the target object, the electronic device acquiring a second distance between the robot and a probe below the robot via radar; and if a first condition is satisfied based on the target distance and the second distance, the electronic device determining that the robot is located in the edge region of the target object, the first condition indicating that the difference between the second distance and the target distance is greater than or equal to a second threshold.
[0020] In this implementation, the electronic device obtains the distance between the robot and the object below it in real time through radar. The electromagnetic waves emitted by the radar can penetrate cotton or silk materials. Therefore, when the robot is not located in the edge area of the target object, the distance detected by the radar is the distance between the robot and the bed board / spring mattress. When the robot is located in the edge area of the target object, the distance detected by the radar is the distance between the robot and the floor. The distance between the robot and the floor will be much greater than the distance between the robot and the bed board / spring mattress. This solution uses this principle to detect the edge area of the target object. The target distance is the maximum value obtained from at least one distance between the robot and the bed board / spring mattress. Since the height of cotton items placed on different users' beds varies, a uniform target distance cannot be set. The target distance method provided by this solution, which uses electronic equipment to autonomously detect and generate the target distance via radar, can improve the accuracy of the robot's edge judgment process, thus preventing the robot from falling off the target object. In addition, since the electromagnetic waves emitted by radar can penetrate cotton items, if the size of the cotton items such as bedding / cotton mattresses on the bed exceeds the size of the bed board, this solution can determine that the robot is in the edge area of the bed board and stop its movement in time. Since cotton items are generally not enough to support the robot, that is, not enough to prevent the robot from slipping, stopping the robot's movement in time when it is in the edge area of the bed board can also prevent the robot from falling off the target object. This avoids the user wasting time repositioning the fallen robot on the target object and also ensures the continuity of the robot's movement.
[0021] In one possible implementation of the first aspect, the electronic device adds the target distance and the second threshold to obtain a third threshold. The electronic device acquires echo data corresponding to the probe below the robot in real time via radar to generate a change curve corresponding to the echo data. This allows the electronic device to acquire the second distance between the robot and the probe below it in real time and determine whether the second distance is greater than or equal to the third threshold. If the second distance is greater than or equal to the third threshold, it is determined that the robot is located in the edge region of the target object.
[0022] In one possible implementation of the first aspect, the electronic device acquires the second distance between the robot and the probe below the robot in real time via radar, calculates the difference between the second distance and the target distance, determines whether the difference between the second distance and the target distance is greater than or equal to a second threshold, and if it is greater than or equal to the second threshold, then it is determined that the robot is located in the edge region of the target object.
[0023] In one possible implementation of the first aspect, the method further includes: during the robot's task execution, electronic devices acquire a third distance between the robot and a probe below the robot via radar; and if the first condition is satisfied based on the target distance and the third distance, electronic devices determine that the robot is located in the edge region of the target object and control the robot to change its direction of movement.
[0024] In this implementation, during the robot's task execution, it can detect in real time whether the robot is located in the edge area of the target object. When it is determined that the robot is located in the edge area of the target object, it can promptly control the robot to change its direction of movement, thereby preventing the robot from falling off the target object during task execution. This improves the continuity of the robot's task execution process and avoids users wasting their energy during the robot's task execution, thus increasing user stickiness of this solution.
[0025] Secondly, embodiments of this application provide a method for detecting edge regions, which can be used in the field of intelligent robots within the field of artificial intelligence. The method includes: an electronic device acquiring at least one first distance, and selecting the largest distance from the at least one first distance as a target distance, wherein the first distance is the distance between the robot and a probe below the robot before the robot moves; acquiring a second distance, wherein the second distance is the distance between the robot and the probe below the robot during the robot's movement; and determining that the robot is located in the edge region of a target object if a first condition is met based on the target distance and the second distance, wherein the target object is an object related to the robot performing a task, and the probability of the robot falling from the edge region of the target object is greater than the probability of the robot falling from a non-edge region of the target object, and the first condition indicates that the difference between the second distance and the target distance is greater than a first threshold.
[0026] In one possible implementation of the second aspect, before the electronic device acquires the second distance between the robot and the probe below the robot during the robot's movement, the method further includes: the electronic device acquiring first point cloud data of the environment within the robot's target range via radar, the environment within the target range including the environment in front of the robot within the current detection range of the radar; if it is determined from the first point cloud data that there is a boundary line of a target object in the surrounding environment within the robot's target range, controlling the robot to move towards the boundary line of the target object; the method further includes: if the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge area of the target object, the electronic device determining the boundary line of the target object as a reference line, the reference line being used to assist the robot in positioning during the robot's task execution.
[0027] In the second aspect of the embodiments of this application, the electronic device may also perform the steps performed by the electronic device in the various possible implementations of the first aspect. For the specific implementation steps of the second aspect of the embodiments of this application and the various possible implementations of the second aspect, as well as the beneficial effects brought about by each possible implementation, please refer to the description in the various possible implementations of the first aspect, which will not be repeated here.
[0028] Thirdly, embodiments of this application provide a position correction device that can be used in the field of intelligent robots within the field of artificial intelligence. The position correction device includes: an acquisition module, used to acquire a first actual distance between the robot and a reference line in a target direction and a first heading angle of the robot relative to the reference line, wherein the reference line is a boundary line of a target object, the target direction is perpendicular to the reference line, and the first heading angle is the angle between the robot's movement direction and the reference line; and a control module, used to control the robot's movement based on the expected distance between the robot and the reference line in the target direction, the first actual distance, and the first heading angle, so that the second actual distance between the robot and the reference line in the target direction after movement is the expected distance.
[0029] In the third aspect of the embodiments of this application, the position correction device may also perform the steps performed by the electronic device in the various possible implementations of the first aspect. For the specific implementation steps of the third aspect of the embodiments of this application and the various possible implementations of the third aspect, as well as the beneficial effects brought about by each possible implementation, please refer to the description in the various possible implementations of the first aspect, which will not be repeated here.
[0030] Fourthly, embodiments of this application provide an edge region detection device, characterized in that the edge region detection device includes: an acquisition module, configured to acquire at least one first distance and select the largest distance from the at least one first distance as a target distance, wherein the first distance is the distance between the robot and a probe below the robot before the robot moves; the acquisition module is further configured to acquire a second distance, wherein the second distance is the distance between the robot and the probe below the robot during the robot's movement; and a determination module, configured to determine that the robot is located in the edge region of the target object when a first condition is met based on the target distance and the second distance, wherein the probability of the robot falling from the edge region of the target object is greater than the probability of the robot falling from a non-edge region of the target object, and the first condition indicates that the difference between the second distance and the target distance is greater than a first threshold.
[0031] In the fourth aspect of the embodiments of this application, the edge region detection device may also perform the steps performed by the electronic device in the various possible implementations of the second aspect. For the specific implementation steps of the fourth aspect of the embodiments of this application and the various possible implementations of the fourth aspect, as well as the beneficial effects brought by each possible implementation, please refer to the description in the various possible implementations of the second aspect, which will not be repeated here.
[0032] Fifthly, embodiments of this application provide an electronic device that may include a processor and a memory coupled together. The memory stores program instructions, which, when executed by the processor, implement the steps performed by the electronic device described in the first aspect, or, when executed by the processor, implement the steps performed by the electronic device described in the second aspect.
[0033] Sixthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the position correction method described in the first aspect, or causes the computer to perform the edge region detection method described in the second aspect.
[0034] In a seventh aspect, embodiments of this application provide a circuit system including a processing circuit configured to perform the steps performed by the electronic device described in the first aspect, or to perform the steps performed by the electronic device described in the second aspect.
[0035] Eighthly, embodiments of this application provide a computer program that, when run on a computer, causes the computer to perform the steps performed by the electronic device described in the first aspect, or to perform the steps performed by the electronic device described in the second aspect.
[0036] Ninthly, embodiments of this application provide a chip system including a processor for implementing the functions involved in the foregoing aspects, such as transmitting or processing data and / or information involved in the foregoing methods. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for a server or communication device. This chip system may be composed of chips or may include chips and other discrete devices. Attached Figure Description
[0037] Figure 1 A schematic diagram of the structure of a robot provided in an embodiment of this application;
[0038] Figure 2 A schematic flowchart of a robot position correction method provided in an embodiment of this application;
[0039] Figure 3 Two schematic diagrams of the change curves of echo data corresponding to the probe below the robot in the robot position correction method provided in the embodiments of this application;
[0040] Figure 4 A schematic diagram of the first target range in the robot position correction method provided in the embodiments of this application;
[0041] Figure 5 Two schematic diagrams of the second point cloud data in the robot position correction method provided in the embodiments of this application;
[0042] Figure 6 Another schematic diagram of the change curve of echo data corresponding to the probe below the robot in the robot position correction method provided in the embodiments of this application;
[0043] Figure 7 A schematic diagram illustrating the determination of a baseline in a robot position correction method provided in this application embodiment;
[0044] Figure 8 Another schematic diagram illustrating the determination of a baseline in the robot position correction method provided in this application embodiment;
[0045] Figure 9 A schematic diagram of a radar detection point in the robot position correction method provided in this application embodiment;
[0046] Figure 10 A schematic diagram of the first actual distance and the first heading angle in the robot position correction method provided in the embodiments of this application;
[0047] Figure 11A schematic diagram of the expected distance, first actual distance, and first heading angle in the robot position correction method provided in the embodiments of this application;
[0048] Figure 12 A schematic diagram of the position correction device provided in the embodiments of this application;
[0049] Figure 13 This is another structural schematic diagram of the position correction device provided in the embodiments of this application;
[0050] Figure 14 A schematic diagram of the edge region detection device provided in the embodiments of this application;
[0051] Figure 15 Another schematic diagram of the edge region detection device provided in the embodiments of this application;
[0052] Figure 16 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0053] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.
[0054] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the description of embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of units is not necessarily limited to those units, but may include other units not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0055] The solution provided in this application can be applied to robots. For example, when a robot is removing mites from bedding, especially when it's removing mites from a mattress under a blanket, the robot is prone to getting stuck in the furniture due to gravity. Furthermore, being under the blanket prevents the robot from collecting environmental information and thus cannot locate its position by comparing the surrounding environment with the overall environment of the target object, making position correction impossible. As another example, when a robot is dusting the floor of a toy room, the scattered toys can also hinder the robot from collecting information about its surroundings, further preventing position correction. Not all application scenarios of this solution are illustrated here. In all the aforementioned scenarios, a new positioning method is needed to locate the robot and correct its position.
[0056] Before explaining in detail the robot position correction method provided in the embodiments of this application, please refer to... Figure 1 , Figure 1 This is a schematic diagram of a robot provided in an embodiment of this application. The robot 1 includes a processing module 10, a radar 20, and a drive module 30. Specifically, the processing module 10 can be a processing chip, and more specifically, the processing chip can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a neural network processing unit (NPU), or a graphics processing unit (GPU), etc.
[0057] Radar 20 is used to emit electromagnetic waves, the frequency band of which includes, but is not limited to, 24G, 77G, 60G, 5G, 2.4G or other frequency bands, etc., which are not limited here. Drive module 30 is used to control the robot to rotate or move in place according to the instructions issued by processing module 10. Drive module 30 can adopt electric drive technology, such as stepper motor, servo motor, etc. Drive module 30 can also adopt hydraulic drive technology, pneumatic drive technology or other drive technologies, etc., which are not limited here.
[0058] Specifically, the processing module 10 can acquire the relative position information between the baseline and the robot 1 through the radar 20, that is, the actual distance between the robot 1 and the baseline in the target direction and the actual heading angle of the robot 1 relative to the baseline. The processing module 10 can also control the robot to move by issuing commands to the drive module 30 based on the expected distance between the robot and the baseline in the target direction, the first actual distance, and the first heading angle, so that the second actual distance between the moved robot and the baseline in the target direction is the expected distance. Using a baseline and relative positioning technology to correct the robot's position provides a solution for automatic position correction during robot movement.
[0059] It should be understood that Figure 1 This is merely an example to facilitate understanding of the robot's hardware structure. In actual applications, robots can take on other forms, which are not limited here.
[0060] Based on the above description, the robot position correction method provided in the embodiments of this application will be described in detail below. Please refer to [link / reference]. Figure 2 , Figure 2 A flowchart illustrating a robot position correction method provided in this application embodiment is shown. The method may include:
[0061] 201. The electronic device obtains at least one first distance between the robot and the probe below the robot via radar, and selects the largest distance from the at least one first distance as the target distance.
[0062] In some embodiments of this application, after the electronic device is placed on the target object, it can obtain at least one first distance between the robot and the probe below the robot via radar, and select the largest distance from the at least one first distance as the target distance. The electronic device can be the robot itself, or it can be a processor within the robot.
[0063] Specifically, the electronic device can drive the robot's micro-movements via the robot's drive module, thereby inducing micro-movements of the radar integrated within the robot and activating the radar's detection function. These micro-movements include, but are not limited to, small-range movements such as forward / backward, left / right, and rotation in place, or other methods; a complete list is not provided here. It should be noted that the process of these micro-movements is not considered part of the robot's movement. The electronic device can perform the detection operation using one or more radars specifically designed to detect the distance to an object below the robot, or it can perform this operation using one or more first detection antennas of the radar. The first detection antenna is one of at least two antennas in the radar specifically designed to detect the distance to an object below the robot. The electronic device detects the reflected signal returned by the object below the robot using the radar or the first detection antenna, and acquires the echo data corresponding to the reflected signal. It then generates a curve corresponding to the echo data to obtain at least one first distance between the robot and the object below it, and can select the largest distance as the target distance.
[0064] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 3 , Figure 3 Two schematic diagrams illustrating the change curves of echo data corresponding to the probe below the robot in the robot position correction method provided in the embodiments of this application. Figure 3 Includes two sub-diagrams, (a) and (b). Figure 3 The sub-illustrative diagram (a) illustrates the use of a robot to sterilize bedding with a spring mattress (an example of a target object). Figure 3 The sub-diagram (b) illustrates the robot sterilizing bedding on a wooden bed (another example of the target object). Figure 3 In sub-schematic diagrams (a) and (b), the vertical axis represents the intensity of the echo data generated by the probe below the robot, and the horizontal axis represents the distance between the robot and the probe below the robot. The distance value corresponding to the peak position in the curve corresponding to the echo data represents the distance between the robot and the probe below the robot. Figure 3 The sub-diagram (a) represents a distance of 0.18 meters between the robot and the spring mattress. Figure 3 The sub-diagram (b) shows a distance of 0.3 meters between the robot and the wooden bed. Figure 3 As can be seen from sub-diagrams (a) and (b), since the thickness of mattresses, quilts, and other bedding on different users' beds varies, the first distance corresponding to different beds can be different, and thus the target distance corresponding to different users will also be different. This should be understood. Figure 3 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0065] 202. Electronic devices collect point cloud data of the environment within the target range of the robot via radar. The environment within the target range includes the environment in front of the robot within the current detection range of the radar.
[0066] In some embodiments of this application, if the electronic device is initially placed at any position on the target object, the robot's initial orientation (which can also be referred to as the first orientation for ease of distinction from the subsequent description) can be initialized to 0°. The robot's initial orientation is also the current orientation of the robot's wheels. First point cloud data of the environment within the robot's first target range is acquired using a first radar. The environment within the first target range includes the environment in front of the robot within the current detection range of the first radar. Further, with the robot's current orientation as the center line, the environment within the first target range can include the environment in front of the robot within a first angle range to the left and right of the center line. That is, the current detection range of the first radar is within a first angle range to the left and right of the center line. This first angle range can be 30 degrees, 50 degrees, 60 degrees, 80 degrees, or other values, etc., which are not exhaustively listed here. The first point cloud data is a type of point cloud data, which can be simply referred to as a point cloud. It refers to a set of points that express the spatial distribution and surface characteristics of an object under the same spatial reference system. After obtaining the spatial coordinates of each sampling point on the surface of the object within the target range environment, the resulting set of points is called a point cloud.
[0067] Specifically, the electronic device drives the robot to make micro-movements through the robot's drive module and detects the reflected signals generated by the environment within the first target range to obtain echo data corresponding to the environment within the first target range. Two-dimensional fast Fourier transform (2D-FFT) is performed on each frame of echo data, and constant false alarm rate (CFAR) is performed on the obtained spectral information. Finally, the first point cloud data of the environment within the first target range of the robot is generated using an angle estimation algorithm.
[0068] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 4 , Figure 4 This is a schematic diagram of the first target range in the robot position correction method provided in the embodiments of this application. Figure 4 In the diagram, A1 represents a radar on the robot, and A2 points to the area (i.e., Figure 4 The waveform area emitted in front of A1 represents the range of the first target. This should be understood as... Figure 4 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0069] If step 202 is reached via step 203 or step 207, in one implementation, the electronic device controls the robot's orientation to change to a second orientation, which is obtained by rotating the initial orientation left / right by one or more first angles. The electronic device collects third point cloud data of the environment within the second target range corresponding to the rotated robot using radar. The first angle can be 20 degrees, 30 degrees, 45 degrees, 50 degrees, or other values, as long as the value of the first angle is less than the range of values for the first angle; no exhaustive list is provided here. Furthermore, with the current orientation of the rotated robot as the center line, the environment within the second target range can include the environment in front of the robot within the first angle range to the left and right of the current orientation of the rotated robot.
[0070] In another implementation, multiple radars or multiple detection antennas can be integrated into the robot in different directions. In this way, the electronic equipment can also collect third point cloud data of the environment within the second target range directly through the second radar or the second detection antenna without rotating the robot. The second radar and the first radar are radars arranged in different directions, and the second detection antenna and the first detection antenna are detection antennas arranged in different directions.
[0071] It should be noted that the execution order of steps 201 and 202 is not limited in this embodiment. The electronic device can execute steps 201 and 202 simultaneously. Specifically, in one case, the electronic device may be equipped with a radar specifically for obtaining the distance between the robot and the object below it, and a radar specifically for detecting the environment in front of the robot. In this case, the electronic device can execute steps 201 and 202 separately using different radars. In another case, the electronic device may be equipped with a detection antenna specifically for obtaining the distance between the robot and the object below it, and a detection antenna specifically for detecting the environment in front of the robot. In this case, the electronic device can execute steps 201 and 202 separately using different detection antennas. Alternatively, the electronic device may execute step 201 first, and then step 202; or, the electronic device may execute step 202 first, and then step 201.
[0072] 203. The electronic device determines whether there is a boundary line of the target object in the environment within the target range of the robot based on the point cloud data of the environment within the target range of the robot. If it exists, proceed to step 204; if it does not exist, return to step 202.
[0073] In some embodiments of this application, after the electronic device obtains the first point cloud data or the third point cloud data in step 202, it will determine whether there is a boundary line of the target object in the environment within the target range of the robot based on the first point cloud data or the third point cloud data. If there is, it will proceed to step 204; if there is not, it will proceed to step 202 to continue to obtain environmental information around the robot. The target object is an object related to the robot's task.
[0074] Specifically, in one implementation, the electronic device can pre-store one or more second point cloud data sets. Each second point cloud data set represents the point cloud data of a line acquired by the radar, and the relative angle between the line corresponding to different second point cloud data sets and the radar can be different. The electronic device's determination of whether a target object's boundary line exists in the environment within the robot's target range can include: the electronic device acquiring a first similarity between the first / third point cloud data obtained in step 202 and each of the at least one second point cloud data sets, and determining whether each first similarity is greater than or equal to a preset similarity threshold. If target point cloud data exists in at least one second point cloud data set, then it is determined that a target object's boundary line exists in the surrounding environment within the robot's target range. The similarity between the target point cloud data and the first point cloud data is greater than or equal to the preset similarity threshold, which can be 80%, 85%, 90%, 95%, or other values, etc., and is not limited here.
[0075] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 5 , Figure 5 Two schematic diagrams of the second point cloud data in the robot position correction method provided in the embodiments of this application. Figure 5 Includes two sub-diagrams, (a) and (b). Figure 5 (a) The sub-schematic diagram represents the point cloud data of the target object's boundary line collected when the target object's boundary line is located directly in front of the radar. Figure 5 (b) The sub-diagram represents the point cloud data of the target object's boundary line acquired when the target object's boundary line is located to the left front of the radar. It should be understood that... Figure 5 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0076] In one implementation, the electronic device performs filtering and fitting operations on the first point cloud data / third point cloud data obtained in step 202. If the fitting result of the first point cloud data / third point cloud data is a linear function and the fitting error of the linear function is less than a preset error threshold, then it is determined that the boundary line of the target object exists in the surrounding environment within the robot's target range. The fitting error reflects the degree of convergence of the first point cloud data relative to the fitted linear function. The greater the degree of convergence of the first point cloud data relative to the fitted linear function, the smaller the fitting error and the better the fit; conversely, the smaller the degree of convergence of the first point cloud data relative to the fitted linear function, the larger the fitting error and the worse the fit. As an example, the preset error threshold can be 0.5, 1.0, or other values, etc., and is not limited here.
[0077] Specifically, after performing filtering and fitting operations on the first point cloud data / third point cloud data obtained in step 202 to obtain the first linear function, the electronic device can calculate the distance value between each point in the first point cloud data / third point cloud data and the first linear function, and calculate the average value of the distance values between all points in the first point cloud data / third point cloud data and the first linear function, or calculate the maximum value among the multiple distance values between the multiple points in the first point cloud data / third point cloud data and the first linear function, or calculate the minimum value among the multiple distance values between the multiple points in the first point cloud data / third point cloud data and the first linear function, etc.
[0078] In this embodiment of the application, two methods are provided to determine whether there is a boundary line of a target object in the surrounding environment within the target range of the robot based on the first point cloud data, which improves the implementation flexibility of this solution.
[0079] 204. Electronic devices control the robot to move toward the boundary line of the target object.
[0080] In some embodiments of this application, after determining that the boundary line of a target object exists in the environment within the robot's target range, the electronic device controls the robot to move towards the boundary line of the target object based on the position information of the boundary line. The position information of the boundary line may include the relative angle and relative distance between the boundary line and the robot's current position. The relative distance between the boundary line and the robot's current position refers to the distance between the robot and the boundary line in the target direction, which is the direction perpendicular to the boundary line.
[0081] Specifically, the electronic device can control the robot's orientation to rotate to be perpendicular to the target object's boundary line based on the relative angle between the target object's boundary line and the robot's current position, and move towards the target object's boundary line along the aforementioned direction based on the relative distance between the target object's boundary line and the robot's current position.
[0082] 205. The electronic device detects the distance between the robot and the boundary line of the target object as the robot moves toward the boundary line of the target object.
[0083] In some embodiments of this application, the electronic device detects the distance between the robot and the boundary line of the target object in real time as the robot moves toward the boundary line of the target object. Specifically, as the robot moves toward the boundary line of the target object, the electronic device can acquire point cloud data corresponding to the boundary line of the target object in real time via radar, and generate the relative distance between the robot and the boundary line of the target object in the target direction based on the point cloud data corresponding to the boundary line of the target object.
[0084] 206. Electronic devices detect whether the robot is located in the edge region of the target object as it moves toward the boundary line of the target object.
[0085] In some embodiments of this application, the electronic device detects in real time whether the robot is located in the edge region of the target object as it moves toward the boundary line of the target object. The target object can specifically be a bed, floor, blanket, grass, or other objects that the robot can work on, etc., without exhaustive list. The edge region of the target object can also be called the danger zone, cliff zone, or other names. The probability of the robot falling from the edge region of the target object is greater than the probability of the robot falling from the non-edge region of the target object; that is, when the robot moves in the edge region of the target object, it is more likely to fall off the target object. It should be noted that the concepts of "probability of the robot falling from the edge region of the target object" and "probability of the robot falling from the non-edge region of the target object" are introduced here only for ease of understanding the edge region of the target object. In reality, the robot does not need to distinguish the edge region and non-edge region of the target object by calculating the "probability of the robot falling from the target object." Furthermore, the edge region of the target object is not a fixed area; that is, the robot does not divide the target object into edge and non-edge regions. Which areas of the target object are edge regions and which are non-edge regions are determined by the robot based on the detection results.
[0086] Specifically, step 201 is an optional step. In one implementation, if step 201 is executed, step 206 may include: during the robot's movement toward the boundary line of the target object, the electronic device acquires in real time the second distance between the robot and the probe below the robot via radar. If, based on the target distance and the second distance, a first condition is met, the robot is determined to be located in the edge region of the target object. The first condition indicates that the difference between the second distance and the target distance is greater than or equal to a second threshold. The second threshold can be 20 cm, 30 cm, 35 cm, or other values, etc., and is not limited here.
[0087] More specifically, in one scenario, the electronic device adds the target distance and the second threshold to obtain a third threshold. The electronic device then uses radar to acquire echo data corresponding to the probe below the robot in real time, generating a change curve corresponding to this echo data. This allows for the real-time acquisition of the second distance between the robot and the probe below it. The electronic device then determines whether the second distance is greater than or equal to the third threshold. If the second distance is greater than or equal to the third threshold, the robot is determined to be located in the edge region of the target object. If the second distance is less than the third threshold, the robot is determined not to be located in the edge region of the target object, and the acquisition of the distance between the robot and the probe below it continues. It should be noted that the specific implementation method of the electronic device acquiring echo data corresponding to the probe below the robot in real time via radar can be found in the description of step 201 above, and will not be repeated here.
[0088] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 6 , Figure 6 This is another schematic diagram of the change curve of the echo data corresponding to the probe below the robot in the robot position correction method provided in the embodiments of this application. Figure 6 Taking the example of a robot removing mites from bedding on a spring mattress (an example of a target object), Figure 6 It needs to be combined Figure 3 To understand this, we can refer to the sub-diagram (a). Figure 3 Taking the target distance corresponding to sub-schematic (a) as an example, which is 0.18 meters, that is, taking the maximum distance between the robot and the spring mattress as 0.18 meters as an example, and Figure 6 B1 (the point with the highest echo data intensity) indicates that the electronic equipment, via radar, has determined that the distance between the robot and the target object below it reaches 0.8 meters. The difference between 0.8 meters and 0.18 meters is greater than the second threshold. Therefore, it can be understood that when the robot moves to the position indicated by B1, the robot is located at the edge of the target object. Figure 6 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0089] In another scenario, the electronic device uses radar to acquire a second distance between the robot and the target object below it in real time, calculates the difference between the second distance and the target distance, and determines whether the difference between the second distance and the target distance is greater than or equal to a second threshold. If it is greater than or equal to the second threshold, it is determined that the robot is located in the edge region of the target object; if it is less than the second threshold, it is determined that the robot is not located in the edge region of the target object, and the distance between the robot and the target object below it continues to be acquired.
[0090] In this embodiment, the electronic device obtains the distance between the robot and the object below it in real time through radar. The electromagnetic waves emitted by the radar can penetrate cotton and silk fabrics. Therefore, when the robot is not located in the edge area of the target object, the distance detected by the radar is the distance between the robot and the bed board / spring mattress. When the robot is located in the edge area of the target object, the distance detected by the radar is the distance between the robot and the floor. The distance between the robot and the floor is much greater than the distance between the robot and the bed board / spring mattress. This solution uses this principle to detect the edge area of the target object. The target distance is the maximum value obtained from at least one distance between the robot and the bed board / spring mattress. Since the height of cotton items placed on the target object varies for different users, a uniform target distance cannot be set. The target distance method provided by this solution, which uses electronic equipment to autonomously detect and generate the target distance via radar, can improve the accuracy of the robot's edge judgment process, thus preventing the robot from falling off the target object. In addition, since the electromagnetic waves emitted by radar can penetrate cotton items, if the size of cotton items or silk fabrics such as bedding / cotton mattresses on the bed exceeds the size of the bed board, this solution can determine that the robot is in the edge area of the bed board and stop its movement in time. Since cotton items are generally not enough to support the robot, that is, not enough to prevent the robot from slipping, stopping the robot's movement in time when it is in the edge area of the bed board can also prevent the robot from falling off the target object. This avoids the user wasting time repositioning the fallen robot on the target object and also ensures the continuity of the robot's movement.
[0091] In another implementation, if step 201 is not performed, the electronic device can also be configured with a preset distance threshold, which is a fixed distance value. During the process of the robot moving towards the boundary line of the target object, the electronic device acquires the second distance between the robot and the probe below the robot in real time through radar, and determines whether the second distance is greater than or equal to the preset distance threshold. If the second distance is greater than or equal to the preset distance threshold, it is determined that the robot is located in the edge area of the target object; if the second distance is less than the preset distance threshold, it is determined that the robot is not located in the edge area of the target object.
[0092] It should be noted that the execution order of steps 204 and 205 is not limited in this embodiment. The electronic device can execute steps 204 and 205 simultaneously. Specifically, in one case, the electronic device can be configured with a radar specifically for obtaining the distance between the robot and the object below the robot, and a radar specifically for detecting the environment in front of the robot. In this case, the electronic device can execute steps 204 and 205 through different radars. In another case, the electronic device can be configured with a detection antenna specifically for obtaining the distance between the robot and the object below the robot, and a detection antenna specifically for detecting the environment in front of the robot. In this case, the electronic device can execute steps 204 and 205 through different detection antennas.
[0093] In another implementation, step 205 may also include: the electronic device collects environmental data around the robot in real time through infrared sensors or other types of sensors, and determines whether the robot is located in the edge area of the target object based on the environmental data around the robot. Here, we will not exhaustively list the specific implementation methods of the electronic device detecting whether the robot is located in the edge area of the target object.
[0094] 207. The electronic device determines whether the distance between the robot and the boundary line of the target object is less than the first threshold and whether the robot is not located in the edge area of the target object. If the distance between the robot and the boundary line of the target object is less than the first threshold and the robot is not located in the edge area of the target object, then proceed to step 208. If the distance between the robot and the boundary line of the target object is greater than the first threshold and the robot is located in the edge area of the target object, then re-enter step 202.
[0095] In some embodiments of this application, the electronic device determines whether the distance between the robot and the boundary line of the target object is less than a first threshold and whether the robot is not located in the edge area of the target object; if the distance between the robot and the boundary line of the target object is less than the first threshold and the robot is not located in the edge area of the target object, then proceed to step 208; wherein, the value of the first threshold can be 5 cm, 10 cm, 12 cm, 15 cm or other values, etc., and is not limited here.
[0096] If the distance between the robot and the boundary line of the target object is greater than a first threshold and the robot is located in the edge region of the target object, the electronic device determines that the boundary line of the target object is not a baseline. The electronic device can drive the robot to rotate 180 degrees (i.e., turn around) and then control the robot to move back to its initial position (i.e., the position where the robot was placed on the target object). Then, it re-enters step 202 to detect the boundary line of the next target object from the robot's surrounding environment and determine whether the boundary line of the next target object is a baseline. If the distance between the robot and the boundary line of the target object is greater than the first threshold and the robot is not located in the edge region of the target object, steps 204 and 205 are continued until the distance between the robot and the boundary line of the target object is less than the first threshold, or the robot is located in the edge region of the target object.
[0097] 208. Electronic devices use the boundary line of the target object as a baseline.
[0098] In some embodiments of this application, if the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge region of the target object, the electronic device determines the boundary line of the target object as the baseline.
[0099] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 7 , Figure 7 This is a schematic diagram illustrating the determination of a baseline in the robot position correction method provided in this application embodiment. Figure 7 For example, the baseline was determined only after the electronic equipment in China and Israel executed steps 201 to 207 three times. Figure 7 As shown, the electronic device first detects the boundary at the foot of the bed (i.e., a boundary line of the target object) using radar, and controls the robot to move towards this boundary. However, since the distance between the robot and the boundary at the foot of the bed is less than a first threshold, the robot is located in the edge area of the bed, and the electronic device controls the robot to return to the initial point. The electronic device then controls the robot to rotate 120 degrees to the right, detects the boundary line on the left side of the bed (i.e., a boundary line of the target object) using radar, and controls the robot to move towards this boundary. Again, since the distance between the robot and the boundary line on the left side of the bed is less than a first threshold, the robot is located in the edge area of the bed, and the electronic device again controls the robot to return to the initial point. Finally, the electronic device controls the robot to rotate 120 degrees to the right, detects the boundary line at the head of the bed (i.e., a boundary line of the target object) using radar, and controls the robot to move towards this boundary. However, since the distance between the robot and the boundary line at the head of the bed is less than a first threshold, the robot is not located in the edge area of the bed. Therefore, the boundary line at the head of the bed is determined as the baseline, and the robot is controlled to move along this baseline. It should be understood that... Figure 7 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0100] In this embodiment, a scheme is provided for the robot to automatically determine a baseline. This allows the robot to find the baseline regardless of where it is placed on the target object, and to use this baseline to correct its position during cleaning. Furthermore, the baseline is not determined by any detected line (i.e., any edge line of the target object). Instead, the baseline is determined only when the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge area. In other words, the baseline is not only an edge line of the target object, but also not located in the edge area of the target object, thus preventing the robot from falling off the target object while searching for the baseline.
[0101] 209. Electronic devices control the robot to move along the baseline. When the robot moves to the edge area of the target object, the robot stops moving and uses the robot's current position as the reference point.
[0102] In some embodiments of this application, when the electronic device is located at the baseline, it can also control the robot to move along the baseline. During the robot's movement along the baseline, it can detect in real time whether the robot has moved to the edge area of the target object. When the robot is detected to be at the edge area of the target object, it can control the robot to pause its movement and rotate it 180 degrees in place. The robot's current position can be used as the reference point, and the robot's current orientation can be used as the 0-degree orientation. This reference point can be the starting point for the robot to perform its task. This task can be mite removal, vacuuming, dehumidifying, ironing clothes, mowing lawns, collecting bacterial samples, or other types of tasks, etc., and is not limited here.
[0103] In this embodiment, since the baseline is an edge line of the target object and the reference point is the edge region on the edge line, that is, the reference point is a vertex of the target object, using a vertex of the target object as the starting point in the robot's task execution process makes it easier to plan the robot's movement path and to plan a non-repeating task execution path, making the robot's task execution path more organized, which is conducive to improving the efficiency of the robot's task execution process and reducing the robot's task execution time.
[0104] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 8 , Figure 8 This is a schematic diagram illustrating the determination of a baseline in the robot position correction method provided in this application embodiment. Figure 8 Includes five sub-diagrams: (a), (b), (c), (d), and (e). Figure 8 The sub-diagram (a) shows an example where the baseline is directly in front of the robot. Figure 8 The sub-schematic diagram (a) represents the baseline fitted from the point cloud data of the environment within the robot's target range collected by the electronic device via radar; Figure 8 (b) The sub-diagram represents an electronic device controlling a robot to move toward the baseline in a direction perpendicular to the baseline (i.e., the target direction); Figure 8 The sub-diagram (c) represents electronic control of the robot moving along a baseline and real-time detection of whether the robot has moved to the target object (i.e., Figure 8 The edge area of the bed; Figure 8 The (d) sub-diagram represents the electronic device detecting that the robot is located in the edge region of the target object and controlling the robot to pause its movement in that direction; Figure 8 The sub-diagram (e) represents the electronic device controlling the robot to rotate 180 degrees, using the robot's current position as a reference point. This reference point serves as the starting point for the robot's mite removal process on the bed. It should be understood that... Figure 8 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0105] It should be noted that step 209 is an optional step. If the user places the robot at a vertex of the target object each time the robot is placed on the target object, the electronic device can directly determine the robot's current position as the starting point for the robot to perform the task. That is, without executing step 209, the robot can use a vertex of the target object as the starting point for performing the task.
[0106] It should be noted that steps 202 to 208 are optional. The electronic device can be pre-configured with a baseline confirmation rule. This rule instructs the electronic device to use the first detected line as the baseline. Once the electronic device detects the baseline, it controls the robot to move to that baseline. Therefore, the robot's user manual may indicate that the user needs to place the robot facing the baseline, which is the edge line of an obstruction within the target object. For example, the baseline might be formed by the intersection of the headboard and the bed surface (an example of a target object); or by the side of the bed surface against a wall, where the intersection forms the baseline, etc. These are just a few examples.
[0107] Alternatively, the user can place the robot directly on the baseline each time, so that the electronic device does not need to perform steps 202 to 208 to measure the baseline. In other words, the electronic device can move directly along the baseline without performing steps 202 to 208.
[0108] After obtaining the robot's starting point for the task, the electronic device uses this starting point as the origin and the baseline as the x-axis in the coordinate system to determine the robot's movement path during the task and model its position, thus initializing the robot's localization process. The electronic device can pre-store planning rules for the movement paths during the task; after obtaining the baseline, it can determine the robot's movement path based on these rules.
[0109] Optionally, the robot's movement path during task execution is a bow shape, which includes a second movement direction and a third movement direction. The second movement direction is parallel to the baseline, and the third movement direction is perpendicular to the baseline. It should be noted that while the electronic equipment aims for the robot's movement path to be bow-shaped, errors may occur between the robot's movement and the expected path. Furthermore, the electronic equipment will correct the robot's position during movement; therefore, the actual movement path will be similar to the bow shape, but may not be exactly the same.
[0110] In this embodiment, the robot is controlled to move along a bow-shaped path during the execution of the task, starting from a vertex of the target object. The robot's position and heading angle are corrected in a timely manner during the execution of the task, which not only ensures that the robot's movement path can fully cover the target object, but also avoids the repetition of the robot's movement path.
[0111] To better understand this solution, the electronic device can use three dimensions—x, y, and θ—to describe the robot's position relative to the baseline. Taking the robot's movement path during task execution as an example of a bow shape, the electronic device can use prior information (i.e., the baseline in each of the above steps) to establish the robot's position as follows:
[0112]
[0113] Where, x cliff This represents the robot's current position along the x-axis. When the robot reaches the edge region of the target object, x... cliff The value of n will be reset to 0. x This represents the encoder increment as the robot moves along the x-axis. When the robot reaches the edge region of the target object, n... x The value of will be reset to 0, res represents the mapping relationship between the encoder scale and the robot's travel distance, θ represents the robot's actual heading angle relative to the baseline, and τ x The y-axis represents the cumulative distance error in the x-axis direction during the robot's movement.abs n represents the distance between the robot and the baseline along the y-axis, which is the direction perpendicular to the baseline. y This represents the encoder increment as the robot moves along the y-axis. When the robot reaches the edge region of the target object, n... y The value of d will be reset to 0. width Let represent the expected distance the robot moves in the y-axis direction each time it moves. After each movement along the y-axis, i... y Add 1, τ y This represents the cumulative distance error along the y-axis during the robot's movement, which needs to be corrected using a baseline. The robot rotates 90 degrees at each step as it moves along a bow-shaped path, θ. abs This represents the robot's initial heading angle relative to the baseline. The robot's initial heading angle is 0 degrees when it starts from the baseline. τ represents the robot's expected heading angle during task execution. θ2 τ represents the heading angle deviation of the robot due to slippage during task execution. θ2 It can be measured by the robot's inertial measurement unit (IMU) and can be calibrated by the robot itself. θ1 The cumulative heading angle error of the robot during the task execution process needs to be corrected with the help of the baseline. It should be noted that the example in Equation (1) is only for the convenience of understanding this scheme and is not intended to limit this scheme.
[0114] It should be noted that τ θ1 The heading angle deviation is not caused by slippage, but by insufficient precision of the components within the robot. In other words, even when the robot is placed on a rough surface, and even if it doesn't slip, a τ angle deviation will still occur. θ1 This is the heading angle deviation. τ x and τ y Both include distance errors caused by slippage and distance errors caused by insufficient precision of components in the robot.
[0115] Furthermore, if the robot's movement path during task execution is bow-shaped, the electronic equipment can pre-define three types of motion for the robot. The first type is movement along the x-axis, where the robot's speed is constant. The expected heading angle is designed to be based on τ θ2 The purpose of the reverse correction is to ensure that the robot's actual trajectory is a straight line; the second option is to move along the y-axis. The expected heading angle is designed to be based on τ θ2 The course after reverse correction; the third is stationary rotation with a rotation angle of 90 degrees.
[0116] Specifically, after determining the baseline and reference point, the electronic device uses the reference point as the starting point and controls the robot to move along the baseline during the robot's task execution. During the task execution, the electronic device uses radar to detect in real time whether the robot is located in the edge area of the target object. When the electronic device determines that the robot is located in the edge area of the target object, it controls the robot to stop moving (that is, controls the robot to stop moving in the original direction) and controls the robot to rotate 90 degrees away from the baseline (that is, changes the direction of movement). In other words, the rotated robot is perpendicular to the baseline.
[0117] After controlling the robot to rotate, radar detects whether the robot is located in the edge area of the target object. If the rotated robot is no longer in the edge area, it moves a preset length along the direction perpendicular to the baseline, and then rotates 90 degrees away from the baseline to continue moving in a direction parallel to the baseline. The electronic device controls the robot to repeat the above steps until the rotated robot is still in the edge area of the target object, at which point the task is considered complete. The preset length must be less than or equal to the robot's diameter. For example, the preset length could be 15 cm, 20 cm, 25 cm, etc., but this is not limited here.
[0118] In this embodiment of the application, during the robot's task execution, it is possible to detect in real time whether the robot is located in the edge area of the target object. When it is determined that the robot is located in the edge area of the target object, the robot is promptly controlled to change its direction of movement, thereby preventing the robot from falling off the target object during task execution. This improves the continuity of the robot's task execution process, that is, it avoids users wasting energy during the robot's task execution, thereby increasing user stickiness of this solution.
[0119] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 9 , Figure 9 This is a schematic diagram of a radar detection point in the robot position correction method provided in the embodiments of this application. Figure 9Taking the robot's movement path in the process of performing a task as an example of an arc shape, C1 represents the position of the radar / detection antenna (i.e., the detection point) when the robot moves along the baseline at the head of the bed. C2 represents the position of the radar / detection antenna (i.e., the detection point) on the robot after it has rotated at the head of the bed. Comparing C1 and C2, it can be seen that C1 is closer to the edge area of the target object. Therefore, although the position of the robot has not changed, after the robot rotates, the electronic equipment determines that the robot is no longer located in the edge area of the target object. C3 represents the position of the radar / detection antenna (i.e., the detection point) when the robot moves parallel to the baseline at the foot of the bed. C4 represents the position of the radar / detection antenna on the robot after rotation at the foot of the bed. Comparing C3 and C4, although the detection point position changes after rotation, since the robot has reached the foot of the bed (i.e., the robot has completed its task), the radar / detection antenna on the rotated robot still detects that the robot is located in the edge area of the target object. Therefore, when the electronic equipment detects that the rotated robot is still located in the edge area of the target object, it can be determined that the task has been completed. Figure 9 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0120] It should be noted that during the robot's task execution, the robot's position and heading angle will be corrected based on the relative distance and angle between the robot and the baseline. For details on how this is implemented, please refer to the descriptions in steps 210 and 211 below.
[0121] 210. The electronic device acquires the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline.
[0122] In this embodiment of the application, after the electronic device determines the baseline and completes the initialization of the robot positioning process, it can control the robot to perform the task and correct the robot's position and heading angle with the help of the baseline during the robot's task execution. That is, the robot will correct the robot's position and heading angle through step 210 and subsequent step 211 during the task execution.
[0123] The triggering conditions for the electronic device to correct the robot's position and heading angle are as follows. In one implementation, the electronic device can perform a position and heading angle correction operation on the robot every preset time interval. Step 210 may include: the electronic device acquiring the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline every preset time interval. The preset time interval can be 10 seconds, 20 seconds, 30 seconds, 1 minute, 5 minutes, or other data, etc., and is not limited here.
[0124] In another implementation, the electronic device can perform a correction operation when the value of x corresponding to the robot is a preset value. The preset value can be half of the maximum value of x, or it can include three values, namely one-quarter, one-half, and three-quarters of the maximum value of x, etc. It is not exhaustive here. It should be noted that the two triggering conditions provided in this application embodiment for correcting the robot's position and heading angle are only for the convenience of understanding this solution. In actual products, other triggering conditions may be used, which are not exhaustive here.
[0125] Specifically, since the electronic device controls the robot's movement according to a pre-determined path, although the robot will deviate from its heading angle during the task execution process, the electronic device can determine the relative position between the baseline and the robot, that is, the electronic device can determine that the baseline is within the target direction range of the robot. As an example, if the planned path for the robot to perform the task is bow-shaped, then when the robot first reaches the edge area of the target object and rotates 90 degrees, the baseline is located behind the robot's direction of movement. Thus, the electronic device can determine the relative position between the baseline and the robot based on the robot's movement path. It should be understood that this example is only to demonstrate the feasibility of this solution and is not intended to limit this solution. Furthermore, the electronic device can directly obtain the expected heading angle of the robot relative to the baseline from equation (1) shown in step 208, and then determine the orientation information of the baseline relative to the robot.
[0126] The electronic device acquires third point cloud data within the third target range of the robot through a radar / detection antenna on the robot that corresponds to the target direction range. The third target range is the detection range of the radar / detection antenna on the robot that corresponds to the target direction range. Based on the acquired third point cloud data, the electronic device performs filtering and fitting operations to obtain the position information of the baseline relative to the robot, that is, to obtain the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline. The target direction is the direction perpendicular to the baseline.
[0127] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 10 , Figure 10 This is a schematic diagram illustrating the first actual distance and first heading angle in the robot position correction method provided in this application embodiment. D1 represents the baseline, the direction of the arrow in D1 represents the positive direction of the x-axis, D2 represents the first actual distance between the robot and the baseline, D3 represents the robot's current direction of movement, and D4 represents the robot's first heading angle relative to the baseline. It should be understood that... Figure 10 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0128] 211. The electronic device controls the robot to move based on the expected distance between the robot and the baseline in the target direction, the first actual distance, and the first heading angle, so that the second actual distance between the robot and the baseline in the target direction after the movement is the expected distance.
[0129] In this embodiment, since the robot moves at a preset speed during task execution, the electronic device obtains the expected distance between the robot and the baseline in the target direction based on the robot's planned path and preset speed. This expected distance corresponds to the robot's current position. Furthermore, the electronic device can directly obtain the expected distance between the robot and the baseline in the target direction from equation (1) shown in step 208.
[0130] The electronic device controls the robot's movement based on the expected distance between the robot and the baseline in the target direction, the first actual distance, and the first heading angle, in order to correct the robot's distance in the target direction, so that the second actual distance between the robot and the baseline in the target direction after the movement is the expected distance.
[0131] Specifically, while correcting the robot's distance in the target direction, the electronic device also corrects the robot's heading angle to ensure that the corrected heading angle matches the expected heading angle between the robot and the baseline. Step 211 may include: the electronic device calculating a first error distance of the robot in the target direction based on the expected distance and the first actual distance, and controlling the robot to rotate according to the first heading angle so that the first direction of movement of the rotated robot is perpendicular to the baseline; the first direction of movement can be a direction moving closer to the baseline or a direction moving away from the baseline. The electronic device controls the robot to move the first error distance along the first direction of movement, i.e., controls the robot to move the first error distance along the first direction of movement, so that the second actual distance between the robot and the baseline in the target direction after the movement is the expected distance. After controlling the robot to move the first error distance along the first direction of movement, the electronic device controls the robot to rotate according to the robot's planned path, so that the robot's actual heading angle relative to the baseline is rotated to the expected heading angle.
[0132] It should be noted that "controlling the robot to move a first error distance along the first moving direction" here means that the electronic device wants to control the robot to move a first error distance along the first moving direction, but in reality, the robot may move a third actual distance along the first moving direction, and the difference between the third actual distance and the first error distance is relatively small.
[0133] For a more intuitive understanding of this solution, please refer to [link / reference]. Figure 11 , Figure 11 This is a schematic diagram of the expected distance, the first actual distance, and the first heading angle in the robot position correction method provided in the embodiments of this application. Figure 11 Can be combined Figure 10 To understand this, D1 represents the baseline, the arrow in D1 points to the positive x-axis, D2 represents the first actual distance between the robot and the baseline, E1 represents the expected distance between the robot and the baseline, E2 represents the difference between the expected distance and the first actual distance (i.e., the first error distance), D3 represents the robot's current direction of movement, D4 represents the robot's first heading angle relative to the baseline, E3 represents the robot's expected heading relative to the baseline, and E4 represents the first direction of movement. This means the electronic equipment controls the robot to move the distance indicated by E2 along the direction pointed to by E4, so that the second actual distance between the robot and the baseline in the target direction after the movement is the expected distance. Figure 11 The examples in this document are for illustrative purposes only and are not intended to limit the scope of this solution.
[0134] In this embodiment, a specific implementation scheme is provided for correcting the robot's distance in the target direction using the expected distance, the first actual distance, and the first heading angle of the baseline. During the correction process, the robot is first rotated according to the first heading angle of the robot relative to the baseline so that the first direction of movement of the rotated robot is perpendicular to the baseline. After correcting the robot's distance in the target direction, when controlling the robot's movement, the robot needs to be rotated to the robot's expected heading angle. That is, while correcting the robot's distance in the target direction, the robot's heading angle is also corrected, ensuring the planarability of the robot's movement path and thus ensuring that the robot's movement path can fully cover the entire target object.
[0135] In this embodiment, since the electromagnetic waves emitted by the radar can penetrate cotton or silk objects, and the radar can measure the actual distance and first heading angle between the robot and the baseline by emitting electromagnetic waves, and control the robot's movement based on the expected distance, actual distance, and first heading angle between the robot and the baseline, so that the actual distance between the robot and the baseline after movement is the expected distance, that is, the robot's position is corrected by using relative positioning technology with the baseline, providing a solution for automatic position correction of the robot during movement; in addition, this solution can be applied not only to scenarios where the robot works on the surface of cotton or silk objects, but also to scenarios where the robot is covered by cotton or silk objects, etc. Since the robot does not rely on collecting data from the surrounding environment for positioning, the impact of the working environment on the robot's movement process is greatly reduced, thereby greatly expanding the application scenarios of the robot.
[0136] exist Figures 1 to 11 Based on the corresponding embodiments, in order to better implement the above-described solutions of this application, related equipment for implementing the above solutions is also provided below. See details. Figure 12 , Figure 12 This is a schematic diagram of a position correction device provided in an embodiment of this application. The position correction device 1200 includes: an acquisition module 1201, used to acquire a first actual distance between the robot and a reference line in the target direction and a first heading angle of the robot relative to the reference line, wherein the reference line is a boundary line of a target object, the target direction is the direction perpendicular to the reference line, the first heading angle is the angle between the robot's movement direction and the reference line, and the target object is an object related to the robot's task; and a control module 1202, used to control the robot to move according to the expected distance between the robot and the reference line in the target direction, the first actual distance, and the first heading angle, so that the second actual distance between the robot and the reference line in the target direction after the movement is the expected distance. It should be noted that the position correction device 1200 can specifically be a processor configured in the robot, or it can be the entire robot.
[0137] In one possible design, please refer to Figure 13 , Figure 13This is a schematic diagram of a position correction device provided in an embodiment of this application. The control module 1202 includes a calculation submodule 12021 and a control submodule 12022. The calculation submodule 12021 is used to calculate a first error distance of the robot in the target direction based on the expected distance and a first actual distance, and to control the robot to rotate according to a first heading angle so that the first direction of movement of the rotated robot is perpendicular to the baseline. The control submodule 12022 is used to control the robot to move along the first direction of movement based on the first error distance, so that the second actual distance between the moved robot and the baseline in the target direction is the expected distance.
[0138] In one possible design, please refer to Figure 13 The device 1200 further includes: a data acquisition module 1203, used to acquire first point cloud data of the environment within the target range of the robot via radar, wherein the environment within the target range includes the environment in front of the robot within the current detection range of the radar; a control module 1202, used to control the robot to move towards the boundary line of the target object when it is determined from the first point cloud data that there is a boundary line of the target object in the surrounding environment within the target range of the robot, and to detect whether the robot is located in the edge area of the target object during the movement of the robot towards the boundary line of the target object, wherein the probability of the robot falling from the edge area of the target object is greater than the probability of the robot falling from the non-edge area of the target object; and a determination module 1204, used to determine the boundary line of the target object as a baseline when the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge area of the target object.
[0139] In one possible design, the determining module 1204 is specifically used to acquire at least one pre-stored second point cloud data and to acquire the similarity between the first point cloud data and each of the at least one second point cloud data. If there is target point cloud data in the at least one second point cloud data, then it is determined that there is a boundary line of a target object in the surrounding environment within the target range of the robot, and the similarity between the target point cloud data and the first point cloud data is greater than or equal to a preset similarity threshold. Alternatively, the determining module 1204 is specifically used to perform a fitting operation on the first point cloud data. If the fitting result of the first point cloud data is a linear function and the fitting error of the linear function is less than a preset error threshold, then it is determined that there is a boundary line of a target object in the surrounding environment within the target range of the robot.
[0140] In one possible design, the control module 1202 is also used to control the robot to move along the baseline, and when the robot moves to the edge area of the target object, the robot stops moving; the determination module 1204 is also used to use the robot's current position as the reference point, which is the starting point when the robot performs the task; the acquisition module 1201 is specifically used to acquire the first actual distance between the robot and the baseline in the target direction and the first heading angle of the robot relative to the baseline during the robot's task performance.
[0141] In one possible design, the robot's movement path during task execution is bow-shaped, which includes a second movement direction and a third movement direction. The second movement direction is parallel to the baseline, and the third movement direction is perpendicular to the baseline.
[0142] In one possible design, the acquisition module 1201 is further configured to acquire at least one first distance between the robot and a probe below the robot via radar, and select the largest distance from the at least one first distance as the target distance; the control module 1202 is specifically configured to acquire a second distance between the robot and the probe below the robot via radar during the robot's movement toward the boundary line of the target object, and determine that the robot is located in the edge region of the target object if a first condition is met based on the target distance and the second distance, wherein the first condition indicates that the difference between the second distance and the target distance is greater than or equal to a second threshold.
[0143] In one possible design, the acquisition module 1201 is further configured to acquire a third distance between the robot and the probe below the robot via radar during the robot's task execution; the determination module 1204 is further configured to determine that the robot is located in the edge region of the target object and control the robot to change its direction of movement if the first condition is met based on the target distance and the third distance.
[0144] It should be noted that the information interaction and execution process between the modules / units in the position correction device 1200 are different from those in this application. Figures 2 to 11 The various method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0145] This application also provides an edge region detection device. Please refer to [link to relevant documentation]. Figure 14 , Figure 14This is a schematic diagram of an edge region detection device provided in an embodiment of this application. The edge region detection device 1400 includes: an acquisition module 1401, configured to acquire at least one first distance and select the largest distance from the at least one first distance as a target distance, wherein the first distance is the distance between the robot and a probe below the robot before the robot moves; the acquisition module 1401 is further configured to acquire a second distance, wherein the second distance is the distance between the robot and the probe below the robot during the robot's movement; and a determination module 1402, configured to determine that the robot is located in the edge region of a target object if a first condition is met based on the target distance and the second distance, wherein the probability of the robot falling from the edge region of the target object is greater than the probability of the robot falling from a non-edge region of the target object, the first condition indicates that the difference between the second distance and the target distance is greater than a first threshold, and the target object is an object related to the robot performing a task. It should be noted that the edge region detection device 1400 can specifically be a processor configured in the robot, or it can be the entire robot.
[0146] In one possible design, please refer to Figure 15 , Figure 15 This is a schematic diagram of a robot edge region detection device provided in an embodiment of this application. The edge region detection device 1400 further includes: a data acquisition module 1403, used to acquire first point cloud data of the environment within the target range of the robot via radar, the environment within the target range including the environment in front of the robot within the current detection range of the radar; a control module 1404, used to control the robot to move towards the boundary line of the target object when it is determined from the first point cloud data that there is a boundary line of the target object in the surrounding environment within the target range of the robot, the process of the robot moving towards the boundary line of the target object is included in the robot's movement process; and a determination module 1402, further used to determine the boundary line of the target object as a reference line when the distance between the robot and the boundary line of the target object is less than a first threshold and the robot is not located in the edge region of the target object, the reference line being used to assist the robot in positioning during the robot's task execution.
[0147] It should be noted that the information interaction and execution process between the modules / units in the edge region detection device 1400 are different from those in this application. Figures 2 to 11 The various method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0148] This application also provides an electronic device; please refer to [link / reference]. Figure 16 , Figure 16 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, wherein the electronic device 1600 may be deployed with Figure 12 or Figure 13 The position correction device 1200 described in the corresponding embodiment, or the electronic device 1600, may be deployed with Figure 14 or Figure 15 The edge region detection device 1400 described in the corresponding embodiment. Specifically, the electronic device 1600 includes: a receiver 1601, a transmitter 1602, a processor 1603, and a memory 1604 (wherein the electronic device 1600 may have one or more processors 1603). Figure 16 (Taking a processor as an example), processor 1603 may include application processor 16031 and communication processor 16032. In some embodiments of this application, receiver 1601, transmitter 1602, processor 1603 and memory 1604 may be connected via bus or other means.
[0149] Memory 1604 may include read-only memory and random access memory, and provides instructions and data to processor 1603. A portion of memory 1604 may also include non-volatile random access memory (NVRAM). Memory 1604 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.
[0150] Processor 1603 controls the operation of electronic devices. In specific applications, the various components of electronic devices are coupled together through a bus system, which may include not only data buses but also power buses, control buses, and status signal buses. However, for clarity, all buses in the diagram are referred to as a bus system.
[0151] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1603. The processor 1603 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuits in the hardware of the processor 1603 or by instructions in software form. The processor 1603 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and may further include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 1603 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 1604. Processor 1603 reads the information in memory 1604 and, in conjunction with its hardware, completes the steps of the above method.
[0152] Receiver 1601 can be used to receive input digital or character information, and to generate signal inputs related to the settings and function control of electronic devices. Transmitter 1602 can be used to output digital or character information through the first interface; transmitter 1602 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; transmitter 1602 may also include a display device such as a display screen.
[0153] In one embodiment of this application, the application processor 16031 is used to execute... Figure 12 or Figure 13 This corresponds to the function of the position correction device 1200 in the embodiment. Specifically, the application processor 16031 is used to execute the following steps:
[0154] The robot obtains a first actual distance between itself and a baseline in the target direction and a first heading angle of itself relative to the baseline. The baseline is a boundary line of the target object, the target direction is the direction perpendicular to the baseline, and the first heading angle is the angle between the robot's movement direction and the baseline. The target object is an object related to the robot's task. Based on the expected distance between itself and the baseline in the target direction, the first actual distance, and the first heading angle, the robot is controlled to move so that the second actual distance between itself and the baseline in the target direction after the movement is the expected distance.
[0155] It should be noted that for application processor 16031 execution Figure 12 or Figure 13 For details on the specific implementation of the position correction device 1200 in the corresponding embodiment and its beneficial effects, please refer to [the relevant documentation / reference]. Figures 2 to 11 The descriptions in the corresponding method embodiments will not be repeated here.
[0156] In one scenario, the application processor 16031 is used to execute... Figure 14 or Figure 15 This corresponds to the function of the edge region detection device 1400 in the embodiment. Specifically, the application processor 16031 is used to perform the following steps:
[0157] Acquire at least one first distance and select the largest distance from the at least one first distance as the target distance. The first distance is the distance between the robot and the probe below the robot before the robot moves. Acquire a second distance, which is the distance between the robot and the probe below the robot during the robot's movement. If a first condition is met based on the target distance and the second distance, determine that the robot is located in the edge region of the target object. The first condition indicates that the difference between the second distance and the target distance is greater than a first threshold. The target object is an object related to the robot's task.
[0158] It should be noted that for application processor 16031 execution Figure 14 or Figure 15 For details on the specific implementation of the edge region detection device 1400 in the corresponding embodiment and its beneficial effects, please refer to [reference needed]. Figures 2 to 11 The descriptions in the corresponding method embodiments will not be repeated here.
[0159] This application also provides a computer-readable storage medium storing a program that, when run on a computer, causes the computer to perform the above-described actions. Figures 2 to 11 The steps performed by the electronic device in the corresponding embodiment.
[0160] This application also provides a computer program product that, when run on a computer, causes the computer to perform the above-described actions. Figures 2 to 11 The steps performed by the electronic device in the corresponding embodiment.
[0161] This application embodiment also provides a circuit system, the circuit system including a processing circuit, the processing circuit being configured to perform the above-described... Figures 2 to 11 The steps performed by the electronic device in the corresponding embodiment.
[0162] The electronic device or training device provided in this application embodiment can specifically be a chip, which includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip to perform the aforementioned operations. Figures 2 to 11 The steps performed by the electronic device in the corresponding embodiment. Optionally, the storage unit is a storage unit within the chip, such as a register, cache, etc. The storage unit can also be a storage unit located outside the chip in the wireless access device, such as read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
[0163] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of a program in the first aspect of the method.
[0164] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0165] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CLUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0166] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0167] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
Claims
1. A position correction method of a robot, characterized by, The robot works on the surface of a cotton object or a silk object and / or is covered by the cotton object or the silk object, and the method comprises: acquiring first point cloud data of an environment within a target range of the robot by radar, the environment within the target range comprising an environment in front of the robot in a current detection range of the radar; in a case where a boundary line of a target object is determined to exist in the surrounding environment within the target range of the robot according to the first point cloud data, controlling the robot to move on the target object towards any boundary line of the target object, if a distance between the robot and the boundary line of the target object is less than a first threshold value and the robot is located in an edge region of the target object, controlling the robot to move on the target object towards other boundary lines of the target object, and in a case where the distance between the robot and the boundary line of the target object is less than the first threshold value and the robot is not located in the edge region of the target object, determining the boundary line of the target object as a reference line; acquiring a first actual distance of the robot from the reference line in a target direction and a first heading angle of the robot relative to the reference line, the reference line being one boundary line of the target object, the target direction being a perpendicular direction of the reference line, the first heading angle being an included angle between a moving direction of the robot and the reference line, and the target object being an object related to a task performed by the robot; controlling the robot to move according to an expected distance of the robot from the reference line in the target direction, the first actual distance and the first heading angle, so that a second actual distance of the robot from the reference line in the target direction after movement is the expected distance.
2. The method of claim 1, wherein, The controlling the robot to move according to the expected distance of the robot from the reference line in the target direction, the first actual distance and the first heading angle, so that the second actual distance of the robot from the reference line in the target direction after movement is the expected distance, comprises: calculating a first error distance of the robot in the target direction according to the expected distance and the first actual distance, and controlling the robot to rotate according to the first heading angle, so that a first moving direction of the robot after rotation is perpendicular to the reference line; controlling the robot to move along the first moving direction according to the first error distance, so that the second actual distance of the robot from the reference line in the target direction after movement is the expected distance.
3. The method according to claim 1 or 2, characterized in that, The method further comprises: detecting whether the robot is located in an edge region of the target object during movement of the robot towards the boundary line of the target object, wherein a probability of the robot falling from the edge region of the target object is greater than a probability of the robot falling from a non-edge region of the target object.
4. The method of claim 3, wherein, The determining the boundary line of the target object to exist in the surrounding environment within the target range of the robot according to the first point cloud data comprises: acquire at least one second point cloud data pre-stored, and acquire a similarity between the first point cloud data and each of the at least one second point cloud data, if there is a target point cloud data in the at least one second point cloud data, and a similarity between the target point cloud data and the first point cloud data is greater than or equal to a preset similarity threshold, it is determined that a boundary line of the target object exists in the surrounding environment within the target range of the robot; or, perform a fitting operation on the first point cloud data, if a fitting result of the first point cloud data is a linear function and a fitting error of the linear function is less than a preset error threshold, it is determined that a boundary line of the target object exists in the surrounding environment within the target range of the robot.
5. The method of claim 3, wherein, Before the acquiring the first actual distance of the robot from the reference line in the target direction and the first heading angle of the robot relative to the reference line, the method further comprises: controlling the robot to move along the reference line, and when the robot moves to an edge region of the target object, controlling the robot to pause moving; taking a current position point of the robot as a reference point, the reference point being a starting point when the robot performs the task; the acquiring the first actual distance of the robot from the reference line in the target direction and the first heading angle of the robot relative to the reference line comprises: acquiring the first actual distance of the robot from the reference line in the target direction and the first heading angle of the robot relative to the reference line in a process in which the robot performs the task.
6. The method of claim 5, wherein, A moving path of the robot in the process of performing the task is a bow-shaped moving path, the bow-shaped moving path comprising a second moving direction and a third moving direction, the second moving direction being parallel to the reference line, and the third moving direction being perpendicular to the reference line.
7. The method of claim 3, wherein, Before the controlling the robot to move to the boundary line of the target object, the method further comprises: acquiring at least one first distance between the robot and a detected object below the robot by a radar, and selecting a maximum distance from the at least one first distance as a target distance; the detecting whether the robot is located in the edge region of the target object in the process in which the robot moves to the boundary line of the target object comprises: acquiring a second distance between the robot and the detected object below the robot by the radar in the process in which the robot moves to the boundary line of the target object; in a case where it is determined according to the target distance and the second distance that a first condition is met, it is determined that the robot is located in the edge region of the target object, the first condition indicating that a difference between the second distance and the target distance is greater than or equal to a second threshold.
8. The method of claim 7, wherein, The method further comprises: acquiring a third distance between the robot and the detected object below the robot by the radar in the process in which the robot performs the task; in a case where it is determined according to the target distance and the third distance that the first condition is met, it is determined that the robot is located in the edge region of the target object, and the robot is controlled to change a moving direction.
9. A position correction device, characterized by The device is applied to a robot, and the device works on a surface of a cotton object or a silk object and / or is covered by the cotton object or the silk object, and the device comprises: an acquisition module, configured to acquire a first actual distance of the robot from a reference line in a target direction and a first heading angle of the robot relative to the reference line, the reference line being a boundary line of a target object, the target direction being a vertical direction of the reference line, and the first heading angle being an included angle between a moving direction of the robot and the reference line, the target object being an object related to a task performed by the robot; a control module, configured to control the robot to move according to an expected distance of the robot from the reference line in the target direction, the first actual distance and the first heading angle, so that a second actual distance of the robot from the reference line in the target direction after the movement is the expected distance; a collection module, configured to collect first point cloud data of an environment within a target range of the robot by a radar, the environment within the target range including an environment in front of the robot in a current detection range of the radar; the control module is further configured to control the robot to move on the target object to any boundary line of the target object in a case where it is determined according to the first point cloud data that the boundary line of the target object exists in a surrounding environment within the target range of the robot; the control module is further configured to control the robot to move on the target object to other boundary lines of the target object in a case where a distance between the robot and the boundary line of the target object is less than a first threshold value and the robot is located in an edge region of the target object; a determination module, configured to determine the boundary line of the target object as the reference line in a case where the distance between the robot and the boundary line of the target object is less than the first threshold value and the robot is not located in the edge region of the target object.
10. The apparatus of claim 9, wherein, the control module comprises a calculation submodule and a control submodule; wherein the calculation submodule is configured to calculate a first error distance of the robot in the target direction according to the expected distance and the first actual distance, and control the robot to rotate according to the first heading angle, so that a first moving direction of the robot after the rotation is perpendicular to the reference line; the control submodule is configured to control the robot to move along the first moving direction according to the first error distance, so that a second actual distance of the robot from the reference line in the target direction after the movement is the expected distance.
11. The apparatus of claim 9 or 10, wherein, the device further comprises: the control module is further configured to detect whether the robot is located in the edge region of the target object in a process in which the robot moves to the boundary line of the target object, and a probability of the robot falling from the edge region of the target object is greater than a probability of the robot falling from a non-edge region of the target object.
12. The device of claim 11, wherein The determining module is specifically configured to acquire at least one second point cloud data stored in advance, and acquire a similarity between the first point cloud data and each of the at least one second point cloud data; if there is target point cloud data in the at least one second point cloud data, and the similarity between the target point cloud data and the first point cloud data is greater than or equal to a preset similarity threshold, it is determined that the boundary line of the target object exists in the surrounding environment within the target range of the robot. The determining module is specifically configured to perform a fitting operation on the first point cloud data; if a fitting result of the first point cloud data is a linear function and a fitting error of the linear function is less than a preset error threshold, it is determined that the boundary line of the target object exists in the surrounding environment within the target range of the robot.
13. The apparatus of claim 11, wherein, The control module is further configured to control the robot to move along the reference line, and control the robot to pause moving when the robot moves to an edge region of the target object. The determining module is further configured to take a current position point of the robot as a reference point, and the reference point is a starting point when the robot performs a task. The acquiring module is specifically configured to acquire a first actual distance between the robot and a reference line in a target direction and a first heading angle of the robot relative to the reference line during performance of the task by the robot.
14. The apparatus of claim 13, wherein, A moving path of the robot during performance of the task is a bow shape, and the moving path of the bow shape includes a second moving direction and a third moving direction, the second moving direction is parallel to the reference line, and the third moving direction is perpendicular to the reference line.
15. The apparatus of claim 11, wherein, The acquiring module is further configured to acquire at least one first distance between the robot and a detected object below the robot by a radar, and select a maximum distance from the at least one first distance as a target distance. The control module is specifically configured to acquire a second distance between the robot and the detected object below the robot by the radar during movement of the robot to the boundary line of the target object, and determine that the robot is located in an edge region of the target object in a case where it is determined according to the target distance and the second distance that a first condition is met, the first condition indicating that a difference between the second distance and the target distance is greater than or equal to a second threshold.
16. The apparatus of claim 15, wherein, The acquiring module is further configured to acquire a third distance between the robot and the detected object below the robot by the radar during performance of the task by the robot. The determining module is further configured to determine that the robot is located in the edge region of the target object in a case where it is determined according to the target distance and the third distance that the first condition is met, and control the robot to change a moving direction.
17. An electronic device, comprising: A computer program product comprising a computer readable medium having stored thereon instructions that, when executed by a computer, cause the computer to perform the steps of the method of any one of claims 1 to 8.
18. A computer-readable storage medium, characterized in that, A computer program, which when run on a computer causes the computer to perform the steps of the method of position correction of a robot as claimed in any one of claims 1 to 8.
19. A circuit system, characterized by The circuitry comprises processing circuitry configured to perform the steps of the method of position correction of a robot as claimed in any one of claims 1 to 8.
Citation Information
Patent Citations
Proximity sensing on mobile robots
CN104245244A
Self-propelled electronic device and method for travel of self-propelled electronic device
CN108604097A
Anti-falling method applied to mobile robot
CN109186463A
Autonomous moving device
JP2009265941A
Robot vacuum with boundary cones
US20050273967A1
Cited By
Position correction method for robot, and related device
WO2022143465A1