趣味のインターネット地図ウォッチ

第200回

自作GPS・QZSSロボットカーが集結、衛星航法による自律走行技を競う

 衛星航法による自動運転の正確さを競う「GPS・QZSSロボットカーコンテスト」が10月18日、東京海洋大学・越中島キャンパスにて開催された。このコンテストは、測位航法学会が主催する「GPS/GNSSシンポジウム」の併催イベントで、今年で8回目の開催となる。2006年に始まった当初は参加者を学生に限っていたが、今では学生以外でも自由に参加できる。今回はこのコンテストの模様をレポートするとともに、GPS・QZSSロボットカーとはどのようなものなのか、その魅力をお伝えしたい。

会場となった東京海洋大学のグラウンド
さまざまなロボットカーが勢ぞろい

 このコンテストは、以前は「GPSロボットカーコンテスト」という名称だったが、今年からは「QZSS(準天頂衛星)」という名称が付け加えられて、GPSだけでなくQZSSによる測位も使って競うことになった。

 QZSSは既存のGPSの精度を補完するだけではなく、専用の受信機を使うことでGPSよりも高精度な測位を実現する「補強機能」や、衛星からのメッセージ配信(災危通報)機能なども備えている。今大会では、QZSSのL1-SAIF信号によるサブメーター級(誤差1m以内)の高精度測位を実現する補強機能や、メッセージ受信を利用可能にする専用の受信機「QZPOD」が参加者に貸与された。

QZPODを搭載したロボットカー

 コンテストの競技は、2つのWaypoint(パイロン)を周回することで得られるポイントを競う「ダブルパイロンレース」と、災危通報のメッセージで指定されたルートを走行し、走行時間の短さを競う「QZSSスクランブル」の2種目。ダブルパイロンレースのルールは昨年までと同様だが、QZSSスクランブルについては今年からスタートした全く新しいルールだ。

 ダブルパイロンレースでは、事前に知らされたパイロンの位置情報をもとにロボットカーを自動走行させるのに対して、QZSSスクランブルは出走直前まで走行ルートが知らされず、競技開始とともに衛星からのメッセージを受け取り、それに従って自動走行させるという点が大きく異なる。ちなみにメッセージ配信には出走ロボットカーを識別する信号も含まれており、目標物として指定される3カ所のチャックポイントの場所はロボットカーごとに異なる。この種目はSPAC(衛星測位利用推進センター)の協力によるもので、このコンテストのために、QZSS初号機「みちびき」から特殊なメッセージの配信が行われた。

 ロボットカーのハードウェアレギュレーションは両ルールとも共通で、動力は原則として電動とされている。寸法は、競技中の姿勢での高さが400mm以下で、幅と奥行きは500mm以下。またはロボットを分解して鞄に入れて運ぶ際に、鞄のサイズの3辺の合計が115cm以内かつ55×40×25cm以内に収まるサイズ(100席以上の国内線航空機内に持ち込みできる大きさを参考にしている)と規定されている。重量は、自律走行に必要なすべての機器を含めて、合計で9kg以内。ただし、ノートPCやバッテリー充電器など、セットアップ時だけ接続して競技中は取り外す機器は含まない。車体が小さめに規定されているのは、遠方からの参加者が飛行機で運搬できるサイズに制限することで、地域によって有利・不利が生じないようにしているためだ。

 このような規定に合うロボットカーのベースとして多くの参加者が利用していたのが、タミヤなどのホビーラジコンのシャーシだ。バギーやビッグタイヤなど、オフロード走行に適したシャーシを改造したものが多く見られた。ただし、中にはラジコンを使わないオリジナルのシャーシを使用したものもあり、ホイール側にモーターが内蔵されたユニークな形状のものもあった。

