KR0176456B1 - Path control method of robot system - Google Patents

Path control method of robot system Download PDF

Info

Publication number
KR0176456B1
KR0176456B1 KR1019920025758A KR920025758A KR0176456B1 KR 0176456 B1 KR0176456 B1 KR 0176456B1 KR 1019920025758 A KR1019920025758 A KR 1019920025758A KR 920025758 A KR920025758 A KR 920025758A KR 0176456 B1 KR0176456 B1 KR 0176456B1
Authority
KR
South Korea
Prior art keywords
path
calculating
experimental
target position
interval
Prior art date
Application number
KR1019920025758A
Other languages
Korean (ko)
Other versions
KR940013746A (en
Inventor
전재욱
Original Assignee
윤종용
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019920025758A priority Critical patent/KR0176456B1/en
Publication of KR940013746A publication Critical patent/KR940013746A/en
Application granted granted Critical
Publication of KR0176456B1 publication Critical patent/KR0176456B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators

Landscapes

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

Abstract

본 발명은 다관절 로봇시스템에서 각 관절의 목표 위치값을 산출하기 위하여 주제어기에서 수행되는 경로 제어방법에 관한 것으로, 다관절 로봇시스템에 있어서, 작업수행시 수행할 연속경로를 분할하여 분할점들을 설정하는 분할점 설정과정과 ; 상기 분할점들에 대한 각 관절의 목표 위치값들을 산출하는 목표 위치값 산출과정과 ; 상기 목표 위치값들을 이용하여 모의 실험을 수행하여 실험경로를 산출하는 실험경로 산출과정과 ; 상기 분할점들의 사이를 구간이라고 할 때 각 구간에서 연속경로와 실험경로의 차이중 최대값을 구간실험 오차로 설정하는 오차 산출과정과 ; 상기 구간 실험오차가 허용오차보다 큰 구간에 대하여 추가적인 분할점을 설정한 후 새로이 설정된 분할점에 대하여 새로이 얻어지는 구간실험오차가 허용오차보다 작거나 같게 될 때까지 상기 목표 위치값 산출과정, 실험경로 산출과정, 오차 산출과정을 반복적으로 수행하는 추가 분할점 설정과정과 ; 상기 구간실험오차들이 모두 허용오차보다 작거나 같은 경우에 상기 목표 위치값들에 따른 위치명령들을 출력하는 과정을 구비하는 것을 특징으로 한다. 이와 같은 방법은 연산의 수를 대폭 감소함으로써 로봇 몸체부의 작업 수행동작을 빠르게 하며 전력소모를 감소시키는 잇점이 있다.The present invention relates to a path control method performed by a main controller to calculate a target position value of each joint in an articulated robot system. In an articulated robot system, splitting points are divided by dividing a continuous path to be performed when performing a task. Division point setting process to set; A target position value calculating step of calculating target position values of each joint with respect to the split points; An experimental path calculation process of calculating an experimental path by performing a simulation using the target position values; An error calculating process of setting the maximum value of the difference between the continuous path and the experimental path as the interval experiment error in each interval when the division points are referred to as intervals; Calculating the target position value and calculating the experimental path until the interval experimental error newly obtained for the newly set split point becomes less than or equal to the tolerance after setting an additional split point for the interval in which the interval experimental error is larger than the tolerance. Additional splitting point setting process for repeating the process and the error calculation process; And outputting position commands according to the target position values when the interval experiment errors are all less than or equal to the tolerance. Such a method greatly reduces the number of operations, thereby speeding up the operation of the robot body and reducing power consumption.

Description

로봇시스템의 경로 제어방법Path control method of robot system

제1도는 로봇시스템의 구성을 나타내는 블럭도이다.1 is a block diagram showing the configuration of a robot system.

제2도는 위치제어기 및 서보드라이버의 구성을 나타낸 블럭도이다.2 is a block diagram showing the configuration of the position controller and the servo driver.

제3도는 두철판의 용접을 도시한 도면이다.3 is a view illustrating welding of a sheet iron plate.

제4도는 종래의 로봇시스템의 경로 제어방법을 나타내는 순서도이다.4 is a flowchart illustrating a path control method of a conventional robot system.

제5a도 및 제5b도는 종래 방법에 따라 목표 위치값들을 설정한 경우를 설명하기 위한 도면이다.5A and 5B are diagrams for explaining a case where target position values are set according to a conventional method.

제6도는 2축 로봇몸체부를 나타낸 도면이다.6 is a view showing a two-axis robot body.

제7도는 본 발명에 따른 로봇시스템의 경로 제어방법를 나타낸 순서도이다.7 is a flowchart illustrating a path control method of the robot system according to the present invention.

제8a도 및 제8b도는 본 발명에 따라 목표 위치값들을 설정하는 경우를 설명하기 위한 도면이다.8A and 8B are diagrams for explaining a case of setting target position values according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

101 : 교시상자 102 : 터미날101: teaching box 102: terminal

103 : 주제어기 104 : 입출력보드103: main controller 104: input and output board

105 : 쌍방향 램 106 : 위치제어기105: 2-way RAM 106: Position controller

107 : 서보드라이버 108 : 로봇몸체부107: servo driver 108: robot body

본 발명은 로봇시스템에 관한 것으로, 특히 다관절 로봇시스템에서 연속경로를 구현하기 위한 경로 어방법에 관한 것이다.The present invention relates to a robot system, and more particularly, to a path fishing method for implementing a continuous path in an articulated robot system.

제1도는 로봇시스템의 구성을 나타내는 블럭도로서, 교시상자(101), 터미날(102), 주제어기(103), 입출력보드(104), 쌍방향 램(105), 위치제어기(106), 서보드라이버(107) 및 로봇몸체부(108)를 포함하여 구성된다.FIG. 1 is a block diagram showing the configuration of the robot system. The teaching box 101, the terminal 102, the main controller 103, the input / output board 104, the interactive ram 105, the position controller 106, the servo driver 107 and the robot body 108 is configured.

제1도에 있어서, 교시상자(teaching box;101)는 중앙 처리 장치(CPU)와 모니터 및 키보드등으로 구성되는 것으로, 로봇몸체부(108)가 수행하는 동작을 교시한다. 터미날(102)은 사용자가 명령을 입력하거나 프로그램을 입력하고자 하는 경우에 사용된다. 주제어기(103)는 로봇몸체부(108)의 동작의 전반적인 제어를 수행하는 부분으로서, 사용자의 명령을 받아들이고 로봇의 작업 프로그램을 작성하는 기능을 제공하며 로봇상태를 분석하여 이를 사용자에게 알려준다. 또한 주제어기(103)는 사용자가 지정한 작업을 수행하기 위하여 위치제어기(106)로 소정 시간마다 위치명령을 출력하는 작업을 담당한다. 입출력보드(104)는 로봇시스템과 외부환경과의 필요한 제어신호를 상호교환하기 위한 동작을 수행한다. 위치제어기(106)는 주제어기(103)로부터 로봇몸체부(108)가 이동해야할 위치명령을 입력하고 로봇몸체부(108)로 실제 위치값을 입력하여 그에 따른 귀환제어를 수행하여 그 수행결과에 따른 속도명령을 서보드라이버(107)로 출력하게 된다. 서보드라이버(107)는 상기 속도명령에 따라 로봇몸체부(108)를 구동하는 기능을 수행한다. 이 때 로봇몸체부(108)가 여러개의 관절과 각 관절에 대응되는 서보모터(M)등을 포함하여 구성되는 경우에 서보드라이버(107)는 각 관절마다 하나씩 구성된다. 한편 쌍방향 램(105)은 상기 주제어기(103)와 위치제어기(106)의 동작이 상호 독립적으로 수행될 수 있도록 하기 위하여, 상호 송수신되는 데이타가 일시적으로 저장되는 버퍼로서의 기능를 수행한다.In FIG. 1, the teaching box 101 is composed of a central processing unit (CPU), a monitor, a keyboard, and the like, and teaches an operation performed by the robot body 108. Terminal 102 is used when a user wants to enter a command or enter a program. The main controller 103 is a part that performs overall control of the operation of the robot body 108, and provides a function of receiving a user's command, writing a work program of the robot, and analyzing the robot state and notifying the user of this. In addition, the main controller 103 is responsible for outputting a position command every predetermined time to the position controller 106 in order to perform a task designated by the user. The input / output board 104 performs an operation for exchanging necessary control signals between the robot system and the external environment. The position controller 106 inputs a position command to which the robot body 108 should move from the main controller 103, inputs an actual position value to the robot body 108, and performs feedback control according to the result. The speed command according to the output to the servo driver 107. The servo driver 107 drives the robot body 108 in accordance with the speed command. In this case, when the robot body 108 includes a plurality of joints and a servo motor M corresponding to each joint, the servo driver 107 is configured for each joint. Meanwhile, the interactive RAM 105 performs a function as a buffer in which data to be transmitted and received is temporarily stored so that operations of the main controller 103 and the position controller 106 can be independently performed.

이 때 주제어기(103)는 상술한 바와 같이 위치제어기(106)로 위치명령을 출력하게 되는데, 위치명령은 사용자가 지정한 작업을 수행하기 위하여 로봇몸체부(108)를 구성하는 각 관절이 단위 샘플링 시간동안 이동해야할 거리값들을 의미한다. 이와 같은 위치명령이 위치제어기(106)로 인가되면, 위치제어기(106)는 상기 목표 위치값으로부터 로봇몸체부(108)를 구성하고 있는 각 관절의 실제 위치값을 감산하여 오류위치값을 산출한 후 이를 이용하여 제어동작을 수행하게 된다. 여기서 상기 실제 위치값은 도면에는 도시하지 않았으나 로봇몸체부(108)를 구성하는 각 관절의 현재위치를 검출하는 위치 검출수단을 통하여 검출된다.At this time, the main controller 103 outputs a position command to the position controller 106 as described above. The position command is a unit sampling of each joint constituting the robot body 108 to perform a task designated by a user. It means the distance value to move during the time. When such a position command is applied to the position controller 106, the position controller 106 calculates an error position value by subtracting the actual position value of each joint constituting the robot body 108 from the target position value. After that, the control operation is performed using this. Although the actual position value is not shown in the figure, it is detected through position detection means for detecting the current position of each joint constituting the robot body 108.

로봇몸체부(108)는 여러개의 관절 및 관절을 잇는 연결 멤버와 각 관절을 구동하기 위한 복수의 서보모터(M)등으로 이루어지는 것으로, 상기 서보드라이버(107)의 출력은 각 서보모터(M)로 인가되게 된다.The robot body 108 is composed of a plurality of joints and connecting members connecting the joints and a plurality of servo motors (M) for driving each joint, and the output of the servo driver 107 is each servo motor (M). To be applied.

위치제어기(106)에서 수행하는 제어방식에는 여러가지가 있을 수 있다. 예를 들면, 미분제어방식(D-opration), 적분제어방식(I-operation), 비례제어방식(P-opertion)과 이들을 상호 결합하여 사용하는 PI제어방식, PD제어방식, PID제어방식등이 있을 수 있다.There may be various control schemes performed by the position controller 106. For example, the differential control method (D-opration), integral control method (I-operation), proportional control method (P-opertion), and the PI control method, PD control method, PID control method using a combination thereof There may be.

제2도는 위치제어기(106) 및 서보드라이버(107)의 구성의 실시예를 도시한 것으로, 위치제어기(106)는 제1감산기(201), 제1제어동작부(202)등을 포함하여 구성되며, 서보드라이버(107)는 제2감산기(203), 제2제어동작부(204), 구동회로(205), 서보증폭기(206)등을 포함하여 구성된다. 그외에 로봇몸체부(108)를 구성하는 관절의 속도를 검출하는 속도 검출수단(209)과 속도 검출수단(208)의 출력을 적분하여 이를 실제 위치값으로서 제1감산기(201)로 인가하는 적분기(207)등이 도면에 도시되어 있다. 여기서 위치검출수단은 속도 검출수단(208) 및 적분기(207)로 구성된다.2 shows an embodiment of the configuration of the position controller 106 and the servo driver 107. The position controller 106 includes a first subtractor 201, a first control operation unit 202, and the like. The servo driver 107 includes a second subtractor 203, a second control operation unit 204, a driving circuit 205, a servo amplifier 206, and the like. In addition, an integrator that integrates the outputs of the speed detecting means 209 and the speed detecting means 208 for detecting the speed of the joints constituting the robot body 108 and applies them to the first subtractor 201 as actual position values. 207 and the like are shown in the figure. The position detecting means here comprises a speed detecting means 208 and an integrator 207.

제2도에 있어서, 제1감산기(201)는 주제어기(103)로부터 출력되는 위치명령으로부터 실제 위치값을 감산한다. 제1제어동작부(202)는 상기 제1감산기(201)로부터 오류 위치값을 입력하여 비례미적분제어(PID)동작을 수행한다. 제2감산기(203)은 상기 제1제어동작부(202)로부터 출력되는 값으로부터 실제속도값을 감산하게 된다. 실제 속도값은 상기 속도검출수단을 통하여 검출된 후 귀환되는 값을 말한다. 제2제어동작부(204)는 상기 제2감산기(203)으로부터 출력되는 오류위치값에 대하여 비례적분제어동작을 수행한다. 구동회로(205)는 상기 제2제어동작부(204)의 출력을 구동신호로 변환하여, 서보증폭기(206)은 구동신호를 증폭하여 로봇몸체부(108)중 해당되는 관절의 서보모터(M)로 이를 인가하게 된다.In FIG. 2, the first subtractor 201 subtracts the actual position value from the position command output from the main controller 103. The first control operation unit 202 inputs an error position value from the first subtractor 201 to perform a proportional calculus control (PID) operation. The second subtractor 203 subtracts the actual speed value from the value output from the first control operation unit 202. The actual speed value refers to a value returned after being detected by the speed detecting means. The second control operation unit 204 performs a proportional integral control operation on the error position value output from the second subtractor 203. The driving circuit 205 converts the output of the second control operation unit 204 into a driving signal, and the servo amplifier 206 amplifies the driving signal so that the servo motor (M) of the corresponding joint in the robot body unit 108 is provided. ) To apply it.

