最終的に優勝したのは、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.