• 검색 결과가 없습니다.

D-H 규약을 통한 기구학 해석

로봇의 기구학을 해석하기 위해서는 각 링크의 좌표계를 체계적으로 선택할 수 있어 야 한다. 그래서 기구학에서 사용하는 동차변환(homogeneous transform)을 이용하면 간편하다. 로봇의 각 관절에 각도가 주어 졌을 때 말단장치의 위치와 방향을 결정하기 위한 이족보행로봇의 순기구학 방정식은 보편적으로 많이 사용하는 좌표계 선정방법이 Denavit-Hartenberg 규약 또는 D-H 규약이다.

좌표계 설정시 Denavit-Hartenberg 규약은 다음과 같다.

(D-H 1)

x

1 축은

z

0 축과 수직이다.

(D-H 2)

x

1 축은

z

0 축과 만난다.

D-H 규약은 4개의 기본 변환 행렬의 곱으로 각 관절의 동차 변환 행렬 다음과 같이

A

i로 표현한다.

÷÷

① 링크 1 : Z0축과 Z1축의 공통법선이면서 Z1축과 만나는 점을 01으로 선정하Z0축과 Z1축의 공통법선이면서 영점 01를 지나는 직선을 X1로 선정

② 링크 2 : Z1축과 Z2축이 만나는 점을 02으로 선정하고 Z1-Z2평면에 수직한 직선을 X2로 선정

③ 링크 3 : Z2축과 Z3축이 만나는 점을 03으로 선정하고 Z2-Z3평면에 수직 한 직선을 X3으로 선정

④ 링크 4 : Z3축과 Z4축의 공통법선이면서 Z4축과 만나는 점을 04으로 선정 하고 Z3축과 Z4축의 공통법선이면서 영점 04를 지나는 직선을 X4로 선정

⑤ 링크 5 : Z4축과 Z5축의 공통법선이면서 Z5축과 만나는 점을 05으로 선정 하고 Z4축과 Z5축의 공통법선이면서 영점 05를 지나는 직선을 X5로 선정

⑥ 링크 6 : Z5축과 Z6축이 만나는 점을 06으로 선정하고 Z5-Z6평면에 수직 한 직선을 X6으로 선정

4. 말단 좌표계 설정(Link-7)

X6축을 따라서 바닥과 만나는 점을 영점 07선정하여 X7 Y7 Z7축은 링크 6과 동일하게 선정하였다.

Fig. 3.1 D-H coordinates for KUBIR 4

좌표계 설정을 바탕으로 ai,

a

i, di,

q

i 의 파라미터는 다음과 같은 방법으로 구하 여 결과값은 Table 3.1와 같다.

1. ai = Xi축을 따라서, 0i에서 Xi축과 Zi-1축의 교점까지의 거리

2. di = Zi-1축을 따라서, 0i-1에서 Xi축과 Zi-1축의 교점까지의 거리

(여기서 관절 i가 직선관절이면 di는 변수가 되지만 본 로봇에서는 회전 관절만 구성 되어 있다.)

3.

a

i = Xi축을 중심으로 측정된 Zi-1에서 Zi 사이의 각도

4.

q

i = Zi-1축을 중심으로 측정된 Xi-1에서 Xi 사이의 각도

(여기서 로봇의 관절은 회전 관절로 구성되어 있으므로

q

1을 제외하고 모두 변수 이다.)

Table 3.1 Link parameter for KUBIR 4

÷÷

Fig. 3.2 Mathcad example of calculating the end position

제 4 장 중력보상기 적용한 이족보행로봇의 제어시스템 구성

로봇을 제어하기 위해서는 로봇에 맞는 제어시스템이 필요하다. 본 연구에서는 KUBIR 4를 구동하기 위한 요소만으로 제어시스템을 구성하였다. 로봇에 적용한 중력 보상기의 성능을 평가하기 위해 전류 측정이 가능한 모터 모션 컨트롤러을 새롭게 개 발하였으며, 로봇의 모션을 구성하고 관절에 걸리는 부하를 알 수 있는 전류량을 실시 간으로 그래프로 표시가 가능한 로봇 모션 프로그램을 개발하였다.

4.1 전체 시스템 구성

KUBIR 4을 제어 하기 위한 전체 시스템 구성은 Fig. 4.1과 같으며, 호스트 PC의 로 봇 모션 프로그램, 마스터 컨트롤러와 각각의 모터 모션 컨트롤러로 구성되어 로봇을 구동한다. KUBIR 4의 전원은 DC 24V의 단일 전원으로 구성하였다.

Fig. 4.1 Overall control system of KUBIR 4

로봇의 모션 제어는 중앙 모션 제어가 아닌 분산 모션 제어 방식으로 하였다. 호스 트 PC의 로봇 모션 프로그램에서 로봇의 모션에 대한 데이터를 블루투스(bluetooth) 무선 통신을 통해 마스터 컨트롤러에 보내고, 마스터는 CAN 네트워크를 통하여 각각 의 모터 모션 컨트롤러에 데이터를 보낸다. 모션 데이터를 받은 모션 컨트롤러는 각 모터의 모션을 제어함으로써 로봇이 동작하게 된다.

호스트 PC는 본 연구에서 개발한 로봇 모션 프로그램 동작하기 위한 것이다. 실시간 으로 전류 그래프를 표시가 가능하며 이를 위해서는 고사양의 컴퓨터가 요구된다. 로 봇 모션 프로그램은 마스터 컨트롤러 양방향 통신을 하여 로봇의 동작 모션 데이터 및 각종 기능 명령을 보내고 마스터 컨트롤러에 보내고, 마스터 컨트롤러로부터 실시간으 로 전류 데이터를 받아 전류 그래프를 표시하며 모션 컨트롤러 정보 및 에러에 대한 정보를 받아 메시지를 표시한다.

마스터 컨트롤러의 실질적인 역할은 호스트 PC의 로봇 모션 프로그램으로부터 받은 로봇 모션 정보를 받아 현재 로봇의 상황에 맞는 모션으로 변환하여 각각의 모션 컨트 롤러에 데이터를 보내는 역할을 해야 한다. 하지만 본 연구에서는 로봇의 센서시스템 이 없이 구성한 관계로 마스터 컨트롤러는 각각의 모션 컨트롤러에 모션 데이터 전송 하고 전류 데이터 및 기타 정보에 대한 정보를 수신하고, 이를 로봇 모션 컨트롤러에 전송하는 중계기 역할을 한다.

모터 모션 컨트롤러는 Ti사의 TMS320F2812 모터 제어용 프로세서를 기반으로 한 제어 컨트롤러와 500W급 모터 드라이버로 구성되어 총 두 개의 DC 서보모터(servo motor)의 모션 제어를 한다. 또한 모터 드라이버에 전류 센서를 내장하여 모터의 전류 측정 및 제한을 한다. 제어 알고리즘은 PID와 사다리꼴 속도 프로파일의 경로 궤적 방 식을 사용한다.

관련 문서