Cooperative positioning method and device, electronic equipment and computer program product

By obtaining the position and distance in a multi-robot system, determining the position deviation and optimizing the position, the problem of poor positioning accuracy in a multi-robot system is solved, and positioning accuracy and stability are improved.

CN119756369AActive Publication Date: 2025-04-04UBTECH ROBOTICS CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411904187.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-04-04
Estimated Expiration
2044-12-20

AI Technical Summary

Technical Problem

In multi-robot systems, due to the accumulated error of each robot, the positioning accuracy is poor, which easily leads to task failure.

Method used

By obtaining the first position, the second position position and the first distance, the position deviation of the first electronic device is determined, and the first position position is optimized according to the position deviation to obtain the target position.

Benefits of technology

The positioning accuracy of each robot in a multi-robot system is improved, the possibility of task failure is reduced, and accurate positioning and positioning can be achieved without external equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119756369A_ABST
    Figure CN119756369A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of robots, and particularly relates to a cooperative positioning method and device, electronic equipment and a computer program product. In the method, a first electronic device can accurately determine a pose deviation corresponding to the first electronic device according to a first pose of the first electronic device in a local coordinate system, a second pose corresponding to a second electronic device and a first distance between the first electronic device and the second electronic device; therefore, the pose corresponding to the first electronic equipment can be optimized according to the pose deviation, and the target pose corresponding to the first electronic equipment is obtained. Namely, the first electronic equipment can accurately determine the pose of the first electronic equipment in the global coordinate system on the basis of not needing external equipment, and the positioning accuracy and stability of the first electronic equipment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of robotics technology, and in particular to collaborative positioning methods, devices, electronic devices and computer program products. Background Art

[0002] At present, multi-robot systems are widely used in many fields, such as services, exploration of dangerous environments, search and rescue at disaster sites, and formation flying. Multi-robot systems can complete tasks through the collaboration of multiple robots. Among them, when a multi-robot system completes a task through the collaboration of multiple robots, it is necessary to accurately determine the position and posture of each robot in the multi-robot system. With the development of simultaneous localization and mapping (SLAM) technology, a single robot can be positioned through multi-sensor fusion technology (such as visual inertial odometer and lidar odometer, etc.), and the positioning information can be transmitted to other robots through the networking between multiple robots, so as to realize the collaboration of multiple robots to complete the task. However, the positioning error of a single robot will increase with the accumulation of time. This problem is particularly serious in a multi-robot system. Due to the existence of the accumulated errors of each robot, the positioning accuracy of the robot is poor, which easily leads to the failure of the task of the multi-robot system. Summary of the invention

[0003] The embodiments of the present application provide a collaborative positioning method, device, electronic device and computer program product, which can improve the positioning accuracy of each robot in a multi-robot system and reduce the possibility of mission failure of the multi-robot system.

[0004] In a first aspect, an embodiment of the present application provides a collaborative positioning method, which is applied to a first electronic device, and the method includes:

[0005] Acquire a first posture, a second posture and a first distance; the first posture is the posture of the first electronic device in the local coordinate system of the first electronic device at a first moment; the second posture is the posture corresponding to the second electronic device at the first moment; the first distance is the distance between the first electronic device and the second electronic device at the first moment;

[0006] Determining a posture deviation corresponding to the first electronic device according to the first posture, the second posture and the first distance;

[0007] The first posture is optimized according to the posture deviation to obtain a target posture corresponding to the first electronic device.

[0008] In the collaborative positioning method provided above, the first electronic device can accurately determine the posture deviation corresponding to the first electronic device based on the first posture of the first electronic device in the local coordinate system, the second posture corresponding to the second electronic device, and the first distance between the first electronic device and the second electronic device, so that the posture corresponding to the first electronic device can be optimized according to the posture deviation to obtain the target posture corresponding to the first electronic device. That is, the first electronic device can accurately determine the posture of the first electronic device in the global coordinate system without the need for external equipment, which can improve the accuracy and stability of the positioning of the first electronic device.

[0009] In some embodiments, determining the posture deviation corresponding to the first electronic device according to the first posture, the second posture and the first distance includes:

[0010] Determining a first initial posture corresponding to the first electronic device according to the second posture and the first distance;

[0011] A posture deviation corresponding to the first electronic device is determined according to the first initial posture and the first posture.

[0012] In some other embodiments, the method further comprises:

[0013] Acquire a third posture, a fourth posture, a second distance, a first displacement, and a second displacement; the third posture is the posture of the first electronic device in the local coordinate system of the first electronic device at the second moment; the fourth posture is the posture corresponding to the second electronic device at the second moment; the second distance is the distance between the first electronic device and the second electronic device at the second moment; the first displacement is the displacement corresponding to the first electronic device at the first moment; the second displacement is the displacement corresponding to the first electronic device at the second moment; the second moment is earlier than the first moment;

[0014] The determining, according to the first posture, the second posture and the first distance, a posture deviation corresponding to the first electronic device includes:

[0015] A posture deviation corresponding to the first electronic device is determined according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement.

[0016] In one embodiment, determining the posture deviation corresponding to the first electronic device according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement includes:

[0017] Determine a first initial posture and a second initial posture corresponding to the first electronic device according to the second posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement;

[0018] A posture deviation corresponding to the first electronic device is determined according to the first initial posture, the second initial posture, the first posture, and the third posture.

[0019] Exemplarily, determining a first initial posture and a second initial posture corresponding to the first electronic device according to the second posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement includes:

[0020] By minimizing a first optimization goal, a first initial posture and a second initial posture corresponding to the first electronic device are obtained; the first optimization goal is:

[0021]

[0022] Wherein, m is the number of the second electronic devices, n is the number of moments at which the second posture or the fourth posture is acquired, is the first initial posture or the second initial posture corresponding to the first electronic device at time w, is the first displacement or the second displacement corresponding to the first electronic device at time w, p k (w) is the second posture or the fourth posture of the kth second electronic device at time w, is the first distance or the second distance between the first electronic device and the kth second electronic device at time w.

