하드웨어 부품 표 & 파일 공유

공유파일 다운로드

0. 전체 부품 표

파란 색 부품은 모두 3d printer 를 이용해서 출력합니다.
녹색 부품은 기성품입니다. 구매하시면 되겠습니다.

가격을 계산해 보면, 3d 프린팅 재료비를 제외하고서라도, 98만원 정도 필요합니다. 게다가 AX12는 벌크팩으로 6개들이 한 묶음으로 구매했을 때를 가정해서 저런 가격이 나왔습니다. 그래서 다음 버전은 좀 더 저렴한 재료로 누구나 이용 가능하도록 로봇을 만들어야겠다고 생각이 듭니다. * 머리 구동용 모터는 AX12W 를 사용했습니다.

 

1. 머리

머리 부품은 단 1개 뿐입니다. 3d 프린터에 바로 돌리면 됩니다.

2. 몸체

 

3. 팔

4. 다리

다리는 아주 약간 특이합니다. 파란색 테두리가 있는 부품은 2axis_assembly, 2axis_assembly_MIR 입니다. 각각은 부품들의 조합으로 구성되어 있는데요, 부품은 똑같은 부품을 쓰지만 조립 방향만 다릅니다. 이 조립품은 다음 부품들을 포함하고 있습니다.

 

가장 위 표 대로 부품의 수 만큼 출력을 하면 됩니다. 출력 파일은 따로 공유 드리겠습니다.

Motion Teaching 방식에 대해서

매우 오랜 기간동안 소형 휴머노이드 로봇을 다뤄 오면서 느낀점을 살짝 적어볼까 한다.

소형 휴머노이드 로봇을 제작할 때 들어가는 모터는 약 22개 정도 소요 된다. 상황에 따라서 몇 개는 추가 되고 몇 개는 없어지기도 하는데, 이 모든 모터들을 정확한 시간에 정확한 위치에 두게 하는 방법은 다양하다.

먼저 하드코딩을 할 수 있다. 하드코딩이란, 다양한 해석이 있겠지만, 적어도 여기서 말하는 하드코딩은 모든 좌표를 일일이 수기로 코드나 파일에 한 땀 한 땀 기입하는 것을 뜻한다. 현재 시간에 몇 번째 모터는 어디에 가라는 것을 코드에 박는다는게 말로는 쉬울 수 있으나 그 것을 행동으로 하기에는 너무나 큰 시간 소요가 들어간다. 차라리 그 시간에 다양한 기법을 공부해서 프로그램을 하나 짜는 것이 더 이득일 수 있다.

두 번째로, 어떠한 framework 을 만들 수 있다. 이를테면, 전체 모터의 힘을 모두 풀어준 상태에서 사용자가 어떠한 동작을 수작업을 통해서 직접 만들어 주고, 그 상태를 모터의 엔코더나 포텐셜미터(위치를 파악하는 장치 혹은 센서)를 사용해서 읽어들이며, 그 좌표의 집합을 어떠한 시간에 정렬하는 것이다. 말로 설명하기는 어려우니 그림으로 설명하는 것이 좋겠다. 이렇게 입력된 하나의 집합은 특정 시간에 그 프레임 집합을 play 함으로써 자세를 복원할 수 있다. 가장 흔하게 사용되는 방식으로써, 이 방식은 휴머노이드 대회에 참가하는 다양한 팀이 사용했던 방법이다.

