모션 제어- 피드포워드(Feedforward) 위치 정확도 향상을 위한 필수 요소


많은 애플리케이션은 모션의 높은 정확도를 요구한다. 그러나 서보 루프를 제어하기 위해 PID(비례, 적분, 미분) 설정을 완벽하게 최적화한 경우에도 다양한 힘의 영향으로 인해 그 결과가 완벽할 수 없다. 그러나, 서보 루프 외부에 제어요소를 추가하여 성능을 보다 향상시킬 수 있다. 본문에서는 시스템을 더욱 원활하게 실행하고 높은 정확도를 제공하기 위해 피드포워드 기술을 적용한 다양한 방법을 살펴본다.


독자들은 동역학, 부하 및 환경에 대해 많이 알수록 시스템 성능 개선을 위해 피드포워드를 활용할 수 있다는 점을 발견하게 될 것이다. 일부 애플리케이션에서는 피드포워드 또는 특수 제어기술이 필요하지 않지만, 보다 정확하고 효율적이며 빠른 모션이 요구되면서 최근 이러한 기술들이 관심을 끌고 있다.

 

 
 



루프(loop)


피드포워드에 대한 모든 내용은 제어 루프에서 시작된다. 그림 1a와 1b는 널리 사용되는 두 가지 제어 루프를 보여준다. 첫 번째는 오래된 위치 PID(비례, 적분, 미분) 루프이고 두 번째는 일반적으로 PI(비례, 적분) 필터만 사용하는 속도 루프이다.


대부분의 지점 간의 포지셔닝 시스템은 위치 PID 루프를 사용하는 반면, 많은 회전 및 펌핑 애플리케이션은 속도 PI 루프를 사용한다. 고성능 위치 제어 애플리케이션은 실제로 두 가지를 모두 사용할 수 있으며 위치 루프는 외부 루프로 작용하며 내부 루프로는 속도 루프에 명령 값을 입력한다. 이 배열을 계단식 위치 속도 제어 루프라고 한다. 조정하기가 조금 복잡하지만 부드러움과 안정성을 개선하기 위한 추가 제어를 제공할 수 있다.



상황


위의 다이어그램에서 위치 PID 루프와 속도 PI 루프가 모두 전류 루프라고 하는 것으로 출력되는 것을 알 수 있다. 전류 루프는 또 다른 제어 루프이지만 원하는 전류(토크) 명령을 받아들이고 모터 코일을 통해 실제 전류를 측정하고 PI(비례, 적분) 루프를 실행하여 이 제어 루프에서 모터 전압을 명령한다. 모터 코일을 통한 실제 전류가 명령된 전류와 동일한 방식이다. 일반적인 전류 루프는 그림 2에 나와 있다.


일부 간단한 서보 제어 시스템은 전류 루프를 생략하고 모터에 전압 명령을 직접 출력하여 차례로 모터 코일에 전류를 생성한다. 모터 코일 연결부의 전압과 코일을 통해 흐르는 실제 전류 사이의 관계는 다소 복잡하다. 왜 이럴까? 간단히 말해서, 회전할 때 전류가 모터 코일로 다시 유도되어 원하는 전류 흐름에 비해 실제 전류 흐름이 왜곡되기 때문이다. 이 결과는 회전 속도에 비례하는 유효 전압의 감소로 해석하는 back EMF(Electro-Motive Force)를 가져온다. 이는 실제로 코일에서 유도된 전류의 결과 중 하나다.


그러나 코일을 통한 전류 파형의 밀리초 단위 왜곡은 이보다 훨씬 복잡하다. 특히 브러시리스 DC 유형과 같은 다상 모터는 고정자의 유효 전기 각도가 이동되기 때문에 이러한 왜곡에 민감하다. 이는 결과적으로 정류가 비효율적이며 에너지를 낭비하고 모터에서 과도한 열을 발생시킨다는 것을 의미한다.


