[아두이노] 핀터레스트에서 찾은 자료 관찰

IOT/아두이노|2019. 8. 30. 09:00

[아두이노] 핀터레스트에서 찾은 자료 관찰



핀터레스트에서 6족 보행로봇에 관련 이미지들을 한번 검색을 하였습니다. 그중에서 가장 맘에 드는 ICStation 팀의 Hexapod4 Spider Robot 작품 post를 발견했는데 자세한 내용은 보지 않고 그안에 Youtube 영상만 보고 움직임을 관찰하고 제 나름대로 한번 재해석 하는 시간을 가졌습니다. 해당 post의 글을 읽게 되면 상상력이 이 post를 쓰신 저자의 생각에 묶일 것 같아서 최대한 제 나름대로 해석하고 원리를 이해해 보고자 했네요.


오늘 post의 핵심은 아두이노 관련 자료를 핀터레스트에서 찾고 그 찾은 post를 보면서 관찰을 통해 원리를 이해하고 그걸 자신의 것으로 만드는 과정입니다.

1. 핀터레스트에서 찾은 6족 보행로봇



위 출처에 가시면 ICStation 팀의 Hexapod4 Spider Robot 작품이 나와 있습니다. 메인 사진을 보시면 다음과 같은데 Servo모터의 관절을 관찰해 봅시다.


출처 : ICStation 팀의 Hexapod4 Spider Robot 이미지

이걸 좀 더 보기 편하게 그려봤네요.


사진과 그림을 그리고 나니 대충 동작 제어가 어느정도 가늠이 되더군요. 그렇다면 ICStation 팀의 Hexapod4 Spider Robot 이 과연 어떻게 움직이게 했을지 궁금해지더군요. 다행히 Youtube로 6족 보행로봇의 움직이는 영상이 담겨져 있었네요.

관절의 움직임을 집중적으로 관찰했네요.

2. 6족 보행로봇 관절 동작 관찰


1) A관절 동작



위 그림에서 관절 A지점의 Servo모터가 수평으로 좌/우 움직이는 동작을 수행하더군요. 위 그림은 전진했을 때 각 관절이 앞쪽으로 45도 방향으로 움직인 상태이고 여기서 다시 몸체만 반대 방향으로 회전시키면 다리는 몸체를 지탱하는 중심축이 되고 몸체가 앞으로 전진하게 되고 다시 위 그림처럼 다리를 움직이고 45도 각도가 되면 몸체를 반대방향으로 회전시키면 몸체가 또 앞으로 전진하고 이런식으로 다리가 먼저 45도 앞으로 전진하고 몸체가 뒤 따라오는 식으로 영상을 보시면 A관절 움직임을 알 수 있을거에요. A관절은 수평으로 몸체을 움직이는 핵심이 됩니다.

2) B관절 동작



B관절은 다리를 들어올리는 동작을 담당하네요. 수직으로 위아래로 움직이면 진행 방향으로 다리를 움직이기 전에 다리를 올려서 해당 다리가 몸체를 지탱하는 중심축을 해제시킨다고 생각하시면 됩니다. 그리고 움직이기 편하게 다리가 올라간 상태를 만듭니다. 그리고 A관절의 회전시킨 방향이 진로 방향이 되고 그 방향에서 다시 B관절이 아래로 움직이고 해당 다리가 6족 보행로봇 몸체를 지탱하는 중심축으로 되돌아가게 됩니다. 다시 설명하면은 6개의 다리가 몸체를 지탱하는 중심축이 되는데 여기서 일부 다리는 중심축을 해제시키고 보행 방향으로 움직이고 다시 몸체를 지탱하는 중식축으로 돌아가는 동작 과정을 거치면서 보행하기 위한 움직임을 만들어 냅니다.

3) C관절 동작



