Nothing Special   »   [go: up one dir, main page]

WO2019114629A1 - 一种获取机器人tcp坐标的方法和装置 - Google Patents

一种获取机器人tcp坐标的方法和装置 Download PDF

Info

Publication number
WO2019114629A1
WO2019114629A1 PCT/CN2018/119786 CN2018119786W WO2019114629A1 WO 2019114629 A1 WO2019114629 A1 WO 2019114629A1 CN 2018119786 W CN2018119786 W CN 2018119786W WO 2019114629 A1 WO2019114629 A1 WO 2019114629A1
Authority
WO
WIPO (PCT)
Prior art keywords
coordinate
coordinate system
coordinates
tcp
arm
Prior art date
Application number
PCT/CN2018/119786
Other languages
English (en)
French (fr)
Inventor
宫明波
刘达
Original Assignee
北京柏惠维康科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京柏惠维康科技有限公司 filed Critical 北京柏惠维康科技有限公司
Publication of WO2019114629A1 publication Critical patent/WO2019114629A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant

Definitions

  • Embodiments of the present invention relate to the field of artificial intelligence, and in particular, to a method and apparatus for acquiring TCP coordinates of a robot.
  • the coordinate conversion relationship between the end coordinate system of the arm and the coordinate system of the arm can be calculated by the DH parameter, and the error is small, how to accurately obtain the tool's own coordinate system origin (Tool Center Point, TCP) in the machine
  • TCP Tool Center Point
  • the coordinates in the arm end coordinate system are the key factors that affect the accuracy of its work.
  • the coordinates of TCP in the end coordinate system of the robot arm can be calculated or measured by the theoretical size of the robot arm end coordinate system in combination with the tool itself, which is called the theoretical coordinate of TCP. That is to say, when the tool is assembled to the end of the robot arm, the theoretical coordinates of TCP can only be used to perform the work task.
  • dimensional errors usually occur during the processing of the tool according to the design drawings. Assembly errors may occur during the assembly of the tool to the end of the robot arm. The tool may be affected by the environment and may also cause deformation errors. The measurement process may also occur. Generate measurement errors, etc. These errors will cause the actual coordinates of TCP in the end coordinate system of the arm to deviate from the theoretical coordinates of TCP. If the TCP is calibrated with the theoretical coordinates of TCP, it will inevitably result in the position of the calibrated TCP. There is an error between the actual TCP positions, which affects the working accuracy of the robot.
  • One of the technical problems solved by the embodiments of the present application is to provide a method and apparatus for acquiring the TCP coordinates of a robot.
  • a calculation number threshold and/or an error threshold By setting a calculation number threshold and/or an error threshold, the points marked on the robot end tool of the robot are at the end of the robot arm.
  • the error generated by the coordinates in the coordinate system is controlled within a small range, thereby narrowing the range of errors generated by the robot during the execution of the work task, thereby improving the working precision of the robot.
  • the embodiment of the present application provides a method for acquiring a TCP coordinate of a robot, including:
  • a point on the tool marking the end of the robot arm that can be recognized by the sensor is TCP
  • the theoretical coordinate of the TCP is set to the current coordinate of the marked point in the coordinate system of the end of the arm
  • the threshold of calculation times is set, and the number of calculations is initialized. 0, and / or set the error threshold and initialize f (TCP x, y, z ) past value of 0;
  • S200 obtaining, according to the movement of the marked point within the sensor identification range, M positions for establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system, and N positions for collecting errors, wherein M There are at least three positions in the position that are not collinear, M is an integer, and M ⁇ 3, N is an integer, and N ⁇ 1;
  • S600 The current coordinate of the marked point in the end coordinate system of the arm is taken as the actual coordinate of the TCP.
  • the step of coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system established by using the M positions comprises:
  • the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system is obtained according to the M coordinates of the marked point in the robot arm coordinate system and the coordinates of the marked point in the sensor coordinate system.
  • the steps include:
  • the coordinate R i of the marked point in the coordinate system of the arm is obtained.
  • the coordinates R i of the marked points in the robot arm coordinate system are converted into the sensor coordinate system to obtain the coordinates R′ i , and the coordinates R′ i and the coordinates are compared.
  • the coordinates R i of the marked point in the robot arm coordinate system are obtained;
  • the coordinate C i of the marked point in the sensor coordinate system is converted to the coordinate of the robot arm coordinate system C' i ,
  • the step of obtaining the coordinates of the marked point in the end coordinate of the arm according to f(TCP x, y, z ) now and least squares is:
  • the step of obtaining the sum of the squares of the coordinate errors of the marked points at the N positions is:
  • the sum of the squares of the differences obtained at each of the N positions is added to obtain the sum of the squares of the coordinate errors of the marked points at the N positions.
  • the calculation formula for obtaining coordinates of the marked point in the end coordinate system of the arm according to f(TCP x, y, z ) now and the least square method is specifically:
  • the embodiment of the present application further provides an apparatus for acquiring TCP coordinates of a robot, including:
  • Mark TCP and set threshold module which is used to mark the point on the tool end of the robot that can be recognized by the sensor as TCP, and set the theoretical coordinate of TCP to the current coordinate of the marked point in the end coordinate system of the arm. Calculate the number of thresholds and initialize the number of calculations to 0, and / or set the error threshold and initialize f (TCP x, y, z ) past value of 0;
  • a position obtaining module configured to obtain M positions for establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system and N positions for collecting errors according to the movement of the marked points within the sensor recognition range, wherein, at least three of the M positions are not collinear, M is an integer, and M ⁇ 3, N is an integer, and N ⁇ 1;
  • the sum of squares of the coordinate error acquisition module is used to convert the current coordinate between the current coordinate in the end coordinate system of the robot arm and the coordinate system of the end of the arm and the coordinate system of the robot arm according to the marked point, and the marked point is at the sensor coordinate
  • Threshold comparison module for comparing
  • a data processing module configured to add 1 to the number of calculations when the number of calculations is less than the number of calculation thresholds and/or
  • a coordinate calculation module configured to calculate coordinates of the marked point in the end coordinate system of the arm according to f(TCP x, y, z ) now and least squares in the data processing module, and send the obtained coordinates to the coordinates The square of the error acquisition module;
  • the actual coordinate setting module is configured to mark the number of calculations greater than or equal to the number of calculation thresholds and/or
  • the current coordinate of the point in the end coordinate system of the arm is taken as the actual coordinate of the TCP.
  • the sum of squares of the coordinate error acquisition module further includes: a coordinate transformation relationship establishing module, configured to convert a coordinate relationship between the corresponding robot arm end coordinate system and the robot arm coordinate system at the M positions, Combine with the current coordinates of the marked points in the end coordinate system of the arm, obtain the M coordinates of the marked points in the robot arm coordinate system, and according to the M coordinates of the marked points in the robot arm coordinate system And the coordinates of the marked point in the sensor coordinate system, the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system is obtained.
  • a coordinate transformation relationship establishing module configured to convert a coordinate relationship between the corresponding robot arm end coordinate system and the robot arm coordinate system at the M positions, Combine with the current coordinates of the marked points in the end coordinate system of the arm, obtain the M coordinates of the marked points in the robot arm coordinate system, and according to the M coordinates of the marked points in the robot arm coordinate system And the coordinates of the marked point in the sensor coordinate system, the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system is obtained
  • the sum of squares of the coordinate error acquisition module further includes: a coordinate determining module, configured to: between the current coordinate in the end coordinate system of the arm and the end coordinate system of the arm and the coordinate system of the arm according to the marked point Coordinate transformation relationship, obtaining the coordinates R i of the marked points in the robot arm coordinate system;
  • a coordinate conversion module configured to convert the coordinate R i of the marked point in the robot arm coordinate system to the sensor coordinate system to obtain the coordinate R′ i according to the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system, or For converting the coordinate C i of the marked point in the sensor coordinate system to the coordinate of the robot arm according to the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system to obtain the coordinate C′ i ;
  • the coordinate comparison module is configured to compare the coordinate R′ i with the coordinate C i of the marked point in the sensor coordinate system, obtain the sum of the squares of the coordinate errors of the marked points at the N positions, or compare the coordinates C′ i and the coordinate R i of the marked point in the robot arm coordinate system, the sum of the squares of the coordinate errors of the marked points at N positions, where 1 ⁇ i ⁇ N.
  • the coordinate calculation module is specifically configured to obtain coordinates of the marked point in the end coordinate system of the arm according to f(TCP x, y, z ) now and nonlinear least squares.
  • the coordinate comparison module is specifically configured to calculate, on each of the N positions, a difference between a coordinate of the coordinate R′ i on each coordinate axis and a coordinate of the coordinate C i on each coordinate axis. sum of square;
  • the sum of the squares obtained at each of the N positions is added to obtain the sum of the squares of the coordinate errors of the marked points at the N positions.
  • the formula for calculating the coordinates of the marked point in the coordinate system of the end of the arm in the coordinate calculation module is:
  • the method and device for acquiring the TCP coordinates of the robot provided by the embodiment of the present application, by using the coordinates of the point marked on the tool at the end of the robot arm in the coordinate system of the robot arm and the coordinate system under the sensor coordinate system Converting the coordinates to the same coordinate system, calculating the sum of the squares of the coordinate errors converted from the above two coordinates to the same coordinate system, and comparing the absolute value of the difference between the squares of the previous two times and the set error threshold.
  • the current coordinate of the marked point in the end coordinate system of the arm is taken as the actual coordinate of the TCP, or when the minimum square is used according to the square sum of the coordinate errors
  • the multiplication calculation points the number of times the current coordinates of the points in the end coordinate system of the arm exceed the set calculation number threshold the current coordinates of the marked points in the end coordinate system of the arm are set to the actual coordinates of the TCP.
  • the absolute value of the difference between the squared sum of the coordinate errors of the two times before and after is less than or equal to the set error threshold and the number of calculations exceeds the set meter
  • the threshold is used, the current coordinate of the marked point in the end coordinate system of the arm is set to the actual coordinate of the TCP.
  • FIG. 1 is a schematic flowchart of a method for a robot to acquire TCP coordinates according to an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of an apparatus for acquiring TCP coordinates by a robot according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a mechanical arm and a sensor according to an embodiment of the present application.
  • the coordinates of the tool's own coordinate system origin (Tool Center Point, TCP) in the end coordinate system of the arm and the actual coordinates of the TCP are calculated or measured by the theoretical coordinate of the robot arm end coordinate system and the tool itself.
  • TCP Tool Center Point
  • the embodiment of the present application provides a method for acquiring the TCP coordinates of the robot. As shown in FIG. 1 , the method includes steps S100-S600, specifically:
  • Step S100 marking a point on the tool at the end of the robot arm that can be recognized by the sensor as TCP, and setting the theoretical coordinate of the TCP to the current coordinate of the marked point in the end coordinate system of the arm, setting the calculation number threshold and initializing the calculation. number is 0, and / or set the error threshold and initialize f (TCP x, y, z ) past value of zero.
  • the dot is marked as TCP.
  • the marked point can be set as an optical marker point; when the sensor is an electromagnetic sensor, the marked point can be set as an electromagnetic marker point; when the sensor is an ultrasound probe, it can be set
  • the marked points are ultrasonic marking points; when the sensor is an infrared sensor, the marked points can be set as infrared marking points, or when the sensor is other types of sensors, the marking points corresponding to other types of sensors are set.
  • the actual coordinates of the TCP in the robot arm end coordinate system are not determined in step S100.
  • the embodiment of the present application determines the actual coordinates of the TCP according to the marked points.
  • the theoretical coordinates of TCP can be obtained by using the measurement tool or according to the coarse calibration algorithm according to the theoretical size of the tool itself and the end coordinate system of the arm.
  • the number of calculations may be initialized and the calculation number threshold may be set, and f(TCP x, y, z ) past may be initialized and an error threshold may be set, or only the number of calculations may be initialized.
  • the calculation number threshold and the error threshold are the end conditions of the coordinate calculation cycle used when setting the actual TCP coordinates, that is, the error threshold may be used only as the end condition of the loop, or only the threshold of the calculation number may be used as the loop. In the end condition, the calculation number threshold and the error threshold can also be used as the end condition of the loop.
  • the embodiment of the present application sets the calculation number threshold and initializes the calculation number to 0, and/or sets the error threshold and initializes the value of f(TCP x, y, z ) past to 0.
  • Step S200 According to the movement of the marked point within the sensor recognition range, obtain M positions for establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system, and N positions for collecting errors, wherein M At least three of the positions are not collinear, M is an integer, and M ⁇ 3, N is an integer, and N ⁇ 1.
  • a plurality of positions in which the marked point is within the sensor identification range can be obtained, where coordinate conversion between the robot arm coordinate system and the sensor coordinate system can be obtained.
  • M positions of the relationship and N positions for collecting errors wherein at least three of the M positions are not collinear, M is an integer, and M ⁇ 3, and at the same time, the sensor identification range according to the marked points Within the movement, N positions different from M positions are obtained for collecting the error between the coordinates of the marked point in the robot arm coordinate system and the coordinates in the sensor coordinate system, that is, collecting the marked points
  • the coordinates in the robot arm coordinate system and the coordinates in the sensor coordinate system are converted to coordinate errors obtained in the same coordinate system, where N is an integer and N ⁇ 1.
  • Step S300 According to the coordinate conversion relationship between the current coordinate of the marked point in the end coordinate system of the arm and the coordinate system of the arm end and the coordinate system of the robot arm, the coordinates of the marked point in the sensor coordinate system, and the utilization
  • the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system established by the M positions obtains a sum of squares f(TCP x, y, z ) now of the coordinate errors of the marked points at the N positions.
  • step S300 is: according to the current coordinates of the marked point in the end coordinate system of the arm, and the M arm end coordinate system and the arm coordinate when the marked point is located at the M positions a coordinate conversion relationship between the systems, and M coordinates in the sensor coordinate system when the marked points are located at the M positions, establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system;
  • the step of converting a coordinate relationship between the robot arm coordinate system and the sensor coordinate system established by using the M positions includes:
  • the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system is obtained according to the M coordinates of the marked point in the robot arm coordinate system and the coordinates of the marked point in the sensor coordinate system.
  • the point at which the marked point is located at the coordinate position conversion relationship between the corresponding M arm end coordinate system and the arm coordinate system at the M positions ie, when the marked point is at a certain position, the arm has a bit
  • the posture corresponds to, and the coordinate conversion relationship between the end coordinate system of the arm corresponding to the pose and the coordinate system of the robot arm can be obtained by the DH parameter. If there are M positions, there are corresponding M arm end coordinate systems.
  • the coordinate conversion relationship with the robot arm coordinate system is combined with the current coordinates of the marked point in the robot arm end coordinate system to obtain M coordinates of the marked point in the robot arm coordinate system;
  • M positions for establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system may be obtained, where M is greater than An integer equal to 3, and there are at least three non-collinear positions in the M positions; since the coordinate conversion relationship between the robot arm end coordinate system and the robot arm coordinate system can be calculated by the DH parameter, therefore, according to FIG. 3
  • the schematic diagram of the illustrated robot arm and sensor combines the coordinate conversion relationship between the robot arm end coordinate system and the robot arm coordinate system with the current coordinates of the marked point in the arm end coordinate system to obtain M positions.
  • the value of M is 3 or the value of M is 4.
  • the marked points are non-collinear positions in 3 locations in real space; when the value of M is 4, the marked points can be non-common in 4 locations in real space. Face position.
  • the process of establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system by using the M positions may be:
  • the DH parameter can be used to obtain the coordinate conversion relationship between the end coordinate system of the arm and the coordinate system of the arm when the current arm is in the pose 1, and the origin of the end coordinate of the arm is in the machine.
  • the coordinate p1 in the arm coordinate system can be obtained from the machining drawing of the tool to obtain the theoretical coordinate of TCP in the end coordinate system of the arm, which is recorded as the current coordinate t1. Therefore, the current TCP in the robot arm coordinate system is represented by p1+t1.
  • the coordinates below note that the coordinates of the current TCP in the robot arm coordinate system are not the sum of the coordinates of p1 and the coordinates of t1.
  • p1+t1 is used to refer to the machine.
  • the coordinates of the current TCP in the robot arm coordinate system are explained when the arm is in the pose 1, and the same is described in the similar description below, that is, the coordinates of the point marked by the robot arm in the pose 1 in the robot arm coordinate system can be obtained. P1+t1.
  • By identifying the marked point by the sensor it is also possible to obtain the coordinate s1 of the point marked by the robot arm in the pose 1 in the sensor coordinate system.
  • the DH parameter can be used to obtain the coordinate conversion relationship between the arm end coordinate system and the arm coordinate system when the current arm is in the pose 2, and the origin of the arm end coordinate system is in the machine.
  • the coordinate p2 in the arm coordinate system because the obtained TCP coordinates t1 in the end coordinate system of the arm, the coordinates of the current TCP in the robot arm coordinate system are represented by p2+t1, that is, the robot arm is in the posture.
  • the point marked at 2 o'clock is the coordinate p2+t1 in the robot arm coordinate system.
  • the DH parameter can be used to obtain the coordinate conversion relationship between the arm end coordinate system and the arm coordinate system when the current arm is in the pose 3, and the origin of the arm end coordinate system is in the machine.
  • the point marked in pose 3 is the coordinate p3+t1 in the robot coordinate system.
  • p1+t1 and s1, p2+t1 and s2, p3+t1 and s3 can be utilized, that is, the coordinates of the three non-collinear points in the robot arm coordinate system and the sensor coordinate system are respectively The coordinates establish a coordinate transformation relationship between the robot arm coordinate system and the sensor coordinate system.
  • the process of establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system by using M positions may be:
  • the coordinates of the four non-coplanar points in the robot arm coordinate system and the coordinates in the sensor coordinate system are obtained, and one of the four non-coplanar points is obtained.
  • an origin and an affine coordinate system is established by using a line connecting the origin with the other three points as an axis; coordinates of the point in the sensor coordinate system and the affine according to each of the four non-coplanar points a coordinate system establishing a first spatial relationship between the sensor coordinate system and the affine coordinate system, and based on coordinates of each of the four non-coplanar points in the robot arm coordinate system and the affine coordinate system
  • the movement program or the movement path can be set for the robot arm, so that the robot arm automatically recognizes the sensor range.
  • the mobile it is of course possible to adopt other existing methods, which are not specifically limited in the embodiment of the present application.
  • step of obtaining the squared sum of the coordinate errors of the marked points at N positions f(TCP x, y, z ) now may be:
  • the coordinates R i of the marked point in the robot arm coordinate system are obtained;
  • the coordinate R i of the marked point in the robot arm coordinate system is converted into the sensor coordinate system to obtain the coordinate R′ i ;
  • the comparison coordinate R′ i and the The coordinate C i of the marked point in the sensor coordinate system (the coordinate C i is obtained by the sensor identifying the marked point), and the sum of the squares of the coordinate errors of the marked points at the N positions is obtained, where 1 ⁇ i ⁇ N.
  • the coordinate conversion between the arm end coordinate system and the robot arm coordinate system of the marked point at any of the N positions is also known (can be obtained by the DH parameter), so that the coordinates R i of the marked points in the robot arm coordinate system can be obtained; the coordinates between the robot arm coordinate system and the sensor coordinate system can be obtained by using M positions. Converting the relationship, so that the coordinate R i of the marked point in the robot coordinate system can be converted to the sensor coordinate system to obtain the coordinate R' i ; and the marked point is at any of the N positions.
  • the coordinate C i of the marked point in the sensor coordinate system can be obtained; then, by comparing the coordinate R′ i with the coordinate C i of the marked point in the sensor coordinate system, the The coordinate error of the marked point at each of the N positions, thereby obtaining the sum of the squares of the coordinate errors of the marked points at the N positions.
  • the step of obtaining the squared sum of the coordinate errors of the marked points at N positions f(TCP x, y, z ) now may also be:
  • the coordinate R i of the marked point in the robot arm coordinate system is obtained; Coordinate transformation relationship between the robot arm coordinate system and the sensor coordinate system, converting the coordinate C i of the marked point in the sensor coordinate system to the robot arm coordinate system to obtain the coordinate C′ i ; comparing the coordinate C′ i with the marked
  • the point R i in the robot arm coordinate system gives the sum of the squares of the coordinate errors of the marked points at N positions, where 1 ⁇ i ⁇ N.
  • the step of comparing the coordinates R' i with the coordinates C i to obtain the sum of the squares of the coordinate errors of the marked points at the N positions is:
  • the sum of the squares of the differences obtained at each of the N positions is added to obtain the sum of the squares of the coordinate errors of the marked points at the N positions.
  • the coordinates of the marked point in the robot arm coordinate system are obtained.
  • R i (x i , y i , z i ) according to the conversion relationship between the robot arm coordinate system and the sensor coordinate system, the coordinates R i (x i , y i , z i ) are converted into the sensor coordinate system to obtain coordinates R' i (x' i , y' i , z' i ), the coordinates R' i (x' i , y' i , z' i ) and the coordinates of the marked points in the sensor coordinate system C i ( x Ci , y Ci , z Ci )
  • the square of the coordinate error of the marked point at the current position can be obtained.
  • the coordinate C i (x ci , y ci , z ci ) of the marked point in the sensor coordinate system is converted to the coordinate system of the robot arm to obtain the coordinate C.
  • N 2 (x 1 , y 1 , z 1 ) and R 2 (x 2 , y 2 , z 2 ),
  • the sitting marks in the sensor coordinate system are C 1 (x C1 , y C1 , z C1 ) and C 2 (x C2 , y C2 , z C2 ), according to the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system.
  • R 1 and R 2 Converting R 1 and R 2 to the sensor coordinate system yields R′ 1 (x′ 1 , y′ 1 , z′ 1 ) and R′ 2 (x′ 2 , y′ 2 , z′ 2 ), and coordinates R ' 1 and C 1 , R' 2 and C 2 are compared to obtain the sum of squares of coordinate errors when N is 2.
  • Step S400 When
  • Step S500 Obtain coordinates of the marked point in the end coordinate system of the arm according to f(TCP x, y, z ) now and least squares, and use the obtained coordinates as the marked point in the end coordinate system of the arm.
  • the current coordinates are executed in step S300.
  • step S400 and step S500 are combined to be described.
  • the coordinates of TCP are the theoretical coordinate values of the marked points in the coordinate system of the end of the arm, and the value of f(TCP x, y, z ) past is the initialized value, that is, 0, and the number of calculations is also the initialized value. Also 0.
  • step S500 when the calculation of step S500 returns to step S300, the current coordinates of the marked point in the end coordinate system of the arm are already based on f(TCP x, y, z ) now and the coordinates obtained by the least squares method.
  • step S300 the current coordinate of the marked point in the coordinate system of the end of the arm is updated
  • step S300 the current coordinate of the marked point in the coordinate system of the end of the arm is updated
  • the robot arm coordinate system will be obtained.
  • the number of calculations is greater than or equal to the number of calculation thresholds.
  • the number of calculations referred to herein refers to the number of times the coordinates of the marked point in the end coordinate system of the arm are calculated according to f(TCP x, y, z ) now combined with the least squares method, when the number of times is greater than or equal to that set in step S100.
  • the number of times threshold is calculated, the trigger condition is satisfied, and the loop is ended;
  • the number of calculations is equal to or greater than the number of calculation thresholds and
  • step S600 the current coordinate of the marked point in the robot arm end coordinate system is taken as the actual coordinate of the TCP.
  • the number of calculations is increased by 1, that is, 1 is added on the basis of the current value of the calculation number, and the value of the calculation number is substituted into the judgment in the subsequent loop judgment;
  • f(TCP x, y, z ) now is assigned to f(TCP x, y, z ) past ;
  • the preferred steps for obtaining the coordinates of the marked point in the end coordinate of the arm according to f(TCP x, y, z ) now combined with the least squares method are:
  • the calculation formula of the coordinates of the marked point in the end coordinate system of the arm can be:
  • TCP is the coordinate of the marked point in the end coordinate system of the arm, and the formula is represented in a matrix form; Indicates the homogeneous coordinate in the sensor coordinate system when the marked point is at one of the N positions (the coordinate value calculated by the formula, that is, the coordinate established by the arm coordinate system and the machine established by using M positions)
  • the coordinate transformation relationship between the arm coordinate system and the sensor coordinate system is combined to obtain a matrix, wherein a conversion relationship matrix between the robot arm coordinate system and the sensor coordinate system obtained by combining the coordinates of the TCP to be solved at the M positions for the marked points, a homogeneous coordinate matrix in the robot arm coordinate system when the coordinate to be solved for the marked point is combined with a coordinate to be solved at one of the N positions;
  • E is an identity matrix.
  • the sensor coordinate system point set matrix to be acquired when using the M positions to establish the conversion relationship between the robot arm coordinate system and the sensor coordinate system specifically
  • x cam , y cam , z cam represent the coordinates of the three coordinate axes in the sensor coordinate system when the marked point is in one of the M positions
  • x camM , y camM , z camM The targets correspond to one of the M positions.
  • the matrix of the manipulator pose parameter when the marked point is at one of the N positions is obtained by the DH parameter of the arm and can be read from the pose information recorded by the arm itself.
  • the specific value can be obtained after the specific value is entered.
  • 1 ⁇ i ⁇ N the conversion relationship between the robot arm coordinate system and the sensor coordinate system
  • the embodiment of the present application further provides an apparatus for acquiring TCP coordinates of a robot, including:
  • Marking TCP and setting threshold module 201 a point on the tool for marking the end of the arm that can be recognized by the sensor is TCP, and setting the theoretical coordinate of the TCP to the current coordinate of the marked point in the end coordinate system of the arm, Set the calculation number threshold and initialize the number of calculations to 0, and / or set the error threshold and initialize f (TCP x, y, z ) past value of 0;
  • the position obtaining module 202 is configured to obtain, according to the movement of the marked point within the sensor identification range, M positions for establishing a coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system, and N positions for collecting errors Wherein, at least three of the M positions are not collinear, M is an integer, and M ⁇ 3, N is an integer, and N ⁇ 1;
  • the sum of squares of the coordinate error acquisition module 203 is used to convert the current coordinates of the marked point in the end coordinate system of the arm to the coordinate relationship between the end coordinate system of the arm and the coordinate system of the robot arm, and the marked point is at the sensor Coordinates in the coordinate system, and the coordinate transformation relationship between the robot arm coordinate system and the sensor coordinate system established by the M positions, and the sum of the squares of the coordinate errors of the marked points at the N positions is obtained (TCP) x,y,z ) now ;
  • the threshold comparison module 204 is coupled to the square of the coordinate error acquisition module 203 for comparing
  • the data processing module 205 is connected to the threshold comparison module 204 for using when the number of calculations is less than the calculation threshold and/or
  • the coordinate calculation module 206 is connected to the data processing module 205, and is configured to calculate the marked point in the end coordinate system of the arm according to f(TCP x, y, z ) now and least squares in the data processing module 205. Coordinates, and the obtained coordinates are sent to the square of the coordinate error sum acquisition module 203, so that the current coordinates of the points marked in the square sum acquisition module 203 in the end coordinate system of the arm are replaced;
  • the actual coordinate setting module 207 is connected to the threshold comparison module 204, and is used when the number of calculations is greater than or equal to the calculation number threshold and/or
  • the error threshold When equal to the error threshold, the current coordinate of the marked point in the end coordinate system of the arm is taken as the actual coordinate of the TCP.
  • the marking TCP and setting threshold module 201, the position obtaining module 202, the coordinate error square sum obtaining module 203, the threshold comparing module 204, the data processing module 205, the coordinate calculating module 206, and the actual coordinate setting module 207 can be executed. Preferred embodiments of the above method embodiments.
  • the coordinate sum acquisition module 203 of the coordinate error further includes a coordinate transformation relationship establishing module, configured to end the robot arm corresponding to the M positions
  • the coordinate conversion relationship between the coordinate system and the robot arm coordinate system is combined with the current coordinate of the marked point in the end coordinate system of the arm, and the M coordinates of the marked point in the robot arm coordinate system are obtained, and according to The M coordinates of the marked points in the robot arm coordinate system and the coordinates of the marked points in the sensor coordinate system obtain the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system.
  • the robot arm Since the marked point is in a certain position in the real space, the robot arm has a posture corresponding to the position of the marked point, and the DH parameter can obtain the end point of the arm of the arm in a certain posture.
  • the coordinate conversion relationship between the system and the robot arm coordinate system In the embodiment of the present application, there are M positions for the coordinate system conversion relationship that the marked points move within the sensor recognition range, so there are M machines.
  • the marked point can be obtained in the robot arm coordinate system.
  • the M coordinates, and thus the M coordinates of the marked points in the sensor coordinate system can establish the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system.
  • the sum of squares of the coordinate error acquisition module 203 also obtains the sum of the squares of the coordinate errors through the coordinate determination module, the coordinate conversion module and the coordinate comparison module. among them:
  • a coordinate determining module configured to obtain a marked point in the robot coordinate system according to a coordinate conversion relationship between the current coordinate of the marked point in the end coordinate system of the arm and the coordinate system of the arm end and the coordinate system of the arm Coordinate R i ;
  • a coordinate conversion module configured to convert the coordinate R i of the marked point in the robot arm coordinate system to the sensor coordinate system to obtain the coordinate R′ i according to the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system, or For converting the coordinate C i of the marked point in the sensor coordinate system to the coordinate of the robot arm according to the coordinate conversion relationship between the robot arm coordinate system and the sensor coordinate system to obtain the coordinate C′ i ;
  • the coordinate comparison module is configured to compare the coordinate R′ i with the coordinate C i of the marked point in the sensor coordinate system, obtain the sum of the squares of the coordinate errors of the marked points at the N positions, or compare the coordinates C′ i and the coordinate R i of the marked point in the robot arm coordinate system, the sum of the squares of the coordinate errors of the marked points at N positions, where 1 ⁇ i ⁇ N.
  • the coordinate calculation module is specifically configured to obtain the coordinates of the marked point in the end coordinate system of the arm according to f(TCP x, y, z ) now and the nonlinear least squares method.
  • the coordinate calculation module 206 can also obtain the coordinates of the marked point in the coordinate system of the end of the robot arm by other methods, such as a linear least squares method, etc., which is not specifically limited in this embodiment, as long as it can be accurately obtained.
  • the marked point can be at the coordinates of the end coordinate system of the arm.
  • coordinate comparison module is specifically configured to:
  • the sum of the squares of the differences obtained at each of the N positions is added to obtain the sum of the squares of the coordinate errors of the marked points at the N positions.
  • calculation formula of the coordinates of the marked point in the coordinate system of the end of the arm in the coordinate calculation module 206 is:
  • TCP is the coordinate of the marked point in the end coordinate system of the arm, and the formula is represented in a matrix form; a matrix representing the homogeneous coordinates (coordinate values calculated by the formula) in the sensor coordinate system of the marked points at N positions, wherein a conversion relationship matrix between the robot arm coordinate system and the sensor coordinate system obtained by combining the coordinates of the TCP to be solved at the M positions for the marked points, a homogeneous coordinate matrix in the robot arm coordinate system when the coordinate to be solved for the marked point is combined with a coordinate to be solved at one of the N positions; A matrix of homogeneous coordinates (coordinate values actually acquired by the sensor) in the sensor coordinate system when the marked point is located at one of the N positions; E is an identity matrix.
  • the sensor coordinate system point set matrix to be acquired when using the M positions to establish the conversion relationship between the robot arm coordinate system and the sensor coordinate system specifically
  • x cam , y cam , z cam represent the coordinates of the three coordinate axes in the sensor coordinate system when the marked point is in one of the M positions
  • x camM , y camM , z camM The targets correspond to one of the M positions.
  • the matrix of the manipulator pose parameter when the marked point is at one of the N positions is obtained by the DH parameter of the arm and can be read from the pose information recorded by the arm itself.
  • the apparatus for acquiring the TCP coordinates of the robot may be disposed in the robot, or may be disposed in other devices than the robot, or may be an independent device that does not depend on other devices.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of cells is only a logical function division.
  • multiple units or components may be combined or integrated. Go to another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be processed separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the software functional units described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform portions of the steps of various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, and the program code can be stored. Medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