여기서 주제어기(103)에서 수행되는 경로 제어방법을 설명하기에 앞서 로봇몸체부(108)의 구성을 제6도를 이용하여 간략히 설명하기로 한다.Before describing the path control method performed by the main controller 103, the configuration of the robot body 108 will be briefly described with reference to FIG.

제6도는 2축 형태의 로봇몸체부(108)를 나타낸 것으로, 제1관절(601), 제2관절(602), 제1연결멤버(603), 제2연결멤버(604) 및 그립퍼(gripper;605)를 포함하여 구성된다.FIG. 6 shows the robot body 108 having a two-axis shape, and includes a first joint 601, a second joint 602, a first connection member 603, a second connection member 604, and a gripper. 605).

제6도에 있어서, 그립퍼(605)는 제3도에 나타낸 바와 같은 용접을 수행하고자 하는 경우에 용접봉등이 부착되는 부분을 말한다. 제1관절(601) 및 제2관절(602)는 각각 이들을 구동하기 위한 서보모터(M)들이 부착되며, 제1연결멤버(603)은 상기 그립퍼(605)와 제1관절(601)을 연결하며, 제2연결멤버(604)는 제1관절(601)과 제2관절(602)을 연결한다.In FIG. 6, the gripper 605 refers to a part to which a welding rod or the like is attached when welding is to be performed as shown in FIG. The first joint 601 and the second joint 602 are attached with servo motors M for driving them, respectively, and the first connection member 603 connects the gripper 605 and the first joint 601. The second connection member 604 connects the first joint 601 and the second joint 602.