ホイールにモーターを内蔵したシャーシ

 航法センサーとしてはGPS受信機を利用し、制御プログラムに従って自律的に走行するものが条件とされている。GPS受信機には、貸し出されたQZPODを使うチームもあれば、市販のGPSチップを使用するチームもあった。競技中の遠隔操作は行うことができず、すべての自律制御部がロボットカーに搭載されている必要がある。ただし、ロボットカーの状態をモニタリングするために外部への通信を行うことは可能だ。使用するGPS受信機やマイコンは一般に市販されている製品の利用が望ましいが、情報公開することを前提に、改造された受信機での参加も可能とされている。

 利用可能な衛星はGPS、QZSS、SBASで、これら以外の衛星は受信機単体での測位方式であれば利用できる。ただし、今回のコンテストに限っては、RTK(リアルタイムキネマティック)測位を利用したロボットカーが参加している。

 RTK測位とは、基準点と移動局に分かれて受信機の観測データを無線で交信する「干渉測位」の方法の1つ。スマートフォンのGPSなどで使われている「単独測位」に比べて機器が高価だが、測量に利用できるほど高精度な測位を実現できる。

 今回は参加チームの中にルールを誤って解釈してしまい、RTKを採用したロボットカーを持って来たチームがあった。このコンテストは原則的には単独測位のみで、本来ならRTKは認められてはいないが、今回は特例として認められた。後述するが、このRTKを採用したチーム「早稲田大学天野研究室(ロボット名:Kevin)」は、今大会において大きな存在感を示した。

早稲田大学天野研究室のKevin

 コンテスト会場となった東京海洋大学・越中島キャンパスのグラウンドは、全面が芝生の広々としたフィールドで、ここに21チームが集結した。参加者は大学の研究室や高校生のほか、個人参加も4チーム含まれている。ダブルパイロンレースには21チーム全チームがエントリーし、QZSSスクランブルには7チームがエントリーした。

 コンテストは、ダブルパイロンレースの参加チームを前半と後半に分けて、最初に前半のレースを実施。その後、QZSSスクランブルをはさんで、ダブルパイロンレースの後半が実施された。ダブルパイロンレースは、20mほど離れた2つのパイロンを基準に8の字走行をさせて、回った回数を競うもの。スタート地点は2つのパイロンの中間地点で、競技者の持ち時間は準備時間が3分、競技時間が5分だ。

 ただし、スタートが告げられてもなかなかロボットカーが発進せず、立ち往生したり、決められたコースとはかけ離れた方角へと走って行ってしまったり、方向は合っているがパイロンの近くに辿り着いても方向を変えずにそのまま真っすぐに走って行ってしまったりと、DNS(スタート不可)やリタイヤとなるロボットが続出した。

 ちなみにこの競技では、パイロンの回り方はどちら回りでも構わない。ただし、制御されていない単なる円運動を避けるため、8の字に回る必要がある。競技時間内であれば何度でもリトライを宣言することが可能で、主審に宣言して認められれば、再スタートさせることができる。また、ロボットカーが障害物を避けることができずに立ち往生した場合に、競技者が障害物を移動させたり、ロボットカーの方向を変えることも可能だが、その場合は合計ポイントから減点される。

ダブルパイロンレースのコース

 QZSSスクランブルもダブルパイロンレースと同様、参加チームの多くが苦戦した。こちらの競技フィールドには、3m四方のマス目(ユニット)が49個(7×7個)並んだグリッドを用意。コンテスト当日、このグリッドの正確な位置情報(角にあるユニットのうち3カ所のユニットの中心の緯度・経度)が競技者にまず伝えられた。競技者は、QZSSからメッセージが配信される時刻の2分前にスタート場所となるユニット内にロボットカーを置いて電源を入れる。その後、QZSSからのメッセージを通じて、チェックポイントとして指定された3カ所のユニットがグリッド内のX軸・Y軸の値で通知されるので、ロボットカーはそれに従ってスタートの制御や指定されたチェックポイントの緯度・経度の解読を行うことになる。

