Method for robot coordinate system unification conversion to three-dimensional coordinate system and virtual platform

By creating an auxiliary coordinate system in the three-dimensional coordinate system of the virtual platform, and using rotation and translation operations, the coordinates in the robot coordinate system are converted into coordinates in the three-dimensional coordinate system. This solves the problems of inaccurate coordinate system conversion and large computational load in the existing technology, and realizes fast and accurate conversion and remote monitoring of robot coordinates.

CN118744432BActive Publication Date: 2026-06-26SEVNCE ROBOTICS CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SEVNCE ROBOTICS CO LTD
Filing Date
2024-07-25
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing coordinate system transformation methods ignore the differences in axis orientation between the two coordinate systems and the differences in the axis region where the target is located, which makes it impossible to accurately unify the robot coordinates in the chemical industrial park to the three-dimensional coordinate system of the virtual platform, and the computational load is large.

Method used

By creating an auxiliary coordinate system in the three-dimensional coordinate system of the virtual platform, and using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system, a comprehensive rotation matrix and position offset are obtained. The coordinates of the point to be transformed in the robot coordinate system are then converted into coordinates in the three-dimensional coordinate system, including multiple rotation and translation operations.

Benefits of technology

It enables the rapid and accurate conversion of multiple robot coordinates within the chemical industrial park to the three-dimensional coordinate system of the virtual platform, simplifying the conversion process, reducing the amount of computation, dynamically displaying the scene map of the inspection park, updating robot position information in real time, and facilitating remote monitoring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118744432B_ABST
    Figure CN118744432B_ABST
Patent Text Reader

Abstract

The application provides a method for converting robot coordinate systems to a three-dimensional coordinate system and a virtual platform. The method comprises: obtaining more than one robot uploaded reference point coordinates and to-be-converted point coordinates in corresponding robot coordinate systems; creating an auxiliary coordinate system in a three-dimensional coordinate system of the virtual platform; converting the to-be-converted point coordinates of each robot into coordinates of the to-be-converted point in the three-dimensional coordinate system, which comprises: corresponding the reference point coordinates in the robot coordinate system to the auxiliary coordinate system; obtaining a comprehensive rotation matrix and a position offset by using the reference point coordinates in the auxiliary coordinate system and the reference point coordinates in the three-dimensional coordinate system; multiplying the to-be-converted point coordinates by the comprehensive rotation matrix, and adding the position offset to the multiplied coordinates to obtain the coordinates of the to-be-converted point in the three-dimensional coordinate system. The application also provides a virtual platform, which comprises: a receiving module, a display module and a robot three-dimensional coordinate acquisition module. With the aid of the auxiliary coordinate system and the reference point, the conversion process is simplified, and the calculation amount is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot inspection technology, and in particular to a method and virtual platform for uniformly transforming robot coordinates to a three-dimensional coordinate system. Background Technology

[0002] Mobile intelligent inspection robots have been widely used in chemical industrial park inspections due to their strong mobility and autonomous decision-making capabilities. Multiple inspection robots are typically deployed within the same chemical industrial park, each inspecting its designated work area along a pre-set path. To facilitate remote real-time monitoring of the inspection positions of all robots within the chemical industrial park, as well as remote control of their inspection paths and speeds, existing technologies have constructed virtual platforms. These virtual platforms deploy 3D or 2D scene maps of the chemical industrial park, along with robot models or icons simulating the movement of real inspection robots within the scene map. Therefore, it is necessary to send the coordinates (not limited to robot coordinates) collected by each inspection robot to the virtual platform in real time for unified conversion.

[0003] The principles of commonly used coordinate system transformation methods are as follows: Figure 2 As shown, this is a seven-parameter model transformation method. For coordinate systems O1 and O2, the angular deflection ε of each axis in the two coordinate systems is achieved by offsetting the origin of the two coordinate systems by m. X ε Y ε Z The method involves rotating the coordinate systems O1 and O2 in a specific sequence to make them coincide. Simultaneously, the ratio of the lengths of the same straight line segment in both coordinate systems (i.e., the scale factor) is used to transform the scale between O1 and O2, thus completing the transformation between the two coordinate systems. This coordinate system transformation method emphasizes the deviation of the coordinate axes between the two systems. However, in certain situations, such as when there are congruent triangles in each coordinate system with known coordinates of all vertices, but the axes of the two coordinate systems have different orientations, different directions between the axes, and different axis intervals, if we want to find the coordinates of a point P in the triangle in coordinate system O1 at the same position in the triangle in coordinate system O2, the two coordinate systems of the coincident triangles will not coincide, and vice versa. This makes the seven-parameter model transformation method unsolvable, or requires further implementation using other methods, and involves a large computational load. Summary of the Invention

[0004] This invention aims to at least solve the technical problems of existing coordinate system transformation methods ignoring the differences in axis orientation between the two coordinate systems and the differences in the axis region where the target is located, which makes it impossible to accurately unify the robot coordinates in the chemical industrial park to the three-dimensional coordinate system of the virtual platform, and also results in a large amount of computation. The invention provides a method and virtual platform for unifying robot coordinates to a three-dimensional coordinate system.