一种获取机器人TCP坐标的方法和装置,通过计算将机械臂末端工具上所标记的点在机械臂坐标系下的坐标和在传感器坐标系下的坐标转换到同一个坐标系后的两个坐标之间误差的平方和,并对前后两次的平方和的差值的绝对值和设置的误差阈值进行比较,和/或对根据坐标误差的平方和结合最小二乘法计算所标记的点在机械臂末端坐标系中的当前坐标的计算次数和设定的计算次数阈值进行比较,当前后两次的坐标误差平方和的差值的绝对值小于等于设置的误差阈值和/或计算次数超过设定的计算次数阈值时,将所标记的点在机械臂末端坐标系中的当前坐标设置为TCP的实际坐标,提高了标定TCP坐标的精度。

Description

一种获取机器人TCP坐标的方法和装置 技术领域
本发明实施例涉及人工智能领域,尤其涉及一种获取机器人TCP坐标的方法和装置。
背景技术
随着科技的发展,机器人的应用领域越来越广泛。对于高精度加工领域和手术领域这两个应用领域中的机器人来说,其需要完成的工作任务对精度有很高的要求。
一般来说,高精度加工机器人和手术机器人在执行工作任务时,均需要在其自身机械臂上加装工具才能完成相关工作。由于机械臂末端坐标系与机械臂坐标系之间的坐标转换关系可以通过DH参数计算得出,其中的误差很小,那么,如何准确得到工具自身坐标系原点(Tool Center Point,TCP)在机械臂末端坐标系中的坐标是影响其工作精度的关键因素。目前,TCP在机械臂末端坐标系中的坐标可以通过机械臂末端坐标系结合工具自身的理论尺寸计算或测量得到,其称作TCP的理论坐标。也就是说,当工具装配到机械臂末端后,只能利用TCP的理论坐标来执行工作任务。
但是在根据设计图纸对工具进行加工的过程中一般会产生尺寸误差,将工具装配到机械臂末端的过程中可能会产生装配误差,工具受环境的影响也可能产生形变误差,测量过程中也可能产生测量误差等,这些误差均会使TCP在机械臂末端坐标系中的实际坐标与TCP的理论坐标产生偏差,若以TCP的理论坐标对TCP进行标定,那么必然造成所标定的TCP的位置和实际的TCP位置之间产生误差,从而影响机器人的工作精度。
发明内容
本申请实施例解决的技术问题之一在于提供一种获取机器人TCP坐标的方法和装置,通过设置计算次数阈值和/或误差阈值,将机器人的机械臂末端工具上所标记的点在机械臂末端坐标系中的坐标产生的误差控制在较小的范围内,从而缩小了机器人在执行工作任务过程中产生误差的范围,进而提高了机器人的工作精度。
一方面,本申请实施例提供了一种获取机器人TCP坐标的方法,包括:
S100:标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并将TCP的理论坐标设置为所标记的点在机械臂末端坐标系中的当前坐标,设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0;
S200:根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1;
S300:根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
S400:当|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值和/或计 算次数大于等于计算次数阈值时,执行S600;否则,将计算次数加1和/或将f(TCP x,y,z) now赋值给f(TCP x,y,z) past后执行S500。
S500:根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标,并将得到的坐标作为所标记的点在机械臂末端坐标系中的当前坐标,执行S300;
S600:将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标。
可选地,利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系步骤包括:
将所述M个位置上对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标;
根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
可选地,根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now的步骤包括:
根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐 标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i,比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i,得到所标记的点在N个位置上的坐标误差的平方和,或者,
根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在传感器坐标系中的坐标C i转换到机械臂坐标系下得到坐标C′ i
比较坐标C′ i与所标记的点在机械臂坐标系下的坐标R i,得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
可选地,根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标的步骤为:
根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端坐标系下的坐标。
可选地,得到所标记的点在N个位置上的坐标误差的平方和的步骤 为:
计算所述N个位置中每个位置上,坐标R′ i在各个坐标轴上的坐标与坐标C i在各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和,或者,
计算所述N个位置中每个位置上,坐标C′ i在各个坐标轴上的坐标与坐标R i在各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和。
可选地,所述根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标的计算公式具体为:
Figure PCTCN2018119786-appb-000001
另一方面,本申请实施例还提供了一种获取机器人TCP坐标的装置,包括:
标记TCP和设置阈值模块,用于标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并将TCP的理论坐标设置为所标记的点在机 械臂末端坐标系中的当前坐标,设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0;
位置获取模块,用于根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1;
坐标误差的平方和获取模块,用于根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
阈值比较模块,用于比较|f(TCP x,y,z) now-f(TCP x,y,z) past|和误差阈值的大小和比较计算次数和计算次数阈值的大小,并将比较结果发送给数据处理模块和/或实际坐标设置模块;
数据处理模块,用于当计算次数小于计算次数阈值和/或|f(TCP x,y,z) now-f(TCP x,y,z) past|大于误差阈值时,将计算次数加1和/或将从阈值比较模块中获取的f(TCP x,y,z) now赋值给f(TCP x,y,z) past
坐标计算模块,用于根据数据处理模块中的f(TCP x,y,z) now和最小二乘法计算得到所标记的点在机械臂末端坐标系下的坐标,并将得到的坐 标发送到坐标误差的平方和获取模块;
实际坐标设置模块,用于当计算次数大于等于计算次数阈值和/或|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值时,将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标。
可选地,所述坐标误差的平方和获取模块还包括:坐标转换关系建立模块,用于将所述M个位置上对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标,并根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
可选地,所述坐标误差的平方和获取模块还包括:坐标确定模块,用于根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
坐标转换模块,用于根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i,或者用于根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在传感器坐标系中的坐标C i转换到机械臂坐标系下得到坐标C′ i
坐标比较模块,用于比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i,得到所标记的点在N个位置上的坐标误差的平方和,或者用于比较坐标C′ i与所标记的点在机械臂坐标系下的坐标R i,得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
可选地,所述坐标计算模块具体用于根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端坐标系下的坐标。
可选地,所述坐标比较模块具体用于计算所述N个位置中每个位置上,坐标R′ i在各个坐标轴上的坐标与坐标C i在各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的平方和相加,得到标记点在N个位置上的坐标误差的平方和,或者,
计算所述N个位置中每个位置上,坐标C′ i在各个坐标轴上的坐标与坐标R i在各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和。
可选地,所述坐标计算模块中得到所标记的点在机械臂末端坐标系下的坐标的计算公式为:
Figure PCTCN2018119786-appb-000002
Figure PCTCN2018119786-appb-000003
由以上技术方案可见,本申请实施例提供的一种获取机器人TCP坐标的方法和装置,通过将机械臂末端的工具上所标记的点在机械臂坐标系下的坐标和在传感器坐标系下的坐标转换到同一个坐标系下,计算将上述两个坐标转换到同一个坐标系下的坐标误差的平方和,并将前后两次的平方和的差值的绝对值和设置的误差阈值比较,当该平方和的差值的绝对值小于等于设置的误差阈值时,将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标,或者当根据坐标误差的平方和利用最小二乘法计算所标记的点在机械臂末端坐标系中的当前坐标的计算次数超过设定的计算次数阈值时,将所标记的点在机械臂末端坐标系中的当前坐标设置为TCP的实际坐标,或者前后两次的坐标误差平方和的差值的绝对值小于等于设置的误差阈值且计算次数超过设定的计算次数阈值时,将所标记的点在机械臂末端坐标系中的当前坐标设置为TCP的实际坐标,前述三种方式不管哪种方式,都能够很大程度上减少工具加工过程中的尺寸误差,工具装配到机械臂末端的装配误差,工具受环境影响的形变误差等误差所造成的对TCP坐标值标定的影响,将标定过程中产生的误差控制在很小的范围内,很大程度上满足了机器人完成工作任务时对精度的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种机器人获取TCP坐标的方法流程示意图;
图2为本申请实施例提供的一种机器人获取TCP坐标的装置结构示意图;
图3为本申请实施例提供的机械臂和传感器的示意图。
具体实施方式
当然,实施本发明实施例的任一技术方案不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
针对已有技术中,利用机械臂末端坐标系结合工具自身的理论尺寸计算或者测量得到的工具自身坐标系原点(Tool Center Point,TCP)在机械臂末端坐标系中的坐标与TCP的实际坐标之间可能存在较大误差的问题,本申请实施例提供了一种获取机器人TCP坐标的方法,如图1所示,包括步骤S100-S600,具体地:
步骤S100:标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并将TCP的理论坐标设置为所标记的点在机械臂末端坐标系中的当前坐标,设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0。
在实际操作过程中,在机器人末端的工具上找到一个可被传感器识 别到的点,或者从机械臂末端的工具上很多可被传感器识别到的点中选择一个点,并将找到或者选择的这个点标记为TCP。需要说明的是,当传感器为摄像头时,可以将所标记的点设置为光学标记点;当传感器为电磁传感器时,可设置所标记的点为电磁标记点;当传感器为超声探头时,可设置所标记的点为超声标记点;当传感器为红外传感器时,可设置所标记的点为红外标记点,亦或是当传感器为其他类型的传感器时,设置与其他类型的传感器相应的标记点。且这里TCP在机械臂末端坐标系中的实际坐标在步骤S100中并没有确定,本申请实施例根据该所标记的点来确定TCP的实际坐标。而TCP的理论坐标可根据工具自身的理论尺寸和机械臂末端坐标系,利用测量工具或者根据粗标定算法获得。
需要说明的是,本申请实施例中可以对计算次数进行初始化并设置计算次数阈值,以及对f(TCP x,y,z) past进行初始化并设置误差阈值,也可以仅对计算次数进行初始化并设置计算次数阈值,或者仅对f(TCP x,y,z) past进行初始化并设置误差阈值,其中f(TCP x,y,z) past代表前一次的计算误差。这里的计算次数阈值和误差阈值是作为设置TCP实际坐标时所用到的坐标计算循环的结束条件,也就是说,可以仅将误差阈值作为循环的结束条件,也可以仅将计算次数阈值作为循环的结束条件,还可以将计算次数阈值和误差阈值同时作为循环的结束条件。
在实际操作过程中,本申请实施例设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0。
步骤S200:根据所标记的点在传感器识别范围内的移动,得到用于 建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1。
具体地,根据所标记的点在传感器识别范围内的移动,可以得到所标记的点处于传感器识别范围内的多个位置,这里可以得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,同时,根据所标记的点在传感器识别范围内的移动,得到N个不同于M个位置的位置,用于采集所标记的点在机械臂坐标系中的坐标和在传感器坐标系中的坐标之间的误差,即采集将所标记的点在机械臂坐标系中的坐标和在传感器坐标系中的坐标转换到同一个坐标系下所得到的坐标误差,其中,N为整数,且N≧1。
步骤S300:根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
具体地,实现步骤S300的方式为:根据所标记的点在机械臂末端坐标系中的当前坐标,与所标记的点位于所述M个位置时的M个机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,以及所标记的点位于所述M个位置时在传感器坐标系中的M个坐标,建立机械臂坐标系和传感器坐标系之间的坐标转换关系;
并根据所述机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
其中,利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系的步骤包括:
将所述M个位置上对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标;
根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
即将所标记的点位于所述M个位置上对应的M个机械臂末端坐标系与机械臂坐标系之间的坐标转换关系(即所标记的点处于某一个位置时,机械臂均有一个位姿与其对应,而可通过DH参数,得到这个位姿对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,若有M个位置,则存在对应的M个机械臂末端坐标系与机械臂坐标系之间的坐标转换关系),与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标;
根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点位于所述M个位置上对应的在传感器坐标系中的M个坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
具体地,可以首先根据所标记的点(即S100中的TCP)在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标 转换关系的M个位置,M为大于等于3的整数,且M个位置中存在至少三个非共线的位置;由于机械臂末端坐标系与机械臂坐标系之间的坐标转换关系可以通过DH参数计算得出,因此,按照图3所示的机械臂和传感器的示意图,将机械臂末端坐标系与机械臂坐标系之间的坐标转换关系与所标记的点在机械臂末端坐标系中的当前坐标结合,就可以得到M个位置上所标记的点在机械臂坐标系中的M个坐标,而且由于传感器可以识别到所标记的点,因此所标记的点在M个位置中的每个位置上都有一个对应的传感器坐标系下的坐标,进而根据M个位置中每个位置上所标记的点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,运用现有技术中的利用同一个点在两个坐标系中的坐标得到两个坐标系之间转换关系的方法,就可以得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
优选地,M的值为3或者M的值为4。当M的值为3时,所标记的点在实际空间中的3个位置为非共线位置;当M的值为4时,所标记的点在实际空间中的4个位置可以为非共面位置。
当M的值为3时,利用所述M个位置建立机械臂坐标系和传感器坐标系之间的坐标转换关系的过程可以为:
假设通过移动机械臂得到所标记的点在实际空间中三个非共线的位置时,机械臂处于位姿1,位姿2,位姿3这三个位姿。
当机械臂移动到位姿1下时,通过DH参数能够得到当前机械臂位于位姿1时,机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,及机械臂末端坐标系原点在机械臂坐标系下的坐标p1,通过工具的加工图 纸可以得到TCP在机械臂末端坐标系中的理论坐标,将其记作当前坐标t1,因此这里以p1+t1来表示当前TCP在机械臂坐标系下的坐标(需要说明的是,当前TCP在机械臂坐标系下的坐标,并不是将p1的坐标与t1的坐标进行相加,此处仅仅是利用“p1+t1”这个表现形式来对机械臂位于位姿1时当前TCP在机械臂坐标系下的坐标进行解释说明,下面类似描述中同样如此),即可以得到机械臂位于位姿1时所标记的点在机械臂坐标系下的坐标p1+t1。通过传感器识别所标记的点,还能够得到机械臂位于位姿1时所标记的点在传感器坐标系下的坐标s1。
当机械臂移动到位姿2下时,通过DH参数能够得到当前机械臂位于位姿2时,机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,及机械臂末端坐标系原点在机械臂坐标系下的坐标p2,由于已经得到的TCP在机械臂末端坐标系中的坐标t1,因此这里以p2+t1来表示当前TCP在机械臂坐标系下的坐标,即得到机械臂位于位姿2时所标记的点在机械臂坐标系下的坐标p2+t1。通过传感器识别所标记的点,还能够得到机械臂位于位姿2时所标记的点在传感器坐标系下的坐标s2。
当机械臂移动到位姿3下时,通过DH参数能够得到当前机械臂位于位姿3时,机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,及机械臂末端坐标系原点在机械臂坐标系下的坐标p3,加之已经得到的TCP在机械臂末端坐标系中的坐标t1,因此这里以p3+t1来表示当前TCP在机械臂坐标系下的坐标p3+t1,即得到机械臂位于位姿3时所标记的点在机械臂坐标系下的坐标p3+t1。通过传感器识别所标记的点,还能够得到机械臂位于位姿3时所标记的点在传感器坐标系下的坐标s3。
本申请实施例中可利用p1+t1与s1,p2+t1与s2,p3+t1与s3,即这三个非共线的点分别在机械臂坐标系下的坐标与在传感器坐标系下的坐标建立机械臂坐标系和传感器坐标系之间的坐标转换关系。
当M的值为4时,利用M个位置建立机械臂坐标系和传感器坐标系之间的坐标转换关系的过程可以为:
假设通过移动机械臂得到所标记的点在实际空间中四个非共面的位置时,机械臂处于位姿1,位姿2,位姿3,位姿4这四个位姿。
通过和上述M的值为3时同样的方式得到四个非共面的点分别在机械臂坐标系下的坐标和在传感器坐标系下的坐标,以四个非共面的点中的一个点作为原点,并以所述原点与其它三个点的连线为坐标轴,建立仿射坐标系;根据四个非共面的点中每个点在传感器坐标系中的坐标和所述仿射坐标系,建立传感器坐标系与所述仿射坐标系之间的第一空间关系,并根据四个非共面的点中每个点在机械臂坐标系中的坐标和所述仿射坐标系,建立机械臂坐标系与所述仿射坐标系之间的第二空间关系;根据所述第一空间关系和所述第二空间关系,确定所述机械臂坐标系和所述传感器坐标系的转换关系。
可选地,还可以使得所标记的点在传感器识别范围内移动到P个位置,其中,P为大于等于4的整数,然后从P个位置中选择用于建立传感器坐标系和机械臂坐标系之间坐标转换关系的M个位置,将剩下的N个与M个位置不同位置用于采集误差,即P=M+N。
需要说明的是,使所标记的点在传感器范围内移动到P个位置,M个位置或者N个位置时,可以为机械臂设定移动程序或者移动路径,让 机械臂自动在传感器识别范围内移动,当然也可以采用其他现有方法,本申请实施例中对此不作具体限定。
另外,得到所标记的点在N个位置上坐标误差的平方和f(TCP x,y,z) now的步骤可以为:
根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i;然后根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i;比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i(坐标C i是通过传感器识别所标记的点得到的),得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
由于所标记的点在机械臂末端坐标系中的当前坐标是已知的,所标记的点在N个位置当中的任何一个位置上的机械臂末端坐标系和机械臂坐标系之间的坐标转换关系也是已知的(可以通过DH参数得到),这样就可以得到所标记的点在机械臂坐标系中的坐标R i;利用M个位置能够得到机械臂坐标系和传感器坐标系之间的坐标转换关系,因此可以将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i;加之所标记的点在N个位置当中的任何一个位置上时其都可以被传 感器识别,也就能够得到所标记的点在传感器坐标系下的坐标C i;接下来只要比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i,就可以得到所标记的点在N个位置中每个位置上的坐标误差,进而得到所标记的点在N个位置上的坐标误差的平方和。
得到所标记的点在N个位置上坐标误差的平方和f(TCP x,y,z) now的步骤还可以为:
根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i;根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在传感器坐标系中的坐标C i转换到机械臂坐标系下得到坐标C′ i;比较坐标C′ i与所标记的点在机械臂坐标系下的坐标R i,得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
可选地,比较坐标R′ i与坐标C i,得到所标记的点在N个位置上的坐标误差的平方和的步骤为:
计算所述N个位置中每个位置上,坐标R′ i在各个坐标轴上的坐标与坐标C i在对应的各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和,或者,
计算所述N个位置中每个位置上,坐标C′ i在各个坐标轴上的坐标与坐标R i在对应的各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和。
具体地,若根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i(x i,y i,z i),根据机械臂坐标系和传感器坐标系之间的转换关系,将坐标R i(x i,y i,z i)转换到传感器坐标系下得到坐标R′ i(x′ i,y′ i,z′ i),将坐标R′ i(x′ i,y′ i,z′ i)与所标记的点在传感器坐标系下的坐标C i(x Ci,y Ci,z Ci)进行比较,就能得到所标记的点在当前位置上的坐标误差的平方和error i=Δx i 2+Δy i 2+Δz i 2=(x′ i-x Ci) 2+(y′ i-y Ci) 2+(z′ i-z Ci) 2
或者根据机械臂坐标系和传感器坐标系之间的转换关系,将所标记的点在传感器坐标系下的坐标C i(x ci,y ci,z ci)转换到机械臂坐标系下得到坐标C′ i(x′ ci,y′ ci,z′ ci),然后将坐标C′ i(x′ ci,y′ ci,z′ ci)与所标记的点在机械臂坐标系下的坐标R i(x i,y i,z i)进行比较得到所标记的点在当前 位置上的坐标误差的平方和error i=Δx i 2+Δy i 2+Δz i 2=(x i-x′ ci) 2+(y i-y′ ci) 2+(z i-z′ ci) 2
若N的值为2,即根据所标记的点在传感器识别范围内的移动,得到2个用于采集误差的位置,以将所标记的点在机械臂坐标系下的坐标转换到传感器坐标系下的坐标为例进行说明,将所标记的点在机械臂坐标系下的坐标记为R 1(x 1,y 1,z 1)和R 2(x 2,y 2,z 2),在传感器坐标系下的坐标记为C 1(x C1,y C1,z C1)和C 2(x C2,y C2,z C2),根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将R 1和R 2转换到传感器坐标系下得到R′ 1(x′ 1,y′ 1,z′ 1)和R′ 2(x′ 2,y′ 2,z′ 2),将坐标R′ 1与C 1,R′ 2与C 2进行比较,得到当N为2时的坐标误差的平方和
Figure PCTCN2018119786-appb-000004
综上所述,所标记的点在用于采集误差的位置上的坐标误差的平方和
Figure PCTCN2018119786-appb-000005
步骤S400:当|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值和/或计算次数大于等于计算次数阈值时,执行步骤S600;否则,将计算次数加1和/或将f(TCP x,y,z) now赋值给f(TCP x,y,z) past后执行步骤S500。
步骤S500:根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标,并将得到的坐标作为所标记的点在机械臂末端坐标系中的当前坐标,执行步骤S300。
在本申请实施例中,将步骤S400和步骤S500结合在一起进行说明。当第一次对|f(TCP x,y,z) now-f(TCP x,y,z) past|和误差阈值进行比较和/或第一次对计算次数和计算次数阈值进行比较时,TCP的坐标就是所标记的点在机械臂末端坐标系中的理论坐标值,且f(TCP x,y,z) past的值就是初始化的值,即0,且计算次数也是初始化的值,同样也为0。因此,当第一次对|f(TCP x,y,z) now-f(TCP x,y,z) past|进行比较时,|f(TCP x,y,z) now-f(TCP x,y,z) past|其实就是|f(TCP x,y,z) now|。而经过步骤S500的计算再返回到步骤S300时,所标记的点在机械臂末端坐标系中的当前坐标已经是根据f(TCP x,y,z) now并结合最小二乘法得到的坐标了,因此,将经过步骤S500的计算后得到的所标记的点在机械臂末端坐标系中的坐标代入到步骤S300后(即更新了所标记的点在机械臂末端坐标系中的当前坐标),就会得到新的所标记的点在机械臂坐标系中的新坐标,那么,根据所标记的点在机械臂坐标系中新坐标和在传感器坐标系中的坐标,就会得到机械臂坐标系和传感器坐标系之间的新的坐标转换关系,进而根据新的坐标转换关系,得到所标记的点在所述N个位置上新的坐标误差的平方和,然后将新的坐标误差的平方和赋值给f(TCP x,y,z) now, 把之前得到的f(TCP x,y,z) now赋值给f(TCP x,y,z) past,然后利用新的f(TCP x,y,z) now的值结合最小二乘法计算所标记的点在机械臂末端坐标系中的另一个新的坐标……如此循环,直至|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值和/或计算次数大于等于计算次数阈值。
在本申请实施例中,触发上述循环的结束条件可以有三种判断方式:
第一种,计算次数大于等于计算次数阈值。这里说的计算次数指的是根据f(TCP x,y,z) now结合最小二乘法计算所标记的点在机械臂末端坐标系中的坐标的次数,当这个次数大于等于步骤S100中设置的计算次数阈值时,满足触发条件,结束循环;
第二种,|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值,即前后两次所标记的点在用于采集误差的位置上的坐标误差的平方和的差值的绝对值小于等于步骤S100中设置的误差阈值,举例来说,如果步骤S100中设置的误差阈值为10 -5,那么当|f(TCP x,y,z) now-f(TCP x,y,z) past|<10 -5时,结束循环,执行步骤S600;
第三种,同时满足计算次数大于等于计算次数阈值和|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值。
当采用上述三种判断方式的任何一种且满足判断条件时,执行步骤S600:将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标。
当不满足第一种判断方式时,将计算次数加1,即在计算次数当前数值的基础上加1,并且在后续的循环判断时将该计算次数的数值代入判断;
当不满足第二种判断方式时,则将f(TCP x,y,z) now赋值给f(TCP x,y,z) past
当不满足第三种判断方式时,将计算次数加1和将f(TCP x,y,z) now赋值给f(TCP x,y,z) past
可选地,根据f(TCP x,y,z) now结合最小二乘法得到所标记的点在机械臂末端坐标系下的坐标的优选步骤为:
根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端坐标系下的坐标。
本申请实施例中,根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端坐标系下的坐标的计算公式可以为:
Figure PCTCN2018119786-appb-000006
此公式中,TCP为所标记的点在机械臂末端坐标系中的待求解的坐标,公式中以矩阵形式体现;
Figure PCTCN2018119786-appb-000007
表示所标记的点在N个位置中某一个位置时,的在传感器坐标系下的齐次坐标(由公式计算的坐标值,即通过机械臂坐标系下的坐标与利用M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系相结合得到)矩阵,其中
Figure PCTCN2018119786-appb-000008
为所标记的点在M个位置上结合TCP待求解的坐标得到的机械臂坐标系与传感器坐标系之间的转换关系矩阵,
Figure PCTCN2018119786-appb-000009
为所标记的点结合TCP待求解的坐标在位于N个位置中某一个位置时,在机械臂坐标系下的齐次坐标矩阵;
Figure PCTCN2018119786-appb-000010
为所标记的点位于N个位置中某一个位置时,在传感器坐标系下的齐次坐标(由传感器实际采集的坐标值)矩阵;E为单位矩阵。
其中,
Figure PCTCN2018119786-appb-000011
利用M个位置建立机械臂坐标系与传感器坐标系之间的转换关系时所需采集的传感器坐标系点集矩阵,具体为
Figure PCTCN2018119786-appb-000012
式中x cam,y cam,z cam表示所标记的点在M个位置中的某一个时,在传感器坐标系中三个坐标轴上的坐标,式中x camM,y camM,z camM的角标分别对应M个位置中的某一个位置。
其中,
Figure PCTCN2018119786-appb-000013
为利用M个位置建立机械臂坐标系与传感器坐标系之间 的转换关系时所需采集的机械臂坐标系点集矩阵,具体为
Figure PCTCN2018119786-appb-000014
式中x rbt,y rbt,z rbt表示所标记的点在M个位置中的某一个时,在机械臂末端坐标系原点机械臂坐标系中三个坐标轴的坐标,式中x rbtM,y rbtM,z rbtM的角标分别对应M个位置中的某一个位置。
其中,
Figure PCTCN2018119786-appb-000015
为所标记的点在N个位置中某一个位置时的机械臂位姿参数矩阵,其由机械臂的DH参数得到,可以从机械臂自身记录的位姿信息中读取得到。
若以所标记的点在传感器的识别范围内移动到的4个位置来建立机械臂坐标系及传感器坐标系之间转换关系,则将具体数值带入后就可以得到
Figure PCTCN2018119786-appb-000016
Figure PCTCN2018119786-appb-000017
Figure PCTCN2018119786-appb-000018
式中,1≦i≦N。
基于相同的发明构思,如图2所示,本申请实施例还提供了一种获取机器人TCP坐标的装置,包括:
标记TCP和设置阈值模块201,用于标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并将TCP的理论坐标设置为所标记的点在机械臂末端坐标系中的当前坐标,设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0;
位置获取模块202,用于根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1;
坐标误差的平方和获取模块203,用于根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
阈值比较模块204,与坐标误差的平方和获取模块203相连,用于比较|f(TCP x,y,z) now-f(TCP x,y,z) past|和误差阈值的大小和/或比较计算次 数和计算次数阈值的大小,并将比较结果发送给数据处理模块205和实际坐标设置模块207;
数据处理模块205,与阈值比较模块204相连,用于当计算次数小于计算次数阈值和/或|f(TCP x,y,z) now-f(TCP x,y,z) past|大于误差阈值时,将计算次数加1和/或将从阈值比较模块中获取的f(TCP x,y,z) now赋值给f(TCP x,y,z) past
坐标计算模块206,与所述数据处理模块205相连,用于根据数据处理模块205中的f(TCP x,y,z) now和最小二乘法计算得到所标记的点在机械臂末端坐标系下的坐标,并将得到的坐标发送到坐标误差的平方和获取模块203,使平方和获取模块203中所标记的点在机械臂末端坐标系中的当前坐标得到替换;
实际坐标设置模块207,与阈值比较模块204相连,用于当计算次数大于等于计算次数阈值和/或|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值时,将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标。
本申请实施例中,标记TCP和设置阈值模块201,位置获取模块202,坐标误差的平方和获取模块203,阈值比较模块204,数据处理模块205,坐标计算模块206,实际坐标设置模块207可以执行上述方法实施例中的优选实施例。
进一步地,本申请实施例提供的一种获取机器人TCP坐标的装置, 所述坐标误差的平方和获取模块203还包括坐标转换关系建立模块,用于将所述M个位置上对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标,并根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
由于所标记的点在处于实际空间中某一个位置时,机械臂均有一个位姿与所标记的点的位置相对应,通过DH参数能够得到机械臂处于某一个位姿下的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,本申请实施例中,所标记的点在传感器识别范围内移动到的用于建立坐标系转换关系的位置有M个,所以就存在M个机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1。
将M个机械臂末端坐标系和机械臂坐标系之间的坐标转换关系与所标记的点在机械臂末端坐标系中的当前坐标结合,就能够得到所标记的点在机械臂坐标系中的M个坐标,从而结合所标记的点在传感器坐标系中的M个坐标,就可以建立机械臂坐标系和传感器坐标系之间的坐标转换关系。
进一步地,坐标误差的平方和获取模块203还要通过坐标确定模块,坐标转换模块和坐标比较模块三个模块共同获取坐标误差的平方和。其中:
坐标确定模块,用于根据所标记的点在机械臂末端坐标系中的当前 坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
坐标转换模块,用于根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i,或者用于根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在传感器坐标系中的坐标C i转换到机械臂坐标系下得到坐标C′ i
坐标比较模块,用于比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i,得到所标记的点在N个位置上的坐标误差的平方和,或者用于比较坐标C′ i与所标记的点在机械臂坐标系下的坐标R i,得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
进一步地,坐标计算模块具体用于根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端坐标系下的坐标。
需要说明的是,坐标计算模块206也可以用其他方法得到所标记的点在机械臂末端坐标系下的坐标,比如线性最小二乘法等,本申请实施例对此不作具体限定,只要能准确得到所标记的点在机械臂末端坐标系的坐标即可。
进一步地,坐标比较模块具体用于:
计算所述N个位置中每个位置上,坐标R′ i在各个坐标轴上的坐标与坐标C i在各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的差值的平方和相加,得到标记点在N个位置上的坐标误差的平方和,或者,
计算所述N个位置中每个位置上,坐标C′ i在各个坐标轴上的坐标与坐标R i在各个坐标轴上的坐标的差值的平方和;
将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和。
进一步地,所述坐标计算模块206中得到所标记的点在机械臂末端坐标系下的坐标的计算公式为:
Figure PCTCN2018119786-appb-000019
此公式中,TCP为所标记的点在机械臂末端坐标系中的待求解的坐标,公式中以矩阵形式体现;
Figure PCTCN2018119786-appb-000020
表示所标记的点在N个位置上的传感器坐标系下的齐次坐标(由公式计算的坐标值)矩阵,其中
Figure PCTCN2018119786-appb-000021
为所标记的点在M个位置上结合TCP待求 解的坐标得到的机械臂坐标系与传感器坐标系之间的转换关系矩阵,
Figure PCTCN2018119786-appb-000022
为所标记的点结合TCP待求解的坐标在位于N个位置中某一个位置时,在机械臂坐标系下的齐次坐标矩阵;
Figure PCTCN2018119786-appb-000023
为所标记的点位于N个位置中某一个位置时,在传感器坐标系下的齐次坐标(由传感器实际采集的坐标值)矩阵;E为单位矩阵。其中,
Figure PCTCN2018119786-appb-000024
利用M个位置建立机械臂坐标系与传感器坐标系之间的转换关系时所需采集的传感器坐标系点集矩阵,具体为
Figure PCTCN2018119786-appb-000025
式中x cam,y cam,z cam表示所标记的点在M个位置中的某一个时,在传感器坐标系中三个坐标轴上的坐标,式中x camM,y camM,z camM的角标分别对应M个位置中的某一个位置。
其中,
Figure PCTCN2018119786-appb-000026
为利用M个位置建立机械臂坐标系与传感器坐标系之间的转换关系时所需采集的机械臂坐标系点集矩阵,具体为
Figure PCTCN2018119786-appb-000027
式中x rbt,y rbt,z rbt表示所标记的点在M个位置中的某一个时,在机械臂末端坐标系原点机械臂坐标系中三个坐标轴的坐标,式中x rbtM,y rbtM,z rbtM的 角标分别对应M个位置中的某一个位置。
其中,
Figure PCTCN2018119786-appb-000028
为所标记的点在N个位置中某一个位置时的机械臂位姿参数矩阵,其由机械臂的DH参数得到,可以从机械臂自身记录的位姿信息中读取得到。
需要说明的是,本申请实施例提供的一种获取机器人TCP坐标的装置可以设置在机器人中,也可以设置在机器人以外的其他设备中,也可以是一个独立的不依赖于其他设备的装置。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独处理,也可以两个或两个以上单元集 成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

  1. 一种获取机器人TCP坐标的方法,其特征在于,包括以下:
    S100:标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并将TCP的理论坐标设置为所标记的点在机械臂末端坐标系中的当前坐标,设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0;
    S200:根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1;
    S300:根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
    S400:当|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值和/或计算次数大于等于计算次数阈值时,执行S600;否则,将计算次数加1和/或将f(TCP x,y,z) now赋值给f(TCP x,y,z) past后执行S500;
    S500:根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标,并将得到的坐标作为所标记的点在机械臂末端坐标系中 的当前坐标并执行S300;
    S600:将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标。
  2. 根据权利要求1所述的一种获取机器人TCP坐标的方法,其特征在于,利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系步骤包括:
    将所述M个位置上对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标;
    根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
  3. 根据权利要求1或2所述的一种获取机器人TCP坐标的方法,其特征在于,根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now的步骤包括:
    根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系 和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
    根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i,比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i,得到所标记的点在N个位置上的坐标误差的平方和,或者,
    根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
    根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在传感器坐标系中的坐标C i转换到机械臂坐标系下得到坐标C′ i,比较坐标C′ i与所标记的点在机械臂坐标系下的坐标R i,得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
  4. 根据权利要求1所述的一种获取机器人TCP坐标的方法,其特征在于,根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标的步骤为:
    根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端 坐标系下的坐标。
  5. 根据权利要求3所述的一种获取机器人TCP坐标的方法,其特征在于,得到所标记的点在N个位置上的坐标误差的平方和的步骤为:
    计算所述N个位置中每个位置上,坐标R′ i在各个坐标轴上的坐标与坐标C i在各个坐标轴上的坐标的差值的平方和;
    将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和,或者,
    计算所述N个位置中每个位置上,坐标C′ i在各个坐标轴上的坐标与坐标R i在各个坐标轴上的坐标的差值的平方和;
    将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和。
  6. 根据权利要求1所述的一种获取机器人TCP坐标的方法,其特征在于,所述根据f(TCP x,y,z) now和最小二乘法得到所标记的点在机械臂末端坐标系下的坐标的计算公式具体为:
    Figure PCTCN2018119786-appb-100001
  7. 一种获取机器人TCP坐标的装置,其特征在于,所述装置包括:
    标记TCP和设置阈值模块,用于标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并将TCP的理论坐标设置为所标记的点在机械臂末端坐标系中的当前坐标,设置计算次数阈值并初始化计算次数为0,和/或设置误差阈值并初始化f(TCP x,y,z) past的值为0;
    位置获取模块,用于根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的M个位置以及用于采集误差的N个位置,其中,M个位置中至少有三个不共线的位置,M为整数,且M≧3,N为整数,且N≧1;
    坐标误差的平方和获取模块,用于根据所标记的点在机械臂末端坐标系中的当前坐标与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,所标记的点在传感器坐标系中的坐标,以及利用所述M个位置建立的机械臂坐标系和传感器坐标系之间的坐标转换关系,得到所标记的点在所述N个位置上坐标误差的平方和f(TCP x,y,z) now
    阈值比较模块,用于比较|f(TCP x,y,z) now-f(TCP x,y,z) past|和误差阈值的大小和/或比较计算次数和计算次数阈值的大小,并将比较结果发送给数据处理模块和实际坐标设置模块;
    数据处理模块,用于当计算次数小于计算次数阈值和/或|f(TCP x,y,z) now-f(TCP x,y,z) past|大于误差阈值时,将计算次数加1和/或 将从阈值比较模块中获取的f(TCP x,y,z) now赋值给f(TCP x,y,z) past
    坐标计算模块,用于根据数据处理模块中的f(TCP x,y,z) now和最小二乘法计算得到所标记的点在机械臂末端坐标系下的坐标,并将得到的坐标发送到坐标误差的平方和获取模块;
    实际坐标设置模块,用于当计算次数大于等于计算次数阈值和/或|f(TCP x,y,z) now-f(TCP x,y,z) past|小于等于误差阈值时,将所标记的点在机械臂末端坐标系中的当前坐标作为TCP的实际坐标。
  8. 根据权利要求7所述的一种获取机器人TCP坐标的装置,其特征在于,所述坐标误差的平方和获取模块还包括:
    坐标转换关系建立模块,用于将所述M个位置上对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与所标记的点在机械臂末端坐标系中的当前坐标相结合,得到所标记的点在机械臂坐标系中的M个坐标,并根据所标记的点在机械臂坐标系中的M个坐标,以及所标记的点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的坐标转换关系。
  9. 根据权利要求7或8所述的一种获取机器人TCP坐标的装置,其特征在于,所述坐标误差的平方和获取模块还包括:
    坐标确定模块,用于根据所标记的点在机械臂末端坐标系中的当前坐标 与机械臂末端坐标系和机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系中的坐标R i
    坐标转换模块,用于根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在机械臂坐标系中的坐标R i转换到传感器坐标系下得到坐标R′ i,或者用于根据机械臂坐标系和传感器坐标系之间的坐标转换关系,将所标记的点在传感器坐标系中的坐标C i转换到机械臂坐标系下得到坐标C′ i
    坐标比较模块,用于比较坐标R′ i与所标记的点在传感器坐标系下的坐标C i,得到所标记的点在N个位置上的坐标误差的平方和,或者用于比较坐标C′ i与所标记的点在机械臂坐标系下的坐标R i,得到所标记的点在N个位置上的坐标误差的平方和,其中,1≦i≦N。
  10. 根据权利要求7所述的一种获取机器人TCP坐标的装置,其特征在于,所述坐标计算模块具体用于根据f(TCP x,y,z) now和非线性最小二乘法,得到所标记的点在机械臂末端坐标系下的坐标。
  11. 根据权利要求9所述的一种获取机器人TCP坐标的装置,其特征在于,所述坐标比较模块具体用于:
    计算所述N个位置中每个位置上,坐标R′ i在各个坐标轴上的坐标与坐标C i在各个坐标轴上的坐标的差值的平方和;
    将所述N个位置中每个位置上得到的差值的平方和相加,得到标记点在N个位置上的坐标误差的平方和,或者,
    计算所述N个位置中每个位置上,坐标C′ i在各个坐标轴上的坐标与坐标R i在各个坐标轴上的坐标的差值的平方和;
    将所述N个位置中每个位置上得到的差值的平方和相加,得到所标记的点在N个位置上的坐标误差的平方和。
  12. 根据权利要求7所述的一种获取机器人TCP坐标的装置,其特征在于,所述坐标计算模块中得到所标记的点在机械臂末端坐标系下的坐标的计算公式为:
    Figure PCTCN2018119786-appb-100002