이상의 도면에서 알 수 있는 바와 같이 위치명령은 실제로 작업을 수행하는 그립퍼(605)의 목표 위치값에 따라 산출되는 것이 아니라 그립퍼(605)를 작업을 수행하기 적당한 곳으로 위치시키기 위하여 각 관절이 가지는 목표 위치값에 따라 산출된다.As can be seen from the above figure, the position command is not calculated according to the target position value of the gripper 605 that actually performs the work, but the target that each joint has in order to position the gripper 605 to a suitable place to perform the work. It is calculated according to the position value.

여기서 제4도 및 제5도를 이용하여 종래의 경로 제어방법에 대하여 설명하기로 한다.Here, the conventional path control method will be described with reference to FIGS. 4 and 5.

제4도는 종래의 로봇시스템의 경로 제어방법의 순서도를 나타낸 것이다.4 is a flowchart illustrating a path control method of a conventional robot system.

먼저 사용자가 작업을 지정하게 되면, 로봇몸체부(108)를 구성하는 부분 중 실제로 작업을 수행하는 부분 즉 그립퍼(605)가 지나가야 할 연속경로가 교시상자(101)로부터 지정된다.First, when the user designates a task, a portion of the part constituting the robot body 108 that actually performs the task, that is, a continuous path through which the gripper 605 passes, is designated from the teaching box 101.

