KR20100042357A - 에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템 - Google Patents

에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템 Download PDF

Info

Publication number
KR20100042357A
KR20100042357A KR1020080101473A KR20080101473A KR20100042357A KR 20100042357 A KR20100042357 A KR 20100042357A KR 1020080101473 A KR1020080101473 A KR 1020080101473A KR 20080101473 A KR20080101473 A KR 20080101473A KR 20100042357 A KR20100042357 A KR 20100042357A
Authority
KR
South Korea
Prior art keywords
value
haptic
fpga
current
passive
Prior art date
Application number
KR1020080101473A
Other languages
English (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 KR1020080101473A priority Critical patent/KR20100042357A/ko
Publication of KR20100042357A publication Critical patent/KR20100042357A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 햅틱 환경 렌더링 루틴과 햅틱장치 사이의 상호작용을 지원하는 FPGA기반의 제어시스템에서 햅틱장치에 물리적 댐핑을 삽입하는 방법에 관한 것으로, 더욱 상세하게는, 이러한 댐핑 삽입에서 가장 문제시 되었던 저속에서의 노이즈한 속도의 추정을 해결하고 저속에서 정확한 속도를 측정하기 위하여 일정한 시간마다 엔코더의 변위를 읽어서 속도를 계산하는 M-method 대신 엔코더의 변위가 발생할 때마다 그 시간차를 계산하여 속도를 계산하는 T-method를 사용하여 속도를 추정하고, 모터 전류를 직접 홀센서를 통하여 측정하여 시간영역 수동성관측기 값으로 사용한다. 즉, 속도 측정, 관측기, 제어기 등의 병렬 처리를 FPGA 상에서 구현 지원하고, 추정된 속도와 측정된 전류를 사용하여 시간영역수동성관측기 및 제어기를 하드웨어 적으로 FPGA 상에서 구현하여 시간영역수동성관측기 값이 음이 될 때 추가되어야 하는 물리적인 댐핑값을 계산하며, 계산된 추가적인 댐핑은 기준(reference) 전류값을 변화시킴으로써 구현되는 것이다. 따라서, 기존의 컴퓨터에 의하여 생성되는 가상의 댐핑에 의한 노이즈 문제를 해결하여 햅틱 인터페이싱 과정에서의 제어 안정성을 높일 수 있게 된다.
FPGA, 햅틱 인터페이스, PO, PC, T-method

Description

에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템 {Injection method of physical damping in control system based on FPGA, and Haptic system using it}
본 발명은 FPGA 기반의 햅틱 인터페이스에 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱 시스템에 관한 것으로, 더욱 상세하게는 기존의 컴퓨터에 의하여 생성되는 가상의 댐핑에 의한 노이즈 문제를 해결하여 햅틱 인터페이싱 과정에서의 제어 안정성을 높일 수 있도록 햅틱 인터페이스에 물리적 댐핑을 삽입한 하드웨어 구성에 관한 것이다.
컴퓨터 그래픽스 기술의 발달로 빠른 연산이 가능하게 되고 그래픽 하드웨어의 가격이 저렴해지면서 가상환경 기술에 대한 관심이 증대되고, 또 이로 인해 엔터테인먼트, 군사 훈련, 수술 훈련, 교육, 생물 의학(Biomedical) 시뮬레이션, 공학 디자인 및 시뮬레이션 등 다양한 분야에 걸쳐 많은 유용한 가상환경 시스템이 구현되었다. 가상환경 기술에서 사용자가 보다 몰입할 수 있는 사실적인 가상환경을 만들어 현실감을 극대화 하는데 햅틱은 필수불가결한 연구분야 중의 하나이다. 사용자는 다양한 햅틱 장치를 이용하여 역감 및 촉감을 느끼고 이를 통해 가상환경과 상 호 작용할 수 있다. 즉, 햅틱(haptic)이란 용어는 촉각과 관련된 것으로 관성, 마찰, 충돌, 온도 및 거칠기와 같은 물리적 성질들에 관한 정보를 전달하는 것을 말한다. 그리고, 햅틱 기술은 1990년 이후 포오스 피드팩 기술(force feedback thchnology)의 사용과 함께 급격히 발전하였다.
이러한 햅틱 기술이 적용된 햅틱 시스템(haptic system)은 가상환경을 통해 구현되는 가상물체와 사용자의 조작과의 햅틱 상호작용에 대응하여 사용자가 근육 또는 관절을 통해 이동 또는 힘을 느낄 수 있는 운동감각을 제공한다.
햅틱 시뮬레이션을 통해 사용자에게 정확한 힘과 토크 정보를 전달하는데 있어서 안정성(stability)은 햅틱 연구 분야에서 매우 중요한 요소 중의 하나이다. 이러한 안정적인 햅틱 상호작용 시스템에 관한 연구로 Colgate와 Schenkel은 안정적인 햅틱 디스플레이를 위하여 가상환경과 햅틱장치 사이에 가상의 연결을 갖는 가상 커플링(virtual coupling) 알고리즘을 제안하였다(J. E. Colgate and G. G. Schenkel, “Passivity of a class of sampled-data systems: Application to haptic interfaces,” J. Robot. Syst., vol. 14, no. 1, pp. 37-47.(1997) 참조). 한편, Hannaford 와 Ryu는 시간영역 수동성 제어 알고리즘(Timedomain passivity theorem)을 제안하였다(B. Hannaford, and Jee-hwan Ryu, “Time Domain Passivity Control of Haptic Interfaces,” IEEE Trans. On Robotics and Automation, vol. 18, pp. 1-10. (2002) 참조). 시간영역 수동성 제어 알고리즘은 빠른 샘플링 주기하에서 PO/PC (Passivity Observer / Passivity Controller)를 통하여 에너지의 입출력을 실시간으로 관측하고 각 샘플 시간마다 시스템이 안정화될 수 있도록 전체 에너지를 소모시켜 준다. 그런데, 이러한 가상 커플링은 패시버티 조건을 만족시키는 가상환경에 대해 안정성을 보장하기 때문에 가상환경 내의 수치연산 및 시간지연요소에 의해 불필요한 에너지가 발생할 경우 햅틱 인터페이스가 표현할 수 있는 임피던스 범위가 줄어들거나 안정성 자체를 잃어버릴 수 있다. 또한, 가상 커플링의 설계는 햅틱인터페이스에 존재하는 댐핑 요소, 예를 들면 조인트에 존재하는 마찰이나 전기액츄에이터에서의 역기전력 등을 포함하는 에너지 소모요소에 기초하기 때문에 최적화된 가상 커플링의 파라미터 값을 찾기 위해서는 햅틱 인터페이스의 매우 복잡한 동역학적 특성 규명이 요구된다. 더욱이 다자유도 햅틱 인터페이스의 경우에는 댐핑 요소의 영향이 작업공간내의 말단부, 예를 들면 조이스틱의 손잡이의 위치 및 자세에 의존한다. 그런데 가상 커플링은 고정된 파라미터를 가지기 때문에 전체 작업공간내에서의 안정성을 보장하기 위해서는 최악의 조건에 반하는 선택이 되어야 하고 그에 따른 과도하게 신중한 설계가 필수적인 단점이 있다.
또 Ryu 등은 샘플링 주기가 느릴 때 0 차 유지기(zeroorder holder)에서 발생되는 에너지를 예측할 수 있는 새로운 PO를 제안하였다(Jee-hwan Ryu, Y. S. Kim and B. Hannaford, “Sampled and Continuous Time Passivity
Control,” Proc. IEEE Int. Conf. On Robot and Automation, Taipei, Taiwan. (2003)). 그리고 갑작스런 힘의 변화로 인해 고주파 영역에서 햅틱 디바이스가 떨리는 현상을 방지하기 위해 실제 에너지 입력이 시간에 따라 변하는 참조 에너지를 추종하도록 하는 참조 에너지 추종(reference energy following) 방법을 제안하였다.(Jee-hwan Ryu, B. Hannaford, C. Preusche, and G. Hirzinger, “Time Domain Passivity Control with
Reference Energy Behavior,”Proc. IEEE/RSJ Int. Conf. on Intelligent Robotics and Systems, Las Vegas, USA.(2003)). Preusche 등은 시간 영역 수동성 제어 이론을 다자유도의 경우로 확장하였는데 이 알고리즘의 장점은 햅틱 장치의 동역학 모델을 정확히 알 필요가 없다는 것이다(C. Preusche, G. Hirzinger, J. H. Ryu and B. Hannaford, “Time Domain Passivity Control for 6 Degrees of Freedom Haptic Displays,”Proc.
IEEE/RSJ Int. Conf. on Intelligent Robotics and Systems, Las Vegas, USA. (2003)). 그러나 알고리즘이 효율적으로 수행되기 위해서는 햅틱 서보 레이트가 시스템 모드보다 상당히 빨라져야 하는 단점이 있다.
종래 또 다른 연구 결과에 의하면, Z-Width 에 영향을 주는 다양한 인자들 중에서 햅틱 장치의 물리적 댐핑이 가장 중요한 인자임을 실험을 통하여 밝혀졌다. 가상 커플링 알고리즘의 경우, 커플링 인수가 햅틱 장치의 물리적 댐핑에 의해 정해지므로 안정한 햅틱 상호작용을 위하여 햅틱 장치의 동역학적 특성이 아주 중요하다.
한편, 에너지 바운딩 알고리즘은 0 차 유지기에서 발생되는 에너지를 햅틱 장치의 물리적 댐핑값에 의해 소모 가능한 에너지의 범위 이내로 제한함으로써 전체 시스템의 수동성 조건을 만족시키는 것이다. 따라서 햅틱 장치의 물리적 댐핑값은 안정한 햅틱 상호작용에 있어 아주 중요한 요소로 가능한한 정확하게 측정되어야만 한다.
이를 위하여, 모달 테스트를 통하여 햅틱 장치의 동역학적 특성을 알아내고자 한 시도가 있었으나, 이는 다차원의 작업공간에서 만들어낼 수 있는 모든 배치(posture)에 대해 정확한 물리적 댐핑값을 측정하기는 매우 힘들다. Mehling 등은 햅틱 디스플레이의 성능을 향상시키기 위한 수단으로 전기적인 댐핑(electrical damping)을 제안하였다(Mehling Joshua, J. Edward Colgate, Michael A. Peshkin, “Increasing the Impedance Range of a Haptic Display by Adding Electrical Damping,” WHC 2005, 257-262, 2005.). 그러나 이 역시 댐핑값을 추정하는 것이 아니라 저항, 커패시터의 수동소자로 회로를 구성하여 댐핑을 증가 시켜줌으로써 이를 통해 안정하면서 큰 임피던스 범위의 가상 환경을 제공하는 것이다.
실질적으로 햅틱 장치에서의 물리적 댐핑 작업은 햅틱 장치의 안정성 확보에 매우 필요하나 햅틱 장치의 등가 물리적 댐핑을 삽입하는 하드웨어적 구성을 구현하는 데 있어서 현재까지는 어려움이 있었던 것이 사실이다.
햅틱 시스템의 종래 일 예가 도 1에 도시되어 있다.
도면을 참조하면, 햅틱 시스템(10)은 햅틱장치(11), 샘플/홀드부(13), 콘츄롤러(15) 및 가상환경(17)으로 이루어져 있다.
여기서 햅틱장치(haptic device)(11)는 사용자(human operator)(20)가 직접 조작하는 조작기에 해당하며, 조작에 대응하여 가상환경으로부터 생성된 자극을 사용자(20)에게 역으로 전달하는 기능도 함께 한다.
샘플/홀드부(13)는 입출력장치로서 햅틱장치(11)에서 출력되는 연속신호(continous signal)인 아날로그 신호를 디지털 신호로 변환하여 콘츄롤러(15)에 제공하고, 콘츄롤러(15)에서 출력되는 이산신호(discrete signal)인 디지털 신호를 아날로 그 신호로 변환하여 햅틱장치(11)에 제공한다.
제어시스템은 콘츄롤러(15) 및 가상환경(17)으로 되어 있다.
제어시스템은 통상적으로 컴퓨터 및 응용 프로그램으로 구현된다. 여기서 응용 프로그램은 컴퓨터를 통해 가상환경을 구현할 수 있도록 구축된 것을 말한다.
이러한 햅틱 시스템(10)은 햅틱 장치(11)를 통해 사용자(human operator)(20)와 콘츄롤러(15)에 의해 실행되는 가상환경(17) 사이의 상호 작용이 이루어진다. 즉, 햅틱장치(11)에 대한 사용자(20)의 조작에 반응하여 가상환경(17)에서 응답할 자극이 제어시스템으로부터 햅틱장치(11)를 통해 역으로 사용자(20)에게 전달된다.
따라서, 햅틱 시스템(10)은 사용자(20)의 조작에 대응하여 가상환경(17)에서 생성된 힘과 감각(tactile)을 햅틱장치(11)를 통해 사용자(20)에게 역으로 제공함으로써 사용자(20)자 햅틱장치(11)를 통해 자극적이고 인상적으로 가상환경(17)과 상호 작용할 수 있게 해준다.
한편, 햅틱 시스템(10)은 여러가지 원인 예를 들면 샘플/홀드부(13)에서 연속시스템과 이산시스템의 정보를 상호 변환하기 위해 샘플링시 발생하는 정보의 손실 및 홀딩에 의한 시간지연, 제어시스템에서 수행되는 수치적 연산 등에 의해 원치 않는 에너지가 발생될 수 있다. 그런데 햅틱시스템(10)에서의 이러한 원치 않게 발생되는 에너지는 햅틱장치(11)를 통해 불안정한 운동을 발생시켜 사용자(20)에게 해를 줄 수 있기 때문에 사용자의 안전성을 확보하기 위해 제어시스템으로부터 햅틱장치(11)로 전달되는 에너지를 적절히 조절해 주어야 하고, 불안정한 거동을 유 발하는 불필요한 에너지들을 제거해 주어야 한다.
그런데, 사용자(20)의 운동은 다양한 불확정성을 포함하고 있어 정확하게 모델링하기가 어렵고, 샘플/홀드부(13)에서 샘플링 및 홀딩하는 과정에서 에너지는 필수적으로 발생되며, 가상환경(17)은 통상적으로 비선형 시스템으로 구성되기 때문에 햅틱 시스템(10)을 안정화하기 위한 방법을 찾기가 매우 어렵다.
패시버티(passivity)는 에너지 소모(dissipation)와 관련된 추상적 표현으로, 입출력 관점에서 선형 및 비선형 시스템에 대해 규정된 안정화 문제를 다루기 위해 사용된다. 패시버티 조건을 만족하는 시스템은 그 자신이 에너지를 발생시키지 못하므로 안정적인 동작을 보장한다.
패시브 시스템은 엔지니어링 분야에서 일반적으로 찾아볼 수 있다. 일 예로서 커패시터 및 인덕터로 이루어진 시스템은 전기 엔지니어링 분야에서의 패시브 시스템의 일 예이고, 질량, 스프링 및 완충기를 갖는 시스템은 미케니컬 엔지니어링 분야에서의 또 다른 패시브 시스템의 예이다.
패시버티 이론에 따르면 하나의 패시브 시스템과 또 하나의 엄격한 패시브 시스템이 피드백으로 연결되었을 경우 시스템은 안정하다. 이러한 패시버티 이론은 여러 시스템이 복합적으로 연결된 로보틱스, 텔리오퍼레이션 및 햅틱 시스템 안정성 문제를 해결하는데 큰 장점을 제공한다.
사용자(20)가 관심있는 주파수 영역에서 수동적이라고 가정하고, 햅틱 시스템(HSCV, H: Haptic Device, S: Sample&hold, C: Controller, V: Virtual Environment)이 수동적이면 안정성 조건을 만족한다. 이러한 조건은 다음의 수학식 1로 나타낼 수 있는데, 수학식 1에서
Figure 112008071939179-PAT00001
는 시스템의 초기 에너지이다.
이러한 패시버티 이론에 기초하여, 도 1에 도시된 기존의 햅틱 시스템(10)에서 사용자(20)가 관심 주파수에서 수동성이라고 가정하면 안정화 문제는 나머지 결합요소의 패시버티로 압축되고 이를 아래 수학식 1로 표현할 수 있다.
Figure 112008071939179-PAT00002
여기서,
Figure 112008071939179-PAT00003
,
Figure 112008071939179-PAT00004
는 사용자(20)의 연속적인 작동 및 진행과 관련된 변수이고,
Figure 112008071939179-PAT00005
는 햅틱시스템(10)의 초기에너지이다.
햅틱시스템(10)이 수학식 1로 표현된 패시버티 조건을 만족하는 경우 햅틱 시스템(10)은 에너지를 소비하고, 햅틱 장치(11), 샘플/홀드부(13), 콘츄롤러(13) 및 가상환경(17) 각각의 에너지 플로우 인(flow-in)의 합은 결코 음(-)의 값이 될 수 없다. 즉, 상기 수학식 1의 의미는 햅틱 시스템(10)은 에너지를 발생시키지 않으며 사용자(20)는 시스템으로부터 힘을 추출할 수 없음을 의미한다.
그리고, 이러한 인터페이스에서 힘과 속도는 컴퓨터 소프트웨어에 의하여 실시간으로 간단하게 계산이 가능하다.
본 발명은 상기한 종래의 문제점을 해결하기 위하여 안출한 것으로, 다양한 햅틱인터페이스에 성공적으로 적용된 수동성 관찰기(PO; passivity observer) 및 수동성 제어기(PC: passivity controller)라고 하더라도, 필연적으로 발생하게 되는 저속도 접촉 중에 발생하는 노이즈 문제를 해결하는 데 주목적이 있다.
아울러, 이를 위하여, 일반적인 모터 드라이버와 같은 장치에 물리적 댐핑을 삽입하여 동작 및 제어 안정성을 확보하는 데 또 다른 목적이 있다.
상기한 종래의 문제점을 해결하고, 본 발명에 따른 기술적 과제를 해결하기 위한 본 발명에 따른 햅틱장치에 물리적 댐핑을 삽입하는 방법은, 햅틱 환경 렌더링 루틴과 햅틱장치 사이의 상호작용을 지원하는 FPGA기반의 제어시스템에서 햅틱장치에 물리적 댐핑을 삽입하는 방법으로, 가. 저속도에서의 노이즈한 속도의 추정을 해결하고 정확한 속도를 측정하기 위하여 엔코더 변위가 발생할 때마다 그 시간차를 계산하여 속도를 계산하는 T-method를 사용하여 속도를 추정하는 단계와; 나. 보다 정확한 시간영역수동성제어기의 에너지 계산을 위하여 모터의 레퍼런스 토크 대신에 모터의 전류를 직접 홀-전류센서를 통하여 측정하여 시간영역수동성관측기 값으로 사용하는 전류 측정 단계와; 다. 상기 추정된 속도와 측정된 전류를 사용하여 시간영역 수동성관측기(PO) 및 시간영역 수동성제어기(PC)를 하드웨어적으로 FPGA 상에서 구현하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 FPGA는 일반 모터 드라이버 또는 제어기 내부로 삽입하는 것을 특징으로 한다.
또한, 상기 FPGA 기반 내 연산은 동시에 또는 평행적으로 다중 연산이 가능하며, 다수개의 연산루틴으로 구성하는 것을 특징으로 한다.
여기에서, 상기 연산루틴은, PC 프로세서에서 1KHz로 업데이트되는 햅틱 환경 렌더링 루틴과; 전류 획득과 PWM 생성이 동시성을 가지는 전류 컨트롤러를 포함하는 전류제어 루틴과; 엔코더 펄스가 발생할 때마다 비정기적으로 업데이트되는 속도 추정 루틴; 및, 수동성관측기 및 수동성제어기 값이 속도 추정루틴과 연동되어 비정기적으로 업데이트되는 경우와 이와 별개로 일정한 주기를 가지고 빠르게 업데이트되는 경우를 모두 고려하는 수동성관측기/수동성제어기 계산루틴;을 포함하는 것을 특징으로 한다.
한편, 상기 홀-전류 센서는 모터 드라이버와 모터 사이에 장착하는 것을 특징으로 한다.
또한, 상기 수동성관측기/수동성제어기의 알고리즘 구성은,
a. 햅틱 환경 렌더링 루틴에서의 n 스텝에서 모터 각변위 X(n)를 컴퓨터 내부에서 읽는 단계와;
b. 상기 X(n) 값과 가상벽의 위치 Xwall 값을 비교하여 X(n) 값이 Xwall 값 미만이면 햅틱 환경 렌더링 루틴에서의 출력힘인 f1(n)는 0으로 상정하고, 이상이면 다음 단계로 넘어가는 단계와;
c. 가상벽 시뮬레이션을 실행하며 하기 수학식 6을 적용하여 기준토크값인 f2( n)를 계산하는 단계와;
Figure 112008071939179-PAT00006
(수학식 6)
d. 추정된 속도와 상기 홀-전류 센서를 통하여 측정된 모터 전류값을 입력받아 수동성관측기에서 하기 수학식 7을 적용하여 PO(k) 값을 산출하는 단계와;
Figure 112008071939179-PAT00007
(수학식 7)
(여기에서 i m은 측정전류, Kt은 토크상수, T는 샘플링시간을 의미하며, 상기 청구항 3에서 언급한 바와 같이 T값은 고정 값 또는 엔코더 펄스가 발생하는 주기를 나타내는 가변 값이 될 수도 있슴)
e. 한 스텝 앞의 에너지를 미리 예측하기 위하여 하기 수학식 8을 이용하는 단계와;
Figure 112008071939179-PAT00008
(수학식 8)
f. 상기 W(k)가 0 이상이면 수동성 제어가 필요 없으므로
Figure 112008071939179-PAT00009
으로 상정하고 0 미만이면 다음 단계로 넘어가서 하기 수학식 9를 이용하여 수동성제어기에서 물리적 댐핑값인
Figure 112008071939179-PAT00010
값을 계산하는 단계와;
Figure 112008071939179-PAT00011
(수학식 9)
g. 하기 수학식 10을 이용하여 가상환경으로부터의 출력 힘에 계산된 댐핑을 추 가적으로 적용하는 단계; 및
Figure 112008071939179-PAT00012
(수학식 10)
h. 상기 산출 또는 예측된 값들을 이용하여 하기 수학식 11 적용을 통한 전류 지시값인 iref(k) 값을 산출하여 이를 모터의 기준전류로 제공하는 단계;를 포함하는 것을 특징으로 한다.
Figure 112008071939179-PAT00013
(수학식 11)
한편, 상기 d 단계에서 속도 추정을 위하여 하기 수학식 5를 적용하는 것을 특징으로 한다.
Figure 112008071939179-PAT00014
(수학식 5)
(여기에서, TT는 샘플링 주기를, ms는 연속된 두 개의 엔코더 펄스 사이의 샘플링 숫자를, P는 모터 한 회전 동안의 엔코더 펄스를, msTT 는 연속된 두 개의 엔코더 펄스 사이의 시간을 의미한다.)
본 발명에 따른 햅틱시스템 구현에 의할 경우에는, 다양한 햅틱인터페이스에 성공적으로 적용된 수동성 관찰기(PO; passivity observer) 및 수동성 제어기(PC: passivity controller)라고 하더라도, 발생하게 되는 저속도 접촉 중에 발생하는 노이즈 문제를 해결할 수 있어, 햅틱 장치를 보다 안정하게 제어할 수 있는 효과를 가진다.
또한, 일반적인 모터 드라이버와 같은 장치에 물리적 댐핑을 삽입함으로써 동작 및 제어 안정성을 확보하는 효과를 가진다.
비록 다양한 햅틱인터페이스에 성공적으로 적용된 수동성 관측기(PO; passivity observer) 및 수동성 제어기(PC: passivity controller)라고 하더라도, 기존에는 저속도 접촉 중에 발생하는 노이즈 문제를 내재하고 있었다.
이러한 문제점을 내재하는 PO/PC에 탑재된 소프트웨어의 한계점 해결을 위하여 본 발명에 따른 PO/PC는 Field Programmable Gate Array(FPGA)를 구비한 하드웨어에 응용된다.
여기에서, Field Program 이란 반도체 제조업체를 통하지 않고도 산업 현장에서 엔지니어가 직접 디바이스를 프로그래밍하여 설계한 회로를 반도체 칩상에 구현할 수 있다는 것을 의미하며, Gate Array는 원래 ASIC(Application Specific Integrated Circuits) 디바이스 종류의 하나로 FPGA의 내부구조가 ASIC 의 한 종류인 Gate Array와 유사하기 때문에 붙여진 것이다.
이러한 FPGA는 하드웨어를 구성하는 회로 현실성, 병렬연산, 폐루프제어성능과 같은 다양한 장점을 가진다. 이에 따라서 FPGA 기반의 제어시스템은 다른 마이크로프로세서 기반의 제어 시스템보다 많은 양의 명령을 보다 빠르게 구현 가능하다. 아울러, 다중 연산 작업이 실시간에서 병렬적으로 혹은 동시에 실행 가능한 장점을 가진다.
이하, 첨부 도면 및 실험 그래프를 참조하여 본 발명에 따른 FPGA 기반의 햅틱인터페이스에 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템에 대하여 설명한다.
도 3은 종래의 소프트웨어에 기반한 PO/PC를 적용한 경우의 접촉반응 실험결과를 도시한 그래프, 도 4는 햅틱장치와 가상환경을 구현하는 컴퓨터 사이에서 모터 드라이버의 형태로 삽입되는 FPGA를 도시한 구성도, 도 5는 1msec(a) 및 0.1msec(b) 에서 M-method로 속도를 측정한 결과를 도시한 그래프, 도 6은 1 khz 에서 M-method(a) 및 T-method(b)로 속도를 측정한 결과를 도시한 그래프, 도 7은 본 발명에 따른 원포트 네트워크 햅틱 인터페이스에서 FPGA에 기반한 PO/PC을 구현한 시스템 구성도, 도 8은 본 발명에 따른 T-method에서의 속도 측정 원리를 도시한 도면, 도 9는 FPGA상에서 구현을 위한 PO/PC 알고리즘의 플로우 차트, 도 10은 상이한 실행주기를 가지는 4개의 상이한 루트를 도시한 연산루트 구성도, 도 11 은 FPGA 내부의 다수 모듈을 도시한 내부 구성도, 도 12는 본 발명에 따른 실험 셋업의 블록 다이어그램, 도 13은 Ke=3N/m 에서 PO/PC 가 적용 안된 경우의 불안정한 접촉을 나타내는 그래프, 도 14는 Ke=3N/m 에서 기존의 소프트웨어 기반의PO/PC 가 적용된 경우 노이즈 반응을 도시한 그래프, 도 15는 Ke=3N/m 에서 본 발명에서 제안된 FPGA기반의 PO/PC 가 적용된 경우의 실험 결과를 도시한 그래프이다.
먼저, FPGA 기반의 햅틱인터페이스에 물리적 댐핑을 삽입하는 방법을 설명한다.
여기에서 물리적 댐핑은 햅틱 장치의 동역학적 특성 및 햅틱 디스플레이의 성능 을 향상시키기 위한 수단으로 전기적인 댐핑 등을 생각할 수 있으나, 종래에는 이를 위한 하드웨어 및 다수 복잡한 회로 설계를 요구한다는 문제점이 있었다.
이에 따라서, 본 발명에서는 추정 속도 및 측정 전류를 사용하여 시간영역 수동성관측기(PO) 및 시간영역 수동성제어기(PC)를 하드웨어적으로 FPGA 상에서 구현하고 있으며, 이를 위하여, 보다 정확한 시간영역 수동성제어기(PC)의 에너지 계산을 위하여 모터의 기준토크 대신에 모터의 전류를 직접 홀센서를 통하여 측정하여 시간영역 수동성관측기(PO) 값으로 사용하고 있다.
도 4는 햅틱장치(200)의 모터드라이버(600) 내로 삽입되는 FPGA(300)의 하드웨어적 구성, 즉, 본 발명에 따른 물리적 댐핑이 가능한 하드웨어적 구성을 도시한 구성도이다. 도시된 바와 같이, FPGA(300)는 햅틱장치(200)의 모터 드라이버(600)에 장착 가능하며 주컴퓨터(500)에 의하여 가상환경(400)이 작동될 때 작동되는 주컴퓨터(500)와 상호 통신된다. 이 때, FPGA(300)는 수동성관측(310)기 및 수동성제어기(390)에 따른 알고리즘을 이용하여 구현시킴이 바람직하다. 알고리즘에 대한 상세한 설명은 후술하기로 한다. 여기에서, 일반적으로 햅틱장치(200)는 기구부, 엑추에이터, 센서 등으로 이루어지는데, 엑추에이터의 변위량에 대한 엔코더 값과 기구부의 구성에 대한 기구학적 계산을 통하여 햅틱장치의 위치 변화량을 알 수 있게 된다.
PO(Passivity Observer, 수동성 관측기, 310)는 실시간 소프트웨어 내의 하나 이상의 서브시스템 내 변동성이 큰 에너지를 측정하며, 활동적 반응은 어느 시간에서 PO의 마이너스값으로 지시된다.
이러한 시스템에서 동력흐름을 정의하는 복합변수는 이산-시간 변수이며, 분석은 시스템의 동적 움직임보다 실질적으로 빠른 샘플링 비율에 한정한다. 여기에서 1 샘플시간동안 힘과 변위에서 변화가 없다고 가정하였다. 이에 따라서, 수동성을 체크하기 위하여 다음과 같은 수학식을 사용한다.
Figure 112008071939179-PAT00015
여기에서 ΔT는 샘플링 주기이다.
만약 각각의 n에 대해서 Eobsv(n)≥o 이면 이는 시스템이 에너지를 이산시키고 있는 것을 말하며, Eobsv(n)< o 이면 시스템이 에너지를 생성하고 있음을 의미하며 생성에너지 합은 - Eobsv(n)이 된다.
PC (passivity controller, 수동성 제어기, 390)는, 적응성 에너지 소산 요소로, 각각의 샘플 시간에서 수동성 관측기(310)에 의하여 측정된 순에너지(만약 있다면)를 정확하게 흡수한다. 이러한 PO/PC 방법은 매우 적은 추가 연산을 필요로 하고, 확인된 동적 모델을 필요로 하지 않는다. 실행되는 원포트(one-port) 시스템으로 가정하면, 동작 조건 및 원포트 동적 움직임 요소의 특성에 따라서 수동성 관측기(310)는 특정 시간에 마이너스일 수도 있고 아닐 수도 있다. 그러나, 어느 시간에 마이너스일 경우에는 원포트는 불안정성에 기여할 수 있다. 아울러, 생성에너지의 정확한 양을 알기 때문에 필요한 에너지 만큼만 이산시키는 시간-변수 댐핑 요소를 설계할 수 있다. 이를 수동성 제어기(PC, 390)라고 한다.
이러한 PC(390)는 입력 인과관계에 기인하여 시리즈 혹은 평행 환경 설정에서의 이산요소 형태를 취한다.
수동성관측기/수동성제어기(310/390)가 다양한 햅틱 인터페이스에 적용된다고 하더라도, 가장 큰 문제점은 저속 접촉시 노이즈 발현 문제이다.
도 3은 수동성관측기/수동성제어기(310/390) 기반 소프트웨어에서의 접촉 반응을 도시한 그래프이다.
이를 알아보기 위한 실험에서는, K=1,000 N/m / position > 0 인 가상 환경에서, 소프트웨어를 이용 반응 그래프를 도출하였다. 도 3에 도시된 바와 같이, 도 3(a)에서는 안정성을 보이나, 3(d)에서처럼 PC 입력이 chattering되며, 3(b)와 같이 저속 운동시, PO값은 3(c)처럼 더욱 음의 값으로 변한다. 이에 따라서 사용자는 원치 않는 물리적인 진동을 느낄 수 밖에 없다.
도 7은 원-포트 네트워크 시스템에서의 PC 환경 설정을 보여준다. 도시된 바와 같이, 사용자(100), 햅틱장치(200), FPGA(300) 및 가상환경(400)을 제어하는 주컴퓨터(500)로 구성된다. 종래의 도 2에서와는 다르게 가상환경(400)을 제어하는 컴퓨터(500)와 불안정성 및 노이즈 제어를 위한 물리적 댐핑 하드웨어인 FPGA(300)를 분리하였으며, 이에 따라서 시스템 구성이 더욱 간단해지고 구현이 편리하게 된다. 이러한 FPGA(300)는 햅틱장치(200)에 하드웨어적으로 연결시켜 구성이 가능하며, 일반적인 모터 드라이버 내부로의 삽입도 가능할 것이다. 여기에서,
Figure 112008071939179-PAT00016
는 원-포트에서의 적용 물리적 댐핑 요소이며 실시간 소프트웨어에 의하여 컴퓨터 내부에서 구현된다. 즉,
Figure 112008071939179-PAT00017
는 연속되는 알고리즘 설정에서 조절 가능한 에너지 소모요소를 의미하며, 힘과 속도의 관계로써 에너지 량에 따라서 수동성제어기에 의하여 결정된다. 아울러 일 샘플시간 동안 등속 추정을 제거하는 보다 정확한 수동성관측기를 제공한다. 이러한 개선된 수동성관측기 / 수동성제어기 체계는 기준(reference) 에너지를 사용하여 수동성제어기 동작시 급작스런 비연속적 힘 없이 부드럽게 한다. 아울러, 이러한 PO/PC는 FPGA(300) 내부로 구성함이 바람직하다.
한편, 수동성관측기 / 수동성제어기의 노이즈 문제를 해결하기 위한 방안 중 하나는 저속도 신호에서 발생 가능한 노이즈를 제거하는 것이다. 본 발명에서는, 이를 위하여 샘플링 주파수에서 성능 비교 가능한 속도 측정 방법을 이용하는데, 결국은, 이러한 노이즈 반응을 제거하기 위하여 T-method 속도 추정 방법을 사용하는 것이 바람직하다.
이는, 댐핑 삽입에서 가장 문제가 되어오던 저속에서의 노이즈한 속도의 추정을 해결하고 저속에서 정확한 속도를 측정하기 위하여 일정한 시간마다 엔코더의 변위를 읽어서 속도를 계산하는 M-method 대신 엔코더의 변위가 발생할 때마다 그 시간차를 계산하여 속도를 계산하는 T-method를 사용하여 속도를 추정하는 것이다.
이의 비교를 위하여 먼저 M-method에 대하여 설명하면, 이는 속도 측정을 위하여 가장 널리 사용되는 방법으로, 일정시간 추정 방법이다. 즉, 일정 샘플링 주기인 TM 동안에 엔코더로부터 펄스인 Pn을 카운트하고 이탈된 변위에 따라서 속도를 추정한다. 하기 수학식은 M-method에서 사용된다.
Figure 112008071939179-PAT00018
여기에서 P는 회전당 엔코더 펄스수를 의미하며, 측정시간은 샘플링시간인 TM과 동일하고, VM는 추정되는 각속도를 의미한다. M-method에서 속도 해결은 다음 수학식을 사용한다.
Figure 112008071939179-PAT00019
하지만, 이러한 M-method에서 속도 분석은 속도가 줄어들거나 샘플링시간이 적어지면 힘들어지게 된다. 하지만, 햅틱 인터페이스는 고실행 힘의 피드백을 위하여 적은 샘플링시간과 정확한 속도 추정을 필요로 한다.
도 5는 이러한 M-method에서 속도 분석 그래프를 나타내는데, 5a는 1msec 샘플링주기, 5b는 0.1msec 샘플링 주기에서의 결과이다. 이를 위한 실험에서는, 1회전 당 1024 펄스를 생성하는 마그네틱 엔코더를 구비하는 DC 모터로 실행하였다. 도시된 바와 같이, 샘플링주기가 줄어들수록 최소 속도 분석은 14.65 RPM에서 146.5 RPM 까지 급격하게 증가함을 알 수 있다.
속도 측정을 위하여 사용되는 방법 중 또 다른 하나는, 본 발명에서 사용하는 측정방법으로, 일정변위 추정 방법인 T-method 인데, 이는 일정 변위 간격에서 연속되는 펄스 에지 사이간 소요 시간을 측정하여 속도를 추정하는 것이며, 하기 수학식으로 표현이 가능하다.
Figure 112008071939179-PAT00020
(여기에서, TT는 샘플링 주기를, ms는 연속된 두 개의 엔코더 펄스 사이의 샘플링 숫자를, P는 모터 한 회전 동안의 엔코더 펄스를, msTT 는 연속된 두 개의 엔코더 펄스 사이의 시간을 의미한다.)
이 방법에서는 특히 저속도 분석 능력을 제고할 수 있다는 장점을 가진다. 이 방법에서 발생할 수 있는 문제점 중 하나는 펄스 간격이 샘플링주기인 Ts보다 적은 경우에는 펄스 간격을 측정할 수 없다는 것이다. 그러나, 본 발명에서처럼 FPGA와 같은 빠른 샘플링 장치를 장착하였을 경우에는, 속도 범위가 확장될 수 있으므로 이러한 문제점을 극복할 수 있을 것이다.
그리고 여기에서의 핵심은 속도 노이즈를 제거하고 엔코더 분석 확장 없이도 평탄한 속도 신호를 획득하게 하는 것이다. 이를 확인할 수 있는 실험에서는, 앞에서 기술한 M-method와 동일한 DC 모터와 엔코더가 사용되었으며 1 KHz에서 측정된 속도 변화 그래프가 도 6에 도시되어 있다.
도 6a는 M-method를 이용한 결과 그래프이며, 도 6b는 T-method를 이용한 결과 그래프이다. 도시된 바와 같이, 저속도 범위에서의 T-method의 추정 결과는 수동성 관측기 / 수동성 제어기의 노이즈 발생을 제거하는 데 꼭 필요한 부드럽고 연속적인 곡선 특성을 나타내고 있음을 쉽게 알 수 있을 것이다.
한편, 모터 드라이버에 움직임(힘) 명령을 사용하는 대신에 본 발명에서는 수동성 관측기의 보다 정확한 측정값을 위하여 측정 전류값을 사용하였다. 이 경우, 전류값은 홀-전류 센서(730)를 통하여 직접적으로 측정 가능하도록 하고, 홀-전류 센서는 모터 드라이버와 모터(720) 사이에 장착시킴이 바람직하다.
도 10은 상이한 실행률을 가지는 4개의 상이한 루트를 도시한 연산루트 구성도이다. 도시된 바와 같이, 획득된 전류 및 이의 제어는 추가 모터 드라이버와 센서 인터페이스 회로를 가지는 FPGA 내부의 평행 루프 내에서 실현된다. FPGA 기반의 폐루프 전기 제어기는 전류획득, PD 제어, PWM 생성을 위한 3개의 평행 루프로 구성한다. 이 때, PD 루프는 획득 루프와 동시성을 가지며, PD 컨트롤러는 PWM 듀티 사이클을 정하는데 이에 따라서 모터의 토크를 생성한다.
본 발명은, T-method 속도 추정 및 직접적인 전류 측정을 이용하며, 원 포트 네트워크를 위한 PO/PC 알고리즘을 생성 임피던스와 함께 FPGA를 통하여 구현한다.
도 8은 속도추정방법 원리를 설명하기 위한 엔코더 펄스 및 샘플링 주기를 도시한 그래프이다.
만약 A가 상승에지 상에 있고 B 상태가 낮다면, 위치카운터 값은 카운트된 값에서 1을 더한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기 수(ms)를 얻는다.
만약 A가 상승에지 상에 있고 B 상태가 높다면, 위치카운터 값은 카운트된 값에서 1을 차감한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기수(ms)를 얻는다.
만약 B가 상승에지 상에 있고 A 상태가 높다면, 위치카운터 값은 카운트된 값에서 1을 더한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기수(ms)를 얻는다.
만약 B가 상승에지 상에 있고 A 상태가 낮다면, 위치카운터 값은 카운트된 값에서 1을 차감한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기수(ms)를 얻는다.
만약 A가 하강에지 상에 있고 A 상태가 높다면, 위치카운터 값은 카운트된 값에서 1을 더한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기수(ms)를 얻는다.
만약 A가 하강에지 상에 있고 A 상태가 낮다면, 위치카운터 값은 카운트된 값에서 1을 차감한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기수(ms)를 얻는다.
만약 B가 하강에지 상에 있고 A 상태가 높다면, 위치카운터 값은 카운트된 값에서 1을 더한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기 수(ms)를 얻는다.
만약 B가 하강에지 상에 있고 A 상태가 높다면, 위치카운터 값은 카운트된 값에서 1을 차감한다. 그리고 경과타이머는 전 결과와 현재 결과 사이의 샘플링 주기수(ms)를 얻는다.
한편, 수동성관찰기(PO)를 이용하는 수동성제어기(PC)의 알고리즘은 도 9에서처럼 다음과 같이 정리될 수 있다.
상기 수동성관측기/수동성제어기의 원-포트 네트워크에서의 알고리즘 구성은 다음과 같은 플로우를 가지도록 함이 바람직하다.
여기에서, S910 내지 S930은 컴퓨터 제어 영역이고, S940 내지 S990은 본 발명에 따른 FPGA 영역에 해당한다.
먼저, 햅틱 환경 렌더링 루틴에서의 n 스텝에서 모터 각변위 X(n)를 컴퓨터 내부에서 읽는 단계를 실행(S910)한다.
이어서, 상기 X(n) 값과 가상벽의 위치 Xwall 값을 비교하여 X(n) 값이 Xwall 값 미만이면 햅틱 환경 렌더링 루틴에서의 출력힘인 f1(n)는 0으로 상정하고, 이상이면 다음 단계로 넘어가는 b 단계(S920)를 수행한다.
이어서, 가상벽 시뮬레이션을 실행하며 하기 수학식 6을 적용하여 기준토크값인 f2(n)를 계산하는 c 단계(S930)를 수행한다.
Figure 112008071939179-PAT00021
이어서, 추정된 속도와 상기 홀-전류 센서를 통하여 측정된 모터 전류값을 입력받아 수동성관측기에서 하기 수학식을 적용하여 PO(k) 값을 산출하는 d 단계(S940)를 수행한다.
Figure 112008071939179-PAT00022
(여기에서 i m은 측정전류, Kt은 토크상수, T는 샘플링시간을 의미하며, 상기 청구항 3에서 언급한 바와 같이 T값은 고정 값 또는 엔코더 펄스가 발생하는 주기를 나타내는 가변 값이 될 수도 있슴)
그리고, 상기 속도 추정은 전술한 수학식 5를 사용하여 가능할 것이다.
이어서, 원스텝(1-step) 앞서서 수학식을 적용하여 시간 0부터 k까지의 총에너지인 W(k)를 에측하는 e 단계(S950)를 수행한다. 이를 위하여, 하기 수학식을 이용함이 바람직하다.
Figure 112008071939179-PAT00023
이어서, 상기 W(k)가 0 이상이면 수동성 제어가 필요 없으므로
Figure 112008071939179-PAT00024
으로 상정하고 0 미만이면 다음 단계로 넘어가서 하기 수학식 9를 이용하여 수동성제어기에서 물리적 댐핑값인
Figure 112008071939179-PAT00025
값을 계산하는 f 단계(S970)를 수행한다.
Figure 112008071939179-PAT00026
이어서, 하기 수학식을 이용하여 가상환경으로부터의 출력 힘에 계산된 댐핑을 추가적으로 적용하는 g 단계(S980)를 수행한다.
Figure 112008071939179-PAT00027
이어서, 상기 산출 또는 예측된 값들을 이용하여 하기 수학식 적용을 통한 전류지시값인 iref(k) 값을 산출하여 이를 기준전류로 제공하는 h 단계(S990)를 수행한다.
Figure 112008071939179-PAT00028
상기 알고리즘에서 알 수 있듯이, 본 발명에서는 가상환경에서의 힘을 사용하는 대신에 측정전류를 에너지 측정에 사용하였다. 따라서, 보다 정확한 에너지 계산 이 가능하다. 또한, 수동성관측기 값이 음이 될 때 추가되어야 하는 물리적인 댐핑값을 계산하며, 계산된 추가적인 댐핑은 기준전류값을 변화시킴으로써 구현된다.
이하, 도 10을 참조하여 본 발명에서 사용한 4가지 연산루틴을 설명한다.
먼저, PC 프로세서에서 1KHz로 업데이트되는 햅틱 환경 렌더링 루틴(810)을 구성한다. 또한, 전류 획득과 PWM(펄스폭변조) 생성이 동시성을 가지는 전류 컨트롤러를 포함하는 전류제어 루틴(820)을 구성하고, 엔코더 펄스가 발생할 때마다 비정기적으로 업데이트되는 속도 추정 루틴(830)을 구성한다. 마지막으로, 수동성관측기 및 수동성제어기 값이 속도 추정루틴과 연동되어 비정기적으로 업데이트되는 경우와 이와 별개로 일정한 주기를 가지고 빠르게 업데이트되는 경우를 모두 고려하는 수동성관측기/수동성제어기 계산루틴(840)을 포함시켜 연산루틴을 구성하는 것이 바람직하다.
FPGA 기반 적용에서의 장점은 매우 빠른 비율로 동시에 또는 평행적으로 다중 연산이 가능하다는 사실이다. 상이한 루프는 다른 목적을 가진 하드웨어 구성을 공유하지 않으며 정확하게 정하여진 시간에 동작한다.
도 11은 본 발명에 따른 FPGA 내부의 모듈 구성도이다. 도시된 바와 같이, PO/PC 모듈(310/390), 속도측정모듈(320), 위치카운터모듈(330), 경과타이머모듈(340), 전류획득모듈(350), 전류제어모듈(360) 등으로 구성된다.
한편, 본 발명에서 제안된 하드웨어 기반의 댐핑 삽입 방법의 성능을 보여주기 위하여, 실험에서는 FPGA/RT 플랫폼을 사용한다. 도 12는 실험 준비된 블록 다이어그램을 도시하고 있다.
이 실험은 컨트롤러가 내재된 PXI-8186 및 PXI-7833 FPGA 모듈이 탑재된 내셔널 인스트루먼트 실시간 제어 시스템으로 수행하였다. 브러쉬드 DC 모터(Maxon RE25)가 1-DOF 햅틱 장치로 사용되었고, MR 엔코더(1024 pulses/회전), 185 mV/A 출력 감도인 홀-전류 센서가 제각기 변위 및 모터 전류를 측정하기 위하여 사용되었다. 모터는 쌍방향 모터 드라이버 회로에 의하여 구동된다. 본 발명에 따라 제안된 수동성관측기/수동성제어기 구성은 FPGA 내부에 이루어진다. 증강현실은 윈도우 XP에 의하여 구현되며, 이 경우 가상 스프링은 Xwall=0.1m 에 위치시킨다.
도 12에 도시된 바와 같이, 시스템은 PC(500), FPGA(300), 엔코더(710), 모터(720), 홀-전류 센서(730), H-bridge(750)로 구성한다. 여기에서, PC(500)는 FPGA(300)에 기준토크를 제공하고 FPGA(300)는 PC(500)에 모터각변위를 제공한다. 엔코더(710)에서 측정된 위상은 FPGA(300)에 전달되고 , 홀-전류 센서(730)는 모터 드라이버와 모터(720) 사이에 장착시키며 측정된 모터 전류값은 FPGA(300)에 장착된 A/D 변환기(740)로 입력된다. FPGA(300)에서는 PWM(Pulse Width Modulation; 펄스폭변조) 신호를 H-bridge로 출력시키게 된다.
도 13은 수동성관측기/수동성제어기가 off일 때를 도시하고 있다. 도시된 바와 같이, 변위 및 힘의 반응은 작동자가 증강 현실과 접촉을 이룬 이후에 매우 불안정해짐을 알 수 있다.
도 14는 통상적인 수동성관측기/수동성제어기 기반의 소프트웨어에서의 접촉 반응을 나타낸다. 작동자는 1msec 마다 업데이트된 가상벽(Ke=3 N/M)와 접촉시키기 위하여 1-DOF 햅틱 장치를 밀어준다. 처음에는 도 14a 에서와 같이 접촉시 변위 반 응은 안정하다. 햅틱 장치가 가상벽으로부터 저속도로 떨어질 때 PC 입력은 진동을 시작한다. 그리고 PO 값은 마이너스값으로 급격히 떨어지게 된다. 물리적으로 작동자는 계속적인 진동을 느끼게 되고, 이에 따라서 가상 현실에 대한 인지도가 떨어지며 시스템은 정확성과 멀어지게 된다.
본 발명에서는 수동성관측기/수동성제어기 기반의 FPGA를 적용하여 저속도 접촉에서의 노이즈 발현을 도 15에서와 같이 급격하게 줄일 수 있게 된다. 몇 번의 바운스 이내에 안정적 접촉이 가능해지며 작동자는 좀 더 편안한 상호 작용력을 받게 된다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용 범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이다.
도 1은 종래 기술에 따른 햅틱 인터페이스 시스템 구성도.
도 2는 원포트 네트워크 햅틱 인터페이스에서 종래의 소프트웨어에 기반한 PO/PC 시스템 구성도.
도 3은 종래의 소프트웨어에 기반한 PO/PC를 적용한 경우의 접촉반응 실험결과를 도시한 그래프.
도 4는 햅틱장치와 가상환경을 구현하는 컴퓨터 사이에서 모터 드라이버의 형태로 삽입되는 FPGA를 도시한 구성도.
도 5는 1msec(a) 및 0.1msec(b) 에서 M-method로 속도를 측정한 결과를 도시한 그래프.
도 6은 1 khz 에서 M-method(a) 및 T-method(b)로 속도를 측정한 결과를 도시한 그래프.
도 7은 본 발명에 따른 원포트 네트워크 햅틱 인터페이스에서 FPGA에 기반한 PO/PC을 구현한 시스템 구성도.
도 8은 본 발명에 따른 T-method에서의 속도 측정 원리를 도시한 도면.
도 9는 FPGA상에서 구현을 위한 PO/PC 알고리즘의 플로우 차트.
도 10은 상이한 실행주기를 가지는 4개의 상이한 루트를 도시한 연산루트 구성도.
도 11은 FPGA 내부 모듈을 도시한 내부 구성도.
도 12는 본 발명에 따른 실험 셋업의 블록 다이어그램.
도 13은 Ke=3N/m 에서 PO/PC 가 적용 안된 경우의 불안정한 접촉을 나타내는 그래프.
도 14는 Ke=3N/m 에서 기존의 소프트웨어 기반의PO/PC 가 적용된 경우 노이즈 반응을 도시한 그래프.
도 15는 Ke=3N/m 에서 본 발명에서 제안된 FPGA기반의 PO/PC 가 적용된 경우의 실험 결과를 도시한 그래프.
*** 도면의 주요 부분에 대한 설명 ***
100: 사용자 200: 햅틱장치
300: FPGA 310: 수동성관측기(PO)
390: 수동성제어기(PC) 400: 가상환경
500: 컴퓨터 600: 모터드라이버
710: 엔코더 720: 모터
730: 홀-전류센서 740: A/D 변환기

Claims (8)

  1. 햅틱 환경 렌더링 루틴과 햅틱장치 사이의 상호작용을 지원하는 FPGA기반의 제어시스템에서 햅틱장치에 물리적 댐핑을 삽입하는 방법으로,
    가. 저속도에서의 노이즈한 속도의 추정을 해결하고 정확한 속도를 측정하기 위하여 엔코더 변위가 발생할 때마다 그 시간차를 계산하여 속도를 계산하는 T-method를 사용하여 속도를 추정하는 단계와;
    나. 보다 정확한 시간영역수동성제어기의 에너지 계산을 위하여 모터의 레퍼런스 토크 대신에 모터의 전류를 직접 홀-전류센서를 통하여 측정하여 시간영역수동성관측기 값으로 사용하는 전류 측정 단계와;
    다. 상기 추정된 속도와 측정된 전류를 사용하여 시간영역 수동성관측기(PO) 및 시간영역 수동성제어기(PC)를 하드웨어적으로 FPGA 상에서 구현하는 단계;를
    포함하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
  2. 제 1항에 있어서,
    상기 FPGA는 일반 모터 드라이버 또는 제어기 내부로 삽입하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
  3. 제 2항에 있어서,
    상기 FPGA 기반 내 연산은 동시에 또는 평행적으로 다중 연산이 가능하며, 다수개의 연산루틴으로 구성하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
  4. 제 3항에 있어서,
    상기 연산루틴은,
    PC 프로세서에서 1KHz로 업데이트되는 햅틱 환경 렌더링 루틴과;
    전류 획득과 PWM 생성이 동시성을 가지는 전류 컨트롤러를 포함하는 전류제어 루틴과;
    엔코더 펄스가 발생할 때마다 비정기적으로 업데이트되는 속도 추정 루틴; 및
    수동성관측기 및 수동성제어기 값이 속도 추정루틴과 연동되어 비정기적으로 업데이트되는 경우와 이와 별개로 일정한 주기를 가지고 빠르게 업데이트되는 경우를 모두 고려하는 수동성관측기/수동성제어기 계산루틴;을 포함하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
  5. 제 1항에 있어서,
    상기 홀-전류 센서는 모터 드라이버와 모터 사이에 장착하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 수동성관측기/수동성제어기의 알고리즘 구성은,
    a. 햅틱 환경 렌더링 루틴에서의 n 스텝에서 모터 각변위 X(n)를 컴퓨터 내부에서 읽는 단계와;
    b. 상기 X(n) 값과 가상벽의 위치 Xwall 값을 비교하여 X(n) 값이 Xwall 값 미만이면 햅틱 환경 렌더링 루틴에서의 출력힘인 f1(n)는 0으로 상정하고, 이상이면 다음 단계로 넘어가는 단계와;
    c. 가상벽 시뮬레이션을 실행하며 하기 수학식 6을 적용하여 기준토크값인 f2( n)를 계산하는 단계와;
    Figure 112008071939179-PAT00029
    (수학식 6)
    d. 추정된 속도와 상기 홀-전류 센서를 통하여 측정된 모터 전류값을 입력받아 수동성관측기에서 하기 수학식 7을 적용하여 PO(k) 값을 산출하는 단계와;
    Figure 112008071939179-PAT00030
    (수학식 7)
    (여기에서 i m은 측정전류, Kt은 토크상수, T는 샘플링시간을 의미하며, 상기 청구항 3에서 언급한 바와 같이 T값은 고정 값 또는 엔코더 펄스가 발생하는 주기를 나타내는 가변 값이 될 수도 있슴)
    e. 한 스텝 앞의 에너지를 미리 예측하기 위하여 하기 수학식 8을 이용하는 단계와;
    Figure 112008071939179-PAT00031
    (수학식 8)
    f. 상기 W(k)가 0 이상이면 수동성 제어가 필요 없으므로
    Figure 112008071939179-PAT00032
    으로 상정하고, 0 미만이면 다음 단계로 넘어가서 하기 수학식 9를 이용하여 수동성제어기에서 물리적 댐핑값인
    Figure 112008071939179-PAT00033
    값을 계산하는 단계와;
    Figure 112008071939179-PAT00034
    (수학식 9)
    g. 하기 수학식 10을 이용하여 가상환경으로부터의 출력 힘에 계산된 댐핑을 추가적으로 적용하는 단계; 및
    Figure 112008071939179-PAT00035
    (수학식 10)
    h. 상기 산출 또는 예측된 값들을 이용하여 하기 수학식 11 적용을 통한 전류 지시값인 iref(k) 값을 산출하여 이를 모터의 기준전류로 제공하는 단계;를 포함하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
    Figure 112008071939179-PAT00036
    (수학식 11)
  7. 제 6항에 있어서,
    상기 d 단계에서 속도 추정을 위하여 하기 수학식 5를 적용하는 것을 특징으로 하는 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법.
    Figure 112008071939179-PAT00037
    (수학식 5)
    (여기에서, TT는 샘플링 주기를, ms는 연속된 두 개의 엔코더 펄스 사이의 샘플링 숫자를, P는 모터 한 회전 동안의 엔코더 펄스를, msTT 는 연속된 두 개의 엔코더 펄스 사이의 시간을 의미한다.)
  8. 제 6항에 따른 FPGA 기반의 제어시스템을 통하여 햅틱장치에 물리적 댐핑을 삽입하는 방법에 의하여 구현 가능한 햅틱시스템.
KR1020080101473A 2008-10-16 2008-10-16 에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템 KR20100042357A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080101473A KR20100042357A (ko) 2008-10-16 2008-10-16 에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080101473A KR20100042357A (ko) 2008-10-16 2008-10-16 에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템

Publications (1)

Publication Number Publication Date
KR20100042357A true KR20100042357A (ko) 2010-04-26

Family

ID=42217726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080101473A KR20100042357A (ko) 2008-10-16 2008-10-16 에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템

Country Status (1)

Country Link
KR (1) KR20100042357A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012018229A2 (ko) * 2010-08-03 2012-02-09 한국기술교육대학교 산학협력단 시간영역 수동성 기법을 이용하여 시간 지연에서의 안정적인 원격제어를 보장하는 양방향 제어기, 햅틱 인터페이스 장치 및 방법, 그리고 원격조종로봇 시스템
WO2013073910A1 (ko) * 2011-11-16 2013-05-23 한국기술교육대학교 산학협력단 복수의 액추에이터를 가상 물체의 속도에 따라 주파수를 변화시키며 순차적으로 구동시켜 이동 진동파를 구현하는 이동 진동파 생성 방법
KR101268604B1 (ko) * 2011-05-31 2013-06-04 한국기술교육대학교 산학협력단 햅틱 인터페이스 장치 및 방법, 그리고 원격조종로봇 시스템
CN115694737A (zh) * 2022-10-31 2023-02-03 大连理工大学 一种信源信道联合触觉编码方法、装置、设备及介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012018229A2 (ko) * 2010-08-03 2012-02-09 한국기술교육대학교 산학협력단 시간영역 수동성 기법을 이용하여 시간 지연에서의 안정적인 원격제어를 보장하는 양방향 제어기, 햅틱 인터페이스 장치 및 방법, 그리고 원격조종로봇 시스템
WO2012018229A3 (ko) * 2010-08-03 2012-03-29 한국기술교육대학교 산학협력단 시간영역 수동성 기법을 이용하여 시간 지연에서의 안정적인 원격제어를 보장하는 양방향 제어기, 햅틱 인터페이스 장치 및 방법, 그리고 원격조종로봇 시스템
KR101268604B1 (ko) * 2011-05-31 2013-06-04 한국기술교육대학교 산학협력단 햅틱 인터페이스 장치 및 방법, 그리고 원격조종로봇 시스템
WO2013073910A1 (ko) * 2011-11-16 2013-05-23 한국기술교육대학교 산학협력단 복수의 액추에이터를 가상 물체의 속도에 따라 주파수를 변화시키며 순차적으로 구동시켜 이동 진동파를 구현하는 이동 진동파 생성 방법
KR101285416B1 (ko) * 2011-11-16 2013-07-11 한국기술교육대학교 산학협력단 복수의 액추에이터를 가상 물체의 속도에 따라 주파수를 변화시키며 순차적으로 구동시켜 이동 진동파를 구현하는 이동 진동파 생성 방법
CN115694737A (zh) * 2022-10-31 2023-02-03 大连理工大学 一种信源信道联合触觉编码方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US7027965B2 (en) Time domain passivity control of haptic interfaces
Diolaiti et al. Stability of haptic rendering: Discretization, quantization, time delay, and coulomb effects
Diolaiti et al. Contact impedance estimation for robotic systems
Abbott et al. Effects of position quantization and sampling rate on virtual-wall passivity
Hayward et al. Do it yourself haptics: part I
Ryu et al. Stable teleoperation with time-domain passivity control
Hannaford et al. Time-domain passivity control of haptic interfaces
Sirouspour et al. Model predictive control for transparent teleoperation under communication time delay
JP2020526403A (ja) 構成依存力学系を有するシステムの振動制御
Weir et al. Measuring and increasing z-width with active electrical damping
KR20100042357A (ko) 에프피지에이 기반의 제어시스템에서 물리적 댐핑을 삽입하는 방법 및 이를 적용한 햅틱시스템
KR100538351B1 (ko) 햅틱 인터페이스의 안정화 방법 및 이를 적용한 햅틱시스템
KR101314792B1 (ko) 햅틱 인터페이스 제어 방법 및 장치
Hannaford et al. Stable control of haptics
Mosterman et al. Embedded real-time control via matlab, simulink, and xpc target
Abdossalami et al. Adaptive control of haptic interaction with impedance and admittance type virtual environments
Malysz et al. Cooperative teleoperation control with projective force mappings
Lim et al. Analogue input shaper for haptic interfaces
Nabeel et al. Increasing the impedance range of admittance-type haptic interfaces by using Time Domain Passivity Approach
KR100993950B1 (ko) 햅틱 장치의 등가 물리적 댐핑 추정 방법 및 이를 이용한햅틱 장치 안정화 방법
Ahmad et al. Microcontroller-based input shaping for vibration control of flexible manipulator system
Madawala et al. Virtual torsional spring based bilateral control system for soft manipulation
Ganiny et al. Identification of the most conservative stability bounds for a class of multi-rate haptics controllers
Koul et al. Elevating haptic interfaces: Dual‐rate sampling and field programmable gate array implementation for multi‐degree‐of‐freedom performance enhancement
Mashayekhi et al. A New Approach for Simplifying Multi-Degree of Freedom Haptic Device Dynamics Model

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application