좌충우돌 로봇 만들기 Season II - 5 : Epilogue


이것저것 벌여놓은 일이 많다보니 한동안 로봇에 손을 못댔습니다.
그러던 중 다행히 12월 29, 30일 휴가를 얻어 여유가 생기면서 개선하기로 생각했던 부분에
대해 드디어 손을 좀 댔습니다.


원래 마지막 포스팅에서 문제로 지적한 모터 성능을 테스트 해보고 모터쪽으로 개선 방향을
맞춰보려고 했습니다. 하지만 그 동안의 문제점에 대해 최종적으로 내린 결론은 배터리나 
모터의 성능 문제가 아니라 확실히 로봇의 설계가 잘못되었다는 것이었습니다. 그래서 몇가지 
조정 작업을 거쳤습니다. 로봇 만들기 Season II는 이 조정작업에 대한 이야기로 마무리 
하려고 합니다.


그동안 페이스북이나 제 블로그를 통해 조언을 주신 많은 분들께 감사 인사 드립니다.
소프트웨어적으로도 아직 완성된 것이 아니라 조만간 다시 준비해서 Season III으로
찾아뵙겠습니다~^^



다시 한 번 다이어트…


지난 포스팅(Season II - 4 : 원래 약골이었네…-.-) 이후 실제로 서보모터 3개 정도를
추가로 구매해서 간단한 실험을 해보기는 하였다. 비슷한 성능의 다른 제품 3개를 가지고
테스트를 한 결과 현재 내가 가진 배터리와 모터로도 충분한 성능을 낼 수 있다는 것을
확인하였다. 기본적으로 포함된 서보 혼에 바로 연결할 경우 3Kg 무게의 가방을 쉽게
들어올릴 수 있었으며 약 10Cm정도의 팔을 추가로 연결한 상태에서도 그 절반정도의
성능을 보여주었다. 결국 SEW MK I 의 전체 무게가 2Kg 남짓이니 그 무게를 

견디지 못할 배터리나 모터는 아니라는 결론을 내릴 수 있다.


그래서 다시 한 번 로봇의 구조를 바꿔보기로 했다. 크게 바뀌는 것은 없고 가능한한
다리의 길이를 줄이고자 시도했다. 그리고 기존 대비 약 6Cm 정도 길이를 줄였다.
비교를 위해 상세하게 찍은 사진이 없어 쉽게 구분이 가진 않지만 아래 사진의 왼쪽이 
기존 형태이고 오른쪽이 개선된 형태이다.


내가 조립이 쉽도록 모듈화를 해서 만든 것도 아니고…하드보드를 목공풀로 붙여가며
만든 것이다보니 이미 만들어진 것을 뜯어고친다는 것이 이만저만 힘든일이 아니다…ㅠ.ㅠ
가장 어려웠던 것은 재조립 과정에서 모터 위치가 바뀌는 바람에 스케치에서 각도 조정을
일일이 다시 해줘야 했다는 것이다. 빨리 스케치 소스도 라이브러리화를 해야 하는데…
이 과정에서 모터 하나가 타버렸다…ㅠ.ㅠ 다행히 앞서 말한 모터 테스트를 위해 구입한
모터 중에 같은 모델이 있어 바로 교체가 가능했기에 망정이지 안그랬으면 또 주문하고
받을 때 까지 기다리다가 시간을 까먹을뻔 했다.
그래도 생각보다 깔끔하게 작업은 완료되었다. 하지만…


어째서인지 여전히 나아진 부분이 없다…기존과 마찬가지로 비리비리 하다…ㅠ.ㅠ


방향전환


답답한 심정으로 이것저것 테스트를 해보다가 이상한 점을 하나 발견을 했다.
처음 구동을 시작해서 가만히 서있을 대는 진동과 소음이 심하고 자꾸 가라앉는 모습이
보이는데 위로 일어서는 동작에서는 오히려 소음도 거의 없고 매우 안정적인 모습을
보여주었다. 여기서 다시 한 번 모터나 배터리가 힘이 없는 것은 아니라는 것이 증명
되었다. 그랬더라면 로봇을 위로 들어올리는 동작이 쉽지 않았을테니까