이와 같이 그립퍼(605)의 연속경로(CP;continuous path)가 설정되면, 제401단계에서 상기 연속경로를 소정간격(L)으로 분할하여 그 분할점의 좌표값들을 산출한다.When the continuous path (CP) of the gripper 605 is set as described above, the continuous path is divided into predetermined intervals L in step 401 to calculate coordinate values of the split point.

제402단계에서는 상기 분할점의 좌표값들을 이용하여, 그립퍼(605)가 그와 같은 좌표값들을 갖도록 하기 로봇몸체부(108)의 각 관절들이 가져야 할 목표 위치값들을 산출한다.In step 402, the coordinate values of the split point are used to calculate target position values that the joints of the robot body 108 should have such coordinate values so that the gripper 605 has such coordinate values.

제403단계에서는 상기 각 관절들의 목표 위치값들을 이용하여 포인트 투 포인트 방식의 모의 실험(simulation)을 수행한다. 모의 실험을 수행하면, 그립퍼(605)가 지나가는 실험경로를 얻을 수 있게 된다. 제404단계는 상기 실험경로가 가지는 각 좌표값과 상기 연속경로가 가지는 각 좌표값을 비교하여 그 오차가 최대가 되는 것을 실험오차(εa)로 설정한다.In step 403, a point-to-point simulation is performed using the target position values of the joints. When the simulation is performed, it is possible to obtain an experimental path through which the gripper 605 passes. Step 404 compares each coordinate value of the experiment path with each coordinate value of the continuous path and sets the experiment error εa to be the maximum.

제405단계는 상기 실험오차(εa)가 허용오차(εd)의 범위안에 있는지 그렇지 않은지를 판단하게 된다. 만일 실험오차(εa)가 허용오차(εd)보다 작거나 같은 경우에는, 제407단계로 진행하여 상기 제402단계에서 산출된 목표 위치값들에 따른 위치명령들을 출력하게 되며, 그렇지 않은 경우에는, 제406단계로 진행하여 상기 소정간격(L)의 값을 반으로 나눈 후 다시 제401단계로 진행하여 상술한 과정을 반복하게 된다. 즉 실험오차(εa)가 허용오차(εd)보다 작거나 같게 될 때까지 제401단계로부터 제406단계로 이어지는 루프를 반복적으로 수행하게 된다.Step 405 determines whether or not the experimental error ε a is within a tolerance ε d. If the experimental error εa is less than or equal to the tolerance εd, the process proceeds to step 407 and outputs position commands corresponding to the target position values calculated in step 402. Otherwise, In step 406, the value of the predetermined interval L is divided in half, and then, in step 401, the above-described process is repeated. That is, the loop from step 401 to step 406 is repeatedly performed until the experimental error ε a is less than or equal to the tolerance ε d.

제5a도 및 제5b도는 종래 방법에 따른 경로 제어방법을 설명하기 위한 도면들이다.5A and 5B are diagrams for describing a path control method according to a conventional method.

