はじめに
この記事ではROSについての研究を1年間行った私によるROSの説明を致します。
間違った情報もある可能性があるためご注意ください。
万が一間違った情報があっても報告していただかなくて結構です。
ROSとは
ROSとはRobot Operating Systemの略称であり、ロボット開発のための様々なライリブラリを提供しているオープンソースソフトウェアである。
もっと簡単に言うとロボットを開発するときに便利なツールが無料で提供されている。
ROSのほとんどの研究がこれを理由に用いています。
私はルンバしか使わなかったので1つも利用しませんでしたが...
動作環境
OSはROSのバージョンによって変わります。
indigoならubuntu14.04
kineticならubuntu16.04
とにかくubuntuです。
windowsでは動作しません。
言語は基本的に**pythonかC++**です
高性能なロボットを動かすならC++
それ以外ならpythonっていうイメージがありますね。
基本的な通信方法
通信方法について説明する前に用語の説明
- Publish:いわゆるメッセージの送信。出版する。
- Subscribe:いわゆるメッセージを受信する。購読する。
- Node:プログラム、もしくはソフトウェア
- Topic:通信の仲介役
- Master:通信の監視役、管理者
ROSでは非同期通信というものが行われています。
非同期通信における一番重要なものがTopicです。
ノードからノードへメッセージを送信したい場合、必ずこのTopicを介して行われます。
つまり、
1.ノードがメッセージをTopicにPublishする
2.Topicの更新が行われる
3.ノードに登録されているTopicが更新されるとSubscribeする
という流れです。
おわりに
かなり大雑把にROSについて説明しました。
次回はROSのメリットについて説明しようと思っています。
当然ですけど何にでもROSを使えばいいってわけじゃないんです。
あいつにも苦手なことはたくさんあるんです。