移動系ロボットがどのような知覚を行い、そのためにどのようなセンサーが使われているのかを整理していきます。移動系ロボットの中で、一般的に知られている「自動運転自動車」「自動搬送装置(AMR)」に焦点をあてていきます。
自動運転自動車のセンサー
自動運転自動車のセンサーは、自動車の外部の環境を知覚するためのセンサーと、自動車の内部の状態を知覚するためのセンサーに大きく分かれます。ここでは、自動運転に関する情報源でよく取り上げられる外部の環境を知覚するセンサーについて触れていきます。その中でも自動運転で特に重視されている障害物を知覚するセンサーをまとめていきます。
自動車をどのように進めるか(動かすか)を決めるために欲しい障害物に関する情報は、障害物の有無と位置です。障害物の位置が分かれば障害物の有無も分かったことになりますので、位置を知覚するためのセンサーだけで十分です。さらに可能であれば速度も知りたいところです。速度が分かれば、未来の障害物の位置を予測して、自車の動作を決めることができるからです。障害物の速度は、位置情報を時系列的に取得して前後の位置の差分をとる(位置情報を微分する)ことで得られますので、まずは位置情報を取得することを優先します。
位置情報を得る方法はいくつか考えられます。自車と障害物の地図上の座標位置が直接的に得られれば、自車がどのように障害物を回避したらよいかを計算することができそうです。自車の位置情報は、(とりあえず精度はさておき)GPS等のGNSSを利用することで取得可能です。障害物の位置情報は、例えば街中の道路に障害物を検出するセンサーとその情報を自車に伝達する通信装置が張り巡らされていれば取得できそうですが、執筆時点では(2020年時点では)残念ながらそういった設備は整っていません。このような設備はITS(Intelligent Transport Systems)と呼ばれ、普及に向けた研究が進められています。
そこで、自動運転あるいは運転支援システムで選ばれているのは、自車から障害物までの「距離」を測定して(知覚して)自車と障害物の相対的な位置関係を認識する、という方法です。障害物の距離を測定することを「測距」と言い、そのためのセンサーを「測距センサー」と呼びます。自動車に搭載されていたり搭載が検討されている測距センサーは複数存在し、代表的なものは「ステレオカメラ」「ミリ波レーダー」「LiDAR」「超音波センサー(ソナー)」の4種類です。
ステレオカメラ
ステレオカメラは、カメラを2個(もしくはそれ以上)組み合わせたものです。SUBARUの「アイサイト」で採用されていることが広く知られています。通常は、2個のカメラを一定の距離を空けた上で水平方向に左右に並べて構成します。2個のカメラの間に距離があると、それぞれのカメラと障害物との位置関係が変わり、カメラに写る映像(画像)が若干異なります。これを「視差」と呼びます。視差の情報に対して「ステレオマッチング」という処理を行うことで、写っている物体の距離を推定することができます。人間の目と概ね同じ原理ですね。自動車向けのステレオカメラは、可視光に対応するものが使われます。また、自動車用のステレオカメラは、最大で150m程度先にある障害物の距離を測定できるようです。ステレオカメラについて詳しくは下記のページをご覧ください。
ミリ波レーダー
ミリ波レーダーは、ミリ波と呼ばれる電波を照射して障害物にあてて、反射して返ってきた電波を検出して分析することで障害物までの距離を推定する、という仕組みのセンサーです。自動運転や運転支援システムの機能を搭載した複数の量産車に採用されています。2015年~2020年の期間で高級車を中心に普及しました。「ミリ波」という名前は、「波長が数mmの電波」ということに由来します。ミリ波レーダーは、最大で200m程度離れた先にある障害物の距離を測定できるようです。原理はやや複雑で1ページでは説明しきれませんので、別ページに記載します。
LiDAR
LiDARは「Light Detection and Ranging」の略です。その名の通り「光を検出して距離を測定する」センサーですが、正確にはセンサー自身が光を発して障害物に照射して、反射して返ってきた光を検出するという仕組みを持ちます。ミリ波レーダーと似ていますが、原理はシンプルです。光の速度(光速)が(非常に大きいですが無限大ではなく)有限であることを利用し、光を発して障害物に当たって返ってくるまでの時間を測定することで障害物までの距離を推定する、という仕組みです。障害物が近くにあれば返ってくるまでの時間は短くなり、遠くにあれば時間は長くかかります。このような方法で距離を測ることを「Time of Flight(TOF)方式」と呼びます。
以上の仕組みだけでは、光を照射した1つの方向でしか障害物の距離を知ることができません。LiDARは複数の方向の距離を測定するために、光を照射する「レーザー」を水平方向に回転させながら連続的に光の照射と検出を繰り返す、という仕組みを持っています。例えば360°回転しながら1°ごとに測定すれば、周囲の全方向に対して1°刻み(1°の角度分解能)の距離データが取得できます。これでは障害物の高さを認識できませんので、自動車向けのLiDARでは光の照射と検出を行う構造を縦方向に複数並べて一斉に回転させる、という仕組みを持つものが主流です。球面上に縦方向に1°刻みに10個並べて360°回転させると、水平方向に360°の距離データが1°刻みに10個取得できます。この距離データをピクセル状に並べると(粗いですが)距離の2次元画像情報を作ることができます。
LiDARには様々な構成のものがありますが、レーザーと光センサー(光検出器)の両方あるいは片方をモーターで物理的に回転させるものが主流です。そのため、LiDARのモジュールのサイズが大きくなり、機構が複雑な分だけコストが高くなるという傾向があり、これが自動運転自動車へ搭載する際の課題となっています。2020年の時点でトヨタのレクサスなどの限られた一部の高級車でのみ採用されています。なお、LiDARから発する光には1000nm前後の波長の赤外線が使われることが多いようです。
LiDARについて詳しくは下記のページをご覧ください。
超音波センサー(ソナー)
超音波センサー(ソナー)は、超音波(周波数の高い音波)を出力して障害物にあてて返ってくるまでの時間を計測し、障害物までの距離を推定するセンサーです。LiDARと同様のTOF方式です。LiDARは光が返ってくるまでの時間を計測していましたが、超音波センサーは音波が返ってくるまでの時間を計測します。光の速度(光速)は秒速30万kmで、音波の速度(音速)は秒速340m(0.34km)ですので、音波は光よりも100万倍遅いということになります。速度が遅いと返ってくるまでの時間も長くなりますので計測が楽になり、計測が楽な分だけ電子回路などの構成も簡単になります。(それだけではありませんが、)そういったことから超音波センサーはコンパクトで安価に作れます。一方で測定可能な最大距離は数mと短いことが弱点です。それでも自動車の駐車動作などの低速運転では十分な距離ですので、量産車では、ステレオカメラ、ミリ波レーダー、LiDARでカバーしきれない方向に対して超音波センサーが積極的に使われるようです。超音波センサーについて詳しくは下記のページをご覧ください。
ステレオカメラ・ミリ波レーダー・LiDARの比較
時速数十kmの通常走行中の自動車で使用される障害物用のセンサーは、ステレオカメラ、ミリ波レーダー、LiDARの3つが主流です。いずれも100m以上離れた障害物を検知することができます。量産車に採用されている実績の数に開きはあるものの、どのセンサーが良いか、どういったセンサーの組み合わせが良いか、決着はまだ着いていません。ステレオカメラは、1つ1つのカメラが普通のカメラとしても機能しますので、距離と同時に可視光の画像も取得できます。障害物の色や模様を認識することができますので、障害物の種類を認識するのに有利です。ただし、夜間や悪天候(雨、雪、霧)では障害物を検出する能力が落ちてしまうのが欠点です。可視光に近い波長の赤外線を使うことから、LiDARも悪天候での検出性能が低くなるという欠点を持ちます。(夜間は問題ありません。)一方で、ミリ波レーダーは、夜間も悪天候も性能がそれほど劣化しません。しかし、ミリ波レーダーは、障害物の形を認識することが難しいとされています。また、反射率の低い物質で構成される物体を検出できないことも弱点です。(反射率の低い物質の例として発泡スチロールと段ボールが挙げられることが多い模様。)
その他、ステレオカメラは距離の測定性能が障害物の色や模様に影響されやすいという欠点もあります。ステレオカメラは、左右のカメラの画像の差(視差)から距離を測定します。近くにある障害物と遠くにある障害物が重なって見える位置関係で2つの障害物がいずれも同じ色で境目が分かりづらければ、左右のカメラで見える画像も同じように見えます。その結果、視差がはっきりせず、距離もうまく検出できません。ミリ波レーダーやLiDARではそういったことが起きません。ただし、ミリ波レーダーやLiDARは比較的新しいセンサーであることもあって、高価でサイズが大きくなってしまうという欠点があります。
以上のように、各センサーで長所と短所が入り乱れており、どれが良いか決着が着いていないのが実情です。
自律走行搬送ロボット(AMR)のセンサー
工場や倉庫の中で部品や製品を搬送するロボットを AMR(Autonomous Mobile Robot、自律走行搬送ロボット)と呼びます。似たような機能を持つ装置に AGV(Automatic Guided Vehicle)と呼ばれるものもありますが、ここでは AMR のセンサーに注目することにします。(AGV と AMR の比較は別ページに整理します。)
AMR は自動運転自動車に似ており、主要なセンサーも共通する部分が多くあります。工場や倉庫の中でも、棚や壁、人間、段ボールなど、ロボットにとっての障害物が存在します。AMRには、障害物の位置を認識して、衝突する前に止まったり障害物を避けて走行したりする機能が求められます。
一方で、自動運転自動車と異なるのは走行可能なルートの地図を用意するのが難しい点です。一般道路には地図が存在し、自動運転自動車は地図情報を使って走行ルートを決定することが可能です。最近は自動運転自動車向けにカーナビよりも高精度な地図情報を作成する取り組みも進んでいます。工場や倉庫では、事業者が自力で作成しない限り地図情報は手に入りません。工場や倉庫内のレイアウトはたびたび変更され、変更のたびに地図情報を作成するのは手間がかかります。
また、屋内であることから自動車のようにGPSなどのGNSSシステムを利用することができず、自車が地図の中のどこにいるのかを認識することも簡単ではありません。屋内向けにGNSSのようなシステムを構築する技術も存在しますが、手間とコストがかかり、簡単ではありません。
以上のような状況から、AMR は障害物と自分の位置関係を知覚しつつ、検知した障害物の情報から自ら地図情報を作成する、という機能を持ちます。このように「自己位置推定」と「地図情報の作成」を同時に行う技術を「SLAM(Simultaneous Localization and Mapping)」と呼びます。AMR の大きな特徴は SLAM の機能を持つことです。
SLAMを実現するために AMR で使われるセンサーは「レーザースキャナー」です。AMR ではレーザースキャナーと呼ばれますが、中身は「LiDAR」と同じです。基本原理は自動運転自動車向けのものと同じですが、障害物の検出可能な最大距離が数十mと比較的短く、その分だけコンパクトで安価に製造することができます。AMR は障害物を検知して障害物に当たらないように前進し、また障害物を検知する、ということを繰り返していきます。AMRにはさらに加速度センサーとジャイロセンサー(角速度センサー)が搭載されており、加速度と角速度の情報からAMR自身の移動履歴を知ることができます。これと各地点で測定した障害物までの距離情報を統合することで、地図情報を作成することができます。AMR は自分で作った地図を利用して、指定された目的地までの移動経路を計算して決定します。
その他、AMR には超音波センサーが搭載され、レーザースキャナーでは検知が難しい方向の障害物を検知します。また、障害物にぶつかってしまったことを検知するための「バンパーセンサー」も付いていることがあるようです。バンパーセンサーは、障害物に当たったらバネで縮むようになっていて、縮んだことを検知することで障害物への衝突を知覚するという仕組みのセンサーです。iRobot 社のルンバなどのお掃除ロボットにも採用されていることがあります。