B관절과 함꼐 몸체를 지탱하는 실제 중심다리입니다. 위 그림처럼 지면과 배치된다고 상상해보면 지면과의 몸체의 높이가 달라지고 딱딱한 움직임보다 좀 더 자연스럽게 움직이는 곤충과 유사한 움직임을 만들 어 낼 수 있는 다리 인 것 같아 보입니다. C관절이 없이 A, B관절이 움직인다고 상상을 해보세요. 뭔가 딱딱한 움직임이 연상 되실 꺼에요. 좀 더 자연스러운 움직임을 만들어내기 위해 C관절까지 표현한 것 같습니다. 보행 방향으로 움직이기 전 B관절을 들어올릴 때 C관절도 같이 들어올려서 움직임을 부드럽게 만들었네요. 그리고 지면과의 접촉에서도 C관절의 용도는 많아 보입니다. 제가 실제로 만들어 보지 못하고 잠깐 어제 우연히 검색해서 찾은 post라서 6족 보행로못에 대해 정확한 이야기를 할 수 없기 때문에 좀 설명이 애매하네요. 하지만 곤충과 흡사하게 다리의 움직임을 C관절을 통해서 좀 더 부드럽게 움직여진다는 것은 영상을 통해 알 수 있었습니다. 움직임의 패턴이 AxBxC 의 가지수로 많기 때문에 다른 6족 보행로봇보다는 꽤 흥미를 끄는 보행로봇 같아 보였습니다.

3. 전진 동작 관찰


동영상에 여러 동작 중 전진 동작을 한번 관찰해 봅시다.


위 그림에서 이미지 A가 초기 상태이고 위에서 관절 움직임을 정면 방향으로 전진 할 경우 이미지 B의 형태로 다리 관절이 전부 이동하게 됩니다. 그 때 몸체는 이미지 C처럼 관절을 움직이면 몸체는 앞으로 이동하게 됩니다. 이때 다리가 몸체를 지탱을 확실히 해야지 몸체가 앞으로 전진하겠죠. 순서는 A->B->C->B->C ... 이렇게 움직임으로서 앞으로 전진하는 것 같더군요.

4. 보행 동작 실험


가상시뮬레이터에서 실험을 한다면 Servo모터 3개를 이용하여 다리 하나의 관절 제어 코딩을 설계하시면 됩니다. 즉, 6개의 다리를 제어가 아닌 딱 하나의 다리만 제대로 보행동작 패턴 회전을 만들어 원리를 이해 하고 다리 1개를 동작 할 수 있게 된다면 똑같은 원리로 6개의 다리를 제어하면 됩니다.

아무튼 아래와 같이 가상시뮬레이터에서 3개의 Servo모터의 회전 패턴을 만들면 됩니다.


대충 이렇게 3개를 가상시뮬레이터서 준비하고 나머지 관찰한 관절 움직임을 코딩하면 됩니다. 관절 다리의 움직임은 이 세개의 Servo모터 회전을 순차적 회전 패턴을 만들어서 전진 보행을 만들어 내면 됩니다.

마지막으로, 제가 post하는 순서를 잘 읽어주시기 바랍니다. 특정 검색된 post의 이미지에서 어떻게 관찰을 했는지 그 관찰을 제가 어떻게 접근했는지를 보시고 다른 post에 대해 탐구하실 때 써먹으시면 합니다. 오늘 post의 관찰 핵심은 관절 다리 한개의 3개의 Servo모터 제어입니다. 이 3개의 Servo모터를 어떤식으로 패턴 회전을 시키느냐에 따라 6족 보행로봇이 움직이게 됩니다. 여러분들이 3개의 Servo모터를 회전 시킬 수 있으면 충분히 6족 보행로봇을 움직이게 할 수 있을거라 생각됩니다.

마무리


오늘 post는 아두이노와 관련 된 작품 하나를 관찰하는 과정을 간단히 이야기를 했네요. 참고로 실제로 제작을 한다면 다음과 같은 준비물이 필요합니다. 6족 보행 로봇은 총 18의 Servo모터를 필요 합니다. Servo모터를 많이 사용하기 때문에 그냥 아두이노로 제어 할 수 없습니다. Servo Motor Controller Driver가 필요 합니다. 다수의 Servo모터를 제어할 수 있습니다. 그리고 6족 보행로봇 뼈대, 아두이노, 외부전원 공급장치가 있으면 6족 보행로봇을 만들 수 있겠죠.

댓글()