KR940000288B1 - Data output method in finding a locus of robot - Google Patents

Data output method in finding a locus of robot Download PDF

Info

Publication number
KR940000288B1
KR940000288B1 KR1019910001563A KR910001563A KR940000288B1 KR 940000288 B1 KR940000288 B1 KR 940000288B1 KR 1019910001563 A KR1019910001563 A KR 1019910001563A KR 910001563 A KR910001563 A KR 910001563A KR 940000288 B1 KR940000288 B1 KR 940000288B1
Authority
KR
South Korea
Prior art keywords
data
robot
control
microprocessor
digital
Prior art date
Application number
KR1019910001563A
Other languages
Korean (ko)
Other versions
KR920015205A (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 KR1019910001563A priority Critical patent/KR940000288B1/en
Publication of KR920015205A publication Critical patent/KR920015205A/en
Application granted granted Critical
Publication of KR940000288B1 publication Critical patent/KR940000288B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

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

Abstract

The method includes a microprocessor (10), a timer (20) for interrupting CPU (10), a position control unit (30) for controlling the robot by trajectory path data, a digital/analog converter (40) for converting the digital data of the position control unit into the analog data, a servo control unit (50) for driving the motor by the analog data, and the data output method improves the performance of the robot control by the block data method.

Description

로보트 궤적계획에 있어서의 데이타 출력방법Data Output Method in Robot Trajectory Planning

제1도는 본 발명이 적용되는 장치의 블록도1 is a block diagram of an apparatus to which the present invention is applied.

제2도(a) 및 (b)는 포인트-투-포인트 운동의 속도 대 샘플링 시간의 그래프2 (a) and (b) are graphs of velocity versus sampling time of point-to-point motion.

제3도(a) 및 (b)는 직선운동의 위치 대 샘플링주기 그래프3 (a) and 3 (b) are graphs of position versus sampling period of linear motion

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

10 : 마이크로 프로세서 20 : 타이머10: microprocessor 20: timer

30 : 위치제어부 40 : 디지탈/아날로그변환기30: position control unit 40: digital / analog converter

50 : 서보제어부 60 : 모터50: servo control unit 60: motor

본 발명은 직선운동이나 포인트-투-포인트(point-to-point) 운동에 의한 경로를 이동하는 로보트에 있어서, 상기 로보트이 이동해야할 경로에 대한 데이타를 블록단위로 전송하여 로보트을 제어함으로써 로보트 구동 효율을 향상시킬 수 있는 로보트 궤적 계획에 있어서의 데이타 출력방법에 관한 것이다.According to the present invention, in a robot moving a path by a linear motion or a point-to-point motion, the robot driving efficiency is controlled by transmitting data about a path to be moved by the robot in block units. The present invention relates to a method of outputting data in a robot trajectory plan that can be improved.

일반적으로, 로보트의 이동경로에 대한 궤적계호기을 수행하기 위한 장치의 주요 구성부분은 크게 나누어서 로보트이 이동해야할 경로에 대한 전체적인 속도파형을 계획하는 부분(예를들어 마이크로프로세서)과, 상기 전체적인 속도파형을 일정 간격으로 위치제어하여 세밀하게 제어하는 부분(예를들어, 위치제어부)으로 구성된다.In general, the main components of a device for performing a trajectory encoder for a robot's movement path are divided largely into parts (e.g., microprocessors) that plan the overall velocity waveform for the path the robot should travel, and the overall velocity waveform. It is composed of a part (for example, a position control unit) to control the position at regular intervals for fine control.

상기 포인트-투-포인트 운동에 있어서는, 일정간격으로 제어하는 부분(예를들어 위치제어부)에서는 마이크로프로세서에 의해 출력된 각 제어점을 직선으로 연결해서 제어하기 때문에 상기 마이크로프로세서에서 로보트의 이동경로에 대한 데이타를 얼마나 짧은 간격으로 출력하느냐에 따라 로보트 구동 성능이 달라진다.In the point-to-point movement, the control unit (eg, the position control unit) controlled at a predetermined interval is connected to each control point output by the microprocessor in a straight line to control the movement path of the robot in the microprocessor. The robot driving performance depends on how short the data is output.

즉, 일반적으로 로보트 위체제어장치를 이용한 로보트 위치제어방법은, 제어점에 대한 지령명령 출력시마다 로보트의 현재위치와 정상위치를 비교하여 위치이탈여부를 판단하고, 그 이탈치가 허용오차범위 이외로 벗어나면 이를 보정하여 정상적인 궤도(이동경로)를 따라 구동토록 하므로 이와같은 위치이탈 여부판단 동작이 자주 행해질수록 로보트의 구동효율이 향상되는 것이다.That is, in general, the robot position control method using the robot position control device compares the current position and the normal position of the robot every time the command command is output to the control point, and determines whether the position is out of deviation, and the deviation value is out of the tolerance range. Since the surface is corrected to drive along a normal track (movement path), the more frequently this position determination operation is performed, the higher the driving efficiency of the robot is.

한편, 직선운동시에는 3차원 공간상에 다수의 제어점(직선공간상에 존재)을 결정해서 이 제어점들을 로보트이 통과하도록 제어하는 방법으로 로보트가 거의 직선에 가까운 경로를 이동토록 한다.On the other hand, during the linear motion, a plurality of control points (existing in the linear space) are determined in three-dimensional space to control the robot to pass these control points so that the robot moves a path almost close to a straight line.

결국, 상기와 같은 포인트-투-포인트 운동 및 직선운동의 경우, 각 제어점이 얼마나 많은가에 따라서 로보트의 운동성능이 향상되는데 상기 각 제어점은 타이머 인터럽트에 의해서 계산되므로 일정시간내에 제어점을 많이 결정하려면 상기 인터럽트 시간에 대한 서비스루틴의 수행시간이 타이머 인터럽트의 주기보다 작아야 한다.As a result, in the case of the point-to-point motion and the linear motion as described above, the robot performance improves according to how many control points are used. Each control point is calculated by a timer interrupt. The execution time of the service routine for the interrupt time must be less than the period of the timer interrupt.

그렇지 않으면, 일정간격으로 제어하는 부분에서 정확한 데이타를 받지 못하여, 원하는 궤적을 이동하지 못하게 된다.Otherwise, it will not receive the correct data at the control part at regular intervals and will not be able to move the desired trajectory.

그러나, 상기와 같은 인터럽트 수행루틴의 인터럽트 수행시간동안 제어점에 대한 데이타를 출력해야 하므로 타이머 인터럽트 주기를 어느 한계 이상으로 단축할 수는 없었던 것이다.However, since the data for the control point must be output during the interrupt execution time of the interrupt execution routine as described above, the timer interrupt period could not be shortened to any limit.

따라서, 본 발명은 이와같은 종래의 문제점을 감안하여 이루어진 것으로써, 본 발명의 목적은 로보트의 이동 경로에 대한 데이타를 블록단위로 전송하여 일정시간내에 많은 제어점을 출력할 수 있어 로보트의 구동이 정확하게 행해지도록하는 로보트 궤적계획에 있어서의 데이타출력방법을 제공하는데 있다.Accordingly, the present invention has been made in view of such a conventional problem, and an object of the present invention is to transmit data on a robot's moving path in units of blocks and output a large number of control points within a predetermined time so that the robot can be driven accurately. The present invention provides a data output method in a robot trajectory plan to be performed.

상기 목적을 달성하기 위한 본 발명은, 마이크로프로세서와, 일정시간간격으로 상기 마이크로프로세서에 인터럽트를 걸어주는 타이머와, 상기 마이크로프로세서내에서 계획된 로보트 이동경로에 대한 데이타를 입력받아 위치제어를 하는 위치제어부와, 상기 위치제어부로부터 출력되는데 디지탈 데이타를 아날로그 데이타로 변환하는 디지탈/아널로그 변환기와, 상기 디지탈/아날로그 변환기에 의해 변환된 로보트 이동경로에 대한 아날로그데이타로 입력받아서 모터를 구동제어하는 서보제어부로 구성된 로보트제어장치에 있어서, 상기 타이머가 일정시간 간격으로 마이크로프로세서에 인터럽트 신호를 입력하면, 이 마이크로프로세서에 저장된 로보트 이동위치 데이타(위치데이타)를 블록단위로 편집하여 위치제어부에 출력하고, 상기 위치제어부에서는 상기 블록데이타를 이용하여 각 제어점에 대한 제어데이타를 만든 후, 이 데이타를 위치제어하여 디지탈/아날로그변환기에 의해 아날로그 데이타로 변환시켜서 서보제어부에 출력하여 서보제어부에 의해 모터를 구동시키는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a microprocessor, a timer for interrupting the microprocessor at a predetermined time interval, and a position control unit for receiving a position control by receiving data about a robot movement path planned in the microprocessor. And a digital / analog converter for converting digital data into analog data, which is output from the position control unit, and an analog data for the robot movement path converted by the digital / analog converter, to a servo control unit for driving and controlling the motor. In the configured robot control apparatus, when the timer inputs an interrupt signal to the microprocessor at predetermined time intervals, the robot movement position data (position data) stored in the microprocessor is edited in block units and output to the position control unit. Control After the control data for each control point is made by using the block data, the position control is performed to convert the data into analog data by a digital / analog converter, outputs it to the servo controller, and drives the motor by the servo controller. do.

이하, 본 발명의 실시예를 도면을 참조해서 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

제1도에 있어서, 마이크로프로세서(10)는 본 발명의 데이타 출력 및 로보트제어 동작을 총괄적으로 제어하는 것으로써, 이 마이크로프로세서(10)는 제어프로그램을 저장한 롬과, 로보트 위치데이타, 속도데이타등을 저장한 램에서 데이타를 읽거나 혹은 램에 데이타를 기록한다.In FIG. 1, the microprocessor 10 collectively controls the data output and robot control operation of the present invention. The microprocessor 10 includes a ROM storing the control program, robot position data, and velocity data. Read data from or write data to RAM.

타이머(20)는 상기 로보트의 구동을 일정시간 간격으로 정확하게 판단할 수 있도록 상기 마이크로프로세서(10)에 인터럽트를 걸어주는 것이고, 위치제어부(30)는 상기 마이크로프로세서(10)내에서 계획된 로보트 궤적에 대한 데이타를 입력받아서 로보트의 구동상태를 세밀하게 제어할 수 있도록 세분화된 데이타를 발생시키는 것이다.The timer 20 interrupts the microprocessor 10 so as to accurately determine the driving of the robot at a predetermined time interval, and the position controller 30 is configured to the robot trajectory planned in the microprocessor 10. It is to generate the subdivided data so that the robot's driving state can be finely controlled by receiving the data.

디지탈/아날로그변환기(40)는 상기 위치제어부(30)로부터 출력되는 궤적에 대한 세분화된 디지탈데이타를 받아서 아날로그 데이타로 변환하는 것이다. 서보제어부(50)는 상기 디지탈/아날로그변환기(40)에 의해 변환된 로보트궤적 계획에 대한 아날로그 데이타를 입력받아서 모터(60)을 구동제어하는 것이다.The digital / analog converter 40 receives the detailed digital data about the trajectory output from the position controller 30 and converts the digital data into analog data. The servo controller 50 controls the motor 60 by receiving analog data on the robot trajectory plan converted by the digital / analog converter 40.

이와같이 구성되어 있는 본 발명에 의한 로보트제어시스템을 이용한 데이타전송방법을 설명한다.The data transmission method using the robot control system according to the present invention configured as described above will be described.

본 발명의 로보트이동경로에 대한 데이타출력은 타이머(20)에서 일정시간 간격으로 마이크로프로세서(10)에 인터럽트신호를 입력하면 이 신호를 마이크로프로세서(10)에 의해 판독해서 마이크로프로세서(10)의 제어에 의해 행해진다.The data output of the robot movement path according to the present invention inputs an interrupt signal to the microprocessor 10 at a predetermined time interval from the timer 20, and reads the signal by the microprocessor 10 to control the microprocessor 10. Is done by.

즉, 상기 마이크로프로세서(10)는 이동해야할 경로(궤적)에 대한 데이타중 일정거리만큼 로보트이 이동하는데 필요한 위치데이타를 블록단위로 편집하여 위치제어부(30)에 출력한다.That is, the microprocessor 10 edits the position data necessary for the robot to move by a predetermined distance among the data about the path (trajectory) to be moved in block units and outputs it to the position controller 30.

이에따라, 상기 위치제어부(30)에서는 입력된 블록데이타를 이용하여 로보트의 이동경로에 대한 세분된 위치제어 데이타로 발생시켜서, 디지탈/아날로그변환기 (40)에 출력한다.Accordingly, the position controller 30 generates the generated position control data for the movement path of the robot using the input block data, and outputs the generated position control data to the digital / analog converter 40.

상기 디지탈/아날로그변환기(40)에 입력된 로보트 이동경로에 대한 위치제어데이타는 모터(60) 제어에 적합한 아날로그 신호를 변환한 후, 디지탈/아날로그변환기(40)로부터 서보제어부(50)에 출력하여 모터(60)를 구동 제어한다.The position control data for the robot movement path input to the digital / analog converter 40 is converted to an analog signal suitable for controlling the motor 60 and then output to the servo controller 50 from the digital / analog converter 40. Drive control of the motor 60 is carried out.

상술한 바와같이 블록데이타에 의해 한주기동안 위치제어하여 로보트의 제어데이타를 출력하므로, 오차가 줄어들어서 로보트이 운동성능이 향상되어, 샘플링주기를 감소한 것과 동일한 효과를 얻는다.As described above, since the control data of the robot is output by controlling the position for one period by the block data, the error is reduced, the robot performance is improved, and the same effect as that of reducing the sampling period is obtained.

좀더 상세히 설명하면, 제2도(a)에 도시한 샘플링 주기가 큰 경우의 포인트-투-포인트 운동보다는 제2도(b)에 도시한 샘플링 주기가 작은 경우의 포인트-투-포인트 운동이 로보트의 구동 효율을 향상시킨다.More specifically, the point-to-point motion when the sampling period shown in FIG. 2 (b) is smaller than the point-to-point motion when the sampling period shown in FIG. To improve the driving efficiency.

즉, 샘플링 주기가 크면 로보트이 이동 경로를 이탈하여도 이를 보정하지 않은 상태에서 계속 구동되므로, 이동경로 편차가 점점 더 벌어짐으로써 그만큼 로보트 구동성능은 저하됨과 동시에, 이동경로 보상이 곤란하게 되는데 반하여, 샘플링주기가 작으면 짧은 시간마다 로보트의 현재위치를 파악하여 정상경로를 구동할 수 있도록 수시로 편차를 보상해 주므로 그만큼 로보트 구동성능이 향상되는 것이다.In other words, if the sampling period is large, the robot continues to be driven even if it is not corrected even if it moves away from the moving path. As the moving path deviation increases, the robot driving performance is reduced, and the moving path compensation becomes difficult. If the period is small, the robot's driving performance is improved by compensating the deviation from time to time so as to drive the normal path by grasping the current position of the robot every short time.

로보트이 직선 구동할 경우에도 상기 포인트-투-포인트 운동과 마찬가지로 제3도(a)에 도시한 샘플링 주기가 큰 경우의 직선운동보다 제3도(b)에 도시한 샘플링 주기가 작은 경우의 직선운동이 그만큼 로보트의 구동성능을 향상시킨다.Even when the robot is driven linearly, similarly to the point-to-point motion, the linear motion when the sampling period shown in FIG. 3 (b) is smaller than the linear motion when the sampling period shown in FIG. This improves the driving performance of the robot.

로보트이 직선 구동할 경우에도 상기 포인트-투-포인트 운동과 마찬가지로 제3도(a)에 도시한 샘플링 주기가 큰 경우의 직선운동보다 제3도(b)에 도시한 샘플링 주기가 작은 경우의 직선운동이 그만큼 로보트의 구동성능을 향상시킨다.Even when the robot is driven linearly, similarly to the point-to-point motion, the linear motion when the sampling period shown in FIG. 3 (b) is smaller than the linear motion when the sampling period shown in FIG. This improves the driving performance of the robot.

그런데, 타이머 인터럽트의 주기를 감소시키는 것은, 인터럽트 서비스 루티의 수행시간에 의해서 제한될 경우, 주기는 최소주기로 하여야 일뿐만 아니라, 주기를 좀더 감소시켜야 할 경우에는 인터럽트 서비스루틴내에서 인터럽트 구간내의 각 제어점을 더 구하여 이 제어점들을 1개의 블록으로 조합하여서 전송하면, 제어하는 루틴에서는 상기 블록을 수신하여 각 제어점을 제어하면 되므로 실제적으로는 작은 인터럽트 주기로 수행한 것과 같은 결과를 가져옴으로써 본 발명의 목적을 달성할 수 있다.However, reducing the period of the timer interrupt is not only limited to the minimum period when the execution time of the interrupt service routine is limited, but each control point in the interrupt interval within the interrupt service routine when the period is to be further reduced. To obtain and further combine these control points into one block, the controlling routine can receive the block and control each control point, resulting in the same result as that performed in a small interrupt period, thereby achieving the object of the present invention. can do.

한편, 인터럽트 제어값은 타이머 인터럽트시에 인터럽트 서비스 루틴내의 각 제어점을 구하는 부분에서 시간변수(t)를 사용하며, 상기 시간변수(t)는 0에서 △T의 정수배로 증가시키면서 구하면 된다.On the other hand, the interrupt control value is obtained by using a time variable t at the part of obtaining each control point in the interrupt service routine at the time of interrupting the timer, and increasing the time variable t from 0 to an integer multiple of? T.

즉, f1(t) |t=kTThat is, f1 (t) | t = kT

f2(t) |t=kT+△Tf2 (t) | t = kT + △ T

f3(t) |t=kT+2△Tf3 (t) | t = kT + 2 △ T

::

fn(t) |t=kT+n△Tfn (t) | t = kT + n △ T

Figure kpo00001
Figure kpo00001

상술한 바와같이 구해진 각 주기에서의 내부점(n=1, 2…n)은 고급언어에서는 스트럭트(struct) 변수 또는 배열변수로 제어부에 출력하고, 어셈블리(assembly) 언어의 경우에는 테이블(table)로 출력하면 된다.The internal points (n = 1, 2… n) in each period obtained as described above are output to the control unit as a struct variable or an array variable in the high-level language, and in the case of an assembly language, a table ( table).

이와같이, 본 발명의 로보트 궤적계획에 있어서의 데이타 출력방법에 의하면, 블록데이타에 의한 로보트제어가 가능하여 로보트 운동성능을 향상시킨다는 효과가 있다.As described above, according to the data output method in the robot trajectory plan of the present invention, robot control by block data can be performed and the robot motion performance is improved.

Claims (1)

마이크로프로세서(10)와, 일정시간간격으로 상기 마이크로프로세서(10)에 인터럽트를 걸어주는 타이머(20)와, 상기 마이크로프로세서(10) 내에서 계획된 로보트 이동경로에 대한 데이타를 입력받아 위치제어를 하는 위치제어부(30)와, 상기 위치제어부(30)로부터 출력되는 디지탈 데이타를 아날로그 데이타로 변환하는 디지탈/아날로그 변환기(40)와, 상기 디지탈/아날로그 변환기(40)에 의해 변환된 로보트 이동경로에 대한 아날로그데이타를 입력받아서 모터(60)를 구동제어하는 서보제어부(50)로 구성된 로보트제어장치에 있어서, 상기 타이머(20)가 일정시간 간격으로 마이크로프로세서(10)에 인터럽트 신호를 입력하면, 이 마이크로프로세서(10)에에 저장된 로보트이동 위치데이타를 블록단위로 편집하여 위치제어부(30)에 출력하고, 상기 위치제어부(30)에서는 상기 블록데이타를 이용하여 각 제어점에 대한 제어데이타를 만든 후, 이 데이타를 위체 제어하여 디지탈/아날로그변환기(40)에 의해 아날로그 데이타로 변환시켜서 서보제어부(50)에 출력하여 서보제어부(50)에 의해 모터(60)를 구동시키는 것을 특징으로 하는 로보트궤적계획에 있어서의 데이타 출력방법.The microprocessor 10, the timer 20 for interrupting the microprocessor 10 at a predetermined time interval, and the position control by receiving data about the robot movement path planned in the microprocessor 10. A position controller 30, a digital / analog converter 40 for converting digital data output from the position controller 30 into analog data, and a robot movement path converted by the digital / analog converter 40 In the robot control device composed of a servo control unit 50 which receives analog data and controls driving of the motor 60, when the timer 20 inputs an interrupt signal to the microprocessor 10 at a predetermined time interval, The robot moving position data stored in the processor 10 is edited in block units and output to the position controller 30, and the position controller 30 After the control data for each control point is generated using the block data, the data is controlled in a controlled state, converted into analog data by the digital / analog converter 40, and outputted to the servo controller 50 to the servo controller 50. And a motor (60) to drive the data output method in the robot trajectory plan.
KR1019910001563A 1991-01-30 1991-01-30 Data output method in finding a locus of robot KR940000288B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910001563A KR940000288B1 (en) 1991-01-30 1991-01-30 Data output method in finding a locus of robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910001563A KR940000288B1 (en) 1991-01-30 1991-01-30 Data output method in finding a locus of robot

Publications (2)

Publication Number Publication Date
KR920015205A KR920015205A (en) 1992-08-26
KR940000288B1 true KR940000288B1 (en) 1994-01-14

Family

ID=19310476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910001563A KR940000288B1 (en) 1991-01-30 1991-01-30 Data output method in finding a locus of robot

Country Status (1)

Country Link
KR (1) KR940000288B1 (en)

Also Published As

Publication number Publication date
KR920015205A (en) 1992-08-26

Similar Documents

Publication Publication Date Title
US4912753A (en) Robot axis controller employing feedback and open loop (feedforward) control
US4893068A (en) Digital servo employing switch mode lead/lag integrator
US5270627A (en) Machine tool control system
US5070287A (en) Method for a numerical positioning control system
KR0160998B1 (en) Robot trajectory planning method
EP0490431A1 (en) Machining apparatus
KR940000288B1 (en) Data output method in finding a locus of robot
US4968923A (en) Servo control system
JPS6232508A (en) Positioning control method for servo-system of numerical controller
JPH0199102A (en) Servo controller
Ooten et al. Command generation with sliding mode control for flexible systems
JP2845595B2 (en) Moving stage for drawing equipment
JP2000163114A (en) Intra-interpolation curve acceleration and deceleration processing method
KR100454342B1 (en) Velocity profile producing method for industrial robot
KR940002171B1 (en) Robot operating method
JPS6015718A (en) Speed servo control method
JP2716446B2 (en) Servo control device
KR960016799B1 (en) Apparatus and method of position control for servo-motor
SU819794A1 (en) Multi-coordinate manipulator program control device
SU1589255A1 (en) Electric drive control system
JPS6228803A (en) Servo control device having feedforward compensation
JP2517640B2 (en) Electronic beam exposure system
SU883872A1 (en) Program control device
JP2884537B2 (en) Drive control device
JPH01177885A (en) Positioning method for motor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20021230

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee