JTF2016手順メモ
Sun Jul 24 11:28:38 JST 2016 (modified: Sun Oct 1 10:50:27 JST 2017)
views: 1550, keywords: この記事は最終更新日が7年以上前のものです。
ROS(robot operating system)を触ってみよう
千葉工業大学 上田隆一
本日の内容
あり合わせ or 他人の資料ですみません orz
- ROSとは(このスライド)
- あとは他のドキュメントに基づいて進めるところまで
ROSとは
- 2007年からWillow Garage社にて公式に 開発が始まったロボット用ミドルウェア
- 主にUbuntu上で動く
ROSの主たる機能
- 機能はいくつかあるが、主な機能はプロセス間通信
- ロボットのプログラムを一つのプロセスに押し込まないで、複数のプロセスに分けて処理させる
- 例: モータに指令を出すプログラム、センサの値を読むプログラム、センサからモータの出力を決めるプログラム・・・
プロセスを分ける メリット・デメリット
- 各プログラムで違う言語が使える
- 例: モータの制御はC++で高速化、行動の場合分けはPythonで楽する
- 別の言語で書かれたプログラムを連結しやすい
- コンポーネント化しやすい
- プロセス間のリアルタイム性は保証されない
- これはしょうがない
- 一貫性を保つのがむずかしくなる
- 各プログラムのインタフェースはどうするのだろうか?
型の導入
- ROSは、プロセス間通信に「型」を持ち込んでいる
- 異なった原語でも型をつけてデータを渡せるようにすることで、整合性が保たれるようになっている。
- 以上の仕掛けで、ロボットの世界ではROSの仕組みでつながり合えるオープンソースが出揃うことになった
- ロボットでなくてもセンサやアクチュエータの制御に便利なので本日紹介
導入例
- http://opensource-robotics.tokyo.jp/?p=480
- http://www.honda.co.jp/news/2016/c160712.html
- 千葉工大RoboCup@homeチーム(CIT Brains @home)