[DIY] 헬박사 Robot이야기[5] : - 정방향 기구학 (forward kinematics)
로봇을 배우는 학교 공부에서 빼놓지않고 배우는 과정에 선형대수학을 이용한 로봇 의 정방향 기구학(forward kinematics)과 역방향 기구학 (Inverse Kinematics)가 있답니다. 이 두가지를 배우려면 선형대수학 (매트릭스 연산을 배워야 하고 Matrix를 다르는 소프트웨어인 Matlab( 저는 Peter M Thompson교수가 만든 Program CC를 사용합니다) 을 사용해서 계산을 해보거나 모의실험 (Simulation)을 할 수 있습니다.
그런데 실제로 지난번에 이야기를 드렸듯, 역 기구학의 값을 구하면 적어도 해가 2개 (정답이 2개 이상은 해(解)라고 표현 합니다.)이상이 있어서 초보자들은 구하기가 어렵습니다.
그래서 로봇의 역 기구학 풀이 방법에 엄청 많은 논문이 있답니다.
우리는 고등학교 수준의 수학으로 로봇의 각도를 계산하는 방법을 생각 하기로 합시다.
일단 우리 로봇의 크기를 알려 드립니다. (대충 잰 거라서 오차가 있을 수 있습니다.)
그리고 계산프로그램을 이용합니다.
일단 저는 MathCAD란 소프트웨어를 사용하였습니다.
많이 사용하는 (엄청비산) Matlab도 아주 오래전에 구입한게 가지고 있지만
(1) Linux용
(2) 학교용
(3) Sun Microsystem인 워크스테이션용
이라 소용 없습니다.
(솔직하게 작업장 어디에 파묻혀 있는지도 모릅니다)
MatCAD가 현재 PTC라는 업체로 팔려서 지금은 화면이나 디스플레이가 엄청 개선 되었지만, 제것은 예전의 “Parametric Technology Co.”에서 구입한 것으로 쓰는 구형이라 신형의 Mathcad에 비하여 영 볼품이 없는 형태로 출력 됩니다. 일단 계산결과는 잘 나옮니다
순서는
(1) 모터의 크기와 모형을 모델링 합니다.
수학의 세계에서 다룰 수 있도록 간단한 형태로 표시 될 예정입니다.
팔의 크기와 각도등...
(2) 각 팔의 회전각이 지정될때 팔의 매 끝 지점 End Effect의 위치를 X, Y, Z를 구합니다.
정방향 기구학(forward kinematics)
== 오늘은 여기까지 할 예정입니다 ==
(3) 거꾸로 X, Y, Z 가 입력되면 각 팔의 모터의 각도가 정해지도록 수식을 구합니다.
역방향 기구학(inverse kinematics)
이 정도면 로봇암의 수학은 다 ‘정복했다’라고 생각하시면 됩니다.
오늘은 정역학의 모형을 보여 드립니다.
모형은
입니다.
이렇게 하니 간단하게 표시되고 각도도 표시되죠?
일단 위의 그림의 팔의 길이와 각도를 이용하여
로봇암의 맨 끝의 위치를 구하여 봅시다.
일단 팔의관절의 크기와 각 관절의각도값을 정하면..
(기붕부터 0,1,2라고 번호를 붙여 봅시다. )
그리고 계산식은
그러면 각 x, y, z는 202.443, 116.881, 32.813이 계산됩니다.
이로서 이제 각 모터의 각도만 주어지면 로봇팔의 끝의
X,Y,X 위치가 주어지는 수식을 구하였습니다.
여기에서 원점은 로봇의 1번째 축의 중심정의 바닥으로 잡았습니다.
다음은 역 기구학..
신난다..