Robotic arm position alignment method and apparatus, and electronic device
By acquiring position information and calculating displacement using a binocular camera, precise alignment between the end face of the robotic arm and the target plane is achieved, solving the problem of insufficient positioning accuracy of the robotic arm and improving positioning accuracy and work efficiency.
Patent Information
- Application Number
- PCT/CN2025/093319
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-03
- Filing Date
- 2025-05-08
- Publication Date
- 2026-01-08
AI Technical Summary
The robotic arm's end effector cannot accurately reach the target plane, resulting in decreased positioning accuracy and affecting task quality and efficiency.
By acquiring position information of the target plane and the end face using a binocular camera, determining the unit normal vector and preset projection point, calculating the displacement, and performing compensating motion on the robotic arm to ensure that its end face accurately reaches the target plane.
It improves the positioning accuracy and working efficiency of robotic arms, reduces problems caused by machining and calibration errors, and is suitable for various types of three-axis robotic arms.
Smart Images

Figure CN2025093319_08012026_PF_FP_ABST
Abstract
Description
Mechanical arm position alignment method and device and electronic equipment TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, in particular to a mechanical arm position alignment method, device and electronic equipment. BACKGROUND
[0002] In the field of industrial automation, mechanical arms are widely used in various tasks such as assembly, welding and machining, etc.; in the medical field, mechanical arms are mainly used for positioning work at target positions; accurate positioning of mechanical arms is crucial for successful completion of tasks. However, due to factors such as machining and calibration errors, the end plane of the mechanical arm often cannot accurately reach the target plane, resulting in decreased positioning accuracy and affecting task quality and efficiency. SUMMARY
[0003] The present application provides a mechanical arm position alignment method, device and electronic equipment, which can compensate for the movement of the mechanical arm and improve the accuracy of the positioning of the mechanical arm.
[0004] In a first aspect, the present application provides a mechanical arm position alignment method, comprising: determining initial position information of a target plane to which a mechanical arm is directed, the initial position information comprising a unit normal vector of the target plane and a preset projection point; controlling the mechanical arm to move according to the initial position information of the target plane; obtaining a current coordinate of an end plane of the mechanical arm, and determining a target projection point and a target normal vector on the end plane according to the current coordinate; determining a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane, and the unit normal vector of the target plane and the preset projection point; and correcting the initial position information of the target plane by the displacement, so that the mechanical arm moves to a corrected target plane.
[0005] In an exemplary embodiment, the determination of the initial position information of the target plane to which the mechanical arm is directed comprises: collecting a first coordinate of a first positioning tool by a binocular camera, wherein the first positioning tool is disposed on the target plane and outside the target plane; converting the first coordinate to a world coordinate system to obtain a second coordinate according to a coordinate transformation matrix between the binocular camera and the target plane; determining a first plane equation of the target plane based on the second coordinate, and obtaining a unit normal vector and a preset projection point of a preset point on the target plane based on the first plane equation.
[0006] In an example embodiment, the converting the first coordinate to a world coordinate system according to the coordinate transformation matrix between the binocular camera and the target plane to obtain a second coordinate comprises: converting the first coordinate to a world coordinate system through a coordinate transformation matrix between the binocular camera and a second positioning tool rigidly fixed to the target plane to obtain the second coordinate.
[0007] In an example embodiment, the obtaining the current coordinate of the end plane of the mechanical arm comprises: acquiring a positioning coordinate on the end plane by the binocular camera; and converting the positioning coordinate to a world coordinate system according to a coordinate transformation matrix between the end plane and the binocular camera to obtain the current coordinate.
[0008] In an example embodiment, the current coordinate comprises coordinates of at least three points on the end plane that are not on the same straight line and coordinates of at least one point outside the end plane.
[0009] According to the method for aligning the position of the mechanical arm provided in the embodiments of the present application, the displacement between the end plane and the target plane is determined according to the position information of the target plane and the end plane to which the mechanical arm is directed, the movement of the mechanical arm is controlled according to the displacement, and the position of the moved target plane relative to the mechanical arm is corrected, so that the end plane of the mechanical arm reaches the target plane, and the positioning accuracy of the mechanical arm is improved.
[0010] In a second aspect, the present application provides a device for aligning the position of a mechanical arm, comprising: a target plane determination module configured to determine initial position information of a target plane to which the mechanical arm is directed, wherein the initial position information comprises a unit normal vector of the target plane and a preset projection point; a mechanical arm control module configured to control the mechanical arm to move according to the initial position information of the target plane; a mechanical arm position determination module configured to obtain a current coordinate of an end plane of the mechanical arm, and determine a target projection point and a target normal vector on the end plane according to the current coordinate; a displacement determination module configured to determine a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane, and the unit normal vector of the target plane and the preset projection point; and a movement compensation module configured to correct the initial position information of the target plane through the displacement, so that the mechanical arm moves to a corrected target plane.
[0011] In an example embodiment, the target plane determination module comprises: a coordinate acquisition module configured to acquire, by the binocular camera, a first coordinate of a first positioning tool, wherein the first positioning tool is disposed on the target plane and outside the target plane; a coordinate conversion module configured to convert the first coordinate to a world coordinate system according to a coordinate transformation matrix between the binocular camera and the target plane to obtain a second coordinate; and a normal vector determination module configured to determine a first plane equation of the target plane based on the second coordinate, and obtain a unit normal vector of a preset point on the target plane and a preset projection point based on the first plane equation.
[0012] In an example embodiment, the coordinate conversion module is configured to convert the first coordinate to a world coordinate system by a coordinate transformation matrix between the binocular camera and a second positioning tool rigidly fixed to the target plane to obtain a second coordinate.
[0013] In an example embodiment, the robot arm position determination module comprises: a robot arm position acquisition module configured to acquire, by the binocular camera, a positioning coordinate on the end plane; and a position conversion module configured to convert the positioning coordinate to a world coordinate system according to a coordinate transformation matrix between the end plane and the binocular camera to obtain a current coordinate.
[0014] In an example embodiment, the current coordinate comprises coordinates of at least three points on the end plane that are not on the same straight line and coordinates of at least one point outside the end plane.
[0015] In a third aspect, the present application provides an electronic device, comprising a memory and one or more processors. The memory stores one or more computer programs comprising instructions that, when executed by the processor, cause the electronic device to perform the robot arm position alignment method of the first aspect.
[0016] In a fourth aspect, the present application provides a computer readable medium storing instructions that, when executed on an electronic device, cause the electronic device to perform the robot arm position alignment method of the first aspect.
[0017] In a fifth aspect, the present application provides a computer program product that, when executed on an electronic device, causes the electronic device to perform the robot arm position alignment method of the first aspect.
[0018] It can be understood that the beneficial effects that can be achieved by the robot arm position alignment device, electronic device, computer readable medium, and computer program product provided above can refer to the beneficial effects of the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0019] FIG. 1 is a flow diagram of a mechanical arm position alignment method according to an embodiment of the present application; DETAILED DESCRIPTION
[0020] In order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the terms "first", "second", etc. are used to distinguish the same or similar items with basically the same function and role. For example, the first chip and the second chip are only used to distinguish different chips, and do not limit the order. Those skilled in the art can understand that the terms "first", "second", etc. do not limit the number and execution order, and the terms "first", "second", etc. also do not necessarily mean different. It should be noted that in the embodiments of the present application, the words "exemplary" or "for example" are used to represent an example, illustration or description. Any embodiment or design scheme described as "exemplary" or "for example" in the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, the words "exemplary" or "for example" are intended to present the relevant concept in a specific manner. In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more.
[0021] It should be noted that "at" in the embodiments of the present application can be at the moment when a certain condition occurs, or within a certain period of time after the occurrence of a certain condition, which is not limited in the embodiments of the present application.
[0022] The implementation of the embodiments will be described in detail below with reference to the accompanying drawings.
[0023] The embodiments provide a mechanical arm position alignment method, which can monitor the activity of each business function of an application, and provide data reference for maintenance and update of the application.
[0024] For example, the mechanical arm position alignment method can be applied to various electronic devices such as a computer (PC), a tablet computer, a virtual reality / augmented reality device, a wearable device, an industrial computer, and a car machine; and can also be applied to a server, a cloud, a server cluster, etc., which are not specially limited in the embodiments.
[0025] FIG. 1 shows a flow diagram of a mechanical arm position alignment method according to an embodiment of the present application.
[0026] As shown in FIG. 1, the mechanical arm position alignment method can include the following steps: step 101: determining initial position information of a target plane to which a mechanical arm is directed in a camera coordinate system, the initial position information including a unit normal vector of the target plane and a preset projection point; step 102: controlling the mechanical arm to move according to the initial position information of the target plane; step 103: obtaining a current coordinate of an end plane of the mechanical arm, and determining a target projection point and a target normal vector on the end plane according to the current coordinate; step 104: determining a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane, and the unit normal vector of the target plane and the preset projection point; and step 105: correcting the initial position information of the target plane by the displacement, so that the mechanical arm moves to a corrected target plane.
[0027] According to the position information of the target plane and the end plane to which the mechanical arm is directed, the displacement between the end plane and the target plane is determined, the position of the target plane after the movement of the mechanical arm relative to the mechanical arm is corrected, the movement of the mechanical arm is compensated, so that the end plane of the mechanical arm reaches the target plane, and the positioning accuracy of the mechanical arm is improved.
[0028] In the embodiment, the position is collected by a binocular camera, and in order to continue to collect the plane after the movement of the mechanical arm and the target plane, the position of the plane is determined by a positioning tool. As shown in FIG. 2, a positioning tool A is arranged on the target plane C1 and a positioning tool B is arranged on the end plane C2 of the mechanical arm, the positioning tool A is rigidly fixed on the target plane C1, and the positioning tool B is rigidly fixed with the end plane C2 of the mechanical arm.
[0029] The positioning tool refers to an object that can be recognized and tracked by a camera, and the positioning tool can include multiple positioning tools. When the binocular field of view is obtained, the spatial position and attitude of the positioning tool relative to the binocular camera can be obtained.
[0030] The transformation matrix MA between the position of the positioning tool A in the world coordinate system and the position in the camera coordinate system, and the transformation matrix MB of the positioning tool B and the camera coordinate system can be determined in advance by camera calibration.
[0031] In step 101, the initial position information of the target plane C1 can include a plane equation of the target plane in the world coordinate system, a unit normal vector, and a preset projection point. The preset projection point refers to a point on the target plane that is set in advance. The preset projection point can be set according to the alignment requirement, for example, the left upper corner of the target plane is taken as the preset projection point for alignment from the left upper corner.
[0032] Specifically, a first coordinate where a first positioning tool (i.e., the positioning tool P) is located is collected by a binocular camera, wherein the first positioning tool is arranged on the target plane and outside the target plane; the first coordinate is converted to a world coordinate system according to a coordinate transformation matrix between the binocular camera and the target plane, to obtain a second coordinate; a first plane equation of the target plane is determined based on the second coordinate, and a unit normal vector of a preset point on the target plane and a preset projection point are obtained based on the first plane equation.
[0033] The first coordinate is converted to the world coordinate system according to a coordinate transformation matrix between the binocular camera and the target plane to obtain a second coordinate, including: the first coordinate is converted to the world coordinate system by a coordinate transformation matrix between the binocular camera and a second positioning tool (i.e., the positioning tool A) that is rigidly fixed to the target plane.
[0034] As shown in FIG. 2, the first positioning tool is a needle-type positioning tool, referred to as the positioning tool P. The first coordinate of a plurality of points on the target plane can be collected by the positioning tool P. The needle tip of the positioning tool P is kept at different positions on the target plane, and then the first coordinate P1 where the first positioning tool is located in the camera coordinate is obtained by the binocular camera. A plurality of points on the target plane are collected multiple times to obtain at least three points P1, P2, and P3 that are not on the same straight line. The first coordinates P1, P2, and P3 are three-dimensional coordinates of the positioning tool P in the camera coordinate system. The collected first coordinates P1, P2, and P3 are multiplied by the inverse matrix MA_INV of the transformation matrix of the target plane to convert them to three-dimensional coordinates P1', P2', and P3' in the positioning tool A coordinate system. According to the coordinate transformation matrix MA between the target plane and the binocular camera, the first coordinates P1, P2, and P3 can be converted to the world coordinate system to obtain second coordinates P1_new, P2_new, and P3_new. The target plane can be represented by the three non-collinear second coordinates P1_new, P2_new, and P3_new, and the first plane equation of the target plane is solved.
[0035] Then the positioning tool P is placed on one side of the target plane at a preset distance from the plane, and a point P4 outside the target plane is collected to obtain a corresponding second coordinate P4_new. P4_new can be used to determine the plane normal vector. The calculation process is as follows: first, the difference vector of the vector P2_new to P1_new is calculated, denoted as v1=P2_new-P1_new. Then, the difference vector of the vector P3_new to P1_new is calculated, denoted as v2=P3_new-P1_new. The cross product of the obtained two difference vectors v1 and v2 is taken to obtain the temporary normal vector n of the plane.
[0036] Using a known point P1_new on the plane with the plane normal vector n, the equation of the plane is obtained. Assuming the plane equation is Ax+By+Cz+D=0, where (A, B, C) are the components of the normal vector n, which can be obtained by normalizing the normal vector, and D=-(A*P1_new.x+B*P1_new.y+C*P1_new.z). Where P1_new.x is the component of the second coordinate P1_new in the x direction, P1_new.y is the component of the second coordinate P1_new in the y direction, and P1_new.z is the component of the second coordinate P1_new in the z direction.
[0037] Then, the perpendicular distance h of point P4_new to the plane is calculated: using the plane equation, the coordinates of point P4_new are substituted in, and the distance h of point P4_new to the plane is calculated h=(A*P4_new.x+B*P4_new.y+C*P4_new.z+D) / sqrt(A^2+B^2+C^2).
[0038] The projection point O1 (i.e., the preset projection point) is calculated: The coordinates of the projection point O1 can be obtained by moving the coordinates of the point P4_new in the direction of the plane normal vector n by a distance h, which is specifically represented as: O1.x=P4_new.x-h*n.x; O1.y=P4_new.y-h*n.y; O1.z=P4_new.z-h*n.z Next, the unit normal vector of the projection point O1 to the point P4_new is calculated, which is done according to the following steps: Calculate the vector v=P4_new-O1 from the projection point O1 to the point P4_new; Calculate the length of the vector v ||v||: ||v||=sqrt(v.x^2+v.y^2+v.z^2) Calculate the unit normal vector N1: Normalize the vector v, i.e., normalize its length to 1, to obtain the unit normal vector N1: N1.x=v.x / ||v|| N1.y=v.y / ||v|| N1.z=v.z / ||v|| In step 102, after obtaining the initial position information of the target plane, the angles of each joint of the robot arm are calculated according to the initial position information, and the robot arm motor is controlled to run, so that the robot arm end moves to the position of the target plane.
[0039] In step 103, after the movement of the robot arm, the current coordinates of the robot arm end plane C2 are obtained. Obtaining the current coordinates of the robot arm end plane includes: collecting positioning coordinates on the end plane through a binocular camera; and converting the positioning coordinates to a world coordinate system according to a coordinate conversion matrix between the end plane and the binocular camera to obtain the current coordinates.
[0040] The current coordinates of the end plane C2 can be acquired by the positioning tool P. Referring to the method in step 101, the positioning tool P is placed on the end plane, the coordinates of multiple points on the end plane can be acquired, and the coordinates are converted into world coordinates by using the coordinate conversion matrix MB between the end plane and the binocular camera.
[0041] Exemplarily, the current coordinates can include the coordinates of at least three points on the end plane and the coordinates of at least one point outside the end plane. Then, the second plane equation of the end plane, the target projection point O2 and the target normal vector N2 can be obtained by using the coordinates of the at least four points. The target normal vector N2 is the unit normal vector of the end plane. The specific process of calculating the second plane equation of the end plane, the target projection point O2 and the target normal vector N2 can refer to step 101, which will not be described here.
[0042] In step 104, the displacement between the end plane and the target plane can be calculated according to the target projection point and the target normal vector on the end plane, and the unit normal vector of the target plane and the preset projection point. Specifically: calculate the position difference between the end plane and the target plane: O_diff = O1 - O2; calculate the difference between the normal vectors of the end plane and the target plane: N_diff = N1 - N2.
[0043] The displacement between the end plane and the target plane can include the position difference and the difference between the normal vectors.
[0044] In step 105, the position difference and the normal vector difference are added to the position and the normal vector of the target plane respectively to obtain the corrected new target plane: O_new = O_diff + O1 N_new = N_diff + N1 Then, the joint angle of the robot arm is recalculated according to the position information of the corrected target plane, and the robot arm is controlled to move to the new position again.
[0045] Moreover, the above steps 103 to 105 are repeated until the displacement between the target plane and the end plane approaches 0 or equals 0.
[0046] By using the above method provided by the embodiment, the end plane of the robot arm can reach the target plane more accurately through compensation movement, thereby improving the positioning accuracy. Moreover, the problems caused by the machining and calibration errors of the robot arm can be reduced through compensation movement, thereby improving the working efficiency of the robot arm. The embodiment can be used with various types of three-axis robot arms, and has wide applicability and flexibility.
[0047] Further, the embodiment also provides a mechanical arm position alignment device which can be used to execute the above-mentioned mechanical arm position alignment method. Specifically, the mechanical arm position alignment device comprises: a target plane determination module configured to determine initial position information of a target plane to which a mechanical arm is directed, wherein the initial position information comprises a unit normal vector of the target plane and a preset projection point; a mechanical arm control module configured to control the mechanical arm to move according to the initial position information of the target plane; a mechanical arm position determination module configured to obtain a current coordinate of an end plane of the mechanical arm, and determine a target projection point and a target normal vector on the end plane according to the current coordinate; a displacement determination module configured to determine a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane, and the unit normal vector of the target plane and the preset projection point; and a motion compensation module configured to correct the initial position information of the target plane by the displacement, so as to make the mechanical arm move to a corrected target plane.
[0048] In an example embodiment, the target plane determination module comprises: a coordinate acquisition module configured to acquire a first coordinate of a first positioning tool located at a first position by using a binocular camera, wherein the first positioning tool is arranged on the target plane and outside the target plane; a coordinate conversion module configured to convert the first coordinate to a world coordinate system according to a coordinate transformation matrix between the binocular camera and the target plane, to obtain a second coordinate; and a normal vector determination module configured to determine a first plane equation of the target plane based on the second coordinate, and obtain a unit normal vector and a preset projection point of a preset point on the target plane based on the first plane equation.
[0049] In an example embodiment, the coordinate conversion module is configured to convert the first coordinate to a world coordinate system by using a coordinate transformation matrix between the binocular camera and a second positioning tool rigidly fixed to the target plane, to obtain a second coordinate.
[0050] In an example embodiment, the mechanical arm position determination module comprises: a mechanical arm position acquisition module configured to acquire a positioning coordinate on the end plane by using a binocular camera; and a position conversion module configured to convert the positioning coordinate to a world coordinate system according to a coordinate transformation matrix between the end plane and the binocular camera, to obtain a current coordinate.
[0051] In an example embodiment, the current coordinate comprises coordinates of at least three points on the end plane which are not on the same straight line, and coordinates of at least one point outside the end plane.
[0052] The specific details of each module or unit in the above mechanical arm position alignment device have been described in detail in the corresponding mechanical arm position alignment method, and thus will not be described here again.
[0053] The embodiment of the present application also provides an electronic device, and FIG. 3 shows a structural schematic diagram of an electronic device suitable for implementing the embodiment of the present disclosure. The electronic device 300 shown in FIG. 3 is only an example, and should not bring any limitation to the functions and use range of the embodiment of the present disclosure.
[0054] As shown in FIG. 3, the electronic device 300 includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 302 or programs loaded from a storage portion 308 into a random access memory (RAM) 303. In the RAM 303, various programs and data required for system operation are also stored. The CPU 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0055] The following components are connected to the I / O interface 305: an input portion 306 including a keyboard, a mouse, and the like; an output portion 307 including a cathode ray tube (CRT), a liquid crystal display (LCD), and the like, and a speaker, and the like; a storage portion 308 including a hard disk, and the like; and a communication portion 309 including a network interface card such as a LAN card, a modem, and the like. The communication portion 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as necessary. A removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and the like is mounted on the drive 310 as necessary, so that a computer program read therefrom is installed in the storage portion 308 as necessary.
[0056] In particular, according to the embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, the embodiment of the present disclosure includes a computer program product including a computer program carried on a computer readable medium, the computer program containing program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network by the communication portion 309, and / or installed from the removable medium 311. When the computer program is executed by the central processing unit (CPU) 301, the above-mentioned functions defined in the embodiment of the present application are executed.
[0057] For example, when the computer program is executed by the central processing unit (CPU) 301, the following can be performed: determining initial position information of a target plane to which a mechanical arm aims, the initial position information including a unit normal vector of the target plane and a preset projection point; controlling the mechanical arm to move according to the initial position information of the target plane; obtaining a current coordinate of an end plane of the mechanical arm, and determining a target projection point and a target normal vector on the end plane according to the current coordinate; determining a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane and the unit normal vector of the target plane and the preset projection point; and correcting the initial position information of the target plane through the displacement, so that the mechanical arm moves to a corrected target plane.
[0058] It should be noted that the computer readable medium shown in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. The computer readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples of computer readable storage media can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus. In the present disclosure, the computer readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer readable program code. Such a propagated data signal can take many forms, including but not limited to an electromagnetic signal, an optical signal or any suitable combination of the above. The computer readable signal medium can also be any computer readable medium other than the computer readable storage medium, which can send, propagate or transmit a program for use by or in conjunction with an instruction execution system, device or apparatus. The program code contained on the computer readable medium can be transmitted by any suitable medium, including but not limited to wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0059] The computer program product of the first aspect can be tangibly embodied in a non-transitory computer readable storage medium. The computer program product can include a computer program. The computer program can include instructions that, when executed by a computer, cause the computer to carry out a computer process according to any of the methods described herein. The computer process can include causing a computer to carry out the steps of any of the methods described herein.
[0060] The units described in the embodiments of the present disclosure can be implemented by software, or by hardware, or by a combination of software and hardware. The units described can be located in a single hardware, or can be distributed on multiple hardware. The units described can be implemented as a component of a processor, or can be implemented as a component independent of a processor.
[0061] As another aspect, the present disclosure also provides a computer readable medium, which can be included in the electronic device described in the above embodiments, or can exist independently without being assembled in the electronic device. The computer readable medium carries one or more programs including instructions, which, when executed by the electronic device, cause the electronic device to implement the method described in the above embodiments.
[0062] It should be noted that although several modules or units for performing actions are mentioned in the above detailed description, the division into such modules or units is not mandatory. In fact, according to the embodiments of the present disclosure, features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, features and functions of one module or unit described above can be further divided into multiple modules or units.
[0063] The above merely describes some embodiments of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present disclosure should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.
Claims
1. A method of aligning a robot position, characterized by, The method comprises the following steps: determining initial position information of a target plane for a mechanical arm, the initial position information comprising a unit normal vector of the target plane and a preset projection point; controlling the mechanical arm to move according to the initial position information of the target plane; obtaining a current coordinate of an end plane of the mechanical arm, and determining a target projection point and a target normal vector on the end plane according to the current coordinate; determining a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane and the unit normal vector of the target plane and the preset projection point; correcting the initial position information of the target plane through the displacement, so that the mechanical arm moves to a corrected target plane; the method of determining the initial position information of the target plane for the mechanical arm comprises the following steps: collecting a first coordinate of a first positioning tool through a binocular camera, wherein the first positioning tool is arranged on the target plane and outside the target plane; converting the first coordinate to a world coordinate system to obtain a second coordinate according to a coordinate transformation matrix between the binocular camera and the target plane; determining a first plane equation of the target plane based on the second coordinate, and obtaining a unit normal vector of a preset point on the target plane and a preset projection point based on the first plane equation; the method of converting the first coordinate to the world coordinate system to obtain the second coordinate according to the coordinate transformation matrix between the binocular camera and the target plane comprises the following steps: converting the first coordinate to the world coordinate system through a coordinate transformation matrix between the binocular camera and a second positioning tool, wherein the second positioning tool is rigidly fixed to the target plane.
2. The mechanical arm position alignment method of claim 1, wherein, the method of obtaining the current coordinate of the end plane of the mechanical arm comprises the following steps: collecting a positioning coordinate on the end plane through a binocular camera; converting the positioning coordinate to a world coordinate system to obtain a current coordinate according to a coordinate transformation matrix between the end plane and the binocular camera.
3. The mechanical arm position alignment method of claim 2, wherein, The current coordinate comprises coordinates of at least three points on the end plane which are not on the same straight line and coordinates of at least one point outside the end plane.
4. A robotic arm position alignment apparatus, characterized by, The method comprises the following steps: a target plane determination module is configured to determine initial position information of a target plane for a mechanical arm, the initial position information comprising a unit normal vector of the target plane and a preset projection point; a mechanical arm control module is configured to control the mechanical arm to move according to the initial position information of the target plane; a mechanical arm position determination module is configured to obtain a current coordinate of an end plane of the mechanical arm, and determine a target projection point and a target normal vector on the end plane according to the current coordinate; a displacement determination module is configured to determine a displacement between the end plane and the target plane according to the target projection point and the target normal vector on the end plane and the unit normal vector of the target plane and the preset projection point; a motion compensation module is configured to correct the initial position information of the target plane through the displacement, so that the mechanical arm moves to a corrected target plane; the target plane determination module comprises: The coordinate acquisition module is configured to acquire a first coordinate where a first positioning tool is located by using a binocular camera, wherein the first positioning tool is arranged on the target plane and outside the target plane. The coordinate conversion module is configured to convert the first coordinate to a world coordinate system according to a coordinate transformation matrix between the binocular camera and the target plane, and obtain a second coordinate. The normal vector determination module is configured to determine a first plane equation of the target plane based on the second coordinate, and obtain a unit normal vector of a preset point on the target plane and a preset projection point based on the first plane equation. The coordinate conversion module is configured to: convert the first coordinate to a world coordinate system through a coordinate transformation matrix between the binocular camera and a second positioning tool, and obtain a second coordinate, wherein the second positioning tool is rigidly fixed to the target plane.
5. The mechanical arm position alignment apparatus according to claim 4, wherein The robot arm position determination module comprises: A robot arm position acquisition module is configured to acquire a positioning coordinate on the end plane by using a binocular camera. The position conversion module is configured to convert the positioning coordinate to a world coordinate system according to a coordinate transformation matrix between the end plane and the binocular camera, and obtain a current coordinate.
6. An electronic device, comprising: The electronic device comprises a processor and a memory, and the memory stores one or more computer programs comprising instructions, which, when executed by the electronic device, cause the electronic device to perform the robot arm position alignment method of any one of claims 1-3.
Citation Information
Patent Citations
Space mechanical arm system error correction method facing maintenance tasks
CN107351084A
Projection correction method and device, projector and computer program product
CN115314689A
Mechanical arm position alignment method and device and electronic equipment
CN118418139A
Industrial robot
JP1995205071A
Robot system and method for controlling robot system
JP2021010998A