따라서 대부분의 모션 제어 애플리케이션에서 전류 루프가 사용된다. 최신 모션 컨트롤러는 홀 센서 또는 감지 저항과 비교기 또는 A/D(아날로그-디지털 변환기)를 사용하여 이 작업을 디지털 방식으로 수행한다. 원하는 드라이브 성능에 따라 다양한 전류 제어 방식을 사용할 수 있다. 보다 정확한 방식은 각 레그(leg)를 통해 전류를 지속적으로 측정하는 것이다. 간단한 방식은 전체 모터에 대해 하나의 전류를 측정하는 방법이 있다.

 

 
 


제어루프 설정


위치 PID 루프를 설정하고(속도 루프가 아닌 위치 PID 루프만 가정함) 프로파일을 생성을 시작한다. 그러나 PID 매개변수의 미세 조정에도 불구하고 로드 시 원하는 프로파일을 완벽하게 추적할 수 없다는 것을 즉시 알 수 있다. 가속 단계에서는 항상 지연이 발생하고 감속 단계에서는 오버슈트가 발생한다.


이에 대한 한 가지 원인은, PID 루프가 출력하려면 오류가 있어야 하기 때문이다. 따라서 모션에는 0 이 아닌 위치 오류가 있다. 또 다른 이유는 실제 시스템이 안정적이고 진동 없는 모션을 유지해야 하기 때문이다. PID는 궁극적으로 이러한 다양한 목표 사이의 절충안을 나타낸다. 모션 컨트롤러에 많은 정보를 제공할 수 있는 방법이 있다면 PID 루프의 부담을 줄이면서 위치 오류를 줄일 수 있다.


알고리즘 관점에서 제어 루프에서 이를 달성하는 것은 그림 3과 같이 매우 간단하다. 할 일은 PID 위치 루프 출력에 단순히 수치적으로 피드포워드를 추가하여 현재 토크 루프 명령을 수정한뒤 피드포워드를 도입하는 것이다(또는 계단식 위치/속도 루프가 사용되는 경우 속도 명령).


정의에 따른 피드포워드 용어는 시스템이 원하는 모션 프로필 또는 기타 변화에 어떻게 반응하는지에 따라 다르다. 피드포워드 값이 높을수록 모터가 움직일 때 발생하는 토크가 높을수록 서보 루프가 수행해야 하는 작업이 줄어들고 기계 성능이 더욱 정확하고 반응성이 높아진다.

 

 



서보 오류


가장 간단한 피드포워드 용어의 종류는 토크 명령이다. 그림 3에서 이는 ‘정적 성향’이란 용어로 표현된다. 이를 활용한 구성은 중력의 영향을 받는 수직 축이다. 이 애플리케이션을 위한 최적의 출력은 하중을 전달할 때 축을 들어 올릴 만큼 충분히 큰 토크를 생성한다. 따라서 이론상으로는 PID 루프가 중력을 보상하기 위해 아무것도 할 필요가 없다.


실제는 이 몇 가지 요소가 완벽한 보상을 허용하지 않는다. 부하 질량은 가변적이며, 엄격한 허용 오차로 제작된 경우에도 모터와 메커니즘이 정확히 동일하게 동작하지 않는다. 따라서 토크 보상 값을 추가할 때 PID 루프가 수행해야 하는 작업의 양을 줄이는 것이 아니라 낮추는 것으로 예상해야 한다.


이 토크 명령 외에도 Newton의 운동 법칙과 마찰을 보상하려는 욕구는 두 가지 추가 피드포워드 항목을 사용하게 한다. 바로 속도 비례 피드포워드 및 가속도 비례 피드포워드다. 이 항목은 프로파일 생성기의 변수에 프로그래밍이 가능한 스케일 팩터를 곱하여 계산된다. 속도 피드포워드의 경우 축의 속도에 비례하는 기계의 움직임을 상쇄할 수 있는 다양한 종류의 마찰력이 있다. 이러한 힘의 크기를 결정할 수 있다면 보상할 수 있다. 기계 부하가 속도 변화에 저항하는 경향이 가속 비례힘에도 동일하게 적용된다. 기계 부하의 질량을 알고 있는 경우 가속 및 감속 중에 부하 질량에 의해 부여되는 힘을 보상하는 가속 비례 토크를 피드포워드할 수 있어야 한다.


