로봇 특히 휴머노이드에 관한 고찰 그 세번째
페이지 정보
본문
우후후 벌써 세번째입니다
뭐 심심해서 올리는 글이긴 하지만
아직 저희 카페에도 안올린 글들이니까 말이죠<사실 부끄러워서 올리기도 민망하지만>
뭐 그러면 이번 세번째는
미래가 아닌 제가 하고 있는 현재의 휴머노이드 이야기를 한번 해보기로 할까요?
뭐 미래의 일따위 씨부려 봤자 어찌될지는 아무도 모르는 이야기기도 하고
가끔 현실세계로 돌아올 필요도 있고 말이죠 냐하하<퍽>
으음...자 시작합니다<나노하냐?<퍽>>
작은것부터 시작해보도록 할까요?
현재 휴머노이드는 다양한 퍼포먼스용으로 작게작게 만들어 지고있습니다
그 자유도는 16DOF 에서부터 23DOF 또는 25나 27DOF 등
자유롭게 만들 수 있답니다
아 DOF 란말을 모르면 사전에서 찾아보쇼 ㅇㅅㅇ<건방져!?>
그리고 우리나라의 경우 대부분의 메이저급 팀에서는 로보티즈사의 Dinamixel을 사용합니다.
또한 일본의 경우 글쎄요 직접 가서 보질 않아서 모르지만
서보타입의 엑츄에이터를 대부분 쓰고있습니다 대부분 콘도사의 작품이 많죠
자...여기서 질문 하나~ Dinamixel 과 일반 서보의 차이점이란 무엇이냐 하면
Dinamixel 은 내부에 MCU를 내장하고있습니다
<MCU 란 Micro Control Unit의 약자로 초소형 컴퓨터와 같다고 생각하시면 됩니다>
때문에 Dinamixel 의 경우 Master MCU 와 통신을 통해 모터의 제어를 하게되는데요
이것의 장점은 배선이 많이 간단해지는 장점이 있다고 하겠습니다 ㅇㅅㅇ
게다가 제어보드의 제작도 간편해지는 면이 있지요
그런데 서보의 경우는 대부분의 타입이 PWM 제어방식입니다
<자자 모르면 사전사전 ㅇㅅㅇ 어서 들고오쇼>
때문에 모터 하나당 선 3가닥씩 모두 제어보드로 연결해줘야하지요
....복잡합니다
뭐 엑츄에이터는 이정도랄까요?
자 그러면 제어보드쪽으로 한번 넘어가볼까요?
저같은경우는 아직까지는 Atmel 사의 8Bit MCU 인 ATmega128 을 사용중입니다
....자 공대생이라면 모를리없죠
다들 많이쓰니까요 작품만들때 말이죠
ATmega128 같은경우는 16MIPS의 연산량을 제공합니다 그럭저럭 속도는 나오는 편이죠
게다가 Dinamixel 을 쓰면 485 통신을 이용해 회로구성도 간편! 자 편해요 편해요
뭐 ATmega128 같은경우는 기업용 제품에서도 많이 이용됩니다
현재 로보티즈사의 CM-5 와 미니로봇의 휴머노이드 제어보드는 ATmega128이고
로보티즈사의 신제품인 CM-510 은 ATmega2561을 사용중입니다
<사실 2561과 128은 큰차이는 없고 메모리계통 차이만 있습니다>
그런데!!
이 간편한 ATmega128을 버리고 TMS320 시리즈라는 무시무시한 녀석을 쓰는
가끔가다 보이는 팀들이 존재합니다
서울산업대같은 휴머노이드 팀인데요 이곳은 무시무시한 DSP란 녀석을 사용합니다
...뭐 저희도 연구중이긴 하지만요
이녀석은 MCU 라는 분류가 아닌 MPU라는 분류로 구분됩니다
Micro Process Unit 이라고 불리죠
왜냐구요?
이녀석 클럭값이 200Mhz 까지 나오는녀석도 있거든요 ㅇㅅㅇ
팬티엄 3 간당간당하게 맞추려나요? ㅇㅅㅇ....그런데 크기는 작은편입니다
제가쓰는 TMS320F2811 의 경우 엄지손톱만한 칩이 150Mhz 클럭을 이용하거든요
.....무서워요 무서워 150MIPS 라구요
뭐 왜 이렇게 많아야 기껏 23개 모터 쓰는넘들이 무슨 연산이 많다고
고클럭 사양을 사용하느냐 하면...
휴머노이드의 모터를 "제어" 해야하기때문입니다
그것도 동시에 23개나 되는 양을 말이죠...
뭐 실질적 제어는 Dinamixel 안에있는 MCU 에서 이루어집니다
하지만 그 제어값은 Master 제어보드에서 연산에 의해서 건네주게되는데요
저희같은경우는 아직 속도제어방식을 사용하고있습니다.
목적 위치를 고정시켜놓고 속도값을 주기적으로 바꾸어주어
모터의 가감속을 조절하는 방법인데요
의외로 유용합니다<씨익><모르겠는사람은 물리를 더 공부하세요 ㅇㅅㅇ>
그런데 이것이 유용하긴 합니다만...
센서가 적용될경우는 좀 문제를 일으키게 됩니다
...그 문제는 복잡하니 넘어가기로 하고
그러면 어찌해야하느냐!?
바로 "위치" 제어방식으로 바꾸는것입니다
속도를 최대값으로 고정시켜놓고 위치값을 주기적으로 바꾸어주어서
목표위치까지 '근접' 시킵니다 그 값이 목표위치와 '한없이' 가까울때까지 말이지요
...자자 무슨소린지 모르겠으면 물리책을 보세요
음...길어졌군요
꽤나...휴머노이드 강좌가 되어가고있어...
젠장...
뭐 저희가 만드는 '자그마한' 휴머노이드는
이정도랍니다 ㅇㅅㅇ...
딱히 어려울것도없고 복잡할것도 없어보이지만
...뭐 펌웨어 내부는 모터 연산식으로 가득가득하죠 ㅇㅅㅇ..
기회가 된다면 공개하고싶지만 ....그랬다가는 죽음을 면치못할테니
뭐 오늘은 이정도에서 마쳐볼까요....
p.s. 작은 휴머노이드란건 키가 작다기보다는 좀 구조적으로 단순한 녀석들을 의미합니다 ㅇㅅㅇ
뭐 심심해서 올리는 글이긴 하지만
아직 저희 카페에도 안올린 글들이니까 말이죠<사실 부끄러워서 올리기도 민망하지만>
뭐 그러면 이번 세번째는
미래가 아닌 제가 하고 있는 현재의 휴머노이드 이야기를 한번 해보기로 할까요?
뭐 미래의 일따위 씨부려 봤자 어찌될지는 아무도 모르는 이야기기도 하고
가끔 현실세계로 돌아올 필요도 있고 말이죠 냐하하<퍽>
으음...자 시작합니다<나노하냐?<퍽>>
작은것부터 시작해보도록 할까요?
현재 휴머노이드는 다양한 퍼포먼스용으로 작게작게 만들어 지고있습니다
그 자유도는 16DOF 에서부터 23DOF 또는 25나 27DOF 등
자유롭게 만들 수 있답니다
아 DOF 란말을 모르면 사전에서 찾아보쇼 ㅇㅅㅇ<건방져!?>
그리고 우리나라의 경우 대부분의 메이저급 팀에서는 로보티즈사의 Dinamixel을 사용합니다.
또한 일본의 경우 글쎄요 직접 가서 보질 않아서 모르지만
서보타입의 엑츄에이터를 대부분 쓰고있습니다 대부분 콘도사의 작품이 많죠
자...여기서 질문 하나~ Dinamixel 과 일반 서보의 차이점이란 무엇이냐 하면
Dinamixel 은 내부에 MCU를 내장하고있습니다
<MCU 란 Micro Control Unit의 약자로 초소형 컴퓨터와 같다고 생각하시면 됩니다>
때문에 Dinamixel 의 경우 Master MCU 와 통신을 통해 모터의 제어를 하게되는데요
이것의 장점은 배선이 많이 간단해지는 장점이 있다고 하겠습니다 ㅇㅅㅇ
게다가 제어보드의 제작도 간편해지는 면이 있지요
그런데 서보의 경우는 대부분의 타입이 PWM 제어방식입니다
<자자 모르면 사전사전 ㅇㅅㅇ 어서 들고오쇼>
때문에 모터 하나당 선 3가닥씩 모두 제어보드로 연결해줘야하지요
....복잡합니다
뭐 엑츄에이터는 이정도랄까요?
자 그러면 제어보드쪽으로 한번 넘어가볼까요?
저같은경우는 아직까지는 Atmel 사의 8Bit MCU 인 ATmega128 을 사용중입니다
....자 공대생이라면 모를리없죠
다들 많이쓰니까요 작품만들때 말이죠
ATmega128 같은경우는 16MIPS의 연산량을 제공합니다 그럭저럭 속도는 나오는 편이죠
게다가 Dinamixel 을 쓰면 485 통신을 이용해 회로구성도 간편! 자 편해요 편해요
뭐 ATmega128 같은경우는 기업용 제품에서도 많이 이용됩니다
현재 로보티즈사의 CM-5 와 미니로봇의 휴머노이드 제어보드는 ATmega128이고
로보티즈사의 신제품인 CM-510 은 ATmega2561을 사용중입니다
<사실 2561과 128은 큰차이는 없고 메모리계통 차이만 있습니다>
그런데!!
이 간편한 ATmega128을 버리고 TMS320 시리즈라는 무시무시한 녀석을 쓰는
가끔가다 보이는 팀들이 존재합니다
서울산업대같은 휴머노이드 팀인데요 이곳은 무시무시한 DSP란 녀석을 사용합니다
...뭐 저희도 연구중이긴 하지만요
이녀석은 MCU 라는 분류가 아닌 MPU라는 분류로 구분됩니다
Micro Process Unit 이라고 불리죠
왜냐구요?
이녀석 클럭값이 200Mhz 까지 나오는녀석도 있거든요 ㅇㅅㅇ
팬티엄 3 간당간당하게 맞추려나요? ㅇㅅㅇ....그런데 크기는 작은편입니다
제가쓰는 TMS320F2811 의 경우 엄지손톱만한 칩이 150Mhz 클럭을 이용하거든요
.....무서워요 무서워 150MIPS 라구요
뭐 왜 이렇게 많아야 기껏 23개 모터 쓰는넘들이 무슨 연산이 많다고
고클럭 사양을 사용하느냐 하면...
휴머노이드의 모터를 "제어" 해야하기때문입니다
그것도 동시에 23개나 되는 양을 말이죠...
뭐 실질적 제어는 Dinamixel 안에있는 MCU 에서 이루어집니다
하지만 그 제어값은 Master 제어보드에서 연산에 의해서 건네주게되는데요
저희같은경우는 아직 속도제어방식을 사용하고있습니다.
목적 위치를 고정시켜놓고 속도값을 주기적으로 바꾸어주어
모터의 가감속을 조절하는 방법인데요
의외로 유용합니다<씨익><모르겠는사람은 물리를 더 공부하세요 ㅇㅅㅇ>
그런데 이것이 유용하긴 합니다만...
센서가 적용될경우는 좀 문제를 일으키게 됩니다
...그 문제는 복잡하니 넘어가기로 하고
그러면 어찌해야하느냐!?
바로 "위치" 제어방식으로 바꾸는것입니다
속도를 최대값으로 고정시켜놓고 위치값을 주기적으로 바꾸어주어서
목표위치까지 '근접' 시킵니다 그 값이 목표위치와 '한없이' 가까울때까지 말이지요
...자자 무슨소린지 모르겠으면 물리책을 보세요
음...길어졌군요
꽤나...휴머노이드 강좌가 되어가고있어...
젠장...
뭐 저희가 만드는 '자그마한' 휴머노이드는
이정도랍니다 ㅇㅅㅇ...
딱히 어려울것도없고 복잡할것도 없어보이지만
...뭐 펌웨어 내부는 모터 연산식으로 가득가득하죠 ㅇㅅㅇ..
기회가 된다면 공개하고싶지만 ....그랬다가는 죽음을 면치못할테니
뭐 오늘은 이정도에서 마쳐볼까요....
p.s. 작은 휴머노이드란건 키가 작다기보다는 좀 구조적으로 단순한 녀석들을 의미합니다 ㅇㅅㅇ
댓글목록



