ROSとAWS RoboMakerについて

 

ROSについて

ROS(Robot Operating System )とは、オープンソースのロボット工学ソフトウェアのフレームワークです。土台としての機能と共にロボット開発に関するアプリケーションの構築のためのソフトウェアライブラリも提供しており、研究や開発で使われたソースコードなどが利用できるようになっております。ネットワークを介して個々のプログラムが他の複数のプログラムの中で同時並行し実行できる分散処理のシステム構築や管理、ロボット自体の動作に関する制御、世界中の技術者から集められたツール・ライブラリ群が蓄積されております。今現在ロボットの導入や技術の進歩が進む中で、最も広く使用されているオープンソースであるROSは多くの場で活用されています。これにより、従来と比べロボットシステムの開発に対して時間が掛からなくなりました。

ROS2について

ROSには、コンセプトとしては同じである新世代型のROS2というものがあります。こちらは分散処理システム上の問題や既存のROSユーザーへの影響の為に従来のROSとは切り離す形で作成されてました。そのため、ROSとROS2間での互換性はありません。ROSは限定された環境での単一のロボット制御を想定として、主に研究用に開発されました。それに対し、RO2は複数のロボットの対応やリアルタイムでの制御などを想定し、商用化や実用化の要素を取り入れ開発されています。

ロボット自体の歴史はまだ長くはありませんが、その中での環境の変化により目的や要件もまた変化しています。そういった背景の中でROS2は開発されました。

分散処理のフレームワーク

ROSの代表的な特徴として上げられるものに分散処理を採用しているという点があります。センサーなどから情報を受け付ける事で、中心となる処理装置から指示を直接各装置に送り、その結果をまたその処理装置が受け取け処理するという様な一つの処理装置からすべての通信を行う仕組みを集中管理型と言います。ロボット開発においては、この集中管理型を使用する事は可能ではありますが、一部では些か手間や問題が出てきます。複数の部分において処理が必要なものや、速度の求められるものに対しては1台のロボットに対して短時間に多くの処理を必要とされます。その際、集中管理型を設定している場合中心となる処理装置に多くの負荷がかかってしまい、動作の遅延やエラーを招くことに繋がります。

実際ロボットの使用される現場では、それらが作業の非効率化や致命的な事故などに繋がることも考えられます。そのため、ROSでは中心の処理装置とロボットの各部分の間に制御装置を配置する形となっており、これにより中心の処理装置自体の処理を減らす事が出来ます。さらに制御装置同士が通信し合う事により、それらを元に各制御装置が各自の判断をさせることができます。

AWS RoboMakerについて

AWSでは、ロボット開発に向けたRoboMakeというサービスが提供されています。

これは、主に作成したロボットのプログラム等の主にシミュレーションや利用可能にするためのクラウドサービスです。他のAWSサービス同様フルマネージド型(導入や運用を一体的に行う仕組み)であり、あらゆるシュミレーションを行う上で必要な環境が整っております。あらゆる場面を想定したサンプルシミュレーションのアプリケーションが用意されており、機会がどのように稼働するかの仮想上のテストがより簡単に行えます。また、複数のロボットを同時にシミュレーションを行うことも可能であり、それに伴う規模に応じで自動で拡張を行うように出来ております。

AWS Robemakerでは、ROS1およびRO2向けのクラウド拡張機能が用意されており主にAmazon CloudWatch(モニタリング管理)、Amazon Rekognition(オブジェクト検出)、Amazon Kinesis(ビデオストリーミング)、Amazon Polly(テキスト読み上げ)、Amazon Lex(音声認識) Amazon S3(ファイルの保存用アップロード)といったサービスが対象となっています。これにより、開発者は新たに複雑なプログラムを開発したりすることなくロボットのアップデートやメンテナンスをすることができます。

まとめ

ロボット技術の進歩と共に開発の方法も大きく変化していっております。クラウド技術の導入などにより工程に関してもより効率的になり、情報の収集は非常に容易となっております。ROSに関しても、開発者が一から組み立てるのではなく、世界中から集められた技術をもとに目的のロボットを作成するというものになっております。AWS RoboMakerにおいてのシュミレーションに関しても、実際に機械を動かし確認する回数を最小限に抑えることができ多くのテストをクラウド上で完結することができます。

今後より自律的なロボットの実用が求められる中で、これらの技術はロボットの進歩をより加速させる事が出来ます。それにより、求められる要件や機能の幅も広くなる為より最先端の技術や方法を取り入れる事が必要になるでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です