그림 4는 피드포워드 보상이 적용되지 않은 위치 오차, 속도 피드포워드만 적용된 경우, 속도와 가속도 피드포워드가 모두 적용된 경우의 애플리케이션을 보여준다. 피드포워드 게인을 올바르게 설정하려면 어떻게 해야 할까? 그림 4를 지침으로 사용하여 피드포워드 보상이 없는 서보 지연의 모양을 보면 기계에 속도 비례 지연, 가속 비례 지연 또는 둘 모두가 발생하는지 확인할 수 있다.


어떤 종류의 힘이 작용하는지를 결정하고 서보 지연이 최소화될 때까지 피드포워드 게인 설정을 조정해야 한다. 가장 정확한 평균 피드포워드 스케일 값을 얻기 위해 축을 앞뒤로 몇 번 실행하고 데이터를 평균화하면 된다. 부하가 변경될 수 있고 기계 메커니즘이 다양하기 때문에 서보 지연이 0 이 될 것으로 기대하지는 않아야 한다.



운동학


위의 논의에서는 운동학적으로 복잡한 기계를 무시했다. X Y 스테이지와 같은 직교 액추에이터로 제작된 기계는 상대적으로 보상하기 쉬운 단순 반사력을 갖는다.

 

그러나 PUMA 스타일의 다관절 암과 같은 로봇 구성은 훨씬 복잡한 반사 토크를 가지며 구심력과 같은 새로운 힘을 포함한다. 또한 이러한 로봇의 경우 팔이 회전함에 따라 중력과 같은 일정한 힘이 변경될 수 있다. 그림 5는 이 점을 보여주는 간단한 다이어그램이다. 위치 1에서 모터에 필요한 반사 중력 보상 토크는 위치 2에서와 상당히 다르다.

 

 
 



이론적으로 로봇, 부하 및 모션 프로파일에 대한 충분한 정보가 있으면 이러한 힘을 보상할 수 있다. 운동학적 변환 및 토크 보상 기술과 같은 로봇 관절을 위한 모션 컨트롤러에서 이를 사용할 수 있다.


성능을 동적으로 관찰하여 부하가 무엇인지 또는 시간이 지남에 따라 노화되는 기계 구성 요소에서 마찰이 어떻게 변하는지 유추하는 '관찰자(obsever)'를 구축하는 기술을 적용할 수도 있다. 일반적으로 범용 모션 컨트롤러에서는 이러한 기술을 제공하지 않는다.



컴플라이언스


지금까지 상수, 속도 비례 및 가속도 비례의 피드포워드를 살펴보았다. 이러한 방식은 움직일 때와 움직이지 않을 때 모두 부하가 힘을 다시 모터로 반사하여 위치 제어 루프에 영향을 미치는 방식이다.


그러나 기계에 대한 추가 피드포워드 체계의 다양한 클래스가 있다. 즉, 기어, 베어링, 연결 장치 및 기타 인라인 메커니즘이다. 이 내부 세계에서 피드포워드에 대한 사용자의 목표는 역학 마찰이 없고 뻣뻣한 현상을 해결하는 것이다. 보상하려는 첫 번째 요소는 규정 컴플라이언스다. 규정 컴플라이언스는 기계적 연결 장치, 기어 및 벨트가 뻣뻣하지 않는다는 개념을 반영한 용어이다. 따라서 컴플라이언스를 위한 피드포워드는 유연한 암 연결, 기어헤드 또는 고무 댐퍼와 같이 호환되는 구성 요소를 보상하는지 여부에 따라 다른 형태를 취할 수 있다.


규정 컴플라이언스의 원인이 무엇이든 목표는 같다. 특정 작동 조건에서 시스템이 어떻게 작동하는지에 대해 알고 있는 것을 사용하여 실제 부하의 동적 서보 추적이 개선되도록 제어 루프 계산을 보상하는 것이다. 이 설명을 위해 탄성 중합체로 규정 컴플라이언스를 모델링한다. 그림 6은 간단한 선형 액추에이터에서 이러한 요소를 개략적으로 보여주고 있다.


