LiDARセンサーだけで実現!工場や倉庫での自動運転で、荷台や壁を避けて障害物検知をする方法

シェア ツイート

自動運転のセンサーとして、その精度の高さから注目を集めているLiDAR。工場や倉庫の自動運転車両でも、自己位置推定や障害物検知をするために活用されています。今回は、「車両の後ろに連なる荷台付近も含めた範囲の障害物検知をしつつ、荷台は障害物として検知しないようにしたい」という要件のもと、メインセンサーをLiDARのみで障害物検知の仕組みを実装したノウハウをご紹介します。

LiDARを使った自動運転の仕組みとは?

LiDAR(Light Detection And Ranging)とは、レーザー光を照射し、物体に当たって跳ね返ってくるまでの時間を使って、物体までの距離や方向をリアルタイムに測定するセンサーです。

LiDARに使われるレーザー光は、従来の電波を用いたレーダーに比べて波長が短いことにより高精度な測定が可能で、近年では自動運転のセンサーとして欠かせない技術として注目されています。

米国のVelodyne Lidar社のLiDAR

自動運転でのLiDARの役割は「目」

LiDARは周囲の状況をスキャンする「車両の目」の役割を持っています。LiDARによってスキャンした情報は「点群データ」と呼ばれ、次のように活用されます。

自己車両の位置推定

LiDARはリアルタイムに周囲の状況を測定することができますが、その他にも走行してスキャンしたデータから自動的に経路やマップを作成することも可能です。作成したマップや経路と、リアルタイムにスキャンしたデータを比較することによって、自己車両の位置を推定することができます。

LiDARを用いたマップ作成・経路作成は、車両が走行したデータからシステム上で論理的に作成するため、従来の方式よりも経路変更に対応がしやすいという利点もあります。例えば、AGV(無人搬送車)を経路誘導式と呼ばれる方法で自動走行させる場合、走行させたい場所に物理的なマーカーを引くため、経路変更があるとマーカーを引き直す必要がありましたが、LiDARの場合は少ない負荷で対応することができます。

周辺障害物の検知

周辺情報をリアルタイムでスキャンし、想定外の障害物がないか検知することにも活用されます。スキャンの結果はソフトウェアによって障害物判定の処理を行い、走行や停止などの指示を出します。

LiDARを使った自動運転システムの全体像

LiDARの仕組みと役割が分かったところで、実際にLiDARを使った場合の自動運転システム全体像を解説します。

当社では、自動運転ソフトウェアにAutowareを採用し、開発・導入を行っています。Autoware上で動作するソフトウェアのカスタマイズや独自の機能を開発することで、お客さまの課題に合わせた自動運転システムを提供しています。

今回は、LiDARとAutowareを用いて実現した当社の自動運転システムを例にご紹介します。

※1 PLC(Programmable Logic Controller)とは、機械や装置を制御するコントローラーで主に製造業などで利用される。自動運転においては、ソフトウェアから指示を受け取って車両の動作を制御する

※2 OPC(OLE for Process Control)サーバーとは、異なる製造元の各種制御機器間でリアルタイムでデータ通信を行うサーバー

自動運転ソフトウェアの当社のカスタマイズ箇所

自動運転は図のように、「自動運転車両」と「設備管理システム」の二つから構成されております。自動運転車両は、LiDARや自動運転ソフトウェアを搭載したPC、PLCが搭載され互いに情報のやり取りを行っており、自動運転ソフトウェアとPLCはUDP通信を行っています。設備管理システムは、工場・倉庫内の機器を制御しているサーバーなどの環境のことで、建屋内の信号機やシャッターなどの設備と自動運転車両の動きを連携させる場合に考慮する必要があります。

自動運転の基本的な流れは次の通りです。

  1. LiDARで周辺情報をスキャン
  2. 自動運転ソフトウェアが、スキャンした情報や自己位置、設備管理システムの情報によって進路や速度を決める
  3. PLCへ指示し車両を制御(操舵角・停止・走行)する 
  4. 1から繰り返す

自動運転に欠かせない「障害物検知」はどうやって実現する?

安全性のためにも大切な荷台付近の障害物検知

さて、今回は「車両の後ろに連なる荷台付近も含めた範囲の障害物検知をしつつ、荷台は障害物として検知しないようにしたい」というのが要件です。

工場・倉庫内の車両は、後方に複数の荷台が設置されている場合が多く、荷台付近の状況にも注意する必要があります。例えば、荷台の連結作業中に車両が動き始めてしまうと作業者が荷台に挟まれる事故が発生する可能性があります。

このような場合、走行前に荷台エリアに作業者がいないことを確認しなければなりません。そのため、センサーでの検知は車両周辺だけでなく、荷台付近の検知も必要となります。

LiDARとAutowareでは障害物検知もできるの?

Autowareの標準の機能では、LiDARを中心に設定した半径の範囲内(円形)で障害物を検知することができます。

ただし、範囲内にある物は障害物として検知されてしまうので、荷台も障害物として見なされてしまいます。また、荷台の長さに合わせて半径を大きくすると、荷台付近だけでなく広い範囲を検知してしまうので、かなり遠くにある人や物(壁や柱など)まで障害物として検知してしまいます。