제5a도에 있어서, N1, N2, N3, N4, ...등은 1차적으로 설정되는 분할점들을 나타내며, 실선으로 이루어진 경로는 연속경로를 나타내고 점선으로 이루어진 경로는 포인트 투 포인트 방식에 따른 모의 실험의 결과로 얻어지는 실험경로를 나타낸다. 이 때 분할점 N3와 분할점 N4의 사이로 정해지는 구간에는 최대오차 즉 실험오차(εa(1))가 발생되었음을 알 수 있다. 만약 실험오차(εa(1))이 허용오차(εd)보다 크게 되면, 제5b도에서와 같이 2차적인 분할점들(NO1, NO2, NO3, ...)이 설정되며, 이들에 대한 목표 위치값들이 산출된다. 제5B도의 점선은 1차적인 분할점들에 대한 목표 위치값들 및 2차적인 분할점들에 대한 목표 위치값들을 이용하여 포인트 투 포인트 방식의 모의 실험결과 얻어지는 실험경로를 나타낸다. 제5b도에서 실험오차(εa(2))는 2차적으로 얻어지는 실험경로와 연속경로의 차이값중 최대값을 나타낸다. 이 때 얻어지는 실험오차도 허용오차를 넘는 경우에는 상술한 방법을 반복적으로 수행하게 된다.In FIG. 5A, N1, N2, N3, N4, ..., etc. represent split points set primarily, a solid path represents a continuous path, and a dotted line path is simulated according to the point-to-point method. The experimental path obtained as a result of the experiment is shown. At this time, it can be seen that the maximum error, that is, the experimental error εa (1), occurred in the section determined between the splitting point N3 and the splitting point N4. If the experimental error εa (1) is larger than the tolerance εd, secondary splitting points NO1, NO2, NO3, ... are set as shown in FIG. Position values are calculated. A dotted line in FIG. 5B shows an experimental path obtained as a result of a point-to-point simulation using target position values for the primary dividing points and target position values for the secondary dividing points. In FIG. 5B, the experimental error ε a (2) represents the maximum value of the difference between the experimental path and the continuous path obtained secondarily. If the experimental error obtained at this time also exceeds the tolerance, the above-described method is repeatedly performed.

상술한 설명과 도면에서 알 수 있는 바와 같이 종래의 방식은 분할점과 분할점 사이를 구간이라고 할 때, 단지 한 구간에서만 실험오차(εa)가 허용오차(εd)를 넘는 경우에도 모든 구간을 다시 분할하게 되므로 불필요한 많은 연산을 수행하게 되는 문제점이 있다. 다시 말하면, 실험오차(εa)가 허용오차(εd)의 범위내에 있는 구간에서도 새로이 분할점이 산출되고 그 분할점을 이용하여 포인트 투 포인트 방식의 모의 실험이 수행되게 되어 불필요한 많은 연산이 수행되어짐을 알 수 있다. 이와 같은 불필요한 연산의 수행은 로봇몸체부의 작업을 수행하는 시간이 길어지게 되는 원인이 된다.As can be seen from the above description and drawings, the conventional method reconstructs all sections even when the experimental error εa exceeds the tolerance εd in only one section when the section is divided between the split points and the split point. Because of the partitioning, there is a problem that a lot of unnecessary operations are performed. In other words, even in the section where the experimental error εa is within the tolerance εd, the splitting point is newly calculated, and the point-to-point simulation is performed using the splitting point so that many unnecessary operations are performed. Can be. Performing such an unnecessary operation causes a long time for performing the work of the robot body.

또한 종래의 방법은 로봇몸체부(108)의 형상을 고려함이 없이 단순히 모든 연속경로르 소정 간격으로 등분하기 때문에 비효율적인 점이 있게 된다.In addition, the conventional method is inefficient because it simply divides all the continuous paths at predetermined intervals without considering the shape of the robot body 108.

따라서 본 발명의 목적은 상기와 같은 문제점을 해결하기 위하여, 로봇몸체부에서 연속경로를 구현하기 위한 위치명령등을 산출함에 있어 불필요한 연산을 감소시킬 수 있는 로봇시스템의 경로제어방법을 제공하는 것에 있다.Accordingly, an object of the present invention is to provide a path control method of a robot system that can reduce unnecessary operations in calculating a position command for implementing a continuous path in the robot body to solve the above problems. .

이와 같은 목적을 달성하기 위하여 본 발명인 로봇시스템의 경로 제어방법은 다관절 로봇시스템에 있어서,In order to achieve the above object, the path control method of the present invention robot system in the articulated robot system,

작업수행시 수행할 연속경로를 분할하여 분할점들을 설정하는 분할점 설정과정과 ;A split point setting process of setting split points by dividing a continuous path to be performed when performing a work;

상기 분할점들에 대한 각 관절의 목표 위치값들을 산출하는 목표위치값 산출과정과 ;A target position value calculating step of calculating target position values of each joint with respect to the split points;

상기 목표 위치값들을 이용하여 모의 실험을 수행하여 실험경로를 산출하는 실험경로 산출과정과 ;An experimental path calculation process of calculating an experimental path by performing a simulation using the target position values;

상기 분할점들의 사이를 구간이라고 할 때 각 구간에서 연속경로와 실험경로의 차이중 최대값을 구간실험 오차로 설정하는 오차 산출과정과 ;An error calculating process of setting the maximum value of the difference between the continuous path and the experimental path as the interval experiment error in each interval when the division points are referred to as intervals;