7×7個に区切られたグリッド
QZSSスクランブルの競技フィールド
QZSSからのメッセージ配信を音と光で知らせるランプも設置された

 両競技ともに抜きん出て優れた結果を残したのが、前述したKevinだ。ダブルパイロンレースでは、片方のパイロンを回らずにもう片方のパイロンに行ってしまったり、本来の回転方向とは逆向きに回ってしまったりと、多少の誤差はあったものの、しっかりとした走りでパイロンを何回か回ってポイントを稼ぎ、見事に1位を獲得した。

 QZSSスクランブルにおいても、QZSSからのメッセージ通りに3カ所のチェックポイントのユニットに辿り着いたのはKevinのみで、こちらでも見事1位を獲得している。QZSSスクランブルについては、危なげなところが全くなく、指定されたユニットへ正確に辿り着き、方向を変えて次のユニットへとスムーズに移動した。その完成度の高さに、ギャラリーからは賞賛の声が多数寄せられた。

走行中のKevin
ダブルパイロンレースで走行するKevin
QZSSスクランブルでも優勝したKevin

 Kevinはタミヤのラジコンキット「ブラックフット3」のシャーシをベースにしており、車体後部の上に、ECSのLIVAというWindows搭載のミニPCを積載。その上部にはPCを冷やすためのファンが回っている。LIVAは約2万円で買える安価なPCで、モバイルバッテリーによる駆動が可能なため、簡単にラジコンのシャーシに搭載できる。マイコンと比較した場合のメリットとしては、シリアル通信やWi-Fiへの接続が容易という点が挙げられる。Kevinでは、このPCをRTKの測位演算と経路計画に利用しているとのことだ。

Windows搭載のミニPCを搭載するKevin

 車体前部に突き出た棒状のものは、QZSSからのメッセージを受け取ったことを示すライトで、QZSSの信号を受信すると光って周囲に受信したことを知らせる。そのほか、チェックポイントに到達した時にも光り、周囲に車体の状態を知らせることができる。

 車体後部にはQZPODが搭載されているが、このQZPODはQZSSからの災危通報メッセージを受け取るためだけに使用し、測位には使用していない。車体の位置推定については前述の通り、GPSを使った一周波RTK測位を利用している。RTKの固定基準局とのやりとりは、車体前部に付けられたWiMAXルーター経由でインターネットに接続して行う。車体に付けられたRTKのアンテナは約15万円。通常のGPSアンテナよりもかなり高価で、このほかに固定基準局用のアンテナも同じくらいのコストがかかる。

 Kevinの製作リーダーである早稲田大学理工学術院総合研究所の明比建氏は、GPSロボットカー製作の難しさと魅力について、「ロボットカーは非常に小さいとはいえ、1つのシステムです。したがって、システム要素に1つでもトラブルがあると上手く動きません。コネクターの接触不良やバッテリー切れ、ネジのゆるみ、起動手順の間違いによるセンサー出力エラーなど、1つ1つ見れば簡単な問題ですが、そのすべてを丁寧にクリアしなければ完成しないのが製作の難しいところです。逆に、そのすべてがうまくいった時、小さなラジコン車体が、人工衛星からの信号を頼りに目的地を目指すというとてつもなくスケールの大きいことを成し遂げます。そこに魅力やロマンがあると考えます」と語る。

Kevinの開発チーム

 ロボットカーのコンテストといえば、ほかに「つくばチャレンジ」という大会があるが、こちらは衛星測位がメインの大会ではない。つくばチャレンジと比べた場合の本大会の魅力について明比氏は、「大きな違いは、機器が小型であることです。私達は、サブゴール(通過するべき目標地点)の配置やステアリングの制御方法、その制御パラメータなどをさまざまなパターンで試行錯誤し、その結果、2種目優勝を成し遂げることができました。これらの試行錯誤によって得られた知見は、机の前で計算をしていても決して手に入りません。今大会を通じて、繰り返しの実験によって、より良いものを作り上げる大切さを学びました。このような素晴らしい大会を企画・運営してくださった熊本高専の入江先生には感謝しています」と語った。

 一方、ダブルパイロンレースにおいてKevinに次ぐ2位を獲得したのが、「電気通信大学ロボメカ工房(ロボット名:Luchs)」だ。Luchsも、パイロンで本来回るべき方向とは逆方向に回ってしまったり、パイロンを過ぎても回らずにまっすぐに進んでいってしまったりと、何度かトラブルが起きたが、数回パイロンを回ることに成功し、ポイントを積み重ねることで準優勝となった。Kevinが高価なRTK受信機を使っているのに対して、Luchsは市販の安価なGPSチップを使っており、製作コストもかなり安い。このような対照的なロボットカーが1位と2位を占める結果となったのが面白かった。

