59
i 工學碩士 學位論文 센서를 활용한 이족보행로봇의 구동 Biped Walking Robot Operation Using Sensors 指導敎授 崔 炯 植 2002 年 8 月 韓國海洋大學校 大學院 機 械 工 學 科

센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

i

工學碩士 學位論文

센서를 활용한 이족보행로봇의 구동

Biped Walking Robot Operation Using Sensors

指導敎授 崔 炯 植

2002 年 8 月

韓國海洋大學校 大學院

機 械 工 學 科

金 永 植

i

Biped Walking Robot Operation Using Sensors

Young-Sik Kim

Department of Mechanical Engineering

Graduate School Korea Maritime University

Abstract

This thesis obtains the information of the walking of the pattern

developed biped robot in our laboratory and shows autonomous walking of

the robot sensors For a walking motion of the biped walking robot

humanrsquos walking data are obtained by using the motion capture system to

apply manrsquos walking pattern and then robotrsquos walking motion is analyzed

with the obtained data by utilizing the computer simulation It which was

the control system for control experiment of the walking robot was made

and robot which has motion capture simulation data tests out robotrsquos

walking to remote control These systems for walking simulation and

autonomous walking utilize an ultrasonic sensor and a gyro sensor The

ultrasonic sensor perceives the distance of obstacles in real time is

programmed to avoid obstacles The gyro sensor the incline angle

information of the walking robot to balance itrsquos posture Ultrasonic waves

and the gyro sensor controller are developed for remote walking of the

ii

biped walking robot obtained data Though this experiment of biped

walking robot that operates from the command Those which were Data-

Base of self-control walking remote control and simulation were secured

by this thesis

iii

기 호 설 명

1d 발목관절의 볼나사의 미끄럼변위

2d 무릎관절의 볼나사의 미끄럼변위

3d 힙관절의 볼나사의 비끄럼변위

1q 발목관절의 회전각

2q 무릎관절의 회전각

3q 힙관절의 회전각

1φ 발목관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

2φ 무릎관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

3φ 힙관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

1a 2a 3a 발목관절 4절링크의 링크길이

1b 2b 3b 무릎관절 4절링크의 링크길이

1c 2c 3c 힙관절 4절링크의 링크길이

1l 발목에서 무릎까지의 길이

2l 무릎에서 힙까지의 거리

degφ 회전 변위

r 모터 회전수

y 모션 캡쳐 획득 데이터

p 피치

d 이송 거리

L 초음파 센서 검출 거리

T 초음파 반사 시간

V 음속

cf 컷-오프 주파수

R 저항

C 컨덴서

iv

목 차

Abstract

기호설명

그림목차

제 1 장 서론 1

제 2 장 이족보행로봇의 기구 메커니즘 3

2 1 사절 링크와 볼나사 구동기 3

2 2 발목관절 5

2 3 무릎관절 7

2 4 골반관절 8

제 3 장 이족보행로봇의 구동 11

3 1 모션 캡쳐 시스템의 종류 11

3 1 1 기계식 12

3 1 2 광학식 12

3 1 3 자기방식 13

3 2 모션 캡쳐 시스템의 구성 및 시뮬레이션 13

3 3 이족보행로봇의 시스템 구성 16

3 3 1 Mobile Computer 19

3 3 2 모터 구동 보드(MMC-PV8) 21

3 3 3 모터 인터페이스 23

v

제 4 장 이족보행로봇 센서 25

4 1 구동용 센서 25

4 1 1 초음파 센서25

4 1 2 자이로 센서 28

4 1 3 포텐셔미터 31

4 2 센서 신호 시스템 32

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험 34

51 실험 장치 구성 34

5 2 실험 및 고찰 41

제 6 장 결론 47

참고문헌 48

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 2: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

i

Biped Walking Robot Operation Using Sensors

Young-Sik Kim

Department of Mechanical Engineering

Graduate School Korea Maritime University

Abstract

This thesis obtains the information of the walking of the pattern

developed biped robot in our laboratory and shows autonomous walking of

the robot sensors For a walking motion of the biped walking robot

humanrsquos walking data are obtained by using the motion capture system to

apply manrsquos walking pattern and then robotrsquos walking motion is analyzed

with the obtained data by utilizing the computer simulation It which was

the control system for control experiment of the walking robot was made

and robot which has motion capture simulation data tests out robotrsquos

walking to remote control These systems for walking simulation and

autonomous walking utilize an ultrasonic sensor and a gyro sensor The

ultrasonic sensor perceives the distance of obstacles in real time is

programmed to avoid obstacles The gyro sensor the incline angle

information of the walking robot to balance itrsquos posture Ultrasonic waves

and the gyro sensor controller are developed for remote walking of the

ii

biped walking robot obtained data Though this experiment of biped

walking robot that operates from the command Those which were Data-

Base of self-control walking remote control and simulation were secured

by this thesis

iii

기 호 설 명

1d 발목관절의 볼나사의 미끄럼변위

2d 무릎관절의 볼나사의 미끄럼변위

3d 힙관절의 볼나사의 비끄럼변위

1q 발목관절의 회전각

2q 무릎관절의 회전각

3q 힙관절의 회전각

1φ 발목관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

2φ 무릎관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

3φ 힙관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

1a 2a 3a 발목관절 4절링크의 링크길이

1b 2b 3b 무릎관절 4절링크의 링크길이

1c 2c 3c 힙관절 4절링크의 링크길이

1l 발목에서 무릎까지의 길이

2l 무릎에서 힙까지의 거리

degφ 회전 변위

r 모터 회전수

y 모션 캡쳐 획득 데이터

p 피치

d 이송 거리

L 초음파 센서 검출 거리

T 초음파 반사 시간

V 음속

cf 컷-오프 주파수

R 저항

C 컨덴서

iv

목 차

Abstract

기호설명

그림목차

제 1 장 서론 1

제 2 장 이족보행로봇의 기구 메커니즘 3

2 1 사절 링크와 볼나사 구동기 3

2 2 발목관절 5

2 3 무릎관절 7

2 4 골반관절 8

제 3 장 이족보행로봇의 구동 11

3 1 모션 캡쳐 시스템의 종류 11

3 1 1 기계식 12

3 1 2 광학식 12

3 1 3 자기방식 13

3 2 모션 캡쳐 시스템의 구성 및 시뮬레이션 13

3 3 이족보행로봇의 시스템 구성 16

3 3 1 Mobile Computer 19

3 3 2 모터 구동 보드(MMC-PV8) 21

3 3 3 모터 인터페이스 23

v

제 4 장 이족보행로봇 센서 25

4 1 구동용 센서 25

4 1 1 초음파 센서25

4 1 2 자이로 센서 28

4 1 3 포텐셔미터 31

4 2 센서 신호 시스템 32

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험 34

51 실험 장치 구성 34

5 2 실험 및 고찰 41

제 6 장 결론 47

참고문헌 48

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 3: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

ii

biped walking robot obtained data Though this experiment of biped

walking robot that operates from the command Those which were Data-

Base of self-control walking remote control and simulation were secured

by this thesis

iii

기 호 설 명

1d 발목관절의 볼나사의 미끄럼변위

2d 무릎관절의 볼나사의 미끄럼변위

3d 힙관절의 볼나사의 비끄럼변위

1q 발목관절의 회전각

2q 무릎관절의 회전각

3q 힙관절의 회전각

1φ 발목관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

2φ 무릎관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

3φ 힙관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

1a 2a 3a 발목관절 4절링크의 링크길이

1b 2b 3b 무릎관절 4절링크의 링크길이

1c 2c 3c 힙관절 4절링크의 링크길이

1l 발목에서 무릎까지의 길이

2l 무릎에서 힙까지의 거리

degφ 회전 변위

r 모터 회전수

y 모션 캡쳐 획득 데이터

p 피치

d 이송 거리

L 초음파 센서 검출 거리

T 초음파 반사 시간

V 음속

cf 컷-오프 주파수

R 저항

C 컨덴서

iv

목 차

Abstract

기호설명

그림목차

제 1 장 서론 1

제 2 장 이족보행로봇의 기구 메커니즘 3

2 1 사절 링크와 볼나사 구동기 3

2 2 발목관절 5

2 3 무릎관절 7

2 4 골반관절 8

제 3 장 이족보행로봇의 구동 11

3 1 모션 캡쳐 시스템의 종류 11

3 1 1 기계식 12

3 1 2 광학식 12

3 1 3 자기방식 13

3 2 모션 캡쳐 시스템의 구성 및 시뮬레이션 13

3 3 이족보행로봇의 시스템 구성 16

3 3 1 Mobile Computer 19

3 3 2 모터 구동 보드(MMC-PV8) 21

3 3 3 모터 인터페이스 23

v

제 4 장 이족보행로봇 센서 25

4 1 구동용 센서 25

4 1 1 초음파 센서25

4 1 2 자이로 센서 28

4 1 3 포텐셔미터 31

4 2 센서 신호 시스템 32

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험 34

51 실험 장치 구성 34

5 2 실험 및 고찰 41

제 6 장 결론 47

참고문헌 48

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 4: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

iii

기 호 설 명

1d 발목관절의 볼나사의 미끄럼변위

2d 무릎관절의 볼나사의 미끄럼변위

3d 힙관절의 볼나사의 비끄럼변위

1q 발목관절의 회전각

2q 무릎관절의 회전각

3q 힙관절의 회전각

1φ 발목관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

2φ 무릎관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

3φ 힙관절 4절링크의 회전각에서 볼나사 미끄럼 변위까지의 수직거리

1a 2a 3a 발목관절 4절링크의 링크길이

1b 2b 3b 무릎관절 4절링크의 링크길이

1c 2c 3c 힙관절 4절링크의 링크길이

1l 발목에서 무릎까지의 길이

2l 무릎에서 힙까지의 거리

degφ 회전 변위

r 모터 회전수

y 모션 캡쳐 획득 데이터

p 피치

d 이송 거리

L 초음파 센서 검출 거리

T 초음파 반사 시간

V 음속

cf 컷-오프 주파수

R 저항

C 컨덴서

iv

목 차

Abstract

기호설명

그림목차

제 1 장 서론 1

제 2 장 이족보행로봇의 기구 메커니즘 3

2 1 사절 링크와 볼나사 구동기 3

2 2 발목관절 5

2 3 무릎관절 7

2 4 골반관절 8

제 3 장 이족보행로봇의 구동 11

3 1 모션 캡쳐 시스템의 종류 11

3 1 1 기계식 12

3 1 2 광학식 12

3 1 3 자기방식 13

3 2 모션 캡쳐 시스템의 구성 및 시뮬레이션 13

3 3 이족보행로봇의 시스템 구성 16

3 3 1 Mobile Computer 19

3 3 2 모터 구동 보드(MMC-PV8) 21

3 3 3 모터 인터페이스 23

v

제 4 장 이족보행로봇 센서 25

4 1 구동용 센서 25

4 1 1 초음파 센서25

4 1 2 자이로 센서 28

4 1 3 포텐셔미터 31

4 2 센서 신호 시스템 32

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험 34

51 실험 장치 구성 34

5 2 실험 및 고찰 41

제 6 장 결론 47

참고문헌 48

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 5: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

iv

목 차

Abstract

기호설명

그림목차

제 1 장 서론 1

제 2 장 이족보행로봇의 기구 메커니즘 3

2 1 사절 링크와 볼나사 구동기 3

2 2 발목관절 5

2 3 무릎관절 7

2 4 골반관절 8

제 3 장 이족보행로봇의 구동 11

3 1 모션 캡쳐 시스템의 종류 11

3 1 1 기계식 12

3 1 2 광학식 12

3 1 3 자기방식 13

3 2 모션 캡쳐 시스템의 구성 및 시뮬레이션 13

3 3 이족보행로봇의 시스템 구성 16

3 3 1 Mobile Computer 19

3 3 2 모터 구동 보드(MMC-PV8) 21

3 3 3 모터 인터페이스 23

v

제 4 장 이족보행로봇 센서 25

4 1 구동용 센서 25

4 1 1 초음파 센서25

4 1 2 자이로 센서 28

4 1 3 포텐셔미터 31

4 2 센서 신호 시스템 32

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험 34

51 실험 장치 구성 34

5 2 실험 및 고찰 41

제 6 장 결론 47

참고문헌 48

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 6: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

v

제 4 장 이족보행로봇 센서 25

4 1 구동용 센서 25

4 1 1 초음파 센서25

4 1 2 자이로 센서 28

4 1 3 포텐셔미터 31

4 2 센서 신호 시스템 32

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험 34

51 실험 장치 구성 34

5 2 실험 및 고찰 41

제 6 장 결론 47

참고문헌 48

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 7: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

vi

표 목 차

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

그림 목차

그림 2 1 볼 스크류 구동기

그림 2 2발목관절의 사절 링크 기구

그림 2 3 무릎관절의 4절 링크 기구학 모델링

그림 2 4 힙관절의 4절 링크 기구학 모델링

그림 3 1 모션캡쳐 시스템 기구부

그림 3 2 모션캡쳐 시스템 블록도

그림 3 3 이족 보행 로봇의 모션캡쳐 시스템 신호흐름 블록도

그림 3 4 이족 보행 로봇의 신호 흐름도

그림 3 5 모터제어 블록도

그림 3 6 바이폴러 유니폴러 변환 블록도

그림 3 7 PWM 발생기

그림 4 1 초음파의 주파수 영역

그림 4 2 송수신 분리방식

그림 4 3 송수신 일체형

그림 4 4 초음파 센서 회로 블록도

그림 4 5 간섭형 광 파이버 자이로 센서

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 8: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

vii

그림 4 6 MEMS형 자이로 센서의 구조물

그림 4 7 자이로센서 블록도

그림 4 8 포텐셔 미터의 블록도

그림 4 9 센서데이터 흐름도

그림 5 1 이족 보행 로봇 구동 블록도

그림 5 2 2차 저역 필터 회로도

그림 5 3 이족 보행 로봇의 모터 축 번호

그림 5 4 초음파 센서 회로도

그림 5 5 초음파 센서 신호 흐름도

그림 5 6 자이로 센서 회로도

그림 5 7 보행시 왼쪽 관절의 변위

그림 5 8 보행시 오를쪽 관절의 변위

그림 5 9 보행시 양쪽 관절의 변위

그림 5 10 한주기 보행 패턴

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

그림 5 12 초음파 센서 거리 측정 데이터

그림 5 13 자이로 센서 측정 데이터

그림 5 14 로봇 보행 실험 초음파 데이터

그림 5 15 로봇 보행 실험 자이로 센서 데이터

사진 2 1볼 스크류 구동방식의 이족 보행 로봇

사진 2 2 발목관절의 외형

사진 2 3발목관절의 외형

사진 2 4 무릎관절의 외형

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 9: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

viii

사진 2 5 힙관절의 외형

사진 3 1 모션캡쳐 시스템 기구부 착용모습

사진 3 2 Mobile Computer Main Board

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

사진 3 5 모션컨트롤 보드의 인터페이스부와 모터 드라이버부

사진 3 6 모션 컨트럴러 보드

사진 4 1 초음파 센서

사진 4 2 초음파 센서 회로

사진 4 3 MEMS형 자이로센서

사진 4 4 포텐셔 메터

사진 4 5 포텐셔 메터 회로

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 10: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

제 1 장 서론

20C에 들어와 메카트로닉스 기술의 혁신적인 발달로 산업현장에서 인간을

대신하여 다양한 작업을 수행하는 산업용 로봇이 개발되어 왔다 이러한 산업

용 로봇들은 정형화된 공장이라는 환경 내에서 작업자의 단순 반복적인 일을

대신하는 소극적 의미에서의 자동화뿐만이 아니라 오히려 열악한 환경에서 인

간을 해방하고 인간에 비해 훨씬 높은 생산성을 제시하는 적극적 의미에서의

자동화를 가능하게 하고 있다 최근에는 컴퓨터 기술과 제어 기술이 급격히

발전하면서 로봇은 정형화된 산업 현장에서 나와 정형화 되지 않은 환경 또는

인간과 공존하는 환경으로 그 적용 범위를 넓혀가고 있다

정형화된 환경에서의 로봇은 몸체가 고정되어 있거나 몇몇 바퀴로 이동하는

정도의 이동성을 가진다 하지만 정형화 되어 있지 않은 환경에서의 이동성은

정형화된 환경에 비하여 계단이나 문턱 요철 경사로 등의 이동성에 많은 장

애 요소들을 가지고 있다 로봇이 이러한 정형화 되거나 정형화 되지 않은 환

경에서의 이동성을 가지기 위해 로봇에 바퀴나 다리를 부착하여 연구하게 되

었다 바퀴 달린 모바일 로봇은 다리가 있는 로봇에 비하여 제작 및 제거가

쉽고 제어가 용이하며 에너지 효율은 높지만 작업장의 요철이나 계단 등의

장애 요소에서의 이동성이 용이하지 못한 면이 있다 대부분의 생활 환경에는

계단이나 문턱 요철 등의 장애물이 존재한다 따라서 모바일 로봇은 이동성

에 많은 제약을 받게 되지만 인간과 유사한 구조를 갖는 이족보행로봇은 대

부분의 인간의 생활환경과 같은 정형화 되지 않은 공간에서 어려움 없이 작업

을 수행할 수가 있어서 향후 인간 작업 중에 많은 부분을 대행할 것으로 생각

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 11: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

한다

본 논문에서는 실험실에서 개발한 이족보행로봇[1-2]의 보행에 사람의 보

행 패턴을 적용해 보기 위해 모션캡쳐시스템[3-5]를 구성하고 이용하여 사람

의 보행 데이터를 획득하였으며 획득한 데이터는 컴퓨터를 이용하여 시뮬레

이션[6]으로 보행 로봇의 보행 경로[7-11]를 구하였다 보행 로봇의 제어를

위해 모터 드라이버[12]를 제작하였고 모션캡쳐 시뮬레이션으로 구한 데이터

는 원격 제어[13]를 구성하여 보행 로봇의 보행을 하였다 보행 로봇의 보행

중 로봇의 보행을 시뮬레이션[3-5]과 자율 보행을 위한 위해 센서보드[14-

16]를 구성하여 부착하였다 센서는 실시간 장애물 감지[17-18]를 위해 보행

로봇에 부착한 초음파 센서[17-18]와 보행 로봇의 균형을 잡기 위해 자이로

센서의 데이터를 획득하여 보행 로봇의 안정한 자율 보행을 구현하였다

본 논문의 구성은 다음과 같다 2장에서는 본 논문에서 사용된 보행 로봇의

구조를 소개 하였으며 보행 로봇을 구동하는 볼 나사 구동기와 로봇의 4절

링크 구조를 나타내었다 3장에서는 보행 로봇의 구동을 위한 회로와 장치들

을 소개 하였으며 4장에서는 실험에 사용한 센서들을 소개 하였고 5장에서는

실험 장치의 구성과 실험 내용을 설명하였으며 마지막으로 6장에서는 본 논

문에서 실험한 보행 로봇의 보행의 결과와 향후 실험 계획에 관하여 나타내었

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 12: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

제 2 장 이족보행로봇의 기구 메커니즘

2 1 사절링크와 볼나사 구동기

이족보행로봇의 형태는 다관절 로봇과 비슷하나 다관절 로봇은 기저링크가

지면에 고정되어 있고 보행 로봇은 링크가 지면에 고정되어 있지 않다 이는

보행 시에 제일 아래에 있는 기저부에 해당하는 기구부에서 상부의 기구부를

지탱하기 위한 많은 부하를 가지고 움직인다는 것을 알 수 있다 기준좌표 또

한 보행시 보행에 따라 기준좌표가 바뀐다 또한 기존의 보행 로봇의 연구에

서는 감속기를 채용한 모터를 직접 회전 관절에 부착하는 구조로 이루어 졌다

이러한 구조는 로봇의 보행 시에 약간의 충격에도 모터에 직접적인 부하를 가

져와서 모터가 쉽게 손상되는 경우가 발생한다

본 논문에서 실험한 이족보행로봇은 이러한 구조를 벗어나 산업 현장에서

많이 쓰이는 직교로봇의 형태인 고강성을 가지며 높은 기어비를 갖는 볼나사

구동방식의 사절링크 기구를 사용하여 로봇의 관절에 적용 하였다 각각의 관

절 부분은 4절 링크 구조로 되어 있으며 발목 무릎 골반 관절로 구성되어

있다 각각의 관절 부분은 볼나사 구동방식의 직선 운동을 관절의 회전운동으

로 변환되는 방식으로 되어 있다 볼나사 구동기는 그림 2 1과 같은 외형을

가지며 공간 절약을 위해 풀리와 벨트를 이용해서 볼나사와 모터를 평행하게

설계 하였으며 볼나사 구동기는 이족보행로봇의 각 관절에 사용되는 사절링

크를 구동한다 그림 2 1의 그림 A는 모터와 볼나사를 풀리와 벨트로 연결하

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 13: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

여 모터의 회전 운동을 볼나사를 이용하여 직선 운동으로 변환하는 볼나사 구

동기의 평면도 이며 그림 B는 정면도 이다 로봇의 구동을 위해서 관심을 가

지는 것은 볼나사의 직선 변위 d와 관절 링크의 회전 변위각 q의 관계이다

볼나사 구동기를 이용한 이족보행로봇의 구조는 골반에 1자유도 무릎에 1

자유도 발목에 좌우로 움직이는 운동과 앞뒤로 움직이는 운동의 2자유도를

가지며 한쪽 다리에 4자유도씩 양쪽 다리에 총 8자유도를 가지며 사진 2 1

에서와 같은 외형으로 제작하였다 볼나사 구동기는 로봇의 골반관절과 무릎

관절 발목관절에 적용 하였으며 한쪽에 3개씩 총 6관절에 적용하였다

(A)

(B)

그림 2 1 볼나사 구동기

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 14: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

사진 2 1 볼나사 구동방식의 이족보행로봇

2 2 발목관절

발목관절의 외형은 사진 2 2과 같고 좌우운동과 앞뒤 운동 2자유도를 가지

며 기구학적 구조는 그림 2 2와 같은 4절 링크로 이루어져 있다 아래에서

부터 3a 는 발에 해당되고 2a 는 발목관절과 무릎관절을 연결하는 종아리에

해당된다 운동은 4절 링크에서 1d 에 해당하는 볼나사가 미끄럼 운동을 하게

되면 발목관절에 해당하는 회전각 1q 이 회전하는 구조이다 볼나사의 변위를

나타내는 1d 과 회전각 1q 의 관계는 다음과 같다[1-2]

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 15: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

)( 11 YX

1a

2a

3a

1d

1N

1q1β

1φ1O

1θ 11 N+φ

1l

사진 2 2 발목관절의 외형 그림 2 2 발목관절의 사절링크 기구

1112

121

21 cos2 αdadal minus+=

13223

22 cos2 βaaaa minus+= (mm)

( )[ ]2

cos4 50111

211

1βBACCd +++= (mm) (21)

여기서

21

23

221 aaaA minus+=

321 2 aaB minus=

111 cos2 αaC =

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 16: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

이고 링크길이 1a 2a 3a 와 링크 각 1α 1N 은 고정된 값들이며 회전각

1q 과 볼나사의 변위 1d 과의 관계는 다음 식으로 나타낸다

111 Nq minus= β (22)

2 3 무릎관절

무릎관절의 외형은 사진 2 3과 같고 4절 링크 기구는 그림 23 과 같다

그림에서 2b 는 무릎관절과 골반관절을 연결하는 허벅지 부분이며 볼나사 구

동의 직선이동변위는 2d 이다 무릎관절의 볼나사에 해당하는 직선이동변위

2d 와 회전각 2β 의 관계는 발목관절과 유사하고 그 결과 식은 다음과 같다

[1-2]

( )[ ]2

cos4 50222

222

2βBACC

d+++

= (mm) (23)

여기서

21

23

222 bbbA minus+=

322 2 bbB minus=

212 cos2 αbC =

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 17: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

링크길이 1b 2b 3b 와 링크 각 2α 2N kN2 는 고정된 값들이며 무릎관

절에서 관심을 가지는 직선 이동거리 2d 와 회전각 2q 와의 관계는 아래 식 2

4와 같다

222 Nq minusminus= βπ (24)

)( 22 YX

1b

kN 22 +φ

2b

3b2φ

2d 2l

2N

kN22β

2q

2O

사진 2 3 무릎관절의 외형 그림 2 3 무릎관절의 4절 링크 기구학 모델링

2 4 골반관절

골반관절의 외형은 사진 2 4과 같고 해당하는 사절링크 구조는 그림 24와

같다 발목과 무릎에 적용된 관절과 유사한 구조를 가진다 그림에서 1c 2c

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 18: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

3c 의 링크길이와 3α 3N kN31 kN32 의 링크각은 고정된 값들이다 볼나사에

해당하는 직선이동변위는 3d 이고 골반관절의 회전각 3β 와 3d 의 관계식은

다음과 같이 유도된다[1-2]

)( 33 YX 1c

2c

3c

3d

3N

3q

3φ3O

3l

kN31

kN 23

사진 2 4 골반관절의 외형 그림 2 4 골반관절의 4절 링크 기구학 모델링

( )[ ]2

cos4 50333

233

3βBACC

d+++

= (mm) (25)

여기서

21

23

223 cccA minus+=

323 2 ccB minus=

323 cos2 αcC =

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 19: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

10

골반관절의 회전각 3q 와 3d 의 관계는 아래 식 2 6과 같다

33233 βπ minusminusminus= kNNq (26)

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 20: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

11

제 3 장 이족보행로봇의 구동

이족보행로봇의 보행에 필요한 보행 경로를 구하기 위해 모션캡쳐 시스템을

도입하였다 모션캡쳐는 실제 사람의 움직임을 추적하여 얻어낸 데이터를 컴

퓨터 내부에 모델링된 캐릭터에 적용하여 유사한 움직임을 얻어내는 기술이다

모션캡쳐에서 사물의 움직임을 적절히 포착하는 기술은 아주 중요하다 특히

사람이나 동물과 같은 다관절체의 캐릭터는 표현해야 할 움직임의 양이 많고

더욱이 자연스러운 동작을 기술해야 함으로 무척 어려운 문제이다 이를 위하

여 자기 센서나 광학 센서 등의 센서들을 몸에 부착하고 동작을 하면서 각 센

서의 위치와 각도를 기록하는데 이렇게 동작 캡쳐로 만든 데이터가 있으면

원하는 때에 기록된 동작을 재현할 수 있어서 복잡한 캐릭터의 동작을 자연스

럽고 효율적으로 구현할 수 있다

본 논문에서는 이족보행로봇의 보행 동작에 적용하기 위해 모션캡쳐 시스템

을 도입 하였으며 사용된 모션캡쳐 시스템은 기구 링크로 구성된 기계식으로

각 관절에는 포텐셔미터가 부착되어 있으며 이를 사람이 착용하고 보행하여

보행시의 각 관절의 각도 정보를 데이터로 받아들여 2차원 좌표를 구하였다

31 모션캡쳐 시스템의 종류

모션캡쳐는 사물의 움직임을 컴퓨터 등에서 사용하기 위한 데이터 형태로

알아내는 것이다 모션캡쳐 시스템은 센서의 종류에 따라서 그 운용방법이 다

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 21: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

12

르며 자기장을 이용한 기구링크를 이용한 기계식과 발광물질을 부착하여 비젼

시스템을 이용한 광학식 자기장 속에서 위치를 구하는 자기방식 등이 있다

3 1 1 기계적 방식

기계적인 방법은 기구링크를 동작시켜 관절 부위에 포텐셔미터를 부착하여

움직일 때 포텐서미터의 변화량 측정하는 방법으로 포텐셔미터의 아날로그

출력을 디지털로 변환하는 AD변환기의 성능과 링크기구를 물체에 부착하는

방법에 영향을 많이 받는다 반면 기구 링크부를 제외하고는 센서가격이 저렴

하고 사용하기 간편하며 응답 속도가 빨라 실시간 처리에 유리하다

3 1 2 광학식

광학적 방식은 반사물질을 움직이는 물체의 특이점 즉 관절부위 같은 움직

임이 일어나는 부분에 부착하고 두 대 이상의 카메라를 사용하여 이미지를 수

학적으로 처리하여 위치 데이터를 측정하는 방식이다 반사물질 외의 다른 배

경 등은 필터링을 하여 삭제하면서 행위자의 동작을 녹화한다 각각의 이미지

에서 비디오 프로세서가 각 반사물질에 좌표 데이터들을 계산한다 이 방식의

가장 큰 단점은 동작할 때 반사물질이 때때로 가려질 수 있다는 점이다 이러

한 문제는 전후 Frame 이미지의 반사물질을 참조하여 계산한다 이런 데이터

보정과정을 거쳐야 함으로 실시간의 응용에는 사용할 수 없으며 초기비용이

많이 들고 주변환경 특히 빛에 민감한 단점을 가진다 장점은 계측 점의 추가

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 22: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

13

에 따른 추가비용이 없고 캡쳐 범위가 넓으며 빠른 동작도 캡쳐 할 수 있다

3 1 3 자기방식

자기방식은 자기장의 변화를 이용하여 동작 데이터를 측정하는 방식으로

행위자의 관절부분에 x y z방향의 직교코일을 내장한 발신기를 부착하고 자

장 속에서 몸을 움직이면서 수신기에 유도된 전류로부터 수신기의 3차원 위

치나 방향 등의 데이터를 계산한다 이 방식은 3차원 좌표 데이터의 흐름을

실기간에 출력해 주므로 실시간 응용에 유리하다 자기방식의 장치를 운용하

려면 자장의 영향을 받지 않는 공간(약 5mtimes5mtimes5m크기의 공간)이 필요하며

시스템을 설치할 때 송신기와 수신기간의 보정 기술과 컴퓨터와 장비간의 인

터페이스 기술이 필요하다 일단 시스템이 설치된 후에는 여러 가지 잡음 즉

장비자체 동작 실행자 주변 환경 등으로부터 발행하는 잡음을 적절히 필터

링하는 기술이 요구된다

3 2 모션캡쳐 시스템의 구성 및 시뮬레이션

본 논문에서 실험한 모션캡쳐 시스템은 기계적 방식으로 사람의 보행동작

을 캡쳐하기 위해서 2조의 링크기구로 구성되었으며 각 링크기구는 발목 무

릎 골반의 3자유도를 갖는 링크구조로 구성되며 각각의 관절부의 회전 변위

를 알아내는 센서로 포텐셔미터를 사용하여 구성하였다 제작한 모션캡쳐 기

구는 링크 부분의 길이가 조절되게 하였고 착용을 간편하게 하여 데이터 획득

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 23: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

14

을 용이하게 하였다 모션캡쳐 시스템의 모양은 아래 그림 그림 3 1과 같고

착용한 모습은 아래의 사진 3 1과 같다 모션캡쳐 시스템을 시험자가 착용하

고 보행실험을 통해 데이터를 획득 하였다 사람의 보행 주기를 1초에 1~3정

도 이며 획득한 데이터는 저주파 통과 여파기를 통한 후에 마이크로 컨트롤

러에 연결된 10bit AD변환기로 디지털 값으로 환하여 PC로 전송된다 모션

캡쳐 시스템의 블록도는 그림 3 2과 같다 획득한 데이터는 컴퓨터 시뮬레이

션을 통해 보행 데이터를 분석한다 모션캡쳐 시스템으로 획득한 데이터의 시

뮬레이션 하여 모니터 상에 애니메이션으로 나타낸다 모션을 캡쳐한 데이터

들을 가공하여 이족 보행로봇의 구동에 적합한 데이터로 변환하는데 사용된다

보행 실험에서 얻어진 데이터는 다음의 식을 이용하여 기구의 관절 회전각으

로 변환한다 φ 는 회전 변위이며 y는 모션캡쳐로부터 받은 데이터이다

ytimes=1024360φ (3 1)

그림 3 1 모션캡쳐 시스템 기구부

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 24: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

15

사진 3 1 모션캡쳐 시스템 기구부 착용모습

모션캡쳐 링크

PotentioMeter

SlaveController

통신

MainProcessor통신

10 BitAnalog

ToDigital

Converter

그림 3 2 모션캡쳐 시스템 블록도

모션캡쳐 시스템에서 구한 보행 데이터는 보행 로봇의 보행 입력으로 사용

하기 위해서 로봇의 보행에 적합한지 검증하기 위하여 컴퓨터 시뮬레이션을

수행한다 컴퓨터 시뮬레이션은 우선 보행 로봇의 좌표계를 설정하고 모션

캡펴 시스템으로부터 구한 관절각 데이터를 받아서 볼스크류 구동방식인 보행

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 25: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

16

로봇의 사절링크의 구동변수인 볼나사의 길이로 변환하여 이족 보행로봇의

보행 자세를 시뮬레이션 한다 사람의 보행을 모션캡쳐 시스템에서 구한 데이

터는 보행시의 관절의 회전각 정보임으로 이를 Homogeneous Coordinates를

이용하여 컴퓨터에서 각 관절의 좌표 값으로 변환한다 이렇게 구한 좌표 데

이터를 이용하여 상에서 보행 패턴을 구하고 Open GL을 이용하여 컴퓨터 애

니메이션을 수행한다

3 3 이족보행로봇의 시스템 구성

로봇의 보행중에 로봇의 보행 자세를 보정하기 위해서는 로봇의 현재 동작

중의 자세를 알 필요가 있다 로봇의 보행중 각 관절의 볼나사 구동기의 위치

데이터를 구하고 구한 데이터를 컴퓨터에서 시뮬레이션 하여 로봇의 자세를

구한다 이족보행로봇의 자세를 알기위한 주 컴퓨터쪽으로의 신호의 흐름은

아래 그림 3 3에 나타내었다 이족보행로봇의 각 관절의 좌표는 산업용 컴퓨

터에서 모션 컨트롤러에서 모터 의 회전수를 읽어서 4절 링크의 변위 d를 구

할 수 있다 보행 로봇의 엔코더 값에서 구동 변위 d로의 변환 식는 아래의

식 3 4을 이용하여 구할수 있다 4절 링크의 변위각θ는 d와 관절각 θ의 관계

식으로부터 구할 수 있다 볼나사 구동기의 위치 d는 아래의 식에 나타 내었

으며 p는 볼나사의 피치이며 n은 모터 제어기로부터 구한 모터의 회전에 따

른 엔코더의 카운터값 이고 r은 모터의 회전 수 이다 위에서 구한 관절 변위

각으로부터 구한 좌표점으로 Homogeneous Coordinates를 이용하여 이족보

행로봇의 각 관절의 좌표점을 구할수 있다 이것을 이용하여 컴퓨터에서 이족

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 26: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

17

보행로봇의 현 자세를 알 수 있으며 컴퓨터로 Open GL을 이용하여 그래픽으

로 나타낸다 모터가 한 바퀴 돌 때의 엔코더 값은 9600이며 p는 볼 나사의

피치 2mm이고 d는 원점부터의 이송 거리이다

9600nr = (3 2)

pnd times= (3 3)

첫번째 식을 p에 관한 식으로 바꾼뒤 두번째 식에 대입하면 아래의 식 3 4

와 같다

9600pnd times= (3 4)

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

latigid

MobileComputer

MainControl

Computer

통신

MotionCommand

그림 3 3 이족보행로봇의 모션캡쳐 시스템 신호흐름 블록도

본 논문에서 실험한 이족보행로봇은 실험실에서 자체 제작한 로봇으로 한쪽

다리에 발목에 2자유도 무릎 골반 총 4자유도를 가지며 양 쪽에 8자유도를

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 27: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

18

가지는 로봇이다 이족보행로봇은 ADLink사의 산업용 컴퓨터와 모터의 제어

를 위해 모션 컨트롤러 모터를 구동하기 위한 증폭기를 사용하여 움직인다

이족보행로봇의 제어부 구성은 상체 부분에 모터 드라이버와 모션 컨트럴 보

드 Mobile Computer 밧데리를 탑제하고 있다 이족보행로봇의 제어는 IBM

PC를 사용하며 모터 제어는 모션 컨트럴 보드를 사용하고 있으며 모션 컨트

럴 보드에서 나오는 제어신호는 모터가 구동할 수 있는 전류로 증폭시켜주는

드라이버 단으로 연결되어 모터를 구동한다

이족보행로봇의 보행을 위해서 이족보행로봇의 시뮬레이션 결과와 로봇이

움직여야 할 자세를 Main Computer에서 Mobile Computer쪽으로 명령을 내

리면 하부 컴퓨터에서 모션 컨트롤러에 각 모터에 이동 명령을 내린다 로봇

이 보행중에 기울기 장애물등 센서에 의한 데이터는 다시 주 컴퓨터로 전송

되어 수집한 센서들의 데이터로 보행에 부적절하면 이동 명령을 다시 내리게

된다 보행 로봇과 주 컴퓨터 사이의 신호전달은 아래 그림 3 4에 나타내었

MotionCommand

GraphicInterface

Monitoring

MotorDriver

Motion ControlBoard

Sensor DataObservation

latigid

MobileComputer

MainControl

Computer

통신

그림 3 4 이족보행로봇의 신호 흐름도

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 28: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

19

3 3 1 Mobile Computer

Mobile Comuter는 이족보행로봇의 상부에 탑제되어 로봇의 구동을 담당하

며 센서들을 검사하며 상부 컴퓨터와의 데이터 교환을 담당한다 이족보행로

봇에 사용한 Mobile Computer는 ADRink 사의 NUPro 770을 사용하였으며

마이크로 프로세서를 탑제한 메인 보드부와 외부 IO를 확장하는 IO보드 부

로 구성된다 메인보드부는 아래 사진 3 2과 같이 생겼고 왼쪽부분에 마이크

로 프로세서와 메모리가 장착되며 오른쪽에 시리얼 통신포트 랜포트 키보드

와 마우스를 연결하는 PS2포트를 내장하고 있다 IO확장 보드부는 사진 3 3

와 같이 Main Board를 꼽을 수 있는 포트와 두 개의 ISA포트 세 개의 PCI

포트 그리고 전원 공급 단자를 가지고 있다 Mobile Computer의 Main

Board와 IO Extension Board의 결합 모습은 사진 3 4와 같다

사진 3 2 Mobile Computer Main Board

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 29: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

20

사진 3 3 IO Extension Board

사진 3 4 Mobile Computer의 조립모습

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 30: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

21

3 3 2 모터 구동 보드(MMC-PV8)

본 논문에 사용된 이족보행로봇은 자율보행을 목적으로 하며 구동은 소형

DC서보모터를 사용하였다 모터 구동을 제어하기 위해 Mobile Computer와 8

축 모션 컨트럴 보드인 MMC-PV8을 사용하여 한 축당 모터 하나씩을 구동

하였다 모션 컨트럴 보드는 모터에서 나오는 신호와 모터로 들어가는 신호를

인터페이스하여 구동하였다 Mobile Computer 모션 컨트롤러 인터페이스와

모터의 구성도는 그림 3 5와 같다 구성한 인터페이스부와 모터 드라이버는

사진 3 5와 같다

iMac

Motion ControlBoard

INTERFACE PART

Bipolar ToUnipolar

TransformPart

PWMGenerator

Part

Time DelayPart

Limit ampEncoder

Part

MotorDrive

그림 3 5 모터제어 블록도

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 31: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

22

사진 3 5 모션컨트럴 보드의 인터페이스부와 모터 드라이버부

모션 컨트롤러는 사진 3 6과 같이 생겼고 DC서보모터에 제어신호를 출력

하며 DC서보모터의 엔코더 신호를 받아서 모터가 어느 방향으로 얼마나 돌았

나를 계산하며 볼스크류 구동기의 행정의 끝을 넘지 안도록 리밋 스위치를 검

사한다 엔코더 입력 신호는 엔코더의 분해능으로 나누어 모터의 회전수를 알

수 있다 이는 다시 감속기의 기어비로 나누어 볼스크류의 회전수를 계산하고

그 값을 볼스크류의 피치로 곱하면 이송 거리를 알 수 있다

사진 3 6 모션 컨트롤러 보드

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 32: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

23

3 3 3 모터 인터페이스

모션제어기에서 모터를 구동하는 신호는 AC 서보모터와 스테핑모터의 위치

제어를 위해 듀티비 50인 펄스가 나오고 AC 서보모터의 속도제어를 위한

-10V ~ +10V의 아날로그 출력이 있다 본 논문의 실험 장치는 -10V ~

+10V인 아날로그 출력은 OP Amp를 이용하여 0 ~ +10V와 방향신호로 분리

하는 회로를 구성하였으며 0~10V의 아날로그 출력 PWM발생에 사용하였다

이 구성은 그림 3 6과 같다 이와 같이 0 ~ +10V전압은 모터를 구동하는 신

호인 PWM(Pulse Width Modulation)파형으로 변환한다 PWM 파형은 인가되

는 평균전압으로 모터를 제어하는 방식이다 대부분의 증폭소자들이 활성영역

에서는 에너지 손실이 많이 발생한다 따라서 이를 피하기 위해 차단영역과

포화영역만을 사용하여 스위칭하는 방식으로 에너지 손실을 줄이기 위한 제어

방식이며 대부분의 DC 모터는 PWM 신호로 구동하다 PWM 신호의 주파수는

일반적으로 4kHz 이상이어야 효율이 좋으나 본 실험 장치에서는 300Hz의 주

파수를 사용하였으며 PWM 파형의 발생 구성도는 그림 3 7과 같다

이와 같이 발생한 PWM파형은 증폭단인 모터 구동부로 입력된다 모터의

구동부는 FET를 이용하여 H 브릿지를 구성 하였다 DC 모터 제어시에 구동

및 정지시에 속도의 가감속 정역 의 갑작스런 전환시에 기계와 모터에 충격

이 가해지는데 이를 제거하기 위해서 Dead Time Control과 전원분리가 필수

적이다

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 33: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

24

BipolarAnalogVelocity

Command

AbsoluteValue

Circuit

AdderCircuit

UnipolarAnalogVelocity

Command

ComparatorCircuit

AbsoluteValue

Circuit

DirectionCommand

그림 3 6 바이폴러 유니폴러 변환 블록도

삼각파 발생기

유니폴라속도명령

비교기 PWM 신호 발생

그림 3 7 PWM 발생기

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 34: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

25

제 4 장 이족보행로봇 센서

4 1 구동용 센서

4 1 1 초음파 센서

사용된 초음파 센서는 로봇의 보행 시에 진행 방향에 장애물과 로봇과의 거

리를 판단하여 로봇의 보행거리와 장애물의 거리가 보행에 방해가 되지 않도

록 하기 위해서 사용된다 초음파는 음파 중에서 20Hz~20kHz 범위의 것은

사람의 귀로 들을 수 있기 때문에 가청음이라 부르고 일반적으로 이보다 높

고 사람의 귀로 직접 들을 수 없는 주파수의 음파를 초음파라고 한다 초음파

의 주파수 영역은 아래의 그림 4 1과 같다

저주파 가청주파수영역 초음파

20Hz 20kHz

그림 4 1 초음파의 주파수 영역

초음파를 발생하고 받아 들이는 센서의 소자로서 대부분 압전소자를 사용한

다 압전소자는 크기를 변화 시키면 전압이 발생하고 반대로 전압을 걸어주면

크기가 변화한다 이를 이용하여 초음파를 발생 시킬 때는 압전소자의 양단에

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 35: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

26

전압을 인가시킬 때 순간적으로 변화하는 두께로 공기를 진동 시켜서 음파를

발생 시킨다 반대로 초음파의 수신에는 압전소자가 음파에 의해 압력을 받을

때 양단에 전압이 발생되는데 이 전압을 검출하여 알 수 있다

초음파 센서를 이용한 거리 측정은 크게 두 가지 방법이 있다 하나는 초음

파 센서 두 개를 사용하여 하나는 초음파를 발생 시키고 다른 하나로 반사된

초음파를 검출하는 방법이 있고 다른 한 방법은 초음파 센서 하나로 초음파

를 발생 시키고 반사된 초음파를 받아 들이는 이다 이를 그림 4 2와 그림 4

3에 나타내었다 후자의 경우 초음파 센서 하나로 가능하나 가까운 거리의 물

체를 검출하지 못하는 단점이 있다

θ

L

L

그림 4 2 송수신 분리방식 그림 4 3 송수신 일체형

초음파 센서에 의한 물체의 거리 검출 식은 다음과 같다

2cosθVTL times= (m)

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 36: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

27

여기서 음파는 매질의 밀도에 따라서 속도가 달라진다 따라서 공기의 온도

에 따라서 속도가 달라 지는데 이런 현상을 고려하면 V는 다음과 같다

tV times+= 60705331 (ms)

고려할 사항이 하나 더 있다 위의 그림에 서 보면 두 초음파 센서와 물체

사이의 반사각 θ에 의한 오차를 주의해야 한다 그러면 식은 다음과 같다

( )2

cos60705331 θtimestimes+times= tTL (41)

로봇에 사용된 초음파 센서는 사진 4 1과 같은 모양이며 송신기와 수신기

를 각각 하나씩 사용한 송수신 분리 방식을 사용했다 구성한 회로는 사진 4

2와 같다 초음파로 물체를 검출하고 물체와의 거리를 구하는 회로의 블록도

는 그림 4 4와 같다 발신부 에서는 40kHz로 신호를 만들고 초음파를 강하

게 발신 하기 위해서 발신 신호를 증폭하는 증폭단이 있다 수신부는 반사되

어 들어오는 초음파는 필터를 통하여 증폭하고 미약하게 들어오는 신호는 노

이즈로 판단하고 제거한다 초음파 센서로 검출한 물체의 거리는 이족보행로

봇의 보행시에 보행 경로에 장애물의 유무를 판단하는데 사용된다

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 37: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

28

사진 4 1 초음파 센서 사진 4 2 초음파 센서 회로

초음파 발신 신호 주파수 발생

발신신호증폭 초음파 수신

필터링 증폭

장애물 판별

발신부 수신부

그림 4 4 초음파 센서 회로 블록도

4 1 2 자이로 센서

자이로 센서는 이족보행로봇의 보행중에 로봇의 자세 즉 지면과의 기울어진

각도를 측정하여 무게 중심이 안정한 위치를 벗어났는가를 알기위해 사용된다

본 논문에서는 MEMS형의 자이로 센서를 사용하였다 자이로 센서는 기계식

자이로 가스레이트 자이로 광 파이버 자리로 압전효과 자이로 MEMS형 자

이로가 있다 기계식 자이로는 팽이와 그 형태가 거의 유사하며 회전체와 회

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 38: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

29

전체를 지지하는 베어링 등 각부에 높은 정밀도를 요구한다 사용에 있어서도

정밀도가 많이 떨어진다 가스레이트 자이로는 비접촉식으로 원리는 가스의

흐름의 편향을 검출하는 방법으로 가스를 가느다란 제트 상으로 내뿜으면 직

진한다 이때 물체가 움직이면 가스 제트는 흐름이 빗나가게 된다 이때 가스

의 어긋남을 검출하여 움직인 각도를 알 수 있다 광 파이버 자이로는 최근에

항공기 등의 분야에서 실용화 하기 시작한 센서이다 광 파이버 자이로는 간

섭형과 공진형이 있다 간섭형 광 파이버 자이로는 아래 그림 4 5에 나타냈

다 루프상의 광 파이버 속에 단일 파장의 빛(레이저 광)을 통하게 한다 한군

데서 동시에 좌우 역방향으로 빛을 통하게 하고 이 광파이버의 루프가 회전

운동을 했다고 하면 이 경우 왼쪽으로 도는 빛과 오른쪽으로 도는 빛은 위상

이 어긋난다 루프는 돌면서 양쪽 빛이 간섭하면 어떤 패턴이 발생하는데 이

간섭 패턴을 검출하면 회전각 속도를 알 수 있다 이를 아래의 그림에 나타냈

광원

미러

그림 4 5 간섭형 광 파이버 자이로 센서

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 39: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

30

사냐크 효과의 원리 광원에서 나온 단색광이 하프 미러에서 분할되어

좌 우 양방향으로 루프를 돈다 그리고 다시 하프 미러를 통과하고 간섭 패

턴을 만들고 이때 루프 전체가 회전하고 있으면 각기 빛의 경로가 바뀌고 마

주치면서 간섭 패턴에 변화가 생긴다

MEMS형 자이로는 반도체 공정을 이용해서 양쪽에 작은 구조물을 만들고

움직일 때 마다 구조물도 같이 움직인다 이때 양쪽의 구조물의 변화하는 간

격에 따라서 충전되는 전하의 양을 검출하여 움직임의 전도를 알아낸다 구조

는 아래의 그림 4 6과 같다

그림 4 6 MEMS형 자이로 센서의 구조물

본 논문에 사용된 자이로 센서는 삼성에서 만든 MEMS형의 자이로 센서를

사용하였으며 센서의 모양은 사진 4 3과 같은 외형이다 자이로 센서로 로봇

의 기울기를 판별하는데 사용되었으며 자이로 센서 회로와 기울기 계산의 블

록도는 그림 4 7과 같이 구성하였다

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 40: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

31

사진 4 3 MEMS형 자이로 센서

자이로센서

증폭

ADConverter

MicroController

적분필터링

그림 4 7 자이로 센서 블록도

4 1 3 포텐셔미터

포텐셔미터는 가변 저항기의 일종으로 양쪽 단자에 일정 전압을 가해주고

포텐셔미터를 회전 시키면 출력단에서 회전한 위치에 맞는 전압이 출력된다

이때 포텐셔미터의 출력을 AD변환기로 읽으면 현재의 위치를 알 수 있다

실험에서 사용한 포텐셔미터는 사진 4 4와 같은 외형을 가지고 있으며 실험

에서 구성한 회로는 사진 4 5와 같이 만들었으며 회로의 블록도는 그림 4 8

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 41: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

32

과 같다 포텐셔미터는 모션캡쳐 시스템에서 각 관절의 회전변위를 읽어올 때

사용된다

사진 4 4 포텐셔미터 사진 4 5 포텐셔미터 회로

전류 증폭

필터링

ADConvertor

MicroController

포텐셔미터

그림 4 8 포텐셔미터의 블록도

4 2 센서 신호 시스템

초음파 센서 자이로 센서는 이족보행로봇에 부착되어 로봇의 보행시에 장

애물 검출 보행 로봇의 기울기를 검출하여 원활한 보행을 할 수 있도록 하는

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 42: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

33

데 사용되며 포텐셔미터는 보행 로봇의 보행동작 패턴을 구하기 위한 모션캡

쳐 시스템에 사용된다 보행 로봇에 부착되는 초음파 센서 자이로 센서는 보

행로봇쪽에 386Micro Controller에 센서보드를 꾸며서 부착되며 모션캡쳐에

사용되는 포텐셔미터는 Main Computer에 별도의 10Bits Micro Controller로

값을 구한다 보행 로봇에 부착되는 센싱보드는 센서의 값들을 계산하고 있다

가 Main Computer에서 센서의 값을 요구하면 해당하는 센서의 값을 보내주

게 된다 블록도는 그림 4 9와 같이 나타낸다

386 보드

GyroSensor

UltraSonarSensor

MobileComputer

통신

그림 4 9 센서보드 신호 흐름도

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 43: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

34

제 5 장 이족보행로봇의 보행을 위한 제어와

센서를 활용한 로봇의 구동실험

5 1 실험장치 구성

본 논문에서는 모션캡쳐 시스템에서 보행 데이터를 받아서 이족 보행로봇의

구동과 로봇의 보행 중에 로봇에 장착된 센서를 읽어 들여 보행 경로를 조정

하는 실험을 하였다 이족보행로봇은 발목에 2자유도 무릎에 1자유도 힙관절

에 1자유도를 가진다 이족보행로봇 구동의 전제 개념도는 블록도 그림 5 1

에 나타내었다

모션캡쳐 링크

통신

UserInterface

통신

통신

Sensor Board

자이로 센서

초음파 센서

Main Computer

모션캡쳐 시뮬레이션

모션캡쳐 시스템좌표계산

이족 보행 로봇관절 좌표계산

이족 보행 로봇

관절 링크 길이계산

이족 보행 로봇관절 모터 구동

명령

이족 보행 로봇좌표계산

이족 보행 로봇

시뮬레이션

이족 보행 로봇보행 경로상 장

애검출

이족 보행 로봇좌표 읽어들임

이족 보행 로봇관절 모터 구동

명령 분석데이터 교환

센서 데이터 획득

Mobile Computer 이족 보행 로봇

그림 5 1 이족보행로봇 구동 블록도

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 44: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

35

Main Computer의 역할은 선처리 로서 모션캡쳐 시스템에서 사람의 보행을

캡쳐하여 시뮬레이션 하고 보행 로봇의 보행 동작 경로를 구하는 부분과 앞

에서 구한 보행 로봇의 보행 동작를 명령하고 로봇이 보행 중에 로봇의 볼나

사 구동기 에서 볼나사의 이동 변위를 가져와서 컴퓨터에서 로봇의 자세를 애

니매이션으로 구현하는 기능을 한다 Mobile Computer는 Main Computer와

데이터를 교환하며 Main Computer의 명령에 따라서 로봇을 구동하고 볼나사

의 위치를 알려주며 로봇이 보행중에 센서보드에서 센서 데이터를 가져와서

보행을 수정하는 부분으로 구성된다 Sensor Board는 센서에서 데이터를 구

하면서 Mobile Computer에서 센서의 데이터를 요구하면 해당하는 센서의 데

이터를 전송하게 된다

모션캡쳐는 링크기구에 각각의 관절부분에는 포텐셔미터를 사용한 기계식으

로 링크는 한 쪽에 3자유도를 가지며 양쪽에 6자유도를 가진다 각 관절에 하

나씩의 포텐셔미터를 달아서 총 6개의 포텐셔미터가 부착된다 포텐셔미터는

전압을 걸어주는 두 단자와 이 두 단자에 걸리는 전압이 분배되어 출력되는

하나의 단자를 포함하여 총 세 개의 단자가 있다 포텐셔미터의 출력은 보행

주기가 1초로 추정하고 빠른 보행을 감안하여 대역폭을 늘려 10Hz 이상의 고

주파 성분을 제거하는 능동 2차 저역필터를 구성 하였으며 회로는 아래의 그

림 5 2와 같다 회로에 사용된 OP-Amp는 단 전원이고 낮은 소비 전류를 갖

는 특징이 있다

제작한 필터는 낮은 주파수영역에서는 캐패시터가 개방된 상태와 같이 동작

하여 게인이 1(입력전압 = 출력전압)인 전압 플로어로서 동작하다가 주파수

가 증가하여 차단 주파수를 통과하면 증폭도가 40dBdecade로 감소하는 성

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 45: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

36

질을 갖는 필터이며 제작한 회로의 컷-오프 주파수 산출은 다음 식과 같다

1122RC

fc π= (5 1)

그림 5 2 2차 저역필터 회로도

포텐셔미터의 출력은 2차 저역필터를 거친후 아날로그 MUX를 거쳐서 AD

변환 하게 구성하였으며 AD변환기와 마이크로 컨트롤러는 RISC구조의 PIC

계열인 Pic16F873을 사용하였다 Main Computer과는 RS232통신으로 데이

터를 주고 받는다 마이크로 컨트롤러에는 캡쳐한 데이터를 보관할 만한 기억

공간을 가지고 있지 않음으로 Main Computer에서 일정 시간의 주기로 마이

크로 컨트롤러에 데이터를 요구하면 캡쳐한 데이터를 전송하는 방식을 사용

하였다

사람의 보행을 모션캡쳐한 데이터는 Main Computer에서 각 관절의 좌표로

변환된 후 이족보행로봇의 구동을 위한 볼나사 변위 d로 변환된다 보행 로봇

은 발목관절에 2자유도를 가지는데 모션캡쳐 시스템은 1자유도만 가지고 있

다 이것은 보행 로봇이 가지는 발목의 요소인데 발바닥과 지면을 수평이 되

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 46: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

37

게 계산해서 발의 자세를 가지게 된다 이렇게 로봇의 자세 좌표를 구한 후에

4절 링크의 각 관절의 변위인 d로 변환한다 로봇의 각 축은 아래의 그림 5

3과 같이 설정했으며 볼 나사 구동기의 각 축의 행정은 하드웨어와 소프트웨

어적으로 제한되어 있다 각 축의 소프트웨어로 제한한 최고 행정의 엔코더의

카운터 값은 아래의 표 5 1과 같다

1

2

3

0 4

5

6

7

그림 5 3 보행 로봇의 모터 축 번호

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 47: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

38

표 5 1 각 축의 소프트웨어 리밋 엔코더 카운터 값

축 원점 초기값 끝점 0 0 10000① 0 80000 400000② 0 20000 350000③ 0 200000 500000④ 0 0 10000⑤ 0 80000 400000⑥ 0 20000 350000⑦ 0 200000 500000

최종적으로 구한 d값을 로봇의 Mobile Computer에 전송하면 Mobile

Computer는 각 관절의 4절링크를 구동하기 위한 모터에 구동 신호를 보낸다

이때 각 축은 목표점이 리밋점을 넘지 않는 범위 안에서 구동한다 Main

Computer와 Mobile Computer간의 데이터 전송은 RS232로 명령 양식을 구

성하여 상호 통신으로 데이터를 교환한다 Main Computer의 명령은 크게 구

동에 관한 명령과 각 축의 엔코더 값을 요구하는 명령으로 되어 있다

로봇의 기울기는 자이로 센서 데이터로 보정한다 센서 보드는 로봇에 장착

된 초음파 센서 자이로 센서의 데이터를 Mobile Computer에 보낸다 센서보

드로부터 받은 데이터는 Mobile Computer에서 로봇이 보행 중에 발생하는

장애물의 거리를 판별하여 보행중 로봇과 장애물과의 거리가 가까운 경우 보

행 경로를 수정하여 새로운 보행 경로를 명령하게 된다 로봇의 센서 보드에

사용된 초음파 회로는 그림 5 4와 같이 구성 하였다

초음파 회로는 발신부 수신부 플립플롭 세 부분으로 구성된다 발신부 에

서는 40kHz로 발진시키고 Enable단자에 신호를 주면 초음파 센서를 40kHz

로 발진 시켜서 초음파를 발생한다 수신부 에서는 초음파 센서를 통해 수신

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 48: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

39

된 초음파신호는 OP-Amp로 2단 증폭되고 다이오드 콘덴서로 이루어진 정류

회로를 거치면서 신호의 크기에 비례하는 DC전압으로 바뀌고 OP-Amp인

LM324에 의해 이용하여 기준전압 비교하여 디지털 신호로 변환하여 플립플

롭을 이용하여 래치 시킨다 R-S Flip Flop의 S단자는 Enable이 연결되고 R

단자는 초음파 센서의 출력에 연결된다 구성한 초음파 센서의 개념과 신호의

흐름은 그림 5 5와 같다 비교기로 비교하는 부분은 초음파 센서로 들어오는

잡음을 제거하는 역할과 초음파 센서의 출력을 디지털 신호로 변환하는 기능

을 하며 최종단인 R-S Flip Flop의 출력을 카운터하면 초음파가 발사되서 물

체에 반사되어 돌아오는 시간을 구할 수 있으며 초음파가 반사되어 돌아오는

시간으로 물체와의 거리를 계산한다

R12k

R247k

R110k

C1473

VCC_BAR

U2A

74HC4049

3 2

+

-

U9A

MC4558

3

21

4

11

+

-

U11A

LM324A

3

21

4

11

U15B

74LS00

4

56

Y1

CRYSTAL

R2

47k

R247k

R2

1k

D2

DIODE

R2 1kC1

102

U14A 74LS001

23

R2

12k

U8D

74HC00

12

1311

D1

DIODE

Receiver

10kRESISTOR VAR

1 3

2

Q1NPN BCE

VCC_BAR

+

-

U10A

MC 4558

3

21

4

11

U5A

74HC4049

32

R2

200k

U3A

74HC4049

3 2

C1

100pF

U4A

74HC4049

32

Int

Y2

Soner

C1

473

U6A

74HC4049

32

R2

10k

20k

RESISTOR VAR

1 3

2

VCC_BAR

VCC_BAR

SenderU1A

74HC4049

3 2

Enable

40kHz

VCC_12V

U16C

74LS00

9

108

R-S Flip flop

그림 5 4 초음파 센서 회로

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 49: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

40

초음파발신

초음파수신

40kHz

2단 증폭 정류 비교R-SFF

Counter

발신

수신

증폭

비교

R-S FF

그림 5 5 초음파 센서 신호 흐름도

자이로 센서의 회로는 아래와 그림 5 6과 같이 구성 하였다

R9

10kΩ

R9

100kΩ

-

+

U3A

NJM022

3

21

8

4

Output

R9

90kΩ

C3

47uF

C3

0018uF

Input

그림 5 6 자이로 센서 회로도

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 50: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

41

5 2 실험 및 고찰

본 논문의 실험은 센서를 활용하여 보행 로봇의 자율 보행을 위해 로봇이

보행 중에 장애물을 검출하고 균형을 잡기 위한 것이다 실험은 크게 두 부분

으로 나눌 수 있는데 하나는 이족보행로봇의 보행 자세를 구하기 위한 전처리

단계로 사람의 보행을 로봇에 적용하기 전에 어떤 패턴으로 움직이는가와 보

행 로봇에 적용이 가능한가를 판단하는 목적으로 모션캡쳐 시스템으로 사람의

보행을 획득하여 모션캡쳐 시뮬레이션과 보행 로봇의 보행 구동용 데이터를

구하는 것과 앞에서 구한 보행 자세 데이터를 센서를 활용하여 보행 로봇에

적용하는 것이다

실험에서 먼저 사람의 보행 패턴으로부터 보행 로봇의 보행 경로를 구하기

위해 구성한 모션캡쳐 시스템을 이용하여 사람의 보행 패턴을 구하였다 모션

캡쳐 에서 사람의 보행을 획득한 데이터는 아래의 그림 5 7 그림 5 8 그림

5 9와 같다 그래프를 보면 좌측 다리와 우측 다리의 보행 패턴이 다르지만

반복적인 패턴을 가진다 양쪽 다리의 보행 패턴이 같다고 가정하고 사람의

보행시의 각 관절의 최대 보행 변위를 구하고 각 변위가 변하는 시점을 한 주

기 시간 에서 구하였다 획득한 데이터는 모션캡쳐 시뮬레이션용 데이터와 보

행 로봇을 구동하기 위한 데이터로 변환하였다

모션캡쳐 시뮬레이션용의 데이터는 모션 모션캡쳐 시스템으로 구한 각 링크

의 회전 변위 각을 Denavit-Hartenberg표시법으로 각 관절의 좌표 데이터를

구하여 컴퓨터 상에서 각 관절의 좌표를 구하여 보행 로봇의 움직임을 컴퓨터

상에서 그래픽으로 구현하였다 보행 로봇의 구동용 데이터는 모션캡쳐 시뮬

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 51: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

42

레이션 상의 특이점을 구한 후 그 점의 회전각으로 구하였다 모션캡쳐로 구

한 데이터의 한 주기의 패턴은 그림 5 10과 같고 컴퓨터에서 시뮬레이션 하

여 그래픽으로 나타낸 결과는 아래 그림 5 11과 같다

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(de

gree

)

Time(s) Sampling Count

좌 측 허리 무릎 발목

0 1 2 3 4 5 680

100

120

140

160

180

200

220

240

260

Angl

e(D

egre

e)

Time(s) Sampling Count

우측 허리 무릎 발목

그림 5 7 보행시 왼쪽 관절의 변위 그림 5 8 보행시 오른쪽 관절의 변위

0 1 2 3 4 5 6 780

100

120

140

160

180

200

220

240

260

280

Angl

e[de

gree

]

Time(s) Sampling count

허벅 지(우) 무릎 (우) 발목 (우) 허벅 지(좌 ) 무릎 (좌 ) 발목 (좌 )

04 06 08 10 12 14 16 18 20 22

100

120

140

160

180

200

220

Angl

e(D

egre

e)

Time(s) Sampling Count

허리 무릅 발목

그림 5 9 보행시 양쪽 관절의 변위 그림 5 10 한주기 보행 패턴

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 52: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

43

그림 5 11 모션캡쳐 시스템 시뮬레이션 결과

위에서 구한 보행 로봇이 이동할 목표점 데이터를 RS232통신으로 Mobile

Computer에 보내서 로봇을 구동하였다 로봇을 구동하기 위해 일정한 명령

형식을 만들어서 통신하였다 통신 명령은 보행 로봇의 축을 구동하기 위한

명령어 종류는 이송명령 축의 현 좌표를 읽어 들이는 명령 현재 축이 명령

을 수행 중인지 검사하는 명령 축 이송 정지 초기점 복기 명령이 있다 축을

이송하는 명령의 매개 변수는 축의 이송 속도 축의 가속도 이송 목표촤표

이송될 축이며 나머지 명령의 매개 변수는 명령을 내릴 축만 지정하고 명령

을 내리는 방식으로 구성하였다

로봇을 구동하면서 Main Computer에는 보행 로봇의 보행동작을 시뮬레이

션 하기 위해 각 축의 위치 정보를 획득하였다 획득한 보행 로봇의 자세를

모니터 상에 시뮬레이션 하였다 보행 로봇이 구동 중에 Mobile Computer에

서 초음파 센서와 자이로 센서의 데이터를 센서 보드로부터 읽어온다 초음파

센서 데이터는 로봇의 보행 중에 보행 경로상에 방해가 되는 장애물의 유무를

판단하여 만약 장애물이 보행 로봇과 가까이에 있으면 로봇은 보행을 중단하

고 안전한 자세로 돌아가고 장애물의 제거를 기다리게 구성 하였다 자이로

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 53: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

44

센서는 로봇의 균형을 검사하는 것으로 보행 로봇이 보행 중에 균형을 유지하

기 위해 자이로 센서의 정보를 이용하여 자세를 보정하게 구성 하였다

초음파 센서는 로봇의 발에 부착하였고 보행중의 초음파 센서 데이터는

01Sec마다 샘플링 하였으며 그림 5 12와 같다 설정은 로봇과 1m떨어진 장

소에 장애물을 설치하고 한 걸음 보행 하면서 획득한 데이터 이다 자이로 센

서는 로봇의 제일 윗부분인 골반부 위에 부착하였고 로봇이 한 걸음 걸으면서

측정한 데이터 이며 샘플링은 200Hz로 하였다 발목 부분의 엔코더의 카운터

값으로 계산한 기울기와 비교 하였으며 그 결과는 그림 5 13과 같다 로봇

이 보행중 장애물검출 및 회피 실험을 수행하였고 이는 로봇의 전방 1M에

장애물을 설치하고 로봇이 장애물과의 거리가 900mm이하로 인식하면 보행을

정지하도록 하는 실험을 하였다 보행 실험중의 센서 초음파 센서 데이터는

그림 5 14와 같으며 자이로 센서 데이터와 발목 부분의 엔코더 카운터 값으

로 구한 기울기 데이터를 비교한 데이터는 그림 5 15와 같다

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 54: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

45

0 5 10 15 20800

850

900

950

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 12 초음파 센서 거리 측정 데이터

0 5 10 15 20-10

-5

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 13 자이로 센서 측정 데이터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 55: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

46

0 2 4 6 8 10 12 14

900

920

940

960

980

1000

Ultr

a So

ner D

ata(

mm

)

Sampling Time(Sec)

그림 5 14 로봇 보행 실험 초음파 데이터

0 2 4 6 8 10 12

0

5

10

15

20

25

30

35

Angl

e( ˚

)

Sampling Time(Sec)

Gyro Sensor Data Encoder Count

그림 5 15 로봇 보행 실험 자이로 센서 데이터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 56: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

47

제 6 장 결론

본 논문에서는 실험실에서 개발한 볼나사 구동방식의 이족보행로봇의 자율

보행을 위해 사람의 보행 패턴을 분석하는 시스템의 개발과 몇 개의 센서를

적용하였다 사람의 보행 패턴을 구하기 위해 모션 캡쳐 시스템을 제작하였으

며 모션 캡쳐로 구한 데이터를 보행 로봇에 적용하기 위해 모션 캡쳐 데이터

를 시뮬레이션 하였으며 보행 로봇의 제어회로를 구성하였고 보행 로봇의 보

행을 위해서 구한 사람의 보행 데이터를 적용하기 위해 보행 로봇에 맞게 목

표점으로 변환하여 통신으로 원격 제어하였다 보행 로봇의 보행 동작을 보조

하기 위해 보행 로봇에 센서를 부착하여 초음파 센서는 장애물의 인식과 충돌

방지를 위해 사용 하였으며 자이로 센서는 로봇의 균형 보정을 위해 사용 하

였다

이족보행로봇의 보행은 인간의 보행과 유사한 형태의 보행을 목표로 이론

과 실험적으로 접근하였고 이를 위해 사람의 보행시 연속적으로 움직이는 각

관절들의 변화와 각 관절들의 각 변화 데이터를 구하고 이를 응용하여 최대

한 로봇이 안정되게 보행할 수 있는 데이터를 구하였다 구한 데이터로 보행

로봇을 구동 하였으며 보행 로봇은 보행명령에 따라 원활하게 보행동작을 수

행하였다 본 논문의 이족보행로봇에 대한 보행 실험의 결과로 센서 데이터의

활용과 원격제어 그리고 시뮬레이션에 대한 데이터 베이스를 확보할 수 있었

다 이족보행로봇은 앞으로 다가올 로봇 시대에 정형화 되어있지 않거나 위험

한 환경에서 인간을 대신해서 작업을 하거나 인간을 위해 서비스 로봇으로 인

간과 친숙하게 생활하게 될 것이다

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 57: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

48

이족보행로봇은 그 활용분야와 성장 가능성이 매우 크지만 완벽한 시스템이

되기 위해서는 아직도 개선해야할 점이 많이 남아있다 향후 비젼 시스템을

포함하는 인간의 센서기능을 갖는 시스템을 완벽히 활용함으로써 어떠한 비

정형화된 장소에서도 인간과 유사하게 보행할 수 있는 보다 향상된 이족보행

로봇 시스템을 개발하고자 한다

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 58: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

49

참 고 문 헌

[1] 최형식 이호식 박용헌 ldquo볼나사 구동기를 갖는 로봇다리의 모델링rdquo 한

국정밀공학회 춘계학술회논문집 II pp15-18 2000

[2] 최형식 박용헌 이호식 김영식 ldquo인체형 이족 보행로봇의 개발rdquo 한국정

밀공학회 추계학술대회논문집 pp15-18 2000

[3] 강호석 ldquo동작 캐쳐 기술rdquo 電子工學會誌 第25卷 第2號 pp141-147

1998

[4] 이지홍 정용우 ldquo실시간 인체 동작 캡쳐 시스템rdquo 한국정밀공학회지

제13권 제2호 pp1943-1946 1998

[5] Adele Hars ldquoMaster of Motion Capturerdquo Computer Graphics World

pp 26-34 1996

[6] David Sturman ldquoComputer Puppetryrdquo IEEE Computer Graphics and

Applications pp38-45 1998

[7] A Takanishi M Ishida Y Yamazaki I Kato ldquoThe Realization of

Dynamic Walking by The Biped Walking Robot WL-10RDrdquo Journal of

the Robotics Society of Japan Vol4 No4 pp325-336 1985

[8] F Gubina H Hemami R B McGhee ldquoOn the Dynamic Stability of

Biped Locomotionrdquo IEEE trans On Biomd Engineering Vol BME-21

pp 102-108 1974

[9] T T Lee and J Liao ldquoTrajectory Planning and Controlk of a 3-link

Biped Robotrdquo IEEE Robotics and Automation pp820-823 1988

[10] T Fukuda Y Komatm T Arakawa ldquoRecurrent Neural network with

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌
Page 59: 센서를 활용한 이족보행로봇의 구동 - KMOUrepository.kmou.ac.kr/bitstream/2014.oak/9473/1/... · 2019-11-21 · 1 각 축의 소프트웨어 리밋 엔코더 카운터

50

Self-adaptive Gas for Biped Locomotion Robotrdquo IEEE pp1710-1714

1997

[11] J Hu J Pratt G Pratt ldquoAdaptive Dynamic Control of a Bipedal

Walking Robot with Radial Basis Function Neural Networksrdquo

Proceedings of the 1998 IEEERSJ Intl Conference on Intelligent

Robots and Systems pp400-405 1998

[12] M H Rashid ldquoPower Electronics and Circuits Device and

Applicationsrdquo Prentice Hall New Jersey 1998

[13] 최대성 이수용 김문상 ldquo휴먼로봇을 위한 원격제어장치의 개발rdquo 한국

정밀공학회지 제13권 제2호 pp2059-2062 1998

[14] P Moroney et al ldquoThe digital implementation of control

compensatory the coefficient wordlength issuerdquo IEEE Trans

Automat Control vol AC-25 pp621-630 1980

[15] HHanselmann ldquoImplementation of Digital Controller A Surveyrdquo

Automatica vol23 pp7-32 1987

[16] 서광식 최선욱 김영철 ldquo선형 제어기의 디지털 구현 문제rdquo 한국자동제

어학술회의논문집 pp267-270 1998

[17] 권영도 이진수 ldquo이동 로봇의 실시간 충돌회피rdquo 한국자동제어학술회의

논문집 pp434-439 1993

[18] 신경회로망을 이용한 이동로봇의 이동 장애물 충돌회피rdquo Proc 12th

KACC pp1238-1241 1997

  • 목 차
  • Abstract
  • 기 호 설 명
  • 표 목 차
  • 그림 목차
  • 제 1 장 서론
  • 제 2 장 이족보행로봇의 기구 메커니즘
    • 2 1 사절링크와 볼나사 구동기
    • 2 2 발목관절
    • 2 3 무릎관절
    • 2 4 골반관절
      • 제 3 장 이족보행로봇의 구동
        • 31 모션캡쳐 시스템의 종류
          • 3 1 1 기계적 방식
          • 3 1 2 광학식
          • 3 1 3 자기방식
            • 3 2 모션캡쳐 시스템의 구성 및 시뮬레이션
            • 3 3 이족보행로봇의 시스템 구성
              • 3 3 1 Mobile Computer
              • 3 3 2 모터 구동 보드(MMC-PV8)
              • 3 3 3 모터 인터페이스
                  • 제 4 장 이족보행로봇 센서
                    • 4 1 구동용 센서
                      • 4 1 1 초음파 센서
                      • 4 1 2 자이로 센서
                      • 4 1 3 포텐셔미터
                        • 4 2 센서 신호 시스템
                          • 제 5 장 이족보행로봇의 보행을 위한 제어와 센서를 활용한 로봇의 구동실험
                            • 5 1 실험장치 구성
                            • 5 2 실험 및 고찰
                              • 제 6 장 결론
                              • 참 고 문 헌