[0023] Exemplarily, determining the posture deviation corresponding to the first electronic device according to the first initial posture, the second initial posture, the first posture, and the third posture includes:

[0024] By minimizing the second optimization target, obtaining a posture deviation corresponding to the first electronic device; the posture deviation includes a rotation deviation and a translation deviation;

[0025] The second optimization objective is:

[0026]

[0027] Wherein, n is the number of moments at which the second posture or the fourth posture is obtained, is the rotation deviation, is the translation deviation, p (S-w)is the first posture or the third posture corresponding to the first electronic device at time w, is the first initial posture or the second initial posture corresponding to the first electronic device at time w.

[0028] Exemplarily, determining the posture deviation corresponding to the first electronic device according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement includes:

[0029] By minimizing the third optimization objective, obtaining a posture deviation corresponding to the first electronic device; the posture deviation includes a rotation deviation and a translation deviation;

[0030] The third optimization goal is:

[0031]

[0032] Wherein, m is the number of the second electronic devices, n is the number of moments at which the second posture or the fourth posture is acquired, is the rotation matrix, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first electronic device at time w, is the first displacement or the second displacement corresponding to the first electronic device at time w, p k (w) is the second posture or the fourth posture corresponding to the kth second electronic device at time w, is the first distance or the second distance between the first electronic device and the kth second electronic device at time w.

[0033] In some embodiments, the first electronic device includes a first ultra-wideband UWB module, and the second electronic device includes a second UWB module; and acquiring the first posture, the second posture, and the first distance includes:

[0034] Acquire, through the first UWB module, the second posture broadcasted by the second UWB module;

[0035] The first distance is acquired through the first UWB module.

[0036] In a second aspect, an embodiment of the present application provides a collaborative positioning device, applied to a first electronic device, the device comprising:

[0037] A data acquisition module, used to acquire a first posture, a second posture and a first distance; the first posture is the posture of the first electronic device in the local coordinate system of the first electronic device at a first moment; the second posture is the posture corresponding to the second electronic device at the first moment; the first distance is the distance between the first electronic device and the second electronic device at the first moment;

[0038] A posture deviation acquisition module, used to determine the posture deviation corresponding to the first electronic device according to the first posture, the second posture and the first distance;

[0039] The posture optimization module is used to optimize the first posture according to the posture deviation to obtain a target posture corresponding to the first electronic device.

[0040] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the electronic device implements the collaborative positioning method described in any one of the first aspects above.

[0041] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a computer, the computer executes the collaborative positioning method described in any one of the above-mentioned first aspects.

[0042] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed by an electronic device, the electronic device implements the collaborative positioning method described in any one of the above-mentioned first aspects.

[0043] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0045] Figure 1 This is a schematic diagram of the process of the collaborative positioning method provided in the embodiment of the present application. Figure 1 ;

[0046] Figure 2This is a schematic diagram of the process of the collaborative positioning method provided in the embodiment of the present application. Figure 2 ;

[0047] Figure 3 is a schematic diagram of the structure of a collaborative positioning device provided in an embodiment of the present application;

[0048] Figure 4 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0050] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0051] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0052] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0053] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0054] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0055] Multi-robot systems are widely used in many fields, such as service, exploration of hazardous environments, search and rescue at disaster sites, and formation flying. Multi-robot systems can complete tasks through the collaboration of multiple robots. Compared with a single robot completing various tasks, coordinating a group of autonomous robots to complete a common goal has many advantages, such as strong scalability, flexibility, and adaptability. Among them, when a multi-robot system completes a task through the collaboration of multiple robots, it is necessary to accurately know the position and posture of each robot in the multi-robot system.

[0056] Usually, in a multi-robot system, the general positioning method is to build a communication network. In this network, each robot knows its global position in the multi-robot system and broadcasts its corresponding global position to other robots. Among them, the robot generally determines the global position of the robot in the multi-robot system through an external positioning method, for example, the global positioning system (GPS) can be used to determine the global position of the robot in the multi-robot system. Although the external positioning method can have a high positioning accuracy in indoor environments, it requires the placement of bulky base stations on site in advance and some tedious and challenging deployment work. In addition, it relies on global positioning and known environments, which hinders the application of robots in GPS-restricted environments such as the wild, limits the flexibility of the multi-robot system in some scenarios (such as field search and cluster formation, etc.), and if the base station is interfered with or damaged, the entire multi-robot system may be abnormal.

[0057] With the development of SLAM technology, a single robot can be positioned through multi-sensor fusion technology (such as visual inertial odometer and laser radar odometer, etc.), and the positioning information can be transmitted to other robots through the networking between multiple robots, so as to realize the cooperation of multiple robots to complete the task. Although SLAM technology can be positioned without the support of external equipment, it can make full use of the positioning information of each robot to improve the positioning accuracy and robustness of the whole system. However, the positioning error of a single robot will increase with the accumulation of time. For example, in long-term movement, the coordinate system of the SLAM system will deviate from the initial coordinates and direction, resulting in the accumulation of posture errors. In a multi-robot system, this problem is particularly serious. For example, if two robots are allowed to move straight forward, under the premise that their respective SLAM systems do not interfere with each other, the robots may approach or move away from each other. That is, in a multi-robot system, due to the existence of the cumulative errors of each robot, when the robots are in a position that is out of reach of each other's field of vision, the risk of collision will increase, resulting in mission failure. Therefore, in the case of GPS limitation, how to improve the accuracy of robot positioning has become a problem to be solved in this field.

