서론 : 로봇의 시대가 다가오고 있다. 여기 저기서 이런 저런 로봇을 개발하였다는 소식들이 바쁘게 들려오고 있다. 인하대학교는 인하대/한양대/부산대 콘소시엄을 통해 지식경제부가 지원하는 로봇 특성화 대학원 사업에 선정되었으며 2010년도 1학기부터 정식으로 대학원생을 모집하게 된다. 이에 발맞춰 Embedded Control Lab.에서도 다양한 로봇 실험을 수행할 수 있도록 로봇 플랫폼이 있어야겠다는 생각이 들어 간단한 형태의 Mobile Robot을 제작하게 되었다. 제작된 로봇은 비록 구조는 간단하지만 다양한 실험을 수행해 볼 수 있을 것으로 예상된다.

설계 : 3차원 설계 프로그램을 이용하여 대략적으로 설계를 수행하였다. 그림 1은 설계된 mobile robot의 정면, 측면, 밑면, 그리고 등각도이다. 2개의 바퀴를 이용하여 이동을 하고 작은 보조바퀴 2개를 이용하여 앞뒤로 넘어짐을 방지하는 구조이다. 기본적인 주행 시험과 각종 실험이 끝나면 보조 바퀴를 떼어낸 후 무인 Segway를 만들 예정이다.

- 바퀴는 이동시 바닥과의 미끄러짐을 방지하기 위해 에어 바퀴를 사용하였다. 로봇을 위해 딱 맞게 나오는 바퀴는 눈을 씻고 찾아봐야 없다. 어쩔 수 없이 산업용품 유통 센터를 뒤지다 값싼 중국산 바퀴를 발견하게 되어 이것을 이용하여 설계를 하였다.

- DC 모터를 사용하였으며 49:1의 감속비를 갖는 감속기를 사용하였다. 바퀴와 모터간의 동력전달은 모듈 1.0의 Spur Gear를 사용하였다.

- 로봇의 몸체는 모두 알루미늄으로 설계하였다. 로봇은 하판과 상판으로 구성해서 각각 필요한 곳에 필요한 제어 장치를 장착할 수 있도록 할 예정이다.

  
그림 1. 설계된 Mobile Robot의 정면도, 측면도, 밑면도, 등각도

기구부 가공 : 기구부 가공은 언제나 그렇지만 고된 작업이다. CAM 작업을 해야 하고 CNC를 이용하여 가공하는 시간도 많이 걸리기 때문이다. 게다가 다 끝난 다음에 CNC 청소하는 작업도 정말 귀찮기 짝이없다. 그러나 완성된 기구물을 조립하는 시간은 가공하는 시간에 비해 훨씬 즐거운 시간이다. 이번 Mobile robot의 기구부 가공에는 ECLCNC2가 사용되었다. Bed가 넓직하기 때문에 큰 기구물도 가공할 수 있고 강성이 좋아지고 스핀들 힘도 세어져서 ECLCNC1에 비해 훨씬 수월하게 작업을 진행할 수 있었다. 그림 2는 Mobile robot의 제작에 사용되는 부품들을 펼쳐놓은 그림이다. 기구물은 모두 알루미늄 6061로 가공되었다. 두께는 주로 6mm를 사용하였으며 가공에는 직경 5mm의 평엔드밀을 이용하여 사정없이 가공해 주었다. CNC를 이용해 모두 가공이 되어 주면 고맙겠지만 탭을 내야 하는 작업은 어쩔 수 없이 연구실에 있는 밀링을 사용하였다. 이런 것도 모두 자동으로 되면 얼마나 좋을까...


그림 2 : Mobile robot의 부품들.

 

조립 : 가공에 비하면 조립은 정말 행복한 시간이다. 그러나 이 Mobile robot은 조립도 그리 간단하지는 않았다. 여러가지 시행착오끝에 약 서너 시간은 걸린 것 같다. 그림 3은 모터와 기어부의 조립된 모습이다. 참고로 감속기는 49:1이고 모터는 1회전당 38펄스를 발생하는 rotary encoder가 부착되어 있다. 그림 4는 로봇의 Base 부분이 조립된 모습을 보여준다. 그림 3에서 조립한 모터부가 장착되어 있는 것을 볼 수 있다. 그림 5는 하판과 바퀴까지 마저 조립한 모습이다. 이제 설계도의 모습과 유사한 모양이 나오는 것을 볼 수 있다. 그림 6은 로봇의 Base 부분을 위에서 찍은 사진이다. 음, 깔끔하다. 무언가 해보고 싶은 생각이 마구 용솟음 친다. 뭘 해볼까? 제어? 자율주행? SLAM? 할 수 있는 것은 무궁무진하다. 그림 7은 상판까지 조립이 끝난 Mobile robot의 기구부이다. 어떤가? 설계도와 비슷한가?


그림 3. 모터와 기어부의 조립된 모습

   
그림 4 : 로봇의 Base 부분의 조립된 모습


 
그림 5: 바퀴와 하판까지 조립된 로봇의 Base 부분 (밑면 모습)


그림 6 : 로봇의 Base 부분 (윗면 모습)


그림 7 : 완성된 Mobile robot의 기구부

제어 : Mobile robot의 제어는 2가지 방식을 생각해 볼 수 있다. 첫번째는 보조바퀴를 장착한 상태로 주행제어, 궤적 생성, 충돌회피와 같은 주제들을 다루어볼 수 있는 제어 방식이고 두번째는 보조바퀴를 떼어내어 앞/뒤로 넘어질 수 있는 robot을 제어를 이용하여 자세 안정화를 안정화시킴과 동시에 주행제어를 하는 형식의 제어이다. 두가지 주제 모두 다양한 지식을 가지고 있어야 구현 가능하기 때문에 석/박사 학위 과정의 학생들의 학업이나 연구를 위해 좋은 주제라고 생각된다. 첫번째 주제의 robot은 그냥 Mobile robot 이라고 하고 두 번째 주제의 robot은 Mobile inverted pendulum robot 이라고 부르기로 하자. ECL에서는 TMS320F2812 Base board를 이용하여 두가지 robot에 대한 제어를 수행하였다.

1. Mobile robot 의 제어

구현은 되어 있지만 소개의 글은 추후에 작성하기로 한다.

2. Mobile inverted pendulum robot 의 제어

inverted pendulum 형태의 robot을 자세제어 하기 위해서는 자세 정보를 측정하기 위한 센서가 필요하다. ECL에서는 1축 gyro 센서와 2축 가속도 센서를 Kalman filter를 이용하여 융합함으로써 robot 의 자세정보를 방식을 취하였다. 이 방식의 센서는 기울기 정보를 측정하기 위해 채택하는 가장 일반적인 방식중의 하나이다. 제어 알고리즘에 대한 개괄적인 내용에 대한 언급은 추후 시간이 허락할 때 좀더 자세히 소개하기로 한다. 위에서 언급한 하드웨어를 이용하여 제어를 수행하였으나 여러 가지 이유로 결국 하드웨어를 수정하였다. 첫 번째 수정은 motor의 교체이다. 비싸다는 Maxon motor를 사용하였다. 이전에는 국산 모터와 기어박스를 썼는데 결국 해보다가 두손 들고 말았다. 기어박스의 backlash가 너무 커서 제어성능이 너무 떨어졌다. 두 번째 수정은 motor에 직결된 encoder 대신 바퀴의 축에 직접 encoder를 직결하도록 한 것이다. 아래의 그림은 하드웨어가 수정된 robot의 하단부를 보여주고 있다.


그림 8. 수정된 하드웨어 (로봇의 바닥 부분)  [확대사진]

robot의 제어 가능여부를 궁금히 여기는 분들을 위해 robot 에 제어시스템을 장착한 사진과 인하대학교 교정에서 이루어진 robot의 제어실험 동영상을 Link 하였다.


그림 9. 제어부를 장착한 Mobile inverted pendulum robot

[확대 사진]    [실험동영상]