[0005] To achieve the above-mentioned objectives of the present invention, according to a first aspect of the present invention, the present invention provides a method for uniformly converting robot coordinates to a three-dimensional coordinate system, comprising: acquiring the coordinates of a reference point and the coordinates of a point to be converted in the corresponding robot coordinate system uploaded by one or more robots, wherein the reference point is a marker point pre-set in the inspection area; creating an auxiliary coordinate system in the three-dimensional coordinate system of the virtual platform; the process of converting the coordinates of the point to be converted of each robot to the coordinates of the point to be converted in the three-dimensional coordinate system is as follows: mapping the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system; obtaining a comprehensive rotation matrix and a position offset using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system; multiplying the coordinates of the point to be converted with the comprehensive rotation matrix, and adding the position offset to the multiplied coordinates to obtain the coordinates of the point to be converted in the three-dimensional coordinate system.

[0006] Further preferably, obtaining the comprehensive rotation matrix and position offset using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system includes: obtaining a first rotation angle and a first rotation matrix using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system; rotating the auxiliary coordinate system and the reference point within the auxiliary coordinate system as a whole according to the first rotation angle; obtaining a second rotation angle and a second rotation matrix using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; rotating the auxiliary coordinate system and the reference point within the auxiliary coordinate system as a whole according to the second rotation angle; obtaining the position offset using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the second rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; and multiplying the first rotation matrix and the second rotation matrix to obtain the comprehensive rotation matrix.

[0007] Further preferably, obtaining the first rotation angle and the first rotation matrix using the coordinates of the reference points in the auxiliary coordinate system and the coordinates of the reference points in the three-dimensional coordinate system includes: assuming the inspection area includes at least three non-collinear reference points, the three reference points in the three-dimensional coordinate system are denoted as C1, C2, and C3, and the three reference points in the robot coordinate system are denoted as P1, P2, and P3 after being mapped to the auxiliary coordinate system; constructing normal vectors for vectors P1P2 and P2P3 in the auxiliary coordinate system, denoted as the first normal vector; constructing normal vectors for vectors C1C2 and C2C3 in the three-dimensional coordinate system, denoted as the second normal vector; performing a dot product operation on the first and second normal vectors to obtain the first rotation angle; constructing the normal vector of the first and second normal vectors, denoted as the third normal vector; the auxiliary coordinate system and the reference points within the auxiliary coordinate system as a whole rotate around the third normal vector as the rotation reference axis, and rotate according to the first rotation angle; the first rotation matrix is:

[0008]

[0009] Where θ1 represents the first rotation angle.

[0010] Further preferably, obtaining the second rotation angle and the second rotation matrix using the coordinates of the reference points in the auxiliary coordinate system rotated according to the first rotation angle and the coordinates of the reference points in the three-dimensional coordinate system includes: arbitrarily selecting two reference points from the reference points in the auxiliary coordinate system rotated according to the first rotation angle to form a vector, denoted as the first auxiliary vector; using the two reference points corresponding to the arbitrarily selected two reference points in the three-dimensional coordinate system to form a vector, denoted as the second auxiliary vector; performing a dot product operation on the first auxiliary vector and the second auxiliary vector to obtain the second rotation angle; rotating the auxiliary coordinate system rotated according to the first rotation angle and the reference points within the auxiliary coordinate system as a whole around the z-axis of the three-dimensional coordinate system as the rotation reference axis, and rotating according to the second rotation angle; the second rotation matrix is:

[0011]

[0012] Where θ2 represents the second rotation angle.

[0013] More preferably, the combined rotation matrix is:

[0014]

[0015] More preferably, mapping the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system includes: constructing multiple reference points in the auxiliary coordinate system that correspond one-to-one with the reference points in the robot coordinate system, and assigning the coordinates of the reference points in the robot coordinate system to the corresponding reference points in the auxiliary coordinate system.

[0016] More preferably, it also includes unit conversion of the coordinates of the reference point and the coordinates of the point to be converted in the robot coordinate system.

[0017] To achieve the above-mentioned objectives of the present invention, according to a second aspect of the present invention, the present invention provides a method for uniformly converting robot coordinates to a three-dimensional coordinate system, comprising: acquiring the coordinates of a reference point and the coordinates of a point to be converted in the corresponding robot coordinate system uploaded by one or more robots, wherein the reference point is a marker point pre-set in the inspection area; creating an auxiliary coordinate system in the three-dimensional coordinate system of the virtual platform; the process of converting the coordinates of the point to be converted of each robot to the coordinates of the point to be converted in the three-dimensional coordinate system comprises: mapping the coordinates of the reference point in the robot coordinate system and the coordinates of the point to be converted to the auxiliary coordinate system; and obtaining a first rotation angle using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system. Rotate the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system according to the first rotation angle; obtain the second rotation angle using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; rotate the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system according to the second rotation angle; obtain the position offset using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the second rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; move the auxiliary coordinate system and the point to be transformed within the auxiliary coordinate system according to the position offset, and use the coordinates of the point to be transformed within the auxiliary coordinate system after the movement as the coordinates of the point to be transformed in the three-dimensional coordinate system; release the auxiliary coordinate system.

[0018] To achieve the above-mentioned objectives of the present invention, according to a third aspect of the present invention, an electronic device is provided, the electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform a method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in the first or second aspect of the present invention.

[0019] To achieve the above-mentioned objectives of the present invention, according to a fourth aspect of the present invention, a virtual platform is provided, the virtual platform comprising: a receiving module for receiving reference point coordinates and coordinates of a point to be converted in a corresponding robot coordinate system uploaded by one or more robots; a display module for displaying a scene map of a robot inspection park, the scene map including a three-dimensional coordinate system, a robot model, or a robot icon; and a coordinate transformation module for executing a method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in the first or second aspect of the present invention to obtain the coordinates of the point to be converted in the three-dimensional coordinate system.

[0020] This invention provides a method and electronic device for uniformly converting robot coordinates to a three-dimensional coordinate system. This allows for the independent mapping of multiple robot coordinates within an inspection area to the three-dimensional coordinate system of a virtual platform, ensuring that they do not affect each other. By using auxiliary coordinate systems and reference points, the coordinates of the point to be converted in the robot coordinate system can be quickly converted to the coordinates in the three-dimensional coordinate system of the virtual platform, simplifying the conversion process and significantly reducing computational load. The virtual platform provided by this invention can dynamically display a map of the inspection area and update the accurate location information of the robot models or robot icons corresponding to the robots in the scene map in real time, facilitating remote monitoring. Attached Figure Description

[0021] Figure 1 This is a flowchart illustrating a preferred embodiment of the method for uniformly transforming robot coordinates to a three-dimensional coordinate system according to the present invention.

[0022] Figure 2 This is a schematic diagram illustrating the principle of the seven-parameter model conversion method in the existing technology;

[0023] Figure 3 This is a flowchart illustrating a method for uniformly transforming robot coordinates to a three-dimensional coordinate system in an application scenario.

[0024] Figure 4 This is a flowchart illustrating a method for uniformly transforming robot coordinates to a three-dimensional coordinate system according to another preferred embodiment of the present invention.

[0025] Figure 5 This is a schematic diagram of the structure of an electronic device in a preferred embodiment of the present invention. Detailed Implementation

[0026] Embodiments of the present invention are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.

[0027] In the description of this invention, it should be understood that the terms "longitudinal", "lateral", "up", "down", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.

[0028] In the description of this invention, unless otherwise specified and limited, it should be noted that the terms "installation", "connection" and "linking" should be interpreted broadly. For example, they can refer to mechanical or electrical connections, or internal connections between two components. They can be direct connections or indirect connections through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms according to the specific circumstances.

[0029] The execution entity of the method for uniformly converting robot coordinates to a three-dimensional coordinate system includes, but is not limited to, at least one of the following electronic devices that can be configured to execute the method provided in the embodiments of this application: a server, a terminal, etc. In other words, the method for uniformly converting robot coordinates to a three-dimensional coordinate system can be executed by software or hardware installed on a terminal device or a server device. The server includes, but is not limited to, a single server, a server cluster, a cloud server, or a cloud server cluster. The server can be an independent server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.

[0030] This invention discloses a method for uniformly transforming robot coordinates to a three-dimensional coordinate system. In a preferred embodiment, such as... Figure 1 As shown, the method includes:

[0031] Step S101: Obtain the coordinates of the reference point and the coordinates of the point to be converted in the corresponding robot coordinate system uploaded by one or more robots. The reference point is a marker point that is pre-set in the inspection park.

[0032] In this embodiment, the marker points within the inspection park are pre-fixed in the real environment, preferably, but not limited to, the vertices of certain buildings within the inspection park, such as three vertices randomly selected from the four corner vertices of a factory building or other buildings. These reference points also have coordinates in the three-dimensional coordinate system of the virtual platform, and the reference points in the three-dimensional coordinate system correspond one-to-one with the reference points in each robot coordinate system.

[0033] In this embodiment, each robot in the inspection area has a robot map, which corresponds to a robot coordinate system. Reference points on the robot map have coordinates in the corresponding robot coordinate system. During inspection, the robot collects its own coordinates (i.e., robot coordinates) and the coordinates of surrounding object points. All or some of these coordinate points are used as points to be converted. The robot uploads the coordinates of the points to be converted in its own robot coordinate system via its communication module.

[0034] In this embodiment, the unit scale of the robot coordinate system is usually m, while the unit scale of the three-dimensional coordinate system may be m or cm. Preferably, when the unit scale of the robot coordinate system and the unit scale of the three-dimensional coordinate system are different, it is also necessary to perform unit conversion on the coordinates of the reference point and the coordinates of the point to be converted in the robot coordinate system, and convert the coordinates of the reference point and the point to be converted in the robot coordinate system to the coordinates of the unit scale of the three-dimensional coordinate system, so as to unify the numerical units of the robot coordinate system and the three-dimensional coordinate system.

[0035] Step S102: Create an auxiliary coordinate system in the three-dimensional coordinate system of the virtual platform.

[0036] In this embodiment, the auxiliary coordinate system is three-dimensional. Specifically, an empty object, such as a cuboid, can be constructed in the three-dimensional coordinate system, with a vertex of the object as the origin of the auxiliary coordinate system. This facilitates the partial transformation of the coordinates of the point to be transformed in the robot coordinate system to the coordinates of the point to be transformed in the three-dimensional coordinate system by rotating and translating the object after mapping the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system. This simplifies the operation and reduces the amount of calculation.