이 선형 액추에이터에 대해 우리가 알 수 있는 것은 엘라스토머가 경험하는 토크에 대한 엘라스토머의 편향(압축되거나 늘어나는 정도)에 미치는 영향이다. 이 관계는 그림 7에 나와 있다. 이 곡선은 전체 형태의 거의 모든 순응 요소를 나타낸다. 낮은 토크에서 곡선은 평평하며, 이는 주어진 토크 증가에 대해 위치 편향이 크다는 것을 의미한다. 그러나 토크가 증가함에 따라 곡선은 가파르며, 이는 주어진 토크 증가에 대해 편향이 작다는 것을 의미한다.

 

 
 



피드포워드


목표는 이 편향 곡선을 특성화한 다음, 축에 대해 예상되는 가속 및 부하 범위에 대해 보상 신호를 전달하는 피드포워드를 생성하는 것이다. 그림 7은 위에서 설명한 것과 같이 피드포워드를 취소하는 컴플라이언스에 사용되는 업데이트된 PID 루프다.


이전 루프에서 두 가지 주요 변경 사항이 있다. 첫 번째는 토크 피드포워드 값이 아니라 명령 위치 피드포워드 값을 전달한다는 것이다. 둘째, 토크 피드포워드 값이 PID 루프 이후가 아니라 이전에 전달한다는 점이다.


따라서, 접근 방식은 컴플라이언스 요소가 토크를 추정하고 이를 편향으로 변환한 다음 명령 위치에 추가하는 것이다. 이러한 테이블에 대한 항목의 예는 그림 9에 나와 있다. 모든 것이 계획대로 작동하는 경우 변경된 위치는 정확히 오프셋 되고 하중의 끝 위치도 완벽하다.


대부분의 경우 예상 토크에서 편향으로의 변환은 테이블 조회를 통해 수행된다. 이는 이 곡선의 형태가 간단한 방정식으로 쉽게 표현되는 경우가 드물기 때문이다. 따라서 룩업 테이블은 가장 유연하고 편리한 접근 방식으로 점 사이의 선형으로 25~100개의 위치를 인코딩할 수 있다.



추정 방법


마지막 질문은 컨트롤러 내에서 엘라스토머가 경험하는 토크에 대한 추정치를 추출하는 위치이다. 더욱 명확하고 확실히 구현하기 위한 간단한 접근 방식은 프로필 생성기를 사용하는 것이다. 시스템에서 엘라스토머의 토크는 프로파일 생성기 값이 가속도에 비례한다.


토크가 얼마인지 추정하는 또 다른 방법이 있다. 즉, 서보 루프의 명령 출력 값을 보는 것이다. 토크 루프가 활성화될 때 PID 위치의 명령은 모터에서 요청한 토크를 나타낸다. 이 접근 방식을 선호되고 있으며 그 이유는 무엇일까? 이유는 서보 루프가 축에서 실제로 일어나는 일을 기반으로 명령을 출력하는 반면 프로파일 생성기는 이론적인 값을 나타내기 때문이다.


예를 들어, 축에 가해지는 하중의 무게가 컴플라이언스 하중에 대한 토크를 계산하는 데 사용되는 무게와 다른 경우 피드포워드 값이 올바르지 않다. 서보 루프의 출력은 이것을 자동으로 처리한다. 부하가 더 무거우면 프로파일을 추적하는 데 더 큰 토크가 필요하기 때문에 모터 명령이 더 커질 것이다. 여기서 축 하중의 추정은 필요하지 않다. 그러나 PID 루프의 토크 명령을 피드포워드 용어로 사용하면 동적 서보 가 불안정해진 한다는 큰 단점이 있다. 이 때문에 궁극적으로 이 기술은 자주 사용되지 않는다. 이 경우 모터 명령은 토크 추정으로 사용되기 전에 필터링 된다.


  규정 컴플라이언스를 보상하기 위한 노력은 모션 시스템의 정확도에서 중요하다. 여기에는 다양한 애플리케이션과 함께 로봇 팔 및 공작 기계 장비도 포함된다. 모션의 끝 정확도만 중요한 애플리케이션에서는 컴플라이언스 보상이 거의 없다. 이는 모션이 끝날 때 축이 정지된 상태에서 동적 토크와 이에 따른 컴플라이언스 기반 위치 오류가 거의 0 으로 감소하기 때문이다.