PCT/CN2018/119786 2017-12-13 2018-12-07 一种获取机器人tcp坐标的方法和装置 WO2019114629A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711330236.1 2017-12-13
CN201711330236.1A CN109916351B (zh) 2017-12-13 2017-12-13 一种获取机器人tcp坐标的方法和装置

Publications (1)

Publication Number Publication Date
WO2019114629A1 true WO2019114629A1 (zh) 2019-06-20

Family

ID=66818975

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/119786 WO2019114629A1 (zh) 2017-12-13 2018-12-07 一种获取机器人tcp坐标的方法和装置

Country Status (2)

Country Link
CN (1) CN109916351B (zh)
WO (1) WO2019114629A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110487233A (zh) * 2019-07-30 2019-11-22 东莞长盈精密技术有限公司 校正机器人用户坐标系的方法及系统
CN111323751A (zh) * 2020-03-25 2020-06-23 苏州科达科技股份有限公司 声源定位方法、装置及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109916351B (zh) * 2017-12-13 2020-09-08 北京柏惠维康科技有限公司 一种获取机器人tcp坐标的方法和装置
CN114310880B (zh) * 2021-12-23 2024-09-20 中国科学院自动化研究所 一种机械臂标定方法及装置
CN114310881B (zh) * 2021-12-23 2024-09-13 中国科学院自动化研究所 一种机械臂快换装置的标定方法、系统及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0299802A (ja) * 1988-10-07 1990-04-11 Fanuc Ltd ハンドアイを用いた視覚センサにおける座標系設定方法
JPH08202426A (ja) * 1995-01-24 1996-08-09 Fanuc Ltd ロボットの制御方法
CN101630409A (zh) * 2009-08-17 2010-01-20 北京航空航天大学 一种用于机器人制孔系统的手眼视觉标定方法
CN104061888A (zh) * 2014-06-19 2014-09-24 深圳市大族激光科技股份有限公司 机器人三维激光加工头tcp坐标修正方法及装置
CN104827480A (zh) * 2014-02-11 2015-08-12 泰科电子(上海)有限公司 机器人系统的自动标定方法
CN106502208A (zh) * 2016-09-23 2017-03-15 佛山华数机器人有限公司 一种工业机器人tcp标定方法
GB2547200A (en) * 2016-02-09 2017-08-16 Honda Motor Co Ltd Tool center point setting method for articulated robot
CN107053216A (zh) * 2017-04-25 2017-08-18 苏州蓝斯视觉系统股份有限公司 机器人和末端执行器的自动标定方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100240466B1 (ko) * 1997-04-23 2000-04-01 정몽규 로보트 툴 캘리브레이션 방법
CN102909728B (zh) * 2011-08-05 2015-11-25 鸿富锦精密工业(深圳)有限公司 机器人工具中心点的视觉校正方法
CN103063213B (zh) * 2013-01-04 2015-10-14 上海交通大学 一种焊接机器人与变位机位姿关系的标定方法
CN104608129B (zh) * 2014-11-28 2016-06-08 江南大学 基于平面约束的机器人标定方法
CN106647529B (zh) * 2017-01-18 2018-12-18 北京工业大学 一种面向六轴工业机器人轨迹精确跟踪控制的智能示教系统
CN107450885B (zh) * 2017-07-21 2020-09-08 上海交通大学 一种工业机器人与三维传感器的坐标变换求解方法
CN109916351B (zh) * 2017-12-13 2020-09-08 北京柏惠维康科技有限公司 一种获取机器人tcp坐标的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0299802A (ja) * 1988-10-07 1990-04-11 Fanuc Ltd ハンドアイを用いた視覚センサにおける座標系設定方法
JPH08202426A (ja) * 1995-01-24 1996-08-09 Fanuc Ltd ロボットの制御方法
CN101630409A (zh) * 2009-08-17 2010-01-20 北京航空航天大学 一种用于机器人制孔系统的手眼视觉标定方法
CN104827480A (zh) * 2014-02-11 2015-08-12 泰科电子(上海)有限公司 机器人系统的自动标定方法
CN104061888A (zh) * 2014-06-19 2014-09-24 深圳市大族激光科技股份有限公司 机器人三维激光加工头tcp坐标修正方法及装置
GB2547200A (en) * 2016-02-09 2017-08-16 Honda Motor Co Ltd Tool center point setting method for articulated robot
CN106502208A (zh) * 2016-09-23 2017-03-15 佛山华数机器人有限公司 一种工业机器人tcp标定方法
CN107053216A (zh) * 2017-04-25 2017-08-18 苏州蓝斯视觉系统股份有限公司 机器人和末端执行器的自动标定方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110487233A (zh) * 2019-07-30 2019-11-22 东莞长盈精密技术有限公司 校正机器人用户坐标系的方法及系统
CN110487233B (zh) * 2019-07-30 2021-06-15 东莞长盈精密技术有限公司 校正机器人用户坐标系的方法及系统
CN111323751A (zh) * 2020-03-25 2020-06-23 苏州科达科技股份有限公司 声源定位方法、装置及存储介质