[0037] Step S103, the process of converting the coordinates of each robot's point to be transformed into the coordinates of the point in the three-dimensional coordinate system, includes:

[0038] Step S1031: Map the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system.

[0039] In this embodiment, to simplify calculations and improve coordinate transformation efficiency, step S1031 preferably involves: constructing multiple reference points in the auxiliary coordinate system that correspond one-to-one with reference points in the robot coordinate system, and assigning the coordinates of the reference points in the robot coordinate system to the corresponding reference points in the auxiliary coordinate system. A number of virtual reference points are constructed in the auxiliary coordinate system, the same number as the actual number of reference points within the inspection area. The coordinates of each virtual reference point are equal to the coordinates of the corresponding reference point in the robot coordinate system. At this point, the auxiliary coordinate system is similar to the robot coordinate system, but there may still be differences in the axial directions and the axis intervals where the points are located. This step greatly simplifies the calculation process. It should be noted that the reference point coordinates assigned in the robot coordinate system at this time are coordinates after unit conversion.

[0040] In this embodiment, in order to make the auxiliary coordinate system after executing step S1031 more similar to the robot coordinate system, preferably, at least three non-collinear reference points are included in the inspection area, that is, multiple reference points are not on the same straight line, and the reference points are simultaneously located in the robot coordinate system, the auxiliary reference system and the three-dimensional coordinate system.

[0041] Step S1032: Obtain the combined rotation matrix and position offset using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system.

[0042] Step S1033: Multiply the coordinates of the point to be transformed with the comprehensive rotation matrix, and add the position offset to the multiplied coordinates to obtain the coordinates of the point to be transformed in the three-dimensional coordinate system.

[0043] In this embodiment, all robots within the inspection area can obtain their coordinates in a three-dimensional coordinate system according to step S103 described above, enabling independent transformation of multiple robot coordinates. Furthermore, after obtaining the comprehensive rotation matrix and position offset corresponding to each robot coordinate system, any newly added coordinate points to be transformed in each subsequent robot coordinate system can directly inherit the comprehensive rotation matrix and position offset of that robot coordinate system. The coordinates of the newly added point to be transformed are multiplied by the comprehensive rotation matrix, and the position offset is added to the multiplied coordinates to obtain the coordinates of the newly added point to be transformed in the three-dimensional coordinate system.

[0044] In this embodiment, for ease of calculation, the z-axis coordinate of all points is 0 in the robot coordinate system, auxiliary coordinate system, and three-dimensional coordinate system.

[0045] In a preferred embodiment, step S1032, obtaining the combined rotation matrix and position offset using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system, specifically includes:

[0046] Step A1: Obtain the first rotation angle and the first rotation matrix using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system.

[0047] Preferably, the first rotation angle and first rotation matrix obtained in step A1 are used to unify the axial directions of the auxiliary coordinate system and the three-dimensional coordinate system, as well as to unify the reference point and the axis interval to be transformed. The axial directions of the coordinate system refer to the relative positional relationship between the x-axis, y-axis, and z-axis, such as the x-axis being in the counterclockwise or clockwise direction of the y-axis. To simplify the calculation, step A1 specifically includes:

[0048] Step A11: Assume that the inspection area includes at least three non-collinear reference points. In the three-dimensional coordinate system, the three reference points are represented as C1, C2, and C3. After the three reference points of the robot coordinate system are mapped to the auxiliary coordinate system, they are represented as P1, P2, and P3.

[0049] Step A12: Construct the normal vectors of vectors P1P2 and P2P3 in the auxiliary coordinate system, denoted as the first normal vector.

[0050] Construct the normal vectors of vectors C1C2 and C2C3 in the three-dimensional coordinate system, denoted as the second normal vector.

[0051] Step A13, for the first normal vector Second normal vector The first rotation angle is obtained by performing a dot product operation:

[0052]

[0053] Step A14: Construct the normal vector of the first and second normal vectors, denoted as the third normal vector.

[0054] Step A15: The auxiliary coordinate system and the reference points within the auxiliary coordinate system are rotated around the third normal vector as the rotation reference axis and according to the first rotation angle.

[0055] The first rotation matrix is:

[0056]

[0057] Here, θ1 represents the first rotation angle. The first rotation angle has directionality.

[0058] Step A2: Rotate the auxiliary coordinate system and the reference point within the auxiliary coordinate system as a whole according to the first rotation angle.

[0059] In this embodiment, to simplify the calculation, step A2 can be performed through the virtual platform's user interface. Step A2 can also be performed by converting the reference point coordinates using the following formula:

[0060]

[0061] Where (x,y) represents the x-axis and y-axis coordinates of the reference point in the robot coordinate system, that is, the x-axis and y-axis coordinates of the reference point in the auxiliary coordinate system in step S1031; (x',y') represents the coordinates of the reference point in the auxiliary coordinate system after rotation according to the first rotation angle.

[0062] Step A3 involves obtaining the second rotation angle and the second rotation matrix using the coordinates of the reference point in the auxiliary coordinate system after rotation by the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system. Preferably, step A3 includes:

[0063] Step A31: Arbitrarily select two reference points from the reference points of the auxiliary coordinate system after rotation according to the first rotation angle to form a vector, denoted as the first auxiliary vector.

[0064] Step A32: Use the two reference points corresponding to any two arbitrarily selected reference points in the three-dimensional coordinate system to form a vector, denoted as the second auxiliary vector.

[0065] Step A33: Perform a dot product operation on the first auxiliary vector and the second auxiliary vector to obtain the second rotation angle:

[0066]

[0067] Step A4: Rotate the auxiliary coordinate system and the reference points within the auxiliary coordinate system together with the z-axis of the three-dimensional coordinate system as the rotation reference axis, and rotate according to the second rotation angle.

[0068] The second rotation matrix is:

[0069]

[0070] Here, θ2 represents the second rotation angle. The second rotation angle has directionality.

[0071] Step A4: Rotate the auxiliary coordinate system and the reference point within the auxiliary coordinate system as a whole according to the second rotation angle.

[0072] In this embodiment, step A4 makes the three axes of the auxiliary coordinate system identical to those of the three-dimensional coordinate system.

[0073] Step A5: Use the coordinates of the reference point in the auxiliary coordinate system after rotation according to the second rotation angle and the coordinates of the reference point in the three-dimensional coordinate system to obtain the position offset.

[0074] In step A5, specifically, an arbitrary reference point is selected, and the coordinates of the reference point in the auxiliary coordinate system and the three-dimensional coordinate system after rotation according to the second rotation angle are obtained respectively. The position offset (Δx, Δy) is obtained based on the difference between the two coordinates.

[0075] Step A6: Multiply the first rotation matrix and the second rotation matrix to obtain the combined rotation matrix, which is:

[0076]

[0077] Therefore, if the coordinates of a point to be transformed in the robot coordinate system are (x1, y1), its coordinates after processing by the comprehensive rotation matrix are (x1', y1'):

[0078]

[0079] Add a position offset to (x1', y1') to obtain the coordinates of the point to be transformed in the three-dimensional coordinate system:

[0080]

[0081] In one application scenario of this implementation, the flowchart of the method for uniformly transforming robot coordinates to a three-dimensional coordinate system is as follows: Figure 3 As shown.

[0082] In this application scenario, there are two robots, A and B, and three reference points are set up within the inspection area. Taking robot A as an example, reference points A1, A2, and A3 in the robot's coordinate system and reference points C1, C2, and C3 in the virtual platform's 3D coordinate system are predefined. A one-to-one correspondence is established between the reference points in the 3D coordinate system and the reference points in the robot's coordinate system. A new coordinate system O3, or auxiliary coordinate system, is created within the 3D coordinate system. The auxiliary coordinate system is essentially an empty object created in 3D, with its local coordinate system used as the newly established coordinate system O3. Its purpose is to directly perform some transformation-related operations by rotating and translating the object, reducing computation. The robot's reference points are mapped to the O3 coordinate system. Dot product and cross product operations are performed on the reference points in the 3D and O3 coordinate systems to obtain a comprehensive rotation angle, generating a comprehensive rotation matrix. This rotation is then applied to the O3 coordinate system to make its reference points coincide with the reference points in the 3D coordinate system. Finally, the robot coordinates to be transformed are converted to the appropriate units. This allows us to obtain the coordinates of any point in the auxiliary coordinate system within the 3D coordinate system, thus completing the transformation from robot A to the 3D coordinate system. The same method is then used to transform robot B to the 3D coordinate system. Since the robot coordinate systems are not directly related, the different robot coordinates are ultimately unified into a virtual 3D coordinate system.

[0083] This invention also discloses a method for uniformly transforming robot coordinates to a three-dimensional coordinate system. This method shares the same inventive concept as the previous method, both relying on an auxiliary coordinate system and a reference point to first unify the coordinate axes between the auxiliary coordinate system and the three-dimensional coordinate system, then unify the three axes, and finally achieve position translation. The difference from the previous method is that this method relies on the operation interface of a virtual platform to execute the rotation and position translation of the point to be transformed, which can further reduce the amount of computation.

[0084] In a preferred embodiment, such as Figure 4 As shown, the method includes:

[0085] Step S201: Obtain the coordinates of the reference point and the coordinates of the point to be converted in the corresponding robot coordinate system uploaded by one or more robots. The reference point is a marker point that is pre-set in the inspection park.

[0086] In this embodiment, the marker points within the inspection park are pre-fixed in the real environment, preferably, but not limited to, the vertices of certain buildings within the inspection park, such as three vertices randomly selected from the four corner vertices of a factory building or other buildings. These reference points also have coordinates in the three-dimensional coordinate system of the virtual platform, and the reference points in the three-dimensional coordinate system correspond one-to-one with the reference points in each robot coordinate system.

[0087] In this embodiment, each robot in the inspection area has a robot map, which corresponds to a robot coordinate system. Reference points on the robot map have coordinates in the corresponding robot coordinate system. During inspection, the robot collects its own coordinates (i.e., robot coordinates) and the coordinates of surrounding object points. All or part of these coordinate points are used as points to be converted. The robot uploads the coordinates of the points to be converted in its own robot coordinate system via its communication module.

