計測自動制御学会東北支部

第 243 回研究集会(2008.6.20)

資料番号 243-8

センサネットワークにおけるキャリブレーション手法の検討
A Considering on Calibration Method for Sensor network
神田和也，〇伊藤孝浩
Kazuya Kannda，〇 Takahiro Ito
鶴岡工業高等専門学校
Tsuruoka National College of Technology
キーワード：センサネットワーク(sensor network)，キャリブレーション(calibration)，センサノード(sensor node)，テストベッド(test bed)，I2C 通信(Inter-Integrated Circuit transmit)
連絡先：〒997-8511 山形県鶴岡市井岡字沢田 104
神田研究室

電気電子工学科

神田和也，Tel.:(0235)-24-9095，E-mail: kanda@tsuruoka-nct.ac.jp＿＿＿＿＿＿＿＿＿＿＿＿＿
なく，センサ同士をつなぎ膨大なデータを収集

１．はじめにして，その中から必要な場所で必要なときに情ネットワークが低コストで利用でき，かつ測報を提供するといった利用法が提案されている．

定器がマイクロセンサとして生産されるようにまだ実際の使用例は少なく明確な用途は示せななり，今までより発展したセンサの用途が考えいが，他の技術との組み合わせにより無線センられている．センサは今までは工場内で単一のサネットワークは無限に広がりを持たせる事が現象のみを計測し品質管理などに用いられてきできる．また，膨大な量の情報を必要とするユたが，単一のパラメータでは判断できない複雑

ビキタス社会においても無線センサネットワーな現象を測定したり，動物に取り付けて温度やク技術は必要不可欠なものである．ユビキタス

音等の情報からその生態を探るというような事社会のユビキタスとは偏在するという意味で，が可能になってきている．他にも品質検査は工センサがいたる所にあって常に情報を収集して場出荷前だけだったが，工場の出荷後も劣化のいなければ実現せず，センサネットワークは今検出をするといった利用法も考えられる．実際後ますます必要とされていくと思われる．に使用していてどのように劣化するのかといった情報が集められれば，今後の製品改良で良い判断材料になる．また人間に取り付けて，移動する度にその場所に合った情報を提供すれば危しかし，現状では無線センサネットワークには課題も多い．位置同期や時刻同期，トポロジの構成，キャリブレーションなどが主な課題となっている．

険予測などに役立てられる．以上の例のように従来のように単独でセンサの機能を使うのでは－１－

本研究では，センサネットワーク上で解決するためのキャリブレーション手法を提案することを目的とする．
本稿では温湿度センサを搭載した１６個のセンサ端末（以降，センサノードと呼ぶ）によるテストベッドを製作し，得られた実験結果を示す．さらに，キャリブレーション手法の検討結果について報告する．
なお，キャリブレーション方法について検討

図１を行うため，時刻同期，位置推定されている有線式センサネットワークをテストベッドとした．

センサネットワークの概要• 時刻同期がとれない事• 位置推定ができない事• トポロジの最適配置

２．

無線センサネットワーク• 消費電力と電池寿命• データのばらつきとキャリブレーション

無線センサネットワークとは非常に小型かつ等，解決しなければならない課題がある．

省電力のセンサに無線通信端末を組み合わせることで実現されるネットワークである．このようなネットワークでは，無線端末同士が協調動作し，自律分散的に広範囲にわたるネットワー
クを構築する．そのために単にセンサを分散配置するだけでシステムを構築できるネットワー
クの敷設や拡張が，有線センサネットワークと比べ非常に簡単に行えるという利点がある．また自動でネットワークを構成するので移動するセンサノードが取得した情報に同期のとれた時刻情報が付加されれば，データ処理により冗長性を削除でき，位置情報と組み合わせて移動速度も計算できる．各ノードの位置情報を取得することを位置推定という．面的な情報をセンサで収集したいときは位置情報の付加が必須であり，位置に依存したサービスの提供をすることやデータを集約することも可能になる．
インターネットはアドレスでネットワーク上観察対象への応用も可能である．センサネット
ワークの主要構成要素は，通信機能を持ったセンサと多数のセンサ情報を収集し管理し処理すの位置が指定できたのに対し，センサネットワー
クでは他のノードとの実際の距離が必要になる．

る管理端末，そしてセンサ情報をインターネッ

現段階ではセンサは個々に時計を内蔵していトなどの他の有線ネットワークと通信する機器るが，無線センサネットワーク全体で共通の時である．無線センサネットワークの概念図とし刻基準が確立できていない．無線センサネットて MOTE（CROSSBOW 社製評価・実験用キッワークにおいて時間を利用するとなれば共通のト）の全体図を図１に示す．

時刻が必要である．
また，無線センサネットワークでは，インターネットと違い信頼性やスループットに重点を置

３．計測上の課題

くよりも，省電力に重点をおいて，ネットワー

３．１

主な課題

クの構築が行われる．つまり最適配置される．

実社会での無線センサネットワークの用途を考えるとこれはセンサの電源が物理的に管理できず，バッテリーの寿命がセンサの寿命と考えられているからである．バッテリーの寿命がセンサの寿命－２－に直結するので消費電力をいかに抑えるかはハー32

Node1
Node2
Node3
Node4
Node5
Node6
Node7
Node8

センサから正しいデータを常に得るためには，キャリブレーションを行い誤差を修正する必要がある．キャリブレーションとは計測器具の偏Temperature[ C]

ド面での大きな課題である．

31りを基準量によって正すことである．センサは本来，自身の内部に持つ基準値との比較で対象30の物理量を測定するが，何らかの理由によりこ2の基準値が誤差を含んだ場合修正しなければ正

図２610Time[minute]14

MICA2 による恒温槽内の温度測定確な情報が得られない．センサを単一で使用している場合には１つ１つを手作業で修正すればSDL

良いがセンサの数が数百，数千ともなるとそうはいかない．また，キャリブレーションを行う

５ｃｍ

SCL

５ｃｍ

ためには，まずその測定する現象について基準となる値が必要であるが，複数センサそれぞれマスタが内部基準をもって測定を行うので差異が生じている．センサネットワークでは同一の現象を計測している複数のノードが収集した情報に差４×４ノード異があるときでも，最終的な出力は１つにしな

図３

テストベッドの概観ければならない．MICA2（CROSSBOW 社製
MOTE のセンサノード）で一様な環境下で同じ対象を測定した結果，図２からも明らかなよう４．有線式センサネットワークのに個々のノード毎に測定値に差異が生じてしまっ設計・製作ていた．

４．１

テストベッドセンサノード内で簡便なプログラムによる処

３．２

キャリブレーションの定義

理で行うキャリブレーション手法の検討を行う

一般的なキャリブレーション（校正）とはセンサ内部の測定基準を正しい出力となるように修正することである．キャリブレーションを行うためには，まずその測定する現象について基準となる値が必要であり，一般には外部の基準値と比較する．本稿ではセンサネットワークをため，マイコン PIC16F88 を使って有線のテストベッドを設計・製作した．センサノードは１６個製作した．PIC16F88 の通信機能を用いてネットワークを構成し，温湿度センサ
SHT11(Sensirion 社製，温湿度センサ)により温度データを取得し，これをセンサデータとした．
PIC16F88 の I2C 通信によるセンサノードとマ１つの測定系として捉え，その中で基準値を導き出し，測定値を系の基準値に近づけることをスタ間の通信は通信速度が 100[kbps]なのでキャリブレーションと定義する．

4Byte のセンサデータの送受信では１ノード当り約 0.32[ms]を要する．また，温湿度センサ－３－

SHT11 が 14bit 温度データを取得するのには

表１

Sensiron SHT11 仕様

210[ms]を要するが今回はこれらの時間の誤差

Sensirion SHT11を考慮せず，同時刻にセンシングしているものとした．

４．２

マイコン

本研究では提案する手法を検証するためのテ

項目

温度

湿度

レンジ

-40 ~ 80 [%]0 ~ 100 [%]誤差± 0.5 [%]

± 3.5 [%RH]

分解能

14 bit12 bit

動作電圧

ストベッドを PIC（米国 MIicrochip Technology出力方式社製）を用いて製作する．PIC は汎用的なマイ2.4 ~ 5.5 [V]
2 線式

ディジタルコンで，多くの分野で採用されている実績のあるマイコンである．使用した PIC マイコンはタイマ機能やシリアルインターフェース機能，A/D 変換機能などさまざまな機能を内蔵しており，簡単な回路構成でさまざまな機能を実現する．
また集積化技術の向上により現在では大容量の５．実験
５．１

プログラムメモリが内臓されるようになったた

実験環境

実験は恒温槽により温度を一定に保った状態め，C 言語によるプログラムも実用的になった．
今回はセンサ端末および端末と PC との通信にで行った．使用した恒温槽（三洋電機社製