そのため、荷台がある場合には、何か別の方法で障害物検知を実現する必要があります。例えば、荷台にも別のセンサーを設置することで、荷台付近の障害物検知を行うという手段も考えられます。

1台のLiDARで、荷台があっても正しく障害物検知ができる機能を作る!

「車両の後ろに連なる荷台付近も含めた範囲の障害物検知をしつつ、荷台は障害物として検知しないようにしたい」という要件を満たすため、LiDARを使用して荷台があっても正しく障害物を検知する方法を検討しました。

まず、荷台が障害物として検知されてしまうことに対しては、走行経路に荷台の幅を設定して、その幅の中にある物は障害物と見なさないことにします。

また、LiDARの障害物検知範囲の半径を荷台の長さに合わせると、検知範囲の円全体が大きくなってしまうことに対しては、走行経路から左右それぞれに障害物の検知対象とする幅(上限)を設定することで対応します。

まとめると、

  1. 走行経路に障害物を検知する幅(上限)定義
  2. 走行経路に荷台の幅を定義
  3. 1から2を引いた範囲を「物体検知エリア」とし、その中にある障害物を検知する

という方針にしました。

ただし、荷台があるのは後方だけなので、前方については同様の考え方で1の障害物を検知する幅(上限)のみ定義することにしました。

独自の障害物検知機能の基本設計

先ほどの方針をもとに、設計した内容は次の通りです。前方については、荷台を考慮する必要がないので、ここでは荷台がある後方の障害物検知を中心にお伝えします。

  1. 物体検知エリアをシステム内に定義

Autowareに作成したwaypoint※3それぞれに、「物体検知エリア」を定義します。

※3 waypointとは走行経路に任意の間隔で設置する点のことで、Autowareのシステム内に作成します。車両はこのwaypointを通過する際に、発進や停止などの指示を受け取り指示に沿った動作をします

  1. 定義した物体検知エリア内に物体があるかどうかを判断する

物体検知エリアは、waypointを起点として左右それぞれの幅を定義し、さらに物体検知エリア内側には荷台の範囲を除外できるようにしています。

LiDARがスキャンした後方エリアのうち、waypointで定義した物体検知エリア(図の緑色の塗り部分)に物体(点群データ)があるかどうかを判断します。

  

  1. 物体があると判断したら車両を停止

物体検知エリア内に物体があった場合、車両を停止します。

出来上がった独自機能の概要

物体検知エリアを実装した状態で、rviz※4を使って点群データや物体検知エリア、車両の走行データを可視化すると、このようになります。

※4 rviz…ROSが提供するデータの可視化ツール

<画面内に表示されているデータ>

  • 一番外側の枠線:地図データ
  • 緑の丸:車両の位置
  • 水色の線:走行ルート
  • 赤い点:waypoint
  • 地図データ上の点群:LiDARでスキャンした点群データ
  • waypoint付近の数字:車両のスピード
  • 走行ルート付近の緑の枠:物体検知エリア

物体検知エリアの範囲指定

最終的には、物体検知機能に設定する「物体検知エリア」の範囲は以下の図の通りになりました。

※前方検知の場合は、除外エリアは使用しない

独自機能の検証結果

当社のラジコンを用いた検証では、通行する人を障害物として検知し、車両が停止することを確認。その後、お客さまの実際の車両でも検証試験を行いましたが、荷台を除外して後方の障害物を検知できること、設定した範囲の前方の障害物が検知できていることが確認でき、お客さまの工場で実際に使用していただいております。独自機能を開発したことで、荷台があっても正しく障害物を検知することができました。

無事、障害物検知機能を実現することはできましたが、実際に開発を進めていくと、想定していなかったことや細かな調整が必要なことも多々ありました。それら一つ一つに対して工夫を重ねたことが、障害物検知機能の実現につながったのではないかと思います。

開発に当たって工夫したことや、得られたノウハウについては次の記事でも詳しくご紹介する予定ですので、そちらもぜひご覧ください。

まとめ

今回はLiDARのみで荷台や壁を避けて障害物検知を実現するノウハウを紹介しました。内容をおさらいします。

  1. 安全性のためにも、荷台付近の障害物を検知することは大切
  2. LiDARとAutowareの標準機能でも障害物検知はできるが、円形でしか見られないので荷台がある場合は実用的ではない
  3. そこで、独自機能を作り、物体検知エリアを定義することで荷台と遠くの人や物を障害物として検知しないようにした
  4. お客さまにも無事納品し、現在も稼働中

障害物を検知する手段はさまざまですが、検知範囲を柔軟に設定することができる独自機能の開発も手段の一つとして知っていただけたかと思います。ぜひ自動運転を導入する際の参考としてみてください。

Woskiet(ウォスキート)は、自動運転システムに携わってきたチームが開発現場で培った技術・知識を発信していきます。Woskietついて詳しく知りたい方はこちらのページもご覧ください。

自動運転技術に関するご相談も承っています

「掲載されている記事の内容について詳しく話を聞きたい」、「自動運転の技術で困っている」という方には、サイトには掲載しきれていないノウハウをご提供することも可能です。また、自動運転を導入予定で開発会社をお探しの方は、当社も開発のご相談を承っていますので、ぜひお気軽にご相談ください。

お問い合わせ・ご相談はこちら
シェア ツイート

カテゴリ

キーワード

人気の記事