그리고 제자리에 서있는 동작이나 걷는 동작에서 다리 관절들이 자꾸 몸에서 바깥쪽으로
밀려나가는 모습이 보였다. 그래서 ‘힘’의 문제에서 ‘구조’의 문제로 그리고 ‘구조’의 
문제에서 ‘각도’의 문제로 최종 가닥을 잡았다.


우선 제작 자체에 문제가 있었다. 두꺼운 하드보드를 일일이 손으로 잘라 외형을 만들다 보니
정밀도가 매우 떨어진다. 아무래 자로 재서 똑같은 모양으로 도면을 그렸다고 하더라도
커터로 자르다보면 오차가 안생길 수 없다. 게다가 두께가 3mm나 되다보니 절단면이 수직이
되는 경우가 거의 없다. 이런 문제들을 무시하고 대충 모양을 만들다보니 얼핏 봐서는 동일해
보이는 다리들이 서로 모양과 위치가 어긋나는 것이다. 그 중에 가장 중요한 것이 ‘각도’이다.
스케치에서 동일한 값을 주어도 실제 형태를 보면 미묘하게 각도가 다르게 서있다. 또한 내가 
예상한 각도와 실제 서있는 형태를 맞추기가 왜 그리 어려운지…바로 이런 것들이 수작업의 한계다. 


아래 그림에서 보면 내가 수학이나 공학적 지식이 전무하다보니 논리적으로 설명할 수는 없지만
그래도 인생의 경험으로 A, B 중 어느쪽이 더 안정적으로 서있을 수 있는지는 쉽게 알 수 있다.
나는 B의 형태를 원하는데 정도의 차이는 있지만 자꾸 A의 형태가 되어버린다…ㅠ.ㅠ





세상은 넓고 방법은 많다.


일단 이렇게 문제를 규정하고 나니 사실 당장에 할 수 있는 것이 없어보였다. 그저 3D 프린터에
대한 생각만 간절해질 뿐…-.-


그러던 차에 또 한가지 생각이 떠올랐다. 문제가 뭐가 되었든 힘이 없으면 뭔가로 보완을 해주면
될 것이 아닌가? 우리가 다리를 다치면 목발을 집듯이…그래서 스프링을 이용해서 자세를 유지하면
어떨까 하고 생각해보았다. 하여간 이놈에 잔대가리란~ 부랴부랴 스프링을 주문하고 적당하게
잘라서(자르다가 손목 나가는 줄 알았다…ㅠ.ㅠ) 아래 사진과 같이 연결을 해주었다.


오~이래놓으니 성능상 이점 뿐만 아니라 외관상으로도 뭔가 있어보이네…^^;;


일단 이렇게 스프링을 장착하니 가만히 서있는 자세에서도 확실히 소음과 진동이 줄었다. 스프링의
탄성이 모터의 힘을 보완해주는 것이다. 그리고 아주 만족스럽진 않지만 움직임도 좀 더 안정적으로
보인다.


일단 그 동안의 문제는 해결을 한 것 같다. 하지만 역시 편법은 편법일뿐 근본적인 해결은 될 수 없다.
편법은 문제를 해결할 수는 있지만 그만큼의 비용과 수고를 지불해야 한다. 로봇 만들기 초반에도
잠시 언급했지만 내가 취미로 하고있으니 감수할 만한 내용이지 상업용으로 무언가를 만드는데 이렇다면
당장 일터에서 잘리겠지…-.-


그리고 다음을 위해…


아무튼 이렇게 해서 일단 SEW MK I은 마무리를 하게 되었다. 표면적으로는 어느 정도 문제를
해결한 것 같으나 역시나 근본적인 문제를 해결하지 못했다는 것이 못내 아쉽다.



얼마전 올해 2017년 계획을 포스팅을 했는데 아무래도 거기에 3D 프린터 구매를 추가해야 할 것 
같다. 그리고 좀 더 정밀한 설계를 바탕으로 SEW MK II를 제작해봐야겠다.


시간이 나는대로 SEW MK I의 나머지 동작에 대한 스케치를 마무리하고 한 번 정도는 더 포스팅을
할 지는 모르겠으나 일단 여기서 MK I 개발은 마무리 하려고 한다.


그리고 얼마전 로봇에 FPV 기능을 구현해보고자 계획을 세웠었는데 FPV쪽은 아두이노로 자작할
만한 내용이 거의 없는데다가 관련 모듈 값들이 비싸서 일단 보류 하기로 했다.


