ugo Tech Blog

ugoの日々の開発・生産について

ugoのセンサについて(1)

はじめまして、中村です。

ugoには多種多様なセンサが使用されています。
その中の一つに気圧センサがあります。今回は、この気圧センサについて紹介します。

気圧センサとは

気圧センサは大気圧を検知するためのセンサです。気圧センサはカーナビやドローンの位置推定など幅広い範囲で使用されています。
気圧センサの原理は主に2種類あります。

1. ピエゾ抵抗方式
圧力によって電気抵抗が変化するピエゾ抵抗効果を利用したものです。
構造が簡単で、精度が高いことが挙げられます。歪みゲージとも呼ばれます。

2. 静電容量方式
圧力によって電荷量が変化する圧電効果を利用したものです。
測定範囲が広いことや応答性に優れている事が挙げられます。
また、ピエゾ抵抗方式に比べて低消費電力、低ノイズです。

ugoと気圧センサ

ugoでは気圧センサをどのように有効活用しているのでしょうか。

ugoの機能の一つにUEOSUという機能があります。UEOSUはugoが自らエレベータのボタンを押し、フロア移動をする事ができる機能です。

このUEOSUにおいてエレベータが停止した時、ugoは自身が何階にいるかを判断しなければなりません。人はLEDの表示等を参考に階を把握する事が可能ですが、ロボットにとって多種多様なエレベータの表示を理解することは難しいです。

そこで気圧センサを用いることで、エレベータが停止した際に現在何階であるかを判断しています。

気圧センサから取得できるデータ

ではエレベータ内で気圧はどのような変化をするのでしょう。

簡単なキットを作成して測定してみました。
使用環境は以下の通りです。

  • 気圧センサ(DPS310)
  • センサ基板(自社設計品, 緑色の基板)
  • arduino nano(データ処理用)
  • テスト用ジャンパワイヤ
  • Arduino IDE 1.8.13
  • windows 10

 

気圧センサは、Infineon Technologies社のデジタル気圧センサ「DPS310」を使用しています。このセンサは高精度モードで使用した場合、±5cmという超高分解能により高さを正確に測定できるため、フロア移動検出が可能なUEOSUに適したセンサとなってます

使用方法は
https://learn.adafruit.com/adafruit-dps310-precision-barometric-pressure-sensor/arduino
を参考にしました。

実際に測定した結果がこちらです。

弊社の所在地であるプライム東神田ビルにてエレベータで1Fから9Fに移動したときの結果を示します。横軸は時間経過を、縦軸は測定した気圧を示します。

とても綺麗に変化しているのがわかりますね。エレベータはとても綺麗に制御された等速で移動しているようです。次に各階で停止した時の結果を示します。弊社の工場があるダイユウビルで測定しました。

プライムビルでの結果に比べてエレベータ停止時に変動があるものの、概ね線形変化をしていると思われます。エレベータの機種によって移動開始時、停止時の変化には差がありそうです。

気圧は階を移動しなくても気象によって変化してしまいます。1日でどのくらいの変化があるのか測定したものを示します。左が1日の測定結果、右が1日の中で最も変動量が大きい時間帯の拡大図となります。

1日の変化でも各階を移動する以上の変化をする事がわかります。また、右の結果よりおおよそ10分程度で1階層分(0.4[hPa])変動する恐れがあると言えます。
これらの結果から次のように解釈しました。

  • 階移動による気圧の変化はおおむね線形
  • エレベータにより移動開始、停止時の変化が変わる
  • 気象による変動があるため、定期的に今いる階層の気圧を再設定する必要がある

このことを踏まえて20秒ごとにエレベータ移動検知の閾値より小さな変動であれば今の基準気圧を初期化するよう変更しました。各階の検出は1階あたりの差分データを予め持っておくことで計算しています。実際にUI含めて検証した結果がこちらです。

問題なく階の検出をする事ができています。複数階に移動した際の測定結果を以下に示します。

同じ階にいても基準が調整されていることもわかります。エレベータによっては350secあたりで生じる停止時のノイズが変わるため注意が必要そうです。

今後の改良ポイント

この気圧センサの弱点にお気づきになった方もいらっしゃると思います。ここでは、この弱点も念頭におき、今後の改良ポイントを示したいと思います。

  • 様々なエレベータで試験を行い、差分の対応を行う
  • ドアが開いているかをカメラで検出することで連携し、完全に停止しているか判断する
  • 気圧の変動時間から階の推定を行い補正する

など、まだまだ改良ポイントはありそうです。ugoには他にも様々なセンサが搭載されているのでそれらとセンサフュージョンすることでより改善が図れると考えています。

 

ugoでは、一緒にロボットを社会実装していく仲間を絶賛募集中です。
詳しくはこちら👇まで。