뉴티씨



  • HOME
  • 고객지원
  • 갤러리

  • 리스트
Micro Rover 자동 경로 이동 장치 개발 12-02-21 16:10
관리자 HIT : 3341


Micro Rover란 자동 항법 알고리즘을 토대로 목표 지점까지 이동한 뒤 주어진 임무를 수행하는 소형 로버를 말한다. 자동으로 경로를 추적하고 장애물을 만나면 회피 및 돌파를 할 수 있어야 하며 설정된 목표 지점에서는 주어진 임무를 수행해야 하기에, 자동제어 알고리즘과 함께 AVR, 각종 센서들을 제어할 수 있어야 한다. 필자가 제작한 로버는 기본적으로 GPS 수신 기능, RF 통신, Analog 온도센서, Digital 온도센서, 적외선 센서 (3EA), ATmega128 (2EA), Camera Module 등을 장착하고 있다. 본 포스팅에서는 학부 과정 프로젝트로 3개월동안 설계 및 제작하였던 Micro Rover를 소개하도록 하겠다.




"Moon Walker" Introduction

본 프로젝트에서는 우주 탐사에 있어 인류의 최초 도약지가 되었던 달에서의 역사적인 발자국에 의미를 담아, 설계하고자 하는 Micro Rover를 “달을 걷는 Rover” 라는 뜻으로 “Moon Walker” 라 명명하였다. 이는 Micro Rover 설계 프로젝트명으로써 팀명과 Micro Rover를 통합하는 명칭이다.

프로젝트 명칭 및 마크

▲ 프로젝트 명칭 및 마크


팀원은 총 6명으로 시스템을 총 6분야로 세분화하여 프로젝트를 진행하였다. System Engineering 을 기준으로 시스템은 각각 Avionics System (On board Computer 시스템), Communication Sub-System (통신), Navigation Sub-System (항법), Power Sub-System (전력 공급 및 분배), Instrument System (회피 모드 및 임무에 필요한 sensor 관리), Structure Sub-System (구조 및 motion 설계) 이다.

시스템 구성

▲ 시스템 구성




  Operation Concept


Micro Rover는 기본적으로 GPS 수신 및 좌표 송신을 통하여 정해진 목표지점의 좌표로 이동해야하며, 주행 경로에 장애물이 있을 경우에는 이를 회피하거나 넘어갈 수 있어야 한다. 또한 목표 지점에 도착해서는 온도측정이나 촬영, 전송 등의 임무를 수행한다. 이와 같은 임무를 수행하기 위해서는 기본적인 작동을 위한 구조 설계 및 해석, 통신, 전자, 전력 공급, 항법, 계기 장치 등의 기능적인 측면을 학습하고 운용개념을 정립해야 한다.

시스템 운용 개념

▲ 시스템 운용 개념


위의 그림은 System Operation에 대한 Concept Design을 한 것이다. 먼저 Micro Rover에 이동하고자 하는 목표지점을 입력하고 Micro Rover로부터 Rover의 위치좌표를 수신 받게 된다. 운행을 시작한 시점부터 지속적으로 GPS로부터 지형정보를 송수신 받게 되며 Micro Rover는 지속적으로 받고 있는 지형정보와 목표지점의 좌표를 대조해 가며 목표지점으로 이동한다.

이동 중 장애물을 조우하면 Instrument System의 센서 감지로 인해 Hazard Detection Mode로 변경되며, MCU는 Motor Controller로 모터의 회전수 조절을 지시하여 최종적으로 Micro Rover는 장애물을 회피하게 된다. 마지막으로 Micro Rover가 무사히 목표지점에 도착하게 되면 그 지형의 온도를 측정하고 표면 및 환경을 촬영하고 전송하는 임무를 수행하게 된다. 세부적인 사항은 다음의 항목들을 참고한다.



  Operation Mechanism


본 설계에 앞서 기능적인 시스템의 구성을 Team Introduction에서 거론하였고, 운용 개념에 대한 4단계의 Mode를 다음과 같이 설정한다. Micro Rover의 위치 좌표를 수신 및 계산하여 목표지점의 좌표로 이동하기 위한 대기상태를 Initial Mode, 목표지점까지의 이동 및 돌파를 수행할 수 있는 기본 주행상태인 Moving Mode, 그리고 장애물 및 예측하기 어려운 상황에서의 대처 능력을 요하는 Hazard Detecting Mode, 마지막으로 목표지점에서 임무를 수행할 수 있는 Mission Mode 단계로 설정한다.

Operation Timeline

▲ Operation Timeline


위의 그림에서는 각 Sub System의 시간대별 작동 운영 개념을 정리한 표이다. 전체적인 개념설계에 있어 Timeline을 설정함으로써 Micro Rover 설계를 더욱 체계화하고 각 Sub System간의 상호 의견교환이 용이할 수 있도록 하였다.