스틱션(stiction)


내부 오류 현상의 또 다른 중요한 유형은 시작 마찰이라고도 하는 스틱션이다. 스틱션은 모션을 시작하기 위해 분리력이 필요한 축의 경향이다. 사용되는 베어링 및 액추에이터의 특성에 따라 녹, 먼지, 화학적 접착, 반 데르 발스 힘(Van der Waals forces) 및 정지 상태일 때 접촉하는 물체 사이에서 발생하는 미세한 접착 요소가 있다.


이러한 것은 시간이 지남에 따라 습도 또는 온도와 같은 환경에 따라 변할 수 있기때문에 점착에 대한 보상 체계를 개발하는 것이 까다롭다. 그럼에도 불구하고 대부분의 스틱션 보상 방식은 토크 명령에 주입된 임펄스 함수로 구성된 간단한 피드포워드 방식을 사용한다. 즉, 정지 축이 모션을 시작하려고 할 때 잠시 펄스를 가한다. 이러한 기능은 그림 10에 나와 있다.


이 임펄스 기능을 조정할 때는 주의해서 수행해야 한다. 너무 많은 힘을 가하면 축이 불필요하게 흔들려 축 역학에 진동을 유발하는 반면, 힘이 충분하지 않으면 축이 움직이지 않아 서보가 멈춤 현상을 극복할 때까지 시간 지연이 발생한다. 스틱션을 수정하려는 대부분의 엔지니어는 시행착오 방식으로 충격력의 강도와 지속 시간을 조정한다.


디더링(diethering)으로 알려진 스틱션 수정에 성공적으로 사용된 기술이 있다. 이 기술은 직접 주입 피드포워드를 사용한다. 토크 명령에 직접 공급되는 것은 양극성 노이즈 신호이다. 노이즈를 도입함으로써 축이 안착하는 것을 허용하지 않고, 축은 노이즈 신호로 인해 대상 위치를 중심으로 디더링된다. 디더링은 가청 노이즈를 발생시키고 모터에 원치 않는 진동을 유발하기 때문에 널리 사용되지 않는다. 그러나 전자 유압식 밸브 컨트롤러와 같은 일부 특수 모터 드라이브에서는 사용되는 기술이다.

 

 
 



모션


다음은 모터 자체에서 발생하는 위치 왜곡을 수정하는 방식을 살펴본다. 모터의 토크 또는 위치 출력을 수정하려는 이유는 회전식이든 선형이든 모터가 전류 흐름을 기계적 토크로 완벽하게 변환하지 못하기 때문이다. 토크 출력 '범프니스(bumpiness)'의 원인에는 여러 가지가 있으며, 이 요철이 기계 메커니즘에 주입되어 PID 보정기의 작업을 어렵게 만든다.


위치 정확도가 가장 중요한 스텝 모터의 경우 코일을 통해 동일한 움직임 증분을 생성하지 않는다. 이는 회전자 및 고정자 모양의 복잡성과 토크를 생성하는 B-장(자기장)과 관련이 있다. 서보 모터의 비선형 토크 출력 또는 스텝 모터의 비선형 위치 증분을 수정하기 위한 보상 체계는 이미 논의된 것과 동일한 접근 방식을 따른다. 출력을 선형화하기 위해 모터에 대해 미리 알고 있는 수정 계획을 적용한다.


이전 방식과 달리 방정식은 수정하는 데 거의 사용되지 않는다. 대신 룩업 테이블은 몇 번의 회전과 몇 가지 모터의 평균을 기반으로 보정 값을 기록한다. 하나의 완전한 전기적 주기를 통해 모터의 토크 프로파일을 매핑함으로써 멈춤쇠(counteract detents) 및 기타 결함에 대응할 수 있는 보상 모터 명령(피드포워드)을 개발할 수 있다. 이에 대한 입력은 인코더에서 제공하는 회전자이다. 예를 들어 그림 11은 PMD 연구실의 브러시리스 DC 모터에 대해 구성된 보정 테이블이다. 알고리즘적으로 테이블의 값은 토크 루프로 보내기 전에 PID 루프에서 토크 명령의 크기를 조정한다.


