CSフィールドセッション

CG_GUI_19

背景

2020年の夏、私はコロラド鉱山学校のコンピュータサイエンス学部の一環としてCSCI370、つまり「高度なソフトウェア工学」を受講しました。CSCI370は、学生が企業のためにソフトウェア関連のソリューションを設計、実装、文書化することを求めるコースです。このコースでは、学生が授業で学んだ知識を実際のコンピュータサイエンスの問題に適用することができます。このコースについての詳細はこちらで学ぶことができます。

このコースでは、どのプロジェクトや企業に取り組むかを決定することができます。コースでは、各プロジェクトと企業の詳細を記載したPDFが提供されました。最終的に、私はLunar Outpostという企業が投稿したリアルタイムホイールスリップ検出とエラー修正による強化された月面ナビゲーションというプロジェクトに取り組むことに決めました。名前が長いため、このプロジェクトには「ホイールスリップ検出」という別名を付けましょう。

問題

Lunar Outpostは、自律型月面ローバーを作成しようとしているスタートアップです。月面には、ホイールスリップを引き起こすことで知られる月の塵がたくさんあります。これは理想的ではありません。なぜなら、ホイールスリップは自律システムが実際の位置を見失う原因となるからです。地球では、GPSデータを使用してホイールスリップによって引き起こされるオフセットを修正することでこの問題が解決されます。しかし、GPSの問題は、30以上のナビゲーション衛星が常に地球の周りを回り、コンピュータが自分の位置を計算できるようにするユニークな信号を送信している必要があることです。しかし、月面には現在そのようなGPSは存在しません。これを考慮すると、ホイールスリップを検出するためにはGPS以外の別の方法を使用する必要があります。プロジェクトの問題に関する詳細なレポートはこちらで見ることができます。

チームメイト

このプロジェクトは簡単なものではなかったため、チームで行う必要がありました。チームはコロラド鉱山学校の学生5人で構成されていました:

  • メフメット・イールマズ
  • ケイン・ブルース
  • ブレイドン・オキャラハン
  • リアム・デンプシー
  • ケビン・グラント

このプロジェクトでは、ROS、C++、Python、Linux、Raspberry Pi、Arduinoの知識が必要でした。私たちのほとんどはこれらの技術の1つ以上の経験がありましたが、私だけが2020年春学期の人間中心ロボティクス(CSC470)クラスでROSを使用していたため、ROSの経験がありました。そのため、早い段階で、私は皆がROSを理解し、開発するのを助けました。

課題

このプロジェクトには多くの課題がありました。しかし、私たちが直面した最大の課題は、テストのために実際のロボットにアクセスできなかったことです。これは、COVIDの影響で全てがリモートになり、Lunar Outpostのラボや建物で作業できなくなったためです。そのため、私たちはシミュレーションを使用する必要がありました。

また、私たちはWVUナビゲーションラボのいくつかの学術研究を通じて、ホイールスリップの問題がLunar Outpostのユースケースにどのように解決できるかのアイデアを得ました。これは、私たちが学部の2年生と3年生であったため、予想以上に難しかったです。

私たちが直面したもう1つの課題は、このプロジェクトに取り組むための時間の量でした。CSCI370は1か月のクラスです。しかし、問題自体は、多くの企業や学者が数十年にわたって解決/完璧化しようとしている大規模な問題です。したがって、1か月ではこの問題を解決するには遠く及びません。しかし、これらのすべての課題にもかかわらず、私たちは頑張り抜き、成果を出すことを確実にしました。

結論

この投稿では、私たちの解決策についてより詳細な説明をしたかったです。また、私たちが発見したことや最終結果を説明する適切な結論を提供したかったです。しかし、残念ながら、私と私のチームメイトはすべての機密情報を共有することを禁止する秘密保持契約(NDA)に署名しました。上記の情報はすべて公開されており、インターネットからアクセスできます。

このプロジェクトを通じて、私たちは本当にROSを使用し、ROSとGazeboを使用してシミュレーションを作成する方法を学びました。また、ホイールスリップ検出の研究分野についての理解も深まりました。さらに、WVUナビゲーションラボの学者や研究者と会う栄誉も得ました。

これらすべてを考慮すると、このプロジェクトは私にチームのリーダーシップの役割を果たし、仲間がROSをよりよく理解するのを助ける教育者としての役割を果たし、ROS、Gazebo、Pythonの経験をさらに提供してくれました。また、ホイールスリップという問題に直面する機会を与えてくれました。この問題は、このプロジェクトに取り組むまで知らなかった問題です。全体として、Lunar Outpostが特にCOVIDの影響で忙しいスケジュールの中でこのプロジェクトに取り組む時間を取ってくれたことに感謝しています。また、このプロジェクトに本当に努力してくれた素晴らしいチームメイトがいたことにも感謝しています。