本記事では、AWS RoboMakerでシミュレーションジョブが起動せず「失敗」と表記されてしまった場合のデバッグ方法について解説をします。

AWS RoboMakerの概要については下記記事を参考にしてください。 

 

はじめに ロボットの開発で良く用いられるプラットフォームとしてはROSが挙げられると思います。しかしながら、複数人で開発をする場合に環境を合わせるのが大変、ライブラリインストールを失敗してOSを初期化せざるを得なかった、マシンスペックを柔軟に変えて試したい、など様々な課題も上がってくるかと思います。 もし、上記のような課題を抱えている場合はAWS RoboMakerを使った、クラウドでのロボットアプリケーション開発をおすすめします。 本記事ではAWS RoboMakerの概要と、大まかな開発の流れを紹介し、具体的なイメージをもっていただくことを目的としています。 AWS RoboMakerとは AWS RoboMaker 公式ページ

シミュレーションジョブが失敗する

シミュレーションジョブの失敗

シミュレーションジョブを実行するとたまにステータスが「失敗」と表記されて起動しない時があります。

このようになってしまうと、今回のシミュレーションジョブは終了してしまうため、新しくbundleしたtarファイルをアップロードの上、シミュレーションジョブを新たに作成しなければいけなくなります。

CloudWatchのログを参照するCloudWatchログ

シミュレーションジョブのページ下部「設定」の「シミュレーションジョブポート」セクションにある「ログ」を選択すると、新しくタブが開き、CloudWatchの画面に飛ぶと思います。CloudWatchログ

すると、2つのLog streamが選択された状態になります。SimulationApplicationLogsがシミュレーションアプリケーションのログ、RobotApplicationLogsがロボットアプリケーションのログになります。

 通常、初回に/aws/robomaker/SimulationJobs という名前のLog groupsが生成され、その配下にシミュレーションジョブ毎に2つずつLog streamが生成される形となります。

それぞれのCloudWatchログを見ると何が原因で処理が落ちてしまったのかが分かるので修正をしていきましょう。

Aws robomakerRos

Related Posts

rospyでImageデータを取得してOpenCVの配列として扱う
rospyでImageデータを取得してOpenCVの配列として扱う
概要 PythonでROS開発をする際、sensor_msgs/Image型のトピックを受信して色々な処理をかけたいときには、OpenCVの配列に変換した上で処理を行うと便利です。CvBridgeというsensor_msgs/Imag...
Read More
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
概要 ROSを起動させているロボットに対して、スマートデバイスからROSで通信を行いたい時があるときは、Flutterを用いたネイティブアプリで実装するのがおすすめです。 roslibjsを使ってJavaScriptでROSトピックの...
Read More
Arduinoでサーボモータを動かす【簡易版】
Arduinoでサーボモータを動かす【簡易版】
概要 Arduinoでサーボモータを動かす方法について解説します。複数個を同時に制御する場合はPCA9685など追加モジュールを導入してi2cで制御することもできますが、今回はシンプルに1つのサーボモータを動かすサンプルを紹介します。...
Read More