Luchs
ダブルパイロンレースで走行するLuchs

 Luchsの開発チームの1人である谷井健太郎氏によると、Luchsの製作費は、ベースとなるラジコンキットも含めて総額2〜3万円とのこと。ステアリングサーボやスピードコントローラーなどはラジコン用の安価なパーツを使用しており、マイコンにはArduinoと並んで人気のマイコンボード「mbed」を使っている。

 谷井氏によると、GPSロボットカーを作るのに最低限、必要なのは「駆動部となるラジコン(またはギヤボックスとタイヤを組み合わせたような走る機構)」「駆動部を動かすモータードライバー部分」「現在位置と方位を示すセンサーであるGPS」「センサーからの情報を処理してモータードライバーに命令を出すマイコン」「プログラム用のPC」とのことで、このほかに磁気コンパスモジュールがあった方がより制御しやすくなるという。谷井氏は「最近ではArudinoなど簡単に扱えるマイコンボードがあり、たくさんのサンプルプログラムがあるので参加の敷居は低くなってきていると思います」と語る。

 谷井氏は、本コンテストへの感想として、「今回初めての参加でしたが、一番の難しさは外で行うコンテストであることだと思います。実際に外に出ないとGPSは受信できませんし、会場は芝生なのでテストするにしても広い芝生の環境が必要です。GPSモジュールの出力座標も安定しているわけではなく、磁気コンパスも周囲の影響を受けたりと、屋内競技とは違ったさまざまな問題があるので、それが工夫のしどころでもあり、面白いと思います。今回のコンテストでは、最初に来てテストした時が実は一番結果が良く、本番では微妙にずれたポイントを走ってしまいました。再現性は高かったので、時間によって微妙に座標点が変化してしまったようです。来年は今回の問題点も踏まえて、ソフトウェアを改良して参加したいと思います」と語った。

 本来ならルール違反であるRTK測位も特例として認められてしまう寛容さがこのコンテストの魅力の1つではあるが、一方で競技そのものに対する姿勢はどのチームも実に真剣で、自分たちが作った機体をなんとかまともに走らせようと奮闘していた。勝ち負けよりも、広々としたグラウンドで衛星測位を利用したロボットカー製作の腕比べに没頭するという、それ自体が楽しくてたまらないという感じだ。

 コンテストの競技担当責任者である熊本高等専門学校(熊本高専)の入江博樹氏(建築社会デザイン工学科教授)は、コンテストの魅力について、「ソフトウェア、ハードウェア、そして衛星の電波などを複合的に扱う技術者は少ないので、そこに挑戦できるところが楽しいと思います。ダブルパイロンレースなら、コンテンスト終了後も自分でコースを設定すればどこでも気軽にチャレンジできるので、ぜひ試してほしいですね」と語る。興味を持った人は、材料をそろえてロボットカー製作にチャレンジし、来年以降の参加を検討してみてはいかがだろうか。

Luchs開発チームの谷井健太郎氏
熊本高専の入江博樹氏

片岡 義明

IT・家電・街歩きなどの分野で活動中のライター。特に地図や位置情報に関す ることを中心テーマとして取り組んでおり、インターネットの地図サイトから法 人向け地図ソリューション、紙地図、測位システム、ナビゲーションデバイス、 オープンデータなど幅広い地図関連トピックを追っている。測量士。インプレスR&Dから書籍「位置情報ビッグデータ」(共著)が発売中。