Data Flow Diagram을 작성하여 전체 System을 세분화하고 한눈에 알아보기 쉽도록 구성한다. 또한 각 세부 Module과 System을 관리하는 파트를 지정하여 임무 분담과 함께 시스템 설계에 있어 효율성을 극대화하도록 하였다. 아래의 그림은 “Moon Walker”의 Data Flow와 함께 Sub System의 구조를 보여주는 Diagram과 Mechnism이다.

Data Flow Diagram

▲ Data Flow Diagram


Operation Mechanism Diagram

▲ Operation Mechanism Diagram






각종 테스트 동영상

Moon Walker는 기본적으로 자동 경로 항법 모드와 함께 각 모드 별로 따로 임무를 수행할 수 있도록 설계하였다. 자동 항법 모드에서는 수신받는 위성 수가 5개 이상일 경우, 목표지점으로의 주행을 시작하며 장애물 회피 및 돌파 등의 Hazard Mode 및 GPS Parsing, 내부 온도 측정 등의 기본 주행모드에서의 임무를 수행하며, 목표지점에 도착 후에는 외부 온도를 측정하여 최종 임무를 완수한다.

또한 Rover가 수행하는 모든 기능을 개별수행이 가능하도록 프로그래밍 하였다. GPS Parsing, Motor control, Analog/Digital Temperature sensing, Hazard detection Mode 모두 각각의 조작키를 설정하여 GS(개발자의 노트북)에서 무선통신으로 수동 조작이 가능하다.

키보드 방향키를 이용하여 수동 조작으로 Rover를 임의로 동작시킬 수 있으며 속도 및 방향 제어, 90도 회전 후 정지 등의 다양한 기능도 가능하게 하였다. ‘m'을 입력 시, 외부 온도만을 측정할 수 있으며, ’n' 입력 시 내부 온도 측정, ‘p' 입력 시 GPS 정보만을 출력, ’r‘ 입력 시 목표 지점 좌표를 송신할 수 있다. 또한 ’h' 입력 시에는 직진과 함께 Hazard Mode 만을 동작하여 미로 돌파만을 따로 작동시킬 수 있도록 설계하였다.



  수동 모터 컨트롤 + 장애물 넘기


<scRIPT type=text/javascript>//\ \ \ \ \ \ ")//]]></scRIPT>


Moon Walker의 바퀴 지름은 9cm 로서 5cm 미만의 장애물은 넘어갈 수 있도록 구조를 설계하였고, 5cm 이상의 장애물은 전방 2개의 적외선 센서에 의하여 탐지하며 회피하는 알고리즘을 적용하였다. 위의 동영상은 키보드를 이용하여 수동으로 조작하였으며 5cm 미만의 장애물을 완만히 넘어가는 구조임을 알 수 있다. 바퀴는 모두 8개이며 2개의 12V-4.5kgf-DC Motor 에 의하여 모든 바퀴에 Gear를 이용하여 동력 전달이 가능하도록 설계하였다.



  장애물 피하기


<scRIPT type=text/javascript>//\ \ \ \ \ \ ")//]]></scRIPT>

일단 로버가 갖고 있는 Hazard detection의 조건은 안전거리 밖에서 장애물이 감지될 때, 안전거리 내에서 장애물이 감지되었을 때, 좌회전 후 오른쪽에 장애물이 감지되었을 때 이렇게 3가지이다. 안전거리 밖에서 장애물이 감지되면 좌로 90로 회전하고 직진하고 다시 90 우회전하여 장애물을 회피한다. 이 때, 회전 후에도 장애물이 감지되면 지속적으로 회피 알고리즘은 적용된다. 이 과정은 계속해서 반복될 수 있다.

안전거리 안에서 장애물이 감지되면 후진 후에 좌회전 후 직진, 다시 우회전하여 장애물을 회피한다. 역시 이 과정도 반복이 가능하고 회전 후에 감지 거리에 따라 그냥 회전 또는 후진 후 회전을 판단한다. 이 때, 회전 후 오른쪽에 장애물이 감지되면 계속해서 직진한다.



  미로 빠져나가기


<scRIPT type=text/javascript>//\ \ \ \ \ \ ")//]]></scRIPT>


정면의 IR sensor가 장애물의 유무, 안전거리를 판단한다면, 우측에 부착된 IR sensor는 장애물의 모양이나 형태에 따라 다양한 회피구동을 가능하게 한다. 먼저, 정면의 장애물 감지로 Rover가 좌회전을 하고 회피를 위해 우측 IR sensor로 감지한다. 우측 IR sensor에 장애물이 감지되지 않을 때까지 직진함으로써 벽과 막다른길 등 미로탈출을 가능하게 하는 회피구동이 가능해진다. 즉, 오른손으로 벽을 짚고 미로를 빠져나가는 우수법과 같은 방식이다.





최종 결과 - 경로 추적 동영상 및 사진



Item

Note

Structure

과학상자 (철)

Size (cm)