상기 구간실험 오차가 허용오차보다 큰 구간에 대하여 추가적인 분할점을 설정한 후 새로이 설정된 분할점에 대하여 새로이 얻어지는 구간실험 호차가 허용오차보다 작거나 같게 될 때까지 상기 목표 위치값 산출과정, 실험경로 산출과정, 오차 산출과정을 반복적으로 수행하는 추가분할점 설정과정과 ;Calculating the target position value and calculating the experimental route until the interval test error is newly obtained for the newly set split point is less than or equal to the tolerance after setting an additional split point for the section in which the interval test error is greater than the tolerance. An additional split point setting process for repeating the process and the error calculating process;

상기 구간실험 오차들이 모드 허용오차보다 작거나 같은 경우에 상기 목표 위치값들에 따른 위치명령들을 출력하는 과정을 구비하는 것을 특징으로 한다.And if the interval experiment errors are less than or equal to a mode tolerance, outputting position commands according to the target position values.

이어서 첨부한 도면을 이용하여 본 발명인 로봇시스템의 경로 제어방법에 대하여 좀 더 구체적으로 설명하기로 한다.Next, the path control method of the present invention robot system will be described in more detail with reference to the accompanying drawings.

제7도는 본 발명에 따른 로봇시스템의 경로 제어방법을 나타낸 순서도이다.7 is a flowchart illustrating a path control method of the robot system according to the present invention.

제7도에 있어서, 제701단계는 연속경로를 분할하여 분할점을 설정하게 된다. 여기서 분할점을 설정은 종래와는 달리 무조건적으로 등간격으로 분할하여 설정하지 않고 로봇몸체부(108)의 형상을 고려하여 이루어지도록 한다. 예를 들면, 제6도에 도시한 것과 같은 2축 형태의 로봇몸체부(108)를 가지는 경우에 연속경로가 2개의 관절 모두를 일정범위 이상 움직여야 하는 경우에 분할점이 설정되도록 할 수 있다. 이와 같이 분할점을 설정하게 되면, 각 분할점과 분할점의 길이 즉 구간의 길이는 종래와는 달리 비선형적인 특성을 갖게 된다.In FIG. 7, in step 701, the continuous path is divided to set a split point. Here, the setting of the split point is made in consideration of the shape of the robot body 108 without setting the split points unequally and at equal intervals unlike the prior art. For example, in the case of having a two-axis robot body 108 as shown in FIG. 6, the split point may be set when the continuous path needs to move both joints more than a certain range. When the split point is set as described above, the length of each split point and the split point, that is, the length of the section, has a nonlinear characteristic unlike in the prior art.

제702단계는 분할점에 대한 목표 위치값을 산출하는 단계이다. 이는 종래와 마찬가지로 수행되는 것으로, 로봇몸체부(108)중 그립퍼(605)가 각 분할점의 좌표값을 갖도록 하기 위하여 로봇몸체부(108)의 각 관절들이 위치해야할 목표 위치를 나타내는 값을 산출하는 과정이다.Step 702 is a step of calculating a target position value for the split point. This is performed as in the prior art, and calculates a value indicating a target position where each joint of the robot body 108 should be positioned so that the gripper 605 of the robot body 108 has the coordinate value of each split point. It is a process.

제703단계는 상기 각 관절들의 목표 위치값들을 이용하여 포인트 투 포인트 방식의 모의 실험(simulation)을 수행한다. 모의 실험을 수행하면, 그립퍼(605)가 지나가는 실험경로를 얻을 수 있게 된다.Step 703 performs a point-to-point simulation using the target position values of the joints. When the simulation is performed, it is possible to obtain an experimental path through which the gripper 605 passes.

제704단계는 각 구간별로 상기 실험경로가 가지는 각 좌표값과 상기 연속경로가 가지는 각 좌표값을 비교하여 구간별 실험오차(εa)를 산출한다. 여기서 각 구간별 실험오차(ε1, ε2, ε3, ε4, ε5, ...)을 산출하는 방법의 일예로는 각 구간의 중간점에서 연속경로와 실험경로의 차이의 절대값으로 산출하도록 하는 방법이 있다.In operation 704, an experimental error ε a is calculated for each section by comparing each coordinate value of the experiment path with each coordinate value of the continuous path. Here, as an example of a method for calculating the experimental error (ε1, ε2, ε3, ε4, ε5, ...) for each section, the method is to calculate the absolute value of the difference between the continuous path and the experimental path at the midpoint of each section. There is this.

제705단계는 상기 각 구간별 실험오차들(ε1, ε2, ε3, ε4, ε5, ...)이 모두 허용오차(εd)의 범위안에 있는지 그렇지 않은지를 판단하게 된다. 만일 모든 구간별 실험오차들(ε1, ε2, ε3, ε4, ε5, ...)이 허용오차(εd)보다 작거나 같은 경우에는, 제707단계로 진행하여 각 분할점들에 대하여 산출된 목표 위치값들을 출력하게 되며, 그렇지 않은 경우에는, 제706단계로 진행하게 된다.In operation 705, it is determined whether the experimental errors ε1, ε2, ε3, ε4, ε5, ... for each section are all within the tolerance εd or not. If the experimental errors for each section (ε1, ε2, ε3, ε4, ε5, ...) are less than or equal to the tolerance εd, the process proceeds to step 707 and the target calculated for each split point. If the position values are output, otherwise, the flow proceeds to step 706.

