ロボット開発概要

ROS 1/2やHW選定、四駆・アーム型ロボットについて

ROS とは? (ROS 1/2共通)

•Robot Operating Systemの略 (OSと名が付くが、実際には主にLinux上に載るミドルウェアである)
•ロボットを制御するための仕組み
•開発ツールやライブラリーが含まれている
•オープンソースのソフトウェア・プラットフォーム
•Linux系OS上を中心に動く
•世界中の人が使用している
•開発言語: C++、Python等
•RTミドルウェア(RTM)との比較:
•RTMは、Winでも動くが、国内団体が開発したものが多い
•RTMはGUIでの開発だが、ROSはCUIが基本である
→ 世界展開は、ROS程でない (英語のドキュメントやチュートリアルが少ないため)

ROS 1に含まれる内容

  • 通信
  • 各種ツール
    • catkin (ビルドシステム)
    • rviz (ロボットの情報を3次元に可視化する)
    • ROSbag (ROS メッセージ データを保存するためのファイル形式)
    • ROSlaunch (複数のROSノードをまとめて起動/停止するためのツール)
    • Gazebo (オープンソースの2D/3Dロボット・シミュレーター)

ROS 通信モデル

トピック通信 (単体)

トピック通信 (複数)

サービス通信

アクション通信

比較

種類 特徴 用途
トピック通信 連続データ
多対多通信可能
センサーデータ
ロボット呼び出し状態
サービス通信 短時間処理 単純呼び出し
状態把握
アクション通信 複雑
長時間動作
ロボット処理実行