[0058] To solve the above problems, the embodiments of the present application provide a collaborative positioning method, device, electronic device and computer program product. In the method, the first electronic device can obtain a first pose, a second pose and a first distance; the first pose is the pose of the first electronic device in the local coordinate system of the first electronic device at the first moment; the second pose is the pose corresponding to the second electronic device at the first moment; the first distance is the distance between the first electronic device and the second electronic device at the first moment. Subsequently, the first electronic device can determine the pose deviation corresponding to the first electronic device according to the first pose, the second pose and the first distance, and can optimize the first pose according to the pose deviation to obtain the target pose corresponding to the first electronic device. That is, in the embodiment of the present application, the first electronic device can accurately determine the pose deviation corresponding to the first electronic device according to the first pose of the first electronic device in the local coordinate system, the second pose corresponding to other electronic devices, and the distance between the first electronic device and other electronic devices, so that the first pose corresponding to the first electronic device can be optimized according to the pose deviation to determine the target pose corresponding to the first electronic device, and the target pose corresponding to the first electronic device can be accurately determined without the need for external devices, which can improve the accuracy and stability of the positioning of the first electronic device, and has strong ease of use and practicality.

[0059] In the embodiment of the present application, the first electronic device and the second electronic device may be electronic devices in the same distributed system, for example, they may be electronic devices in a distributed system in which multiple electronic devices collaborate to perform tasks. Among them, both the first electronic device and the second electronic device may be electronic devices that can be positioned and moved, such as robots, unmanned vehicles, drones, or unmanned ships. The embodiment of the present application does not limit the specific type of electronic device. The following will be exemplified by taking the example that the first electronic device and the second electronic device are both robots in a multi-robot system.

[0060] The collaborative positioning method provided in the embodiment of the present application is described in detail below with reference to the accompanying drawings and specific application scenarios.

[0061] See also Figure 1 , Figure 1 The schematic diagram shows the process of the collaborative positioning method provided in the embodiment of the present application. Figure 1 This method can be applied to any robot in a multi-robot system (the first robot is used as an example for illustration below). Figure 1 As shown, the method may include:

[0062] S101. A first robot obtains a first posture, a second posture, and a first distance.

[0063] It should be noted that the first posture may be the posture of the first robot in the local coordinate system of the first robot at the first moment. The second posture may be the posture corresponding to the second robot at the first moment. The first distance may be the distance between the first robot and the second robot at the first moment. The first moment may be any moment. The second posture corresponding to the second robot may be the posture of the second robot in the local coordinate system of the second robot, or may be the posture of the second robot in the global coordinate system. Among them, the local coordinate system may refer to a coordinate system defined by each robot itself. The global coordinate system may refer to a coordinate system shared by all robots in a multi-robot system.

[0064] For example, for a second robot (e.g., second robot A), when the second robot A is not subjected to posture optimization, the second posture corresponding to the second robot A may be the posture of the second robot A in the local coordinate system of the second robot A. After the second robot A is subjected to posture optimization, the second posture corresponding to the second robot A may be the posture of the second robot A in the global coordinate system. Among them, posture optimization may refer to the process of optimizing the target posture corresponding to the robot by the collaborative positioning method adopted in the embodiment of the present application.

[0065] In some embodiments, each robot in the multi-robot system may have a stand-alone positioning function. For example, each robot in the multi-robot system may be positioned by visual SLAM, laser SLAM, or visual inertial odometry (VIO) to obtain the position and posture of the robot in the local coordinate system of the robot.

[0066] In other embodiments, each robot in the multi-robot system may have an ultrawide band (UWB) ranging function. For example, each robot may be provided with a UWB module, and each robot may obtain the distance between the robot and other robots within the range of the UWB signal through the UWB module. Among them, after each robot in the multi-robot system obtains the posture of the robot in the local coordinate system of the robot through visual SLAM, laser SLAM or VIO, the posture may be written into the UWB module of the robot, and the posture corresponding to the robot may be broadcasted outward through the UWB module, so that other robots may obtain the posture corresponding to the robot based on the information broadcast by the UWB module. UWB technology uses ultra-wideband signals to transmit data, and has the characteristics of high precision and strong anti-interference ability. The embodiment of the present application is based on the UWB module to obtain the distance between robots and the posture corresponding to other robots, and to determine the posture deviation based on the distance and posture obtained to optimize the posture of the robot. The interactive data is small, and lightweight data communication can be realized. The performance requirements for the first robot are lower, and the robot can achieve high-precision positioning indoors and in complex environments.

[0067] In the embodiment of the present application, the first robot can obtain the first pose of the first robot in the local coordinate system of the first robot through visual SLAM, laser SLAM or VIO. The second robot can also obtain the second pose of the second robot in the local coordinate system of the second robot through visual SLAM, laser SLAM or VIO, and can broadcast the second pose corresponding to the second robot to the outside through the UWB module. The first robot can obtain the second pose broadcasted by the UWB module of the second robot. In addition, the first robot can also measure the distance (i.e., the first distance) between the first robot and the second robot through the UWB module of the first robot.

[0068] It should be noted that the embodiment of the present application does not limit the manner in which the first robot measures the first distance between the first robot and the second robot through the UWB module, and the first distance between the first robot and the second robot can be measured according to the existing manner.

[0069] In one embodiment, each robot in the multi-robot system can obtain the distance between the robot and other robots and the corresponding postures of other robots at a preset frequency. That is, the first robot can obtain the distance between the first robot and other robots and the corresponding postures of other robots at a preset frequency. Among them, the preset frequencies corresponding to each robot can be the same or different, and can be determined specifically according to the actual scene. In addition, the preset frequencies corresponding to each robot can also be determined according to the actual scene, and the embodiment of the present application is not limited to this.

[0070] S102: The first robot determines a posture deviation corresponding to the first robot according to the first posture, the second posture and the first distance.

[0071] It should be understood that the pose deviation may include rotational deviation (Δyaw) and translational deviation (Δx, Δy, Δz).

[0072] The embodiment of the present application determines the posture deviation through the first posture, the second posture and the first distance, so as to optimize the corresponding posture of the robot based on the posture deviation, rather than directly optimizing the posture. This can reduce the impact of posture jumps on posture optimization and improve the accuracy and stability of posture optimization.

[0073] In some embodiments, when the number of second robots whose second postures can be obtained by the first robot is greater than or equal to a preset number (e.g., preset number A), that is, when the first robot can obtain enough first distances and second postures corresponding to the second robots, the first robot can directly determine the posture deviation corresponding to the first electronic device based on the first posture, the second posture and the first distance at the first moment. It should be understood that the preset number A can be specifically determined according to the actual scenario, and the embodiments of the present application are not limited to this.