제706단계는 추가적인 분할점을 설정하는 단계로서 종래와는 달리 구간별 실험오차가 허용오차(εd)보다 큰 구간에 대하여만 추가적인 분할점을 설정하도록 한다. 여기서도 제701단계와 마찬가지로 비선형적으로 추가 분할점을 설정할 수 있으며 추가 분할점의 갯수를 종래와는 달리 자유로이 정하도록 한다. 즉 외부로부터 아무런 조정이 없는 경우에는 기정치로 정해진 갯수의 추가 분할점을 설정하고, 외부로부터 추가 분할점의 갯수에 대한 데이타가 입력되는 경우에는 그에 따라 추가 분할점의 갯수를 정하도록 한다. 이와 같이 추가 분할점이 설정되면, 제702단계로 진행하게 된다. 즉 모든 구간별 실험오차가 허용오차(εd)보다 작거나 같게 될 때까지 제702단계로부터 제706단계로 이어지는 루프를 반복적으로 수행하게 된다. 여기서 제702단계 및 제703단계 및 제704단계는 추가 분할점으로 인하여 그 단계가 수행되는 경우에는 새로이 추가된 추가 분할점에 대한 부분만을 수행하도록 함으로써 요구되는 연산의 수를 감소하도록 한다.In step 706, an additional split point is set. Unlike the conventional method, an additional split point is set only for a section in which the experimental error for each section is larger than the tolerance εd. Here, as in step 701, additional split points may be set nonlinearly, and the number of additional split points may be freely determined, unlike in the prior art. In other words, if there is no adjustment from the outside, a predetermined number of additional splitting points is set as a default value, and if data for the number of additional splitting points is input from the outside, the number of additional splitting points is determined accordingly. If the additional split point is set in this way, the process proceeds to step 702. That is, the loop from step 702 to step 706 is repeatedly performed until the experimental error for each section becomes less than or equal to the tolerance εd. Here, in steps 702, 703, and 704, when the step is performed due to the additional splitting point, only the part of the newly added additional splitting point is performed to reduce the number of operations required.

제8a도 및 제8b도는 본 발명에 따른 경로제어방법을 설정하는 경우를 설명하기 위한 도면들이다.8A and 8B are views for explaining a case of setting a path control method according to the present invention.

제8a도 및 제8b도에서, N1, N2, N3, ...등은 1차적으로 설정되는 분할점을 나타내며, NO1은 2차적으로 설정된 추가 분할점을 나타낸다. 또한 ε1, ε2, ε3, ...등은 포인트 투 포인트 방식의 모의 실험을 수행한 결과 얻어지는 1차적인 실험경로와 상기 교시상자로부터 주어지는 연속경로와의 차이 즉 1차적인 실험오차를 나타내며, ε01, ε02 등은 추가 분할점으로 얻어지는 추가적인 목표 위치값들을 이용하여 얻어지는 2차적인 실험경로와 연속경로와의 차이 즉 2차적인 실험오차를 나타낸다.In Figs. 8A and 8B, N1, N2, N3, ..., etc. indicate a split point set primarily, and NO1 indicates an additional split point set secondary. Also, ε1, ε2, ε3, ... represent the difference between the primary experimental path obtained from the point-to-point simulation and the continuous path given from the teaching box, that is, the primary experimental error. , epsilon 02 and the like indicate the difference between the secondary experimental path and the continuous path, that is, the secondary experimental error obtained by using additional target position values obtained as additional split points.

제8a도 및 제8b도에서 알 수 있는 바와 같이 본 발명은 실험오차가 허용오차보다 크게 되는 구간에 대해서만 추가적인 분할점을 설정하도록 한 것으로, 그로 인하여 추가적으로 뒤따르는 목표 위치값들을 구하는 연산, 실험오차를 구하는 연산등이 대폭적으로 감소하게 된다.As can be seen from FIGS. 8a and 8b, the present invention is to set an additional split point only for a section in which the experimental error is larger than the tolerance, thereby calculating the additional target position values and the experimental error. The operation to find is greatly reduced.

상술한 바와 같이 본 발명은 로봇시스템에서 연속경로를 구현하기 위한 위치명령들을 산출하기 위하여 수행되는 연산을 대폭적으로 감소하도록 한 것으로, 로봇몸체부의 수행동작이 빠르게 이루어지는 잇점이 있다. 또한 수행되는 연산의 수가 감소되어 그 만큼의 전력소모도 방지할 수 있는 잇점이 있다.As described above, the present invention is to greatly reduce the operation performed to calculate the position commands for implementing the continuous path in the robot system, the advantage that the robot body can perform the fast operation. In addition, there is an advantage that the number of operations performed can be reduced to prevent the power consumption.

Claims (4)

