본문 바로가기

Theory/ControlTheory

델타형 병렬 로봇의 역기구학을 단순 기하학적으로 손쉽게 해석해보기

세상에는 참 재미있는 일도 많고 하고 싶은 일도 많습니다. 최근 저는 기구학을 다시 학습하게 되었는데요. 사실 기구학이 참 많이 쓰이는데 희한하게 저는 그렇게 많이 만나지는 못했네요. 이제 마구마구 만날듯한데 워밍업 해야죠^^. 예전에 3D 프린터 이야기를 하면서 델타형 로봇에 대한 이야기도 한 줄(^^)로 소개한 적이 있죠.^^.

3DR RepRap Delta Robot

위 그림은 3DR RepRap Delta robot인데요. 저게 델타형 로봇의 자작 프로젝트의 결과물로 인터넷에 꽤 많이 알려진 작품입니다. [바로가기]에 가시면 다른 3D 프린터가 있다면 도면을 다운받아서 고대로 한번 만들어 볼 수 있는 제품이지요. 꽤 흥미롭습니다.^^. 저렇게 생긴 기구부는 어떻게 해석할까요. 기구학적으로 말이죠. 궁금했습니다. 그런데, 꽤 멋있는 블로그를 또 하나 찾았는데요. 거기에 저 기구학을 정~~~말 쉽게 해석했더라구요. [바로가기]에서 확인하시면 됩니다. 이 이후 글은 모두 그 글을 그냥 해석하는 것 뿐입니다. 그냥 따라하기~~라는 이야기죠^^

델타봇의 전체 개념도

간략하게 위 그림으로 표현할 수 있습니다. 델타봇은 Carriage가 상하로 움직여서 End Effector의 좌표를 변경한는 건데요. 이번 해석의 목표는 이동해야할 End Effector의 좌표를 안다면 세 개의 Carriage를 얼마나 이동해야할까입니다.

End Effector

End Effector만 확대해서 보았을때, 세 개의 Carriage에서 나온 봉이 결합되는 지점을 Pivot이라고 하구요. 세 개의 Pivot은 모두 120도 간격으로 고정되어 있다고 봅니다. 그래서 End Effector의 가운데 지점이 Tool End Point가 되는 거죠. 그 부분을 조금 다른 각도에서 보면

Side View

Side View를 보면 Tool이 End Effector보다 약간 내려와 있겠죠. 실제로는 그 지점을 Tool End Point라고 보는 겁니다. 그럼 목표는 아까 이야기했지만, Tool End Point의 다음 이동 좌표가 주어지면 Carriage 세 개를 얼마나 이동시켜야하는가??로 또 표현할 수 있네요.

이렇게 말이죠. 그런데, 실제는 Carriage 세 개의 전체 좌표가 필요한 것이 아닙니다. 서로 평행한 세 개의 기둥에 Carriage가 있는 거기 때문에 실제로는 Carriage의 높이 좌표- 즉, z축 좌표만 알면 되는거죠^^. 위에서는 a2z, b2z, c2z가 됩니다.

이제 위 Side View 그림에서 보면, Carriage A의 z축 좌표는 툴의 길이와 주어진 툴의 높이(tz)에 그림에서 ha라고 표현된 길이를 알면 결정됩니다. 그건 Carriage B와 C 모두 그러하죠. 이제 ha, hb, hc를 알아야 하는걸로 또 바뀌었네요^^

이제 Side View에서 간단히 피타고라스의 정리에 의해 각 봉의 길이는 모두 l로 동일하다면 위와 같이 알 수 있게 되겠네요. 그럼다시... 

로 표현 가능하네요. 이제 그럼 다시~~~ aa, ab, ac를 알아야하는 문제로 ~~~ 바뀌네요. ㅎㅎ

음 Carriage A의 좌표는 a2~~로 넘버링을 했고, Pivot A의 좌표는 a1~~으로 넘버링을 했습니다. 아무튼, Carriage A, B, C의 좌표와 Pivot A, B, C의 좌표를 모두 안다면 aa, ab, ac모두 위 수식처럼 피타고라스의 정리로 또 간편히 알 수 있습니다. 두 좌표를 알때 각 변의 길이 구하기는 고1 정규과정에 있는 걸로 알고 있어요~~

이제 그걸 다시 대입하면 위 와 같이 수식이 정리 되네요~~^^. ㅎㅎ. 그런데.. 또 문제가 있습니다. 도대체, Carriage와 Pivot.. 총 6개의 좌표는 어떻게 알 수 있냐는 거죠^^.

그건 위 그림과 같습니다. Carriage A, B, C로 이루어진 맨 밑의 삼각형은 정삼각형이라는 가정이 있습니다. 그리고 좌표 원점은 그 밑바닥 삼각형의 무게중심(=내심, 외심 등등)에 있구요. 꼭지점에서 각도의 수직이등분선들의 만나는 점들이기도 하고, 그 길의 2/3지점이기도 하죠. 그 2/3길이가 sp입니다. 그리고 120도 간격으로 되어 있으니 위 좌표를 모두 대입하면 이제 정말 알고 싶었던 Carriage A, B, C의 좌표를 알게 되는거죠^^ 

사실~ 델타봇의 역기구학 자체가 너무 쉽습니다. 알고 봤더니.. 순기구학이 더 어려운 과정을 거치더군요.ㅠㅠ. 뭐 아무튼 쉬운 형태다 보니 쉽게 해석도 되고, 또 누군가 정말 잘 정리해주어서 이렇게 따라하기도 가능하네요^^

반응형