連載
» 2020年08月19日 14時00分 公開

クラウド×ロボットの現在(3):AWS RoboMakerでロボットの機械学習トレーニングをしてみよう (1/3)

クラウドを活用してロボットの開発や運用、管理を行うクラウドロボティクス。最終回となる今回は、実際にクラウドシミュレーターを活用して、サンプルアプリケーションを用いながらロボットを機械学習で訓練する手順を紹介する。クラウドシミュレーターにはAWS RoboMakerを使う。

[河田 卓志(アマゾン ウェブ サービス ジャパン),MONOist]

 前回の連載第2回ではロボット開発に役立つクラウドシミュレーターの紹介と、その活用方法を説明しました。最終回となる第3回ではAWS RoboMakerを使って、さまざまな分野で活用が進む機械学習でロボットをトレーニングする手順を解説し、クラウドシミュレーターによる機械学習への応用の可能性を紹介したいと思います。

≫連載「クラウド×ロボットの現在」バックナンバー

 ここで説明する内容は、AWSアカウントをご用意いただくことで実際に読者の皆さまにもお試しいただけます。なお本記事ではロボットのトレーニングにAWS RoboMakerのシミュレーターを活用します。幾つかの機能は無料利用枠の範囲内でお試しいただけますが、一部は少額ではあるものの有料になる可能性があります*1)。具体的な金額は料金表をご確認ください。

*1)開発環境のファイル保存には「Amazon EBS」というクラウドのファイルストレージを利用しますが、AWS RoboMakerの開発環境は初期状態で48GBの容量が割り当てられます。Amazon EBSは30GB分の容量を無料利用枠として提供していますが、その分を差し引いても18GB分の料金が発生します。仮に開発環境を1カ月保持し続けると2.6ドル(約270円)かかる計算です(2020年8月5日現在)。また、開発環境やシミュレーターの利用中は起動時間に応じて料金がかかります。開発環境は1時間当たり約0.1ドル、シミュレーターはシミュレーション内容の複雑さによって変動しますが、1時間で約3ドルが目安です。なおシミュレーションは最初の約4時間は無料で利用できます。

機械学習の学習工程を効率化

 機械学習をロボティクスに適用する場合、クラウドシミュレーターは機械学習の学習工程にどのようにして貢献できるでしょうか。

 まず思い付くのは、ロボットの学習過程が効率化できるという点です。これから本記事では「強化学習」という機械学習のアプローチを試していきますが、その過程ではロボットに何度も学習用の動作を試行錯誤させなければなりません。試行錯誤を本物のロボットで行うと大変な負担がかかりますが、シミュレーション環境でロボットを動かすのであればロボット機体の損害を気にする必要はありません。

 現実世界と異なり、シミュレーション環境では試行錯誤の過程を早送りすることも可能です。例えばシミュレーション環境での時間経過の速度を現実の2倍に設定すれば、現実世界でかかる時間の半分でモデル構築のためのデータ収集やモデルの動作確認が完了します*2)。さらに、クラウドを利用することでシミュレーションを大量、かつ、並列的に実行できます。並列実行によって学習時間を大幅に短縮可能です。

*2)あくまでシミュレーション環境中の時間軸や物理現象を早送りできるというだけで、ロボットアプリケーションのアルゴリズムが正しく機能するかを確かめるには別途検証が必要です。

強化学習によるロボットトレーニングの手順

 では、強化学習によるロボットのトレーニングを実際に試してみましょう。

サンプルアプリケーションのダウンロード

 はじめにAWS RoboMakerの開発環境を構築します。これと同時に、今回使用するサンプルアプリケーションのダウンロードも行います。

 ダウンロードを終えたら、まずはAWS マネジメントコンソールにログインします。リージョンは[アジアパシフィック]→[東京]を選択してください。AWS マネジメントコンソールを開いたら、サービスから「AWS RoboMaker」を選択し、左のナビゲーションウィンドウで[開発]→[開発環境]を選びます。開発環境の画面が開かれたら、右上にある[環境の作成]ボタンをクリックしてください。

AWS マネジメントコンソールの開発環境画面。ここでは[環境の作成]ボタンを押す[クリックして拡大] AWS マネジメントコンソールの開発環境画面。ここでは[環境の作成]ボタンを押す[クリックして拡大](C) 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.

 「AWS RoboMaker 開発環境を作成する」という画面が開かれたら、各項目に次の内容を入力しましょう。

  • 名前:任意の名前を設定(「Meirorunner」と設定したものとして以下では進めます)。
  • プリインストールされたROSディストリビューション:[ROS Kinetic]を選択。
  • インスタンスタイプ:デフォルトの「m4.large」を選択。
  • ネットワークの設定:VPC(Virtual Private Cloud)はプルダウンからデフォルトのVPCを選択。
  • サブネット:プルダウンからパブリックサブネットを1つ選択。

 設定が完了したら最後に[作成]ボタンをクリックして、開発環境の構築を開始します。すると、クラウドベースのIDE(統合開発環境)である「AWS Cloud9」をベースとした、AWS RoboMakerの開発環境が開かれます。

サンプルアプリケーションのダウンロード

 開発環境画面の下方にあるターミナルウィンドウをクリックして、次のコマンドを入力するとサンプルアプリケーションがダウンロードできます。

git clone https://github.com/aws-samples/aws-robomaker-sample-application-meirorunner.git MeiroRunner
コマンドの記入例[クリックして拡大] コマンドの記入例[クリックして拡大](C) 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.

 ダウンロードしたサンプルアプリケーションを構築するために、次のコマンドを入力してください。

cd MeiroRunner
./ws_setup.sh

 これでアプリケーションの構築が開始されます。このプロセスではサンプルアプリケーションの保存場所指定や、シミュレーション環境からAWSリソースにアクセスするためのセキュリティリソースの準備などが自動で行われているのですが、詳細は割愛します。なお、シミュレーションを使うまでの手順はオンラインドキュメントから詳細を確認できます。処理は約15分で完了し、終了すると次のような画面が表示されます。

アプリケーション構築の終了画面[クリックして拡大] アプリケーション構築の終了画面[クリックして拡大](C) 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.