세 번째로, 계산을 통한 모션 play 방식이다. 로봇은 대부분 관절 로봇이며, 그 관절은 가변하지 않고 설사 가변하더라도 그 길이와 각도를 계산하면 끝 점의 위치를 알 수 있다. 또한, 원하는 끝 점을 주면 중간 관절 값을 얻을 수 있도록 계산할 수 있고, 그 것을 관절에 써 주기만 하면 관절을 움직이고, 자신이 원하는 포즈를 취할 수 있다. 포즈 뿐만이 아니라 관절의 궤적을 제어할 수 있는 것이다. 이렇게 계산을 통한 모션 플레이 방식은 특히 보행에서 많이 쓰인다. 휴머노이드 보행은 관절 끝 점의 궤적을 다양하게 제어해 주고, 무게중심의 쏠림을 센싱하고, 다시 그 것을 보행에 적용하는 일련의 과정이 필요한데, 이 것을 적용하기 위해서 계산하는 중간에 외부 변수를 추가해 줌으로써 아주 간단하게 (생각보다 복잡하지만 두 번째 방법보다는 간단) 구현할 수 있다. 하지만 이러한 방법은 퍼포먼스 수행에는 다소 어려울 수 있다. 사람의 몸짓을 계산을 통해서 표현한다는 것은 당연히 힘들다. 이럴 때 사용하는 것이 모션캡쳐다.

네 번째로, 위에서 언급한 것 처럼 모션 캡쳐 방식을 사용하는 것이다. 보행처럼 계산이 들어가는 그런 모션이 아닌 일반적인 사람의 행동이나 춤 등을 로봇에 입력하기 위해서 두 번째 방법을 사용한다면 어떻게 될까? 입력해야 할 값이 너무나 많아서 하다 보면 싫증과 회의가 느껴질 수 있는 그런 작업이 될 것이다. 이러한 문제를 해결하기 위해서 모션캡쳐 방식을 사용할 수 있다. 사람의 신체에 일련의 센서를 장착하고 그 센서를 정해진 시간 주기마다 읽어서 로봇에게 적용을 해 주는 것이다. 원래 모션 캡쳐는 가상 현실 애니메이션에서 캐릭터의 행동을 입력하기 위해서 사용하는 기법이었으나, 로봇도 똑같이 적용할 수 있다. 또한 모션 캡쳐를 사람 몸에만 적용하는 것이 아니라 로봇 몸체 자체의 센서를 이용해서 할 수도 있다. 소형 휴머노이드 로봇의 퍼포먼스 모션을 제작하기 위해서 사용할 수 있다. 마치 녹화나 녹음을 한다는 생각으로 로봇의 팔을 잡고 춤을 추게 만드는 것이다. 흡사 인형을 가지고 춤을 추게 하는 것과 비슷할 것이다.

광운로봇게임단 시절, 두 번째 방법으로 인기 댄스가수의 댄스를 입력했었던 적이 있다. 지금도 이러한 방식으로 많이 댄스를 짜는데, 이 것은 매우 많은 노력이 필요하다. 즉, 노가다인 것이다. 숭고한 노가다의 시간과 노력에 비해서 퍼포먼스가 그렇게 잘 나오지는 않는다. 모든 동작은 한 프레임 프레임으로 쪼개져 있고, 그 것을 일일이 입력을 해 주며, 그 입력된 것과 노래의 시간을 맞추는 일은 정말 고역이 아닐 수 없다. 스탑 모션 애니메이션 같은 것이다. 이러한 노력을 줄여줄 수 있는 방법이 바로 네 번째 모션 캡쳐 방식이다. 아쉽지만 지금 모션 캡쳐 방식을 보유하고 있지는 않고, 국내 소형 휴머노이드 팀에서도 역시 그런 방식은 없는 듯 하다.

그래서 그러한 방식으로 로봇의 동작을 입력하는 소프트웨어 프레임워크를 만들까 한다. 초당 약 20번 이상의 frame 을 캡쳐 하도록 하고, 그 것들을 따로 파일에 저장하며, 시간에 맞춰서 그 것을 다시 재생하는 것을 쉽게 할 수 있도록 할 것이다. 얼마나 시간이 걸릴지는 모르겠지만, 그리고 어떠한 언어로, 어떠한 것으로 짜야 할 지 감은 오지 않지만 창의 과제를 수행하는 기분으로 진행할 것이다.

내가 필요해서 만드는 소프트웨어. 시작해야겠다.

3d 프린터로 만드는 휴머노이드 로봇

 

