AWS RoboMakerを活用した ロボットプラットフォームの構築 IoT@Loft #16 ロボティクスにおけるIoTの活用 ブレインズテクノロジー株式会社 0
自己紹介 ブレインズテクノロジー株式会社 ソフトウェアエンジニア 樋口学 これまでは機械学習を使った異常検知ソフトウェアImpulseと そのフレームワークの開発などを行ってきました 最近はロ ボット関連の技術に刺激をもらいつつ ロボット用プラット フォームの開発に従事しています 趣味 登山 カート(F1) バスケットボール 1
アジェンダ 自己紹介 ロボットプラットフォームについて 課題 目的 AWSを使う理由 プラットフォームとしての利用 ハマったこと 2
ロボットプラットフォームについて 3
ロボットプラットフォームについて 課題 ロボットの準備片付けに手間 時間が かかる 保守 運用に関する管理業務が多様 化する 利用に際して現場での人の操作が必 要となる ロボットプラットフォーム 結局現場の人が作業をしてしまう 参考: https://www.takenaka.co.jp/news/2020/02/03/index.html 4
AWS を選択した理由 RoboMaker ロボット開発における 開発 シミュレーション フリート管理を備えた唯一のマネージドサービス 潤沢なコンピュートリソースを活用した バーチャル空間での高速 並列シミュレーションの実現 OSS活用によるオープンで拡張性の高いプラットフォーム AWSサービスとのシームレスな連携 ROSモジュールによるAWSサービスとの連携および 既存開発ノウハウ活用による高い生産性 AWS IoT Greengrass連携によるImpulseの機械学習モデルの活用 拡張 AWS & Amazonで活用される技術 AWS & Amazonで自社開発している ピッキング 搬送ロボットに裏付けされた実績 先進性 RoboMakerチームからの強力なサポート 直接のフィードバック スピーディーな対応 5
AWS RoboMakerを使ったrobot applicationの開発 設計 開発 テスト robot application robot application ナビゲーション 障害物回避 デプロイ SLAM 自己位置推定 simulation application ナビゲーション 障害物回避 robot application SLAM 自己位置推定 simulation application 経路 シミュレーション 経路 シミュレーション ナビゲーション 障害物回避 SLAM 自己位置推定 実機 robot output.tar build/bundle (cloud9で1クリック) 6
BIMデータ登録 シミュレーション ロボット稼働の流れ クラウド ⑥ AWS RoboMaker モニタ リング ロボット実機 create-simulation-job() create_deployment_job() ③ ⑤ ② 変換 処理 モジュール 経路計画 ロボット管理 ① 機材 センター 地図作成 シミュレーション ④ 経路 確認 現場担当者 ⑥ 遠隔 操作 7
シミュレーション上での地図生成デモ シミュレーション上でロボットを走行させ LiDARから取得した点群データよりロボット走行用の地図を生成 (SLAM, Simultaneous Localization and Mapping) 生成された地図 8
経路シミュレーション 地図を用いたシミュレーション上でロボットの現場での移動経路を設定し 動作に問題ないことを確認 9
開発時の役割分担 ロボット固有タスク 障害物回避 ジャッキアップ etc.. プラットフォームとの情報連携タスク 情報連携タスク シミュレーションタスク ROS Gazebo モデルロード. ロボットモデルロー ド バッテリー残量 送信 シミュレーションタスク ロボットモデルロード gazeboモデルロード etc.. ロボット開発 ロボット固有タスク 障害物回避 画像アップロード バッテリー情報 etc.. プラットフォーム 開発 Greengrass OS 10
アーキテクチャー概要 Takenaka Robotics Platform Robot AWS Amplify AWS IoT Greengrass AWS RoboMaker 経路 シミュレーション Fleet management Battery 画面 キャプチャ Development environment シミュレーション 実行状態監視 制御 Simulation 地図作成 バッテリー情 報 AWS Step Functions AWS Lambda クラウド連携 障害物回避 SLAM 経路最適化 状態管理 自己位置推定 地図作成 実行状態監視 制御 Amazon Simple Storage Service (S3) Web UI配信 Amazon CloudFront Screenshot 命令 受信 ナビゲーショ ン 作業所管理 AWS IoT Core ロボット状態管理 AWS Lambda ロボット種別管理 Amazon DynamoDB データ受信 BIMデータ 連携 LiDAR Amazon API Gateway 遠隔操作 AWS Lambda AWS Batch コマンド送信 ロボット状態監視 画像データ管理 Amazon Simple Storage Service (S3) 11
ロボット動作 動画 12
ハマったこと 13
ハマったこと シミュレーション空間上での Gazeboモデルの動的ロード 14
AWS RoboMakerを使ったrobot applicationの開発(再掲) 設計 開発 テスト robot application ナビゲーション 障害物回避 robot application SLAM 自己位置推定 simulation application 経路 シミュレーション build/bundle (cloud9で1クリック) デプロイ ナビゲーション 障害物回避 robot application SLAM SLAM ナビゲーション 2. node(ros上のプロセス )か ら動的にロードする 自己位置推定 障害物回避 自己位置推定 simulation application 実機 robot 経路 シミュレーション 1.ここにgazeboモデルを build/bundle時に埋め込んでおく output.tar 15
DAEファイルの動的ロード やりたいこと モデルの動的ロード 事象 開発環境で実行するとモデルロード成功 RoboMakerのシミュレーション環境で実行するとモデルロードがされない 原因 DAEファイルの読み込まれ方とRoboMakerのシミュレーションジョブの構成 DAEファイル直接ロードされるわけではなく参照を持ったファイルから記述された情報 を基にモデルがロードされる RoboMakerのシミュレーションジョブは別インスタンスで動作 16
DAEファイルの動的ロード ROS master ファイルがないためロー ドできない client gazebo SDF DAE DAE 共有されない 17
DAEファイルの動的ロード ROS master --data-source option でsimulation jobを 起動 ファイルが特定のボ リュームにマウントさ れる client gazebo SDF DAE SDF DAE 18
ありがとうございました 19