Also Published As

Publication number Publication date
CN109916351A (zh) 2019-06-21
CN109916351B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
WO2019114629A1 (zh) 一种获取机器人tcp坐标的方法和装置
WO2019114631A1 (zh) 一种获取机器人tcp坐标的方法和装置
CN109153125B (zh) 用于定向工业机器人的方法和工业机器人
JP5746477B2 (ja) モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
Jiang et al. A measurement method for robot peg-in-hole prealignment based on combined two-level visual sensors
CN110815206B (zh) 一种Stewart型并联机器人运动学标定方法
JP5627325B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2004508954A (ja) 位置決め装置およびシステム
CN105269578A (zh) 指示装置以及机器人系统
CN111168719B (zh) 一种基于定位工装的机器人校准方法及系统
CN110900610B (zh) 一种基于lm算法和粒子滤波算法优化的工业机器人标定方法
JP2014014912A (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
US20220390954A1 (en) Topology Processing for Waypoint-based Navigation Maps
US20220383547A1 (en) Hand-eye calibration of camera-guided apparatuses
JP2016170050A (ja) 位置姿勢計測装置、位置姿勢計測方法及びコンピュータプログラム
JPWO2018043524A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
Li Kinematic calibration of an active head-eye system
CN109597318B (zh) 一种机器人空间注册的方法和装置
CN116277035A (zh) 机器人的控制方法、装置、处理器及电子设备
US20220152818A1 (en) Apparatus and method for training a machine learning model to recognize an object topology of an object from an image of the object
WO2019114630A1 (zh) 一种获取机器人tcp坐标的方法和装置
US20240042598A1 (en) Method for Simultaneous Robot Kinematic and Hand-Eye Calibration
CN109059761B (zh) 一种基于eiv模型的手持靶标测头标定方法
JP2022142773A (ja) オブジェクトのカメラ画像からオブジェクトの場所を位置特定するための装置及び方法
JP6766229B2 (ja) 位置姿勢計測装置及び方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18888362

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18888362

Country of ref document: EP

Kind code of ref document: A1