그럼 더 나은 MK II를 위하여!

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요

좌충우돌 로봇 만들기 Season II - Prologue


사실 SEW-MK I 제작기는 조금 더 시간을 두고 시작을 하려고 했는데 한동안 쓰던 글을 
중간에 멈추려니 몸이 근질근질해서 외장 작업 과정을 정리해보려고 합니다.



머리 속에서는 아주 자유롭게, 그리고 너무도 쉽게 떠오르던 아이디어들을 실제로 구현하려니
마음만 앞서고 쉽지가 않네요…ㅠ.ㅠ


제목대로 그야말로 좌충우돌, 시행착오의 연속입니다.
하지만 이렇게 정리해놓으면 다음에는 좀 더 쉽게 작업이 가능하겠죠.^^


그럼 본론 시작합니다~


어떻게 연결할 것인가.


우선 외장 재로는 그나마 가공이 쉬울 것 같은 하드보드(두께 3mm)로 정했다.
3D 프린터라도 있으면 참 좋으련만 (물론 모델링을 못하니 공개된 도면을 찾아야
하겠지만…) 이가 없으니 잇몸으로 때울 수밖에. 결과적으로 확인한 바…하드보드 작업…
결코 쉽지가 않았다…ㅠ.ㅠ


이제 각 관절을 이루는 모터를 어떻게 결합하고 어떤 식으로 그 외관을 감쌀 것인가를
본격적으로 고민해야 할 때가 되었다. 구글링을 통하여 수많은 4족 또는 6족 로봇을 
찾아본아도 대체로 기성품으로 나와있는 프레임을 사용했거나 아니면 대부분 3D 프린터를
이용하여 만든 로봇들 뿐이었다. 그나마도 제작 과정을 상세하게 적은 내용들은 거의
전무해서 크게 도움이 될만한 내용을 찾지 못했다.


결국 진작부터 알고 있던 zoobotics의 ZURI를 모방하는 것이 가장 좋을 것 같다는
결론에 이르렀다.


zoobotics 사이트 : http://zoobotics.de


zoobotics 사이트에도 역시 도면을 제공하고 있지는 않은 것 같았다.
그래서 결국 눈짐작으로 대충 그 형태를 잡아나갈 수 밖에 없었다.
처음에는 동일한 형태로 진행을 하려 했으나 그래도 자존심은 있어서 제 2관절과 3관절에
사용될 모터를 연결하는 부분만 동일하게 만들고 몸통과 다리는 나름 달리 제작해보고자
하였다.


우선 2개의 모터는 다음과 같이 연결을 하였다.
두 개의 모터를 지지대 너트2개와 나사 4개로 아래 사진과 같이 연결을 하였다.


그리고 ZURI의 사진을 보고 하드보드에 도면을 그렸다.
얼핏 보면 그럴싸하지만 자세히 보면 사각형의 변끼리의 평행도 안맞고 길이도 들쭉날쭉해서
역시 문돌이의 기운이 느껴진다.



이렇게 해서 4쌍의 모터를 아래와 같이 연결하였다.
이 작업만 대략 8시간 정도 걸린 것 같다(매일 퇴근 후 집사람의 압력에도 굴하지 않고 1~2시간씩 꾸준히 만들었다).



다리 만들기


디자인 컨셉을 Steampunk로 잡았다.
컨셉을 잡고나서 과연 내가 이걸 할 수 있을까 하는 의구심이 들었고
아직도 그 의구심 속에서 작업을 진행하고 있다…ㅠ.ㅠ 


스팀펑크라 하면 녹슨 철, 철판을 이어붙인 리벳들, 얽히고 섥힌 파이프들이 떠오르는데
과연 그 효과를 어떻게 줄지가 고민이었다. 일단은 나사 못을 이용하여 최대한 근접한
효과를 내보자 하였는데…안타깝게도 내가 가진 나사의 대부분이 지름 5mm짜리였다.
이정도 두께는 웬만큼 구멍을 크게 뚫어놓지 않으면 하드보드지가 다 뭉그러져버린다.
아무래도 지름 2~3mm정도의 나사못을 새로 구해야 할 것 같다.


