[Documentation] [TitleIndex] [WordIndex

  Show EOL distros: 

ros_control: control_toolbox | controller_interface | controller_manager | controller_manager_msgs | controller_manager_tests | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions, hardware_interfaces and the control_toolbox.

ros_control: control_toolbox | controller_interface | controller_manager | controller_manager_msgs | controller_manager_tests | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions, hardware_interfaces and the control_toolbox.

ros_control: control_toolbox | controller_interface | controller_manager | controller_manager_msgs | controller_manager_tests | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions, hardware_interfaces and the control_toolbox.

ros_control: combined_robot_hw | combined_robot_hw_tests | controller_interface | controller_manager | controller_manager_msgs | controller_manager_tests | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces.

ros_control: combined_robot_hw | combined_robot_hw_tests | controller_interface | controller_manager | controller_manager_msgs | controller_manager_tests | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces.

ros_control: combined_robot_hw | controller_interface | controller_manager | controller_manager_msgs | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces.

ros_control: combined_robot_hw | controller_interface | controller_manager | controller_manager_msgs | hardware_interface | joint_limits_interface | realtime_tools | transmission_interface

Package Summary

A set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces.

Overview

ros_control パッケージは単なる PR2 を越えて、すべてのロボットにコントローラーを一般的にするためにpr2_mechanism / japaneseパッケージを書き換えたものです。

ros control Diagram source in ros_control/documentation

ros_control パッケージはあなたのロボットのアクチュエータのエンコーダと入力の集合ポイントをJoint Stateデータ入力として受け入れます. それは一般的な制御ループフィードバックメカニズム、典型的に PID コントローラー、アウトプット(典型的にEffort)をアクチュエータに送り、制御するために使います。ros_control はJointのポジション、Effortなどの1対1のマッピングを持っていない物理的なメカニズムに関していっそう複雑になります、しかしこれらのシナリオは Transmission を使って説明されます。

プロジェクトのハイレベルの概観は、ROScon 2014 でのros_control: An overviewという題目で話されています。(slides, video).

追加のドキュメンテーションは Github Wiki で利用可能です。

Controllers

この執筆の時点でのros_controllersを含む利用可能なコントローラプラグインのリスト。あなたはもちろんあなた自身のものを作ることができ、このリストに限定されません:

Hardware Interfaces

この執筆の時点での利用可能なハードウェアインタフェース(ハードウェアリソースマネージャーを経由して)のリスト。あなたはもちろんあなた自身のものを作ることができて、そしてこのリストに限定されません:

Transmissions

Transmissionは、Effort/Flow変数を変換するそれらの積であるPowerが一定のままであるような、制御パイプラインの要素です。Transmissionインタフェース実装は、Powerを維持し、 Effort/Flow変数を出力のEffort/Flow変数にマップします。

機械的なTransmissionは、Powerを維持している変換です、すなわち

P_in        = P_out

F_in x V_in = F_out x V_out

ここで P, F と V はPower,力および速度を表します. より一般的には, PowerはEffort(例えば 力, 電圧) と Flow変数 (例えば 速度, 電流) の積です. シンプルな機械的な1:nの減速機は:

effort map: F_joint = F_actuator * n

flow map:   V_joint = V_actuator / n

以上から、Powerは入力と出力の間で一定であることを見ることができます。補足的にはWikipedia link (最初の部分で十分でしょう).

Transmission URDF Format

Transmission Interfaces

Transmissionに特定されるコード(ロボットに特定されない)がTransmissionタイプで共有された同一のインタフェースの下で双方向性の(アクチュエータ <-> Joint)のEffortとFlowマップを実装しています。 これはハードウェアインタフェース非依存です。この執筆の時点での利用可能なTransmissionタイプのリスト:

Usages:

Example

こちらを参照

Joint Limits

joint_limits_interface は異なった種類の Joint コマンド上に Joint 制限、 URDF と rosparam のような共通のフォーマットからそれらを代入する方法と制限を適用する方法を表現するデータ構造を持っています。

joint_limits_interface はそれ自身コントローラーによって使われません(それは HardwareInterfaceを実行しません)しかし代わりにコントローラーは、ロボット抽象化のwrite()メソッド(あるいは等価なもの)で、更新された後操作します。制限を強いることはコントローラーによって設定されたコマンドを上書き するでしょう、それは別の生データバッファを操作するものではありません。

Specification

パラメータ仕様は、MoveItと使われているものと同じです。加えて、躍度とEffort制限を解釈します。

Joint limits interface

Example

こちらを参照

Examples

Install

Ubuntu では、debian パッケージ(推奨)から ros_control をインストールすることができます:

sudo apt-get install ros-$ROS_DISTRO-ros-control ros-$ROS_DISTRO-ros-controllers

あるいは Ubuntu と他のプラットホームでは、ソースからのインストールを簡単にするために rosinstall のファイルが提供されています:

cd CATKIN_WORKSPACE/src
wstool init
wstool merge https://raw.github.com/ros-controls/ros_control/$ROS_DISTRO-devel/ros_control.rosinstall
wstool update
cd ..
rosdep install --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
catkin_make

Ideas and future perspectives

まったくロードマップはなく、このページ は ros_control により良くいっそう複雑な制御機構を乗せ、現在の実装の欠点に対処することを見込む議論と提案される解決策を含んでいます。

ros_control の課題と機能を議論することに対して、ROS Control SIG がメーリングリストと共に存在します。あなたも参加して、ros_control の開発の手伝いをすることを奨励します!


2024-12-21 14:59