はじめまして、樋詰です。
みなさんは、ugoで使用しているセンサの中で最もポピュラーなものは何だと思われますか?
このブログの読者にはもうお察しの方も多いと思います。
・・・
はい、そうです。超音波センサです。
光センサもいい勝負かも知れませんね。
移動体ロボットでは定番とも言える超音波センサですが、実用化されてからの歴史の長さや応用範囲の広さでもトップクラスと言えるのではないでしょうか。
今回は、そんな超音波センサについて、今更ながらではありますが ugo での使い方の一片とあわせてご紹介します。
ugoでは超音波センサのことを「ちょっと地味だけど、しっかり働くコスパ抜群の優等生」だと思っています。ちょっと言い過ぎでしょうか(笑)
💡 ugoが考える超音波センサの特徴
- 測距結果が対象物の素材(ガラス、鏡)や色に影響されにくい
- 測距原理が簡単 TOF(Time of Flight)
- 精度が良く、安定した測距結果
- 構成が簡単で特殊な部品がない
- 製造が容易で供給者が多い
- 実用事例が多い
-
- 周囲障害物検知(自動車のバンパー)
- 自動ドアの開閉感知
- エレベーターの安全確認
- 徘徊患者検知
- 水位計測
- 製品の探傷
市場に出回っている数量も多く、世界中の通販や店舗で小売りされておりラピッドプロトや電子工作でも手軽に使えることから「使ったことがあるセンサは何ですか?」とアンケートを取れば上位に入ること間違いなしだと思います。
センサフュージョンで周囲を検知
さて、ugoではセンサフュージョンを用いて周囲の障害物検知を行なっています。前後左右に9個搭載する超音波センサ以外にも、2D LiDARの信号をマッピングや自己位置推定だけでなく障害物検知にも使用しています。
超音波センサと2D LiDARから得られるイメージを重ね合わせるとこんな感じです。エレベーターにugoが前進して入ってきたところとお考え下さい。
2D LiDARの点群データでエレベーターの内壁がきれいに表現されています。
9個の超音波センサの測距結果も点群と一致しています。超音波センサのデータは扇形で表されており、測距レンジが青色で、実際の結果が緑色で示されています。
このように、周囲の状況をより効果的に把握できることはセンサフュージョンを使う好事例だと思います。また、両者の苦手を補い合うこともセンサフュージョンの目的です。2D LiDARの苦手な黒い対象物やガラス、鏡に対しても超音波センサは正しく測距します。
超音波センサの仕組み
測距精度が良いことを特徴に書きましたが、ugoの試作機での実測結果は以下の通りでした。 周波数は40 kHzです。対象物との距離は約 1 mで、1018 ± 3.5 mmという結果を得ました。 n = 9994です。
二つの山が約4 mm離れて分布しています。これは、分解能が周波数に依存するためです。計算上の分解能とも一致します。ここで、分母に2が入っているのは、受信波を崩落線検波するときに全波整流しているためです。
試作機について、ハードウェアのアナログ処理部を説明します。
送信と受信に用いるユニットは電圧を振動に変換するトランスデューサで、内部にある振動子は圧電素子でできています。
送信側は、矩形波を生成し、増幅してから送信ユニットに印加します。矩形波が振動子に加わると機械振動が生じ、それが共振子で増幅されて空気中に超音波が放出されます。
受信側では、物体に反射して戻ってきた超音波が受信ユニット内部の共振子を励起して振動が発生します。その振動が振動子で電気信号に変換されますが、まだ微弱な電圧レベルなので増幅してから必要なフィルタ処理を施します。崩落線検波します。
下記はブロックダイヤグラムです。
ポイント①と②で観測された波形もオシロスコープ画面に。
実際の回路中では、矩形波の生成とTOF計測はMCUで行います。
MCUの出力電圧は低いですが、二つのGPIOから位相がπ/2ずれた矩形波を出力してトランスデューサに加えることで、±Vccとなって2倍の電圧で駆動できて測定レンジが長くなります。チャージポンプなどを使えば更に電圧を上げられます。
検波出力でMCUのGPIO入力にインターラプトを掛けて、タイマーでTOF時間を計測します。
超音波センサのビームパターンも測りました。角度と計測可能距離をプロットしたものです。
ビームパターンは、半値角はセンサ正面に対して左右に約30度あります。LiDARは、針で狙ったかのようにピンポイントに点群を返しますが、それとは大きく違います。
対象物の形状は、計測可能距離に大きく影響します。また、表面の素材も影響します。超音波を吸収しやすいものだと反射波が弱くなるため受信波の信号電圧が下がります。
アイデア次第でセンサの可能性は無限大
ちょっと長くなりましたが、超音波センサのPros/Consについてご紹介しました。 「案外やるじゃないか」と思われた方、「やっぱり、大したことないじゃん」とつぶやかれた方、どちらもあると思います。
精度が+/-1%を切るくらいで「精度が良い」と表現すると「ちょっと待って!」と言われそうな気もします。しかし、ugoの使い方では十分だと考えています。ビームパターンが広いことも、それを短所と見るか長所と考えるかは用途と目的、そして使い方次第だと思います。送信波の周波数やパルス数、複数センサの使い方など、実用にあたっては工夫する余地もたくさんあります。
多種多様なセンサが実用に供され、小型化と高性能化の流れは絶えることがありません。 ugoもその情報収集を怠りません。
センサに限らず、興味のあるデバイスは自分達で性能検証して得手不得手を十分把握し、その本領を発揮させるよう努めています。
ugoでは、一緒にロボットを社会実装していく仲間を絶賛募集中です。
詳しくはこちら👇まで。