본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Study/아두이노

[아두이노] 아두이노 4족보행 로봇 만들기 Season II - 1 : 로봇아 다이어트좀 하자!

by 마즈다 2016. 8. 28.
반응형


좌충우돌 로봇 만들기 Season II - 1 : 로봇아 다이어트좀 하자!


휴가도 있었고 회사 일도 바쁘다보니 포스팅이 늦어졌습니다.
물론 작업은 계속 진행을 했고 휴가 중에 외형은 거의 마무리가 되었네요.
하지만 외형 마무리 후 첫 기동을 하는데부터가 문제였습니다.
일단 각 관절을 모터 방향이 뒤바뀌는 바람에 소스를 좀 수정해야 했고
가장 중요한 것은 외형을 다 갖추었더니 크기와 무게가 상당해졌는데
이 때문인지 처음 전원을 키면 잘 서다가 움직이기 시작하면 주저앉아서 바닥을
빌빌 기고 마는 것이었습니다.


이 문제를 해결하기 위한 과정을 기록합니다.


하드보드와의 전쟁을 끝내다.


일단 가장 구하기 쉽고 저렴한 재료라서 하드보드로 로봇의 외장을 만들기로 결정은 했지만
그리 탁월한 선택은 아닌었던 것 같다. 자르기가 너무 힘들고 곡면을 만들 수가 없는데다가
잘못 힘을 받으면 겹이 일어아는 문제가 있었다. 큰 형태의 직선을 자르는 것은 어렵지 않았지만
서로 맞물리기 위한 요철을 자른다든지 하는 경우에는 정말 힘들었다. 나같은 경우 두께 3T(3mm 정도)
되는 하드보드를 사용하였는데 다음 같은 문제들이 있었다.


  1. 절단의 어려움 1 : 최소 4~6번은 칼질을 해야 잘린다. 손목과 손가락에 엄청난 무리가 간다…ㅠ.ㅠ
  2. 절단의 어려움 2 : 두께가 두껍다보니 잘린 단면이 직각이 아니다. 절단 과정에서 칼이 조금이라도
    비뚤어지면 이상한 각도로 잘린다. 이럴 경우 T자 형태로 접착을 하면 접착면이 딱 맞지 않아 잘 
    안붙는다.
  3. 엄청난 먼지 덩이 들 : 하드보드가 펄프를 압착해서 만든 것이다 보니 자르다보면 펄프 가루가 장난 
    아니다.
  4. 벌어짐 문제 : 하드보드가 합판과 비슷하게 여러겹을 겹쳐서 만든 것이다보니 조금 무리하게 힘이 
    들어가거나 목공풀이 발린 후 부풀어 오르거나 벌어지는 경우들이 종종 있다

하지만 대안을 찾은 시점은 이미 거의 완성 단계에 이른 때라서 그냥 하드보드로 작업을 진행 했다. 
이렇게 8절로 재단된 하드보드 8장을 자르고 붙여 드디어 몸통을 제외한 외관을 완성했다. 
처음 만든 형태는 아래와 같다. 그래도 다 만들고 나니 제법 모양새가 나는 것 같다.


잘라진 8장의 하드보드







문돌이의 한계 1 - 무게와 무게를 버티는 힘


하지만 다 만들고 나니 문제가 하나 생겼다.
사실 전체 설계를 꼼꼼하게 한 것도 아니고 또 모양에만 신경썼지 다른 부분들은 하나도 고려하지 않았다.
그래서 발생한 첫번째 문제는 몸통(바닥만 있는 상태지만)이 너무 얇다보니 몸통 외곽에 있는 제 1관절
무게를 버티지 못하고 휘청거리는 것이었다. 고민끝에 일단 바닥쪽에 대각선을 이루는 다리 를 잇는 지지대를
붙여 보완을 했고 적절한 효과를 보았다.

빨간 선이 지지대를 붙인 위치다.



물론 금속이나 플라스틱같은 적절한 강도를 가진 재료를 사용했다면 발생하지 않았을 문제이다.
하지만 분명 재질의 탄성이나 강도 그리고 각 부위의 무게등을 적절히 고려한 설계가 필요할 것이다.


문돌이의 한계 2 - 모터에 대한 상식


