ユニーク&エキサイティング研究探訪
No.10 情報メディアシステム学専攻・冨沢哲雄助教らの自律走行ロボットの開発
日常生活で人間と共存できるロボットの開発を目指す
情報システム学研究科 情報メディアシステム学専攻
冨沢 哲雄 助教
人が往き来し、自転車が走りまわる公道で自律して目的地に行けるような「自律走行ロボット」を、情報メディアシステム学専攻・冨沢哲雄助教らが開発している。2010年に開発したロボット(電動カート)は、茨城県つくば市の公道で行われた公開試験「つくばチャレンジ2010」で1.2kmのコースを見事完走し、つくば市長賞を受賞した(注1)。この公開テストには企業や大学のロボット70台が参加したが、完走は7台のみ。学生が参加したロボットで完走したのは2台だけだった。
産業ロボットやレスキューロボットが活躍し、ロボコンなどが各地で開催されている現在では、ロボットは人間社会にすっかり身近な存在に感じられる。しかし、実際には自律型のロボットが人間と共存できているのは現在でもSFとアニメの世界だけだ。ロボットはロボット専用の空間でしか活動できず、人と同じ生活空間の中で安全に共存できるロボットはまだほとんどない。
- (写真1)自律走行ロボット
冨沢助教らの目指しているのは、最終的には人と共存できるロボットの開発だ。自律走行ロボットの開発はその第1ステップである。
写真1に開発した自律走行ロボットの外観を示す。市販のセニアカー(スズキ株式会社製電動カート)を台車に使い、それに自動ステアリング(ハンドル操作)機構を組み込み、移動距離を得るエンコーダと方向を得るジャイロセンサ、GPS(Global Positioning System)、レーザー測域センサ、それら全体を制御するコンピュータを搭載して、自律走行できるように改造した(注2)。
実は、冨沢助教は電通大に赴任する前の産業技術総合研究所時代から、今回と同様な自律走行型ロボットの開発に取り組んでおり、つくばチャレンジへの参加は今回で4回目。しかし、過去3回は予選段階ではいつもトップ通過したものの、実戦では途中でコースを外れ、途中棄権していた。
自由空間モデルに基づく自己位置推定システムを実装
つくばチャレンジが行われたのは、つくば駅周辺の公道(歩道と遊歩道)1.2kmのコースである。平坦で段差が少なく見通しがいいコースだが、途中随所に建物の壁や、電柱、立木、縁石、パイロン(道路標識)、それに通行人や自転車などの障害物がある。自走ロボットは人の助けを借りずに自力で障害を避け、目的地に到達しなければならない。
このような環境下で、ロボットにとって一番難しいのは、自分が現在どこにいるのかを判定することだという。今回は「自由空間モデルに基づく自己位置推定」(注3)をベースにして、より簡略な手法を開発・実装した。具体的には、後述のように環境地図生成とローカル地図とのマッチング処理を簡略化し、位置修正機会を増やすことによって、ロボットの現在位置を正確に把握できるようにした。
最初に環境地図を作製する
自己位置推定を行うには、まず走行区域の環境地図を作製する。このロボット(電動カート)の前面には左右それぞれにレーザー測域センサが取り付けてある。一つのセンサで周囲270°の水平面を走査でき、二つで自分の周囲を360°走査できる。この測域センサを使って、地上40cmの高さの水平面に関する2次元の環境地図を作製する。
地図作成するには、人間がロボットを手動操縦してコースを走りながら、ロボットの周囲を走査し、レーザー光が通った区域を「自由空間」として白く塗りかえ、レーザー光が通らなかった区域を、何かの障害物がある「占有空間」として黒くする。これをコース全体で合成することで、図1のような白黒2値画像の環境地図ができる。地図の白い部分がロボットが動ける自由空間、黒い部分が恒久的な障害物がある区域だ。
ロボットが自律走行する場合は、自分の周囲10m四方をスキャンし、その2値画像(ローカル地図)が環境地図のどこに相当するかを判定して、現在位置を確認する。実際には、ロボットの位置姿勢について複数の仮設(パーティクル)(図2)で表し、それを環境地図上の想定位置に置き、その位置にロボットが実際に観測したローカル地図を重ねてみる(図3)。同図のように、パーティクルの位置や向きが実際のロボットのそれと同じであれば、ローカル地図の自由空間と、環境地図上の自由空間がピッタリ重なる。具体的には、ローカル地図を環境地図上に移動・回転してパーティクルに合わせ、ローカル地図の自由空間と環境地図の自由空間の論理積をとったり、ローカル地図の占有空間と環境地図の自由空間との論理積をとったりして、一致度を判定する。
人間や自転車などの一時的な障害物があると、ロボットが観測するローカル地図の自由空間は、障害物がない場合に比較して狭くなる。しかし、それを前述の環境地図上に置いたパーティクルに重ねて論理演算すると、すべてのパーティクルが同じ影響を受けるので、確率的に正しい位置を判定できるという。 実装したシステムは100個のパーティクルに関して上記の演算処理を50msで出来る。このためほとんどリアルタイムで自己位置を推定できる。
- 図1.環境地図の生成
拡大図(PDF:148KB)
- 図2.自由空間モデル
拡大図(PDF:454KB)
- 図3.位置の判定
拡大図(PDF:980KB)
事前テストで堅牢性を確認
環境地図を作成するときは、一時的な障害物情報は除いて作成するので、建物の壁とか、樹木のような固定的障害物だけが占有空間になる。しかし、自律走行時には、ロボットの前後左右を人や自転車、他のロボットが往き来することを想定しなければならない。そうした“外乱”が多い環境下で上記の自己位置推定法が有効かどうか。冨沢助教らは、環境を観測しながら自律走行するロボットの視野を故意に妨害した状態や、一部のセンサが破損したような状態で走らせるという事前テストを実施して、この手法が極めて堅牢であることを確認した。
現在位置が決まれば、そこからローカルな目標までの方向に合わせてハンドルとアクセルの操作量を決める。進行方向に障害物があれば回避しなければならないが、もちろん回避機能も実装してある。このロボットには水平方向を走査する2つの測域センサのほかに縦方向を監視するもう一つのセンサが付いており、目標方向の前方3mを常時広角走査して監視し、障害物があれば安全な方向へハンドルを切り回避する。スピード(最大速度は大会規則で時速4kmに制限)は前方の空きスペースに比例して制御する。
今回のゴールは建物の中に設定されており、ロボットは自分で自動ドアを開けて建物に入りゴールインした。次回はゴールが階上に設定される予定だという。自分でエレベータに乗り、階上のゴールに到達できる機能が求められる。冨沢助教らは次回も挑戦する予定だ。
現状でも工場の搬送ロボットなどに応用可能
今回開発したロボットは、一般市民と共存するロボットに必要な自律移動機能を開発することを目的としたものだが、応用分野としては工場の自動搬送ロボットなどが考えられる。人や物の移動が頻繁な工場内では、障害物の位置が頻繁に変わる。しかし、今回のような自由空間モデルによる自己位置推定法を実装すれば、そうした一時的な障害物を避けて目的地まで物を搬送するようなロボットを容易に開発できそうである。
- プロフィール
2001年筑波大学第三学群工学システム学類卒業後、同大学の修士・博士課程に進み、2006年3月博士課程修了(博士(工学))。産業技術総合研究所特別研究員を経て、2009年4月から現職。
SFやアニメの世界のように日常生活の中で、人と共存できるロボットの開発を目指している。家電製品や自動車が普及したのはそのためのインフラ(道路やガソリンスタンド、電源コンセントなど)が整備されているためで、ロボットが日常生活に普及するには同様なインフラ整備が必要、と言う。しかし、現在はインフラ整備どころか、自律走行ロボットを開発しても、それを実環境(公道)でテストすることすら難しい。そこで、学生時代の恩師らと“つくばチャレンジ”という公道実験の場を整備し、自らも初回から参加している。アイディアの実現に向かって真っすぐにチャレンジする行動派タイプの人。
- (注1)
電気通信大学:受賞・表彰
- (注2)冨沢哲雄ほか、“公共空間で自律走行可能な電動カートの開発”、つくばチャレンジ2010開催記念シンポジウム(2011.1)
- (注3)竹内栄二朗 他、“3次元環境地図を用いた自由空間観測モデルによる未知物体にロバストな自己位置推定”、第15回ロボティクス・シンポジア、3A1,2010.
- (写真1)開発した屋外自律走行ロボット(電動カート)。
市販の電動カート(スズキのセニアカー)を、自律走行できるロボットに改造した。前面に3個のレーザー測域センサを搭載、環境地図に照らして自分の現在位置を正確に判断できる。 - (図1)環境地図の生成。
ロボットを手動で走らせ、コースの環境地図を生成する。地上40cmの高さでロボットの周囲20m四方の水平面を矩形に切り取り、障害物は黒、なにもない空間は自由空間として白くする。それをコース全体で合成して全体の環境地図を作る。 - (図2)自由空間モデル。
自律走行時、ロボットは自分の周囲10m四方の矩形領域を走査し、ローカル地図を作る。ただ、それだけでは自分がどこにいるのか判定できない。環境地図の対応する場所に、ロボットの位置や向きをいろいろと変えたパーティクルを置く。それぞれのパーティクルにローカル地図を当ててみて正しい位置を推定する。 - (図3)位置の判定。
ロボットが観測したローカル地図の自由空間形状を、各パーティクルに重ねる。パーティクルがロボットの現在位置と同じ位置にあれば、両者はピッタリ一致する。