암튼 이런 저런 고민끝에 다리의 모양을 아래 그림과 같이 설계를 해보았다.
좀 더 다이나믹한 디자인을 해보고 싶었지만 역시 스킬의 한계가 있는만큼 우선은 가급적
단순하게 가고 나중에 외양을 덧붙여나가는 방식으로 진행하기로 하였다.



그리고 처음 설계와는 분위기가 좀 달라졌지만 샘플로 만든 첫번째 다리가 완성되었다.
한쪽 옆에 뭉개진 부분이 5mm나사를 끼우려다가 찢어진 것이다…ㅠ.ㅠ



그래도 만들어놓고 보니 나름 그럴싸하다…^^;;;
그리고 앞으로 이런 걸 3개나 더 만들어야 할 생각을 하니 앞이 캄캄하다…ㅠ.ㅠ


남은 작업 : 몸통 만들기와 다리 연결하기


그래도 일단 다리는 설계라도 마쳤으니 그리고 자르고 붙이면 되겠다. 힘은 들더라도…ㅠ.ㅠ
남은 것은 몸통을 어떻게 만들것이며 제 1관절 모터와 다리를 어떻게 연결할 것인가다.
앞에서도 말했듯이 ZURI의 연결형태가 참 마음에 들지만 자존심상 똑같이는 못하겠다.
일단은 정사각형 모양으로 연결하고 외부를 좀 꾸며볼 생각이다.


정말 문제는 몸통이다.
나름 멋들어지는 스팀펑크의 냄새를 풍겨보고 싶은데…
일단은 구글에서 스팀펑그와 관련된 로봇, 탱크 등의 이미지와 1차대전 당시의 탱크 사진 등을
열심히 검색해보고 있다.


문제는 시간이다.
다리 한짝 만드는데 날짜로 거의 1주일이 걸렸으니…ㅠ.ㅠ
암튼 블로그 글 한편정도 쓸 작업 분량이 되면 다음 글을 올리도록 하겠다.


그래도 이 작업 하느라 폭염을 그럭저럭 버틸 수 있는 것 같다.
이 글을 읽는 여러분들도 부티 여름 무더위에 건강 유의하시길~

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요


좌충우돌 로봇 만들기 5 - SEW-Prototype 개발 종료


문돌이의 좌충우돌 로봇 만들기를 처음 올린 것이 6월 20일 경이니…
약 한달여의 시간이 흘렀다.


그리고 이제 기본적인 움직임의 구현은 모두 마친 것 같다.
물론 아직도 갈길은 멀다.


이에 한 달여간의 결과는 간단하게 동영상으로 갈음하고 앞으로의 계획을 정리하면서
SEW-Prototype의 개발을 종료할까 한다.


일단 관절이 2개밖에 없는 관계로 부자연스러운 동작들이 있을 수 밖에 없다.
특히 Up/Down의 경우 사실상 Up은 없는 것이나 마찬가지다. (물론 각도를 조절하여
구현할 수는 있지만…)


그럼 동영상을 감상하시라~



SEW-MK I을 향하여


앞으로 다음과 같은 작업이 진행이 될 예정이다. 앞으로의 작업은 세부적인 튜닝이 될 것이기에
아마도 지금만큼 자주 결과물을 정리하지는 못할 것 같다.


  1. 제 3관절 추가 : 현재 각 다리의 관절이 2개씩이다보니 동작에 제약이 있다. 마지막
    관절을 붙일 것이다.
  2. 외장 추가 : 우선 동작 구현을 위주로 하다보니 외관이 너무 볼품이 없었다. 어느
    정도는 외관을 꾸며주어야 할 것 같다. 그래도 명색이 MK I 이니…
  3. 동작 다듬기 : 현재까지는 그저 생각나는대로 즉흥 구현을 하다보니 어설픈 부분이
    많이 보인다. 다른 패턴의 이동, 자연스러운 방향전환 및 회전 등을 구현해야 한다.
  4. 소스 리팩토링 : 역시 막코딩으로 일관하다보니 소스가 점점 길어지고 복잡해진다.
    라이브러리화 할 부분을 분리하고 소스를 좀더 간결하게 다듬어야 할 것이다. C 공부를
    제대로 해야 할 듯싶다.
  5. Analog 입력 처리 : Youtube 동영상을 보면 많은 사람들이 아날로그 조이스틱을
    이용하여 로봇을 제어하고 있다. 아무래도 아날로그 방식이다보니 동작이 좀 더 부드러운
    것 같다. 동작의 종류나 방향 뿐만 아니라 속도와 각도 역시 조이스틱으로부터 입력이
    되는 것 같은데…어떻게 구현을 해야할지 벌써부터 막막하다.

