まんがで分かる制御機器
FEATURE DETAIL
まんがで分かる制御機器測域センサ データ出力タイプ編
ROSってなに??
リケイツヨシの解説日誌 Vol.8

サンプルプログラムについて学んでみたけど、もっと簡単な方法はないの?と欲張りなスルオ君ですが…
実はございます!
そんな願いを叶えるROSとは??
このマンガはフィクションです。 実在の人物・団体・出来事とは関係ありません。
実はございます!
そんな願いを叶えるROSとは??
このマンガはフィクションです。 実在の人物・団体・出来事とは関係ありません。
ROSとは
ROS(Robot Operating System)は既存の豊富なソフトウェアを使用することで、ロボットを制御するための便利なフレームワークです。
これにより、ロボットのシステム開発が簡単になります。
また、ソフトウェアの再利用を支援することを目的に開発されており、ハードウェアの制御方法やデータを共通化し、異なるメーカーや方式のロボットを同じように扱えるよう設計されています。
なお、オペレーティングシステムと名前がついていますが、WindowsやLinuxといった一般的にOSと呼ばれるものとは違い、ソフトウェアの形式としてはOS(主にUbuntu)上で動作するアプリケーション群となっています。
これにより、ロボットのシステム開発が簡単になります。
また、ソフトウェアの再利用を支援することを目的に開発されており、ハードウェアの制御方法やデータを共通化し、異なるメーカーや方式のロボットを同じように扱えるよう設計されています。
なお、オペレーティングシステムと名前がついていますが、WindowsやLinuxといった一般的にOSと呼ばれるものとは違い、ソフトウェアの形式としてはOS(主にUbuntu)上で動作するアプリケーション群となっています。
ROSの構成

ROSでは、ソフトウェアの再利用を容易にするため、以下のような構成を持ちます。
これらの要素が上図のように関連し合い、ロボットのソフトウェアを実現します。
これらの要素が上図のように関連し合い、ロボットのソフトウェアを実現します。
要素 | 説明 | 例 |
ノード | センサデータを取得するノード、ロボットを動かすノード、経路を計画するノードなど、様々な処理をするソフトウェア | urg_node、hokuyo3d、move_base等 |
メッセージ | ノード間でやり取りするデータ | LaserScan、PointCloud、Twist等 |
トピック | ノード間でのメッセージのやり取りを仲介する場所 | scan、hokuyo_cloud、cmd_vel等 |
マスター | ノード同士がお互いを見つけたりする際の仲介役 | roscore |
測域センサで使えるノード
測域センサで使用できるノードとしては以下のようなノードがあります。
これらのノードを使用することで、これまではお客様側で実装が必要であったセンサとの通信やアプリケーションとのインタフェース部分の設計などのアプリ設定をする必要がなくなるため、簡単に測域センサを使用でき、より本質的な機能の開発に専念することができます。
※これらのノードは当社が開発したものではありませんが、第3者によって開発されたノードが多くのユーザが使用できるように公開されているのもROSの特徴です。
これらのノードを使用することで、これまではお客様側で実装が必要であったセンサとの通信やアプリケーションとのインタフェース部分の設計などのアプリ設定をする必要がなくなるため、簡単に測域センサを使用でき、より本質的な機能の開発に専念することができます。
センサの種類 | 使用できるノード | 出力するメッセージ |
2Dセンサ(SCIP) | urg_node(http://wiki.ros.org/urg_node) | LaserScan |
3Dセンサ(VSSP) | hokuyo3d(http://wiki.ros.org/hokuyo3d) | PointCloud, PointCloud2, Imu |
ROS2について
ROSを使うと様々なメリットがありますが、実際にはセキュリティ面や、要求スペック、リアルタイム性等の問題があるため、主に研究用途等が多く、製品への応用ができるのは限定的となっていました。ROS側ではそれらの問題を解決することにより、これまでの研究用途だけではなく製品にも応用することを視野に入れたROS2を開発しています。
以下に現在のROSとROS2の特徴の比較表を示します。
[近藤豊 (2019)ROS2ではじめよう 次世代ロボットプログラミング 技術評論社]より引用
北陽電機でも測域センサ用のROS2ノードを用意しています。
詳しくはURG NetworkサイトのROS2に関する記事をご覧ください。▼
URG Network / Wiki / urg_node2 (sourceforge.net)
ROS2対応urg_node2の入手はこちらから▼
https://github.com/UrgNetworks/urg_node2
以下に現在のROSとROS2の特徴の比較表を示します。
現在のROS | ROS2 | |
ロボットの同時利用数 | 単体ロボットのみ対応 | 複数台ロボットにも対応 |
計算資源 | 高性能計算機のみ対応 | 組み込みプラットフォームにも対応 |
リアルタイム制御 | 特別な作法に従う必要あり | 一般的なプロセス内・プロセス間通信 |
ネットワーク品質 | 高品質のみ対応 | 欠損や遅延も許容 |
プログラミング形式 | 最大限にユーザの自由 | 柔軟性を残しながらも形式を固定 |
アプリケーション | 研究、学術用途のみ対応 | 製品化にも対応 |
北陽電機でも測域センサ用のROS2ノードを用意しています。
詳しくはURG NetworkサイトのROS2に関する記事をご覧ください。▼
URG Network / Wiki / urg_node2 (sourceforge.net)
ROS2対応urg_node2の入手はこちらから▼
https://github.com/UrgNetworks/urg_node2
まとめ
ROSを使えば、サンプルプログラムより、ロボットの制御をより簡単にできることがわかりました。
これならスルオ君も距離を取得できそうですね!
測域センサで使えるノードを是非ご活用ください!
これならスルオ君も距離を取得できそうですね!
測域センサで使えるノードを是非ご活用ください!
北陽電機のセンサ
北陽電機では産業用のセンサを開発しており、機械を制御するために様々な用途で利用されています。
様々なセンサや用途があるので、詳しく調べるなら北陽電機のホームページを確認してください。
もっと詳しい内容を知りたいなら
様々なセンサや用途があるので、詳しく調べるなら北陽電機のホームページを確認してください。
もっと詳しい内容を知りたいなら
前回のまんがを見る
製品カテゴリ
- 測域センサ
- 光電・レーザーセンサ
- 鉄鋼・クレーンセンサ
- 応用システム
- 光データ伝送装置
- カウンタ
- 自動ドア
製品特集情報