[0074] Exemplarily, the first robot can determine the first initial posture corresponding to the first robot according to the second posture corresponding to each second robot at the first moment, and the first distance corresponding to the first robot and each second robot, that is, the posture of the first robot in the global coordinate system at the first moment can be estimated according to the second posture corresponding to each second robot at the first moment, and the first distance corresponding to the first robot and each second robot. Subsequently, the first robot can determine the posture deviation corresponding to the first robot according to the first initial posture and the first posture corresponding to the first robot at the first moment, so that the posture of the first robot in the global coordinate system at the first moment can be optimized according to the posture deviation. That is, the first initial posture corresponding to the first robot can be the estimated posture of the first robot in the global coordinate system at the first moment.

[0075] In one embodiment, the first robot may estimate the first initial position and posture corresponding to the first robot by a least squares optimization method. For example, the first initial position and posture corresponding to the first robot may be estimated by constructing a residual function using a nonlinear optimization library such as CERES or G2O.

[0076] In a possible implementation, the first robot may estimate a first initial posture corresponding to the first robot according to a first distance between the first robot and each second robot and a second posture corresponding to each second robot by minimizing the sum of squares of ranging errors.

[0077] Exemplarily, the first robot may obtain the first initial posture corresponding to the first robot by minimizing a certain optimization target (for example, which may be referred to as optimization target A). The optimization target A may be:

[0078]

[0079] Where m is the number of the second robot, is the first initial position of the first robot at the first moment, p k is the second posture corresponding to the kth second robot at the first moment, is the first distance between the first robot and the kth second robot at the first moment. It should be understood that the number m of the second robots at this time may refer to the number of second robots whose second postures can be acquired by the first robot.

[0080] For example, when minimizing the optimization target A, if the first robot is optimized for the first time, The initial value of is determined to be 0. If it is not the first time to optimize the posture of the first robot, that is, the posture of the first robot has been optimized before, in order to reduce the number of iterations and ensure the stability of the solution, the target posture obtained by the last posture optimization can be used as The initial value of .

[0081] In a possible implementation, after determining the first initial posture corresponding to the first robot, the first robot may determine the posture deviation corresponding to the first robot according to the first initial posture and the first posture. Exemplarily, the first robot may obtain the posture deviation corresponding to the first robot by minimizing a certain optimization target (for example, which may be referred to as optimization target B). The optimization target B may be:

[0082]

[0083] in, is the rotation deviation, is the translation deviation, p Sis the first position corresponding to the first robot at the first moment, is the first initial posture corresponding to the first robot at the first moment.

[0084] In other embodiments, when the number of robots is limited, for example, when the number of second robots whose second postures can be obtained by the first robot is less than a preset number (e.g., a preset number B), the posture deviation corresponding to the first robot can be determined based on an extended sliding window by utilizing the robot's historical data (e.g., the historical trajectory of the first robot, the historical distance between the first robot and the second robot, and the historical trajectory of the second robot), so as to solve the multiple solutions and no solutions in distributed positioning and meet the requirements of real-time and stability. That is, the limitation on the number of robots can be compensated by the relative movement of an extended sliding window, so that the effect of collaborative positioning can be achieved between the two robots. Among them, the preset number B can be specifically determined according to the actual scenario, and the embodiments of the present application are not limited to this.

[0085] That is to say, when the number of robots is limited, the first robot can determine the posture deviation corresponding to the first robot according to the posture corresponding to the first robot, the posture corresponding to the second robot, the distance between the first robot and the second robot, and the displacement corresponding to the first robot when there is relative motion. That is, the first moment can be the moment when there is relative motion between the first robot and the second robot. The second moment described later can also be the moment when there is relative motion between the first robot and the second robot.

[0086] In one embodiment, the first robot may also obtain a third posture, a fourth posture, a second distance, a first displacement, and a second displacement, and determine the posture deviation corresponding to the first robot according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement. The third posture may be the posture of the first robot in the local coordinate system of the first robot at the second moment. The fourth posture may be the posture corresponding to the second robot at the second moment. The second distance may be the distance between the first robot and the second robot at the second moment. The first displacement may be the displacement corresponding to the first robot at the first moment. The second displacement may be the displacement corresponding to the first electronic device at the second moment.

[0087] It should be noted that the second robot may include one or more. The second moment may be earlier than the first moment. The second moment may include one or more. The number of second moments may be determined according to the size of the sliding window. The size of the sliding window may be determined according to the actual scenario, and the embodiment of the present application does not limit this. For example, the size of the sliding window may be determined according to the actual scenario to be any value such as 5, 6 or 8.

[0088] It should be understood that at a certain moment, the displacement corresponding to the first robot may refer to the displacement of the first robot during the period from the last moment to the moment. For example, when the first moment is moment T5, the second moment includes moment T1, moment T2, moment T3 and moment T4, and moment T1 is earlier than moment T2, moment T2 is earlier than moment T3, moment T3 is earlier than moment T4, and moment T4 is earlier than moment T5, at the first moment (for example, moment T5), the displacement corresponding to the first robot may refer to the displacement of the first robot during the period from moment T4 to moment T5. At a second moment (for example, moment T3), the displacement corresponding to the first robot may refer to the displacement of the first robot during the period from moment T2 to moment T3.

[0089] As can be seen from the above, the first robot can obtain the distance between the first robot and other robots at a preset frequency, and obtain the corresponding postures of other robots. Assume that at time T1, the first robot can obtain the distance between the first robot and robot B (for example, distance B1), and the posture corresponding to robot B (for example, posture B1), and can obtain the distance between the first robot and robot C (for example, distance C1), and the posture corresponding to robot C (for example, posture C1), and can obtain the distance between the first robot and robot D (for example, distance D1), and the posture corresponding to robot D (for example, posture D1), and so on.

