DOI QR코드

DOI QR Code

Mechanism Design and Control Technique of Duct Cleaning Robot with Self-position Recognition

자기위치 인식 가능한 덕트 청소로봇의 메카니즘 설계 및 제어기법

  • 장우진 (서울과학기술대학교, 기계시스템디자인공학과) ;
  • 서명인 (서울과학기술대학교, 기계시스템디자인공학과) ;
  • 하준환 (서울과학기술대학교, 기계시스템디자인공학과) ;
  • 박경태 (서울과학기술대학교, 기계시스템디자인공학과) ;
  • 김동환 (서울과학기술대학교, 기계시스템디자인공학과)
  • Received : 2019.01.04
  • Accepted : 2019.02.08
  • Published : 2019.02.28

Abstract

This work shows how to design a robot structure and to control to overcome obstacles while traveling through ducts of various diameters and shapes by three-legged robot. Circuits are centered in the body to connect the three wheel bodies that are driven around the center body with the 4-section slider link structure. Also, the springs are used to contract and expand the robot legs so that it can be caparable of various environments. Geared motor, spring, and belt were selected based on the static and dynamic calculation to be suitable to horizontal and vertical travels. The center body is equipped with a camera and the distance sensors, and a control algorithms are implemented so that it can be successfully performed in L-type and T-type ducts. Using UWB modules and trilateration algorithm, the location of the duct-cleaning robot inside the duct could be identified successfully.

이 연구는 다양한 직경의 덕트를 탐사하고 극복하는 삼족 로봇의 구조를 디자인 하는 데에 목적이 있다. 세 개의 휠바디들은 센터바디에 연결되어 회로들이 모여있고 그것들이 로봇바디들을 움직인다. 또한 4개의 파트로 이루어진 슬라이더 링크 구조들도 로봇의 움직임을 돕는다. 스프링들은 로봇 다리의 수축과 확장을 가능하게 하는데 로봇이 다양한 환경을 극복할 수 있도록 해준다. 기어모터와 스프링, 그리고 벨트들은 정, 동역학적 계산에 의해 수직축과 다양한 수평 구조를 극복할 수 있도록 선정되었습니다. 센터 바디에는 카메라와 거리 센서가 장착되어 있으며 이를 활용하여 L형 및 T형의 덕트에서도 성공적으로 진행이 되도록 제어 알고리즘을 구현하였다. UWB 모듈 및 3변 측위 알고리즘을 사용하여 덕트 내의 청소로봇의 위치 추정도 성공적으로 이루어졌다.

Keywords

Ⅰ. 서론

우리나라의 대부분의 건물, 특히 빌딩이나 중, 고등학교에 설치되어 있는 공조장치와 주방 공조장치의 경우 자연 환기가 제한되어 덕트와 같은 공기조화 설비를 통해 공기를 공급하거나 순환시키게 된다. 이런 밀폐공간 덕트 내부로 통과하는 공기에 함유된 모래나 흙과 같은 섬유질, 매연 등의 탄소질 부유분진은 덕트 굴곡부터 내면에 퇴적된다. 이는 이후 실내공기 오염의 원인이 되며 인체의 호흡기에 악영향을 끼치게 된다. 또한 주방 덕트의 경우, 먼지 및 기름 때가 퇴적되어 있는 상태에서 지속적인 덕트 직경의 축소로 인해 고온의 공기에 불이 붙어 화재사고가 나기도 한다. 에어컨용 덕트는 먼지가 쌓이면 냉난방의 열효율이 감소된다. 이에 따라 덕트 청소 로봇의 필요성이 대두된다. 덕트의 특성상 밀폐공간이며, 굴곡이 많아 유선 로봇일 경우 선이 꼬이거나 뒤틀리는 현상이 자주 일어난다. 무선 로봇을 제작할 경우 현재 청소 로봇의 위치를 쉽게 알 수 없다. 이상 발생 시에는 로봇의 위치를 외부에서 실시간으로 확인할 필요성이 있다. 기존의 덕트 청소 로봇은 사람에 의해 조작되어야 했고, 사용자는 덕트 내부 구조를 사전에 인지해 적절한 제어를 지속해서 해야 했다. 이 때문에 건물의 구조가 복잡한 덕트 같은 경우 사람이 정확하게 로봇의 위치나 상황을 인지하기 힘들어 덕트 청소의 어려움이 많다. 뿐만 아니라 덕트의 직경이 달라질 때 기존의 로봇[1-3]들은 대처하기가 어렵다. 때문에 이러한 문제점들을 해결해야 한다.

일반적으로 공조용 덕트는 천장 내에 은폐되어 설치된다. 그리고 공조기에서 각 실의 흡입구 및 취출구에 이르기까지 그 형태와 치수가 변화하게 됨에 따라 굴곡부가 생기게 되며, 또한 이외에도 많은 분기부와 댐퍼류가 설치된다.

덕트 클리닝 방법은 건식방법과 습식방법으로 크게 분류된다. 건식방법에는 접촉식 진공방법, 압축공기 이용방법, 기계적 브러싱 방법으로 분류되며, 습식방법은 수동 워싱방법, 제트물 분사방법, 화학제 이용 방법으로 분류될 수 있다.[4]

본 연구에서 제작한 덕트 청소 로봇은 기존의 덕트 청소 로봇[5-6]과 흡사한 기능을 하지만, 원형 덕트에 좀 더 적합하도록 3족 로봇(Three-Legged Robot)[5]으로 설계하였고, 이에 따라 곡선의 덕트 내부 벽면에서도 안정적으로 이동하고, 정지할 수 있다. 뿐만 아니라 무선으로 작동되어 길고 구불구불한 덕트 내부에서 자주 일어나는 선 꼬임 현상을 방지할 수 있다. 마지막으로 기존의 덕트 청소 로봇은 사용자에 의해 일일이 조작되어야 했지만, PSD 센서를 통해 덕트 내부의 직경 거리를 측정하고 카메라로 “L”자 관과 “T”자 관을 구분하여 자율주행 하도록 해 사용자는 시작 버튼과 종료 버튼만 통제하고 덕트 내부 영상을 보며 청소 상태를 확인할 수 있다. 무선으로 밀폐공간의 덕트 내부 영상을 사용자의 PC로 보내야 하기 때문에, 라즈베리 파이(Raspberry Pi)를 통해 무선으로 와이파이(WI-FI)를 통해 영상을 보내게 했다. 이를 통해 무선 덕트 청소 로봇은 선 없이 자유롭게 덕트를 오갈 수 있으며, 사용자의 추가적인 제어 없이 자율주행하여 덕트를 진입하고, 빠져나올 수 있다. 또한 덕트 내부의 영상과 사진을 무선으로 사용자의 PC에 나타낼 수 있다.

본 논문에서는 특히 덕트의 직경변화에 대응할 수 있는 3족 로봇(Three-Legged Robot) 설계 과정 및 덕트내에서의 자기 위치 인식 및 “L”형 및 “T”형 관에 대하여 이동할 수 있는 제어방식과 기구 메카니즘에 대하여 주로 설명한다. 또한 로봇의 자기위치를 추정하기 위한 방법도 제시한다.

Ⅱ. 전체 기구 구성

1. 기구 및 회로 구성

그림 1 에서 보는 바와 같이 자율주행 덕트 청소 로봇은 크게 Center body와 3개의 Wheel body로 나뉘어진다. Center body 전면부의 카메라와 LED는 덕트 내부를 촬영하면서 Raspberry Pi와 영상처리를 통해 ‘T’자 덕트를 구분해서 주행할 수 있도록 도와주는 역할을 한다. 그리고 전면부와 후면부에 부착된 적외선 센서를 이용해 거리 감지를 통해서 자율주행을 할 수 있으며, 중심부에 있는 UWB Tag를 이용하여 실시간 로봇의 위치를 알 수 있도록 도와준다. 마지막으로 후면부에서 브러쉬가 회전하면서 덕트를 청소하게 된다.

OTNBBE_2019_v19n1_85_f0001.png 이미지

그림 1. 중심체와 세 개의 바퀴체

Fig. 1. Center body and 3 wheel bodies

Wheel body는 로봇의 주행을 도와주는 바퀴역할을 한다. 원형덕트의 내부를 접촉하여 원활한 주행을 할 수 있도록 Center body를 중심으로 둘레에 3개의 Wheel body가 연결되는데 Wheel body가 인장, 수축하면서 다양한 직경의 덕트 내부에서 적응할 수 있는 구조로 설계하였다. 기본적으로 슬라이더 링크를 이용한 4절 링크 구조를 사용하였다.

2. 기동 원리

그림 2 는 좁은 덕트에 진입할 때의 구동 과정과 덕트의 진입 전/후의 로봇 자세를 비교하여 보여준다. 우선 Wheel body의 측면에 부착된 Geared 모터에 전력을 주면, 90도로 이루어진 두 개의 베벨기어를 통해 동력을 전달한다. 전달된 동력은 풀리와 벨트를 돌리는데 전달됨으로써 전/후 주행을 할 수 있다. 이 때, 좁은 원형 덕트에 진입하면 세 개의 Wheel body의 앞부분부터 접혀지고, 접혀진 압력으로 인해 Center body와 연결된 링크를 누르게 되며 슬라이더 링크에 힘이 전달된다. 그럼으로써 스프링이 눌려지고 뒷부분까지 눌려 전체 Wheel body가 접혀진다. 접혀진 Wheel body들은 덕트 안에서 세 방향으로 동일한 힘으로 덕트 내부 벽면을 밀어내면서 주행을 할 수 있게 된다.

OTNBBE_2019_v19n1_85_f0021.png 이미지

그림 2. 로봇의 구동 순서(a)와 로봇의 덕트 진입 전, 후 모양 (b)

Fig. 2. Sequence of the robot driving (a) and the shape of the robot before and after the duct entry (b)

3. Center body 설계

그림 3은 Center body 형상이다. Center body를 설계하는데 주안점은 기존의 덕트 청소로봇 및 덕트 탐사로봇 등과 달리 무선로봇이기 때문에 다양한 회로(UWB, Raspberry Pi, MCU)들이 좁은 로봇의 몸체 안에서 배치될 수 있도록 설계해야 한다.

OTNBBE_2019_v19n1_85_f0004.png 이미지

그림 3. 중심체 전체 모델링

Fig. 3. Modeling of Center body

몸체 안에 충분한 공간을 만들면서 슬라이더 링크가 움직일 수 있는 축(앞, 뒤 각각 3개씩)를 조립해야 한다. 중앙 원판 베이스의 지름은 60mm 로 하고 뚫려 있는 사각형으로 중앙 MCU와 배선들이 삽입되면서, 지름이 50mm 둘레로 120도 간격 3개의 축이 조립된다. 앞과 뒤의 구조가 같은 구조로 되어 있다. 그림 4의 그림(좌)와 그림(우)이 중앙 원판 및 축의 위치와 Slider 링크의 모양 및 구조를 나타낸다.

OTNBBE_2019_v19n1_85_f0022.png 이미지

그림 4. 슬라이더 링크의 모양과 정렬형태

Fig. 4. Modeling of sliders and arrangement

전면부는 PSD가 총 6개가 부착될 수 있도록 디자인하였으며, LED, 카메라를 위한 홀을 뚫었다.

후면부는 다음과 같이 설계를 하였다. 브러쉬는 내접기어를 이용하였다. 브러쉬 모터로 작은 기어를 돌리면 브러시가 부착된 큰 기어가 작은 기어와 내접하여 돌아가는 방식을 사용하였다. 그림 5는 PSD를 장착하였을 때의 후면부 모습과, 후면부 PSD 베이스를 분해했을 때 내부의 내접기어구조를 모델링한 것이다.

OTNBBE_2019_v19n1_85_f0005.png 이미지

그림 5. 브러쉬 모델링

Fig. 5. Modeling of the brush

4. Wheelbody의 설계

그림 6은 Center body 둘레로 3개의 Wheel body가 연결된 구조를 보여주는데, 여기서 Wheel body는 바퀴 역할을 담당하는 부분이다. 토크가 센 Geared 모터를 사용하여 베벨기어, 풀리로 동력이 전달되어 벨트의 마찰을 이용하여 이동을 하는 시스템이다. 한쪽 면은 Geared 모터, 모터 드라이버와 컨버터를 부착하였고, 반대쪽 면은 배터리, 와이어와 Geared DC 모터를 장착하였다.

OTNBBE_2019_v19n1_85_f0006.png 이미지

그림 6. 전체 로봇 구성

Fig. 6. Overall composition

본 연구에서는 Center body와 Wheel body를 연결하고 다양한 직경에 적응하기 위해서 스프링을 이용한 4절 슬라이더 링크구조를 제안하였다.

그림 7은 Wheel body의 반대면을 나타낸 것으로, “T” 자 덕트를 주행할 수 있도록 Wheel body를 압축시켜 주는 소형 Geared DC 모터 두 개를 플레이트 앞뒤로 부착한 모습을 보여준다. 소형 Geared DC 모터는 와이어와 함께 사용하는데, 와이어는 Center body의 전면과 후면 베이스와 Wheel body의 소형 Geared DC 모터의 축과 연결된다.

OTNBBE_2019_v19n1_85_f0007.png 이미지

그림 7. 바퀴체의 반대면

Fig. 7. The opposite side of the Wheelbody

Ⅲ. 기구 상세 설계

3.1 기구해석

자유도를 계산하기 위해서 Grubler 방정식[7]을 사용하였다. 그림 8의 그림(위)는 Grubler 방정식에서 사용되는 링크의 수이며, Fig.8의 그림(아래)은 조인트의 개수를 뜻한다. Grubler 방정식을 사용하여 자유도를 계산해보았다.

OTNBBE_2019_v19n1_85_f0008.png 이미지

그림 8. 링크와 조인트의 수

Fig. 8. The number of links and joints

자유도=3*(링크수-1)-2*(조인트수)       (1)

자유도를 계산하기 위한 Grubler 식(1)을 참고하여 계산을 하면, 링크 수는 8이며 조인트 수는 10이므로 자유도는 ‘1’이 나오게 된다. 계산 상으로는 ‘1’이 나왔지만 기구를 움직여보면 자유도가 ‘2’가 나온다. 슬라이더 링크가 아닌 막대기 링크가 양쪽으로 다른 길이로 구성되었다면 자유도가 ‘1’이라고 할 수 있지만 같은 길이로 구성되어 있기 때문에 한쪽으로 치우쳐져서 접힐 수 있을 뿐만 아니라 Wheel body가 위, 아래로 평행하게 움직일 수 있는 자유도 1이 추가된다. 독특한 기하학적 형상이기 때문에 자유도가 ‘2’가 된다.

이 기구 형상으로부터 극복할 수 있는 덕트 직경을 계산해 보았다. 그림 9는 최대한 링크가 펼쳐져 있을 때의 나올 수 있는 Center body와 Wheel body의 형상이며 표1은 그 형상이 이루어질 때의 링크의 각도와 길이를 나타낸 것이다.

OTNBBE_2019_v19n1_85_f0009.png 이미지

그림 9. 최대 지름 계산

Fig. 9. Maximum diameter calculation

표 1. 링크 길이와 사이 각도

Table 1. Length or Angle of links

OTNBBE_2019_v19n1_85_t0001.png 이미지

표 1에 h는 링크와 축 사이의 각도를 나타낸 것이며, i는 짧은 링크, j는 긴 링크, k는 축과 Wheel body의 최대 거리를 나타낸다.

3.2 Wheel body 길이 선정

3.1에서 계산된 최소 로봇 직경을 토대로 최대 Wheel body길이를 계산한다. 아래 그림 10은 로봇의 길이를 구하기 위해 덕트 그림과 임의의 로봇 모양을 직사각형으로 표시한 것이다.

OTNBBE_2019_v19n1_85_f0010.png 이미지

그림 10. 로봇의 길이 결정

Fig. 10. Deciding the length of robot

\(x \cos 45^{\circ}+y \cos 45^{\circ}=z\)       (2)

\(x=\frac{\mathrm{z}-\mathrm{y} \cos 45^{\circ}}{\cos 45^{\circ}}\)       (3)

L=2x       (4)

위 식(2), (3), (4)는 로봇의 길이 L을 구하기 위한 유도식이며, x는 로봇 길이의 절반을 뜻하며, y는 로봇의 직경을, z는 덕트의 직경을 뜻한다. 로봇이 코너에서 45도로 꺾일 수 있어야 회전이 가능하기 때문에, 45도로 꺾여있는 상태라고 가정하고 로봇의 절반 길이인 x를 유도한다. 그리고 x의 두배 길이가 곧 로봇의 전체 길이라고 할 수 있다. 참고로 로봇의 전체 길이란 지면에 닿는 Wheel body의 바닥면 길이를 뜻한다.

그림 11은 “L”자 덕트에서 방향 전환이 이루어질 수 있는 Wheel body길이를 결정하기 위해 그림을 그려 본 것이다. 흰 선은 덕트, 초록색 선은 로봇이라고 가정하였고, 커브에서 꺾이는 방향의 Wheel body중심을 축으로 돌아야 한다. 그리고 표 2는 덕트의 직경과 로봇의 직경, 최대/최소 길이를 나타낸 것으로 a는 로봇의 최소 직경, b는 덕트의 최소 직경, c는 로봇의 최소 직경일 때 가능한 로봇의 최대 길이, d는 로봇의 최대 직경, e는 로봇의 최대 직경일 때 가능한 로봇의 최소 길이를 뜻한다.

OTNBBE_2019_v19n1_85_f0011.png 이미지

그림 11. 로봇의 최대/최소 길이 결정

Fig. 11. Deciding maximum/minimum Length

표 2. 각 부호마다의 로봇의 길이

Table 2. Lengh of robot body

OTNBBE_2019_v19n1_85_t0002.png 이미지

3.3 Z축 덕트 주행을 위한 마찰력 계산

그림 12는 로봇이 Z축 덕트를 주행한다고 가정할 때 발생하는 힘의 분포를 자유 물체도로 나타낸 것이다. Fr은 마찰 힘이며, M은 로봇의 무게이다.

OTNBBE_2019_v19n1_85_f0012.png 이미지

그림 12. 로봇에 작용하는 자유 물체도

Fig. 12. Free body diagram of the robot

N = Fs       (5)

Fr = μN       (6)

3Fr > M       (7)

식(5)는 덕트 벽면을 밀어내는 Wheel body에 작용하는 수직항력은 스프링으로 밀어주는 힘 Fs와 같다는 것을 의미하고, 식(7)은 세 개의 Wheel body로 주행하므로 마찰력 Fr의 세 배 크기는 로봇의 무게보다 커야 Z축 덕트를 주행할 수 있다는 의미이다. 사용된 Twin 벨트 겉표면 재질은 나일론이며 최소한의 철의 재료와 상대적인 마찰계수가 0.15~0.25 밖에 되지 않으므로 0.41이상이 되는 재질의 실리콘 고무를 벨트위에 부착하여 사용하게 되었다. 실리콘 고무를 사용하지 않고 Z축 덕트를 주행할 때에는 미끄러짐이 발생하였지만 실리콘 고무를 부착한 후에 주행을 하였더니 미끄럼 발생이 없어진 것을 확인할 수 있었다.

IV. 덕트 주행

1. 센서을 통한 “L”자 덕트 극복

로봇이 굽은 공간을 만나게 되면 그림 13과 같은 순서로 로봇이 동작하게 된다. 먼저 PSD센서를 통해 좌우가 비어 있는지 확인한다. 로봇이 전진 중 굽은 공간을 만나게 되면, 그림 13 처럼 PSD 센서의 거리값이 일정 거리(본 실험에서는 12.5cm) 이상이 되어 빈 공간을 감지하게 된다. 그러면 로봇은 축이 되는 바퀴를 정지시키고 나머지 바퀴를 그대로 전진시켜 덕트 내부에서 큰 부하 없이 회전할 수 있도록 하였다. 로봇이 회전 후, PSD 센서값이 약 12.5cm 미만으로 되면 로봇은 다시 전진을 시작하게 된다. 이러한 방식으로 “L”자 덕트에서 좌우 구동을 할 수 있도록 하였다.

OTNBBE_2019_v19n1_85_f0013.png 이미지

그림 13. 덕트 주행 순서

Fig. 13. “L” type duct driving sequence

2. 영상을 이용한 “T”자 관 확인

한편 로봇이 극복해야 할 특징적인 덕트 구조로는 Elbow (“L”자 덕트) 뿐 아니라 T-branch (“T” 자 덕트)가 있고 로봇이 이 구조 역시 극복하는 방법이 필요하다. 거리 센서만 사용하면 이 둘을 같은 구간으로 인식하게 된다는 것이다. 로봇이 왼쪽이나 오른쪽으로 돌아야 하는 상황을 가정할 때 영상정보 없이 전방의 거리 감지 센서로는 두 구간을 구분할 수는 없다.

이 때 영상정보를 활용하면 그림 14와 같이 두 구간을 구분할 수 있게 된다. 거리 센서 값은 두 구조에 대해 같을 수 있지만 Elbow관은 세 바퀴가 벽에 닿지만, T-branch관은 바퀴 하나가 벽에 닿지 않기 때문에 이를 정확하게 극복해야 한다는 점이다. 벽에 바퀴가 닿지 않아 구동할 수 없게 되는 문제점 때문에 본 연구에서는 와이어 모터를 추가로 사용하는 설계를 제안하였다.

OTNBBE_2019_v19n1_85_f0014.png 이미지

그림 14. “L”과 “T” 덕트 간의 내부 모양 차이

Fig. 14. Image difference between “L” type and “T” type duct

영상으로 Elbow와 T-branch를 구분하기 위해서 특징점으로 T-branch 모서리의 외곽선을 선정했다. 그림 15에 보이는 외곽선을 감지하느냐에 따라 두 구간을 다르게 인식할 수 있다고 판단했다.

OTNBBE_2019_v19n1_85_f0015.png 이미지

그림 15. “T” 덕트 구간 감지

Fig. 15. Detected T-type section

외곽선의 픽셀 좌표를 이용하는 것이 아닌 카메라 영상 자체의 사진을 이용하는 Template Matching[8,16]을 이용하기 보다는 사전에 참조사진이 필요하지 않는 영상인식 방식 중 Haar feature[12]방식으로 외곽선을 검출하였다.

각 기초 형상 (feature)에 대한 특징값은 형상의 흰색 부분에 해당하는 영상 픽셀들의 밝기 합에서 검은색 부분의 밝기 합을 뺀 차로 계산된다. 형상를 이용한 대상의 식별은 계산된 영역의 밝기 차가 형상에 부여된 임계값(threshold)보다 큰지 작은지 여부를 이용한다.

3. 타이머를 이용한 “T” 자 덕트 극복

그림 16은 “T”자 덕트를 극복하기 위한 와이어를 접는 방식을 보여주며 그림 17은 “T”자 덕트에서 방향 전환을 하는 구동순서를 나타낸 것이다. “T” 덕트에서 로봇이 회전을 하기 위해서는 “L” 덕트 극복과는 다른 방식으로 회전해야 한다. 우선 영상처리를 이용하여 “T” 덕트를 감지하게 되면, 로봇에 “T” 덕트가 있다는 신호를 보낸다. 그리고 일정시간 동안 Wheel body 측면에 부착된 소형 Geared 모터와 와이어를 사용해 Wheel body 앞부분을 접는다. 방향전환 때 Wheel body가 벌어짐을 방지함으로써 주행 중 덕트에 Locking이 되어 구동이 멈추는 것을 방지할 수 있다. 이 후 “T” 덕트를 만나면 “L”덕트와 마찬가지로 PSD센서로 빈 공간을 감지하게 된다.

OTNBBE_2019_v19n1_85_f0016.png 이미지

그림 16. 와이어를 이용한 T덕트 구간 극복

Fig. 16. Overcoming of T-shaped duct by wire operation

OTNBBE_2019_v19n1_85_f0017.png 이미지

그림 17. “T”덕트 구간 작동 순서

Fig. 17. Operation sequence in T-type duct

그림 17은 “T”자 덕트에서 로봇이 Wheel body를 접은 후 방향전환을 하는 구동 순서를 나타낸 것이다. Wheel body를 접은 후, MCU 내에 T1 타이머를 시작한다. 타이머가 일정시간에 도달할 때까지 로봇은 전진하도록 한다. 그 후 로봇은 T2 타이머를 시작하고 그림 17의 (3)처럼 회전축이 되는 바퀴를 역회전하여 로봇을 회전시킨다. T2 타이머가 일정시간에 도달하면 T3 타이머가 시작하며 로봇의 톱 바퀴를 역회전하여 로봇을 회전시킨다. 이후 T3 타이머가 일정 시간에 도달하면 로봇의 모든 바퀴를 전진시켜 다시 자율 주행을 시작한다. 실험을 통해 각 단계 ②, ③, ④당 타이머의 시간은 각각 약 4.8초, 6.4초, 8초의 시간이 필요하다는 것을 알아내어 이를 타이머로 적용시켜 로봇이 자동으로 “T” 자 덕트를 극복할 수 있도록 하였다. 이 과정에서의 3개의 Wheel body 모두 주행 속도는 같다.

V. UWB 통신을 이용한 자기위치 인식

1. UWB통신

다양한 위치 인식 기술들이 있는데[15], 그 중에서 UWB를 사용하였다. UWB(Ultra Wide Band)통신은 3.1GHz에서10.6GHz 까지의 넓은 주파수 영역에 걸쳐 10m~1km의 전송거리를 보장할 수 있는 무선통신기술로 그 동안 군에서 특수목적으로 개발되어 응용되어 왔으나 최근 민간에 개방하면서 관심을 모으게 되었다. 대용량의 정보를 낮은 전력으로 전송하는 UWB는 실내측위, 스포츠트래킹, 침입자감지시스템, 중장비차량사고방지등 응용범위가 아주 넓은 신기술이다 [9-11]. 스마트폰을 이용한 실내 위치 인식의 한계를 극복하고자[13] 이 연구에서는 UWB 통신과 RTLS(Real-Time Locating Systems)를 응용하여 실내에서 물체 또는 사람의 위치를 자동으로 식별하고 추적할 수 있는 시스템을 구현하였다. UWB 통신에 사용된 통신모듈은 DECAWAVE 사의 DWM1000을 사용하였고 거리측정은 TOF(Time of Flight) 방식을 사용하였다.

2. 모멘텀을 고려한 경사하강법에 의한 위치 인식

그림 18에 제시된 것처럼 세 개 이상의 앵커로부터 받은 거리값으로 로봇의 위치를 추정하는데 경사하강법을 적용하였다. 경사하강법은 1차 근사값 발견용 최적화 알고리즘이다. 기본 아이디어는 비용함수의 기울기를 구하여 기울기가 낮은쪽으로 계속 이동시켜서 극값에 이를 때까지 반복시키는 것이다.

OTNBBE_2019_v19n1_85_f0018.png 이미지

그림 18. 4개의 앵커로부터 중심 태그의 위치 인식

Fig. 18. Tag location identification using distances from 4 anchors

로봇의 중심위치에 대한 측정오차와 추정오차와의 차이를 Ei로 하고 비용함수를 J로 하면 다음과 같다.

Ei = di - ri       (8)

\(J=\frac{1}{n} \sum_{i=1}^{n} E_{i}^{2}\)       (9)

경사하강법에 따라 다음과 같이 현재 위치가 업데이트된다

\(X_{k+1}=X_{k}-\gamma \nabla J\left(X_{k}\right), X_{k}=\left[\begin{array}{l} x_{k} \\ y_{k} \end{array}\right]\)       (10)

따라서 식 (11)의 업데이트 식이 성립된다.

\(\left[\begin{array}{l} x_{k+1} \\ y_{k+1} \end{array}\right]=\left[\begin{array}{l} x_{k} \\ y_{k} \end{array}\right]-\gamma\left[\begin{array}{l} \frac{2}{m} \sum_{i=1}^{m} \frac{\left(x_{i}-x_{k}\right)\left(d_{i}-r_{i}\right)}{d_{i}} \\ \frac{2}{m} \sum_{i=1}^{m} \frac{\left(y_{i}-y_{k}\right)\left(d_{i}-r_{i}\right)}{d_{i}} \end{array}\right]\)       (11)

여기서

\(d_{i}=\sqrt{\left(x_{i}-x_{k}\right)^{2}+\left(y_{i}-y_{k}\right)^{2}}\)       (12)

식(10)은 앵커와 태그의 거리오차를 최소로 하는 공간상의 좌표를 계산하는 경사하강법의 이산화식이다. 현재 좌표 xk 값에서 그 다음으로 이동할 점인 xk+1값을 계산한다. i는 앵커의 개수(i =1, 2, 3..., m),  는 이동거리를 조절하는 매개변수이다. ri는 실제 측정거리를 2차원 평면에 투영하여 계산한 값이고 di는 각 앵커와 현재 좌표에서의 거리 계산값이다.

경사하강법의 단점은 기울기가 0인 점을 잘 탈출하지 못한다는 것과 수렴이 느리다는 것이다. 이를 해결하기 위해서 보편적으로 사용되는 방법이 관성[14]을 적용하는 것이다. 즉, 속도상수를 보정하여 더 빨리 극소값에 도달하게 하며 가속의 영향으로 변곡점도 잘 넘어갈 수 있게 하는 것이다. 관성이 적용되는 위치 추정 업데이트식은 다음과 같다.

\(v_{t+1}=\eta v_{t}+\gamma \nabla J\)       (13)

식(13)에서는 시간에 따른 속도를 나타내고, ηvt는 모멘텀 항을 뜻한다. 이 경우 η는 0.9를 사용하였고 이는 기존대비 10배 정도의 속도로 수렴함을 뜻한다. 실제 오차는 최대 약 30cm이다.

VI. 실험 및 결과

로봇을 제작한 후, 직선, Z축, “L”자, “T”자 덕트에서 주행이 가능한지 각 구간마다 실험을 진행하였다. 직선덕트의 경우, LED 구동, 촬영, 브러쉬 구동과 함께 직선 주행이 쉽게 이루어졌다. 그림 19는 완성된 로봇의 모습(상단 두 그림은 측면과 후면이며 하단 두 그림은 로봇의 정면과 대각방향의 모습이다.

OTNBBE_2019_v19n1_85_f0019.png 이미지

그림 19. 완성된 로봇(옆면-뒷면(위), 정면-대각면(아래))

Fig. 19. Finished Robot (Side-Rear (Top), FrontDiagonal (down))​​​​​​​

그리고 “L”자 덕트와 “T”자 덕트에서 각자 주행테스트를 진행하였더니, “L”자 덕트 주행의 경우 10번 실험하였을 때, 9번의 주행 성공으로 90% 주행 성공률을 결과를 가질 수 있었고, “T”자 덕트에서 주행을 했을 때에는 소형 Geared 모터를 부착하기 전에 주행했을 때에는 로봇의 Locking이 매우 빈번하고 성공률이 0%이였다. Locking 방지를 위해 소형 Geared 모터와 와이어를 사용해 다리를 접어 “T”자 덕트를 주행하였더니 약 40% 확률로 주행이 성공하였다. 이 때는 축방향 바퀴를 후진방향으로, 나머지 두 바퀴를 전진방향으로 구동하는 하나의 단계로만 진행하였다. 주행 단계를 수정하여 3절과 같은 단계로 실험을 진행하였더니 10번 실험 시행 중 8번을 성공하여 80%이상의 주행성공률을 가지게 되었다. 표 4는 “T”자 덕트 내에서의 각 상황마다의 성공률을 표로 정리한 것이며, 표 5는 여러 종류의 덕트에서 로봇의 주행 속도이다. 그림 20은 “T”자 덕트에서 로봇이 주행하는 모습이다.

표 3. 로봇의 전체 사양

Table 3. Specifications of the robot

OTNBBE_2019_v19n1_85_t0006.png 이미지

표 4. T 덕트 주행 성공률

Table 4. Success rate of T-duct driving

OTNBBE_2019_v19n1_85_t0007.png 이미지

표 5. 각 구간별 로봇 주행 속도

​​​​​​​Table 5. Robot speed in several circumstances

OTNBBE_2019_v19n1_85_t0005.png 이미지

 

OTNBBE_2019_v19n1_85_f0020.png 이미지

그림 20. T 덕트 주행 그림

Fig. 20. Driving on T-type duct​​​​​​​

ⅤII. 결론

본 연구는 슬라이더 링크와 스프링을 이용한 4절 링크구조의 3족 로봇을 설계하였고, 이를 통해 다양한 직경의 원형 덕트에서 3개의 다리가 같은 힘으로 덕트 벽면에 접촉함으로써 쉽게 주행할 수 있었다. 또한 벨트의 마찰력을 증가시켜 Z축 덕트에도 주행 가능하게 되었다. “T”자 덕트, “L”자 덕트, 장애물 구간을 쉽게 극복 및 주행이 가능할 수 있게 되었고, 낮은 회전속도로 천천히 덕트를 청소할 수 있게 되었다. Wheel body 측면에 소형 Geared Motor를 부착하고 와이어를 연결해 세 Wheel body를 강제로 압축시켜주는 메커니즘을 추가하였다. 이로 인해 Wheel body 압축을 통해 “T”자 덕트의 방향 전환/회전이 가능하게 되었다. UWB 모듈을 이용하여 삼변 측정법에 의한 로봇의 자기위치 추정에서 우수한 위치 값을 가짐을 확인할 수 있었다. 따라서 밀폐된 공간내에서 청소 중인 로봇의 자기위치를 정확히 추정하여 덕트 내의 임의 위치에서의 이상 유무 및 청소 방법을 보다 구체적으로 구현할 수 있다.

References

  1. Seung Woo Jeon, "Design of an Intelligent Duct Cleaning Robot with Force Compliant Brush", 12th International Conference on Control, Automation and System, pp. 2033-2037, 2012.
  2. Young-Sik Kwon, Byung-Ju Yi, "Design and Motion Planning of a Two-Module Collaborative Indoor Pipeline Inspection Robot", IEEE Transcations on Robotics, vol. 28, No.3, pp.681-696, 2012. DOI : 10.1109/TRO.2012.2183049
  3. Ya Wang, Jianhua Zhang, , "Autonomous Air Duct Cleaning Robot System", 49th IEEE International Midwest Symposium on Circuits and Systems, Vol. 1, pp. 510-513, 2006.
  4. Wootea Jung, "Underground History Duct Pollution and Cleaning Technology", The Society of Air-Conditioning And Refrigerating Engineers Of Korea, pp.37-38, 2012.
  5. Atsushi Kakogawa, Shugen Ma, Shigeo Hirose, "An In-pipe Robot with Inderactuated Parallelogram Crawler Modules", Proc. IEEE/RSJ int. Conf. on Robotics & Automation (ICRA), pp.1690-1691, 2014.
  6. Atsushi Kakogawa, Shaugen Ma, "Design of an Underactuated Parallelogram Crawler Module for an In-pipe Robot", Proc. IEEE Int. Conf. on Robotics & Biomimetics (ROBIO), pp.1324-1329, 2013.
  7. Arthur G. Erdman, "Mechanism Design", pp. 10-35, 2017.
  8. Jang-Won Kim, "Detection and Recognition of Traffic Lights for Unmanned Autonomous Driving", Journal of Korea Institute of Information, Electronics, and Communication Technology, Vol. 11, No. 6, pp. 751-756, Dec 2018. DOI : http://dx.doi.org/10.17661/jkiiect
  9. Joon-hyun Park, Min-ki Jang, Jae Min Hong, Shin Heon Kim, Jong Gun Kim, "A Study on Interference by Obstacles for UWB Based Distance Calculation", Korea Telecom Society 2018 Winter Conference, Vol. 2018, No. 1, pp. 0984-0985, 2018.
  10. Yoon Hwa Choi, Jong Hoon Ahn, Soo Young Chang, "UWB Technology Analysis", Proceedings of the Korean Institute of Communication Sciences, Vol. 2004, No. 7, pp.47-48, 2004.
  11. Hyung-Kyu Song, Young Yoo, Park, Hyunjin, "UWB Wireless Communication Technology", Journal of the Korean Institute of Communication Sciences, Vol. 19, No. 5, pp. 73-89, 2002.
  12. Duan-Sheng Chen, "Generalized Haar-Like Features for Fast Face Detection", 2007 International Conference on Machine Learning and Cybernetics, Vol. 4, pp. 2131-2135, Aug 2007.
  13. Jongtaek Oh, "A Study on Global Positining System of Smart Phone in Indoor", The Journal of The Institue of Internet, Broadcasting and Communication, vol. 15, No.2, pp.151-156, 2015. DOI:https://doi.org/10.7236/JIIBC.2015.15.2.151
  14. Ning Qian, "On the Momentum Term in Gradient Descent Learning Algorithms", Neural Networks, pp.145-151, 1999.
  15. Jung-Ki Lee, "A Study on the Technology Development of User-based Home Automation Service", Journal of the Korea Academia-Industrial cooperation Society, Vol. 18, No. 3, pp. 327-332, 2017. DOI : https://doi.org/10.5762/KAIS.2017.18.3.327
  16. Roberto Brunelli, "Template Matching Techniques in Computer Vision: Theory and Practice", A John Wiley and Sons, 2009.