Robot control method and device, robot, and computer-readable storage medium
By using its own positioning signals to navigate and determine supplementary work areas when RTK positioning fails, the problem of missed work by lawnmower robots is solved, improving work efficiency and continuity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SUZHOU SHIRUIZHUO TECHNOLOGY CO LTD
- Filing Date
- 2026-01-04
- Publication Date
- 2026-06-26
AI Technical Summary
When RTK positioning fails, lawnmower robots are prone to missing mowing spots, affecting the overall effectiveness of the operation.
When RTK positioning fails, the robot navigates based on its own positioning signal. By calculating the positional difference between its own positioning signal and the position when RTK positioning is restored, it determines the supplementary work area and performs supplementary work to reduce missed work.
By supplementing the determination and execution of the work area, the number of missed tasks during RTK positioning failures was reduced, thereby improving the robot's work efficiency and continuity.
Smart Images

Figure CN122284589A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotics technology, and in particular relates to a robot control method, device, robot, and computer-readable storage medium. Background Technology
[0002] With the development of intelligent control technology, the application fields of robots are becoming increasingly widespread. Taking service robots as an example, their scope covers various scenarios such as homes, businesses, and industries, including domestic service robots, medical service robots, and public service robots. Among them, lawnmower robots are a typical example of service robots, capable of automatically performing lawnmowing tasks within their work area, greatly saving manpower.
[0003] Currently, lawnmower robots typically utilize Real-Time Kinematic (RTK) positioning technology during operation. RTK positioning employs a dual-machine collaborative positioning mode using a base station and a rover. The base station is installed at a known fixed location, while the rover is a positioning module deployed on the lawnmower robot. During RTK positioning, both the base station and the rover simultaneously receive satellite signals. The base station calculates an error correction based on the satellite signals and sends it to the rover. The rover then performs differential correction on its own acquired satellite signals based on the error correction sent by the base station, calculates its relative position to the base station, and finally calculates the robot's absolute latitude and longitude coordinates based on the known coordinates of the base station.
[0004] However, when RTK positioning fails, the lawnmower robot is prone to missing tasks due to inaccurate positioning, which affects the operation results. Summary of the Invention
[0005] This application provides a robot control method, device, robot, and computer-readable storage medium, which can effectively reduce missed tasks by lawnmower robots in the event of RTK positioning failure, thereby improving work efficiency.
[0006] In a first aspect, embodiments of this application provide a robot control method, including: During robot operation, navigation control of the robot is performed based on the robot's satellite positioning signals; When the satellite positioning signal disappears, the robot is controlled for navigation based on its own positioning signal; After the satellite positioning signal is restored, the distance difference between the first position and the second position is calculated; wherein, the first position is the satellite positioning position of the robot after the satellite positioning signal is restored; and the second position is the latest position of the robot determined based on its own positioning signal before the satellite positioning signal is restored. If the distance difference is greater than a first preset threshold, the robot's working area during the process of the satellite positioning signal disappearing and then recovering is obtained as a supplementary working area, so as to instruct the robot to perform supplementary work according to the supplementary working area.
[0007] In this embodiment, when RTK positioning fails, the robot navigates based on its own positioning signal. If the position it navigates to is significantly different from the position when RTK positioning is restored, a supplementary work area is determined so that the robot can perform supplementary work based on the supplementary work area. This reduces the number of missed tasks during RTK positioning failure and helps improve the robot's work efficiency.
[0008] Optionally, the first preset threshold is determined based on the row spacing or column spacing in the robot's movement trajectory.
[0009] In one possible implementation of the first aspect, acquiring the robot's operating area as a supplementary operating area during the process of the satellite positioning signal disappearing and then recovering includes: Calculate the angular change between the robot's posture at the first position and its posture at the third position; wherein the third position is the robot's latest position before the satellite positioning signal disappeared; If the angle change is greater than the second preset threshold, then a triangular region is determined based on the first position, the second position, and the third position. The supplementary work area is determined based on the triangular region.
[0010] In one possible implementation of the first aspect, after calculating the angular change between the robot's pose at the first position and its pose at the third position, the method further includes: If the angle change is less than the second preset threshold, then the first intersection point of the line starting from the third position and extending along the target direction with the boundary of the work map is determined; wherein, the target direction is the direction of travel of the robot at the third position; Determine the second intersection point between the line starting from the first position and extending in the target direction and the boundary of the operation map; The quadrilateral region is determined based on the first position, the third position, the first intersection point, and the fourth intersection point. The supplementary work area is determined based on the quadrilateral region.
[0011] The above implementation method determines the supplementary work area based on the attitude changes at the location before and after the satellite signal disappears, which is equivalent to considering the calculation method for supplementary work areas under different conditions of same-direction and opposite-direction. This method can more accurately identify areas that have missed work, reduce the number of missed detections in unworked areas, and improve work efficiency.
[0012] In one possible implementation of the first aspect, the navigation control based on the robot's own positioning signal includes: Obtain a third location; wherein, the third location is the robot's latest location before the satellite positioning signal disappeared; Starting from the third position, the real-time navigation position is calculated based on the robot's own positioning signal; The robot's movement is controlled based on the real-time navigation position.
[0013] In the above implementation method, using the latest position before the satellite positioning signal disappeared as the starting point for trajectory extrapolation is equivalent to determining a relatively accurate starting position, which helps to improve the accuracy of trajectory extrapolation. In addition, in the event of the disappearance of the satellite positioning signal, using the self-positioning signal for trajectory extrapolation can reduce the occurrence of operational interruptions and improve the continuity of operations.
[0014] In one possible implementation of the first aspect, the self-localization signal includes a visual localization signal and a non-visual localization signal; The step of calculating the real-time navigation position based on the robot's own positioning signal, starting from the third position, includes: If the accuracy of the visual positioning signal is higher than the preset accuracy, then the real-time navigation position is calculated based on the visual positioning signal, starting from the third position. If the accuracy of the visual positioning signal is lower than the preset accuracy, then the real-time navigation position is calculated based on the non-visual positioning signal, starting from the third position.
[0015] In the above implementation, when the accuracy of the visual positioning signal meets the standard, using visual positioning to calculate the navigation position can leverage the perception of environmental features by vision to achieve more accurate path planning and avoid repetitive work or boundary violations. When the accuracy of visual positioning is insufficient, switching to non-visual positioning will not cause the system to "stop working" due to the failure of a certain visual positioning method, and it can continue to complete the task, which helps to improve the stability of the system positioning.
[0016] In one possible implementation of the first aspect, the method further includes: controlling the robot to perform supplementary work according to the supplementary work area.
[0017] In one possible implementation of the first aspect, controlling the robot to perform supplementary tasks according to the supplementary task area includes: If the number of supplementary work areas in the robot's work map is greater than 1, then the shortest path is planned based on the robot's current position and the position of each supplementary work area. The robot's work sequence for multiple supplementary work areas is determined based on the shortest path; The robot is controlled to perform tasks sequentially in multiple supplementary work areas according to the work sequence.
[0018] In the above embodiments, the shortest path is planned based on the robot's current position and the position of each supplementary work area. This is equivalent to considering the shortest path for supplementary work from the perspective of the entire work map, so that the robot's movement path is minimized in the overall process of supplementary work, which helps to improve the robot's work efficiency.
[0019] In one possible implementation of the first aspect, the method further includes: The acquired satellite positioning signal is input into a preset detection model, and the detection result is output; wherein, the preset detection model is used to detect the positioning accuracy corresponding to the satellite positioning signal based on the signal characteristics of the satellite positioning signal; If the detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, then it is determined that the satellite positioning signal has disappeared.
[0020] In the above embodiments, the accuracy of the satellite positioning signal is detected through a preset detection model. When the accuracy of the satellite positioning signal is low, the system switches to its own positioning mode. This reduces positioning errors caused by low satellite positioning signal accuracy, thereby improving positioning accuracy.
[0021] Secondly, embodiments of this application provide a robot control device, including: The first control unit is used to perform navigation control on the robot based on the robot's satellite positioning signal during robot operation; The second control unit is used to perform navigation control on the robot based on the robot's own positioning signal when the satellite positioning signal disappears. A distance calculation unit is used to calculate the distance difference between a first position and a second position after the satellite positioning signal is restored; wherein, the first position is the satellite positioning position of the robot after the satellite positioning signal is restored; and the second position is the latest position of the robot determined based on its own positioning signal before the satellite positioning signal is restored. The supplementary operation unit is used to, if the distance difference is greater than a first preset threshold, acquire the robot's operation area during the process of the satellite positioning signal disappearing and then recovering, as a supplementary operation area, so as to instruct the robot to perform supplementary operations according to the supplementary operation area.
[0022] In one possible implementation of the second aspect, the supplementary work unit is further configured to: Calculate the angular change between the robot's posture at the first position and its posture at the third position; wherein the third position is the robot's latest position before the satellite positioning signal disappeared; If the angle change is less than the second preset threshold, then a triangular region is determined based on the first position, the second position, and the third position. The supplementary work area is determined based on the triangular region.
[0023] In one possible implementation of the second aspect, the supplementary work unit is further configured to: After calculating the angular change between the robot's posture at the first position and its posture at the third position, if the angular change is greater than the second preset threshold, then the first intersection point of the line starting from the third position and extending along the target direction with the boundary of the work map is determined; wherein, the target direction is the robot's direction of travel at the third position; Determine the second intersection point between the line starting from the first position and extending in the target direction and the boundary of the operation map; The quadrilateral region is determined based on the first position, the third position, the first intersection point, and the fourth intersection point. The supplementary work area is determined based on the quadrilateral region.
[0024] In one possible implementation of the second aspect, the second control unit is further configured to: Obtain a third location; wherein, the third location is the robot's latest location before the satellite positioning signal disappeared; Starting from the third position, the real-time navigation position is calculated based on the robot's own positioning signal; The robot's movement is controlled based on the real-time navigation position.
[0025] In one possible implementation of the second aspect, the self-localization signal includes a visual localization signal and a non-visual localization signal; The second control unit is also used for: If the accuracy of the visual positioning signal is higher than the preset accuracy, then the real-time navigation position is calculated based on the visual positioning signal, starting from the third position. If the accuracy of the visual positioning signal is lower than the preset accuracy, then the real-time navigation position is calculated based on the non-visual positioning signal, starting from the third position.
[0026] In one possible implementation of the second aspect, the supplementary work unit is further configured to: The robot is controlled to perform supplementary tasks according to the supplementary work area.
[0027] In one possible implementation of the second aspect, the supplementary work unit is further configured to: if the number of supplementary work areas in the robot's work map is greater than 1, then plan the shortest path based on the robot's current position and the position of each supplementary work area; The robot's work sequence for multiple supplementary work areas is determined based on the shortest path; The robot is controlled to perform tasks sequentially in multiple supplementary work areas according to the work sequence.
[0028] In one possible implementation of the second aspect, the second control unit is further configured to: The acquired satellite positioning signal is input into a preset detection model, and the detection result is output; wherein, the preset detection model is used to detect the positioning accuracy corresponding to the satellite positioning signal based on the signal characteristics of the satellite positioning signal; If the detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, then it is determined that the satellite positioning signal has disappeared.
[0029] In one possible implementation of the second aspect, the first preset threshold is determined based on the row spacing or column spacing in the robot's movement trajectory.
[0030] Thirdly, embodiments of this application provide a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the robot control method as described in any one of the first aspects above.
[0031] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the robot control method as described in any one of the first aspects above.
[0032] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute the robot control method described in any one of the first aspects.
[0033] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0034] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0035] Figure 1 This is a flowchart illustrating the robot control method provided in an embodiment of this application; Figure 2 This is a schematic diagram of the movement trajectory provided in the embodiments of this application; Figure 3 This is a schematic diagram illustrating the method for determining the supplementary work area provided in an embodiment of this application; Figure 4 This is a schematic diagram of the supplementary working area provided in the embodiments of this application; Figure 5 This is a schematic diagram of the supplementary working area provided in the embodiments of this application; Figure 6 This is a schematic diagram of the overall process for determining the supplementary work area provided in the embodiments of this application; Figure 7 This is a structural block diagram of the robot control device provided in the embodiments of this application; Figure 8 This is a schematic diagram of the robot provided in the embodiments of this application. Detailed Implementation
[0036] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0037] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0038] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0039] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0040] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0041] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized.
[0042] With the development of intelligent control technology, the application fields of robots are becoming increasingly widespread. Taking service robots as an example, their scope covers various scenarios such as homes, businesses, and industries, including domestic service robots, medical service robots, and public service robots. Among them, lawnmower robots are a typical example of service robots, capable of automatically performing lawnmowing tasks within their work area, greatly saving manpower.
[0043] Currently, lawnmower robots typically utilize Real-Time Kinematic (RTK) positioning technology during operation. RTK positioning employs a dual-machine collaborative positioning mode using a base station and a rover. The base station is installed at a known fixed location, while the rover is a positioning module deployed on the lawnmower robot. During RTK positioning, both the base station and the rover simultaneously receive satellite signals. The base station calculates an error correction based on the satellite signals and sends it to the rover. The rover then performs differential correction on its own acquired satellite signals based on the error correction sent by the base station, calculates its relative position to the base station, and finally calculates the robot's absolute latitude and longitude coordinates based on the known coordinates of the base station.
[0044] However, when RTK positioning fails, the lawnmower robot is prone to missing tasks due to inaccurate positioning, which affects the operation results.
[0045] Based on this, this application provides a robot control method. In this application embodiment, when RTK positioning fails, the robot navigates based on its own positioning signal; if the position of its own navigation differs significantly from the position when RTK positioning is restored, a supplementary work area is determined so that the robot can perform supplementary work based on the supplementary work area, thereby reducing the situation of missed work during RTK positioning failure and improving the robot's work efficiency.
[0046] See Figure 1 This is a flowchart illustrating the robot control method provided in an embodiment of this application. It is intended as an example and not a limitation. The method may include the following steps: S101, during robot operation, uses the robot's satellite positioning signal for navigation control.
[0047] In this embodiment, navigation control of the robot based on satellite positioning signals refers to navigation control based on RTK signals. The RTK positioning process can be found in the background section above and will not be repeated here.
[0048] S102, when the satellite positioning signal disappears, the robot is controlled for navigation based on its own positioning signal.
[0049] In one embodiment, if no satellite positioning signal is received, it is determined that the satellite positioning signal has disappeared. Alternatively, if no satellite positioning signal is received within a certain period of time, it is determined that the satellite positioning signal has disappeared.
[0050] In another embodiment, determining whether a satellite positioning signal is a message includes: The acquired satellite positioning signal is input into a preset detection model, and the detection result is output; wherein, the preset detection model is used to detect the positioning accuracy corresponding to the satellite positioning signal based on the signal characteristics of the satellite positioning signal; If the detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, then the satellite positioning signal is determined to have disappeared.
[0051] In one implementation, the process of training a pre-defined detection model may include: acquiring a test dataset; training an initial pre-defined detection model based on the test dataset to obtain a trained pre-defined detection model. The test dataset includes test data collected in various scenarios, such as test data collected during robot operations in open work areas, partially occluded areas, and fully occluded areas. The test data includes satellite positioning signals from the RTK localization process.
[0052] Optionally, the loss function used to train the preset detection model can be set according to the signal characteristics. For example, the signal characteristics may include at least one of the following: number of satellites, differential age, and standard deviation.
[0053] It is understandable that if no satellite positioning signal is received, and / or if a satellite positioning signal is received but the accuracy of the received satellite positioning signal is low, it is determined that the satellite positioning signal has disappeared.
[0054] In the above embodiments, the accuracy of the satellite positioning signal is detected through a preset detection model. When the accuracy of the satellite positioning signal is low, the system switches to its own positioning mode. This reduces positioning errors caused by low satellite positioning signal accuracy, thereby improving positioning accuracy.
[0055] In one embodiment, S102 may include: Obtain the third position; where the third position is the robot's latest position before the satellite positioning signal disappeared; Starting from the third position, the real-time navigation position is calculated based on the robot's own positioning signal; The robot's movement is controlled based on its real-time navigation position.
[0056] In the above implementation method, using the latest position before the satellite positioning signal disappeared as the starting point for trajectory extrapolation is equivalent to determining a relatively accurate starting position, which helps to improve the accuracy of trajectory extrapolation. In addition, in the event of the disappearance of the satellite positioning signal, using the self-positioning signal for trajectory extrapolation can reduce the occurrence of operational interruptions and improve the continuity of operations.
[0057] Optionally, the self-localization signal may include non-visual localization signals. Accordingly, in one implementation, calculating the real-time navigation position based on the robot's self-localization signal includes: calculating the real-time navigation position based on the non-visual localization signal.
[0058] Among them, the non-visual positioning signal can be the Inertial Measurement Unit (IMU) signal and / or the chassis wheel speed.
[0059] For example, when the self-positioning signal includes IMU signals and chassis wheel speed, the steps of calculating the real-time navigation position based on the self-positioning signal may include: calculating the translation increment based on the chassis wheel speed; estimating the angular velocity based on the angular velocity in the IMU signal; and recursively calculating the position at the next moment based on the translation increment, the estimated angular velocity, and the third position.
[0060] Optionally, the self-localization signal may include a visual localization signal. This visual localization signal may include acquired images or visual-inertial odometry (VIO) signals. VIO is an autonomous localization technology that fuses visual sensors (such as monocular or binocular cameras) with an IMU.
[0061] Taking VIO as an example, the steps for calculating the real-time navigation position based on VIO may include: performing feature point matching based on images of adjacent frames, calculating the reprojection error of the feature points based on the pixel displacement between the matched feature points; performing acceleration integration based on the angular velocity of the IMU signal, and calculating the pre-integration error; and calculating the robot's pose (position and attitude) based on the reprojection error and the pre-integration error.
[0062] Optionally, the position at the next moment can be estimated based on the visual positioning signal, and then the distance difference between the current position and the estimated position at the next moment can be calculated. If the distance difference is greater than a preset distance, the accuracy of the visual positioning signal is determined to be lower than the preset accuracy; if the distance difference is less than or equal to the preset distance, the accuracy of the visual positioning signal is determined to be higher than the preset accuracy. The preset distance can be determined based on the distance difference between any two adjacent moments in the robot's historical operations.
[0063] Optionally, the robot's self-localization signals include visual localization signals and non-visual localization signals. Correspondingly, in another implementation, the step of calculating the real-time navigation position based on the robot's self-localization signals may include: If the accuracy of the visual positioning signal is higher than the preset accuracy, the real-time navigation position is calculated based on the visual positioning signal, starting from the third position. If the accuracy of the visual positioning signal is lower than the preset accuracy, the real-time navigation position is calculated based on the non-visual positioning signal, starting from the third position.
[0064] In the above implementation, when the accuracy of the visual positioning signal meets the standard, using visual positioning to calculate the navigation position can leverage the perception of environmental features by vision to achieve more accurate path planning and avoid repetitive work or boundary violations. When the accuracy of visual positioning is insufficient, switching to non-visual positioning will not cause the system to "stop working" due to the failure of a certain visual positioning method, and it can continue to complete the task, which helps to improve the stability of the system positioning.
[0065] S103, after the satellite positioning signal is restored, calculate the distance difference between the first position and the second position.
[0066] The first position is the robot's satellite positioning position after the satellite positioning signal is restored; the second position is the robot's latest position determined based on its own positioning signal before the satellite positioning signal is restored.
[0067] It is understandable that, corresponding to the disappearance of the satellite positioning signal in S102, if a satellite positioning signal is received, or if the accuracy of the received satellite positioning signal meets the preset conditions, then it is determined that the satellite positioning signal has been restored.
[0068] S104, if the distance difference is greater than the first preset threshold, the robot's working area during the process of the satellite positioning signal disappearing and then recovering is obtained as a supplementary working area to instruct the robot to perform supplementary work based on the supplementary working area.
[0069] If the distance is less than or equal to the first preset threshold, it indicates that the accuracy of autonomous positioning is high, that is, the difference between the positioning position determined by its own positioning signal and the positioning position determined by the satellite positioning signal is small, and no supplementary operation is required.
[0070] In one implementation, the first preset threshold is determined based on the row spacing or column spacing in the robot's movement trajectory.
[0071] For example, see Figure 2 This is a schematic diagram of the movement trajectory provided in an embodiment of this application. Figure 2 As shown, the robot can move in a "bow" shape on the work map. In this case, the first preset threshold can be determined based on the row spacing of the "bow" shape (e.g., ...). Figure 2 (The distance corresponding to 21 in the middle) or column spacing (such as...) Figure 2 The distance corresponding to 22 in the middle is determined.
[0072] Figure 1 In this embodiment, when RTK positioning fails, the robot navigates based on its own positioning signal. If the position it navigates to is significantly different from the position when RTK positioning is restored, a supplementary work area is determined so that the robot can perform supplementary work based on the supplementary work area. This reduces the number of missed tasks during RTK positioning failure and helps improve the robot's work efficiency.
[0073] In one embodiment, see Figure 3 This is a schematic diagram illustrating the method for determining the supplementary work area provided in an embodiment of this application. For example... Figure 3 As shown, the method for determining the supplementary work area in S104 may include the following steps: S201, calculate the angular change between the robot's posture at the first position and its posture at the third position; where the third position is the robot's latest position before the satellite positioning signal disappeared.
[0074] In some cases, after a robot loses its satellite positioning signal in a certain direction of travel, it regains the satellite positioning signal in that direction of travel, such as... Figure 4As shown. In this case, the robot's direction of travel is the same or similar at the first and third positions, meaning the angular change between the first and third positions is small. In other cases, the robot receives satellite positioning signals in the direction of travel but only recovers them during the turnaround process, such as... Figure 5 As shown in the figure. In this case, the robot's travel directions at the first position and the third position are opposite or differ significantly, that is, the angular change between the first position and the third position is large.
[0075] If the angle change is less than the second preset threshold, then execute S202-S203; if the angle change is greater than or equal to the second preset threshold, then execute S204-S207.
[0076] S202, if the angle change is less than the second preset threshold, then the triangular region is determined based on the first position, the second position and the third position.
[0077] S203, determine the supplementary work area based on the triangular area.
[0078] For example, see Figure 4 This is a schematic diagram of the supplementary working area provided in the embodiments of this application. For example... Figure 4 As shown in the diagram, the robot moves along the direction of the dashed arrow in the work map. Position A is the robot's latest position before its satellite positioning signal disappeared; position B is the robot's satellite positioning position after the signal was restored; and position C is the robot's latest position determined based on its own positioning signal before the signal was restored. According to the direction of the dashed arrow, the robot's posture at position B is the same as its posture at position A (i.e., the direction of movement is the same), meaning the angle change is less than the second preset threshold. Therefore, a triangular region ABC is determined based on positions B, C, and A.
[0079] S204, if the angle change is greater than the second preset threshold, then determine the first intersection point of the line starting from the third position and extending along the target direction with the boundary of the work map; where the target direction is the direction of the robot's movement at the third position.
[0080] S205, determine the second intersection point of the route starting from the first position and extending in the target direction with the boundary of the work map.
[0081] The second intersection point can be the intersection point of a ray extending from the first position along the target direction and the boundary of the work map.
[0082] S206, determine the quadrilateral region based on the first position, the third position, the first intersection point, and the fourth intersection point.
[0083] S207, determine the supplementary work area based on the quadrilateral area.
[0084] For example, see Figure 5 This is a schematic diagram of the supplementary working area provided in the embodiments of this application. For example... Figure 5 As shown, in the work map, the robot moves along the direction of the dashed arrow. The third position A is the robot's latest position before its satellite positioning signal disappeared; the first position B is the robot's satellite positioning position after the signal was restored; and the second position C is the robot's latest position determined based on its own positioning signal before the signal was restored. According to the direction of the dashed arrow, the robot's posture at the first position B (i.e., along the direction of dashed line 52) is opposite to its posture at the third position A (i.e., along the direction of dashed line 51), meaning the angle change is greater than the second preset threshold. Therefore, the first intersection point E, starting from the third position A and extending along the target direction (the direction of dashed line 51) with the boundary of the work map, is determined; the second intersection point F, starting from the first position B and extending along the target direction (the direction of dashed line 51) with the boundary of the work map, is also determined. Based on the first position B, the third position A, the first intersection point E, and the second intersection point F, the quadrilateral region ABEF is determined.
[0085] Optionally, the supplementary work area can be rectangular or non-rectangular. If it is rectangular, a rectangle can be fitted based on the first position, the third position, the first intersection point, and the second intersection point, and this rectangle can be used as the supplementary work area. If it is non-rectangular, the area corresponding to the line connecting the four points of the first position, the third position, the first intersection point, and the second intersection point can be directly determined as the supplementary work area.
[0086] Figure 3 In this embodiment, the method for calculating the supplementary work area is determined based on the attitude changes at the location before and after the satellite signal disappears. This is equivalent to considering the calculation method for the supplementary work area under different conditions of same-direction and opposite-direction. This method can more accurately identify areas that have missed work, reduce the number of missed detections in unworked areas, and improve work efficiency.
[0087] For example, see Figure 6 This is a schematic diagram illustrating the overall process for determining a supplementary work area according to an embodiment of this application. As an example and not a limitation, the overall process for determining a supplementary work area may include the following steps: S301, during the determination of the i-th supplementary work area, the received RTK signal is subjected to quality detection to obtain the detection result.
[0088] In this context, RTK quality detection refers to the process described in embodiment S102, which involves determining whether the positioning accuracy of the satellite positioning signal meets preset conditions. This is achieved by using a trained preset detection model for RTK quality detection. Specific detection methods can be found in the description of embodiment S102, and will not be repeated here.
[0089] S302, determine whether the RTK signal has disappeared.
[0090] If the RTK signal does not disappear, execute S303; if the RTK signal disappears, execute S306.
[0091] Specifically, if the RTK quality detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, or if no RTK signal is received, then the RTK signal is determined to have disappeared. If an RTK signal is received, and / or the RTK quality detection result indicates that the positioning accuracy of the satellite positioning signal meets the preset conditions, then the RTK signal is determined to have not disappeared.
[0092] S303, if the RTK signal has not disappeared, determine whether there is a second position P_end_dr_i in the i-th supplementary work area, that is, the information of the second position is empty.
[0093] S304. If there is no second position for the i-th supplementary work area, update the third position P_strt_rtk_i of the i-th supplementary work area (i.e., the robot's latest position before the satellite positioning signal disappeared) based on the position calculated from the current RTK signal.
[0094] S305, if there is a second position of the i-th supplementary work area, then determine the first position P_end_rtk_i of the i-th supplementary work area (i.e., the satellite positioning position of the robot after the satellite positioning signal is recovered) based on the position calculated by the current RTK signal.
[0095] S306. If the RTK signal disappears, perform trajectory simulation.
[0096] The trajectory extrapolation process involves navigating and controlling the robot based on its own positioning signals. For details, please refer to the description in embodiment S102, which will not be repeated here.
[0097] S307, update the second position P_end_dr_i of the i-th supplementary work area based on the position deduced from the trajectory (i.e., the latest position of the robot determined by its own positioning signal before the satellite positioning signal is restored).
[0098] S308, when determining the first position of the i-th supplementary work area, determine whether the distance difference between the first position and the current second position is greater than the first preset threshold.
[0099] S309, if the distance difference between the first position P_end_rtk_i and the current second position P_end_dr_i is greater than the first preset threshold, then the i-th supplementary work area is determined based on the first position P_end_rtk_i, the current second position P_end_dr_i, and the current third position P_strt_rtk_i.
[0100] The method for determining supplementary work areas can be found in [reference needed]. Figure 3 The descriptions in the embodiments will not be repeated here.
[0101] Understandably, the process of determining each supplementary work area can be performed according to S301-S309. For example, during robot operation, if there is no supplementary work area at present, the first supplementary work area is determined according to S301-S309; if there are N supplementary work areas at present, the (N+1)th supplementary work area is determined according to S301-S309.
[0102] In one embodiment, the method further includes: The robot is controlled to perform supplementary tasks based on the supplementary work area.
[0103] In one implementation, the steps of controlling the robot to perform supplementary tasks based on the supplementary task area may include: If the number of supplementary work areas in the robot's work map is greater than 1, then the supplementary work area closest to the robot's current position is taken as the first supplementary work area; the supplementary work area closest to the first supplementary work area is taken as the second supplementary work area, and so on.
[0104] In another implementation, the method further includes: If the number of supplementary work areas in the robot's work map is greater than 1, then the shortest path is planned based on the robot's current position and the position of each supplementary work area. The robot's sequence of operations across multiple supplementary work areas is determined based on the shortest path. The robot is controlled to perform tasks in multiple supplementary work areas sequentially according to the work sequence.
[0105] Optionally, the robot can count the number of supplementary work areas identified during the traversal of the work map after each traversal.
[0106] In the above embodiments, the shortest path is planned based on the robot's current position and the position of each supplementary work area. This is equivalent to considering the shortest path for supplementary work from the perspective of the entire work map, so that the robot's movement path is minimized in the overall process of supplementary work, which helps to improve the robot's work efficiency.
[0107] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0108] Corresponding to the method described in the above embodiments, Figure 7 This is a structural block diagram of the robot control device provided in the embodiments of this application. For ease of explanation, only the parts related to the embodiments of this application are shown.
[0109] Reference Figure 7 The device 7 includes: The first control unit 71 is used to perform navigation control on the robot based on the robot's satellite positioning signal during robot operation.
[0110] The second control unit 72 is used to perform navigation control on the robot based on the robot's own positioning signal when the satellite positioning signal disappears.
[0111] The distance calculation unit 73 is used to calculate the distance difference between the first position and the second position after the satellite positioning signal is restored; wherein the first position is the satellite positioning position of the robot after the satellite positioning signal is restored; and the second position is the latest position of the robot determined based on its own positioning signal before the satellite positioning signal is restored.
[0112] The supplementary operation unit 74 is used to acquire the robot's operation area during the process of the satellite positioning signal disappearing and recovering if the distance difference is greater than a first preset threshold, and use it as a supplementary operation area to instruct the robot to perform supplementary operations according to the supplementary operation area.
[0113] Optionally, the first preset threshold is determined based on the row spacing or column spacing in the robot's movement trajectory.
[0114] Optionally, supplementary work unit 74 is also used for: Calculate the angular change between the robot's posture at the first position and its posture at the third position; wherein the third position is the robot's latest position before the satellite positioning signal disappeared; If the angle change is greater than the second preset threshold, then a triangular region is determined based on the first position, the second position, and the third position; and the supplementary work area is determined based on the triangular region.
[0115] If the angle change is less than the second preset threshold, then the first intersection point of the line starting from the third position and extending along the target direction with the boundary of the work map is determined; wherein, the target direction is the direction of travel of the robot at the third position; the second intersection point of the line starting from the first position and extending along the target direction with the boundary of the work map is determined; a quadrilateral region is determined based on the first position, the third position, the first intersection point and the fourth intersection point; the supplementary work area is determined based on the quadrilateral region.
[0116] Optionally, the second control unit 72 is also used for: Obtain a third location; wherein, the third location is the robot's latest location before the satellite positioning signal disappeared; Starting from the third position, the real-time navigation position is calculated based on the robot's own positioning signal; The robot's movement is controlled based on the real-time navigation position.
[0117] Optionally, the self-positioning signal includes visual positioning signals and non-visual positioning signals. Correspondingly, the second control unit 72 is further configured to: If the accuracy of the visual positioning signal is higher than the preset accuracy, then the real-time navigation position is calculated based on the visual positioning signal, starting from the third position. If the accuracy of the visual positioning signal is lower than the preset accuracy, then the real-time navigation position is calculated based on the non-visual positioning signal, starting from the third position.
[0118] Optionally, supplementary work unit 74 is also used for: The robot is controlled to perform supplementary tasks according to the supplementary work area.
[0119] Optionally, supplementary work unit 74 is also used for: If the number of supplementary work areas in the robot's work map is greater than 1, then the shortest path is planned based on the robot's current position and the position of each supplementary work area. The robot's work sequence for multiple supplementary work areas is determined based on the shortest path; The robot is controlled to perform tasks sequentially in multiple supplementary work areas according to the work sequence.
[0120] Optionally, the second control unit 72 is also used for: The acquired satellite positioning signal is input into a preset detection model, and the detection result is output; wherein, the preset detection model is used to detect the positioning accuracy corresponding to the satellite positioning signal based on the signal characteristics of the satellite positioning signal; If the detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, then it is determined that the satellite positioning signal has disappeared.
[0121] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0122] in addition, Figure 7 The device shown can be a software unit, hardware unit, or a combination of software and hardware built into an existing terminal device, or it can be integrated into the terminal device as an independent component, or it can exist as an independent terminal device.
[0123] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0124] Figure 8 This is a schematic diagram of the robot provided in an embodiment of this application. Figure 8 As shown, the robot 8 in this embodiment includes: at least one processor 80 ( Figure 8 (Only one is shown in the diagram) a processor, a memory 81, and a computer program 82 stored in the memory 81 and executable on the at least one processor 80, which, when executing the computer program 82, implements the steps in any of the robot control method embodiments described above.
[0125] The robot may include, but is not limited to, a processor and memory. Those skilled in the art will understand that... Figure 8 The example shown is merely of robot 8 and does not constitute a limitation on robot 8. It may include more or fewer parts than shown, or combine certain parts, or different parts, such as input / output devices, network access devices, etc.
[0126] The processor 80 can be a Central Processing Unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0127] In some embodiments, the memory 81 may be an internal storage unit of the robot 8, such as a hard disk or memory of the robot 8. In other embodiments, the memory 81 may be an external storage device of the robot 8, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the robot 8. Furthermore, the memory 81 may include both internal storage units and external storage devices of the robot 8. The memory 81 is used to store operating systems, applications, bootloaders, data, and other programs, such as the program code of computer programs. The memory 81 can also be used to temporarily store data that has been output or will be output.
[0128] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps in the above-described method embodiments.
[0129] This application provides a computer program product that, when run on a terminal device, enables the terminal device to implement the steps described in the various method embodiments.
[0130] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a device / terminal equipment, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.
[0131] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0132] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0133] In the embodiments provided in this application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0134] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.
[0135] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A robot control method, characterized in that, include: During robot operation, navigation control of the robot is performed based on the robot's satellite positioning signals; When the satellite positioning signal disappears, the robot is controlled for navigation based on its own positioning signal; After the satellite positioning signal is restored, the distance difference between the first position and the second position is calculated; wherein, the first position is the satellite positioning position of the robot after the satellite positioning signal is restored; and the second position is the latest position of the robot determined based on its own positioning signal before the satellite positioning signal is restored. If the distance difference is greater than the first preset threshold, the robot's working area during the process of the satellite positioning signal disappearing and then recovering is obtained as a supplementary working area.
2. The robot control method as described in claim 1, characterized in that, The acquisition of the robot's operating area during the process of the satellite positioning signal disappearing and then recovering, as a supplementary operating area, includes: Calculate the angular change between the robot's posture at the first position and its posture at the third position; wherein the third position is the robot's latest position before the satellite positioning signal disappeared; If the angle change is less than the second preset threshold, then a triangular region is determined based on the first position, the second position, and the third position. The supplementary work area is determined based on the triangular region.
3. The robot control method as described in claim 2, characterized in that, After calculating the angular change between the robot's pose at the first position and its pose at the third position, the method further includes: If the angle change is greater than the second preset threshold, then the first intersection point of the line starting from the third position and extending along the target direction with the boundary of the work map is determined; wherein, the target direction is the direction of travel of the robot at the third position; Determine the second intersection point between the line starting from the first position and extending in the target direction and the boundary of the operation map; The quadrilateral region is determined based on the first position, the third position, the first intersection point, and the fourth intersection point. The supplementary work area is determined based on the quadrilateral region.
4. The robot control method as described in claim 1, characterized in that, The navigation control based on the robot's own positioning signal includes: Obtain a third location; wherein, the third location is the robot's latest location before the satellite positioning signal disappeared; Starting from the third position, the real-time navigation position is calculated based on the robot's own positioning signal; The robot's movement is controlled based on the real-time navigation position.
5. The robot control method as described in claim 4, characterized in that, The self-positioning signal includes visual positioning signal and non-visual positioning signal; The step of calculating the real-time navigation position based on the robot's own positioning signal, starting from the third position, includes: If the accuracy of the visual positioning signal is higher than the preset accuracy, then the real-time navigation position is calculated based on the visual positioning signal, starting from the third position. If the accuracy of the visual positioning signal is lower than the preset accuracy, then the real-time navigation position is calculated based on the non-visual positioning signal, starting from the third position.
6. The robot control method as described in claim 1, characterized in that, The method further includes: The robot is controlled to perform supplementary tasks according to the supplementary work area.
7. The robot control method as described in claim 6, characterized in that, The step of controlling the robot to perform supplementary tasks according to the supplementary task area includes: If the number of supplementary work areas in the robot's work map is greater than 1, then the shortest path is planned based on the robot's current position and the position of each supplementary work area. The robot's work sequence for multiple supplementary work areas is determined based on the shortest path; The robot is controlled to perform tasks sequentially in multiple supplementary work areas according to the work sequence.
8. The robot control method as described in claim 1, characterized in that, The method further includes: The acquired satellite positioning signal is input into a preset detection model, and the detection result is output; wherein, the preset detection model is used to detect the positioning accuracy corresponding to the satellite positioning signal based on the signal characteristics of the satellite positioning signal; If the detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, then it is determined that the satellite positioning signal has disappeared.
9. The robot control method as described in claim 1, characterized in that, The first preset threshold is determined based on the row spacing or column spacing in the robot's movement trajectory.
10. A robot control device, characterized in that, include: The first control unit is used to perform navigation control on the robot based on the robot's satellite positioning signal during robot operation; The second control unit is used to perform navigation control on the robot based on the robot's own positioning signal when the satellite positioning signal disappears. A distance calculation unit is used to calculate the distance difference between a first position and a second position after the satellite positioning signal is restored; wherein, the first position is the satellite positioning position of the robot after the satellite positioning signal is restored; and the second position is the latest position of the robot determined based on its own positioning signal before the satellite positioning signal is restored. A supplementary operation unit is used to acquire the robot's operation area during the process of the satellite positioning signal disappearing and then recovering, if the distance difference is greater than a first preset threshold, as a supplementary operation area.
11. The robot control device as described in claim 10, characterized in that, The supplementary work unit is also used for: Calculate the angular change between the robot's posture at the first position and its posture at the third position; wherein the third position is the robot's latest position before the satellite positioning signal disappeared; If the angle change is less than the second preset threshold, then a triangular region is determined based on the first position, the second position, and the third position. The supplementary work area is determined based on the triangular region.
12. The robot control device as described in claim 11, characterized in that, The supplementary work unit is also used for: After calculating the angular change between the robot's posture at the first position and its posture at the third position, if the angular change is greater than the second preset threshold, then the first intersection point of the line starting from the third position and extending along the target direction with the boundary of the work map is determined; wherein, the target direction is the robot's direction of travel at the third position; Determine the second intersection point between the line starting from the first position and extending in the target direction and the boundary of the operation map; The quadrilateral region is determined based on the first position, the third position, the first intersection point, and the fourth intersection point. The supplementary work area is determined based on the quadrilateral region.
13. The robot control device as described in claim 10, characterized in that, The second control unit is also used for: Obtain a third location; wherein, the third location is the robot's latest location before the satellite positioning signal disappeared; Starting from the third position, the real-time navigation position is calculated based on the robot's own positioning signal; The robot's movement is controlled based on the real-time navigation position.
14. The robot control device as described in claim 13, characterized in that, The self-positioning signal includes visual positioning signal and non-visual positioning signal; The second control unit is also used for: If the accuracy of the visual positioning signal is higher than the preset accuracy, then the real-time navigation position is calculated based on the visual positioning signal, starting from the third position. If the accuracy of the visual positioning signal is lower than the preset accuracy, then the real-time navigation position is calculated based on the non-visual positioning signal, starting from the third position.
15. The robot control device as described in claim 10, characterized in that, The supplementary work unit is also used for: The robot is controlled to perform supplementary tasks according to the supplementary work area.
16. The robot control device as described in claim 15, characterized in that, The supplementary work unit is further configured to: if the number of supplementary work areas in the robot's work map is greater than 1, then plan the shortest path based on the robot's current position and the position of each supplementary work area; The robot's work sequence for multiple supplementary work areas is determined based on the shortest path; The robot is controlled to perform tasks sequentially in multiple supplementary work areas according to the work sequence.
17. The robot control device as described in claim 10, characterized in that, The second control unit is also used for: The acquired satellite positioning signal is input into a preset detection model, and the detection result is output; wherein, the preset detection model is used to detect the positioning accuracy corresponding to the satellite positioning signal based on the signal characteristics of the satellite positioning signal; If the detection result indicates that the positioning accuracy of the satellite positioning signal does not meet the preset conditions, then it is determined that the satellite positioning signal has disappeared.
18. The robot control device as described in claim 10, characterized in that, The first preset threshold is determined based on the row spacing or column spacing in the robot's movement trajectory.
19. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 9.
20. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 9.