[0090] Subsequently, the first robot can determine whether there is relative motion between the first robot and robot B at time T1 based on the posture corresponding to the first robot and the posture B1 corresponding to robot B at time T1, as well as the posture corresponding to the first robot and the posture corresponding to robot B at a time before time T1. When it is determined that there is relative motion between the first robot and robot B at time T1, the first robot can synchronize the distance B1 and the posture B1 with the timestamps and write them into the sliding window corresponding to robot B in the first robot.

[0091] Similarly, the first robot can determine whether there is relative motion between the first robot and robot C at time T1. When it is determined that there is relative motion between the first robot and robot C at time T1, the first robot can synchronize the distance C1 and the posture C1 with the timestamp, and write them into the sliding window corresponding to robot C in the first robot. The first robot can determine whether there is relative motion between the first robot and robot D at time T1. When it is determined that there is relative motion between the first robot and robot D at time T1, the first robot can synchronize the distance D1 and the posture D1 with the timestamp, and write them into the sliding window corresponding to robot D in the first robot, and so on.

[0092] Assume that at time T2, the first robot can obtain the distance between the first robot and robot B (for example, distance B2), and the posture corresponding to robot B (for example, posture B2), and can obtain the distance between the first robot and robot C (for example, distance C2), and the posture corresponding to robot C (for example, posture C2), and can obtain the distance between the first robot and robot D (for example, distance D2), and the posture corresponding to robot D (for example, posture D2), and so on.

[0093] Subsequently, the first robot can respectively determine whether there is relative motion between the first robot and robot B, whether there is relative motion between the first robot and robot C, and whether there is relative motion between the first robot and robot D at time T2, etc. When it is determined that there is relative motion between the first robot and robot B, the first robot can synchronize the distance B2 and the posture B2 with the timestamp, and write them into the sliding window corresponding to robot B in the first robot. When it is determined that there is relative motion between the first robot and robot C, the first robot can synchronize the distance C2 and the posture C2 with the timestamp, and write them into the sliding window corresponding to robot C in the first robot. Similarly, when it is determined that there is relative motion between the first robot and robot D, the first robot can synchronize the distance D2 and the posture D2 with the timestamp, and write them into the sliding window corresponding to robot D in the first robot, and so on.

[0094] When the size of a certain sliding window in the first robot meets the requirements, the first robot can trigger the determination of the posture deviation. For example, when the size of the sliding window is 5, when a certain sliding window in the first robot includes data at five moments (i.e., postures and distances at five moments), the first robot can trigger the determination of the posture deviation to optimize the posture deviation corresponding to the first robot and improve the accuracy of the posture corresponding to the first robot.

[0095] In a possible implementation, the first robot may determine the first initial posture and the second initial posture corresponding to the first robot according to the second posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement, and may determine the posture deviation corresponding to the first robot according to the first initial posture, the second initial posture, the first posture, and the third posture. The first initial posture may be the posture of the first robot in the global coordinate system estimated by the first robot at the first moment. The second initial posture may be the posture of the first robot in the global coordinate system estimated by the first robot at the second moment.

[0096] In one embodiment, the first robot can estimate the first initial posture and the second initial posture corresponding to the first robot by a least squares optimization method. Exemplarily, the first robot can obtain the first initial posture and the second initial posture corresponding to the first electronic device by minimizing a certain optimization target (for example, which can be called the first optimization target). The first optimization target can be:

[0097]

[0098] Where m is the number of second robots, n is the number of moments when the second posture or the fourth posture is obtained, is the first initial posture or the second initial posture corresponding to the first robot at time w, is the first displacement or second displacement of the first robot at time w, p k (w) is the second posture or fourth posture corresponding to the kth second robot at time w, is the first distance or the second distance between the first robot and the kth second robot at time w. It should be understood that the number m of second robots at this time may refer to the number of second robots whose first robot can obtain n postures (i.e., second postures and fourth postures). For example, at the first moment, assuming that the first robot has obtained 1 second posture and (n-) fourth postures corresponding to robot B, 1 second posture and (n-1) fourth postures corresponding to robot C, and 1 second posture and (n-1) fourth postures corresponding to robot D, then the number m of second robots may be 3.

[0099] In one embodiment, after obtaining the first initial posture and the second initial posture corresponding to the first robot, the first robot can determine the posture deviation corresponding to the first robot according to the first initial posture, the first posture, the second initial posture and the third posture. Exemplarily, the first robot can obtain the posture deviation corresponding to the first robot by minimizing a certain optimization target (for example, which can be called the second optimization target). The second optimization target can be:

[0100]

[0101] Where n is the total number of moments when the second or fourth posture is obtained, is the rotation deviation, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first robot at time w, is the first initial posture or the second initial posture corresponding to the first robot at time w.

[0102] In another possible implementation, after obtaining the historical distance (i.e., the distance between the first robot and other robots at the second moment), the historical posture (i.e., the posture corresponding to other robots at the second moment) and the displacement (i.e., the displacement corresponding to the first robot at the first moment and the displacement corresponding to the first robot at the second moment), the first robot can directly obtain the posture deviation corresponding to the first robot by minimizing a certain optimization goal (e.g., which can be called the third optimization goal). The third optimization goal can be:

[0103]

[0104] Where m is the number of second robots, n is the number of moments when the second posture or the fourth posture is obtained, is the rotation matrix, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first robot at time w, is the first displacement or second displacement of the first robot at time w, p k (w) is the second posture or fourth posture corresponding to the k-th second robot at time w, is the first distance or the second distance between the first robot and the kth second robot at time w. It should be understood that the number m of the second robots at this time may refer to the number of second robots whose n positions can be obtained by the first robot.

[0105] It should be understood that the rotation matrix It can be related to the pitch angle, roll angle and yaw angle. In the embodiment of the present application, only the yaw angle can be considered. Therefore, when optimizing the posture deviation, the rotation matrix The pitch and roll in are set to 0 respectively, so as to optimize the rotation deviation (Δyaw) and translation deviation corresponding to the first robot.