[0088] In this embodiment, the unit scale of the robot coordinate system is usually m, while the unit scale of the three-dimensional coordinate system may be m or cm. Preferably, when the unit scale of the robot coordinate system and the unit scale of the three-dimensional coordinate system are different, it is also necessary to perform unit conversion on the coordinates of the reference point and the coordinates of the point to be converted in the robot coordinate system, and convert the coordinates of the reference point and the point to be converted in the robot coordinate system to the coordinates of the unit scale of the three-dimensional coordinate system, so as to unify the numerical units of the robot coordinate system and the three-dimensional coordinate system.

[0089] Step S202: Create an auxiliary coordinate system in the three-dimensional coordinate system of the virtual platform.

[0090] In this embodiment, the auxiliary coordinate system is three-dimensional. Specifically, an empty object, such as a cuboid, can be constructed in the three-dimensional coordinate system, with a vertex of the object as the origin of the auxiliary coordinate system. This facilitates the partial transformation of the coordinates of the point to be transformed in the robot coordinate system to the coordinates of the point to be transformed in the three-dimensional coordinate system by rotating and translating the object after mapping the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system. This simplifies the operation and reduces the amount of calculation.

[0091] Step S203, the process of converting the coordinates of each robot's point to be transformed into the coordinates of the point in the three-dimensional coordinate system, includes:

[0092] Step S2031: Map the coordinates of the reference point and the coordinates of the point to be transformed in the robot coordinate system to the auxiliary coordinate system.

[0093] In this embodiment, to simplify calculations and improve coordinate transformation efficiency, step S2031 is preferably as follows: constructing multiple reference points in the auxiliary coordinate system that correspond one-to-one with reference points in the robot coordinate system, constructing auxiliary transformation points that correspond one-to-one with the point to be transformed, and assigning the coordinates of the point to be transformed in the robot coordinate system to the auxiliary transformation points in the auxiliary coordinate system.

[0094] In this embodiment, in order to make the auxiliary coordinate system after executing step S2031 more similar to the robot coordinate system, preferably, at least three non-collinear reference points are included in the inspection area, that is, multiple reference points are not on the same straight line, and the reference points are simultaneously located in the robot coordinate system, the auxiliary reference system and the three-dimensional coordinate system.

[0095] Step S2032: Obtain the first rotation angle using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system.

[0096] Preferably, the first rotation angle obtained in step S2032 is to unify the axial directions of the auxiliary coordinate system and the three-dimensional coordinate system, as well as to unify the reference point and the axis interval to be transformed. The axial directions of the coordinate system refer to the relative positional relationship between the x-axis, y-axis, and z-axis, such as the x-axis being in the counterclockwise or clockwise direction of the y-axis. To simplify the calculation, step S2032 specifically includes:

[0097] Step B1: Assume that the inspection area includes at least three non-collinear reference points. In the three-dimensional coordinate system, the three reference points are represented as C1, C2, and C3. After the three reference points of the robot coordinate system are mapped to the auxiliary coordinate system, they are represented as P1, P2, and P3.

[0098] Step B2: Construct the normal vectors of vectors P1P2 and P2P3 in the auxiliary coordinate system, denoted as the first normal vector.

[0099] Construct the normal vectors of vectors C1C2 and C2C3 in the three-dimensional coordinate system, denoted as the second normal vector.

[0100] Step B3, for the first normal vector Second normal vector The first rotation angle is obtained by performing a dot product operation:

[0101]

[0102] Step B4: Construct the normal vector of the first and second normal vectors, denoted as the third normal vector.

[0103] Step S2033: Rotate the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system as a whole according to the first rotation angle. Specifically, the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system are rotated around the third normal vector as the rotation reference axis and according to the first rotation angle.

[0104] Step S2034 involves obtaining the second rotation angle using the coordinates of the reference point in the auxiliary coordinate system after rotation by the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system. Step S2034 includes:

[0105] Step C1: Arbitrarily select two reference points from the reference points of the auxiliary coordinate system after rotation according to the first rotation angle to form a vector, denoted as the first auxiliary vector.

[0106] Step C2: Use the two reference points corresponding to any two selected reference points in the three-dimensional coordinate system to form a vector, denoted as the second auxiliary vector.

[0107] Step C3: Perform a dot product operation on the first auxiliary vector and the second auxiliary vector to obtain the second rotation angle.

[0108]

[0109] Step S2035: Rotate the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system according to the second rotation angle. Step S2035 makes the three axes of the auxiliary coordinate system identical to those of the three-dimensional coordinate system.

[0110] Step S2036: Use the coordinates of the reference point in the auxiliary coordinate system after rotation according to the second rotation angle and the coordinates of the reference point in the three-dimensional coordinate system to obtain the position offset.

[0111] Specifically, select any reference point and obtain the coordinates of the reference point in the auxiliary coordinate system and the three-dimensional coordinate system after rotation according to the second rotation angle. Obtain the position offset (Δx, Δy) based on the difference between the two coordinates.

[0112] Step S2037: Move the auxiliary coordinate system and the point to be transformed within the auxiliary coordinate system according to the position offset, and use the coordinates of the point to be transformed within the auxiliary coordinate system after the movement as the coordinates of the point to be transformed in the three-dimensional coordinate system.