이러한 토크 테이블 값 생성을 위해, 모터 샤프트의 레버 막대 끝에 있는 구성요소 등 여러 가지 방법을 사용할 수 있다. 주어진 토크 명령에 대해 모터가 회전함에 따라 저울은 모터를 유지하는 데 필요한 실제 힘을 기록한다. 이 방식은 무게가 매달린 끈을 레버 막대에 부착하는 것으로 변형할 수 있다. 추는 모터에 고정 토크를 적용한 다음 작은 고정 증분으로 모터에서 실제로 생성된 토크가 순 회전력을 발생시키지 않을 때까지 명령 출력이 조정된다.


위의 보상 체계는 단일 토크 비례 조정이 토크 출력을 완전히 선형화 한다고 가정한다. 그러나 특히 멈춤쇠가 있는 브러시리스 DC 모터의 경우 순 토크 출력은 고정된 비-토크-비례 기능과 토크 비례 기능의 조합이다. 이러한 시스템을 보상하기 위해 회전 각도와 토크 명령 모두의 함수로 기록하는 2차원 테이블이 사용될 수 있다.


위의 방식은 브러시리스 DC 또는 DC 브러시 모터의 토크 선형화에 적용된다. 고해상도 방식을 사용하는 스텝 모터는 유사한 기술로 위치 조정의 부드러움과 정확도를 향상시킬 수 있다. 그러나 토크 보상 테이블 대신 마이크로스테핑 sin/cos 룩업 테이블을 사용한다. 특히 부드러운 움직임이 중요한 기타 애플리케이션의 경우 sin/cos 마이크로스테핑 테이블을 사전 보정하면 움직임의 부드러움에서 매우 의미 있는 개선을 얻을 수 있다. 또한 마이크로스테핑 컨트롤러의 룩업 테이블 값을 변경하는 것뿐이므로 부하가 증가하지 않는다.



듀얼 루프(dual loop)


지금까지 모터 제어 루프에 적용된 보상 체계에 초점을 맞추어 부하 및 안정성을 개선했다. 그러나 이와 완전히 다른 제어 기술이 있다. 이 방법은 제어되는 축당 두 개의 인코더를 사용하기 때문에 소위 듀얼 루프(이중 루프)라고 한다. 하나는 모터에, 하나는 부하에 인코더가 있다.


정밀 유체 처리(실험실 자동화 역학 최적화를 위한)의 이중 루프 제어는 특수 서보 필터를 사용하여 모터 명령을 생성한다. 오늘날 다양한 이중 루프 제어 방식이 있지만 대부분은 안정화를 위해 모터 인코더를 사용하고 위치 제어를 위해 부하 인코더를 사용한다.


이중 루프를 항상 사용하지 않는 데는, 축당 인코더 1대에 비해 2대의 추가 비용이 들기 때문이다. 그러나 더 큰 문제는 하중 추적이 이론상으로는 위치를 측정하지만 실제로는 거의 그렇지 않는다는 것이다. 가장 큰 문제는 기계적 연결부에 부재가 있는 경우 서보 루프 안정성을 유지하기 어렵다는 것이다. 이것은 이 듀얼 인코더 방식에서 위치 측정 인코더와 모터 사이에 큰 위상 지연이 있기 때문이다.



요약


피드포워드를 사용하여 성능을 개선할 수 있는 다양한 내부 및 외부 기계 역학이 있다. 이들 중 가장 간단한 것은 정적, 속도 및 가속도 비례 보상이다. 마지막으로 인코더를 사용하여 BLDC 모터가 회전할 때 토크 출력을 선형화하고 스텝 모터의 부드러움과 선형성을 향상시킬 수 있다.


이러한 모든 기술은 기계의 성능을 향상시킬 수 있지만 완벽한 보상을 제공하는 경우는 거의 없다. 이는 실제 각 기계와 모터의 동작이 약간씩 다르기 때문이다.

 



자료 제공: pmd(www.pmdcorp.com)

주요기사

먼저 비밀번호를 입력하여 주세요.

창닫기확인