[0106] In one embodiment, when there are only two robots that can communicate, for example, when the first robot can obtain the posture corresponding to the second robot, the robots (such as the first robot and / or the second robot) can be initialized to provide sufficient historical data (such as the historical distance between the first robot and the second robot, the historical posture corresponding to the second robot, and the displacement corresponding to the first robot, etc.), so that the posture deviation corresponding to the first robot can be accurately determined based on the historical data.

[0107] In some embodiments, after obtaining the rotational deviation and translational deviation corresponding to the first robot, in order to ensure the stability of the posture corresponding to the first robot in the multi-robot system, the rotational deviation and translational deviation can be low-pass filtered to reduce the influence of high-frequency noise and drift, and the influence of the interruption phenomenon caused by the occlusion or excessive ranging range of the UWB signal can be reduced, and the robustness of positioning can be improved. For example, the rotational deviation and translational deviation can be filtered by methods such as sliding window or Kalman filtering.

[0108] S103: The first robot optimizes the first posture according to the posture deviation to obtain a target posture corresponding to the first robot.

[0109] In the embodiment of the present application, after determining the posture deviation corresponding to the first robot, the first robot can optimize the posture of the first robot according to the posture deviation to obtain the posture of the first robot in the global coordinate system, thereby improving the accuracy of positioning the first robot. The posture optimization of the first robot can be to compensate the posture deviation to the posture of the first robot in the local coordinate system of the first robot.

[0110] For example, the first robot can compensate the posture deviation to the first posture corresponding to the first robot, and obtain the target posture corresponding to the first robot, that is, obtain the posture of the first robot in the global coordinate system at the first moment. For example, the first robot can compensate the posture deviation to the posture of the first robot in the local coordinate system of the first robot obtained by the first robot later.

[0111] In some embodiments, after optimizing the posture of the first robot and obtaining the posture of the first robot in the global coordinate system, for example, after obtaining the target posture corresponding to the first robot, the first robot can write the target posture into the UWB module of the first robot, and can broadcast the target posture corresponding to the first robot through the UWB module, so that other robots can obtain the target posture corresponding to the first robot based on the information broadcast by the UWB module, thereby realizing the sharing and optimization of the target posture, so that other robots can accurately determine their own posture deviations according to the posture of the first robot in the global coordinate system to optimize their own posture, which can improve the accuracy and stability of collaborative positioning, so that each robot can provide stable posture information in the global coordinate system.

[0112] It should be noted that each robot in the multi-robot system can continuously optimize its own posture deviation in the global coordinate system based on the corresponding postures of other robots and the distances between other robots, so as to optimize its own posture in the global coordinate system and improve the accuracy of positioning. The collaborative positioning method of the multi-robot system provided in the embodiment of the present application will not be affected by the increase or decrease in the number of robots, can improve the positioning accuracy and stability of the multi-robot system, and can be applicable to a dynamically changing multi-robot system.

[0113] The collaborative positioning method provided in the embodiment of the present application will be exemplarily illustrated below in combination with the above description.

[0114] See also Figure 2 , Figure 2 The schematic diagram shows the process of the collaborative positioning method provided in the embodiment of the present application. Figure 2 .

[0115] like Figure 2 As shown, at a certain moment w1, the first robot can obtain the posture corresponding to the first robot and the postures corresponding to other robots (such as robot E, robot F and robot G), as well as the distance between the first robot and the other robots.

[0116] For robot E, the first robot can determine whether there is relative motion between the first robot and robot E at time w1 according to the posture corresponding to the first robot and the posture corresponding to robot E. When it is determined that there is relative motion between the first robot and robot E at time w1, the first robot can synchronize the posture corresponding to robot E at time w1 and the distance between the first robot and robot E with the timestamp and write them into the sliding window corresponding to robot E in the first robot.

[0117] For robot F, the first robot can determine whether there is relative motion between the first robot and robot F at time w1 according to the posture corresponding to the first robot and the posture corresponding to robot F. When it is determined that there is relative motion between the first robot and robot F at time w1, the first robot can synchronize the posture corresponding to robot F at time w1 and the distance between the first robot and robot F with the timestamp and write them into the sliding window corresponding to robot F in the first robot.

[0118] For robot G, the first robot can determine whether there is relative motion between the first robot and robot G at time w1 according to the posture corresponding to the first robot and the posture corresponding to robot G. When it is determined that there is relative motion between the first robot and robot G at time w1, the first robot can synchronize the posture corresponding to robot G at time w1 and the distance between the first robot and robot G with the timestamp and write them into the sliding window corresponding to robot G in the first robot.

[0119] After completing the data writing at time w1, the first robot can determine whether the size of any sliding window meets the requirement.

[0120] When it is determined that there is at least one sliding window whose size meets the requirements, the first robot can determine the corresponding posture deviation of the first robot based on the data in the sliding window that meets the requirements (that is, the posture and distance corresponding to each moment in the sliding window that meets the requirements).

[0121] After determining the posture deviation corresponding to the first robot, the first robot can perform low-pass filtering on the posture deviation to obtain a corrected posture deviation, and can compensate the corrected posture deviation to the posture corresponding to the first robot at time w1 to obtain the posture of the first robot in the global coordinate system.

[0122] When it is determined that there is no relative motion between the first robot and a certain robot, the first robot may not write the posture and distance corresponding to the robot at time w1 into the sliding window corresponding to the robot in the first robot, and may obtain the posture corresponding to the first robot and the posture corresponding to the other robots, as well as the distance between the first robot and the other robots again after a preset frequency, for example, at time w2.

[0123] When it is determined that the sizes of all sliding windows do not meet the requirements, the first robot can obtain the corresponding posture of the first robot and the corresponding postures of other robots, as well as the distance between the first robot and the other robots again after a preset frequency, for example, at time w2.