나는 그저 서보모터라는 것이 각도를 조절하고 그 정보를 피드백 받을 수 있는 모터라는 정도의 지식만을 가지고
작업을 시작하였다. 뭐 그정도로도 2관절로 움직이는 로봇을 만드는데는 큰 무리가 없었다.


하지만 덩치가 커지고 무게가 많이 나가게 되면서 모터의 힘에 대한 고려를 하지 않을 수 없었다.
흔히 토크(torque)라고 하는 힘이다. 쉽게 말해 모터의 회전하는 힘이며 이 힘에 대한 자세한 내용은
아래 링크로 대신하고 당장 필요한 내용만 정리하겠다.


https://ko.wikipedia.org/wiki/돌림힘


일반적으로 서보모터를 판매하는 곳에서는 스펙을 적으면서 토크를 표시할 때 다음과 같이 표시하는 경우가
많다.


stall torque : 9.4 kg/cm (4.8V), 11kg/cm (6V)


일단 kg/cm이라는 단위는 틀린 것이라 한다. 정식 단위는  9.4 kgf·cm와 같이 표시해야 한단다.
하지만 나같은 문돌이들이 이해하기에는 틀린 단위가 이해하기는 더 쉽다…^^;
자, 하나하나 알아보자.


일단 용어부터, stall torque란 움직임이 멈추면서 발생하는 토크다. 가장 큰 힘이 들어가는 시점이
이 때라고 한다. 따라서 (문돌이의 입장에서는) stall torque는 곧 최대 토크라고 봐도 무방하다. 하지만
실제로는 서로 다르니 오해가 없도록…


다음은 단위의 이해, 아주 단순하게 말해서 torque란 모터 축으로부터 움직여야 할 물체와의 거리와 움직여야 할
무게의 비율이다. 틀린 표현이 더 이해하기 쉽다는 것이 바로 이 때문이다. 즉, 9.4 kg/cm (4.8V)란 것은
”4.8V의 전압을 공급했을 때 1cm 거리에 있는 9.4Kg의 물체를 들어올릴 수 있다.”는 의미로 보면 된다.
문돌이의 수학 상식으로도 이정도는 이해할 수 있다. 분모가 거리이고 분자가 무게이므로 당연히 거리가
멀어질수록 torque는 작아질 수밖에 없다. 즉, 들어올릴 수 있는 무게가 작아진다는 의미다.



현재 사용중인 모터는 MG996R이라는 모터이고 이 모터의 경우 정식 라이센스를 받은 제품은 2만원 이상의
가격대를 형성하는 것 같은데 대부분의 업체에서는 중국산 카피 제품을 파는 듯하다. 중국산은 가격이 
5,000~7,000원 대에 형성되어 가성비는 최고가 아닌가 싶다.
위 예는 바로 이 모터의 스펙이다. 일단 1 cm 거리에서 적어도 9.7Kg을 들어올릴 수 있으니 상당한 성능이다.


그런데 아래 동영상을 보면 알겠지만 구동을 시키자 무게를 버티지 못하고 납짝 업드려 발발 기고만 있다…ㅠ.ㅠ
완성된 로봇의 전체 무게가 2Kg 남짓인데 문돌이의 상식에서는 도저히 이해가 안가는 상황이었다.




그래서 처음 생각한 것이 바로 이 토크다. 일단 문제점으로 판단한 것은 모터 축으로부터 무게 중심이 너무
멀리 있다는 것이었다. 그래서 몸통을 다시 구성하였다.



                                                   개선 전 형태                                                                                                           개선 후 형태        




                 개선 전 실제 모습                         개선 후 실제 모습 (접은 상태)                 개선 후 실제 모습 (펼친 상태)



산뜻하게 다이어트를 하고 다시 기동을 해보았지만 별다른 성과가 없었다…ㅠ.ㅠ


이렇게 첫 걸음마는 실패로 끝나고 말았다.
나는 계속해서 torque에만 신경을 썼고 그래서 torque 값이 높은 모터만을 검색하고 있었다.
하지만 현재 사용중이 모터보다 torque가 큰 모터는 대략 가격이 4만원대 이상을 형성하고 있었다.
돈도 돈이지만 만일 모터를 구입했는데 개선되지 않는다면? 지식의 부족은 결정을 망설이게 만든다.


그러던 중 새로운 측면으로 시점을 전환하게 되었다.
글이 길어진 관계로 오늘은 여기에서 마치고 다음 글에 그 내용을 적도록 하겠다.

반응형