「シミュレーションと現実のギャップ」を伝える、AWSの学生向けロボットレース:ロボットイベントレポート(2/2 ページ)
AWSジャパンは2020年9月15日、自作のアプリケーションを用いて実機ロボットでレースを行う学生向け大会「AWS Robot Delivery Challenge」の本選と決勝ラウンドを開催した。ロボット開発においてシミュレーションは今や欠かせないツールだが、シミュレーション環境で開発したアプリケーションを現実世界の実機で動かすことの難しさを、大会を通じて理解してもらいたいと主催者は語る。
優勝チームが開発時に苦労したポイントとは
最終的に優勝したのは、1分34秒のタイムを記録した千葉工業大学チームだった。本選の記録タイムは決勝ラウンドに進出したチームの中では最下位だったが、事前の予想を覆しての勝利となった。
千葉工業大学チームの参加メンバーは4人。全員、自律ロボットの研究を専門に行う研究室の仲間であり、プログラミングの技術を高めることが今後のロボット研究にも生きてくると考えたことから、参加を決めたという。
開発時に特に苦労した点を学生メンバーに尋ねたところ「これまでの研究活動でもROS(Robot Operating System)を用いた開発は行っていたが、その際にはC++やPythonなどのプログラミング言語を用いていた。しかし今回の大会では、Javaの他、HTML系言語やCSSなどのWeb系言語も習得する必要が出てきた。この点が難しく感じられた」と説明した。
また、実際にレースコースで実機を走らせてみると「実際のレースコースではシミュレーターでは生じ得ない、予期せぬトラブルが起きることもあった。今回のレースでは、最速でのクリアを狙うために、カーブを曲がりながら直進するアプリケーションを開発していた。しかし、実機で走らせてみると、カーブの際にオドメトリ(車輪角度から自己位置を推定する手法)が正確に機能せず、マップに少し狂いが生じる場面もあったので心配になった」(同メンバー)と振り返った。
リアルとシミュレーションの「ギャップ」を体感してほしい
初開催となったAWS Robot Delivery Challengeについて、AWSジャパン デジタルトランスフォーメーション本部 AWS RoboMaker シニアソリューションアーキテクトの河田卓志氏は、参加者の技術レベルが当初予想をはるかに上回っていたと振り返る。
「予選はシミュレーション環境で測定したタイムを各チームが自己申告する方式で行った。タイムの虚偽申告を防止するため、申告時に各チームに『そのスコアを出すためにどのような工夫をしたか』についてレポートを作成してもらったが、どのチームも分かりやすい内容にまとめていた。『アルゴリズム内の特定パラメーターをチューニングした』『タイム短縮のためにこのようなアルゴリズムを採用した』など、いずれも、この工夫ならばタイム短縮化が実現できると納得させられた」(河田氏)
本番のレースでは、千葉工業大学チームのように、シミュレーション環境では動作していたアプリケーションが実機ではうまく動かなくなるという現象も生じ得る。これについて、AWSジャパン 技術統括本部 レディネスソリューション本部 本部長/プリンシパルソリューションアーキテクトの瀧澤与一氏は「現実とシミュレーションの『ギャップ』は、実社会の開発現場でも日常的に見られる現象だ。現実世界を完全に模擬できるシミュレーターは存在しないため、これは当然のことではある。ただ、それでもシミュレーションはプロダクトの品質を高める上で重要な役割を担っているのだと理解してほしい」と語る。
リアルな環境ではロボットの訓練を行うのに限界がある。自動運転車両の開発中に、車両が大破するまで何度も壁にぶつけるような訓練が許されるはずもない。「大事なことはギャップが存在することは仕方ないと割り切り『実際にどこにギャップが存在するのか』を自分で気付けるようにすることだ。日光が強すぎてロボットの周辺環境認識が上手くいかない、といったシチュエーションはよく起こり得る。どのような状況でどのようなギャップが生まれるか。これを見抜く力は、エンジニアが開発時の課題を見つける際の思考力に通ずるものがある。大会ではこうした点を学び、エンジニアとしてステップアップしてほしい」(瀧澤氏)。
また、河田氏も「ポイントはギャップをいかにリカバリーするかということだ。例えば、大会ではロボットのセンサーがノイズを拾ってしまい、アルゴリズム上はぶつからないはずなのに壁に衝突することもある。こうした事態を防ぐために、事前に作成した地図と現実のコースとの間に誤差が生じた際に、周囲を探知して地図を作り直す、というアルゴリズムを提出してきたチームもあった」として、シミュレーターの限界を理解しつつも、現実の実機開発に生かす手法を探ることの重要性を指摘した。
次回以降の開催は、参加者からのフィードバックなどを参考に今後検討していく予定だという。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 自作の自動走行モデルでレースに挑め! AWS SummitのDeepRacerリーグが大人気
自動運転車を自作して競わせる時代に――。アマゾン ウェブ サービス(AWS)が千葉県の幕張メッセで開催しているユーザーイベント「AWS Summit Tokyo 2019」(2019年6月12〜14日)では、自作の自動走行モデルでレースをする「AWS DeepRacer リーグ」を実施。待ち時間が200分を超える時間帯もあるなど、大きな人気を呼んでいる。 - AWS RoboMakerでロボットの機械学習トレーニングをしてみよう
クラウドを活用してロボットの開発や運用、管理を行うクラウドロボティクス。最終回となる今回は、実際にクラウドシミュレーターを活用して、サンプルアプリケーションを用いながらロボットを機械学習で訓練する手順を紹介する。クラウドシミュレーターにはAWS RoboMakerを使う。 - なぜロボットにクラウドが必要なのか?
クラウドを活用してロボットの開発や運用、管理を行うクラウドロボティクス。連載第1回ではAWSのシニアアーキテクトがクラウドロボティクスの現状やAWS RoboMakerの紹介を行う。 - 品質確認の時間も短縮、ルンバも使ったクラウドシミュレーターの可能性とは
クラウドを活用してロボットの開発や運用、管理を行うクラウドロボティクス。連載第2回ではAWSのシニアアーキテクトがクラウドシミュレーターの種類や活用方法の紹介を行う。 - ロボット開発で注目される「ROS」(Robot Operating System)とは何か
ロボットの話題を聞くことが増えたが、判断と制御、駆動を備えたロボットを作るのはかなり骨が折れる。その負担を軽減するフレームワークが「ROS」(Robot Operating System)だ。 - BIMと連携してロボットの自律走行を支援する基盤システム、竹中工務店が開発
竹中工務店はBIMとの連携によってロボットの自律走行とリモート監視を可能にする、クラウドベースの「建設ロボットプラットフォーム」を開発したと発表した。