本記事では、AWS RoboMakerでシミュレーションジョブが起動せず「失敗」と表記されてしまった場合のデバッグ方法について解説をします。
AWS RoboMakerの概要については下記記事を参考にしてください。
はじめに ロボットの開発で良く用いられるプラットフォームとしてはROSが挙げられると思います。しかしながら、複数人で開発をする場合に環境を合わせるのが大変、ライブラリインストールを失敗してOSを初期化せざるを得なかった、マシンスペックを柔軟に変えて試したい、など様々な課題も上がってくるかと思います。 もし、上記のような課題を抱えている場合はAWS RoboMakerを使った、クラウドでのロボットアプリケーション開発をおすすめします。 本記事ではAWS RoboMakerの概要と、大まかな開発の流れを紹介し、具体的なイメージをもっていただくことを目的としています。 AWS RoboMakerとは AWS RoboMaker 公式ページ
シミュレーションジョブが失敗する
シミュレーションジョブを実行するとたまにステータスが「失敗」と表記されて起動しない時があります。
このようになってしまうと、今回のシミュレーションジョブは終了してしまうため、新しくbundleしたtarファイルをアップロードの上、シミュレーションジョブを新たに作成しなければいけなくなります。
CloudWatchのログを参照する
シミュレーションジョブのページ下部「設定」の「シミュレーションジョブポート」セクションにある「ログ」を選択すると、新しくタブが開き、CloudWatchの画面に飛ぶと思います。
すると、2つのLog streamが選択された状態になります。SimulationApplicationLogsがシミュレーションアプリケーションのログ、RobotApplicationLogsがロボットアプリケーションのログになります。
通常、初回に/aws/robomaker/SimulationJobs という名前のLog groupsが生成され、その配下にシミュレーションジョブ毎に2つずつLog streamが生成される形となります。
それぞれのCloudWatchログを見ると何が原因で処理が落ちてしまったのかが分かるので修正をしていきましょう。