다관절 로봇시스템의 구동방법에 있어서, 작업수행시 수행할 연속경로를 분할하여 분할점들을 설정하는 분할점 설정과정과 ; 상기 분할점들에 대한 각 관절의 목표 위치값들을 산출하는 목표 위치값 산출과정과 ; 상기 목표 위치값들을 이용하여 모의 실험을 수행하여 실험경로를 산출하는 실험경로 산출과정과 ; 상기 분할점들의 사이를 구간이라고 할 때 각 구간에서 연속경로와 실험경로의 차이중 최대값을 구간실험오차로 설정하는 오차 산출과정과 ; 상기 구간 실험오차가 허용오차보다 큰 구간에 대하여 추가적인 분할점을 설정한 후 새로이 설정된 분할점에 대하여 새로이 얻어지는 구간 실험오차가 허용오차보다 작거나 같게 될 때까지 상기 목표 위치값 산출과정, 실험경로 산출과정, 오차 산출과정을 반복적으로 수행하는 추가 분할점 설정과정과 ; 상기 구간 실험오차들이 모두 허용오차보다 작거나 같은 경우에 상기 목표 위치값들에 따른 위치명령들을 출력하는 과정을 구비하는 것을 특징으로 하는 로봇시스템의 경로 제어방법.CLAIMS 1. A method of driving an articulated robot system, comprising: a split point setting process of setting split points by dividing a continuous path to be performed when performing a work; A target position value calculating step of calculating target position values of each joint with respect to the split points; An experimental path calculation process of calculating an experimental path by performing a simulation using the target position values; An error calculating process of setting the maximum value of the difference between the continuous path and the experimental path as the interval experiment error in each interval when the division points are referred to as intervals; Calculating the target position value and calculating the experimental path until the interval experimental error newly obtained for the newly set split point becomes less than or equal to the tolerance after setting an additional split point for the interval in which the interval experimental error is larger than the tolerance. Additional splitting point setting process for repeating the process and the error calculation process; And outputting position commands according to the target position values when the interval experiment errors are all less than or equal to the tolerance. 제1항에 있어서, 추가적으로 설정되는 분할점의 수는 사용자에 의하여 조작 가능하도록 한 것을 특징으로 하는 로봇시스템의 경로 제어방법.The method of claim 1, wherein the number of additional split points is set by the user. 제1항에 있어서, 실험경로 산출과정은 포인트 투 포인트 방식으로 이루어짐을 특징으로 하는 로봇시스템의 경로 제어방법.The method of claim 1, wherein the experiment path calculating process is performed in a point-to-point manner. 제1항에 있어서, 상기 분할점 설정과정 및 추가 분할점 설정과정은 로봇몸체부의 형상을 고려하여 비선형적으로 분할점이 설정되도록 한 것을 특징으로 하는 로봇시스템의 경로 제어방법.The method of claim 1, wherein the dividing point setting process and the additional dividing point setting process are set so that the dividing point is set non-linearly in consideration of the shape of the robot body.
KR1019920025758A 1992-12-28 1992-12-28 Path control method of robot system KR0176456B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920025758A KR0176456B1 (en) 1992-12-28 1992-12-28 Path control method of robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920025758A KR0176456B1 (en) 1992-12-28 1992-12-28 Path control method of robot system

Publications (2)

Publication Number Publication Date
KR940013746A KR940013746A (en) 1994-07-16
KR0176456B1 true KR0176456B1 (en) 1999-04-01

Family

ID=19346873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920025758A KR0176456B1 (en) 1992-12-28 1992-12-28 Path control method of robot system

Country Status (1)

Country Link
KR (1) KR0176456B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335258B1 (en) * 2011-08-11 2013-12-03 삼성중공업 주식회사 Robot control method and robot system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335258B1 (en) * 2011-08-11 2013-12-03 삼성중공업 주식회사 Robot control method and robot system

Also Published As

Publication number Publication date
KR940013746A (en) 1994-07-16

Similar Documents

Publication Publication Date Title
US4794540A (en) Iterative spline function controlled positioning mechanism
JPH0384604A (en) Feed speed control method for numerical controller
US5988850A (en) Curve interpolation method for performing velocity control during connecting motion of a robot
KR0176456B1 (en) Path control method of robot system
US7042185B2 (en) Robot control apparatus and control method thereof
EP0713443A1 (en) Synthetic friction algorithm for an active hand-controller
JP2786874B2 (en) Movable position control device
JPS6156880A (en) Line tracking control system
JPS6364102A (en) Learning control system
JPH01120607A (en) Motor controller
JPH0285902A (en) Feedforward controller
EP0471077A1 (en) Sliding mode control system including feedback of amount of twist
JPS6111808A (en) Controlling method of line tracking
JP2844636B2 (en) Program control unit
KR0155717B1 (en) Location order calculation method of robot system
JPH05181537A (en) Method and device for sliding mode control
KR100387587B1 (en) Approximate Optimal Proportional-Integral-Derivative Control Action Values for Servo Motors
JP2672539B2 (en) Automatic control device
EP0596241A2 (en) High precision trajectory tracking control circuit using multi-axial coordination
JPH06339882A (en) Control device for industrial robot
JPH0764644A (en) Gain switching device for positioning servo mechanism
EP0371142A1 (en) Method of correcting loci of an industrial robot
JP2003044143A (en) Method for synchronous control between servos
JPH0850503A (en) Automatic advanced angle deciding method for phase controlled servo system
JPS63271613A (en) Controller for robot

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee