Без кейворда
「Robot Operating System」ですね。「OS」という名前になっていますが、コンピュータのOSとはイメージが違うかもしれません。
近年、ロボット開発の現場ではROS(Robot Operating System)が広く利用されるようになりました。しかし、ロボット開発に携わっていない人にとっては、まだまだ認知度の低いものです。
そこで本記事では ROSとその構成要素について解説 します。さらに、複数台のロボットに対応可能な ROS2 やROSの 事例 についても紹介しています。
- ROSとは?ロボット開発プラットフォームだった!
- ROSはオープンソースなので誰でも利用可能!
- ROS利用者は年々増加!
- 【ROSの構成要素】plumbing(通信)
- 【ROSの構成要素】tools(ツール群)
- 【ROSの構成要素】capabilities(機能群)
- 【ROSの構成要素】ecosystem(エコシステム)
- スクラッチ開発
- DDS採用
- マスターレス化
- リアルタイム制御
- 複数台のロボットに対応
- ROSを用いてロボットに文字を書かせる
- ROSによるブロック取り出し制御
ROSとは?ロボット開発プラットフォームだった!
ROSとは?
ROS(Robot Operating System)は、 オープンソース のロボット制御ソフトウェアおよびロボット開発の基盤となるサービスのこと。ROSはオープンソースなのでプログラムは無償で公開されていて、複製・改造・再配布が可能です。
つまり、 ROSはロボット開発ツールやライブラリが含まれているプラットフォーム と言っても良いでしょう。
ROSはオープンソースなので誰でも利用可能!ROSがオープンソースなのは、 ロボットソフトウェアの共同開発を世界規模で推進する ことを目的としているからです。
ただし、ROSを管理しているのは開発したWillow Garageではなく、非営利団体Open Source Robotics Foundation(オープンソース・ロボティクス財団・OSRF)です。日本国内では トヨタ社 などがOSRFを支援しています。
各ロボットメーカーもROSを利用することができるので、開発コストや 開発時間の短縮 が可能です。
ROS利用者は年々増加!ROSは年々利用者が増加しています。その理由はROSがオープンソースというだけではありません。実は コミュニティ活性化 に注力しているという理由もあります。
ダウンロード数が伸びている要因として考えられるのがコミュニティです。日本国内でも 『ROS Japan User Group』 などのコミュニティやワークショップなどがあり、困ったときには助け合えるというメリットがあります。
ROSを構成する4つの要素
- plumbing(通信)
- tools(ツール群)
- capabilities(機能群)
- ecosystem(エコシステム)
ROSは 分散システム を採用しています。分散システムはロボットの処理に向いているとされているシステムです。分散システムではノード間の通信が必要となるので、 出版購読型(publish/subscribe)のメッセージ通信基盤を採用 。これにより、容易にシステムの構築が可能となりました。
【ROSの構成要素】tools(ツール群)ROSは分散コンピューティングシステムに関する下記のような ツール を提供しています。
- 設定ツール
- 起動ツール
- 監視ツール
- ビルドツール
- 動作環境シミュレータ
- デバッグツール
- 可視化ツール
- ログ取得ツール
- テストツール
- 停止ツール
などの機能を ロボットに実装するライブラリ を提供。特に下記の
- Navigation Stack
- MoveIt
ライブラリはロボットの有用な機能がまとめられていることから、ROSの 2大パッケージ と呼ばれています。
【ROSの構成要素】ecosystem(エコシステム)- ros.org:大量のROSパッケージを取得し学習できるワンストップサービス
- ROS Wiki:ROSのチュートリアル
- ROS Answers:ROSについての質問
- ROS Dicourse:ROSについての議論
- RIScon(ROScon JP):年1回のイベント
また、2020年のROSconは「ROS World 2020」と名称を変更してオンラインで開催されました。
ROS2とは?新たに実装された機能を紹介
そのような時代の流れから、ROSもROS2へと進化しています。元々、ROSは 学術研究 から開発が始まりましたが、現在は 商用利用 が主な目的。したがって、 ROS自体も商用利用へとシフトチェンジしなければなりません。 それがROS2です。
- スクラッチ開発
- DDS採用
- マスターレス化
- リアルタイム制御
- 複数台のロボットに対応
従来のROSは商用利用をするには品質的に難しい状況でした。しかし、スクラッチ開発(1からオリジナルのシステムを開発する)によって、 商用利用が可能な品質の製品開発ができる ようになっています。
DDS採用ROS2では 通信ミドルウェアとしてDDS(Data Distribution Service)を採用 しています。
マスターレス化従来のROSでは、 マスターに接続 して他のノードを参照するという方式を採用していました。しかし、マスターが単一障害点になるので、ROS2では マスターレス化 を採用。ドメインIDで区別するという方式に変更しました。
リアルタイム制御従来のROSではリアルタイム制御は特別な仕組みにのみ対応していました。しかし、 ROS2ではノードプログラミングでのリアルタイム制御に対応 。これにより、一般的なプロセス内で対応することができるようになりました。
さらに、ROS2では リアルタイムOS(RTOS)との連携 もできるように設計されています。
複数台のロボットに対応ROSを使用したロボットの事例
- ロボットに文字を書かせる
- ブロック取り出し制御
こちらの動画はペンを使って文字を書く動作を行うROSの事例です。文字を書くという動作は簡単に思えますが、実際は非常に 複雑な計算が必要 となります。では、ROSを使用すればどのようになるのでしょうか。
モーションキャプチャ によって人が文字を書くのと同じようにロボットが動作します。ROSによって、従来のティーチングとは全く異なるアプローチが可能です。
ROSによるブロック取り出し制御ROSについてのまとめ
本記事ではロボット開発に欠かせない ROS(Robot Operating System) について詳しく紹介しました。それでは、もう一度記事を振り返ってみましょう。
ROSとは ロボット開発ツールやライブラリが含まれているプラットフォーム 。オープンソースのロボット制御ソフトウェアおよびロボット開発の基盤となるサービスのことです。
ROSを利用することで 開発時間の短縮 が可能な点が最大のメリットでしょう。
- plumbing(通信)
- tools(ツール群)
- capabilities(機能群)
- ecosystem(エコシステム)
また、現在は商用利用を目的とした ROS2 も開発され、広く利用されています。
ロボット導入のお問い合わせは製造DX.comまで
無料で、有料級の限定コンテンツを配信中!メールマガジン「製造DX.com-Plus」の登録はこちらから
製造DX.comでは、製造現場の生産性向上に役立つ先進的な情報を発信するメールマガジン「製造DX.com-Plus」を配信しています。メールマガジン読者限定の情報を配信しておりますので、ぜひご登録ください!
運営会社について
関連記事
最新トレンド 2021.7.9 注目を集めている物流用ドローンとは?メリットや企業の取り組みを解説! 最新トレンド 2022.7.26 飲食店におけるDXとは?DXに取り組むメリットや導入事例を紹介 最新トレンド 2022.3.14 【事例紹介】AGV導入で得られる3つのメリットと実現できること 最新トレンド 2024.3.3 【製造業に革命をもたらすカスタムGPT】現場改善やロボットプログラミングもGPTsで効率化- #ChatGPT
- #生成AI