PIC16F88 を用いた．16F88 は内部発信回路を持っMIR-153）の制御では±0.2℃の温度変動があり，ており，周辺回路をほとんど必要としない．ま

影響を回避するため槽内温度が 25[℃]になった

た 16F88 はフラッシュ ROM と SRAM の容量がら電源を切り，測定を開始した．なお，25[℃]

大きくプログラムが複雑になっても十分対応できることから採用した．プログラムは C 言語で記述し，クロスコンパイラ（CCS 社製）を用いはセンサデータの誤差が最小になる温度である．
測定時間を 10 分間としたので保温性の高い恒温槽内であれば温度変化はほとんどないと考えて開発を行った．

られる．恒温槽内のセンサノードの配置は図３に示したように５[cm]等間隔で４×４の正方形４．３センサ配置とした．

今回製作したセンサノードには，スイスのディジタル温湿度センサ SHT11(Sensirion 社製)を使５．２

実験結果用した．SHT11 はセンサとアナログ回路，A/D製作した有線式センサネットワークを用いて変換，メモリ，インターフェース回路がシング恒温槽内の温度を測定した．恒温槽内での実験

ルチップ上に形成されており，２線式のディジ結果を図４，図５に示す．

タルインターフェースからディジタル出力で相図４，図５から見てとれるように平均して対湿度と温度データを得ることができる．信号

1.5[℃]程度の誤差がある事がわかる．温度セン増幅回路等の周辺回路の必要が無く，端末をシンプルにできることから採用することにした．
センサの仕様を表 1 に示す．

サの誤差が 25[℃]に対して，±0.5[℃]程度あるとしても誤差が大きすぎるといえる．

－４－６．キャリブレーション手法の提26案
手法を提案するうえで，センサノードは、配置密度が高く，位置特定済みであり，時刻同期

Temperture [℃]25.5がなされているものと仮定する．また使用する

node2
node4
node6
node8
node10
node12
node14
node16

25

24.5

24

センサにはヒステリシスが無いものとする．

23.5
0100

200

キャリブレーションの基本的な考え方として
図４

は，複数のセンサノードをひとつの計測系として捉え，系の中でもっとも真値に近い値が求ま

500

600

恒温槽内の温度 (node2-16)

2625.8Temperture [℃]ことである．つまり絶対値を真値に近づけるのに全ノードの測定値を収束させる．相対的に基

400

26.2

るように各センサノードのばらつきを取り除く

ではなく，系の中で１つの基準値を定め，それ300
Time [sec]node18
node20
node22
node24
node26
node28
node30
node32

25.6
25.4
25.2
25

準値を決定すれば系の中のセンサが破損や，経24.8年変化などしてしまった場合にも適用できる．

24.6
0

測定値の絶対値に意味はなくなるが，系の中の温度変化を感知するためには十分である．

100

図５200

300
Time [sec]400500600

恒温槽内の温度 (node18-32)

具体的には同時刻のセンサデータから平均値26を算出し，これと各ノードのセンサデータの差25.5

方法を考えた．
補正を適用した場合の実験結果を以下の図５，

Temperture [℃]を補正値とする．これを一定時間ごと繰り返す

図６に示す．

node2
node4
node6
node8
node10
node1225

24.5

node14
node1624

比較のため図６，図７の縦軸はそれぞれ図４，23.50

図５の縦軸と同じにしてある．全ノードにおい

図６て測定値が大体 25.3[℃]の値に収束している事

100200300
Time [sec]400

500600補正した恒温槽内温度 (node2-16)

26.2がわかる．ただ，センサごとのばらつきのため

26

センサデータが完全に一致しているとは言えな
Temperture [℃]

い．

25.8

node18
node20
node22
node24
node26
node28
node30
node32

25.6
25.4
25.2
2524.8
24.6
0

図７－５－

100200300
Time [sec]400500600

補正した恒温槽内温度 (node18-32)

７．おわりに
今回の実験では１６個のセンサノードで構成したテストベッドを用いて恒温槽内の温度データを測定し，センサデータにばらつきがあることを確認した．また，平均値を基準値としてノード個々の測定値を収束させる事ができることを確認した．
今後は基準値算出の方法を，前回の基準値を考慮して補正を算出するような方法に改良した
い．また，キャリブレーションの効果を検証するために，温度分布が一様な状態で，ある一点に外部から熱源による刺激を与え，温度分布のシミュレーションを行い，実測値と比較したい．

－６－