구분 내용 비고 구매 URL
프레임 모두 3d printer 로출력
모터 Robotis 사 AX12 21개 http://www.robotis-shop-kr.com/?act=shop.goods_view&GS=738&GC=GD0100
제어 보드 Robotis 사 CM530 1개 http://www.robotis-shop-kr.com/?act=shop.goods_view&GS=827&GC=GD010202
통신보드 ZIG-110A set 1개 http://www.robotis-shop-kr.com/?act=shop.goods_view&GS=405&GC=GD010203
배선 3pin 케이블 http://www.robotis-shop-kr.com/?act=shop.goods_list&GC=GD01020A
배터리 리튬폴리머전지11.1v 1000mAa 1개 http://www.robotis-shop-kr.com/?act=shop.goods_view&GS=307&GC=GD01020B
볼트 2mm * (길이 8mm, 10mm), 3mm (길이 10mm) 렌치 볼트 추천 http://www.robotis-shop-kr.com/?act=shop.goods_list&GC=GD010209
너트 2mm, 3mm

3d printer 구매

3d printer 구매

새로운 로봇 개발을 위해서, 3d printer 를 구매하기로 결정했다. 지금까지 판금, 절곡으로 프레임을 제작했었는데, 어린 아이들이 그렇게 개발하는 것은 거의 불가능이라고 생각했다.

가격대 성능비

어떤 프린터가 있는지 찾아봤다. 저가형 브랜드라고 하더라도 50만원 미만으로 구매하는 것은 거의 불가능 해 보였다. prusa 라는 오픈소스형 프린터가 아주 좋은 가격대 성능비를 낸다고 한다. 하지만 조립을 처음부터 끝까지 해야 하기 때문에 어느 정도 시간이 많이 소모될 것이다. 당장 빠르게 설계를 출력하는 것이 급선무였기 때문에 완제품을 사기로 결심했다. 인터넷을 뒤져 보던 중 SCV 라는 printer 를 찾았다. 40만원 정도의 가격에 금속 프레임은 SCV 밖에 없었다.

http://cafe.naver.com/scv3d

인천으로 찾아가서 프린터를 사오다


실제로 인천으로 찾아가서 구매했다. 배송 중 파손 위험도 있고, 처음으로 프린터를 다루었기 때문에 어느 정도 설명을 들을 필요가 있었다. 협소한 사무실에 약간(?) 실망을 했으나 … 성능만 좋으면 괜찮다고 생각했다. 사무실에 약 5대의 프린터가 박스에 담겨 있었으며, 원하는 것을 아무거나 고르라고 했다. 왜 그렇게 골라야 하느냐고 물어보자, 3d 프린터는 뽑기 운이 있기 때문에 그 것을 고객에게 돌린다(?) 라는 의미로 고르라는 것이었다.

하나 뽑아서 테스트를 해 보았다. 뽑기를 잘 못 했다. 잘 안뽑혔다. 그래서 다른 것을 뽑아서 테스트를 해 보고, 시험 출력이 잘 되는 것을 확인하고 차에 싣고 집에 왔다.

C360_2015-06-27-12-35-02-486

자세히 들여다 보기

다소 저렴한 제품이기 때문에 배선이나 회로가 아주 오픈되어 있다. 모든 배선을 다시 뽑고 다시 정렬하기 시작했다. 그나마 이제야 좀 볼만 해 졌다.

집에서 홀로 시험 출력

이제 구매를 했으니 혼자 시험 출력을 해 본다. http://www.thingiverse.com/ 에는 많은 무료 3d 프린팅 파일들이 공유가 되어 있다. 그 것들을 다운받아서 cura 라는 슬라이서 프로그램을 거쳐 q-code 를 뽑아내고  그 파일을 프린터에 넣어주면 프린터는 동작한다. 이 내용은 다소 복잡하니, 프린터를 산다면 알아도 될 내용이다.

재미있는 출력, 이제부터 시작!