アマゾンウェブサービスジャパン(以下、AWSジャパン)は若者のプログラミング技術や創作意欲を高め、これからのIT社会を作っていく学生を支援することを目的に学生対抗ロボットアプリコンテスト「AWS Robot Delivery Challenge」を日本で初開催している。本戦は9月15日 13時より行われ、オンラインで観戦することができる。本戦には12チームが出場し、上位5チームが決勝ラウンドに進出、決勝戦が行われる。
118チームが応募
同コンテストはAWSが用意する規定のロボットを、参加者が作ったアプリケーションを使ってオンラインで動かし、ミニチュアの街に設置されたコースを走らせる。コース各所に点在する住宅に所定の商品をどれだけ早く届けられるかを競うもの。
2020年2月に募集を開始したところ、全国の高校、高専、大学、大学院、専門学校から全118チームの応募があり、4月にはロボットをバーチャルコース上で走らせ、タイムを競う予選を開催。上位12チームが9月15日に開催される本戦に出場することが決定した。本戦と決勝戦は9月15日(火)13時よりYouTubeLiveで生中継される。
■ AWS Robot Delivery Challenge
本戦は12チームが出場
日本初開催となる学生対抗ロボットアプリコンテスト「AWS Robot Delivery Challenge」の本戦には、全国の高校、高専、大学、大学院、専門学校 全118チームによる予選を勝ち抜いた、以下の上位12チームが出場する。
(以下リリースより引用、予選タイムの順位順、敬称略)
1位:18.66秒、芝浦工業大学 大坂 康裕らチーム
芝浦工業大学 大坂 康裕 / 高橋 拓光 / 岸本 朋也 / 小田島 直哉チーム
コンテストに応募したきっかけ:研究室の先生に勧められ、今年新しく配属された学部生の勉強を兼ねて参加しました。
コンテスト参加前のAWS利用について:AWSは全く使用したことはありませんでした。プログラミング技術は研究で使う程度で、チームメイトの学部生は参加時はほとんど経験がありませんでした。
予選で工夫した点:緊急事態宣言のもと、外出の自粛はもとより大学への入構が禁止されたため、メンバーが集まって話し合うことはほとんどできませんでしたが、Zoom によるオンラインミーティングや、Slack による連絡を密にすることによって進めました。
本戦へ向けての意気込み:コンテスト本戦出場を目指し、チームメンバーと互いに意見しあった甲斐あって本戦に出場でき、とてもうれしいです。本戦はシミュレーションではなく実機を使用しての速度計測ということで、シミュレーションでは起こらなかったことが起こる可能性もありますが、チームメンバー一丸となって調整に取り組み、1位を目指します。
2位:19.26秒 芝浦工業大学 野末 健志らチーム
芝浦工業大学 野末 健志 / 曲 謙二郎 / 向 洋太 / 松倉 祐輔 チーム
コンテストに応募したきっかけ:研究室の教授のもとにコンテストの案内があり、研究室の学生でグループを作って参加しました。
コンテスト参加前のAWS利用について:AWSは使用したことがありませんでした。プログラム経験はメンバーによって差はありますが、AWS RoboMakerと同じROSを用いたロボット開発を行っている者、マイコンのプログラミング経験がある者、プログラミング経験がほとんどない者が所属しています。
予選で工夫した点:ロボットの障害物回避に関するパラメータの調整を行い、ロボットが障害物と判定する範囲を小さくし、障害物にぶつかる直前まで回避を行わないようにしました。初期設定では狭すぎるために通行できないと判定される道を通行してタイムの短縮を行いました。また、経由地点を細かく設定してロボットの走行経路を指定しました。これにより安定した走行が可能となり、速度を上げてもゴールすることができました。
本戦へ向けての意気込み:私は研究テーマとして自立移動ロボットに関する研究を扱っているのですが、今回のロボットを動かすアプリケーションはベースとなる部分がほとんど同じものであったため,スムーズにタイムの短縮を行うことができました。本戦ではパラメータと経由地点の調整が重要だと考えています。1位を取るために頑張ろうと思います。
3位:23.82秒 長岡技術科学大学 佐藤 凌雅
コンテストに応募したきっかけ:Twitterで応募の広告を見つけ、面白そうだと感じたため参加を決めました。このコンテストへの参加を通してAWS RoboMakerの使い方を勉強できればと思いました。
コンテスト参加前のAWS利用について:コンテスト参加前にはAWSは名前だけ知っており、具体的に何ができるかは知りませでした。私は以前から他のロボット大会に参加しており、普段からROSは使用していました。AWS RoboMakerではROSで開発ができるため、その点では少しアドバンテージがあったと感じております。
予選で工夫した点:今回の予選のルールではあらかじめコースの地図や障害物位置がわかっていたため、事前に定めた走行ルートをトレースする方法が最速であると判断しました。そのため、走行ルートの作成を行うアプリケーションを開発し、ロボットの加速度などの制約条件を考慮したルートを生成できるようにしました。経路生成の段階で予想タイムも算出できるため、シミュレーションを行う回数もへり、効率的に開発を行うことができました。
本戦へ向けての意気込み:本戦では、さらにロボットの自律性が試されるルールとなっています。今まで使用してきたロボットの意思決定過程、経路生成のアルゴリズムを見直していきます。さらに、実機でも確実に動作できるように、経路追従制御にも磨きをかけていきます。今回、チームではなくソロでの参加で少々心細いですが、優勝できるように努力していきたいと考えています。
4位:23.90秒 宮崎大学 上田 高寛らチーム
宮崎大学 上田 高寛 / 東郷 拓弥 / 浪崎 誠也 チーム
コンテストに応募したきっかけ:Twitterでこのコンテストを知りました。ROSやAWSに興味があったので勉強するきっかけになると思ったことと、当時はコロナが流行っていなかったため、横浜に行く機会ができるので応募しました。
コンテスト参加前のAWS利用について:チームメンバー全員がコンテストを始めるまで、AWSに関しては全くの未経験でした。プログラミングに関しては、全員大学入学後にプログラミングを始めており、約3年程度です。同じ dot cube というサークルに所属しており、ゲーム制作やラジコンを作ったりなどしています。また、メンバーの一人はETロボコンに参加していました。
予選で工夫した点:メンバー全員 AWS や ROS を使ったことが無かったので、全員で理解を深めるためモブプログラミングを導入しました。走行の際は、旋回値をロボットの目標角度と現在の角度の差分を用いた比例制御を行い、任意の 座標に移動するノードを実装しました。走行経路となる座標を地道に調整し、タイムの向上を図りました。また、AWS IoT MQTTClient を用いて、スタートの検知し走行を開始するノードを作成しました。
本戦へ向けての意気込み:本戦への出場が決まり、嬉しく思います。当初の予定よりも開発期間に余裕ができたので、まだ理解が不十分な ROS や関連技術への理解を深め、満足のいくプログラムを作成したいです。今後卒業研究や趣味などで、ROSやAWSを使う予定があるので、とても良い機会だと思っています。リモートでの開催となったのは残念ですが、本戦では更に良い結果が出せるようチーム一丸となって頑張ります!
5位:23.95秒 千葉工業大学 池邉 龍宏らチーム
千葉工業大学 池邉 龍宏 / 渡部 蒼也 / 高橋 秀太 チーム
コンテストに応募したきっかけ:AWSという名前は知っていましたが、実際に利用したことはありません。自律移動ロボットについて学びたいと思っていた時にTwitterにて、この大会が開催されることを知り応募しました。
コンテスト参加前のAWS利用について:実際にプログラミングをして行った事を踏まえて話すと、ライントレースや倒立振子などを大学の授業としてやったことがあります。また去年から千葉工業大学 未来ロボティクス学科2年生のカリキュラムとしてROSを使用したマニピュレーターの制御を行いました。
工夫した点:今回このチャレンジに参加して工夫したことは、常に情報を共有することです。これはslackというチーム開発におけるコミニケションツールを導入したことです。私たちはこのチャレンジに参加する前、slamやnavigationについての仕組みやソフトウェアの扱い方など一つも理解していませんでした。なのでみんなでネットや参考書から得た有益な情報をslackのチャンネルに集めていました。そうすることでチーム全体でのレベルアップができました。
本戦へ向けての意気込み:今回参加している大会はとても貴重な体験です。私たちが自律移動ロボットについて学んでいくにあたり、大きな一歩となりました。次は本線であり実機を使った競技になります。シミュレーションでは想定できなかったことが起こるかもしれませんが、適宜情報をチームで共有し入賞を目指したいと思っています。
6位:24.00秒、慶應義塾大学 大西 史弥らチーム
慶應義塾大学 大西 史弥 / 是方 諒介 / 松尾 瑛 / 柴原 尚紀 チーム
コンテストに応募したきっかけ:Twitterで偶然知り、ROSやロボットの自律走行について勉強するとても良い機会だと考えたため応募しました。
コンテスト参加前のAWS利用についてチーム全員AWSは全く使ったことがありませんでした。プログラミングは、ロボコンや競技プログラミングで多少経験しています。
工夫した点:ROSのnavigation stackを用いて経路生成、追従を行い、このパラメータを調整することで狭い通路を通過できるようにしたり、適切な経路生成が行われるようにしました。この際、サンプルとして与えられたファイルには一部のパラメータしか記載されていなかったため、自分たちで適宜パラメータを追加しより詳細なロボットの設定を行いました。
本戦へ向けての意気込み:僕たちは同じサークルに所属していて、ROSの勉強も兼ねてこのコンテストに参加しました。予選でのシミュレーションを通じてROSに関する知識やロボットの自律走行についての理解を深めることができ、また予選突破までできたのでよかったです。本戦では実際のロボットを扱うので、予選と異なり何十回も繰り返し計測できず、またスリップなど何が起こるか分からないため、できるだけロバストな制御を目指して頑張りたいです。
7位:24.07秒 関西大学 酒部 佑介らチーム
関西大学 酒部 佑介 / 虻川 翔哉 / 小田康平チーム
コンテストに応募したきっかけ:サークルの先輩からこのコンテストについて教えて頂き、それがきっかけでこのコンテストを知りました。当時の私たちはこのような全国レベルのコンテストへの出場経験はなく、これを通してロボットアプリケーションの知識を得ることができるのではないかと思い、参加させて頂くことに決めました。
コンテスト参加前のAWS利用について:コンテスト参加前にAWS、AWS RoboMakerは使用したことがなく、このコンテストで初めて使用しました。プログラミング技術の経験や知識についてですが、メンバー全員とも大学で同じ学科で、同じプログラミング系のサークルに入っていることもあり、C言語やPython、Javaのプログラミング経験はありました。メンバーの中には競技プログラミングを得意としている者や、普段からPythonでプログラミングしている者がいたので、C言語やPythonについての知識は豊富でした。
工夫した点:私たちはチームで参加したのですが、チームで取り組むことの利点はより多くの施行を行うことができることです。その一方で試行内容が重複するなどの無駄が増えるという不利点があります。そこで無駄をできるだけ減らせるように、例えばマップ作成のチューニングの手法をチーム内で分担して試行する、ベストスコアが出た際はその時に使用したマップや、パラメータの値を共有する、といった工夫をしました。
本戦へ向けての意気込み:ROSは今まで使用したことがなく、分からないことが多くて戸惑いばかりでしたが、チームメイトと協力することで 2 ヶ月間に渡る予選を通過し、本戦に参加することができました。これからは本戦に向けてチームとの連携をより密にし、ROSに関する理解をより深めたいと思います。そして、より良いアプリケーションを作りあげ、順位を上げたいと思います!
8位:24.10秒 海城高等学校 小嶋 匠実らチーム
海城高等学校 小嶋 匠実 / 清水 琢也 / 勝山 翔紀 / 井上 瑛資 チーム
コンテストに応募したきっかけ:はじめは私(小嶋)がこの大会をFacebookで見かけ、ロボットのプログラミングをしてみたいと思い、メンバーを誘って行きました。高3から高1まで揃っていますが、みんなコンピュータが好きな人間で、快諾してくれました。
コンテスト参加前のAWS利用について:全員、プログラミングに関しては学んでいて、PythonやC、Swift、アセンブラなどの経験がありました。AWSに関しても、皆一度は触ったことがあり、各自、低レイヤーの学習に役立てたり、ウェブアプリの開発環境としてAWS Cloud9を使ったりしています。ただ、AWSを使ったクラウドベースでの開発は慣れたものではなく、経験のないものです。
工夫した点:自動運転技術の実装に加えて、手動コントローラをアプリケーション内に仮想化した形で埋め込み、各種パラメータのチューニング時に、手動でロボットの細かな動きを調整できるようにすることで、自動運転アルゴリズムの核心には関わらないメンバーも、手動コントローラを用いて最短ルートを探して、タイムの短縮に貢献できるようにしました。
本戦へ向けての意気込み:この2か月間、工学の専門教育を受けたことのない身として知識や技術の不足をひどく痛感してきました。それでもシミュレーション予選では、結果提出締切の直前まで諦めずに、自分たちの編み出した方法を信じて取り組んだことで、本戦に出場することができました。柔軟さと粘り強さ。この2つをキーワードに、残りの数か月全力を尽くして、本戦では優勝を狙います。
9位:24.11秒 筑波大学 高山 周太郎らチーム
筑波大学 高山 周太郎 / 山崎 陸 チーム
コンテストに応募したきっかけ:Twitterの広告でコンテストのことを知りました。ROS自体は大学院の研究で利用していましたが、ロボット自体や制御には全く触れてこなかったのでいい経験になると考えて出場を決めました。
コンテスト参加前のAWS利用について:AWSの利用経験はありませんでした。プログラミングは大学の研究でのシステム開発や、Webアプリケーションの個人開発をしていました。
工夫した点:一つは強力な直線追従です。パラメータの選定とゲインのチューニングを工夫したことで、ほとんど思い通りの軌跡を辿ることができます。もう一つは柔軟なソフトウェア設計です。点を指定するだけで辿るコースを変えられるため、トライ&エラーを素早く行うことができます。決勝では走行コースが変わりますが、その変化にも柔軟に対応することができます。
本戦へ向けての意気込み:予選では9位と少し不本意な結果に終わってしまいましたが、決勝では優勝を目指します。僕たちは元々ロボット畑の人間ではないため、ROSやシステム制御に関してはあまり詳しくありません。ですが、今回Robot Delivery Challengeに出場するにあたって勉強や開発をすすめる中で少しずつ知識を深め、決勝に出場する機会をいただけました。決勝でも新たな技術を学ぶことを楽しみながら頑張ろうと思います。
10位:24.35秒 豊田工業高等専門学校 播磨 朋紀
コンテストに応募したきっかけ:コンテストに応募したきっかけは、コロナ禍による休校が長引いたことです。コロナウイルスの感染拡大で、在籍する学校が5月下旬まで休校となっていました。休校中にコンテストが開催されることを知り、休校中に自宅で行う学習として、コンテストに参加しました。
コンテスト参加前のAWS利用について:Amazonがクラウドサービスを提供していることは知っていましたが、AWSを使ったことは一度もありませんでした。また、学校では機械工学を専攻しているため、プログラミングには疎く、授業で扱う程度の基礎的な知識しかありませんでした。
工夫した点:工夫したポイントは、ロボットの寸法のパラメータを変更したことです。走行用のプログラムはサンプルプログラムを もとに作成しました。サンプルプログラムではロボットは交差点を大回りに曲がっていましたが、ロボットの寸法のパラメータを変更したことで、ロボットが交差点を小回りで、素早く曲がることができるようになりました。
本戦へ向けての意気込み:私は出場チームの中でも数少ない個人での参加となりました。休校期間中の学習として参加しましたが、予選を通過し驚いています。ROSやプログラムに触れるのはほとんど初めてで、知識が乏しいので、本戦までに学習したいと思います。複数人の方の所属するチームに比べると少し寂しいですが、全力で頑張ります。
11位:24.40秒 徳山工業高等専門学校 田中 勇真らチーム
徳山工業高等専門学校、大阪大学 田中 勇真 / 須郷 賢 / 藤本 雄太郎 / 新田 隼也 チーム
コンテストに応募したきっかけ: 春休み期間からコロナによる休校に至るまで時間ができるので何かしら共同で参加できるコンテストがないかというところで探していたら、見つけました。ROSを扱うという事で勉強しておきたかったところでもあったのであまり悩まず応募しました。
コンテスト参加前のAWS利用について: 利用経験はありませんでした。 プログラムは授業でC言語の基礎を扱ったくらいです。
工夫した点:ロボットに座標指示後に計測を始めゴールまでをカウント。パラメータはオブスタクルレンジとレイトレースレンジを狭くすることでロボットの障害物認識を甘くして、ポールの間をくぐることを可能にしました。斜め移動が速いことを悟りトラックの横を通るルートを選択。始めの直進を斜めにできないかとGIMPでマップを塗りつぶしました。
本戦へ向けての意気込み:まだスピード調整が出来てないのでドキュメントを見ながらなんとか実装したいと思います。ちなみにまだチームメンバーの半分が環境構築に詰まっているので、本戦までに皆の環境を揃えたいと思います。現状11位ですがこの辺りを修正して行けば他のチームとも対等に渡り合えることと思いますので、まずはそのスタートラインに立てることを目指して頑張ります (笑)。
12位:24.45秒 芝浦工業大学 長倉 広樹らチーム
芝浦工業大学 長倉 広樹 / 樋口 直俊 / 羽鳥 優平 / 二村 雅也 チーム
コンテストに応募したきっかけ:大学研究室の指導教員からの勧め
コンテスト参加前のAWS利用について:AWSのサービスを利用したことはありませんでした。
工夫した点:以下のパラメータ調整を行いました。
inflation_radius: 0.10
cost_scaling_factor: 2.0
footprint: [[-0.075, -0.075], [-0.075, 0.075], [0.021, 0.075], [0.021, -0.075]]
dwa_local_planner_params_burger.yaml内
max_trans_vel: 0.22
min_trans_vel: 0.22
max_rot_vel: 2.84
min_rot_vel: 2.84
occdist_scale: 0.005
また、RvizのGUI上でウェイポイントを複数指定し走行を行いました。緊急事態宣言のもと、外出の自粛はもとより大学への入構が禁止されたため、チームメンバーと集まり討議などを行えませんでした。そのため、Zoom作業を進めました。
本戦へ向けての意気込み:多くの参加チームの中から本戦によるオンラインミーティングや、Slack、LINEを用いた情報共有により、に選出され、非常に光栄に思います。コロナの影響で、チーム内での協働が困難ではありますが、オンラインミーティングなどを通して、チームメンバーと協力して本戦す。本戦は実機TurtleBot3での実施ということで、シへの準備を行おうと思いまミュレーションとの差や、問題が予想されますが、チームワークで乗り越え、良い記録を残したいと思います。