KR20040064104A - Fpga를 이용한 다 축 위치 제어장치 - Google Patents

Fpga를 이용한 다 축 위치 제어장치 Download PDF

Info

Publication number
KR20040064104A
KR20040064104A KR1020030001384A KR20030001384A KR20040064104A KR 20040064104 A KR20040064104 A KR 20040064104A KR 1020030001384 A KR1020030001384 A KR 1020030001384A KR 20030001384 A KR20030001384 A KR 20030001384A KR 20040064104 A KR20040064104 A KR 20040064104A
Authority
KR
South Korea
Prior art keywords
position control
axis position
unit
central processing
processor
Prior art date
Application number
KR1020030001384A
Other languages
English (en)
Other versions
KR100520779B1 (ko
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 KR10-2003-0001384A priority Critical patent/KR100520779B1/ko
Publication of KR20040064104A publication Critical patent/KR20040064104A/ko
Application granted granted Critical
Publication of KR100520779B1 publication Critical patent/KR100520779B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/2696Mounting of devices using LEDs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/30Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating rear of vehicle, e.g. by means of reflecting surfaces
    • B60Q1/302Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating rear of vehicle, e.g. by means of reflecting surfaces mounted in the vicinity, e.g. in the middle, of a rear window
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/34Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating change of drive direction
    • B60Q1/343Manually actuated switching arrangements therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/44Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating braking action or preparation for braking, e.g. by detection of the foot approaching the brake pedal
    • B60Q1/444Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating braking action or preparation for braking, e.g. by detection of the foot approaching the brake pedal with indication of the braking strength or speed changes, e.g. by changing shape or intensity of the indication
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/005Electro-mechanical devices, e.g. switched
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q2400/00Special features or arrangements of exterior signal lamps for vehicles
    • B60Q2400/20Multi-color single source or LED matrix, e.g. yellow blinker and red brake lamp generated by single lamp

Abstract

본 발명은 FPGA를 이용한 다 축 위치 제어장치에 관한 것으로, 특히 파이프 라인의 구조를 위해 PID 제어를 위한 다수개의 처리기와 하나의 보간기용 처리기가 동시에 실행되는 다 축 위치 제어장치에 관한 것이다.
본 발명에 따른 다 축 위치 제어장치는 중앙처리장치가 내장된 로봇제어 시스템의 다 축 위치 제어장치에 있어서, 상기 중앙처리장치와 통신하여 목표위치 데이터를 전달받는 연결부와, 상기 중앙처리장치로부터 전달되는 목표위치 데이터에 따라 보간 구간을 분할하는 보간기와, 상기 보간기로부터 전달되는 상기 목표위치 데이터에 의한 다 축 위치 제어신호를 출력하는 제어 출력부와, 상기 다 축 위치 제어신호의 결과값을 실시간으로 전달받아 병렬신호로 변환하는 되먹임 입력부와, 상기 보간기로부터 전달되는 상기 목표위치 데이터와 상기 되먹임 입력부로부터 변환된 다 축 위치 제어신호의 결과값에 따라 비례미분적분 제어계산을 수행하는 앞먹임 PID 제어기로 구성되는 것을 특징으로 한다.

Description

FPGA를 이용한 다 축 위치 제어장치{MULTI JOINTS POSITION CONTROL DEVICE UNING FPGA}
본 발명은 FPGA를 이용한 다 축 위치 제어장치에 관한 것으로, 특히 파이프 라인의 구조를 위해 PID 제어를 위한 다수개의 처리기와 하나의 보간기용 처리기가 동시에 실행되는 다 축 위치 제어장치에 관한 것이다.
이동형 로봇 개발에 있어서 기존의 로봇 제어 시스템의 크기와 전력 소모는 많은 부담으로 느껴져 왔다. 기존의 로봇 제어 시스템은 제어를 위해 DSP나 마이크로 콘트롤러를 사용하였다. 이는 많은 부가적인 회로를 필요로 하고 이에 따른 추가적인 전력을 소모하여야 한다. 이러한 보드 레벨 축 제어기를 다 축에 적용하기 위해서는 제한된 프로세서 능력으로 복수의 보드가 필요하거나 개발의 어려움이 있는 고성능 DSP를 필요하게 된다.
또한, CPU의 발전에 따른 PC의 성능이 월등히 좋아짐에 따라 로봇 제어기의 형태가 독립적인 보드 개발에서 PC 기반의 시스템으로 전환되고 있다. 이러한 추세에 맞추어 PC를 산업용 제어기에 적용하기 위한 RTOS(Real Time Operating System)의 개발이 활발히 이루어지고 있다. 로봇 제어기가 RTOS를 이용한 PC 기반으로 전환되는데에는 Context Switching에 따른 다음과 같은 어려운 점을 가지고 있다.
주기적인 고주파 샘플링 시간에 동작해야 하는 축 위치 제어부를 PC를 이용하여 개발하게 되면 RTOS에서는 주기적인 인터럽트에 의한 Context Switching이 발생한다. Context Switching 작업은 순차적으로 실행되는 CPU에서 인터럽트 이전에 수행하던 작업을 정리하고, 새로운 작업을 위해 준비하는 작업이다. PC로 축 위치 제어부를 개발하게 되면, 위치 제어를 위한 계산 시간보다 더 많은 시간을 Context Switching에 소비하여야만 한다는 단점이 있다.
더구나, 모션 제어에 있어 움직이는 순간과 움직이지 않는 순간에 계산량이 다르다는 것이다. 로봇이 움직이는 순간에는 위치제어뿐 아니라, 궤적 발생, 역기구학 등의 로봇 의존적인 계산이 필요한 반면, 로봇이 움직이지 않는 순간에는 정지를 위한 위치제어 작업만 수행한다. 따라서 로봇 움직임이 없는 때 비교적 계산시간이 적은 위치 제어를 위해 Context Switching 시간을 허비하는 것은 CPU를 효율적으로 이용하지 못하는 것이다. 특히 로봇 시스템은 모션 제어뿐 아니라 센서 연결, 사용자 연결, 인텔리젼트 작업 등의 복합적인 작업을 하는 시스템이므로, 불필요한 CPU 활용은 다른 작업에 방해하는 요인이 될 수 있다.
따라서, 본 발명의 목적은 상기와 같은 단점을 보완하기 위해 디지털 회로를 하나의 칩에 집적하여 보드의 부피를 감소시킴과 동시에 파이프 라인 구조를 이용하여 다 축 적용시 같은 시간에 더 많은 제어계산을 가능하게 하는 다 축 위치 제어장치를 제공함에 있다.
또한, 하드웨어 보간기를 이용하여 Context Switching에 의한 CPU에 부담을 덜어준다.
도 1은 본 발명의 실시예에 의한 로봇제어 시스템의 블록 구성도.
도 2는 도 1의 모션 컨트롤부의 구성을 나타내는 블록 구성도.
도 3은 도 1의 다축위치 제어프로세서의 구성을 나타내는 블록 구성도.
도 4는 부호방식의 보간기 회로의 구성을 나타내는 블록 구성도.
도 5는 본 발명의 실시예에 의한 앞먹임 PID 제어기의 구성을 나타내는 블록 구성도.
도 6은 본 발명의 실시예에 의한 더블 버퍼의 구성을 나타내는 블록 구성도.
도 7은 본 발명의 실시예에 의한 계산장치에 의해 수행되는 PID 제어계산방법을 나타내는 도면.
도 8은 본 발명의 실시예에 의한 상위 CPU와의 연결을 위한 계산과정을 나타내는 도면.
< 도면의 주요부분에 대한 부호 설명>
10 : 그래픽 사용자 인터페이스 20 : 미들웨어부
30 : 네트워크부 40 : 모션 컨트롤부
41 : 커맨드 디코더 42 : 궤적 발생부
43 : 역기구학 계산부 44 : 인터페이스 컨트롤부
45 : 기구학 계산부 50 : 센서 컨트롤부
60 : 다축위치 제어프로세서 70 : 모터 구동부
80 : 센서데이터 입력부 90 : 다수개의 모터
100 : 센서 110 : 계산장치
111 : 보간기 112 : 앞먹임 PID 제어기
120 : 주변장치 121 : 상위 CPU 연결부
122 : 되먹임 입력부 123 : 제어출력부
130 : 레지스터
상기 목적을 달성하기 위한 본 발명의 다 축 위치 제어장치는 중앙처리장치가 내장된 로봇제어 시스템의 다 축 위치 제어장치에 있어서, 상기 중앙처리장치와 통신하여 목표위치 데이터를 전달받는 연결부와, 상기 중앙처리장치로부터 전달되는 목표위치 데이터에 따라 보간 구간을 분할하는 보간기와, 상기 보간기로부터 전달되는 상기 목표위치 데이터에 의한 다 축 위치 제어신호를 출력하는 제어 출력부와, 상기 다 축 위치 제어신호의 결과값을 실시간으로 전달받아 병렬신호로 변환하는 되먹임 입력부와, 상기 보간기로부터 전달되는 상기 목표위치 데이터와 상기 되먹임 입력부로부터 변환된 다 축 위치 제어신호의 결과값에 따라 비례미분적분 제어계산을 수행하는 앞먹임 PID 제어기로 구성된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 실시예에 의한 로봇제어 시스템의 블록 구성도이다.
도시된 바와 같이, 본 발명은 크게 그래픽 사용자 인터페이스(GUI)(10)와, 미들웨어부(20)와, 네트워크부(30)와, 모션 컨트롤(motion control)부(40)와, 센서 컨트롤(sensor control)부(50)와, 다 축 위치 제어프로세서(multi joint position control processor)(60)와, 모터 구동부(70)와, 센서데이터 입력부(80)와, 다수개의 모터(90) 및 센서(100)로 구성된다.
상기 그래픽 사용자 인터페이스(10)는 사용자가 로봇을 제어하기 위해 명령을 주거나 로봇의 상태를 모니터링할 수 있는 인터페이스이다.
상기 모션 컨트롤부(40)는 상기 그래픽 사용자 인터페이스(10)를 통한 상기 사용자의 명령을 상기 미들웨어부(20)를 통해 전달받아 로봇의 속도, 위치, 좌표 제어등을 수행한다.
상기 다축위치 제어프로세서(60)는 상기 모션 컨트롤부(40)로부터 전달되는 목표 위치값에 따라 로봇의 다수개의 축의 위치를 제어한다. 여기서, 다수개의 축은 동기화되어 위치제어되거나 아니면, 특정 축만이 위치제어될 수 있다.
상기 모터 구동부(70)는 상기 다축위치 제어프로세서(60)의 제어에 의해 다수개의 축이 상기 목표 위치값만큼 제어될 수 있도록 상기 모터(90)를 구동한다.
상기 센서(100)는 로봇의 각종 상태를 상기 사용자가 인식할 수 있도록 하기 위해 로봇의 특정 부위에 설치되어 감지된 데이터를 상기 센서데이터 입력부(80)로 전달한다.
상기 센서 컨트롤부(50)는 상기 센서데이터 입력부(80)로부터 전달되는 상기 로봇의 상태 감지 데이터를 실시간으로 입력받아 상기 그래픽 사용자인터페이스(10)로 전달함에 따라 상기 사용자는 다수개의 센서로부터 전달되는 상기 로봇의 상태를 실시간으로 확인할 수 있게 된다.
그리고, 상기 네트워크부(30)는 상기 사용자가 본 발명의 로봇제어 시스템과 네트웍으로 형성된 단말기와 통신을 하여 데이터를 송수신하는데 사용되고, 상기 미들웨어부(20)는 상기 그래픽 사용자 인터페이스(10)와, 상기 네트워크부(30), 상기 모션 컨트롤부(40) 및 상기 센서 컨트롤부(50)의 매개체 역할을 수행하여 상호간에 연합될 수 있도록 한다.
상기와 같이 구성되는 본 발명의 로봇제어 시스템은 상위 제어기의 개발을 지원하기 위해 오픈 소스의 범용 운영체제인 리눅스(Linux)를 사용하여 구현하였다. 특히, 상기 모션 컨트롤부(40)와 상기 센서 컨트롤부(50)의 실시간 처리를 위해 리눅스의 드라이버 모듈의 형태로 실시간 처리를 지원하는 실시간 운영체제인 RT(Real Time) 리눅스를 사용하였다.
도 2는 도 1의 모션 컨트롤부의 구성을 나타내는 블록 구성도이다.
도시된 바와 같이, 본 발명의 모션 컨트롤부(40)는 리눅스의 드라이버 모듈의 형태로 실시간 운영체제의 지원하에 구동되며 커맨드 디코더(41)와, 궤적 발생부(42)와, 역기구학 계산부(43)와, 인터페이스 컨트롤부(44)와, 기구학 계산부(45)로 구성된다.
상기 커맨드 디코더(41)는 상기 도 1에서 설명한 미들웨어부(20)와의 인터페이싱 처리를 한다.
그리고, 상기 궤적 발생부(42)는 로봇의 가속, 감속, 등속에 관한 계산을 하고, 상기 역기구학 계산부(43)는 로봇의 다수개의 축 값을 계산하며, 상기 기구학 계산부(45)는 상기 축 값으로부터 월드(world) 좌표값을 계산하여 상기 커맨드 디코더(41)로 전달한다.
상기 인터페이스 컨트롤부(44)는 다축위치 제어프로세서(60)와의 인터페이싱 처리를 한다.
도 3은 도 1의 다축위치 제어프로세서의 구성을 나타내는 블록 구성도이다.
도시된 바와 같이, 본 발명의 다축위치 제어프로세서(60)는 크게 계산장치(110)와, 주변장치(120)와, 레지스터(130)로 구성된다.
상기 계산장치(110)는 보간기(interpolator)(111)와 앞먹임 PID 제어기(112)로 구성되고, 상기 주변장치(120)는 상위 CPU 연결부(121)와 되먹임 입력부(122)와 제어출력부(123)로 구성된다.
상기 보간기(111)는 선형 보간기로써 계산시간이 많이 걸리는 궤적 발생, 역기구학 등의 로봇 의존적인 계산시간 때문에 제어 샘플링 시간이 길어지는 것을 방지한다. 이러한 보간기(111)는 다음의 수식1과 같은 선형 방식으로 i는 0보다 크고 2m보다 같거나 작은 정수이다.
Pp(i) = i×(Pd-Pdp)/2m+Pdp --------------------(수식1)
하드웨어 구현에서 보간기는 보다 간단한 형태를 가질 수 있다. 도 4는 부호방식의 보간기 회로의 구성을 나타낸다. 부호방식의 보간기는 양방향 모터 구동을 가능하게 한다.
상기 앞먹임 PID 제어기(112)는 앞먹임 PID 제어계산을 수행하는 것으로써 앞먹임 값을 가능하게 하여 속도, 가속도, 저크 등의 상위 CPU(200)에서 결정된 값에 의해 앞먹임 가능하며, 아래와 같은 I saturation 방식의 앞먹임 PID 제어식인 수식2를 사용한다.
m(n)=1/2GS[KP×e(n)+Ki×s(n)+Kd×{e(n)-e(n-1)}+f(n)]---------(수식2)
상기 수식2의 하드웨어 구현에 있어 공통적으로 사용되는 요소를 기준으로 3 개의 처리기로 나뉘었다. 특히 한 클럭 내에 출력 가능한 곱셈 회로는 비교적 많은 양의 회로를 가지고, 이로 인해 처리시간 또한 길다는 특성이 있다.
본 발명에서는 기능적인 그리고 회로적인 요인으로 상기 앞먹임 PID 제어기(112)는 도 5에 도시된 바와 같이 곱셈 전 처리기(112a)와, 곱셈 처리기(112b)와, 곱셈 후 처리기(112c)로 구분된다.
상기 곱셈 전 처리기(112a)는 P 오차인 e(n), I 오차인 s(n), D 오차인 (e(n)-e(n-1))를 구하고, 앞먹임 값은 입력값을 출력값으로 바로 bypass한다.
상기 곱셈 처리기(112b)는 상기 상위 CPU(200)에서 다축위치 제어프로세서(60) 방향의 더블 버퍼에 저장된 게인 값과 이전에 나온 오차값을 곱셈 처리한다.
상기 곱셈 후 처리기(112c)는 몇 개의 덧셈기와 몇 개의 쉬프트 레지스터로 구성되며, 상기 곱셈 처리기(112b)에서의 출력 값을 서로 더하고 제어출력장치에게 그 합을 넘겨준다.
상기 보간기(111)와 상기 앞먹임 PID 제어기(112)의 곱셈 전 처리기(112a)와, 곱셈 처리기(112b)와, 곱셈 후 처리기(112c)는 동시에 실행되며 동시에 접근 가능한 레지스터 그룹(112d)을 가지고 있다.
특히, 상기 계산장치(110)는 단 하나의 장치로 다 축을 제어하는 방식인 파이프 라인 구조로 구현된다.
또한, 상기 보간기(111)와 상기 곱셈 전 처리기(112a), 곱셈 처리기(112b), 곱셈 후 처리기(112c)의 연결을 위해 하나의 순차기(미도시됨)가 사용되는데 이 순차기의 값에 의해 각 처리기가 가지고 있는 마이크로 코드에 따라 프로세서가 처리해야 할 작업들이 선정되고, 또한 이 순차기의 값에 따라 각 처리기에 입출력 될 레지스터 그룹(112d)과 2개의 더블버퍼(112e)에 저장되어 있는 데이터의 주소값이 결정되게 된다.
이어서, 상기 주변장치(120)의 상위 CPU 연결부(121)는 상위 CPU(200)와 다축위치 제어프로세서(60)의 상호 배제적인 접근을 위해서 더블 버퍼를 이용하여 구현된다.
상기 더블 버퍼는 도 6에 도시된 바와 같이 두 개의 접근면을 가지고 있고, A면에서 접근하는 메모리와 B면에서 접근하는 메모리가 메모리 선택 신호(Memory Selection Signal)에 따라 항상 다르게 구현되어 있는 형태이다.
이는 양방향 메모리를 사용하였을 경우 발생하는 상호 배제 문제를 해결하기 위함이다. 즉, 상기 상위 CPU(200)에서 상기 다축위치 제어프로세서(60)로의 연결에 1개, 상기 다축위치 제어프로세서(60)에서 상기 상위 CPU(200)로의 연결에 1개로 할당된다. 여기서, 양방향 더블 버퍼를 사용하지 않고, 단방향 더블 버퍼를 2개 사용한 이유는 서로 데이터 전송하는 시기가 다르고, 필요에 따라 둘 중에 하나의 더블 버퍼로는 데이트 전송이 발생하지 않을 수가 있기 때문이다. 각 더블 버퍼에는 다음의 표 1과 같은 데이터가 저장된다.
오프셋 주소 데이터
From CPU To CPU
0 Desired Position(low) Present Position(low)
1 Desired Position(high) Present Position(high)
2 I Saturation(low) Position Feedback(low)
3 I Saturation(high) Position Feedback(high)
4 P Gain Present Velocity
5 D Gain Output
6 I Gain P Error(low)
7 Fowarding Factor P Error(high)
상기 되먹임 입력부(122)는 모터의 엔코더 신호를 입력받아 위치 되먹임을 추출하는데 사용하는 것으로써 4 채배 엔코더 해석기, 계수기, 1bit time 외란 제거기로 구분되며 제어 축 수에 비례한 개수가 필요하다. 특히, 상기 1bit time 외란 제거기는 엔코더 신호에 임펄스 노이즈를 제거하는 기능을 수행한다.
상기 제어출력부(123)는 외부 서보 구동을 위한 직렬 DA 제어신호 발생부(123a)와 PWM 신호 발생부(123b)로 구분된다.
상기 직렬 DA 제어신호 발생부(123a)는 아나로그 제어 입력을 받는 외부 서보를 지원하기 위해 직렬 주변 장치 연결 프로토콜로 DA에 아날로그 값에 대응하는 디지털 값을 출력하는 회로이다.
상기 PWM 신호 발생부(123b)는 DC 모터 구동 위해 같은 주기에 듀티비를 달리하여 원하는 값을 출력하는 회로이다. 하나의 기준계수기에 원하는 축 수 만큼의 비교기로 구현 가능하다. DC 모터를 H-Bridge로 구동하는데 유용하게 사용될 수 있다.
도 7에서는 기준 계수기의 하위 2 비트인 stage에 의해 각 계산유닛이 수행하여야 하는 PID 제어계산이 어떠한 계산을 수행하는지를 보여주며, 도 8은 계수기의 상위 비트에 의해 축 번호와 보간기에서 사용하는 I와 더블버퍼의 메모리 선택 신호와 상위 CPU와의 연결을 위한 인터럽트 발생 시기를 나타내는 것이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 디지털 회로를 하나의 칩에 집적함으로써 보드의 부피를 감소시킴과 동시에 파이프 라인 구조를 이용함으로써 다 축 적용시 같은 시간에 더 많은 제어계산을 가능하게 할 수 있다.
또한, 하드웨어 보간기를 이용하여 Context Switching에 의한 CPU에 부담을 덜어준다.
또한, FPGA를 이용하여 보드상에서 재 프로그램을 함으로써 모터 축 수 또는제어방식 또는 CPU 연결방식의 변화에 개발시간을 단축할 수 있다는 효과가 있다.

Claims (5)

  1. 중앙처리장치가 내장된 로봇제어 시스템의 다 축 위치 제어장치에 있어서,
    상기 중앙처리장치와 통신하여 목표위치 데이터를 전달받는 연결부와,
    상기 중앙처리장치로부터 전달되는 목표위치 데이터에 따라 보간 구간을 분할하는 보간기와,
    상기 보간기로부터 전달되는 상기 목표위치 데이터에 의한 다 축 위치 제어신호를 출력하는 제어 출력부와,
    상기 다 축 위치 제어신호의 결과값을 실시간으로 전달받아 병렬신호로 변환하는 되먹임 입력부와,
    상기 보간기로부터 전달되는 상기 목표위치 데이터와 상기 되먹임 입력부로부터 변환된 다 축 위치 제어신호의 결과값에 따라 비례미분적분 제어계산을 수행하는 앞먹임 PID 제어기로 구성되는 것을 특징으로 하는 다 축 위치 제어장치.
  2. 제 1 항에 있어서, 상기 연결부는
    상기 중앙처리장치와 상기 다 축 위치제어 프로세서의 상호 배제적인 접근을 위하여 상기 중앙처리장치에서 상기 다 축 위치제어 프로세서로의 더블 버퍼와, 상기 다 축 위치제어 프로세서에서 상기 중앙처리장치로의 더블 버퍼로 구성되는 것을 특징으로 하는 다 축 위치 제어장치.
  3. 제 1 항에 있어서, 상기 제어 출력부는
    상기 다 축 위치 제어신호를 아날로그 신호로 변환하는 DA 제어신호 발생부와,
    상기 다 축의 모터를 구동하기 위한 신호를 발생시키는 PWM 신호 발생부로 구성되는 것을 특징으로 하는 다 축 위치 제어장치.
  4. 제 2 항에 있어서, 상기 앞먹임 PID 제어기는
    P 오차, I 오차, D 오차를 구하고 앞먹임 값은 입력값을 출력값으로 바로 바이패스하는 곱셈 전 처리기와,
    상기 중앙처리장치에서 상기 다 축 위치제어 프로세서 방향으로의 더블 버퍼에 저장된 게인 값과 이전에 나온 오차값을 곱셈 처리하는 곱셈 처리기와,
    다수개의 덧셈기와 쉬프트 레지스터로 구성되어 상기 곱셈 처리기에서의 출력값을 서로 더하는 곱셈 후 처리기로 구성되는 것을 특징으로 하는 다 축 위치 제어장치.
  5. 제 1 항에 있어서,
    상기 보간기와 상기 앞먹임 PID 제어기는 파이프라인 구조로 이루어지는 것을 특징으로 하는 다 축 위치 제어장치.
KR10-2003-0001384A 2003-01-09 2003-01-09 Fpga를 이용한 다 축 위치 제어장치 KR100520779B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0001384A KR100520779B1 (ko) 2003-01-09 2003-01-09 Fpga를 이용한 다 축 위치 제어장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0001384A KR100520779B1 (ko) 2003-01-09 2003-01-09 Fpga를 이용한 다 축 위치 제어장치

Publications (2)

Publication Number Publication Date
KR20040064104A true KR20040064104A (ko) 2004-07-16
KR100520779B1 KR100520779B1 (ko) 2005-10-12

Family

ID=37354772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0001384A KR100520779B1 (ko) 2003-01-09 2003-01-09 Fpga를 이용한 다 축 위치 제어장치

Country Status (1)

Country Link
KR (1) KR100520779B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101313245B1 (ko) * 2012-02-10 2013-09-30 삼성중공업 주식회사 모션제어 칩
CN106998165A (zh) * 2017-04-27 2017-08-01 佛山三电智能科技有限公司 一种fpga的多轴电流环实现方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017052059A1 (ko) * 2015-09-21 2017-03-30 주식회사 레인보우 실시간 제어 시스템, 실시간 제어 장치 및 시스템 제어 방법
KR102235166B1 (ko) * 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
WO2017052061A1 (ko) * 2015-09-21 2017-03-30 주식회사 레인보우 Gpos 연동형 실시간 로봇 제어 시스템 및 이를 이용한 실시간 디바이스 제어 시스템
KR102004228B1 (ko) * 2018-01-31 2019-07-26 강원대학교산학협력단 6축 매니퓰레이터의 범용 고속-고정밀 컨트롤러

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101313245B1 (ko) * 2012-02-10 2013-09-30 삼성중공업 주식회사 모션제어 칩
CN106998165A (zh) * 2017-04-27 2017-08-01 佛山三电智能科技有限公司 一种fpga的多轴电流环实现方法

Also Published As

Publication number Publication date
KR100520779B1 (ko) 2005-10-12

Similar Documents

Publication Publication Date Title
Martinov et al. From classic CNC systems to cloud-based technology and back
US5038089A (en) Synchronized computational architecture for generalized bilateral control of robot arms
Tan et al. Minimum time trajectory planner for the discrete dynamic robot model with dynamic constraints
KR100762366B1 (ko) Fpga 소자를 이용한 로봇 제어 시스템
CN109352661A (zh) 一种机器人关节的控制方法、伺服驱动装置和可存储介质
KR100520779B1 (ko) Fpga를 이용한 다 축 위치 제어장치
Masten et al. Digital signal processors for modern control systems
Zieliński et al. Mechatronic design of open-structure multi-robot controllers
CN106774178B (zh) 一种自动化控制系统及方法、机械设备
KR100853167B1 (ko) 네트워크 기반의 탑재형 로봇 제어 시스템
Gao et al. Implementation of open-architecture kinematic controller for articulated robots under ROS
JP4142589B2 (ja) フィールド指向制御システムのためのモジュラー機能ブロック
CN212433614U (zh) 一种基于fpga的多轴电机流水线控制系统
Bejczy et al. A synchronized computational architecture for generalized bilateral control of robot arms
EP0269374A3 (en) Modular robot control system
CN111381552A (zh) 驱控一体技术架构
KR100925274B1 (ko) 다축 모션 제어 회로 및 장치
JPH09269811A (ja) ロボット制御装置
JP2516589B2 (ja) ロボツト用制御装置
JP2004025428A (ja) ロボット制御装置の通信方法およびロボット制御装置
BUhler et al. A new distributed real-time controller for robotics applications
CN108582065B (zh) 基于fpga的六轴机械臂运动方程逆解求解的方法
Liu et al. Developments and recent patents on motion control systems
JPH0991022A (ja) ロボット制御装置
JPS62127905A (ja) ロボツトア−ムの動作シミユレ−タ装置

Legal Events

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

Payment date: 20121002

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 15