Most existing simulators for wireless sensor networks(WSNs) are modeling battery-based sensors and providing MAC and routing protocols designed for battery-based WSNs. However, recently, as energy harvesting sensor systems have been studied more extensively, there is an increasing need for appropriate simulators, but few related studies have employed such simulators. Unlike existing simulators, simulators for energy harvesting WSNs require a new energy model that is integrated with the energy-harvesting model, rechargeable battery model, and energy-consuming model. Additionally, it should enable the applications of the well-known MAC and routing protocols designed for energy-harvesting WSNs, as well as a user-friendly interface for convenience. In this work, we design and implement a user-friendly simulator for solar energy-harvesting WSNs.
배터리 기반 센서 네트워크의 에너지 한계를 극복하고, 센서 노드/네트워크의 자율성과 영속성을 최대한 만족시키고자, 최근에 주변 에너지들을 자율적으로 수집하는 센서 시스템/네트워크가 관심을 받고 있다. 에너지 수집형 무선 센서 네트워크의 연구를 진행할 때 실제 네트워크를 구현한 후 실험한다면 비용, 시간, 디버깅 등 여러 가지 어려움이 존재함으로, 시뮬레이션을 통한 성능 검증을 먼저 수행해야 하는데, 에너지 수집형(Energy harvesting) 무선 센서 네트워크를 위한 시뮬레이터는 거의 없는 상태이다.
이러한 문제를 해결하기 위해, 본 논문에서는 에너지 수집형 무선 센서 네트워크를 다양한 레벨에서 쉽게 분석하기 위한 효율적인 시뮬레이터를 제안한다. 제안하는 시뮬레이터는 여러 에너지 자원 중 특별히 태양 에너지를 고려하여 설계되었다. 태양 에너지 수집이 고려된 본 시뮬레이터의 특징은 다음과 같다. 첫째, 태양에너지의 일사량과 태양 전지판(Solar panel)의 크기 및 종류별 특성을 반영하여 구현되었으므로, 시뮬레이션하고 싶은 환경에 맞는 조건을 다양하게 설정할 수 있다. 둘째, 에너지 저장 장치의 종류별 특성을 반영하여 설계되었으므로, 저장 장치별 특성을 분석하는 시뮬레이션이 가능하다. 셋째, 시뮬레이터 구현을 객체지향적(Object-oriented)으로 구현하여 새로운 모듈의 추가와 수정을 쉽게 할 수 있다. 넷째, 사용자가 쉽게 사용할 수 있는 사용자 친화형 GUI를 제공한다. 다섯째, 태양 에너지를 활용한 다양한 Routing Protocol, MAC Protocol을 기본적으로 제공하여, 새로운 프로토콜 제안 시에 비교 분석이 용이하다. 마지막으로, 시뮬레이션의 결과로 네트워크 레벨 분석 및 노드 레벨의 분석을 동시에 가능케 하여, 자세한 성능 분석을 용이하게 하였다.
본 논문의 구성은 다음과 같다. 2장은 관련 연구의 설명으로서 에너지 수집형 센서 시스템을 설명하고, 아울러 기존의 배터리 기반 WSN 시뮬레이터의 종류와 특징에 대해 설명한다. 3장과 4장을 통해, 제안한 시뮬레이터 구조 및 에너지 수집 모듈, 사용자 인터페이스에 대해 기술한다. 5장에서는 본 시뮬레이터를 이용하여 태양 에너지 기반 라우팅 프로토콜의 성능 분석을 수행했으며, 마지막으로 6장에서 결론을 기술한다.
제한된 에너지 문제의 근본적인 해결을 위해 에너지 수집형 센서 노드가 최근 활발히 연구되고 있다[1]. 에너지 수집형 센서 노드들은 주변의 다양한 친환경 에너지를 수집하여, 재충전 배터리에 저장하고 이를 소비하며 동작한다. 친환경 에너지 종류로는 태양, 바람, 혈압, 호흡, 발걸음 그리고 실내 환경에서의 진동 등이 있고, 이들은 다양한 특성을 가진다. 아울러, 이들 에너지를 저장하는 재충전 배터리의 종류는 SLA, NiCd, NiMH, Li-ion, Li-polymer, Super-Capacitor 등 다양하며, 이들 각각은 [2]에 나타난 바와 같이 에너지 변환 효율, 완전충⋅방전 횟수, 자기방전, 메모리 효과(Memory effect) 등 각각 다른 특성을 가지고 있다.
이러한 다양한 에너지 원과 재충전 배터리를 사용하는 에너지 수집형 센서 노드는 에너지 수집을 통한 영구적인 사용, 기존 시스템에 비해 저렴한 유지 보수 비용, 높은 QoS, 다양한 센서 형태 등의 특징으로 인하여, 기존 배터리 기반 센서 노드보다 광범위한 분야에서 사용이 가능하다. 또한, 에너지 수집형 센서 노드는 다양한 에너지 자원과 저장 장치를 사용하고 있어, 적용 상황에 따라 다양한 모양과 크기 변형이 가능하다.
에너지 수집형 센서의 개발로 인해, 시스템 및 네트워크, 데이터 분야 등 많은 분야에서 새로운 기법에 대한 연구들이 많이 연구되고 있는데, 지금까지는 이러한 연구를 위하여 기존의 배터리 기반 WSN 용으로 구현된 시뮬레이터들[3]을 수정하여 사용하였다. 이 중 가장 많이 사용되고 있는 TOSSIM[4], AVRORA[5], 그리고 SENS[6] 시뮬레이터의 특징을 아래에 기술하였다.
- TOSSIM: UC 버클리 Tiny OS 프로젝트 팀에서 개발한 도구로 MicaZ 센서 플랫폼을 지원하며, OS에서 CPU에 내리는 명령 하나까지 에뮬레이션이 가능하여 정밀한 분석이 가능하다. 하지만 컴파일 단계에서 코드의 인터럽트 특성과 세밀한 시간조절(Fine grained timing)이 불가능하여, ATEMU[7]와 같은 시뮬레이터보다 부정확하다는 단점이 있다. 또한, Tiny OS의 응용 프로그램에서만 동작한다.
- AVRORA: UCLA에서 Java를 사용하여 개발된 시뮬레이터로써, AVR 마이크로 컨트롤러용으로 작성된 프로그램에 대한 시뮬레이션 및 분석 도구이다. 각각의 센서 및 프로그램 분석, 실험, 프로파일링 등 세부적인 분석이 가능하나, GUI를 제공하지 않으며, 통신 레벨시뮬레이션을 지원하지 않아 네트워크 수준의 시뮬레이션이 불가능하다.
- SENS: SENS는 네트워크 통신 및 어플리케이션, 물리적 환경 요소를 반영한 교차 레벨 시뮬레이터(Cross level Simulator)이다. 각 모듈은 실시간 환경에서 얻은 정보를 기초로 사용하고, 전력 사용 분석을 지원한다. 하지만, MAC 프로토콜을 정황하게 시뮬레이션 하지 못하며, 센서 및 액츄에이터(Actuator)로부터 얻는 물리적 현상은 소리 현상에 대해서만 지원하는 제약이 있다.
이들 시뮬레이터들은 모두 배터리 기반의 에너지 모델만 지원하는데, 배터리 기반 에너지 모델은 에너지 소비 모델만 존재하고, 수집 모델은 존재하지 않는다. 또한, 다양한 저장 장치들의 특성을 전혀 고려하고 있지 않아, 수집되는 에너지와 잔존 에너지를 모두 고려해야 하는 에너지 수집형 시스템의 성능 분석에는 사용이 부적합하다. 본 논문에서는 이러한 문제를 해결하기 위해 태양 에너지 기반 무선 센서 네트워크 전용 시뮬레이터를 설계하고 구현하였다.
에너지 수집형 센서 노드는 노드 주변의 다양한 친환경 에너지를 자원으로 활용한다. 본 논문에서는 친환경 에너지 중에서 제어는 불가능하나 주기적으로 수집이 가능하고, 충분한 에너지 밀도를 가지고 있으며, 높은 변환 효율을 보이는 태양 에너지를 선택하였다. 태양 에너지 수집형 센서 노드의 에너지 모듈은 [그림 1]과 같이 태양 전지판(Solar Cell 또는 Solar Panel)을 이용하여 에너지를 수집하고, 수집된 에너지를 센서 노드의 재충전 가능 배터리에 저장 후 사용하는 방식으로 동작한다.
본 논문에서는 이러한 센서 노드를 보다 정확히 시뮬레이션하기 위해 소프트웨어 적으로 에너지 모듈을 구현하였는데, 이를 에너지 관리자로 부른다. 이 에너지 관리자는 계절과 날씨에 따른 태양의 일사량, 패널 크기와 종류에 따른 수집 특성, 수집되는 에너지를 저장하는 저장 장치의 종류별 특성을 반영하여 설계되었다.
제안하는 시뮬레이터에서 가장 핵심적인 요소는 태양 에너지 수집이다. 실제 노드에서 수집하는 에너지양을 시뮬레이션하기 위해 태양 에너지 수집형 센서 노드에서 사용하는 패널과 재충전 배터리들의 특성을 반영하였다. 사용하는 패널과 배터리의 종류에 따라 수집되는 에너지양이 다양하게 변화 한다.
또한 날씨별, 계절별 태양 에너지의 수집량을 반영하기 위해, TI사의 EZ430-RF2500-SEH (5.9×5.7
시뮬레이션에서 필요한 에너지 수집양 예측은 실제 측정한 데이터를 기반으로 태양 에너지 수집양을 예측한다. 예측은 다음과 같은 식(1)으로 이루어진다.
수집양은 실제 측정값(
(2)는 기준 일사량 측정에 사용한 태양 전지판 크기 대비 시뮬레이션에 사용된 태양 전지판의 크기 이고, (3)은 기준 일사량 측정에 사용한 태양 전지판의 에너지 전환 효율 대비 시뮬레이션에 사용된 태양 전지판의 에너지 전환 효율 을 나타낸다.
에너지 소비 모델은 송신, 수신, 시스템, 배터리에서 각각 사용된 에너지로 예측한다. 시간
식(5)의 각 항목의 값은 아래 수식과 같이 계산된다.
식(6)의
잔존 에너지 모델은 전술한 에너지 수집 모델과 에너지 소비 모델의 작동을 결정하는 모델이다. 잔존 에너지 모델의 식은 (10)과 같다.
시간 t에서 노드의 잔존 에너지양은 배터리의 초기 에너지양(
제안하는 시뮬레이터는 기존 센서 시뮬레이터인 Castalia[9]를 기반으로 구현하였다. Castalia는 Sensor Manager, Resource Manager, Mobility Manager, Communications Composite Module, 그리고 Application 부분으로 구성 되어 있으며, 전체 구조는 [그림 2]의 왼쪽 부분과 같다[9].
제안하는 시뮬레이터는 [그림 2]의 오른쪽 부분과 같이, 기존의 Resource Manager 부분을 Devices sub Manager와 Energy Sub Manager로 구분하고, 에너지 수집 모듈을 Energy Sub Manager에 추가하였다. Energy Sub Manager는 앞서 기술한 에너지 수집 모델, 에너지 소비 모델, 잔존 에너지 모델과 Database로 구성된다. Database는 실측값을 기반으로 패널 종류별 에너지 전환율 및 저장 장치의 종류별 특성, 계절과 날씨 정보에 따른 수집에너지 양 등의 정보를 가지고 있어, 실제와 유사한 환경에서의 시뮬레이션을 가능케 하였다. 또한 Communication Composite Module은 라우팅 및 MAC 프로토콜들을 지원하는 모듈로써, 본 시뮬레이터에서는 태양에너지 기반 WSN을 위해 제안된 주요 라우팅 및 MAC 프로토콜을 구현하여 제공하고 있다. 제공하고 있는 프로토콜은 아래와 같다.
- Routing protocol: PISA(Priority-based Path Selection Algorithm)[10], DEHAR(Distributed Energy Harvesting Aware Routing)[11], AOR(Adaptive Opportunistic Routing)[12]
- MAC protocol: ODMAC(On-Demand MAC)[13], QAEE(QoS Aware Energy-Efficient) [14] MAC
효율적인 사용자 인터페이스 설계 시 요구사항은 다음과 같다. 처음 사용할 시 사용 방법이 직관적(Intuitiveness)이어야 하며 그것이 여러 부분에 걸쳐 일관적(Consistency)이어야 학습의 효율을 높일 수 있다. 아울러 학습 후 효율적(Effectiveness)으로 사용할 수 있어야 한다[15]. 제안된 시뮬레이터는 이러한 점을 고려하여 그래픽 사용자 인터페이스(Graphical User Interface, GUI)를 제공하고 있다. 그래픽 사용자 인터페이스는 명령 줄 인터페이스(Command Line Interface)에 비교해 직관적인 장점이 있으며, 이전 시뮬레이션 명령 기억, 시뮬레이션 세트(Set) 저장 기능, 자동완성 기능 등을 통해 효율적인 실험을 가능하게 한다.
[그림 3]은 본 시뮬레이터의 GUI이며, GUI 사용법은 다음과 같다. 우측의 표시된 메뉴 기반 윈도우는 기본적인 시뮬레이션 환경 설정 부분으로 시뮬레이션 시간, 노드 배치 타입, 노드의 수, 센서 필드의 크기를 설정 할 수 있다. 또한 라우팅과 MAC 프로토콜도 선택 할 수 있으며, 태양 에너지의 수집 조건을 간편하게 설정 할 수 있다. 설정하는 방법은 직접 입력하거나, 선택 방식이 있고, 설정 내용은 태양 에너지 수집에 영향을 미치는 계절, 날씨, 태양 전지판의 크기 및 종류, 저장 장치의 종류 등이 있다.
설정을 완료 한 후, 좌측에 나타난 노드 배치 윈도우를 통해 센서 노드들의 토폴로지와 라우팅 경로, 전송 범위 등을 알 수 있고, 가운데 위치한 센서 노드 설정 창을 이용하여 노드들의 위치 및 타입(sink/sensor), 추가 생성 및 삭제를 간편하게 할 수 있다.
이 외 네트워크(clock drift, 송수신 파워 등) 설정, 시뮬레이션 결과, 트레이스 출력 방식 등 시뮬레이션 분석과 관련된 세부적인 설정은 맨 위 상단 메뉴를 사용하여 설정 할 수 있다.
제안한 시뮬레이터의 동작을 검증하기 위해 에너지 관련 부분을 제외한 나머지 조건은 동일한 상태에서 배터리 기반 WSN을 위한 시뮬레이터의 결과와 비교하여 보고, 아울러 제안한 시뮬레이터의 에너지 관련 결과를 분석하여 보았다.
시뮬레이션은 총 172800 초 동안 진행 되었으며, 25
시뮬레이션 환경
시뮬레이션 결과, 각 노드에서 하루 동안 소비하는 평균 에너지는 약 352
태양 에너지 기반 무선 센서 네트워크는 기존 배터리 기반의 무선 센서 네트워크에서 발생하는 제한된 에너지 문제를 근본적으로 해결시켜주고 있다. 하지만, 기존에 연구된 대부분의 시뮬레이터들은 배터리 기반 시스템이 주요 타겟이었고, 에너지 수집형 시스템을 전혀 고려하고 있지 않다. 하지만, 본 연구에서는 태양 에너지의 기반 무선 센서 네트워크 시뮬레이션을 하기 위해 태양 에너지 수집 모듈을 구현 하였고, 태양 에너지 수집 모듈은 패널의 크기와 종류, 저장 장치의 종류와 크기, 계절, 날씨 정보를 반영하고 있다. 이를 통해 태양에너지 기반 라우팅과 MAC 프로토콜들의 사용이 가능해 졌으며, 새로운 프로토콜 연구에도 사용 할 수 있다. 제안한 태양 에너지 수집 모듈은 SEH 노드로 실제 측정한 데이터를 DataBase화 하였으며, 노드별 일사량 노이즈 조절이 가능하다. 더불어 사용자 친화형 GUI 제공으로 사용자 들이 쉽게 시뮬레이션을 할 수 있다.
본 연구는 기존 무선 센서 네트워크의 제한된 에너지 문제를 극복한 에너지 수집형 무선 센서 네트워크 시뮬레이션을 할 수 있으며, 태양 에너지 기반 무선 센서 네트워크 분야의 특성 및 성능 향상을 위한 연구 도구로 활용 가능하다.