[0113] Step S2038: Release the auxiliary coordinate system. The released auxiliary coordinate system can be used to transform the coordinates of the points to be transformed in the next robot coordinate system.

[0114] This invention also discloses a virtual platform, which includes hardware and software. The software integrates a scene map and related inspection and monitoring software. The virtual platform includes:

[0115] The receiving module is used to receive the coordinates of the reference point in the corresponding robot coordinate system and the robot coordinates uploaded by one or more robots. The receiving module is preferably, but not limited to, a 4G, 5G, or WIFI communication module.

[0116] The display module is used to show a scene map of the robot inspecting the park. The scene map includes a 3D coordinate system, robot models, or robot icons. The display module is preferably, but not limited to, a monitor.

[0117] The robot 3D coordinate acquisition module executes any of the aforementioned methods to uniformly transform robot coordinates to a 3D coordinate system to obtain the coordinates of the point to be transformed in 3D coordinates. This module can be integrated into the hardware processor of the virtual platform. When the point to be transformed includes a robot coordinate point, it executes any of the aforementioned methods to uniformly transform robot coordinates to a 3D coordinate system to obtain the robot coordinate point's coordinates in 3D coordinates, and updates the position of the corresponding robot model or robot icon in the scene map according to the robot coordinate point's 3D coordinates.

[0118] The present invention also discloses an electronic device, in one embodiment of which the electronic device includes at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to execute a method for uniformly transforming robot coordinates to a three-dimensional coordinate system provided by the present invention.

[0119] like Figure 5 The diagram shown is a schematic representation of an electronic device for a method of uniformly transforming robot coordinates to a three-dimensional coordinate system according to an embodiment of the present invention. The electronic device may include a processor 10, a memory 11, a communication bus 12, and a communication interface 13. It may also include a computer program stored in the memory 11 and executable on the processor 10, such as a program for a method of uniformly transforming robot coordinates to a three-dimensional coordinate system.

[0120] In some embodiments, the processor 10 may be composed of integrated circuits, such as a single packaged integrated circuit or multiple integrated circuits with the same or different functions, including combinations of one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips. The processor 10 is the control unit of the electronic device, connecting various components of the entire electronic device through various interfaces and lines. It executes programs or modules stored in the memory 11 (e.g., a method for uniformly transforming robot coordinates to a three-dimensional coordinate system) and calls data stored in the memory 11 to perform various functions of the electronic device and process data.

[0121] The memory 11 includes at least one type of readable storage medium, including flash memory, portable hard drive, multimedia card, card-type memory (e.g., SD or DX memory), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 11 can be an internal storage unit of an electronic device, such as a portable hard drive. In other embodiments, the memory 11 can be an external storage device of the electronic device, such as a plug-in portable hard drive, smart media card (SMC), secure digital (SD) card, flash card, etc. Furthermore, the memory 11 can include both internal and external storage units of the electronic device. The memory 11 can be used not only to store application software and various types of data installed on the electronic device, such as the code of a method program for uniformly converting robot coordinates to a three-dimensional coordinate system, but also to temporarily store data that has been output or will be output.

[0122] The communication bus 12 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into an address bus, a data bus, a control bus, etc. The bus is configured to enable communication between the memory 11 and at least one processor 10, etc.

[0123] Communication interface 13 is used for communication between the aforementioned electronic device and other devices, including a network interface and a user interface. Optionally, the network interface may include a wired interface and / or a wireless interface (such as a Wi-Fi interface, Bluetooth interface, etc.), typically used to establish communication connections between the electronic device and other electronic devices. The user interface may be a display, an input unit (such as a keyboard), or, optionally, a standard wired or wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen, etc. The display may also be appropriately referred to as a screen or display unit, used to display information processed in the electronic device and to display a visual user interface.

[0124] Figure 5 Only electronic devices with components are shown; those skilled in the art will understand that... Figure 5The structure shown does not constitute a limitation on the electronic device and may include fewer or more components than shown, or combine certain components, or have different component arrangements. For example, although not shown, the electronic device may also include a power supply (such as a battery) to power the various components. Preferably, the power supply can be logically connected to at least one processor 10 through a power management device, thereby enabling functions such as charging management, discharging management, and power consumption management. The power supply may also include one or more DC or AC power supplies, recharging devices, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components. The electronic device may also include various sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be described in detail here.

[0125] It should be understood that the embodiments are for illustrative purposes only and are not limited to this structure in the scope of the patent application.

[0126] Furthermore, if the modules / units integrated in electronic device 1 are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. The computer-readable storage medium can be volatile or non-volatile. For example, a computer-readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, or a read-only memory (ROM).

[0127] In the description of this specification, the references to terms such as "an embodiment," "some embodiments," "example," "specific example," "a implementation," "a preferred implementation," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0128] Although embodiments of the invention have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims

1. A method for uniformly transforming robot coordinates to a three-dimensional coordinate system, characterized in that, include: Obtain the coordinates of a reference point and the coordinates of the point to be converted in the corresponding robot coordinate system uploaded by one or more robots. The reference point is a marker point that is pre-set in the inspection park. Create an auxiliary coordinate system within the three-dimensional coordinate system of the virtual platform; The process of converting the coordinates of each robot's point to be transformed into the coordinates of that point in a three-dimensional coordinate system is as follows: Map the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system; The combined rotation matrix and position offset are obtained by using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system; Multiply the coordinates of the point to be transformed by the comprehensive rotation matrix, and add the position offset to the coordinates of the point to be transformed in the three-dimensional coordinate system. The process of obtaining the combined rotation matrix and position offset using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system includes: The first rotation angle and the first rotation matrix are obtained using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system; Rotate the auxiliary coordinate system and the reference point within the auxiliary coordinate system as a whole according to the first rotation angle; The second rotation angle and the second rotation matrix are obtained by using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; Rotate the auxiliary coordinate system and the reference point within the auxiliary coordinate system as a whole according to the second rotation angle; The position offset is obtained by using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the second rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; Multiplying the first rotation matrix and the second rotation matrix yields the combined rotation matrix.

2. The method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in claim 1, characterized in that, The process of obtaining the first rotation angle and the first rotation matrix using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system includes: Assume the inspection area includes at least three non-collinear reference points. In the three-dimensional coordinate system, these three reference points are denoted as C1, C2, and C3. In the robot coordinate system, these three reference points are denoted as P1, P2, and P3 after being mapped to the auxiliary coordinate system. Construct the normal vectors of vectors P1P2 and P2P3 in the auxiliary coordinate system, and denote them as the first normal vector; Construct the normal vectors of vectors C1C2 and C2C3 in the three-dimensional coordinate system, and denote them as the second normal vector; The first rotation angle is obtained by performing a dot product operation on the first normal vector and the second normal vector; Construct the normal vector of the first normal vector and the normal vector of the second normal vector, and denote it as the third normal vector; The auxiliary coordinate system and the reference points within it are rotated around the third normal vector as the rotation reference axis and according to the first rotation angle. The first rotation matrix is: in, This indicates the first rotation angle.

3. The method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in claim 2, characterized in that, The step of obtaining the second rotation angle and the second rotation matrix using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system includes: In the auxiliary coordinate system after rotation by the first rotation angle, any two reference points are selected to form a vector, which is denoted as the first auxiliary vector. The vector is formed by the two reference points corresponding to any two arbitrarily selected reference points in the three-dimensional coordinate system, and is denoted as the second auxiliary vector. The second rotation angle is obtained by performing a dot product operation on the first auxiliary vector and the second auxiliary vector; The auxiliary coordinate system after rotation according to the first rotation angle and the reference points in the auxiliary coordinate system are rotated together with the z-axis of the three-dimensional coordinate system as the rotation reference axis, and rotated according to the second rotation angle. The second rotation matrix is: in, This indicates the second rotation angle.

4. The method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in claim 3, characterized in that, The combined rotation matrix is:

5. A method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in any one of claims 1-4, characterized in that, The process of mapping the coordinates of the reference point in the robot coordinate system to the auxiliary coordinate system includes: In the auxiliary coordinate system, construct multiple reference points that correspond one-to-one with the reference points in the robot coordinate system, and assign the coordinates of the reference points in the robot coordinate system to the corresponding reference points in the auxiliary coordinate system.

6. The method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in claim 5, characterized in that, It also includes unit conversion for the coordinates of the reference point and the point to be converted in the robot coordinate system.

7. A method for uniformly transforming robot coordinates to a three-dimensional coordinate system, characterized in that, include: Obtain the coordinates of a reference point and the coordinates of the point to be converted in the corresponding robot coordinate system uploaded by one or more robots. The reference point is a marker point that is pre-set in the inspection park. Create an auxiliary coordinate system within the three-dimensional coordinate system of the virtual platform; The process of converting the coordinates of each robot's point to be transformed into the coordinates of that point in a three-dimensional coordinate system includes: Map the coordinates of the reference point and the point to be transformed in the robot coordinate system to the auxiliary coordinate system; The first rotation angle is obtained using the coordinates of the reference point in the auxiliary coordinate system and the coordinates of the reference point in the three-dimensional coordinate system; Rotate the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system according to the first rotation angle; The second rotation angle is obtained by using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the first rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; Rotate the auxiliary coordinate system and the reference point and the point to be transformed within the auxiliary coordinate system according to the second rotation angle; The position offset is obtained by using the coordinates of the reference point in the auxiliary coordinate system after rotation according to the second rotation angle and the coordinates of the reference point in the three-dimensional coordinate system; The auxiliary coordinate system and the point to be transformed within the auxiliary coordinate system are moved according to the position offset. The coordinates of the point to be transformed within the auxiliary coordinate system after the movement are used as the coordinates of the point to be transformed in the three-dimensional coordinate system. Release the auxiliary coordinate system.

8. An electronic device, characterized in that, The electronic device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform a method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in any one of claims 1 to 7.

9. A virtual platform, characterized in that, The virtual platform includes: The receiving module is used to receive the coordinates of the reference point and the coordinates of the point to be converted in the corresponding robot coordinate system uploaded by one or more robots. The display module is used to display a scene map of the robot inspecting the park. The scene map includes a three-dimensional coordinate system, a robot model, or a robot icon. The coordinate transformation module executes the method for uniformly transforming robot coordinates to a three-dimensional coordinate system as described in any one of claims 1-7 to obtain the coordinates of the point to be transformed in the three-dimensional coordinate system.