WO2023054751A1 - 윤곽제어 알고리즘을 이용한 로봇 제어 방법 - Google Patents
윤곽제어 알고리즘을 이용한 로봇 제어 방법 Download PDFInfo
- Publication number
- WO2023054751A1 WO2023054751A1 PCT/KR2021/013384 KR2021013384W WO2023054751A1 WO 2023054751 A1 WO2023054751 A1 WO 2023054751A1 KR 2021013384 W KR2021013384 W KR 2021013384W WO 2023054751 A1 WO2023054751 A1 WO 2023054751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- contour
- reference position
- tool
- robot
- straight line
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q17/00—Arrangements for observing, indicating or measuring on machine tools
- B23Q17/22—Arrangements for observing, indicating or measuring on machine tools for indicating or measuring existing or desired position of tool or work
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/06—Program-controlled manipulators characterised by multi-articulated arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
- G05B19/402—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
Definitions
- the present invention relates to a method for controlling a robot using a contour control algorithm, and more particularly, to a technique for controlling a robot to easily correct an error in a machining path for a machining target in a machining process using a robot.
- Korean Patent Publication No. 10-2015-0070370 Title of Invention: Method for Inline Calibration of Industrial Robot, Calibration System for Performing the Method, and Industrial Robot Including the Calibration System
- at least three rays At least one generated using at least one light source 7 rigidly connected to the distal end 6 of the robotic arm 3 and adapted to determine the position of a light beam impinging on the sensor in a two-dimensional plane.
- the optical position sensor (12) of the robot arm (3) is configured so that at least some of the light rays generated by the at least one light source (7) at a predefined calibration site of the distal end (6) of the robotic arm (3) ) or positioned in a fixed location relative to the base part 2 of the robot to influence at least one of the sensors 12.
- An object of the present invention to solve the above problems is to control a robot so that an error correction of a machining path for a machining target is easily performed in a machining process using a robot.
- an object of the present invention is to perform the above-described control for a robot while minimizing an additional separate device or complicated calculation.
- the configuration of the present invention for achieving the above object is a first step of measuring the real position and direction, which is the real-time position and direction of the tool, by irradiating a laser to a processing unit having a tool in which a laser tracker is coupled to a robot ;
- the position where the position error of the tool is corrected using two straight lines each passing through the nearest reference position, which is the reference position closest to the actual position among the plurality of straight lines, and two vertical connecting lines vertically connecting the actual position.
- a third step of deriving the reference position of the contour a third step of deriving the reference position of the contour; a fourth step of deriving a contour reference direction, which is a direction obtained by correcting a direction error of the tool, using the reference direction and the actual direction at the nearest reference position; and a fifth step of controlling the position and direction of the tool by controlling the robot using the contour reference position and the contour reference direction.
- the plurality of straight lines may be formed by dividing the reference machining path by an interpolator.
- the two straight lines are a first connecting straight line and a second straight line formed by connecting each of the two reference positions adjacent to the nearest reference position and the nearest reference position. It may contain connecting lines.
- a second projection point that is the intersection of the second vertical connecting line and the second connecting straight line may be set.
- the contour reference position and the contour reference direction may be determined according to positions of the first projection point and the second projection point with respect to the first connecting straight line and the second connecting straight line, respectively. there is.
- the closest reference position is the contour reference position
- the outline reference direction may be a reference direction at the nearest reference position.
- the second projected point when the first projected point is positioned on an extension of the first connecting straight line and the second projected point is positioned on the second connecting straight line, the second projected point is set as the contour reference position. It can be.
- the first projected point when the first projected point is located on the first connecting straight line and the second projected point is located on an extended line of the second connecting straight line, the first projected point is set as the contour reference position. It can be.
- the first projection point and the second projection point are A projected point closer to the actual position may be set as the contour reference position.
- the contour reference direction is a quaternion spherical linear shape using a reference direction at the nearest reference position and a reference direction at a reference position adjacent to the nearest reference position. It can be obtained by interpolation (SLERP) operation.
- the contour reference direction may be a vector direction of an axis formed along a longitudinal direction of the tool at the contour reference position.
- the actual position of the tool in the first step, can be measured through transformation matrix multiplication in which a uniform transformation matrix (HTM) is multiplied by a matrix for the position of a reflector coupled to the processing unit.
- HTM uniform transformation matrix
- the configuration of the present invention for achieving the above object is a robot equipped with a plurality of links and a plurality of joints to drive, a processing unit coupled to the end of the robot and equipped with a tool to perform processing on a processing target, and , A first step of providing a control unit for controlling the posture of the robot when the tool works on the processing target;
- stiffness data which is a stiffness value for each of the plurality of joints, which varies according to the posture of the robot, and information on cutting force, which is a force applied to the tool
- a compliance error which is a processing error calculated for the tool, is calculated and derived.
- Step 2 The reference position and reference direction, which is the position and direction of the tool, on the reference machining path, which is the machining path of the tool previously set according to the machining target, and the actual position, which is the real-time position and direction of the tool, using the compliance error a third step of measuring the actual direction;
- a fifth step of deriving the contour reference position a sixth step of deriving a contour reference direction, which is a direction obtained by correcting a direction error of the tool, using the reference direction and the actual direction at the nearest reference position; and a seventh step of controlling the position and direction of the tool by controlling the robot using the contour reference position and the contour reference direction.
- the compliance error ( ⁇ x) is derived by the following equation, ⁇ x is the compliance error, C x is the Cartesian compliance matrix, ⁇ is the cutting force, and C ⁇ is a compliance matrix for the joints of the robot, and T may be a transposition matrix.
- the plurality of straight lines may be formed by dividing the reference machining path by an interpolator.
- the two straight lines are a first connection straight line and a second straight line formed by connecting each of the two reference positions adjacent to the nearest reference position and the nearest reference position. It may contain connecting lines.
- a second projection point that is the intersection of the second vertical connecting line and the second connecting straight line may be set.
- the contour reference position and the contour reference direction may be determined according to positions of the first projection point and the second projection point with respect to the first connecting straight line and the second connecting straight line, respectively. there is.
- the closest reference position is the contour reference position
- the contour reference direction may be a reference direction at the nearest reference position.
- the second projected point when the first projected point is positioned on an extension of the first connecting straight line and the second projected point is positioned on the second connecting straight line, the second projected point is set as the contour reference position. It can be.
- the first projected point when the first projected point is located on the first connecting straight line and the second projected point is located on an extended line of the second connecting straight line, the first projected point is set as the contour reference position. It can be.
- the first projection point and the second projection point are A projected point closer to the actual position may be set as the contour reference position.
- the contour reference direction is a quaternion spherical surface using a reference direction at the nearest reference position and a reference direction at a reference position adjacent to the nearest reference position. It can be obtained by linear interpolation (SLERP) operation.
- the contour reference direction may be a vector direction of an axis formed along a longitudinal direction of the tool at the contour reference position.
- the effect of the present invention according to the configuration as described above is that the performance of error correction can be improved because the error correction of the machining path for the machining target is performed using the difference between the actual position of the tool and the reference position set in advance. .
- the effect of the present invention is that it is possible to perform error correction control for the robot while minimizing an additional separate device or complicated calculation, so that the efficiency in the machining process using the robot can be significantly improved.
- FIG. 1 is a schematic diagram of position correction of a tool according to an embodiment of the present invention.
- FIG. 2 is a graph of position correction of a tool according to an embodiment of the present invention.
- Figure 3 is a schematic diagram of a robot control device according to an embodiment of the present invention.
- 5 is an image of measurement of directional contour error according to an embodiment of the present invention.
- FIG. 6 is a design diagram of a processing target according to an embodiment of the present invention.
- FIG. 7 is an image of robot processing using a robot control device according to an embodiment of the present invention.
- FIG. 8 is a schematic diagram of a robot control device according to another embodiment of the present invention.
- FIG. 9 is a configuration diagram of a part of a robot control device according to another embodiment of the present invention.
- the position where the position error of the tool is corrected using two straight lines each passing through the nearest reference position, which is the reference position closest to the actual position among the plurality of straight lines, and two vertical connecting lines vertically connecting the actual position.
- a third step of deriving the reference position of the contour a third step of deriving the reference position of the contour; a fourth step of deriving a contour reference direction, which is a direction obtained by correcting a direction error of the tool, using the reference direction and the actual direction at the nearest reference position; and a fifth step of controlling the position and direction of the tool by controlling the robot using the contour reference position and the contour reference direction.
- the robot control method of the present invention using the contour control algorithm can be performed in two ways. Compensation control for the direction is performed, and in the second method, which is another method, the actual position is calculated using the stiffness model and the cutting force model, and then the contour control algorithm is performed to perform correction control for the position and direction of the tool.
- FIG. 1 is a schematic diagram of position correction of a tool 111 according to an embodiment of the present invention
- FIG. 2 is a graph of position correction of a tool 111 according to an embodiment of the present invention
- Figure 3 is a schematic diagram of a robot 120 control device according to an embodiment of the present invention.
- the actual posture (actual position and orientation) of the tool 111 may deviate from the desired trajectory due to deflection mainly due to cutting forces, i.e., compliance errors and inaccuracies in kinematic parameters, resulting in contour errors.
- the contour error is the positional contour error ⁇ p , which is the difference between the reference position and the actual position P act of the tool 111, and the reference position of the tool 111 It can be composed of the direction contour error ( ⁇ o ), which is the difference between the direction and the actual direction (O act ).
- the contour reference posture including the contour reference position (P c ) and the contour reference direction (O c )
- a reference pose can be derived, and a posture error ( ⁇ contour) can be derived by positional contour error ( ⁇ p ) and directional contour error ( ⁇ o ) in the robot 120 processing.
- the position contour error ( ⁇ p ) can be defined as the orthogonal distance from the actual position (P act ) to the desired reference locus of Cartesian coordinates, and the position contour error ( ⁇ p ) is the actual position (P act ) and the actual position (P It can be calculated using the closest reference position (P n ), which is the closest reference position in the reference trajectory in act ). Further, the directional contour error ⁇ o can be calculated using the desired direction (the direction of the contour reference posture) and the actual direction.
- the laser tracker 200 is coupled to the robot 120 and irradiates a laser to the processing unit 110 having the tool 111 to determine the real-time position and direction of the tool 111 (actual position) P act ) and actual direction (O act ) can be measured.
- the robot 120 may be a robot 120 having a plurality of links and joints
- the tool 111 may be a tool 111 that performs drilling, milling, polishing, and the like. However, it is not limited thereto.
- the laser tracker 200 is used to correct the actual posture (position and position) of the tool 111. direction) can be measured.
- the tool 111-related position may mean a 3-dimensional position of the end of the tool 111
- the tool 111-related direction may mean a z-axis vector direction extending in the longitudinal direction of the tool 111. Below, the same.
- the actual position (P act ) of the tool 111 may be measured through transformation matrix multiplication in which a uniform transformation matrix (HTM) is multiplied by a matrix for the position of the reflector 112 coupled to the processing unit 110 .
- HTM uniform transformation matrix
- ⁇ a ⁇ , ⁇ l ⁇ , ⁇ r ⁇ , and ⁇ t ⁇ denote the robot 120, the laser tracker 200, the 6-DOF reflector 112, and the tool 111, respectively.
- it since it is not easy to directly measure the actual pose of the tool, it can be obtained indirectly using transformation matrix multiplication.
- the posture of the tool 111 with respect to the frame ⁇ a ⁇ of the robot 120 may be calculated as in [Equation 1] below.
- HTM uniform transformation matrix
- R, P, and 0 may represent a 3x3 rotation matrix, a position vector, and a 1x3 zero matrix, respectively.
- a uniform transformation matrix (HTM) can be described as a transformation matrix from frame ⁇ a ⁇ to frame ⁇ b ⁇ , or a posture (or coordinates) of frame ⁇ b ⁇ with respect to frame ⁇ a ⁇ .
- T at may be the posture of the tool 111 with respect to the frame ( ⁇ a ⁇ ) of the robot 120
- T al is the laser tracker 200 ( ⁇ l ⁇ in the frame ( ⁇ a ⁇ ) of the robot 120.
- T lr may be the posture of the reflector 112 ( ⁇ r ⁇ ) with respect to the laser tracker 200 ( ⁇ l ⁇ )
- T rt is the frame of the tool 111 in the reflector 112 ( ⁇ r ⁇ ). It can be a transformation matrix to ( ⁇ t ⁇ ).
- T al and T rt are constant matrices that are not affected by the machining process, but T lr provided by the laser tracker 200 may change during machining as the link (manipulator) of the robot 120 moves.
- the reference machining path which is the machining path of the tool 111 set in advance according to the machining target 10
- the You can set the reference position and reference direction, which are positions and directions.
- a plurality of straight lines may be formed by dividing a reference machining path by an interpolator.
- the control unit 130 that controls the robot 120 may provide a set of reference postures composed of a reference position and a reference direction in each sampling period as shown in [Equation 2] below to plan a machining path of the robot 120. there is.
- P r and O r may be the reference position and direction of Cartesian coordinates.
- X r , Y r , and Z r may be reference positions of the X, Y, and Z axes, respectively.
- Rx r , Ry r , and Rz r may be reference directions of the Rx, Ry, and Rz axes, each represented by an Euler angle.
- the reference posture as described above must be found, and the reference trajectory by the reference machining path is divided into a plurality of straight lines divided by an interpolator.
- a reference location may be created for each sampling period.
- a reference direction which is the direction of the tool 111 at each reference position, can be created.
- a contour reference position P c which is a position in which the positional error of the tool 111 is corrected, can be derived using two vertical connecting lines vertically connecting .
- the two straight lines may include a first connecting straight line and a second connecting straight line formed by connecting each of the two reference positions adjacent to the nearest reference position (P n ) and the nearest reference position (P n ). .
- the position contour error ( ⁇ p ) can be calculated using the distance between the contour reference position (P c ) found on the line segment connecting the actual position (P act ) and the interpolated reference position. To this end, first, a search range is set, a plurality of reference positions are set in the reference machining path within the search range, and then, among the plurality of reference positions, the closest reference position (P act ) closest to the actual position of the tool 111 ( It can be derived by calculating P n ).
- the plurality of reference positions within the search range may be preferably 20 or more experimentally, but are not necessarily limited thereto.
- a first adjacent reference position (P n ⁇ 1 ) and a second adjacent reference position (P n+1 ), which are two reference positions located in the forward and backward directions, may be set.
- a first connecting line is formed by connecting the first adjacent reference position (P n ⁇ 1 ) and the nearest reference position (P n ), and the second adjacent reference position (P n+1 ) and the nearest reference position (
- a second connection straight line may be formed by connecting P n ).
- a second projection point (H 2 ), which is an intersection of the connected second vertical connecting line and the second connecting straight line, may be set.
- the contour reference position (Pc) can be derived according to each case using the closest reference position (P n ) and the first projection point (H 1 ) and the second projection point (H 1 ) as described above. It will be explained in detail below.
- FIG. 4 is an image for explanation of each case for measuring the contour reference position P c according to an embodiment of the present invention.
- Figure 4 (a) is for the first case
- Figure 4 (b) is for the second case
- Figure 4 (c) is for the third case.
- (d) of FIG. 4 is for the fourth case.
- the contour reference position (P c ) and the contour reference direction (O c ) are determined according to the positions of the first projection point and the second projection point with respect to the first connecting straight line and the second connecting straight line, respectively.
- the actual position (based on the position of each of the first projection point (H 1 ) and the second projection point (H 1 ) for each of the first connecting straight line and the second connecting straight line ( A contour reference position (P c ) for P act ) may be determined.
- the first projection point (H 1 ), the second projection point (H 1 ), and the contour reference position (P c ) r 1 and r 2 can be defined to determine the weight for the operation.
- P c may indicate a contour reference position
- P n ⁇ 1 may indicate a first neighboring reference position
- P n+1 may indicate a second neighboring reference position
- H 1 may represent a first projection point
- H 2 may represent a second projection point.
- the first projection point (H 1 ) is located on the extension of the first connecting straight line and the second projection point (H 2 ) is on the extension of the second connecting straight line.
- the nearest reference position (P n ) may be the contour reference position (P c ).
- the closest reference position P n to the actual position P act may be the contour reference position P c .
- the first projection point (H 1 ) is located on the extension of the first connecting straight line and the second projecting point (H 2 ) is located on the second connecting straight line.
- the second projection point H 2 may be the contour reference position P c .
- the first projection point (H 1 ) is located on the first connecting straight line and the second projecting point (H 2 ) is on the extension line of the second connecting straight line.
- the first projection point H 1 may be the contour reference position P c .
- one projection point of the first projection point (H 1 ) and the second projection point (H 2 ) is located inside one connecting straight line, and the other projected point is located on the other connecting straight line. may be located outside.
- r 1 and r 2 , and a projected point positioned inside the connecting line, that is, on the connecting line may be the contour reference position P c .
- a projection point closer to the actual position P act among the first projection point H 1 and the second projection point H 2 may be the contour reference position P c .
- the first projection point (H 1 ) and the second projection point (H 2 ) are located inside the first connecting straight line and the second connecting straight line, respectively, and 0 ⁇ r 1 ⁇ 1 and 0 ⁇ r 2 ⁇ 1, and the projected point closest to the actual position (P act ) may be the contour reference position (P c ).
- the contour reference position (P c ) on the connecting line is the nearest neighbor by the following [Equation 4-1] or [Equation 4-2] It can be calculated using linear interpolation of the first neighboring reference position P n ⁇ 1 and the second neighboring reference position P n+1 , which are reference positions adjacent to the reference position P n .
- P c may indicate a contour reference position
- P n ⁇ 1 may indicate a first neighboring reference position
- P n+1 may indicate a second neighboring reference position
- the position contour error ( ⁇ p ) can be calculated between the reference position and the actual position (P act ) as shown in [Equation 5] below.
- ⁇ p represents a position contour error
- P c represents a contour reference position
- P a may represent an actual position (P act ).
- the reference direction at the nearest reference position (P n ) and the actual direction (O act ) are used to correct the direction error of the tool 111, and the contour reference direction ( O c ) can be derived.
- Euler angles can be used to express the direction of the tool 111 .
- Euler angles may not be suitable for handling orientation corrections because a change in one axis will affect the other axis due to sequential rotation.
- quaternion simultaneously processes the rotation axis and is more efficient than rotation matrix, it can be easy to calculate direction.
- the directional contour error ( ⁇ o ) can be calculated using the reference direction and the actual direction (O act ), and the contour reference direction (O c ) differs according to each case in the above-described third step. can be derived.
- the outline reference direction O c may be a reference direction at the nearest reference position P n .
- the contour reference direction O c is the reference direction at the nearest reference position P n and the reference position adjacent to the nearest reference position P n (th It can be obtained by a quaternion spherical linear interpolation (SLERP) operation using reference directions at the first neighboring reference position (P n ⁇ 1 ) and the second neighboring reference position (P n+1 ).
- SLERP quaternion spherical linear interpolation
- the outline reference direction O c is the nearest reference direction O n , which is the reference direction at the nearest reference position P n , and the first neighboring reference position P n described above. -1 ) and the second neighboring reference position (P n+1 ), respectively, the quaternion sphere of the first neighboring reference direction (O n-1 ) and the second neighboring reference direction (O n+1 ), which are the reference directions (P n+1 ) It can be obtained by linear interpolation (SLERP) operation.
- the quaternion spherical linear interpolation (SLERP) operation can be performed by [Equation 6-1] and [Equation 6-2] below.
- q c denotes the quaternion of the outline reference direction (O c )
- q n denotes the quaternion of the nearest reference direction (O n )
- q n-1 is the first neighboring reference direction (O n-1 ) of quaternions.
- q n+1 may represent a quaternion of the second adjacent reference direction (O n+1 ).
- the 3D coordinates for the directional contour error ( ⁇ o ) can be derived using the difference between the 3D coordinates of the contour reference direction (O c ) and the 3D coordinates of the actual direction (O act ) obtained as described above. there is. This will be described in detail in the description of the fifth step below.
- the contour reference direction O c may be a vector direction of an axis formed along the longitudinal direction of the tool 111 at the contour reference position P c .
- the axis vector formed along the longitudinal direction of the tool 111 may be the z-axis vector of the tool 111 .
- the z-axis vector may be extracted from the actual direction O act at the actual position P act and the reference direction at the contour reference position P c .
- the directional contour error ( ⁇ o ) is obtained by using the angle difference between the z-axis vector of each reference direction in the actual direction (O act ) and the contour reference position (P c ). can be computed.
- ⁇ o represents the directional contour error
- ⁇ ' c represents the z-axis vector of the reference direction in the contour reference position (P c )
- ⁇ a represents the z-axis vector of the actual direction (O act ).
- the contour reference direction (O c ) can be derived.
- the position and direction of the tool 111 can be controlled by controlling the robot 120 using the contour reference position P c and the contour reference direction O c .
- the positional contour error ( ⁇ p ) can be derived using the actual position (P act ) and the contour reference position (P c ), and the actual direction (O act ) and contour reference Orientation contour error ( ⁇ o ) can be derived using the direction (O c ).
- a control signal may be transmitted to the robot 120 to change the position and direction of the tool 111 so that the positional contour error ⁇ p and the directional contour error ⁇ o are corrected.
- the control signal as described above is generated by the control unit 130 described below, the joint axes of the robot 120 are individually controlled, and the controllers for each of the individual axes are composed of a cascade control structure connected to position, velocity, and current loops.
- the positional contour error ⁇ p and the directional contour error ⁇ o can be derived using the contour control algorithm as described above.
- an additional PI (proportional-integral) position control loop is designed in Cartesian coordinates to correct the contour error, so that the control unit of the present invention ( 130) can be formed.
- P r,m may be a modified reference position
- O r,m may be a modified reference direction
- K PI may be a PI control gain for each axis
- ⁇ may represent a positional contour error ( ⁇ p ) and a directional contour error ( ⁇ o ) for each axis.
- the position correction amount of the tool 111 may be expressed as in [Equation 9] below.
- ⁇ is the position contour error ( ⁇ p ) for each axis
- P c is the contour reference position
- P a is the actual position (P act ).
- the z-axis vector can be used as described above, and in this case, as shown in [Equation 10], the actual direction (O act ) and the contour reference position (P A unit direction vector (n) orthogonal to the z-axis vector of each reference direction in c ) may be generated. Then, error correction for the unit direction vector n may be performed by the amount of the directional contour error ⁇ o .
- n is a unit direction vector
- ⁇ a represents the z-axis vector of the actual direction (O act )
- ⁇ c represents the z-axis vector of the reference direction in the contour reference position (P c ).
- FIG. 5 is an image of measurement of a directional contour error ( ⁇ o ) according to an embodiment of the present invention.
- quaternion spherical linear interpolation SLERP
- the quaternion is calculated using a unit direction vector (n) and rotation amount ( ⁇ o ), and Euler can be converted to an angle.
- q -> E may represent a conversion from a quaternion to an Euler angle.
- n is the unit direction vector
- ⁇ is the directional contour error ( ⁇ o ) for each axis.
- the robot 120 control apparatus of the present invention for performing the robot 120 control method of the present invention is coupled to the robot 120 and includes a processing unit 110 having a tool 111; Laser tracker 200 for measuring the real-time position and direction of the tool 111 by irradiating a laser to the processing unit 110 (P act ) and the actual direction (O act );
- the reference position and reference direction which is the position and direction of the tool 111 on the reference machining path, which is the machining path of the tool 111 set in advance according to the processing target 10, are set, and the actual position (P) from the laser tracker 200 act ) and the actual direction (O act ) are received, the contour reference position (Pc) and the contour reference direction (Oc) are derived, and a control signal is transmitted to the robot 120, thereby determining the position of the tool 111 and the position of the tool 111.
- a control unit 130 for controlling the direction includes.
- the controller 130 moves the tool 111 from the actual position (P act ) to the contour reference position (P c ) and changes the posture of the robot from the actual direction (O act ) to the contour reference direction (O c ).
- a control signal can be transmitted to (120).
- the first step described above may be performed by the laser tracker 200, and each control-related matter performed in the second to fifth steps described above may be performed by the control unit 130.
- the robot 120 control device of the present invention formed as described above; and a display device displaying numerical values for correction amounts in the contour reference position (P c ) and the contour reference direction (O c ) of the shape of the robot 120, the reference machining path, and the tool 111, respectively. can form
- the display device may display some or all of the three-dimensional shape of the robot 120 and each of the numerical values described above, and the user may observe the operating conditions of the robot 120 and the tool 111 while viewing the display screen. can be checked with
- FIG. 6 is a design diagram of a processing target 10 according to an embodiment of the present invention
- FIG. 7 is an image of robot 120 processing using a robot 120 control device according to an embodiment of the present invention.
- FIG. 6 is a design diagram for a processing target 10 for testing the performance of the robot 120 control method of the present invention using the robot 120 control device of the present invention and is stored in the control unit 130, in FIG. 6 ( a) is a plan view of the target 10, FIG. 6(b) is a side view of the target 10, and FIG. 6(c) is a perspective view of the target 10.
- the robot 120 (TX200, Staubli), the spindle (ES929A, HSD) and the laser tracker 200 system (AT960MR, Leica geosystems ) A robot 120 control device composed of was prepared.
- a spindle is attached to the processing unit 110, which is an end effector of the robot 120, and a 6-DOF sensor (T-Mac, Leica geosystems) is attached to the processing unit 110 as a reflector 112.
- the laser tracker 200 can measure the position and direction of the reflector 112 in real time up to 1 kHz, and the algorithm by the robot 120 control method of the present invention as described above is executed on an industrial PC (C6930, Beckhoff). It was implemented in the Beckhoff TwinCAT real-time programming environment and ran at a sample rate of 250Hz.
- the real-time PC can collect space measurement data from the laser tracker 200 controller and exchange tool 111 path and correction values with the robot 120 controller (CS8C, St ⁇ ubli) using the EtherCAT protocol.
- the machining conditions were determined as feed speed 900 mm/min, spindle speed 6,000 rpm, and depth of cut 2 mm (refer to ISO 10791-1).
- CCM coordinate measuring machine
- the repeatability of the coordinate measuring machine (CMM) is 0.006 mm and the volume accuracy is 2.4 ⁇ m + length/250 mm.
- the diameter of the circle and the length of the square were measured, and the boundary of the circle was measured at 20 points and each side of the square was measured at 10 points.
- Two workpieces as described above are provided, and one workpiece, a workpiece for implementation, was processed by applying the robot 120 control method of the present invention, and the other workpiece, a workpiece for comparison, applied the robot 120 control method of the prior art. It was processed.
- the target diameter of the circle is 108 mm
- the target length of each side of the square is 110 mm.
- the diameter of the measured circle was 108.322mm
- the machining error of the circle was 322 ⁇ m
- the measured lengths of the square were 110.356 and 110.353mm for each side, respectively.
- the processing error of the square was 356 ⁇ m.
- the diameter of the measured circle was 107.945mm, and the machining error of the circle was 55 ⁇ m, and the measured lengths of the square were 110.049 and 109.950mm for each side, so the machining error of the square was 50 ⁇ m.
- Figure 8 is a schematic diagram of a robot control device according to another embodiment of the present invention
- Figure 9 is a configuration diagram of a part of the robot control device according to another embodiment of the present invention.
- FIGS. 1 and 2 and FIGS. 4 and 5 relate to a contour control algorithm, and may be equally applied to the second method.
- the robot 120 driven by a plurality of links and a plurality of joints is combined with the end of the robot 120 and equipped with a tool 111 to perform processing on the object 10 It is possible to provide a processing unit 110 and a control unit 130 for controlling the posture of the robot 120 when the tool 111 works on the processing target 10.
- the control unit 130 derives the compliance error ( ⁇ x) of the tool using the stiffness data and information on the cutting force, and reference processing, which is the cutting path of the tool 111 set in advance according to the target 10 to be processed.
- stiffness data which is a stiffness value for each of a plurality of joints that vary according to the posture of the robot 120
- information on cutting force which is a force applied to the tool 111
- ⁇ x the compliance error
- stiffness data data on the posture of the robot 120 when each machining process is performed is collected and stored, and the following stiffness matrix (K x ) can be derived using the stiffness data.
- a reference machining path which is a movement path of the tool 111 with respect to the machining target 10
- the controller 130 predicts the posture deformation of the robot 120 using the reference machining path.
- the posture change of the robot 120 may mean that the posture of the robot 120 is changed and determined by reflecting the 3D rotation angle of each of a plurality of joints and the 3D position of each of a plurality of links.
- the control unit 130 may store cutting force modeling data, which is cutting force data for each of the plurality of processing parts 110 formed on the object 10 to be processed.
- cutting force modeling data which is cutting force data for each of the plurality of processing parts 110 formed on the object 10 to be processed.
- the controller 130 searches for information related to the object to be processed 10 in the cutting force modeling data, and uses the matching data
- the cutting force for each of the plurality of processing parts 110 in the processing target 10 may be derived and used.
- the control of the robot 120 can be performed even in an offline state, so that the stability of machining using the robot 120 can be improved.
- the processing unit 110 may include a force sensor 121 that measures the cutting force.
- the force sensor 121 may be formed outside or inside the processing unit 110, and the force sensor 121 measures the pressure and torque applied to the spindle connected to the tool 111 in the processing unit 110 can do.
- the pressure and torque applied to the spindle may be measured in a three-dimensional direction, and the controller 130 may derive the cutting force using the pressure and torque values for the spindle.
- the controller 130 The tool 111 for measuring the cutting force may be provided with a dynamometer.
- the compliance error ( ⁇ x) may occur due to insufficient structural rigidity of the robot manipulator.
- a major factor in compliance may be parts installed in robot joints, such as bearings, motor shafts, gears, and gearboxes. Since the stiffness of a link is much greater than that of a joint (joint), we assume that the link is rigid and all the compliance can be concentrated on the joint part only. Since the compliance error ⁇ x cannot be measured by the motor encoder, a compliance model may be used to estimate the compliance error ⁇ x during machining of the robot 120 .
- the joint torque ⁇ of the robot induced by an external wrench may be derived by [Equation 1] below.
- ⁇ is a joint torque
- J is a Jacobian matrix
- ⁇ may be an external force.
- the external force may be a cutting force.
- K ⁇ is the joint stiffness matrix
- the effect of the complementary stiffness matrix can be ignored because it is relatively small compared to the joint stiffness matrix. Therefore, the equation for the compliance model can be derived as in [Equation 15].
- control unit 130 may derive the compliance error ⁇ x using Equation 15 below.
- ⁇ x is a compliance error
- C x is a Cartesian compliance matrix
- ⁇ is a cutting force
- C ⁇ is a compliance matrix for the joints of the robot 120
- J is a Jacobian matrix
- T is a transposition matrix (hereinafter, may be the same).
- a compliance matrix for joints (joints) of the robot 120 may be referred to as a joint compliance matrix.
- the Cartesian compliance matrix may be calculated by multiplying the Jacobian matrix and the joint compliance matrix.
- K ⁇ i represents a stiffness value for each joint of the robot 120, and the joint stiffness value can be identified using a force/displacement relationship of each joint.
- the actual posture (actual position and orientation) of the tool 111 may deviate from the desired trajectory due to deflection mainly due to cutting forces, i.e., compliance errors and inaccuracies in kinematic parameters, resulting in contour errors.
- the contour error is the positional contour error ( ⁇ p ), which is the difference between the reference position and the actual position (P act ) of the tool 111, and the reference direction and actual position of the tool 111 It can be composed of a direction contour error ( ⁇ o ), which is a difference in direction (O act ).
- the contour reference posture including the contour reference position (P c ) and the contour reference direction (O c )
- a reference pose can be derived, and a posture error ( ⁇ contour) can be derived by positional contour error ( ⁇ p ) and directional contour error ( ⁇ o ) in the robot 120 processing.
- the position contour error ( ⁇ p ) can be defined as the orthogonal distance from the actual position (P act ) to the desired reference locus of Cartesian coordinates, and the position contour error ( ⁇ p ) is the actual position (P act ) and the actual position (P It can be calculated using the closest reference position (P n ), which is the closest reference position in the reference trajectory in act ). Further, the directional contour error ⁇ o can be calculated using the desired direction (the direction of the contour reference posture) and the actual direction.
- the reference position and reference direction which are the position and direction of the tool 111 on the reference machining path, which is the machining path of the tool 111 set in advance according to the machining target 10, and , It is possible to measure the actual position and direction, which are the real-time position and direction of the tool 111, using the compliance error ⁇ x.
- the control unit 130 may derive the real position and direction of the tool 111, i.e., the real-time position and direction of the tool 111, using the reference position and direction of the reference machining path and the compliance error ⁇ x.
- the reference position on the reference machining path is expressed as a 3D position
- the reference direction is set as a 3D direction
- the compliance error ⁇ x may include both the 3D position and direction.
- the real-time position and direction of the tool 111 in the 3-dimensional position and direction that is, the position and direction relative to the current state, can be calculated. can be computed.
- the reference machining path which is the machining path of the tool 111 set in advance according to the workpiece 10
- the plurality of straight lines may be formed by dividing the reference machining path by an interpolator.
- the control unit 130 that controls the robot 120 may provide a set of reference postures composed of a reference position and a reference direction in each sampling period as shown in [Equation 16] below to plan a machining path of the robot 120. there is.
- P r and O r may be the reference position and direction of Cartesian coordinates.
- X r , Y r , and Z r may be reference positions of the X, Y, and Z axes, respectively.
- Rx r , Ry r , and Rz r may be reference directions of the Rx, Ry, and Rz axes, each represented by an Euler angle.
- the reference posture as described above must be found, and the reference trajectory by the reference machining path is divided into a plurality of straight lines divided by an interpolator.
- a reference location may be created for each sampling period.
- a reference direction which is the direction of the tool 111 at each reference position, can be created.
- the contour reference position Pc which is a position where the positional error of the tool 111 is corrected, can be derived using two vertical connecting lines vertically connecting .
- the two straight lines may include a first connecting straight line and a second connecting straight line formed by connecting each of the two reference positions adjacent to the nearest reference position (P n ) and the nearest reference position (P n ). .
- the position contour error ( ⁇ p ) can be calculated using the distance between the contour reference position (P c ) found on the line segment connecting the actual position (P act ) and the interpolated reference position. To this end, first, a search range is set, a plurality of reference positions are set in the reference machining path within the search range, and then, among the plurality of reference positions, the closest reference position (P act ) closest to the actual position of the tool 111 ( It can be derived by calculating P n ).
- the plurality of reference positions within the search range may be preferably 20 or more experimentally, but are not necessarily limited thereto.
- a first adjacent reference position (P n ⁇ 1 ) and a second adjacent reference position (P n+1 ), which are two reference positions located in the forward and backward directions, may be set.
- a first connecting line is formed by connecting the first adjacent reference position (P n ⁇ 1 ) and the nearest reference position (P n ), and the second adjacent reference position (P n+1 ) and the nearest reference position (
- a second connection straight line may be formed by connecting P n ).
- a second projection point (H 2 ), which is an intersection of the connected second vertical connecting line and the second connecting straight line, may be set.
- the contour reference position (P c ) can be derived according to each case using the nearest reference position (P n ) and the first projection point (H 1 ) and the second projection point (H 1 ) as described above, This will be described in detail below.
- Figure 4 (a) is for the first case
- Figure 4 (b) is for the second case
- Figure 4 (c) is for the third case
- (d) of FIG. 4 is for the fourth case.
- the contour reference position (P c ) and the contour reference direction (O c ) are determined according to the positions of the first projection point and the second projection point with respect to the first connecting straight line and the second connecting straight line, respectively.
- the actual position (based on the position of each of the first projection point (H 1 ) and the second projection point (H 1 ) for each of the first connecting straight line and the second connecting straight line ( A contour reference position (P c ) for P act ) may be determined.
- the first projection point (H 1 ), the second projection point (H 1 ), and the contour reference position (P c ) r 1 and r 2 can be defined to determine the weight for the operation.
- Pc may indicate a contour reference position
- P n ⁇ 1 may indicate a first neighboring reference position
- P n+1 may indicate a second neighboring reference position
- H 1 may represent a first projection point
- H 2 may represent a second projection point.
- the first projection point (H 1 ) is located on the extension of the first connecting straight line and the second projection point (H 2 ) is on the extension of the second connecting straight line.
- the closest reference position P n may be the contour reference position Pc.
- the closest reference position P n to the actual position P act may be the contour reference position Pc.
- the first projection point (H 1 ) is located on the extension of the first connecting straight line and the second projecting point (H 2 ) is located on the second connecting straight line.
- the second projection point H 2 may be the contour reference position P c .
- the first projection point (H 1 ) is located on the first connecting straight line and the second projecting point (H 2 ) is on the extension line of the second connecting straight line.
- the first projection point H 1 may be the contour reference position P c .
- one projection point of the first projection point (H 1 ) and the second projection point (H 2 ) is located inside one connecting straight line, and the other projected point is located on the other connecting straight line. can be located outside.
- r 1 and r 2 , and a projected point positioned inside the connecting line, that is, on the connecting line may be the contour reference position P c .
- a projection point closer to the actual position P act among the first projection point H 1 and the second projection point H 2 may be the contour reference position P c .
- the first projection point (H 1 ) and the second projection point (H 2 ) are located inside the first connecting straight line and the second connecting straight line, respectively, and 0 ⁇ r 1 ⁇ 1 and 0 ⁇ r 2 ⁇ 1, and the projected point closest to the actual position (P act ) may be the contour reference position (P c ).
- the contour reference position (P c ) on the connecting line is, by the following [Equation 18-1] or [Equation 18-2], It can be calculated using linear interpolation of the first neighboring reference position P n ⁇ 1 and the second neighboring reference position P n+1 , which are reference positions adjacent to the reference position P n .
- P c may indicate a contour reference position
- P n ⁇ 1 may indicate a first neighboring reference position
- P n+1 may indicate a second neighboring reference position
- the position contour error ( ⁇ p ) can be calculated between the reference position and the actual position (P act ) as shown in [Equation 19] below.
- ⁇ p represents a position contour error
- P c represents a contour reference position
- P a may represent an actual position (P act ).
- the reference direction at the nearest reference position (P n ) and the actual direction (O act ) are used to correct the direction error of the tool 111, and the contour reference direction ( O c ) can be derived.
- Euler angles can be used to express the direction of the tool 111 .
- Euler angles may not be suitable for handling orientation corrections because a change in one axis will affect the other axis due to sequential rotation.
- quaternion simultaneously processes the rotation axis and is more efficient than rotation matrix, it can be easy to calculate direction.
- the directional contour error ( ⁇ o) can be calculated using the reference direction and the actual direction (Oact), and the contour reference direction (O c ) is derived by different methods according to each case in the above-described third step. It can be.
- the outline reference direction O c may be a reference direction at the nearest reference position P n .
- the contour reference direction O c is the reference direction at the nearest reference position P n and the reference position adjacent to the nearest reference position P n (th It can be obtained by a quaternion spherical linear interpolation (SLERP) operation using reference directions at the first neighboring reference position (P n ⁇ 1 ) and the second neighboring reference position (P n+1 ).
- SLERP quaternion spherical linear interpolation
- the outline reference direction Oc is the nearest reference direction O n , which is a reference direction at the nearest reference position P n , and the first neighboring reference position P n - 1 ) and the second neighboring reference position (P n + 1 ) quaternion of the first neighboring reference direction (O n-1 ) and the second neighboring reference direction (O n + 1 ) respectively (P n + 1 ) spherical linear shape It can be obtained by interpolation (SLERP) operation.
- the quaternion spherical linear interpolation (SLERP) operation may be performed by [Equation 20-1] and [Equation 20-2] below.
- q c denotes the quaternion of the outline reference direction (O c )
- q n denotes the quaternion of the nearest reference direction (O n )
- q n-1 is the first neighboring reference direction (O n-1 ) of quaternions.
- q n+1 may represent a quaternion of the second adjacent reference direction (O n+1 ).
- the 3D coordinates for the directional contour error ( ⁇ o ) can be derived using the difference between the 3D coordinates of the contour reference direction (O c ) and the 3D coordinates of the actual direction (O act ) obtained as described above. there is. This will be described in detail in the description of the fifth step below.
- the contour reference direction O c may be a vector direction of an axis formed along the longitudinal direction of the tool 111 at the contour reference position P c .
- the axis vector formed along the longitudinal direction of the tool 111 may be the z-axis vector of the tool 111 .
- the z-axis vector may be extracted from the actual direction O act at the actual position P act and the reference direction at the contour reference position P c .
- the directional contour error ( ⁇ o ) is obtained by using the angle difference between the z-axis vector of each reference direction in the actual direction (O act ) and the contour reference position (P c ). can be computed.
- ⁇ o represents the directional contour error
- ⁇ ' c represents the z-axis vector of the reference direction in the contour reference position (P c )
- ⁇ a represents the z-axis vector of the actual direction (O act ).
- the contour reference direction (O c ) can be derived.
- the position and direction of the tool 111 can be controlled by controlling the robot 120 using the contour reference position P c and the contour reference direction O c .
- the positional contour error ( ⁇ p ) can be derived using the actual position (P act ) and the contour reference position (P c ), and the actual direction (O act ) and contour reference Orientation contour error ( ⁇ o ) can be derived using the direction (O c ).
- a control signal may be transmitted to the robot 120 to change the position and direction of the tool 111 so that the positional contour error ⁇ p and the directional contour error ⁇ o are corrected.
- control signals as described above are generated by the control unit 130, the joint axes of the robot 120 are individually controlled, and the controllers for each individual axis may be configured in a cascade control structure connected to position, velocity, and current loops. .
- the positional contour error ⁇ p and the directional contour error ⁇ o can be derived using the contour control algorithm as described above.
- an additional PI (proportional-integral) position control loop is designed in Cartesian coordinates to correct contour errors, thereby enabling the control unit 130 of the present invention to be can form
- P r,m may be a modified reference position
- O r,m may be a modified reference direction
- K PI may be a PI control gain for each axis
- ⁇ may represent a positional contour error ( ⁇ p ) and a directional contour error ( ⁇ o ) for each axis.
- the position correction amount of the tool 111 may be expressed as in [Equation 23] below.
- ⁇ is the position contour error ( ⁇ p ) for each axis
- P c is the contour reference position
- P a is the actual position (P act ).
- the z-axis vector can be used as described above, and in this case, as shown in [Equation 13], the actual direction (O act ) and the contour reference position (P A unit direction vector (n) orthogonal to the z-axis vector of each reference direction in c ) may be generated. Then, error correction for the unit direction vector n may be performed by the amount of the directional contour error ⁇ o .
- n is a unit direction vector
- ⁇ a represents the z-axis vector of the actual direction (O act )
- ⁇ c represents the z-axis vector of the reference direction in the contour reference position (P c ).
- quaternion spherical linear interpolation SLERP
- ⁇ o directional contour error
- ⁇ o rotation amount
- n is the unit direction vector
- ⁇ is the directional contour error ( ⁇ o ) for each axis.
- the robot 120 control device of the present invention formed as described above; and a display device displaying numerical values for correction amounts in the contour reference position (Pc) and contour reference direction (Oc) for the shape and posture change of the robot 120, the reference machining path, and the tool 111, respectively. system can be formed.
- the display device may display some or all of the three-dimensional shape of the robot 120 and each of the numerical values described above, and the user may observe the operating conditions of the robot 120 and the tool 111 while viewing the display screen. can be checked with
- control unit 130 control unit
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
본 발명의 일 실시 예는 로봇을 이용한 가공 공정에서, 가공대상에 대한 가공경로의 오차 보정이 용이하게 수행되도록 로봇을 제어하는 기술을 제공한다. 본 발명의 실시 예에 따른 윤곽제어 알고리즘을 이용한 로봇 제어 방법은, 레이저 트래커가 로봇에 결합되어 공구를 구비하는 가공부로 레이저를 조사하여 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제1단계; 가공대상에 따라 사전에 설정된 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하고, 참조가공경로 상 공구의 위치와 방향인 참조위치와 참조방향을 설정하는 제2단계; 복수 개의 직선 중 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제3단계; 최근접참조위치에서의 참조방향과 실제방향을 이용하여 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제4단계; 및 윤곽기준위치와 윤곽기준방향을 이용하여 로봇을 제어함으로써 공구의 위치와 방향을 제어하는 제5단계;를 포함한다.
Description
본 발명은 윤곽제어 알고리즘을 이용한 로봇 제어 방법에 관한 것으로, 더욱 상세하게는, 로봇을 이용한 가공 공정에서, 가공대상에 대한 가공경로의 오차 보정이 용이하게 수행되도록 로봇을 제어하는 기술에 관한 것이다.
최근에는 복수 개의 로봇을 이용한 제조 시스템이 증가하고 있으며, 자동차와 항공기 등과 같은 제품의 생산에 있어서, 로봇을 이용한 자동 제조 효율의 향상 및 가공 정밀도의 증가에 대한 요구가 지속적으로 증가하고 있다.
로봇을 이용하여 가공을 수행하는 경우, 로봇의 강성, 기구학 요인 등에 의해 가공오차가 발생하는데, 종래기술의 로봇 제어 장치에서는 상기와 같은 가공오차에 대한 정밀한 측정이 용이하지 않았으며, 이에 따라, 종래기술에서는 가공오차에 대한 정밀도를 향상시키기 위하여 복수 개의 센서를 이용하여 로봇의 가공에 대한 피드백을 수집하고 이와 같은 정보를 분석함으로써 로봇의 가공오차를 감소시키는 방식이 이용되었으나, 이와 같은 방식은 사용자가 개발한 제어 알고리즘을 적용할 수 있는 일부 개방형 로봇 제어기에만 적용할 수 있다는 문제점이 있다.
대한민국 공개특허 제10-2015-0070370호(발명의 명칭: 산업용 로봇의 인라인 교정을 위한 방법, 이러한 방법을 수행하기 위한 교정 시스템, 및 이러한 교정 시스템을 포함하는 산업용 로봇)에서는, 적어도 세 개의 광선들이 상기 로봇 팔(3)의 상기 말단(6)에 견고하게 연결된 적어도 하나의 광원(7)을 써서 생성되고, 상기 센서에 영향을 주는 광선의 위치를 2-차원 평면 내에 결정하기 위해 적응되는 적어도 하나의 광학 위치센서(12)는, 상기 로봇 팔(3)의 상기 말단(6)의 미리 정의된 교정 장소에서 상기 적어도 하나의 광원(7)에 의해 생성된 적어도 몇몇의 상기 광선들이 상기 센서(12) 또는 상기 센서들(12) 중 적어도 하나에 영향을 주도록 상기 로봇의 베이스부(2)에 대해 고정된 장소에 위치되는 사항이 개시되어 있다.
<선행기술문헌>
대한민국 공개특허 제10-2015-0070370호
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 로봇을 이용한 가공 공정에서, 가공대상에 대한 가공경로의 오차 보정이 용이하게 수행되도록 로봇을 제어하는 것이다.
그리고, 본 발명의 목적은, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇에 대한 상기와 같은 제어를 수행할 수 있도록 하는 것이다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성은, 레이저 트래커가 로봇에 결합되어 공구를 구비하는 가공부로 레이저를 조사하여 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제1단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하고, 상기 참조가공경로 상 상기 공구의 위치와 방향인 참조위치와 참조방향을 설정하는 제2단계; 상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제3단계; 상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제4단계; 및 상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제5단계;를 포함한다.
본 발명의 실시 예에 있어서, 상기 제2단계에서, 상기 복수 개의 직선은 상기 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성될 수 있다.
본 발명의 실시 예에 있어서, 상기 제3단계에서, 상기 2개의 직선은, 상기 최근접참조위치에 인접한 2개의 참조위치 각각과 상기 최근접참조위치를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 실제위치로부터 상기 제1연결직선으로 연결되는 제1수직연결선과 상기 제1연결직선의 교점인 제1투영점 및, 상기 실제위치로부터 상기 제2연결직선으로 연결되는 제2수직연결선과 상기 제2연결직선의 교점인 제2투영점이 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1연결직선과 상기 제2연결직선 각각에 대한 상기 제1투영점과 상기 제2투영점 각각의 위치에 따라 상기 윤곽기준위치와 상기 윤곽기준방향이 결정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 최근접참조위치가 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제4단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향일 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제2투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 제1투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제1투영점과 상기 제2투영점 중 상기 실제위치에 더 근접한 투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제4단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향과 상기 최근접참조위치에 인접한 참조위치에서의 참조방향를 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득될 수 있다.
본 발명의 실시 예에 있어서, 상기 제4단계에서, 상기 윤곽기준방향은, 상기 윤곽기준위치에서 상기 공구의 길이 방향을 따라 형성되는 축의 벡터 방향일 수 있다.
본 발명의 실시 예에 있어서, 상기 제1단계에서, 상기 가공부에 결합된 반사체의 위치에 대한 행렬에 균일변환행렬(HTM)을 곱하는 변환 행렬 곱셈을 통해 상기 공구의 실제위치가 측정될 수 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성은, 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇, 상기 로봇의 말단과 결합하고 공구를 구비하여 가공대상에 대한 가공을 수행하는 가공부 및, 상기 공구가 상기 가공대상에 대한 작업 시, 상기 로봇의 자세를 제어하는 제어부를 마련하는 제1단계; 상기 로봇의 자세에 따라 가변하는 상기 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 상기 공구에 작용되는 힘인 절삭력에 대한 정보를 이용함으로써, 상기 공구에 대해 연산된 가공오차인 컴플라이언스오차를 연산하여 도출하는 제2단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치 및 방향인 참조위치 및 참조방향, 그리고, 상기 컴플라이언스오차를 이용하여, 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제3단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하는 제4단계; 상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제5단계; 상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제6단계; 및 상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제7단계;를 포함한다.
본 발명의 실시 예에 있어서, 상기 제2단계에서, 상기 컴플라이언스오차(Δx)는 하기의 수학식에 의해 도출되며, Δx는 컴플라이언스오차이고, Cx는 데카르트 컴플라이언스 행렬이며, Ф는 절삭력이고, Cθ는 상기 로봇의 관절에 대한 컴플라이언스 행렬이며, T는 전치행렬일 수 있다.
본 발명의 실시 예에 있어서, 상기 제4단계에서, 상기 복수 개의 직선은 상기 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성될 수 있다.
본 발명의 실시 예에 있어서, 상기 제5단계에서, 상기 2개의 직선은, 상기 최근접참조위치에 인접한 2개의 참조위치 각각과 상기 최근접참조위치를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 실제위치로부터 상기 제1연결직선으로 연결되는 제1수직연결선과 상기 제1연결직선의 교점인 제1투영점 및, 상기 실제위치로부터 상기 제2연결직선으로 연결되는 제2수직연결선과 상기 제2연결직선의 교점인 제2투영점이 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1연결직선과 상기 제2연결직선 각각에 대한 상기 제1투영점과 상기 제2투영점 각각의 위치에 따라 상기 윤곽기준위치와 상기 윤곽기준방향이 결정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 최근접참조위치가 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제6단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향일 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제2투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 제1투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제1투영점과 상기 제2투영점 중 상기 실제위치에 더 근접한 투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제6단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향과 상기 최근접참조위치에 인접한 참조위치에서의 참조방향을 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득될 수 있다.
본 발명의 실시 예에 있어서, 상기 제6단계에서, 상기 윤곽기준방향은, 상기 윤곽기준위치에서 상기 공구의 길이 방향을 따라 형성되는 축의 벡터 방향일 수 있다.
상기와 같은 구성에 따른 본 발명의 효과는, 공구의 실제위치와 사전에 설정된 참조위치 간 차이를 이용하여 가공대상에 대한 가공경로의 오차 보정을 수행하므로, 오차 보정의 성능을 향상시킬 수 있다는 것이다.
그리고, 본 발명의 효과는, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇에 대한 오차 보정 제어를 수행할 수 있어, 로봇을 이용한 가공공정에서의 효율을 현저히 향상시킬 수 있다는 것이다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 공구의 위치 보정에 대한 모식도이다.
도 2는 본 발명의 일 실시 예에 따른 공구의 위치 보정에 대한 그래프이다.
도 3은 본 발명의 일 실시 예에 따른 로봇 제어 장치에 대한 개략도이다.
도 4는 본 발명의 일 실시 예에 따른 윤곽기준위치를 측정하기 위한 각 케이스의 설명을 위한 이미지이다.
도 5는 본 발명의 일 실시 예에 따른 방향윤곽오차의 측정에 대한 이미지이다.
도 6은 본 발명의 일 실시 예에 따른 가공대상에 대한 설계도이다.
도 7은 본 발명의 일 실시 예에 따른 로봇 제어 장치를 이용한 로봇 가공에 대한 이미지이다.
도 8은 본 발명의 다른 실시 예에 따른 로봇 제어 장치에 대한 개략도이다.
도 9는 본 발명의 다른 실시 예에 따른 로봇 제어 장치의 일부에 대한 구성도이다.
본 발명에 따른 가장 바람직한 일 실시예는, 레이저 트래커가 로봇에 결합되어 공구를 구비하는 가공부로 레이저를 조사하여 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제1단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하고, 상기 참조가공경로 상 상기 공구의 위치와 방향인 참조위치와 참조방향을 설정하는 제2단계; 상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제3단계; 상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제4단계; 및 상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제5단계;를 포함하는 것을 특징으로 한다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시 예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결(접속, 접촉, 결합)"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부된 도면을 참고하여 본 발명에 대하여 상세히 설명하기로 한다.
윤곽제어 알고리즘을 이용한 본 발명의 로봇 제어 방법은 2가지 방식으로 수행될 수 있으며, 하나의 방식인 제1방식에서는 레이저 트래커로 공구의 실제위치를 측정한 후 윤곽제어 알고리즘을 수행하여 공구의 위치와 방향에 대한 보정 제어를 수행하고, 다른 방식인 제2방식에서는 강성 모델과 절삭력 모델을 이용하여 실제위치를 연산한 후 윤곽제어 알고리즘을 수행하여 공구의 위치와 방향에 대한 보정 제어를 수행하는 것이다.
먼저, 상기와 같은 2가지 방식 중 제1방식에 의해 수행되는 본 발명의 로봇 제어 방법에 대해서 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 공구(111)의 위치 보정에 대한 모식도이고, 도 2는 본 발명의 일 실시 예에 따른 공구(111)의 위치 보정에 대한 그래프이다. 그리고, 도 3은 본 발명의 일 실시 예에 따른 로봇(120) 제어 장치에 대한 개략도이다.
가공 중 공구(111)의 실제 자세(실제 위치 및 방향)는 주로 절삭력으로 인한 처짐, 즉, 컴플라이언스 오류 및 운동학적 매개변수의 부정확성으로 인해 원하는 궤적에서 벗어나 윤곽 오류가 발생할 수 있다. 3차원(3-D) 로봇(120) 가공에서, 윤곽 오차는, 공구(111)의 참조위치와 실제위치(Pact)의 차이인 위치윤곽오차(εp) 및, 공구(111)의 참조방향과 실제방향(Oact)의 차이인 방향윤곽오차(εo)로 구성될 수 있다.
도 1과 도 2에서 보는 바와 같이, 참조자세(Reference pose)와 실제자세(Actual pose)를 이용하여, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)를 포함하는 윤곽기준자세(Contour reference pose)를 도출할 수 있으며, 로봇(120) 가공에서의 위치윤곽오차(εp) 및 방향윤곽오차(εo)에 의한 자세오차(εcontour)를 도출할 수 있다.
위치윤곽오차(εp)는 실제위치(Pact)에서 직교 좌표의 원하는 참조 궤적까지의 직교 거리로 정의될 수 있고, 위치윤곽오차(εp)는 실제위치(Pact)와 실제위치(Pact)에서 참조 궤적에서 가장 가까운 참조위치인 최근접참조위치(Pn)를 이용하여 연산될 수 있다. 그리고, 방향윤곽오차(εo)는, 원하는 방향(윤곽기준자세의 방향)과 실제 방향을 사용하여 연산할 수 있다. 이와 같은 사항에 대해서는 하기의 나머지 각 단계에서 상세히 설명하도록 한다.
이하, 본 발명의 로봇(120) 제어 방법에 대해서 설명하기로 한다.
먼저, 제1단계에서, 레이저 트래커(200)가 로봇(120)에 결합되어 공구(111)를 구비하는 가공부(110)로 레이저를 조사하여 공구(111)의 실시간 위치와 방향인 실제위치(Pact)와 실제방향(Oact)을 측정할 수 있다. 여기서, 로봇(120)은 복수 개의 링크과 관절을 구비하는 로봇(120)일 수 있으며, 공구(111)는 드릴링, 밀링, 연마 등을 수행하는 공구(111)일 수 있다. 다만, 이에 한정되는 것은 아니다.
도 3에서 보는 바와 같이, 공구(111)의 위치윤곽오차(εp) 및 방향윤곽오차(εo)를 정확하게 보정하기 위하여 레이저 트래커(200)를 사용하여 공구(111)의 실제 자세(위치와 방향)을 측정할 수 있다. 여기서, 공구(111) 관련 위치는 공구(111) 말단의 3차원 위치를 의미하고, 공구(111) 관련 방향은 공구(111)의 길이 방향으로 연장되는 z축 벡터 방향을 의미할 수 있다. 이하, 동일하다.
가공부(110)에 결합된 반사체(112)의 위치에 대한 행렬에 균일변환행렬(HTM)을 곱하는 변환 행렬 곱셈을 통해 공구(111)의 실제위치(Pact)가 측정될 수 있다.
구체적으로, 도 3에서, {a}, {l}, {r} 및 {t}는 각각 로봇(120), 레이저 트래커(200), 반사체(112)인 6-DOF 반사경 및 공구(111) 각각의 프레임을 나타낼 수 있다. 여기서, 도구의 실제 자세는 직접 측정하는 것이 용이하지 않기 때문에, 변환 행렬 곱셈을 사용하여 간접적으로 획득될 수 있다.
구체적으로, 로봇(120) 프레임({a})에 대한 공구(111)의 자세는 하기의 [수학식 1]과 같이 연산될 수 있다.
[수학식 1]
은 균일변환행렬(HTM)이고 R, P 및 0은 각각 3x3 회전 행렬, 위치 벡터 및 1x3 제로 행렬을 나타낼 수 있다. 균일변환행렬(HTM)은, 프레임 {a}에서 프레임 {b}로의 변환 행렬, 또는, 프레임 {a}에 대한 프레임 {b}의 자세(또는 좌표)로 설명할 수 있다.
여기서, Tat는 로봇(120) 프레임({a})에 대한 공구(111)의 자세일 수 있고, Tal은 로봇(120) 프레임({a})에서 레이저 트래커(200)({l})로의 변환 행렬일 수 있다. 그리고, Tlr은 레이저 트래커(200)({l})에 대한 반사체(112)({r})의 자세일 수 있으며, Trt는 반사체(112)({r})에서 공구(111) 프레임({t})으로의 변환 행렬일 수 있다.
Tal 및 Trt는 가공 프로세스의 영향을 받지 않는 상수 행렬이지만, 레이저 트래커(200)에서 제공하는 Tlr은 로봇(120)의 링크(매니퓰레이터)가 이동함에 따라 가공 중에 변경될 수 있다.
상기와 같은 제1단계 이후 제2단계에서, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하고, 참조가공경로 상 공구(111)의 위치와 방향인 참조위치와 참조방향을 설정할 수 있다. 여기서, 복수 개의 직선은 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성될 수 있다.
로봇(120)을 제어하는 제어부(130)는, 로봇(120)의 가공 경로 계획을 위해 각 샘플링 주기에서 참조위치와 참조방향으로 구성된 참조자세 세트를 하기의 [수학식 2]와 같이 제공할 수 있다.
[수학식 2]
여기서, Pr 및 Or은 데카르트 좌표의 기준 위치 및 방향일 수 있다. 또한, Xr, Yr 및 Zr은 각각 X, Y 및 Z축의 참조위치일 수 있다. 그리고, Rxr, Ryr, Rzr은 각각 오일러 각으로 표시되는 Rx, Ry, Rz축의 참조방향일 수 있다.
위치윤곽오차(εp)와 방향윤곽오차(εo)를 도출하기 위해서는 상기와 같은 참조자세를 찾아야 하며, 참조 가공경로에 의한 참조 궤적은 보간기에 의해 분할된 복수 개의 직선으로 분할되며, 결과적으로 각 샘플링 기간에 대해 참조위치가 생성될 수 있다. 그리고, 각각의 참조위치에서의 공구(111)의 방향인 참조방향이 생성될 수 있다.
상기와 같은 제2단계 이후 제3단계에서, 복수 개의 직선 중 실제위치(Pact)에 가장 근접한 참조위치인 최근접참조위치(Pn)를 통과하는 2개의 직선 각각과 실제위치(Pact)를 수직 연결한 2개의 수직연결선을 이용하여, 공구(111)의 위치 오차를 보정한 위치인 윤곽기준위치(Pc)를 도출할 수 있다. 여기서, 2개의 직선은, 최근접참조위치(Pn)에 인접한 2개의 참조위치 각각과 최근접참조위치(Pn)를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함할 수 있다.
위치윤곽오차(εp)는 실제위치(Pact)와 보간된 참조위치를 연결하는 선분에서 찾은 윤곽기준위치(Pc) 사이의 거리를 사용하여 연산될 수 있다. 이를 위해, 먼저, 탐색범위를 설정하고 탐색범위 내의 참조가공경로에 복수 개의 참조위치를 설정한 다음, 복수 개의 참조위치 중 공구(111)의 실제위치(Pact)와 가장 근접한 최근접참조위치(Pn)를 연산하여 도출할 수 있다.
여기서, 탐색범위 내 복수 개의 참조위치는 실험적으로 20개 이상이 바람직할 수 있으나, 반드시 이에 한정되는 것은 아니다.
상기와 같은 최근접참조위치(Pn)를 도출한 후, 최근접참조위치(Pn)에 인접한 2개의 참조위치, 즉, 참조가공경로 상 가공 방향에 대해 최근접참조위치(Pn)의 전과 후의 방향에 위치한 2개의 참조위치인 제1인접참조위치(Pn-1)과 제2인접참조위치(Pn+1)가 설정될 수 있다.
여기서, 제1인접참조위치(Pn-1)와 최근접참조위치(Pn)를 연결하여 제1연결직선이 형성되고, 제2인접참조위치(Pn+1)와 최근접참조위치(Pn)를 연결하여 제2연결직선이 형성될 수 있다.
그리고, 실제위치(Pact)로부터 제1연결직선으로 연결되는 제1수직연결선과 제1연결직선의 교점인 제1투영점(H1) 및, 실제위치(Pact)로부터 제2연결직선으로 연결되는 제2수직연결선과 제2연결직선의 교점인 제2투영점(H2)이 설정될 수 있다.
상기와 같은 최근접참조위치(Pn)와 제1투영점(H1) 및 제2투영점(H1)을 이용하여 각각의 케이스에 따라 윤곽기준위치(Pc)를 도출할 수 있으며, 이에 대해서 하기에 상세히 설명하기로 한다.
도 4는 본 발명의 일 실시 예에 따른 윤곽기준위치(Pc)를 측정하기 위한 각 케이스의 설명을 위한 이미지이다. 도 4의 (a)는 제1케이스에 대한 것이고, 도 4의 (b)는 제2케이스에 대한 것이며, 도 4의 (c)는 제3케이스에 대한 것이다. 그리고, 도 4의 (d)는 제4케이스에 대한 것이다.
도 4에서 보는 바와 같이, 제1연결직선과 제2연결직선 각각에 대한 제1투영점과 제2투영점 각각의 위치에 따라 윤곽기준위치(Pc)와 윤곽기준방향(Oc)이 결정될 수 있다. 구체적으로, 4개의 케이스가 성립될 수 있으며, 제1연결직선과 제2연결직선 각각에 대한 제1투영점(H1) 및 제2투영점(H1) 각각의 위치를 기준으로 실제위치(Pact)에 대한 윤곽기준위치(Pc)가 결정될 수 있다.
그리고, 하기의 [수학식 3-1]과 [수학식 3-2]에서 보는 바와 같이, 제1투영점(H1)과 제2투영점(H1) 및 윤곽기준위치(Pc)의 연산을 위한 가중치를 결정하기 위해 r1 및 r2를 정의할 수 있다.
[수학식 3-1]
[수학식 3-2]
여기서, Pc는 윤곽기준위치를 나타내고, Pn-1은 제1인접참조위치를 나타내며, Pn+1은 제2인접참조위치를 나타낼 수 있다. 그리고, H1은 제1투영점을 나타내고, H2는 제2투영점을 나타낼 수 있다.
도 4의 (a)에서 보는 바와 같이, 제1케이스로써, 제1투영점(H1)이 제1연결직선의 연장선 상에 위치하고 제2투영점(H2)이 제2연결직선의 연장선 상에 위치하는 경우, 최근접참조위치(Pn)가 윤곽기준위치(Pc)일 수 있다.
제1케이스의 경우, r1>1이고 r2>1이므로, 실제위치(Pact)에 가장 가까운 최근접참조위치(Pn)가 윤곽기준위치(Pc)일 수 있다.
도 4의 (b)에서 보는 바와 같이, 제2케이스로써, 제1투영점(H1)이 제1연결직선의 연장선 상에 위치하고 제2투영점(H2)이 제2연결직선 상에 위치하는 경우, 제2투영점(H2)이 윤곽기준위치(Pc)일 수 있다.
그리고, 도 4의 (c)에서 보는 바와 같이, 제3케이스로써, 제1투영점(H1)이 제1연결직선 상에 위치하고 제2투영점(H2)이 제2연결직선의 연장선 상에 위치하는 경우, 제1투영점(H1)이 윤곽기준위치(Pc)일 수 있다.
제2케이스와 제3케이스의 경우, 제1투영점(H1)과 제2투영점(H2) 중 어느 하나의 투영점은 하나의 연결직선 내부에 위치하고, 다른 투영점은 다른 연결직선의 외부에 위치할 수 있다. 그리고, r1 및 r2이며, 연결직선의 내부, 즉, 연결직선 상에 위치하는 투영점이 윤곽기준위치(Pc)일 수 있다.
도 4의 (d)에서 보는 바와 같이, 제4케이스로써, 제1투영점(H1)이 제1연결직선 상에 위치하고 제2투영점(H2)이 제2연결직선 상에 위치하는 경우, 제1투영점(H1)과 제2투영점(H2) 중 실제위치(Pact)에 더 근접한 투영점이 윤곽기준위치(Pc)일 수 있다.
제4케이스의 경우, 제1투영점(H1)과 제2투영점(H2) 각각은 제1연결직선과 제2연결직선 내부에 위치하고, 0≤r1≤1 및 0≤r2≤1이며, 실제위치(Pact)에 가장 가까운 투영점이 윤곽기준위치(Pc)일 수 있다.
그리고, 상기와 같은 제2케이스 내지 제4케이스에서, 연결직선 상에 있는 윤곽기준위치(Pc)는, 하기의 [수학식 4-1] 또는 [수학식 4-2]에 의해, 최근접참조위치(Pn)와 인접한 참조위치인 제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1)의 선형 보간을 사용하여 연산될 수 있다.
[수학식 4-1]
[수학식 4-2]
여기서, Pc는 윤곽기준위치를 나타내고, Pn-1은 제1인접참조위치를 나타내며, Pn+1은 제2인접참조위치를 나타낼 수 있다.
그리고, 위치윤곽오차(εp)는 참조위치와 실제위치(Pact) 사이를 하기의 [수학식 5]와 같이 연산될 수 있다.
[수학식 5]
여기서, εp는 위치윤곽오차를 나타내고, Pc는 윤곽기준위치를 나타내며, Pa는 실제위치(Pact)를 나타낼 수 있다.
상기와 같은 제3단계 이후 제4단계에서, 최근접참조위치(Pn)에서의 참조방향과 실제방향(Oact)을 이용하여 공구(111)의 방향 오차를 보정한 방향인 윤곽기준방향(Oc)을 도출할 수 있다.
일반적인 로봇(120) 제어는 직관적이기 때문에 공구(111)의 방향 표현을 위해 오일러각을 이용할 수 있다. 그러나, 오일러각은 하나의 축의 변경이 순차적 회전으로 인해 다른 축에 영향을 미치기 때문에, 방향 보정을 처리하는데 적합하지 않을 수 있다.
따라서, 쿼터니언(Quternion, 사원수)은 회전 축을 동시에 처리하고 회전 행렬에 비해 연산이 더 효율적이기 때문에 방향 연산에 용이할 수 있다. 방향윤곽오차(εo)는, 참조방향과 실제방향(Oact)을 이용하여 연산될 수 있으며, 윤곽기준방향(Oc)은, 상기된 제3단계에서의 각각의 케이스에 따라 방식을 달리하여 도출될 수 있다.
구체적으로, 상기된 제1케이스의 경우, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향일 수 있다. 그리고, 상기된 제2케이스 내지 제4케이스의 경우, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향과 최근접참조위치(Pn)에 인접한 참조위치(제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1))에서의 참조방향을 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득될 수 있다.
제2케이스 내지 제4케이스에서, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향인 최근접참조방향(On) 및 상기된 제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1) 각각에서의 참조방향인 제1인접참조방향(On-1)과 제2인접참조방향(On+1)의 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득할 수 있다. 여기서, 쿼터니언(Quternion) 구면선형보간(SLERP) 연산은 하기의 [수학식 6-1]과 [수학식 6-2]에 의해 연산될 수 있다.
[수학식 6-1]
[수학식 6-2]
여기서, 상기된 바와 같이, qc는 윤곽기준방향(Oc)의 쿼터니언을 나타내고, qn은 최근접참조방향(On)의 쿼터니언을 나타내며, qn-1는 제1인접참조방향(On-1)의 쿼터니언을 나타낼 수 있다. 그리고, qn+1은 제2인접참조방향(On+1)의 쿼터니언을 나타낼 수 있다.
그리고, 상기와 같이 획득되는 윤곽기준방향(Oc)의 3차원 좌표와 실제방향(Oact)의 3차원 좌표 간 차이를 이용하여 방향윤곽오차(εo)에 대한 3차원 좌표를 도출할 수 있다. 이에 대해서는 하기의 제5단계 설명에서 상세히 설명하기로 한다.
상기와 같이 윤곽기준방향(Oc)을 도출하는 하나의 방식 외에, 윤곽기준방향(Oc)은, 윤곽기준위치(Pc)에서 공구(111)의 길이 방향을 따라 형성되는 축의 벡터 방향일 수 있다. 여기서, 공구(111)의 길이 방향을 따라 형성되는 축의 벡터는 공구(111)에서 z축 벡터일 수 있다.
구체적으로, 방향윤곽오차(εo)를 연산하기 위해 실제위치(Pact)에서의 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향으로부터 z축 벡터를 추출할 수 있다. 그리고, 하기의 [수학식 7]과 같이, 방향윤곽오차(εo)는, 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향 각각의 z축 벡터 간 각도 차이를 이용하여 연산될 수 있다.
[수학식 7]
여기서, εo는 방향윤곽오차를 나타내고, ν'c는 윤곽기준위치(Pc)에서의 참조방향의 z축 벡터를 나타내며, νa는 실제방향(Oact)의 z축 벡터를 나타낼 수 있다.
그리고, 상기와 같은 방향윤곽오차(εo)를 이용하여 각도 차이를 보정함으로써, 윤곽기준방향(Oc)을 도출할 수 있다.
상기와 같은 제4단계 이후 제5단계에서, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)을 이용하여 로봇(120)을 제어함으로써 공구(111)의 위치와 방향을 제어할 수 있다. 상기와 같이, 공구(111)에 대해서, 실제위치(Pact)와 윤곽기준위치(Pc)를 이용하여 위치윤곽오차(εp)를 도출할 수 있고, 실제방향(Oact)과 윤곽기준방향(Oc)을 이용하여 방향윤곽오차(εo)을 도출할 수 있다. 그리고, 위치윤곽오차(εp)와 방향윤곽오차(εo)가 보정되도록 공구(111)의 위치와 방향이 변경되도록 로봇(120)으로 제어신호를 전달할 수 있다.
상기와 같은 제어신호는 하기된 제어부(130)에 의해 생성되며, 로봇(120)의 관절 축은 개별적으로 제어되고, 개별 축 각각에 대한 제어기는 위치, 속도 및 전류 루프와 연결된 캐스케이드 제어 구조로 구성될 수 있다. 이와 같은 제어부(130)에서는 상기와 같은 윤곽제어 알고리즘을 이용하여 위치윤곽오차(εp)와 방향윤곽오차(εo)를 도출할 수 있다.
종래기술의 로봇(120) 제어기에서는 내부 제어 구조의 수정을 허용하지 않기 때문에, 추가 PI(proportional-integral) 위치 제어 루프를 데카르트 좌표로 설계하여 등고선 오류를 보정할 수 있도록 함으로써, 본 발명의 제어부(130)를 형성할 수 있다.
따라서, 상기된 [수학식 2]를 수정하여 하기의 [수학식 8]을 도출할 수 있다.
[수학식 8]
여기서, Pr,m은 수정된 참조위치이고, Or,m은 수정된 참조방향일 수 있다. 그리고, KPI는 각각의 축에 대한 PI제어 게인일 수 있으며, Δ는 각각의 축에 대한 위치윤곽오차(εp)와 방향윤곽오차(εo)를 나타낼 수 있다.
이에 따라, 공구(111)의 위치 보정량은 하기의 [수학식 9]와 같이 나타날 수 있다.
[수학식 9]
여기서, Δ는 각각의 축에 대한 위치윤곽오차(εp)이고, Pc는 윤곽기준위치이며, Pa는 실제위치(Pact)이다.
방향윤곽오차(εo)를 보상하기 위해 상기와 같이 z축 벡터를 이용할 수 있으며, 이와 같은 방식의 경우, [수학식 10]에서 보는 바와 같이, 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향 각각의 z축 벡터에 직교하는 단위방향벡터(n)가 생성될 수 있다. 그 다음, 방향윤곽오차(εo)의 양 만큼 단위방향벡터(n)에 대한 오차 보정을 수행할 수 있다.
[수학식 10]
여기서, n은 단위방향벡터이고, νa는 실제방향(Oact)의 z축 벡터를 나타내고, νc는 윤곽기준위치(Pc)에서의 참조방향의 z축 벡터를 나타낼 수 있다.
도 5는 본 발명의 일 실시 예에 따른 방향윤곽오차(εo)의 측정에 대한 이미지이다.
방향윤곽오차(εo)를 보상하기 위해 상기와 같이 쿼터니언(Quternion) 구면선형보간(SLERP)을 이용할 수 있으며, 쿼터니언은 단위방향벡터(n)과 회전량(εo)을 사용하여 계산되고 오일러각으로 변환될 수 있다. 하기의 [수학식 11]에 의해서, q->E는 쿼터니언에서 오일러각으로 변환을 나타낼 수 있다.
[수학식 11]
여기서, n은 단위방향벡터이고, Δ는 각각의 축에 대한 방향윤곽오차(εo)이다.
이하, 본 발명의 로봇(120) 제어 장치에 대해 설명하기로 한다.
본 발명의 로봇(120) 제어 방법을 수행하는 본 발명의 로봇(120) 제어 장치는, 로봇(120)에 결합되어 공구(111)를 구비하는 가공부(110); 가공부(110)로 레이저를 조사하여 공구(111)의 실시간 위치와 방향인 실제위치(Pact)와 실제방향(Oact)을 측정하는 레이저 트래커(200); 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로 상 공구(111)의 위치와 방향인 참조위치와 참조방향을 설정하며, 레이저 트래커(200)로부터 실제위치(Pact)와 실제방향(Oact)에 대한 정보를 전달받고, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)을 도출하여, 로봇(120)으로 제어신호를 전달함으로써 공구(111)의 위치와 방향을 제어하는 제어부(130);를 포함한다. 여기서, 제어부(130)는, 공구(111)가 실제위치(Pact)로부터 윤곽기준위치(Pc)로 이동하고 실제방향(Oact)으로부터 윤곽기준방향(Oc)으로 자세를 변경하도록 로봇(120)으로 제어신호를 전달할 수 있다.
상기된 제1단계의 수행은 레이저 트래커(200)에 의해 수행될 수 있으며, 상기된 제2단계 내지 제5단계에서 수행되는 각각의 제어 관련 사항은 제어부(130)에서 수행될 수 있다.
본 발명의 로봇(120) 제어 장치에 대한 나머지 상세한 사항은, 본 발명의 로봇(120) 제어 방법에서 관련되어 기재된 사항과 동일하다.
상기와 같이 형성되는 본 발명의 로봇(120) 제어 장치; 및 로봇(120)의 형상, 참조가공경로 및 공구(111)에 대한 윤곽기준위치(Pc)와 윤곽기준방향(Oc) 각각으로의 보정량에 대한 수치를 표시하는 디스플레이 장치를 포함하는 가공 시스템을 형성할 수 있다.
디스플레이 장치에는, 로봇(120)의 3차원 형상 및 상기된 각각의 수치 값 중 일부 또는 전체가 표시될 수 있으며, 사용자는 디스플레이 화면을 보면서 로봇(120) 및 공구(111)의 작동 상황 등에 대해 육안으로 확인할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 가공대상(10)에 대한 설계도이고, 도 7은 본 발명의 일 실시 예에 따른 로봇(120) 제어 장치를 이용한 로봇(120) 가공에 대한 이미지이다.
도 6은 본 발명의 로봇(120) 제어 장치를 이용한 본 발명의 로봇(120) 제어 방법의 성능을 테스트하기 위한 가공대상(10)에 대한 설계도로써 제어부(130)에 저장되며, 도 6의 (a)는 가공대상(10)의 평면도이고, 도 6의 (b)는 가공대상(10)의 측면도이며, 도 6의 (c)는 가공대상(10)의 사시도이다.
상기와 같은 본 발명의 로봇(120) 제어 방법에 의한 가공정밀도 향상을 측정하기 위하여, 로봇(120)(TX200, Staubli), 스핀들(ES929A, HSD) 및 레이저 트래커(200) 시스템(AT960MR, Leica geosystems)으로 구성된 로봇(120) 제어 장치를 마련하였다.
로봇(120)의 엔드이펙터인 가공부(110)에 스핀들이 부착되어 있고, 가공부(110)에 반사체(112)로써 6-DOF 센서(T-Mac, Leica geosystems)를 부착하였다. 레이저 트래커(200)는 반사체(112)의 위치와 방향을 최대 1kHz까지 실시간으로 측정할 수 있고, 상기와 같은 본 발명의 로봇(120) 제어 방법에 의한 알고리즘은 산업용 PC(C6930, Beckhoff)에서 실행되는 Beckhoff TwinCAT 실시간 프로그래밍 환경에서 구현되었으며 250Hz의 샘플 레이트로 실행되었다. 실시간 PC는 레이저 트래커(200) 컨트롤러에서 공간 측정 데이터를 수집하고 EtherCAT 프로토콜을 사용하여 로봇(120) 컨트롤러(CS8C, Stδubli)와 공구(111) 경로 및 수정 값을 교환할 수 있다.
본 발명의 로봇(120) 제어 방법에 의한 알고리즘의 성능을 비교 평가하기 위하여, NAS 979 공작물이 5축 공작 기계에 대한 성능 테스트로 널리 인정되기 때문에, 도 6에서 보는 바와 같이, 상기와 같은 로봇(120) 제어 장치를 이용하여 NAS(National Aerospace Standard) 979 공작물을 가공하였다.
이 때, 원과 사각형 및 측면 경사를 가공하여 성능을 평가하였다. 가공조건은 이송 속도 900mm/min, 스핀들 속도 6,000rpm, 절입 깊이 2mm로 결정되었다.(ISO 10791-1 참조)
가공된 가공대상(10)인 공작물의 치수 정확도는 좌표 측정기(CMM)를 이용하여 측정되었다. 좌표 측정기(CMM)의 반복성은 0.006mm이고 체적 정확도는 2.4㎛ + 길이/250mm이다. 원의 지름과 정사각형의 길이를 측정했으며, 원의 경계는 20포인트, 정사각형의 각 변은 10포인트를 측정하였다.
상기와 같은 공작물은 2개가 마련되어, 하나의 공작물인 실시용 공작물은 본 발명의 로봇(120) 제어 방법을 적용하여 가공하였으며, 다른 공작물인 비교용 공작물은 종래기술의 로봇(120) 제어 방법을 적용하여 가공하였다.
여기서, 원에 대한 목표지름은 108mm이고, 정사각형의 각 변의 목표길이는 110mm이었다.
각각의 공작물에 대한 가공 종료 후, 비교용 공작물을 측정한 경우, 측정된 원의 지름은 108.322mm로써 원의 가공 오차는 322㎛이었고, 정사각형의 측정된 길이는 각 변에 대해 110.356 및 110.353mm로써 정사각형의 가공 오차는 356㎛이었다.
반면에, 실시용 공작물을 측정한 경우, 측정된 원의 지름은 107.945mm로써 원의 가공오차는 55㎛이고, 정사각형의 측정된 길이는 각 변에 대해 110.049 및 109.950mm로써 정사각형의 가공 오차는 50㎛이었다.
상기된 비교용 공작물과 실시용 공작물의 가공 후 가공오차 비교에서 보는 바와 같이, 본 발명의 로봇(120) 제어 방법을 이용하여 공작물에 대한 가공을 수행하는 경우, 가공 정밀도가 향상됨을 확인할 수 있다.
상기와 같은 본 발명의 로봇(120) 제어 방법 및 장치를 이용하는 경우, 공구(111)의 실제위치(Pact)와 사전에 설정된 참조위치 간 차이를 이용하여 가공대상(10)에 대한 가공경로의 오차 보정을 수행하므로, 오차 보정의 성능을 향상시킬 수 있다.
그리고, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇(120)에 대한 오차 보정 제어를 수행할 수 있어, 로봇(120)을 이용한 가공공정에서의 효율을 현저히 향상시킬 수 있다.
이하, 상기와 같은 2가지 방식 중 제2방식에 의해 수행되는 본 발명의 로봇 제어 방법에 대해서 설명하기로 한다.
도 8은 본 발명의 다른 실시 예에 따른 로봇 제어 장치에 대한 개략도이고, 도 9는 본 발명의 다른 실시 예에 따른 로봇 제어 장치의 일부에 대한 구성도이다.
제1방식에서 설명된 각각의 도면 중, 도 1과 도 2 및 도 4와 도 5 각각은 윤곽제어 알고리즘에 대한 것으로써, 제2방식에도 동일하게 적용될 수 있다.
먼저, 제1단계에서, 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇(120), 로봇(120)의 말단과 결합하고 공구(111)를 구비하여 가공대상(10)에 대한 가공을 수행하는 가공부(110) 및, 공구(111)가 가공대상(10)에 대한 작업 시, 로봇(120)의 자세를 제어하는 제어부(130)를 마련할 수 있다.
그리고, 제어부(130)는, 강성데이터와 절삭력에 대한 정보를 이용하여, 공구의 컴플라이언스오차(Δx)를 도출하고, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로 상 공구(111)의 위치와 방향인 참조위치와 참조방향을 설정함으로써, 컴플라이언스오차(Δx) 및 참조위치와 참조방향을 이용하여 실제위치(Pact)와 실제방향(Oact)에 대한 정보를 생성하고, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)을 도출하여, 로봇(120)으로 제어신호를 전달함으로써 상기 공구의 위치와 방향을 제어할 수 있다.
이와 같은 본 발명의 로봇(120) 제어 장치를 이용한 본 발명의 로봇(120) 제어 방법에 대해서, 하기의 각 단계에서 더욱 상세히 설명하기로 한다.
상기와 같은 제1단계 이후 제2단계에서, 로봇(120)의 자세에 따라 가변하는 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 공구(111)에 작용되는 힘인 절삭력에 대한 정보를 이용하여, 공구(111)에 대해 연산된 가공오차인 컴플라이언스오차(Δx)를 연산하여 도출할 수 있다.
강성데이터에는 각각의 가공공정 수행 시 로봇(120)의 자세에 대한 데이터가 수집 저장되어 있으며, 이와 같은 강성데이터를 이용하여 하기와 같은 강성행렬(Kx)을 도출할 수 있다.
제어부(130)에는 가공대상(10)에 대한 공구(111)인 이동경로인 참조가공경로가 사전에 저장되어 있으며, 이와 같은 참조가공경로를 따라 공구(111)가 이동하는 경우, 공구(111)의 이동 경로 상 각각의 위치에서의 로봇(120)의 자세가 제어부(130)에 저장될 수 있으며, 이를 이용하여, 제어부(130)는 참조가공경로를 이용하여 로봇(120)의 자세 변형을 예측할 수 있다.
여기서, 로봇(120)의 자세 변형이란, 복수 개의 관절 각각의 3차원 회전각 및 복수 개의 링크 각각의 3차원 위치가 반영되어 로봇(120)의 자세가 변경 및 결정되는 것을 의미할 수 있다.
제어부(130)는, 가공대상(10)에 형성된 복수 개의 가공부(110)위 각각에 대한 절삭력의 데이터인 절삭력모델링데이터를 저장할 수 있다. 사용자가 제어부(130)에 가공대상(10)의 종류에 대한 정보를 입력하면, 제어부(130)는 해당 가공대상(10)과 관련된 정보를 절삭력모델링데이터에서 서칭하게 되고, 매칭되는 데이터를 이용하여 해당 가공대상(10)에서 복수 개의 가공부(110)위 각각에 대한 절삭력을 도출하여 이용할 수 있다.
이와 같은 방식으로 절삭력을 도출하는 경우, offline 상태에서도 로봇(120)의 제어를 수행할 수 있어, 로봇(120)을 이용한 가공의 안정성을 향상시킬 수 있다.
또는, 가공부(110)는, 절삭력을 측정하는 힘센서(121)를 구비할 수 있다. 여기서, 힘센서(121)는 가공부(110)의 외부 또는 내부에 형성될 수 있으며, 힘센서(121)는 가공부(110) 내 공구(111)와 연결된 스핀들에 가해지는 압력 및 토크를 측정할 수 있다.
여기서, 스핀들에 가해지는 압력 및 토크는 3차원 방향으로 측정될 수 있으며, 제어부(130)는 이와 같은 스핀들에 대한 압력 및 토크 값을 이용하여 절삭력을 도출할 수 있으며, 이를 위해 제어부(130)는 절삭력 측정을 위한 공구(111)동력계(dynamometer)를 구비할 수 있다.
컴플라이언스오차(Δx)는 로봇 머니퓰레이터의 불충분한 구조적 강성으로 인해 발생할 수 있다. 컴플라이언스(Compliance)의 주요 요인은 베어링, 모터 샤프트, 기어 및 기어박스와 같은 로봇의 관절에 설치되는 부품일 수 있다. 링크의 강성은 관절(조인트)보다 훨씬 크기 때문에 링크가 강성인 것으로 가정하고 모든 컴플라이언스는 관절 부분에만 집중될 수 있다. 컴플라이언스오차(Δx)는 모터 엔코더로 측정할 수 없기 때문에 로봇(120) 가공 중 컴플라이언스오차(Δx)를 추정하기 위해 컴플라이언스 모델을 이용할 수 있다.
외력(external wrench)에 의해 유도된 로봇의 관절 토크(τ)는, 하기의 [수학식 1]에 의해 도출될 수 있다.
[수학식 12]
여기서, τ는 관절 토크이고, J는 자코비안 행렬이며, Ф는 외력일 수 있다. 그리고, 하기와 같이 외력은 절삭력일 수 있다.
그리고, 상기와 같은 [수학식 12]에 대한 편도함수는 [수학식 13]과 같이 표현될 수 있으며, [수학식 13]은 [수학식 14]와 같이 데카르트 강성행렬(Kx)의 관점에서 재정렬될 수 있다.
[수학식 13]
[수학식 14]
여기서, Kθ는 관절 강성행렬이고, 는 상보적 강성행렬일 수 있다. 일반적인 경우에는 상보적 강성행렬의 효과가 관절 강성행렬에 비해 상대적으로 작기 때문에 무시할 수 있다. 따라서, 컴플라이언스 모델에 대한 수학식은 [수학식 15]와 같이 도출될 수 있다.
그리고, 제어부(130)는, 하기의 [수학식 15]를 이용하여 컴플라이언스오차(Δx)를 도출할 수 있다. 여기서, Δx는 컴플라이언스오차이고, Cx는 데카르트 컴플라이언스 행렬이며, Ф는 절삭력이고, Cθ는 로봇(120)의 관절에 대한 컴플라이언스 행렬이며, J는 자코비안 행렬이고, T는 전치행렬(이하, 동일)일 수 있다. 이하, 로봇(120)의 관절(조인트)에 대한 컴플라이언스 행렬은 관절 컴플라이언스 행렬이라고 할 수 있다.
[수학식 15]
데카르트 컴플라이언스 행렬은 자코비안 행렬과 관절 컴플라이언스 행렬을 곱하여 연산될 수 있다. 관절 컴플라이언스 행렬은 각각의 요소가 관절 컴플라이언스 값인 대각 행렬, 즉, Cθ=diag(1/Kθ1, ..., 1/Kθi, ..., 1/Kθ6)일 수 있다. 여기서, Kθi는 로봇(120)의 각 관절에 대한 강성 값을 나타내고, 관절의 강성 값은 각 관절의 힘/변위 관계를 사용하여 식별될 수 있다.
가공 중 공구(111)의 실제 자세(실제 위치 및 방향)는 주로 절삭력으로 인한 처짐, 즉, 컴플라이언스 오류 및 운동학적 매개변수의 부정확성으로 인해 원하는 궤적에서 벗어나 윤곽 오류가 발생할 수 있다. 3차원(3-D) 로봇 가공에서, 윤곽 오차는, 공구(111)의 참조위치와 실제위치(Pact)의 차이인 위치윤곽오차(εp) 및, 공구(111)의 참조방향과 실제방향(Oact)의 차이인 방향윤곽오차(εo)로 구성될 수 있다.
도 1과 도 2에서 보는 바와 같이, 참조자세(Reference pose)와 실제자세(Actual pose)를 이용하여, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)를 포함하는 윤곽기준자세(Contour reference pose)를 도출할 수 있으며, 로봇(120) 가공에서의 위치윤곽오차(εp) 및 방향윤곽오차(εo)에 의한 자세오차(εcontour)를 도출할 수 있다.
위치윤곽오차(εp)는 실제위치(Pact)에서 직교 좌표의 원하는 참조 궤적까지의 직교 거리로 정의될 수 있고, 위치윤곽오차(εp)는 실제위치(Pact)와 실제위치(Pact)에서 참조 궤적에서 가장 가까운 참조위치인 최근접참조위치(Pn)를 이용하여 연산될 수 있다. 그리고, 방향윤곽오차(εo)는, 원하는 방향(윤곽기준자세의 방향)과 실제 방향을 사용하여 연산할 수 있다. 이와 같은 사항에 대해서는 하기의 나머지 각 단계에서 상세히 설명하도록 한다.
상기와 같은 제2단계 이후 제3단계에서, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로 상 공구(111)의 위치 및 방향인 참조위치 및 참조방향, 그리고, 컴플라이언스오차(Δx)를 이용하여, 공구(111)의 실시간 위치와 방향인 실제위치와 실제방향을 측정할 수 있다.
제어부(130)는, 참조가공경로에의 참조위치와 참조방향 및 컴플라이언스오차(Δx)를 이용하여 공구(111)의 실시간 위치와 방향인 실제위치와 실제방향을 도출할 수 있다. 구체적으로, 참조가공경로 상 참조위치는 3차원 위치로 표현되며 참조방향은 3차원 방향으로 설정되며, 컴플라이언스오차(Δx)는 3차원 위치와 방향을 모두 포함할 수 있다. 그리고, 참조위치와 참조방향에서 컴플라이언스오차(Δx)에 의한 오차를 연산함으로서, 3차원 위치와 방향에 있어 공구(111)의 실시간, 즉, 현재 상태에 대한 위치와 방향인 실제위치와 실제방향을 연산할 수 있다.
상기와 같은 제3단계 이후 제4단계에서, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로를 복수 개의 직선으로 분할할 수 있다. 여기서, 복수 개의 직선은 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성될 수 있다.
로봇(120)을 제어하는 제어부(130)는, 로봇(120)의 가공 경로 계획을 위해 각 샘플링 주기에서 참조위치와 참조방향으로 구성된 참조자세 세트를 하기의 [수학식 16]와 같이 제공할 수 있다.
[수학식 16]
여기서, Pr 및 Or은 데카르트 좌표의 기준 위치 및 방향일 수 있다. 또한, Xr, Yr 및 Zr은 각각 X, Y 및 Z축의 참조위치일 수 있다. 그리고, Rxr, Ryr, Rzr은 각각 오일러 각으로 표시되는 Rx, Ry, Rz축의 참조방향일 수 있다.
위치윤곽오차(εp)와 방향윤곽오차(εo)를 도출하기 위해서는 상기와 같은 참조자세를 찾아야 하며, 참조 가공경로에 의한 참조 궤적은 보간기에 의해 분할된 복수 개의 직선으로 분할되며, 결과적으로 각 샘플링 기간에 대해 참조위치가 생성될 수 있다. 그리고, 각각의 참조위치에서의 공구(111)의 방향인 참조방향이 생성될 수 있다.
상기와 같은 제4단계 이후 제5단계에서, 복수 개의 직선 중 실제위치(Pact)에 가장 근접한 참조위치인 최근접참조위치(Pn)를 통과하는 2개의 직선 각각과 실제위치(Pact)를 수직 연결한 2개의 수직연결선을 이용하여, 공구(111)의 위치 오차를 보정한 위치인 윤곽기준위치(Pc)를 도출할 수 있다. 여기서, 2개의 직선은, 최근접참조위치(Pn)에 인접한 2개의 참조위치 각각과 최근접참조위치(Pn)를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함할 수 있다.
위치윤곽오차(εp)는 실제위치(Pact)와 보간된 참조위치를 연결하는 선분에서 찾은 윤곽기준위치(Pc) 사이의 거리를 사용하여 연산될 수 있다. 이를 위해, 먼저, 탐색범위를 설정하고 탐색범위 내의 참조가공경로에 복수 개의 참조위치를 설정한 다음, 복수 개의 참조위치 중 공구(111)의 실제위치(Pact)와 가장 근접한 최근접참조위치(Pn)를 연산하여 도출할 수 있다.
여기서, 탐색범위 내 복수 개의 참조위치는 실험적으로 20개 이상이 바람직할 수 있으나, 반드시 이에 한정되는 것은 아니다.
상기와 같은 최근접참조위치(Pn)를 도출한 후, 최근접참조위치(Pn)에 인접한 2개의 참조위치, 즉, 참조가공경로 상 가공 방향에 대해 최근접참조위치(Pn)의 전과 후의 방향에 위치한 2개의 참조위치인 제1인접참조위치(Pn-1)과 제2인접참조위치(Pn+1)가 설정될 수 있다.
여기서, 제1인접참조위치(Pn-1)와 최근접참조위치(Pn)를 연결하여 제1연결직선이 형성되고, 제2인접참조위치(Pn+1)와 최근접참조위치(Pn)를 연결하여 제2연결직선이 형성될 수 있다.
그리고, 실제위치(Pact)로부터 제1연결직선으로 연결되는 제1수직연결선과 제1연결직선의 교점인 제1투영점(H1) 및, 실제위치(Pact)로부터 제2연결직선으로 연결되는 제2수직연결선과 제2연결직선의 교점인 제2투영점(H2)이 설정될 수 있다.
상기와 같은 최근접참조위치(Pn)와 제1투영점(H1) 및 제2투영점(H1)을 이용하여 각각의 케이스에 따라 윤곽기준위치(Pc)를 도출할 수 있으며, 이에 대해서 하기에 상세히 설명하기로 한다.
도 4의 (a)는 제1케이스에 대한 것이고, 도 4의 (b)는 제2케이스에 대한 것이며, 도 4의 (c)는 제3케이스에 대한 것이다. 그리고, 도 4의 (d)는 제4케이스에 대한 것이다.
도 4에서 보는 바와 같이, 제1연결직선과 제2연결직선 각각에 대한 제1투영점과 제2투영점 각각의 위치에 따라 윤곽기준위치(Pc)와 윤곽기준방향(Oc)이 결정될 수 있다. 구체적으로, 4개의 케이스가 성립될 수 있으며, 제1연결직선과 제2연결직선 각각에 대한 제1투영점(H1) 및 제2투영점(H1) 각각의 위치를 기준으로 실제위치(Pact)에 대한 윤곽기준위치(Pc)가 결정될 수 있다.
그리고, 하기의 [수학식 17-1]과 [수학식 17-2]에서 보는 바와 같이, 제1투영점(H1)과 제2투영점(H1) 및 윤곽기준위치(Pc)의 연산을 위한 가중치를 결정하기 위해 r1 및 r2를 정의할 수 있다.
[수학식 17-1]
[수학식 17-2]
여기서, Pc는 윤곽기준위치를 나타내고, Pn-1은 제1인접참조위치를 나타내며, Pn+1은 제2인접참조위치를 나타낼 수 있다. 그리고, H1은 제1투영점을 나타내고, H2는 제2투영점을 나타낼 수 있다.
도 4의 (a)에서 보는 바와 같이, 제1케이스로써, 제1투영점(H1)이 제1연결직선의 연장선 상에 위치하고 제2투영점(H2)이 제2연결직선의 연장선 상에 위치하는 경우, 최근접참조위치(Pn)가 윤곽기준위치(Pc)일 수 있다.
제1케이스의 경우, r1>1이고 r2>1이므로, 실제위치(Pact)에 가장 가까운 최근접참조위치(Pn)가 윤곽기준위치(Pc)일 수 있다.
도 4의 (b)에서 보는 바와 같이, 제2케이스로써, 제1투영점(H1)이 제1연결직선의 연장선 상에 위치하고 제2투영점(H2)이 제2연결직선 상에 위치하는 경우, 제2투영점(H2)이 윤곽기준위치(Pc)일 수 있다.
그리고, 도 4의 (c)에서 보는 바와 같이, 제3케이스로써, 제1투영점(H1)이 제1연결직선 상에 위치하고 제2투영점(H2)이 제2연결직선의 연장선 상에 위치하는 경우, 제1투영점(H1)이 윤곽기준위치(Pc)일 수 있다.
제2케이스와 제3케이스의 경우, 제1투영점(H1)과 제2투영점(H2) 중 어느 하나의 투영점은 하나의 연결직선 내부에 위치하고, 다른 투영점은 다른 연결직선의 외부에 위치할 수 있다. 그리고, r1 및 r2이며, 연결직선의 내부, 즉, 연결직선 상에 위치하는 투영점이 윤곽기준위치(Pc)일 수 있다.
도 4의 (d)에서 보는 바와 같이, 제4케이스로써, 제1투영점(H1)이 제1연결직선 상에 위치하고 제2투영점(H2)이 제2연결직선 상에 위치하는 경우, 제1투영점(H1)과 제2투영점(H2) 중 실제위치(Pact)에 더 근접한 투영점이 윤곽기준위치(Pc)일 수 있다.
제4케이스의 경우, 제1투영점(H1)과 제2투영점(H2) 각각은 제1연결직선과 제2연결직선 내부에 위치하고, 0≤r1≤1 및 0≤r2≤1이며, 실제위치(Pact)에 가장 가까운 투영점이 윤곽기준위치(Pc)일 수 있다.
그리고, 상기와 같은 제2케이스 내지 제4케이스에서, 연결직선 상에 있는 윤곽기준위치(Pc)는, 하기의 [수학식 18-1] 또는 [수학식 18-2]에 의해, 최근접참조위치(Pn)와 인접한 참조위치인 제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1)의 선형 보간을 사용하여 연산될 수 있다.
[수학식 18-1]
[수학식 18-2]
여기서, Pc는 윤곽기준위치를 나타내고, Pn-1은 제1인접참조위치를 나타내며, Pn+1은 제2인접참조위치를 나타낼 수 있다.
그리고, 위치윤곽오차(εp)는 참조위치와 실제위치(Pact) 사이를 하기의 [수학식 19]와 같이 연산될 수 있다.
[수학식 19]
여기서, εp는 위치윤곽오차를 나타내고, Pc는 윤곽기준위치를 나타내며, Pa는 실제위치(Pact)를 나타낼 수 있다.
상기와 같은 제5단계 이후 제6단계에서, 최근접참조위치(Pn)에서의 참조방향과 실제방향(Oact)을 이용하여 공구(111)의 방향 오차를 보정한 방향인 윤곽기준방향(Oc)을 도출할 수 있다.
일반적인 로봇(120) 제어는 직관적이기 때문에 공구(111)의 방향 표현을 위해 오일러각을 이용할 수 있다. 그러나, 오일러각은 하나의 축의 변경이 순차적 회전으로 인해 다른 축에 영향을 미치기 때문에, 방향 보정을 처리하는데 적합하지 않을 수 있다.
따라서, 쿼터니언(Quternion, 사원수)은 회전 축을 동시에 처리하고 회전 행렬에 비해 연산이 더 효율적이기 때문에 방향 연산에 용이할 수 있다. 방향윤곽오차(εo)는, 참조방향과 실제방향(Oact)을 이용하여 연산될 수 있으며, 윤곽기준방향(Oc)은, 상기된 제3단계에서의 각각의 케이스에 따라 방식을 달리하여 도출될 수 있다.
구체적으로, 상기된 제1케이스의 경우, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향일 수 있다. 그리고, 상기된 제2케이스 내지 제4케이스의 경우, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향과 최근접참조위치(Pn)에 인접한 참조위치(제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1))에서의 참조방향을 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득될 수 있다.
제2케이스 내지 제4케이스에서, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향인 최근접참조방향(On) 및 상기된 제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1) 각각에서의 참조방향인 제1인접참조방향(On-1)과 제2인접참조방향(On+1)의 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득할 수 있다. 여기서, 쿼터니언(Quternion) 구면선형보간(SLERP) 연산은 하기의 [수학식 20-1]과 [수학식 20-2]에 의해 연산될 수 있다.
[수학식 20-1]
[수학식 20-2]
여기서, 상기된 바와 같이, qc는 윤곽기준방향(Oc)의 쿼터니언을 나타내고, qn은 최근접참조방향(On)의 쿼터니언을 나타내며, qn-1는 제1인접참조방향(On-1)의 쿼터니언을 나타낼 수 있다. 그리고, qn+1은 제2인접참조방향(On+1)의 쿼터니언을 나타낼 수 있다.
그리고, 상기와 같이 획득되는 윤곽기준방향(Oc)의 3차원 좌표와 실제방향(Oact)의 3차원 좌표 간 차이를 이용하여 방향윤곽오차(εo)에 대한 3차원 좌표를 도출할 수 있다. 이에 대해서는 하기의 제5단계 설명에서 상세히 설명하기로 한다.
상기와 같이 윤곽기준방향(Oc)을 도출하는 하나의 방식 외에, 윤곽기준방향(Oc)은, 윤곽기준위치(Pc)에서 공구(111)의 길이 방향을 따라 형성되는 축의 벡터 방향일 수 있다. 여기서, 공구(111)의 길이 방향을 따라 형성되는 축의 벡터는 공구(111)에서 z축 벡터일 수 있다.
구체적으로, 방향윤곽오차(εo)를 연산하기 위해 실제위치(Pact)에서의 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향으로부터 z축 벡터를 추출할 수 있다. 그리고, 하기의 [수학식 21]과 같이, 방향윤곽오차(εo)는, 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향 각각의 z축 벡터 간 각도 차이를 이용하여 연산될 수 있다.
[수학식 21]
여기서, εo는 방향윤곽오차를 나타내고, ν'c는 윤곽기준위치(Pc)에서의 참조방향의 z축 벡터를 나타내며, νa는 실제방향(Oact)의 z축 벡터를 나타낼 수 있다.
그리고, 상기와 같은 방향윤곽오차(εo)를 이용하여 각도 차이를 보정함으로써, 윤곽기준방향(Oc)을 도출할 수 있다.
상기와 같은 제6단계 이후 제7단계에서, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)을 이용하여 로봇(120)을 제어함으로써 공구(111)의 위치와 방향을 제어할 수 있다. 상기와 같이, 공구(111)에 대해서, 실제위치(Pact)와 윤곽기준위치(Pc)를 이용하여 위치윤곽오차(εp)를 도출할 수 있고, 실제방향(Oact)과 윤곽기준방향(Oc)을 이용하여 방향윤곽오차(εo)을 도출할 수 있다. 그리고, 위치윤곽오차(εp)와 방향윤곽오차(εo)가 보정되도록 공구(111)의 위치와 방향이 변경되도록 로봇(120)으로 제어신호를 전달할 수 있다.
상기와 같은 제어신호는 제어부(130)에 의해 생성되며, 로봇(120)의 관절 축은 개별적으로 제어되고, 개별 축 각각에 대한 제어기는 위치, 속도 및 전류 루프와 연결된 캐스케이드 제어 구조로 구성될 수 있다. 이와 같은 제어부(130)에서는 상기와 같은 윤곽제어 알고리즘을 이용하여 위치윤곽오차(εp)와 방향윤곽오차(εo)를 도출할 수 있다.
종래기술의 로봇 제어기에서는 내부 제어 구조의 수정을 허용하지 않기 때문에, 추가 PI(proportional-integral) 위치 제어 루프를 데카르트 좌표로 설계하여 등고선 오류를 보정할 수 있도록 함으로써, 본 발명의 제어부(130)를 형성할 수 있다.
따라서, 상기된 [수학식 16]을 수정하여 하기의 [수학식 22]를 도출할 수 있다.
[수학식 22]
여기서, Pr,m은 수정된 참조위치이고, Or,m은 수정된 참조방향일 수 있다. 그리고, KPI는 각각의 축에 대한 PI제어 게인일 수 있으며, Δ는 각각의 축에 대한 위치윤곽오차(εp)와 방향윤곽오차(εo)를 나타낼 수 있다.
이에 따라, 공구(111)의 위치 보정량은 하기의 [수학식 23]과 같이 나타날 수 있다.
[수학식 23]
여기서, Δ는 각각의 축에 대한 위치윤곽오차(εp)이고, Pc는 윤곽기준위치이며, Pa는 실제위치(Pact)이다.
방향윤곽오차(εo)를 보상하기 위해 상기와 같이 z축 벡터를 이용할 수 있으며, 이와 같은 방식의 경우, [수학식 13]에서 보는 바와 같이, 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향 각각의 z축 벡터에 직교하는 단위방향벡터(n)가 생성될 수 있다. 그 다음, 방향윤곽오차(εo)의 양 만큼 단위방향벡터(n)에 대한 오차 보정을 수행할 수 있다.
[수학식 24]
여기서, n은 단위방향벡터이고, νa는 실제방향(Oact)의 z축 벡터를 나타내고, νc는 윤곽기준위치(Pc)에서의 참조방향의 z축 벡터를 나타낼 수 있다.
도 5에서 보는 바와 같이, 방향윤곽오차(εo)를 보상하기 위해 상기와 같이 쿼터니언(Quternion) 구면선형보간(SLERP)을 이용할 수 있으며, 쿼터니언은 단위방향벡터(n)과 회전량(εo)을 사용하여 계산되고 오일러각으로 변환될 수 있다. 하기의 [수학식 25]에 의해서, q->E는 쿼터니언에서 오일러각으로 변환을 나타낼 수 있다.
[수학식 25]
여기서, n은 단위방향벡터이고, Δ는 각각의 축에 대한 방향윤곽오차(εo)이다.
상기와 같이 형성되는 본 발명의 로봇(120) 제어 장치; 및 로봇(120)의 형상 및 자세 변화, 참조가공경로 및 공구(111)에 대한 윤곽기준위치(Pc)와 윤곽기준방향(Oc) 각각으로의 보정량에 대한 수치를 표시하는 디스플레이 장치를 포함하는 가공 시스템을 형성할 수 있다.
디스플레이 장치에는, 로봇(120)의 3차원 형상 및 상기된 각각의 수치 값 중 일부 또는 전체가 표시될 수 있으며, 사용자는 디스플레이 화면을 보면서 로봇(120) 및 공구(111)의 작동 상황 등에 대해 육안으로 확인할 수 있다.
상기와 같은 본 발명의 로봇(120) 제어 방법 및 장치를 이용하는 경우, 현재 공구(111)의 위치인 실제위치(Pact)와 사전에 설정된 참조위치 간 차이를 이용하여 가공대상(10)에 대한 가공경로의 오차 보정을 수행하므로, 오차 보정의 성능을 향상시킬 수 있다.
그리고, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇(120)에 대한 오차 보정 제어를 수행할 수 있어, 로봇(120)을 이용한 가공공정에서의 효율을 현저히 향상시킬 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
<부호의 설명>
10 : 가공대상
110 : 가공부
111 : 공구
112 : 반사체
120 : 로봇
121 : 힘센서
130 : 제어부
200 : 레이저 트래커
Claims (20)
- 레이저 트래커가 로봇에 결합되어 공구를 구비하는 가공부로 레이저를 조사하여 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제1단계;가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하고, 상기 참조가공경로 상 상기 공구의 위치와 방향인 참조위치와 참조방향을 설정하는 제2단계;상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제3단계;상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제4단계; 및상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제5단계;를 포함하는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 1에 있어서,상기 제2단계에서, 상기 복수 개의 직선은 상기 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 1에 있어서,상기 제3단계에서, 상기 2개의 직선은, 상기 최근접참조위치에 인접한 2개의 참조위치 각각과 상기 최근접참조위치를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함하는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 3에 있어서,상기 실제위치로부터 상기 제1연결직선으로 연결되는 제1수직연결선과 상기 제1연결직선의 교점인 제1투영점 및, 상기 실제위치로부터 상기 제2연결직선으로 연결되는 제2수직연결선과 상기 제2연결직선의 교점인 제2투영점이 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 4에 있어서,상기 제1연결직선과 상기 제2연결직선 각각에 대한 상기 제1투영점과 상기 제2투영점 각각의 위치에 따라 상기 윤곽기준위치와 상기 윤곽기준방향이 결정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 5에 있어서,상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 최근접참조위치가 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 6에 있어서,상기 제4단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향인 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 5에 있어서,상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제2투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 5에 있어서,상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 제1투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 5에 있어서,상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제1투영점과 상기 제2투영점 중 상기 실제위치에 더 근접한 투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇, 상기 로봇의 말단과 결합하고 공구를 구비하여 가공대상에 대한 가공을 수행하는 가공부 및, 상기 공구가 상기 가공대상에 대한 작업 시, 상기 로봇의 자세를 제어하는 제어부를 마련하는 제1단계;상기 로봇의 자세에 따라 가변하는 상기 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 상기 공구에 작용되는 힘인 절삭력에 대한 정보를 이용함으로써, 상기 공구에 대해 연산된 가공오차인 컴플라이언스오차를 연산하여 도출하는 제2단계;가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치 및 방향인 참조위치 및 참조방향, 그리고, 상기 컴플라이언스오차를 이용하여, 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제3단계;가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하는 제4단계;상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제5단계;상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제6단계; 및상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제7단계;를 포함하는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 11에 있어서,상기 제4단계에서, 상기 복수 개의 직선은 상기 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 11에 있어서,상기 제5단계에서, 상기 2개의 직선은, 상기 최근접참조위치에 인접한 2개의 참조위치 각각과 상기 최근접참조위치를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함하는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 14에 있어서,상기 실제위치로부터 상기 제1연결직선으로 연결되는 제1수직연결선과 상기 제1연결직선의 교점인 제1투영점 및, 상기 실제위치로부터 상기 제2연결직선으로 연결되는 제2수직연결선과 상기 제2연결직선의 교점인 제2투영점이 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 15에 있어서,상기 제1연결직선과 상기 제2연결직선 각각에 대한 상기 제1투영점과 상기 제2투영점 각각의 위치에 따라 상기 윤곽기준위치와 상기 윤곽기준방향이 결정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 16에 있어서,상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 최근접참조위치가 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 16에 있어서,상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제2투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 16에 있어서,상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 제1투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
- 청구항 16에 있어서,상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제1투영점과 상기 제2투영점 중 상기 실제위치에 더 근접한 투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 윤곽제어 알고리즘을 이용한 로봇 제어 방법.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210128099A KR102582430B1 (ko) | 2021-09-28 | 2021-09-28 | 레이저 트래커 피드백을 이용한 로봇 제어 방법 및 장치 |
| KR10-2021-0128099 | 2021-09-28 | ||
| KR1020210128490A KR102591942B1 (ko) | 2021-09-29 | 2021-09-29 | 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치 |
| KR10-2021-0128490 | 2021-09-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023054751A1 true WO2023054751A1 (ko) | 2023-04-06 |
Family
ID=85780817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2021/013384 Ceased WO2023054751A1 (ko) | 2021-09-28 | 2021-09-29 | 윤곽제어 알고리즘을 이용한 로봇 제어 방법 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2023054751A1 (ko) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116872199A (zh) * | 2023-06-29 | 2023-10-13 | 清华大学 | 并联机器人动态轮廓误差预补偿方法及装置 |
| CN117483943A (zh) * | 2023-12-29 | 2024-02-02 | 登景(天津)科技有限公司 | 基于虚拟平面规划的板材激光加工方法及设备 |
| CN121199970A (zh) * | 2025-11-25 | 2025-12-26 | 东莞理工学院 | 基于多传感器融合的机床主轴与工件动态测量系统及方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9110456B2 (en) * | 2004-09-08 | 2015-08-18 | Abb Research Ltd. | Robotic machining with a flexible manipulator |
| KR20170016631A (ko) * | 2015-08-04 | 2017-02-14 | 한국전기연구원 | 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체 |
| JP2017505240A (ja) * | 2014-02-11 | 2017-02-16 | タイコ エレクトロニクス (シャンハイ) カンパニー リミテッド | 視覚センサを用いるロボットシステムのための自動較正方法 |
| KR20190114749A (ko) * | 2018-03-30 | 2019-10-10 | 니혼 덴산 가부시키가이샤 | 캘리브레이션 정밀도의 평가 방법 및 평가 장치 |
| JP2020049633A (ja) * | 2018-09-28 | 2020-04-02 | 三菱重工業株式会社 | ロボットの教示作業支援システム及び教示作業支援方法 |
-
2021
- 2021-09-29 WO PCT/KR2021/013384 patent/WO2023054751A1/ko not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9110456B2 (en) * | 2004-09-08 | 2015-08-18 | Abb Research Ltd. | Robotic machining with a flexible manipulator |
| JP2017505240A (ja) * | 2014-02-11 | 2017-02-16 | タイコ エレクトロニクス (シャンハイ) カンパニー リミテッド | 視覚センサを用いるロボットシステムのための自動較正方法 |
| KR20170016631A (ko) * | 2015-08-04 | 2017-02-14 | 한국전기연구원 | 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체 |
| KR20190114749A (ko) * | 2018-03-30 | 2019-10-10 | 니혼 덴산 가부시키가이샤 | 캘리브레이션 정밀도의 평가 방법 및 평가 장치 |
| JP2020049633A (ja) * | 2018-09-28 | 2020-04-02 | 三菱重工業株式会社 | ロボットの教示作業支援システム及び教示作業支援方法 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116872199A (zh) * | 2023-06-29 | 2023-10-13 | 清华大学 | 并联机器人动态轮廓误差预补偿方法及装置 |
| CN117483943A (zh) * | 2023-12-29 | 2024-02-02 | 登景(天津)科技有限公司 | 基于虚拟平面规划的板材激光加工方法及设备 |
| CN117483943B (zh) * | 2023-12-29 | 2024-03-01 | 登景(天津)科技有限公司 | 基于虚拟平面规划的板材激光加工方法及设备 |
| CN121199970A (zh) * | 2025-11-25 | 2025-12-26 | 东莞理工学院 | 基于多传感器融合的机床主轴与工件动态测量系统及方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2023054751A1 (ko) | 윤곽제어 알고리즘을 이용한 로봇 제어 방법 | |
| WO2020256504A2 (ko) | 수술 시스템 | |
| WO2015030343A1 (en) | Optical element rotation type mueller-matrix ellipsometer and method for measuring mueller-matrix of sample using the same | |
| WO2017204463A1 (ko) | 머시닝 센터 | |
| WO2017171352A2 (ko) | 공작기계의 열변위 보정 파라메터 자동 변환 장치 및 변환 방법 | |
| WO2021040376A1 (ko) | 유연 구동 장치 | |
| WO2017150933A1 (ko) | 가변형 중력토크 보상장치 및 이의 제어 방법 | |
| WO2015183050A1 (ko) | 옵티컬 트래킹 시스템 및 옵티컬 트래킹 시스템의 마커부 자세 및 위치 산출방법 | |
| WO2021162232A1 (ko) | 초소형 복강경 수술 로봇 | |
| WO2011065697A2 (ko) | 레이저 거리측정기를 이용한 맥파측정로봇장치 및 이를 이용한 맥파측정방법 | |
| WO2020075955A1 (ko) | 롤 간 상대적 자세정보 검출장치 및 이를 이용한 롤 정렬상태 측정방법 | |
| WO2021045529A1 (ko) | 라이다 장치 | |
| EP3576592A1 (en) | Cleaner | |
| WO2017155147A1 (ko) | 다축 힘센서 및 이를 이용한 장치 | |
| WO2018182170A1 (ko) | 운항선의 표준 운항 상태 선속-동력 해석 시스템 | |
| WO2017171303A1 (ko) | 수동 강성 그리퍼 | |
| WO2018182171A1 (ko) | 운항선의 표준운항상태 선속-동력 해석 방법 | |
| WO2014084647A1 (ko) | 모재 가압과 용접선 추종을 동시에 이루게 하는 용접장치 | |
| WO2021085742A1 (ko) | 서보 모터 제어 시스템 및 그 제어 방법 | |
| WO2026014664A1 (ko) | 협동 로봇, 로봇의 제어 방법 및 이를 포함하는 시스템 | |
| WO2020256502A2 (ko) | 그리퍼 및 이를 포함하는 수술용 마스터 장치 | |
| WO2020263040A1 (ko) | 복수의 광원을 이용한 컴퓨터 단층 촬영 장치 및 컴퓨터 단층 촬영 방법 | |
| WO2022103196A1 (ko) | 로봇의 기능 안전 시스템 | |
| WO2014171642A1 (ko) | 여유구동형 기구 형성 방법 및 구동기 힘 분배 시스템 | |
| WO2019108002A1 (ko) | 관절 로봇의 관절각 산출 방법 |
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: 21959522 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: 21959522 Country of ref document: EP Kind code of ref document: A1 |