[0124] After obtaining the posture corresponding to the first robot and the posture corresponding to other robots at time w2, as well as the distance between the first robot and the other robots, the first robot can again determine whether it is necessary to optimize the posture deviation corresponding to the first robot based on the posture and distance corresponding to each robot at time w2, and so on. The specific content of the first robot determining whether it is necessary to optimize the posture deviation corresponding to the first robot based on the posture and distance corresponding to each robot at time w2 is similar to the content of the first robot determining whether it is necessary to optimize the posture deviation corresponding to the first robot based on the posture and distance corresponding to each robot at time w1, and will not be repeated here.

[0125] It should be noted that after determining the posture deviation corresponding to the first robot based on the posture and distance corresponding to each robot at a certain moment, the first robot can continue to obtain the posture corresponding to the first robot and the posture corresponding to other robots, as well as the distance between the first robot and other robots at a preset frequency, and can continue to determine whether it is necessary to give priority to the posture deviation corresponding to the first robot based on the acquired posture and distance. That is, in the embodiment of the present application, during the movement of the first robot, the first robot can continuously optimize its own posture deviation, and continuously optimize the posture of the first robot in the global coordinate system based on the optimized posture deviation, which can reduce the cumulative error of the first robot and improve the positioning accuracy and stability of the first robot.

[0126] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean 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 the present application.

[0127] Corresponding to the collaborative positioning method described in the above embodiment, Figure 3 The structure block diagram of the cooperative positioning device provided by the embodiment of the present application is shown. For the convenience of explanation, only the part related to the embodiment of the present application is shown. The device can be applied to a first electronic device.

[0128] Reference Figure 3 , the device may include:

[0129] The data acquisition module 301 is used to acquire a first posture, a second posture and a first distance; the first posture is the posture of the first electronic device in the local coordinate system of the first electronic device at a first moment; the second posture is the posture corresponding to the second electronic device at the first moment; the first distance is the distance between the first electronic device and the second electronic device at the first moment;

[0130] A posture deviation acquisition module 302, configured to determine a posture deviation corresponding to the first electronic device according to the first posture, the second posture and the first distance;

[0131] The posture optimization module 303 is used to optimize the first posture according to the posture deviation to obtain a target posture corresponding to the first electronic device.

[0132] In some embodiments, the posture deviation acquisition module 302 is specifically used to determine a first initial posture corresponding to the first electronic device according to the second posture and the first distance; and determine a posture deviation corresponding to the first electronic device according to the first initial posture and the first posture.

[0133] In some other embodiments, the data acquisition module 301 is further used to acquire a third posture, a fourth posture, a second distance, a first displacement, and a second displacement; the third posture is the posture of the first electronic device in the local coordinate system of the first electronic device at the second moment; the fourth posture is the posture corresponding to the second electronic device at the second moment; the second distance is the distance between the first electronic device and the second electronic device at the second moment; the first displacement is the displacement corresponding to the first electronic device at the first moment; the second displacement is the displacement corresponding to the first electronic device at the second moment; the second moment is earlier than the first moment;

[0134] The posture deviation acquisition module 302 is further used to determine the posture deviation corresponding to the first electronic device according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement and the second displacement.

[0135] In one embodiment, the posture deviation acquisition module 302 is also used to determine the first initial posture and the second initial posture corresponding to the first electronic device according to the second posture, the fourth posture, the first distance, the second distance, the first displacement and the second displacement; and determine the posture deviation corresponding to the first electronic device according to the first initial posture, the second initial posture, the first posture and the third posture.

[0136] Exemplarily, the posture deviation acquisition module 302 is further used to obtain the first initial posture and the second initial posture corresponding to the first electronic device by minimizing a first optimization target; the first optimization target is:

[0137]

[0138] Wherein, m is the number of the second electronic devices, n is the number of moments at which the second posture or the fourth posture is acquired, is the first initial posture or the second initial posture corresponding to the first electronic device at time w, is the first displacement or the second displacement corresponding to the first electronic device at time w, p k (w) is the second posture or the fourth posture of the kth second electronic device at time w, is the first distance or the second distance between the first electronic device and the kth second electronic device at time w.

[0139] Exemplarily, the posture deviation acquisition module 302 is further used to obtain the posture deviation corresponding to the first electronic device by minimizing the second optimization target; the posture deviation includes a rotation deviation and a translation deviation;

[0140] The second optimization objective is:

[0141]

[0142] Wherein, n is the number of moments at which the second posture or the fourth posture is obtained, is the rotation deviation, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first electronic device at time w, is the first initial posture or the second initial posture corresponding to the first electronic device at time w.

[0143] Exemplarily, the posture deviation acquisition module 302 is further used to obtain the posture deviation corresponding to the first electronic device by minimizing the third optimization target; the posture deviation includes a rotation deviation and a translation deviation;

[0144] The third optimization goal is:

[0145]

[0146] Wherein, m is the number of the second electronic devices, n is the number of moments at which the second posture or the fourth posture is acquired, is the rotation matrix, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first electronic device at time w, is the first displacement or the second displacement corresponding to the first electronic device at time w, p k (w) is the second posture or the fourth posture corresponding to the kth second electronic device at time w, is the first distance or the second distance between the first electronic device and the kth second electronic device at time w.

[0147] In some embodiments, the first electronic device includes a first ultra-wideband (UWB) module, and the second electronic device includes a second UWB module.

[0148] The data acquisition module 301 is further used to acquire the second posture broadcast by the second UWB module through the first UWB module; and acquire the first distance through the first UWB module.

[0149] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0150] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by 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 embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0151] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 4 As shown, the electronic device 4 of this embodiment includes: a UWB module 43, at least one processor 40 ( Figure 4 The processor 40 includes a processor 41 and a computer program 42 stored in the memory 41 and executable on the at least one processor 40. The UWB module 43 is used to obtain the position and distance. When the processor 40 executes the computer program 42, the steps in any of the above-mentioned collaborative positioning method embodiments are implemented.

[0152] The electronic device 4 may be a robot, an unmanned vehicle, an unmanned aerial vehicle, or an unmanned ship, etc., which can be positioned and moved. The electronic device 4 may include, but is not limited to, a processor 40 and a memory 41. Those skilled in the art will understand that Figure 4 It is only an example of the electronic device 4 and does not constitute a limitation on the electronic device 4. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, it may also include input and output devices, network access devices, etc.

[0153] The processor 40 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0154] In some embodiments, the memory 41 may be an internal storage unit of the electronic device 4, such as a hard disk or memory of the electronic device 4. In other embodiments, the memory 41 may also be an external storage device of the electronic device 4, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device 4. Further, the memory 41 may also include both an internal storage unit and an external storage device of the electronic device 4. The memory 41 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program. The memory 41 may also be used to temporarily store data that has been output or is to be output.