일단 이정도가 MK I에서 구현될 내용들이다. 앞으로 또 얼마만큼의 시간이 걸릴지 모르겠으나
칼을 뽑았으니 무 꼭지라도 썰어야지…-.- 그저 야금야금 만들어갈 생각이다.
마지막으로 이 허접한 로봇이 만들어져 가는 과정을 보아주신 분들께 감사드린다.


감사합니다~^^


추신 : 동영상의 배경음악은 우연히 아이들이 보고있던 '벼랑위의 포뇨' 배경음악이 삽입되었는데 그럴듯하네요^^;;

추신2 : 동영상 중간중간 비치는 무좀걸린 발톱은...죄송합니다...- -..._ _...- - 

블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요



좌충우돌 로봇 만들기 4


일단 2관절 4족 보행은 조만간 마무리가 될 것 같습니다.
아직 손봐야 할 곳들이 좀 있지만 일단 가볍게 처리하고 넘어가야 할 것 같네요.
지난 번 잠시 말씀드린대로 집에 우환이 좀 있어 작업 속도가 더딥니다.
일단 7월 안에 마무리를 짓고 8월부터는 관절을 1개씩 더붙여 3관절 작업을
시작하고 하드보드나 골판지를 이용하여 옷도 좀 예쁘게 입혀줘야겠네요^^


오늘도 크게 특별한 내용은 없습니다. 동영상이나 감상하고 가시죠~ 


전/후/좌/우 이동 구현


대각선으로 마주보는 다리 (제 1관절)을 엇갈려 움직이는 방식은
제 2관절의 움직임을 제어하는 것 만으로 전진과 후진, 왼쪽과 오른쪽
움직임을 구현할 수 있다는 점에서 편하다.


제 1관절은 정해진 각도에서만 움직이면 된다.
나의 경우 45도를 기준으로 잡았다.
아래 그림을 참고해서 보면 1관절은 서로 대각선에 위치한 것들이 동시에
같은 방향으로 움직이며 이때 제 2관절이 움직이느냐 안움직이느냐에 따라
전진과 후진이 결정된다.
(참고) F : Front, R : Rear, L : Left, R : Right



즉, 한단 왼쪽 그림에서는 FR과 RL이 전진을 하고 FL과 RR은 후진을 한다.
이 때 전진하는 다리의 제 2관절을 들어주면 앞으로 이동하고 후진하는 다리의
제 2관절을 들어주면 후진을 한다.


이렇게 좀 쉽게 가나 했는데 제 2관절을 연결할 때 앞 뒤가 서로 대칭이 되도록
모터를 연결하였더니 올리는 각도가 서로 반대가 되어 계산하는데 골치가 좀
아팠다...역시 문돌이의 한계랄까...다음에는 같은 방향으로 연결해서 동일한
각도로 움직이게 해야겠다.


그리고 마지막으로 좌/우로의 방향 전환인데...
뭔가 동작 처리를 잘못 한 것 같다. 정방향으로 움직이지를 않고 각도가 자꾸
틀어진다. '전'에서 '좌'로, 또는 '우'에서 '후'로 등 방향 전환을 할 때 '좌향 앞으로 갓!'이
아니라 '줄줄이 좌로 갓!'의 느낌으로 삐딱하게 돌아간다...이 부분도 손볼 부분 중
하나다.


어쨌든 이제 회전과 트위스트, 그리고 업/다운 정도만 구현하면 기본적인 동작은
다 구현하게 되는 것이다. 일단 예상으로는 그리 어려울 것 같진 않은데...


아래는 이번 주 작업의 최종 결과이다.
그런데 이놈 이거...배터리 먹는 하마다.
현재 듀라셀 AA 배터리 4개를 직렬로 연결하여 사용하는데 주말에만 잠깐씩
돌리는데도 매주 배터리를 갈아줘야 한다...ㅠ.ㅠ
아무래도 고용량 배터리를 사야 할 것 같다.

그럼 다음 시간에~


최종 소스 : https://github.com/mazdah/BluetoothController



블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

댓글을 달아 주세요