37(L)×34(W)×23(H)

Weight

3.8 kg

Velocity

:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />28cm/s

Torque

9kgf-cm

Power

12V (2200mAh)

통신거리

450m

주파수

2.4GHz

임무

온도측정 및 사진 전송

Wheel

지름 9cm / 6륜구동

비고

GPS 수신 기능, RF 통신,

Analog 온도센서,

Digital 온도센서,

적외선 센서 (3EA),

ATmega128 (2EA),

Camera Module 등 장착




  자동 항법, 장애물 회피 돌파 및 온도 측정 등 최종 동영상


<scRIPT type=text/javascript>//\ \ \ \ \ \ ")//]]></scRIPT>


최종 테스트는 농구장에서 시행해보았다. 운용 거리가 큰 운동장에서도 테스트를 해보았지만 용량이 초과되는 관계로 농구장 테스트 동영상만 올리도록 하겠다.

위의 동영상에서 주행 경로 및 위도, 경도, 각도, 남은 거리, 내부 온도, 외부 온도, 회피 모드 여부 등 주행 상태는 LABVIEW 프로그램을 이용하였으며 모두 자동 제어 알고리즘에 의하여 구동한다. 먼저 온도를 측정(임무)하고자 하는 목표 지점의 위도 경도를 로버에 송신하고 자동 주행 모드를 시작한다.

먼저 위성으로부터 GPS를 받기 시작하고 수신받는 위성수가 5개 이상일 때부터 주행을 시작한다. Fuzzy 제어 알고리즘에 의하여 최단 경로를 찾아 주행하며 중간에 5cm 미만의 장애물은 넘어가고 5cm 미만의 장애물을 조우 시에는 회피하게 된다. 내부 온도 또한 실시간으로 송신하며 모든 data들은 LabView 프로그램을 통하여 지상국(노트북)에서 실시간으로 확인할 수 있다.

목표 지점에 도착한 후에는 주행을 정지하고 외부에 장착되어 있는 2개의 온도센서로 data를 송신하며 LabView에 표시됨과 동시에 지상국(노트북)에 data는 저장된다. 이러한 자동 주행 모드에서의 항법 정보 및 임무 수행 결과 data는 모두 지상국(노트북)에 data 파일로 저장되며 추후에 분석할 수 있도록 하였다. 중간에 목표 지점을 수정하여 송신할 수도 있으며 여러 목표 지점을 거쳐 최종 목적지에 도착할 수 있도록 설계하였다.



  Moon Walker 구조 사진







결론 및 향후 개발 내용

본 프로젝트에서 Moon Walker라 명명한 Micro Rover는 설계에 앞서 설정하였던 모든 Requirement를 모두 만족하였으며, Contest를 완벽하게 수행하였다. 기존의 자동 항법 기능과 더불어 각종 추가임무도 함께 수행하였으며, Camera 동작 기능만을 제외하고 모든 추가임무도 완수하였다. ATmega 128은 실시간 영상을 처리하기에는 다소 성능이 부족하였고, Camera를 위한 UART의 지원을 위하여 MCU를 추가 장착하여 SPI 통신과 함께 Camera 사진 촬영까지는 성공적으로 완수하였으나, 통합과정에서 시간의 부족으로 임무를 완료하지 못하였음에 아쉬움이 남는다.

필자는 기계공학과이다. 납땜 한번 해본 적 없고 센서는 처음 다뤄 봤으며 심지어 핵심인 AVR은 프로젝트를 시작하기 전에는 무엇인지 알지도 못하였다. 한 학기동안 다른 공부는 뒤로 하고 AVR과 회로 공부에만 집중하다 보니 막상 제어 설계를 체계적으로 하지 못한 아쉬움이 가장 크다. 실상 프로젝트를 진행하면서 GPS 오차 보정 및 PID, Fuzzy 제어를 사용하지도 않았으며 시뮬레이션 과정도 없이 설계하였다.

이에 본 프로젝트에서 배운 여러 지식들을 바탕으로 졸업논문 연구에서 자동 항법 장치를 새롭게 설계해볼 생각이다. 기본적으로 INS와 DGPS를 사용하여 정밀 위치 추정 시스템을 설계하고 다음 단계로 다수 동시 제어가 가능한 네트워킹 시스템을 개발할 예정이다. 마지막으로 앞서 계획한 조건들이 충족된 후, 다수 항법 장치 중 Master를 쿼드콥터로 하여 항공(공중) 자세 제어에 도전해볼 생각이다. 물론 하고싶을 뿐이다. 될지는 모르겠지만..

본 프로젝트에 소요된 시간은 대략 3달 정도이며, 제작비는 총 60만원으로 모든 구조를 자체 제작하였으며 개발보드 또한 직접 개발하였다. 앞으로 게시할 Micro Rover (로버) 관련 포스팅에서는 자세한 설계 개념과 제작기를 작성할 예정이다.
 
  • 리스트