[0155] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by an electronic device, the electronic device implements the steps in the above-mentioned method embodiments.

[0156] An embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed by an electronic device, the electronic device implements the steps in the above-mentioned method embodiments.

[0157] If the integrated unit is implemented in the form of 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, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may at least include: any entity or device that can carry the computer program code to the device / electronic device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electric carrier signal, a telecommunication signal, and a software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, a computer-readable storage medium cannot be an electric carrier signal and a telecommunication signal.

[0158] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0159] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0160] In the embodiments provided in the present application, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0161] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0162] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A collaborative positioning method, characterized in that: Applied to a first electronic device, the method includes: Acquire a first posture, a second posture and a first distance; the first posture is the posture of the first electronic device in the local coordinate system of the first electronic device at a first moment; the second posture is the posture corresponding to the second electronic device at the first moment; the first distance is the distance between the first electronic device and the second electronic device at the first moment; Determining a posture deviation corresponding to the first electronic device according to the first posture, the second posture and the first distance; The first posture is optimized according to the posture deviation to obtain a target posture corresponding to the first electronic device.

2. The method according to claim 1, characterized in that: The determining, according to the first posture, the second posture and the first distance, a posture deviation corresponding to the first electronic device includes: Determining a first initial posture corresponding to the first electronic device according to the second posture and the first distance; A posture deviation corresponding to the first electronic device is determined according to the first initial posture and the first posture.

3. The method according to claim 1, characterized in that The method further comprises: Acquire a third posture, a fourth posture, a second distance, a first displacement, and a second displacement; the third posture is the posture of the first electronic device in the local coordinate system of the first electronic device at the second moment; the fourth posture is the posture corresponding to the second electronic device at the second moment; the second distance is the distance between the first electronic device and the second electronic device at the second moment; the first displacement is the displacement corresponding to the first electronic device at the first moment; the second displacement is the displacement corresponding to the first electronic device at the second moment; the second moment is earlier than the first moment; The determining, according to the first posture, the second posture and the first distance, a posture deviation corresponding to the first electronic device includes: A posture deviation corresponding to the first electronic device is determined according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement.

4. The method according to claim 3, characterized in that: The determining, according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement, a posture deviation corresponding to the first electronic device includes: Determine a first initial posture and a second initial posture corresponding to the first electronic device according to the second posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement; A posture deviation corresponding to the first electronic device is determined according to the first initial posture, the second initial posture, the first posture, and the third posture.

5. The method according to claim 4, characterized in that The determining, according to the second posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement, a first initial posture and a second initial posture corresponding to the first electronic device includes: By minimizing a first optimization goal, a first initial posture and a second initial posture corresponding to the first electronic device are obtained; the first optimization goal is: Wherein, m is the number of the second electronic devices, n is the number of moments at which the second posture or the fourth posture is acquired, is the first initial posture or the second initial posture corresponding to the first electronic device at time w, is the first displacement or the second displacement corresponding to the first electronic device at time w, p k (w) is the second posture or the fourth posture of the kth second electronic device at time w, is the first distance or the second distance between the first electronic device and the kth second electronic device at time w.

6. The method according to claim 4, characterized in that The determining, according to the first initial posture, the second initial posture, the first posture, and the third posture, a posture deviation corresponding to the first electronic device includes: By minimizing the second optimization target, obtaining a posture deviation corresponding to the first electronic device; the posture deviation includes a rotation deviation and a translation deviation; The second optimization objective is: Wherein, n is the number of moments at which the second posture or the fourth posture is obtained, is the rotation deviation, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first electronic device at time w, is the first initial posture or the second initial posture corresponding to the first electronic device at time w.

7. The method according to claim 3, characterized in that The determining, according to the first posture, the second posture, the third posture, the fourth posture, the first distance, the second distance, the first displacement, and the second displacement, a posture deviation corresponding to the first electronic device includes: By minimizing the third optimization objective, obtaining a posture deviation corresponding to the first electronic device; the posture deviation includes a rotation deviation and a translation deviation; The third optimization goal is: Wherein, m is the number of the second electronic devices, n is the number of moments at which the second posture or the fourth posture is acquired, is the rotation matrix, is the translation deviation, p (S-w) is the first posture or the third posture corresponding to the first electronic device at time w, is the first displacement or the second displacement corresponding to the first electronic device at time w, p k (w) is the second posture or the fourth posture corresponding to the kth second electronic device at time w, is the first distance or the second distance between the first electronic device and the kth second electronic device at time w.

8. The method according to any one of claims 1 to 7, characterized in that The first electronic device includes a first ultra-wideband UWB module, and the second electronic device includes a second UWB module; and the acquiring of the first posture, the second posture and the first distance includes: Acquire, through the first UWB module, the second posture broadcasted by the second UWB module; The first distance is acquired through the first UWB module.

9. An electronic device comprising a UWB module, a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: The UWB module is used to obtain position and distance, and when the processor executes the computer program, the electronic device implements the collaborative positioning method as described in any one of claims 1 to 8.

10. A computer program product, comprising a computer program, characterized in that: When the computer program is executed by an electronic device, the electronic device is enabled to implement the collaborative positioning method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Robot pose determination method and device, robot and storage medium

    CN112097768A

  • Robot navigation method, device and equipment integrating vision and ultra wide band technology

    CN117870676A

  • Pose determination method and apparatus, electronic device, storage medium, and program

    WO2022036980A1

  • Method and apparatus for determining pose of robot, robot and storage medium

    WO2022105024A1