diff --git a/foxy/.buildinfo b/foxy/.buildinfo index f9b2f698181..27b3c884c25 100644 --- a/foxy/.buildinfo +++ b/foxy/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: fb424dfdfbf367d3a6b1bf2b02065ecf +config: 8c13c0abfc9eab5a0317d9d49375ded4 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree b/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree index 70cd20e7d40..0e6206b72d9 100644 Binary files a/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree and b/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree differ diff --git a/foxy/.doctrees/doc/contributing/contributing.doctree b/foxy/.doctrees/doc/contributing/contributing.doctree index 95efa29c9d5..6a0b5ba0b78 100644 Binary files a/foxy/.doctrees/doc/contributing/contributing.doctree and b/foxy/.doctrees/doc/contributing/contributing.doctree differ diff --git a/foxy/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree b/foxy/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree index d996ef30523..9d0071b5ac0 100644 Binary files a/foxy/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree and b/foxy/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree differ diff --git a/foxy/.doctrees/doc/getting_started/getting_started.doctree b/foxy/.doctrees/doc/getting_started/getting_started.doctree index 3e8ac004384..36dde32b6d1 100644 Binary files a/foxy/.doctrees/doc/getting_started/getting_started.doctree and b/foxy/.doctrees/doc/getting_started/getting_started.doctree differ diff --git a/foxy/.doctrees/doc/project_ideas.doctree b/foxy/.doctrees/doc/project_ideas.doctree index c111a6cad23..d6ae7834aca 100644 Binary files a/foxy/.doctrees/doc/project_ideas.doctree and b/foxy/.doctrees/doc/project_ideas.doctree differ diff --git a/foxy/.doctrees/doc/resources/resources.doctree b/foxy/.doctrees/doc/resources/resources.doctree index bb141f58318..e48f94e1e0f 100644 Binary files a/foxy/.doctrees/doc/resources/resources.doctree and b/foxy/.doctrees/doc/resources/resources.doctree differ diff --git a/foxy/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree index fb773fa9b28..1ba60561e29 100644 Binary files a/foxy/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_control/doc/index.doctree b/foxy/.doctrees/doc/ros2_control/doc/index.doctree index da402b93c73..acb0c4278f5 100644 Binary files a/foxy/.doctrees/doc/ros2_control/doc/index.doctree and b/foxy/.doctrees/doc/ros2_control/doc/index.doctree differ diff --git a/foxy/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree b/foxy/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree index fbf4317e1fb..09e3ad580c3 100644 Binary files a/foxy/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree and b/foxy/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index b6e1989ee56..8cd932e7f94 100644 Binary files a/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree b/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree index 94305ec58bf..4862a81a1cb 100644 Binary files a/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree and b/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree index 13ed6297c79..76fe5c2d59b 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index 1eeb152e36b..6c98893f20b 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree and b/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree b/foxy/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree index 07bd968cf1e..cdb9e85e369 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree and b/foxy/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree index fe7c27e78bb..c90f3828ddc 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree index 9fcc0dd6545..a651d8e7201 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index cb8fc81a9e4..6c30ddf00dc 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree index afc142a310f..ee0de4c6828 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree index c16e1407bea..f45a2289858 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/joint_state_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/joint_state_controller/doc/userdoc.doctree index d6fd549a1de..429d45f310b 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/joint_state_controller/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/joint_state_controller/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree index 202521d9c4e..915d809600d 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index 038c22a5990..6f5ed5cc24e 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree index 811ad860421..c3d72bda0ce 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree index 60a162f4c07..831ae374550 100644 Binary files a/foxy/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree and b/foxy/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree differ diff --git a/foxy/.doctrees/environment.pickle b/foxy/.doctrees/environment.pickle index f670574832e..6cd291445e1 100644 Binary files a/foxy/.doctrees/environment.pickle and b/foxy/.doctrees/environment.pickle differ diff --git a/foxy/.doctrees/index.doctree b/foxy/.doctrees/index.doctree index 6d4c261c5eb..40e39b4ca54 100644 Binary files a/foxy/.doctrees/index.doctree and b/foxy/.doctrees/index.doctree differ diff --git a/foxy/index.html b/foxy/index.html index 8d52e037ab9..896bf2085c7 100644 --- a/foxy/index.html +++ b/foxy/index.html @@ -152,7 +152,7 @@

Development Organisation and Communication -

Built on 2023-12-29 at 05:31 GMT

+

Built on 2023-12-30 at 05:31 GMT

diff --git a/foxy/searchindex.js b/foxy/searchindex.js index 692ccbe6491..08ca0947efe 100644 --- a/foxy/searchindex.js +++ b/foxy/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/getting_started/getting_started", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_controller/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/tricycle_controller/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/getting_started/getting_started.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_controller/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/tricycle_controller/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "index.rst"], "titles": ["Acknowledgements", "Pull Requests", "Differences to ros_control (ROS1)", "Getting Started", "Project Ideas for GSoC 2022", "Resources", "Controller Manager", "API Documentation", "Fake Components", "Command Line Interface", "Demos", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "joint_state_controller", "joint_trajectory_controller", "position_controllers", "tricycle_controller", "velocity_controllers", "Welcome to the ros2_control documentation - Foxy!"], "terms": {"The": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 15, 17, 18, 19, 20, 22, 24], "project": [0, 1, 24], "ha": [0, 1, 3, 4, 5, 13, 19], "receiv": [0, 2], "major": 0, "contribut": [0, 1, 5], "from": [0, 1, 2, 3, 5, 6, 8, 9, 11, 13, 15, 17, 20, 22, 24], "follow": [0, 1, 2, 3, 4, 8, 9, 10, 12, 13, 20, 24], "compani": [0, 5], "institut": 0, "support": [0, 2, 3, 5, 8, 9, 13, 20, 24], "rosin": 0, "ro": [0, 1, 3, 4, 6, 8, 9, 19, 24], "industri": [0, 3, 4], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 4, 10, 11, 15, 22, 24], "softwar": [0, 3], "compon": [0, 5, 6, 7, 11, 15, 17, 22, 24], "more": [0, 1, 2, 3, 4, 8, 13], "inform": [0, 8, 13, 24], "http": [0, 1, 3, 4], "eu": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24], "fund": 0, "european": 0, "union": 0, "": [0, 1, 3, 4, 5, 10, 13, 24], "horizon": 0, "2020": 0, "research": [0, 5], "innov": 0, "programm": 0, "under": [0, 5, 13, 24], "grant": 0, "agreement": 0, "732287": 0, "first": [1, 2, 13], "thank": 1, "you": [1, 2, 3, 5, 8, 13, 24], "consid": [1, 9], "ros2_control": [1, 3, 5, 6, 8, 10, 13], "As": [1, 13], "an": [1, 2, 3, 4, 5, 8, 9, 13, 20], "open": [1, 20], "sourc": [1, 3, 5, 13], "we": [1, 4, 5], "welcom": 1, "each": [1, 3, 4], "contributor": 1, "regardless": 1, "background": 1, "experi": 1, "To": [1, 2, 3, 24], "reduc": [1, 8], "entropi": 1, "univers": [1, 4, 5], "our": [1, 3, 4, 5], "vivid": 1, "collabor": 1, "environ": [1, 3, 5], "have": [1, 2, 3, 4, 8, 10, 13, 20], "set": [1, 2, 4, 5, 8, 9, 14, 16, 18, 20, 21, 23], "up": [1, 5, 10], "some": [1, 4, 5, 20, 24], "standard": [1, 2, 3, 4, 5, 9, 12, 15], "method": [1, 2, 3, 13], "requir": [1, 2, 3, 4, 13], "ar": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 17, 18, 20, 22, 24], "limit": [1, 4, 5, 11, 22], "scope": 1, "your": [1, 2, 5, 8, 13, 24], "pr": 1, "should": [1, 2, 4, 5, 6, 9, 10, 13, 18], "do": [1, 2, 3, 4, 5, 6, 13, 20], "one": [1, 2, 3, 4, 5, 13, 15, 24], "thing": 1, "avoid": [1, 13], "ad": [1, 4, 8, 13, 18], "random": 1, "fix": [1, 2], "put": [1, 13], "those": [1, 2, 3, 4, 8, 13, 15, 20], "separ": [1, 2, 3], "give": [1, 3, 5, 24], "descript": [1, 2, 5, 13], "titl": 1, "add": [1, 2, 13], "short": [1, 13, 24], "summari": [1, 5, 24], "make": [1, 2, 4, 5, 24], "sure": [1, 4, 24], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24], "green": 1, "don": 1, "t": [1, 6], "afraid": 1, "review": [1, 4, 24], "maintain": [1, 3, 4], "new": [1, 5, 12, 20, 24], "code": [1, 2, 4, 5, 13], "test": [1, 4, 8, 10, 13], "If": [1, 2, 3, 6, 13, 15, 20, 24], "function": [1, 2, 3, 4, 5], "alwai": 1, "exercis": 1, "serv": [1, 3, 4], "live": [1, 5], "origin": [1, 5], "intent": [1, 8], "section": [1, 2, 13], "target": [1, 12, 13, 20], "also": [1, 2, 3, 4, 5, 13], "read": [1, 2, 3, 13, 18, 20], "understand": [1, 4], "how": [1, 4, 5, 13], "handl": [1, 2, 4, 5, 20], "organ": [1, 5, 24], "guidelin": 1, "especi": [1, 2], "applic": [1, 3, 5, 6], "ros2_control_demo": [1, 3, 24], "pleas": [1, 24], "keep": [1, 13], "mind": [1, 13], "work": [1, 4, 5, 11, 13, 14, 16, 20, 21, 22, 23, 24], "fork": 1, "when": [1, 2, 3, 4, 8, 9, 13, 20], "submit": [1, 5], "That": [1, 13], "wai": [1, 13, 15], "main": [1, 3, 4, 5, 6, 8, 13, 24], "repo": [1, 3], "clean": [1, 4], "featur": [1, 5, 8, 24], "branch": 1, "all": [1, 2, 3, 4, 5, 8, 10, 13, 18, 20], "check": [1, 2, 3, 4, 8, 10, 13, 20, 24], "satisfi": 1, "befor": [1, 2, 6, 13], "thei": [1, 2, 3, 4, 5, 8, 9, 12, 13, 20], "can": [1, 2, 3, 4, 5, 7, 8, 13, 15, 19, 20, 24], "must": 1, "approv": 1, "two": [1, 3, 4, 6, 13, 15], "explicitli": 1, "onli": [1, 2, 3, 4, 5, 6, 9, 13, 15, 20], "except": 1, "other": [1, 2, 3, 5, 13], "activ": [1, 2, 3, 9], "where": [1, 4, 13], "back": 1, "traceabl": 1, "discuss": [1, 5, 24], "suffici": [1, 15], "note": [1, 3, 10, 24], "still": [1, 2, 3], "encourag": 1, "help": [1, 6, 9, 13], "u": [1, 6], "increas": 1, "pace": 1, "veri": [1, 2, 4], "like": [1, 2, 3, 4, 5], "find": 1, "issu": [1, 4, 24], "nobodi": 1, "els": 1, "see": [1, 2, 3, 10, 13, 15, 17, 20], "squash": 1, "commit": 1, "messag": [1, 4, 6, 9, 15, 17, 18, 20, 24], "comment": 1, "fixup": 1, "linter": 1, "us": [1, 2, 3, 4, 5, 8, 9, 12, 14, 15, 16, 17, 18, 19, 21, 23, 24], "pre": 1, "correct": [1, 2, 20], "header": [1, 13], "address": [1, 4], "similar": [1, 3, 5], "mean": [1, 2, 8], "result": [1, 3], "exactli": 1, "1": [1, 3, 4, 5, 8, 13], "cowboi": 1, "style": [1, 13], "over": [1, 4], "weekend": 1, "It": [1, 2, 3, 4, 6, 15], "doesn": 1, "matter": 1, "trivial": [1, 8], "peopl": 1, "chanc": 1, "proper": [1, 20], "Be": 1, "awar": 1, "impact": 1, "time": [1, 2, 4, 5, 6, 8, 9, 11, 13, 15, 20, 24], "proport": 1, "its": [1, 2, 3, 4, 5, 15, 17], "ping": 1, "them": [1, 3, 4, 6, 13, 18], "necessari": 1, "repeatedli": 1, "start": [1, 2, 5, 6, 9, 10, 13, 20, 24], "part": [1, 4, 5, 13], "For": [1, 3, 4, 5, 8, 13, 20], "detail": [1, 2, 3, 8, 13], "thoma": 1, "cokela": 1, "info": 1, "tutori": 1, "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 5, 6, 9, 12, 13, 15, 17], "develop": [1, 5, 8, 10, 13], "stabl": [1, 4], "against": 1, "accept": [1, 13, 14, 16, 21, 23], "api": [1, 4], "abi": 1, "chang": [1, 2, 3, 5, 9, 13, 20], "e": [1, 2, 3, 4, 5, 8, 13, 14, 15, 16, 18, 20, 21, 23, 24], "name": [1, 2, 3, 5, 6, 8, 9, 13, 15, 17, 18, 20], "convent": 1, "master": [1, 3, 4], "semi": 1, "binari": 1, "good": [1, 4], "same": [1, 3, 4, 15], "build": [1, 13], "dai": 1, "2": [1, 3, 5, 8], "ros_distro": 1, "g": [1, 2, 3, 4, 5, 8, 13, 14, 16, 18, 21, 23, 24], "foxi": [1, 3, 5], "galact": 1, "releas": [1, 3, 5], "version": [1, 4], "non": [1, 5, 15], "brake": 1, "distribut": [1, 24], "three": [1, 2, 3, 13], "stage": 1, "current": [1, 4, 9, 20], "futur": [1, 5], "compat": [1, 2, 5], "framework": [1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 24], "packag": [1, 2, 3, 10, 13, 15, 17, 19, 20, 24], "show": [1, 3, 5, 6, 9], "direct": [1, 2, 4, 13], "local": [1, 18], "possibl": [1, 3, 4, 13, 20], "core": 1, "immedi": 1, "depend": [1, 3, 13, 20], "fail": 1, "expect": [1, 4, 20], "after": [1, 11, 13, 22], "next": [1, 20], "sync": 1, "abl": 1, "potenti": [1, 13], "mid": 1, "robothw": 2, "rigid": 2, "ani": [2, 3, 5, 13], "imposs": 2, "extend": [2, 3, 4, 13], "exist": [2, 3, 4, 6, 13], "addit": [2, 4], "sensor": [2, 3, 4, 8, 12], "actuat": [2, 3, 4, 8], "tool": [2, 4, 5], "without": [2, 3, 8, 13], "combinedrobothardwar": 2, "drawback": [2, 24], "solut": [2, 5], "optim": 2, "combin": [2, 8, 20], "extern": [2, 3, 4, 8], "defin": [2, 3, 4, 8, 12, 13, 15, 17, 18, 20], "system": [2, 3, 4, 5, 10, 20, 24], "composit": [2, 5], "basic": [2, 3, 4, 5, 13], "physic": [2, 3, 8], "cell": [2, 15], "surround": 2, "describ": [2, 3], "multi": [2, 3, 4, 5, 10], "gripper": [2, 3, 8], "out": [2, 11], "box": 2, "allow": [2, 20], "joint": [2, 3, 5, 11, 12, 13, 14, 16, 18, 21, 23, 24], "posit": [2, 3, 5, 6, 9, 10, 12, 14, 16, 20, 21, 23], "veloc": [2, 3, 5, 10, 12, 20, 21, 23], "effort": [2, 12, 14, 16, 20], "hard": [2, 4], "data": [2, 3, 4, 8, 19], "approach": 2, "doe": [2, 13, 20], "enforc": [2, 20], "string": [2, 8, 13, 18, 20], "ensur": [2, 5], "constant": 2, "hardware_interfac": [2, 3, 8, 12, 13], "In": [2, 3, 4, 5, 13], "had": 2, "request": [2, 24], "itself": 2, "took": 2, "care": [2, 4, 13], "regist": 2, "resourc": 2, "conflict": [2, 3, 4], "resourcemanag": 2, "take": [2, 4, 13, 18], "state": [2, 3, 4, 5, 8, 9, 10, 12, 13, 15, 18, 20], "avail": [2, 3, 5, 9, 10, 13, 18, 20], "enabl": [2, 3, 4, 5, 10, 15], "anymor": 2, "controllermanag": 2, "implement": [2, 3, 4, 5, 8, 10, 11, 12, 13, 20, 22, 24], "systeminterfac": [2, 8], "granular": 2, "sensorinterfac": 2, "actuatorinterfac": 2, "abov": [2, 20], "choos": 2, "suitabl": [2, 5], "strategi": [2, 20], "decid": 2, "which": [2, 3, 4, 5, 9, 11, 13, 15, 17, 20, 22], "case": [2, 4, 5, 13, 20, 24], "mayb": 2, "sens": [2, 3, 15], "multipl": [2, 3, 20], "constructor": [2, 13], "initi": [2, 13], "variabl": [2, 4, 13], "need": [2, 3, 4, 5, 13], "commun": [2, 3, 4, 5], "default": [2, 3, 8, 18, 20], "configur": [2, 3, 4, 5, 6, 9, 10, 13, 20], "paramet": [2, 5, 13], "pars": [2, 7], "urdf": 2, "snippet": 2, "hardwareinfo": 2, "here": [2, 7, 13, 19, 20], "cross": 2, "valu": [2, 3, 4, 8, 13, 20], "export_": 2, "_interfac": 2, "joint_a2": 2, "extract": [2, 11, 22], "sensibl": 2, "stop": [2, 5, 6, 9, 10, 11, 22], "usual": [2, 8, 13], "includ": [2, 4, 9, 13], "command": [2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 16, 20, 21, 23, 24], "safe": [2, 11, 13, 20, 22], "interrupt": [2, 6], "stream": [2, 5], "write": [2, 3, 4, 5, 12], "exchang": [2, 4], "equival": 2, "forget": 2, "pluginlib_export_class": [2, 13], "macro": [2, 3, 13], "end": [2, 3, 13, 20], "cpp": [2, 13], "file": [2, 3, 4, 5, 6, 8, 13, 20], "creat": [2, 3, 5, 8, 13], "xml": [2, 13], "librari": [2, 3, 4, 9, 13], "pluginlib": [2, 3, 13], "exampl": [2, 3, 4, 5, 8, 9, 10, 15, 20, 24], "rrbotsystempositiononlyhardwar": [2, 3], "excel": 2, "jointtrajectorycontrol": [2, 9], "real": [2, 4, 5, 8, 13, 18, 20, 24], "critic": [2, 4], "mark": 2, "controllerinterfac": [2, 3, 9, 13], "member": [2, 13], "init": [2, 13], "call": [2, 3, 13], "lifecycl": [2, 3, 5, 6], "declar": [2, 13], "state_interface_configur": [2, 13], "command_interface_configur": [2, 13], "design": [2, 3, 4, 5, 24], "updat": [2, 3, 4, 13], "manag": [2, 4, 5, 7, 9, 13, 24], "option": [2, 6, 8, 9, 13, 15, 18, 20], "on_configur": [2, 13], "on_activ": [2, 13], "on_deactiv": [2, 13], "deactiv": [2, 3], "final": [2, 5], "joint_trajectory_plugin": 2, "ros2": [3, 4, 5, 6, 9, 10, 13, 24], "instal": [3, 13], "automat": [3, 11, 22], "want": 3, "workspac": [3, 13], "folder": [3, 5, 13], "wget": 3, "raw": 3, "githubusercont": 3, "com": [3, 4], "vc": 3, "import": [3, 13, 20], "src": [3, 13], "found": [3, 7, 13, 19, 20, 24], "github": [3, 4, 7, 12, 24], "repositori": [3, 4, 7, 12, 24], "figur": 3, "cm": 3, "connect": 3, "abstract": [3, 5], "side": [3, 4, 5], "entri": [3, 13], "point": [3, 12, 13, 24], "through": [3, 4, 9, 11, 12, 13, 20, 24], "servic": [3, 4, 6], "node": [3, 6, 8, 9, 10, 13], "executor": 3, "so": [3, 13], "integr": [3, 4, 5, 8, 10, 20, 24], "custom": [3, 8, 15], "setup": [3, 4, 13], "recommend": [3, 5], "ros2_control_nod": 3, "controller_manag": [3, 4, 6, 9, 13, 20], "manual": [3, 4, 13, 24], "assum": 3, "On": 3, "load": [3, 6, 9, 10, 13], "unload": [3, 6, 9], "access": [3, 4, 5, 6, 8, 13], "match": 3, "provid": [3, 4, 5, 6, 8, 10, 12, 13, 20, 24], "report": [3, 4, 18, 24], "error": [3, 4, 13, 20], "execut": [3, 13, 20], "loop": [3, 5, 13, 20], "output": [3, 4, 5, 9, 15, 17, 20], "rm": 3, "driver": [3, 5], "re": 3, "usabl": 3, "flexibl": 3, "motor": [3, 4], "encod": 3, "deal": 3, "theori": [3, 24], "compar": [3, 4, 5], "refer": 3, "measur": [3, 8, 15], "base": [3, 5, 9, 11, 13, 22], "calcul": 3, "input": [3, 4, 5, 11, 20, 22], "visit": 3, "wikipedia": [3, 24], "object": 3, "deriv": 3, "controller_interfac": [3, 4, 9, 13, 15, 17], "export": [3, 13], "plugin": [3, 13], "forwardcommandcontrol": 3, "lifecyclenod": 3, "class": [3, 5, 9, 13], "machin": [3, 4], "document": [3, 4, 5, 8, 19], "latest": 3, "interact": [3, 5, 6, 9], "list": [3, 5, 9, 10, 12, 13, 20, 24], "definit": [3, 12, 13, 15], "srv": 3, "controller_manager_msg": 3, "while": [3, 4, 5, 10, 20], "directli": [3, 24], "line": [3, 7, 13], "via": 3, "friendli": 3, "cli": [3, 7, 9], "auto": 3, "complet": [3, 12], "rang": 3, "common": [3, 4, 12, 24], "capabl": [3, 4], "readm": 3, "md": 3, "ros2controlcli": 3, "realiz": [3, 5], "repres": 3, "dynam": [3, 13], "There": [3, 6, 13], "complex": [3, 4, 5], "dof": 3, "differ": [3, 4, 5, 14, 15, 16, 21, 23], "between": [3, 4, 19, 20], "transmiss": 3, "humanoid": 3, "hand": 3, "logic": 3, "channel": 3, "kuka": 3, "rsi": 3, "A": [3, 5, 13, 20], "relat": [3, 4, 5], "link": [3, 5], "forc": [3, 5, 9, 12], "torqu": [3, 12], "simpl": [3, 4, 5, 10, 13, 19], "valv": 3, "mandatori": [3, 15, 17, 20], "dc": 3, "arduino": 3, "board": 3, "modular": [3, 5], "independ": 3, "explan": 3, "given": [3, 20], "tag": [3, 13, 24], "chosen": 3, "structur": [3, 4, 13, 20], "track": [3, 24], "togeth": 3, "xacro": 3, "hereund": 3, "rrbot": [3, 10], "parallel": [3, 8], "effector": 3, "rrbotsystempositiononli": 3, "ros2_control_demo_hardwar": [3, 10], "param": [3, 6, 8], "example_param_write_for_sec": 3, "example_param_read_for_sec": 3, "joint1": [3, 8, 9, 10, 20], "command_interfac": [3, 20], "min": 3, "max": 3, "state_interfac": [3, 20], "joint2": [3, 9, 10, 20], "rrbotforcetorquesensor1d": 3, "forcetorquesensor1dhardwar": 3, "0": [3, 8, 18, 20], "43": 3, "tcp_fts_sensor": 3, "frame_id": [3, 15, 17], "rrbot_tcp": 3, "min_forc": 3, "100": 3, "max_forc": 3, "rrbotgripp": 3, "positionactuatorhardwar": 3, "23": 3, "3": [3, 4], "gripper_joint": 3, "50": [3, 20], "yaml": [3, 4, 20], "instead": [3, 8, 19, 20], "pure": [3, 20], "launch": [3, 6, 8, 10], "stack": [3, 5], "could": [3, 5, 13, 20], "altern": [3, 20], "script": [3, 4, 13], "skeleton": 3, "orbit": 4, "around": [4, 15, 17], "everyth": [4, 13], "goal": [4, 5, 20, 24], "long": 4, "run": [4, 5, 6, 9], "task": [4, 5, 11], "interfac": [4, 5, 6, 7, 8, 10, 12, 13, 15, 17, 24], "user": 4, "thread": 4, "protect": [4, 13], "memori": [4, 13], "buffer": [4, 24], "control_toolbox": [4, 24], "second": [4, 9, 13, 24], "frequenc": 4, "high": 4, "rate": [4, 20], "khz": 4, "variou": 4, "anoth": 4, "heartbeat": 4, "signal": 4, "sent": 4, "onc": [4, 5], "per": [4, 15], "500": 4, "hz": 4, "failur": 4, "relev": [4, 24], "draft": 4, "trigger": 4, "skill": 4, "prefer": 4, "c": [4, 6, 9, 13], "trick": 4, "mentor": 4, "benc": [4, 5], "magyar": [4, 5], "deni": [4, 5], "\u0161togl": [4, 5], "size": 4, "350": 4, "hour": 4, "difficulti": 4, "about": [4, 8, 24], "org": 4, "gener": [4, 5, 13, 20, 24], "envis": 4, "simul": [4, 8, 10], "gazebo": 4, "ignit": 4, "showcas": [4, 5], "grace": 4, "degrad": 4, "architectur": [4, 5], "roadmap": [4, 24], "place": [4, 13, 20], "gpio": 4, "mode": [4, 20], "switch": [4, 9], "movement": 4, "safeti": 4, "familiar": [4, 24], "medium": 4, "focus": [4, 5], "although": 4, "easi": 4, "therefor": [4, 13, 18, 20], "often": [4, 8, 13], "orchestr": 4, "purpos": 4, "conductor": 4, "scenario": 4, "appropri": 4, "moment": 4, "right": 4, "replac": 4, "level": [4, 5, 14, 16, 20, 21, 23], "moveit2": [4, 5], "simplecontrollermanag": 4, "form": 4, "behavior": [4, 8], "benchmark": 4, "statu": [4, 9, 20], "publish": [4, 11, 15, 17, 18, 20, 22, 24], "topic": [4, 5, 20], "format": 4, "preset": 4, "modul": 4, "specif": [4, 20], "reli": 4, "doubl": [4, 8, 20], "desir": [4, 20], "howev": [4, 6], "both": [4, 5], "improv": 4, "readabl": 4, "earlier": 4, "concept": [4, 5, 8, 10], "were": 4, "introduc": [4, 5], "essenti": 4, "group": [4, 20, 24], "instanc": 4, "imu": [4, 12], "typic": [4, 20], "9": 4, "axi": [4, 15], "aceleromet": 4, "gyroscop": 4, "compass": 4, "respect": [4, 5], "Such": 4, "struct": 4, "low": [4, 5], "profil": 4, "intern": [4, 20], "addition": [4, 24], "few": [4, 5], "pull": 4, "45": 4, "tree": 4, "semantic_compon": 4, "175": 4, "rewrit": [4, 24], "ros_control": [4, 5, 24], "rich": 4, "wa": [4, 13], "motiv": 4, "adopt": 4, "port": 4, "most": [4, 13], "quit": 4, "miss": 4, "diff_drive_control": [4, 9], "joint_trajectory_control": [4, 9], "consist": [4, 20, 24], "identifi": 4, "much": [4, 13], "303": 4, "304": 4, "stretch": 4, "realtime_tool": [4, 24], "81": 4, "302": 4, "unit": 4, "gmock": 4, "cc": 5, "BY": 5, "licens": 5, "author": 5, "either": 5, "down": 5, "below": 5, "my": 5, "company_nam": 5, "tricycl": [5, 12, 22], "control": [5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24], "event": 5, "pixel": 5, "prefac": 5, "introduct": [5, 20], "johann": 5, "plapp": 5, "toni": 5, "najjar": 5, "kernel": 5, "hardwar": [5, 6, 8, 10, 12, 13, 22, 24], "agnost": 5, "share": [5, 13], "well": [5, 9, 20], "perform": 5, "heavi": 5, "dr": 5, "stogl": 5, "consult": 5, "practition": 5, "guid": [5, 13], "top": 5, "virtual": 5, "talk": 5, "delv": 5, "deeper": 5, "what": 5, "explicit": [5, 20], "chain": 5, "emerg": 5, "handler": 5, "mock": 5, "usag": [5, 6, 9], "openli": 5, "record": 5, "fiveai": 5, "ltd": 5, "best": [5, 13], "focu": 5, "becom": 5, "util": 5, "3rd": 5, "parti": 5, "nav2": 5, "practic": 5, "tip": 5, "hot": 5, "shown": 5, "furthermor": 5, "get": [5, 24], "reus": 5, "inject": 5, "offer": [5, 6], "expos": 5, "problem": [5, 24], "manipul": [5, 20], "path": 5, "plan": [5, 24], "autonom": 5, "navig": 5, "ideal": [5, 8], "made": 5, "mobil": [5, 11, 22], "arm": 5, "extra": [5, 18], "readi": [5, 13], "power": 5, "studi": 5, "ur": 5, "With": 5, "moveit": [5, 8], "ingredi": 5, "scale": 5, "factor": 5, "teach": 5, "pendant": 5, "influenc": 5, "picknik": 5, "inc": 5, "nathan": 5, "brook": 5, "lovro": 5, "ivanov": 5, "andi": 5, "zelenak": 5, "rune": 5, "s\u00f8e": 5, "knudsen": 5, "onlin": [5, 13], "trajectori": [5, 12, 24], "admitt": 5, "One": 5, "reason": 5, "upgrad": 5, "ros1": 5, "better": 5, "realtim": [5, 11, 20, 22, 24], "contact": 5, "insert": 5, "singl": 5, "waypoint": [5, 12, 20], "mani": [5, 13], "teleoper": 5, "involv": 5, "kinemat": 5, "acceler": [5, 10, 11, 12, 20, 22], "jerk": [5, 11, 22], "obei": 5, "demo": 5, "booth": 5, "zeleank": 5, "unifi": 5, "life": 5, "cycl": 5, "go": [5, 13], "_control": 5, "wild": 5, "materi": 5, "quick": 5, "overview": 5, "layer": 5, "aka": 5, "systemcompon": 5, "forward": [5, 8, 12, 20, 24], "done": [5, 13], "look": 5, "modifi": 5, "simpli": [5, 20], "net": 5, "edit": 5, "collect": [5, 14, 16, 21, 23], "semant": [5, 15, 17], "world": [6, 8], "startup": 6, "h": [6, 9, 13, 19], "p": 6, "param_fil": 6, "controller_typ": 6, "timeout": [6, 9, 22], "controller_manager_timeout": 6, "controller_nam": [6, 9, 13], "argument": [6, 9], "exit": [6, 9], "leav": 6, "unconfigur": 6, "namespac": [6, 12, 13, 18, 20], "kill": [6, 9], "wait": [6, 9], "until": 6, "doxygen": 7, "fake": 7, "mirror": 8, "correspond": [8, 13, 24], "offlin": 8, "advantag": 8, "pipe": 8, "insid": 8, "broadcast": [8, 18, 19], "even": 8, "debug": 8, "boost": 8, "mimic": 8, "offset": [8, 20], "fake_sensor_command": 8, "boolean": [8, 18, 20], "fals": [8, 18, 20], "position_state_following_offset": 8, "custom_interface_with_following_offset": 8, "map": [8, 20], "multipli": 8, "mimick": 8, "deprec": [9, 12], "configure_control": 9, "configure_start_control": 9, "load_configure_control": 9, "load_start_control": 9, "spin": 9, "spin_tim": 9, "hidden": 9, "discoveri": 9, "appli": 9, "alreadi": [9, 13, 20], "daemon": 9, "test_controller_nam": 9, "test_control": 9, "diffdrivecontrol": 9, "joint_state_control": [9, 10], "jointstatecontrol": 9, "unclaim": [9, 10], "set_stat": 9, "reload": 9, "adjust": 9, "strict": 9, "asap": 9, "switch_timeout": 9, "templat": [10, 13, 20], "demonstr": 10, "prove": 10, "comprehens": 10, "ros2_control_demo_bringup": 10, "gui": 10, "ros2_control_test_nod": 10, "rrbot_system_multi_interfac": 10, "py": 10, "list_hardware_interfac": 10, "load_control": 10, "forward_command_controller_posit": 10, "forward_command_controller_veloc": 10, "forward_command_controller_acceler": 10, "forward_command_controller_illegal1": 10, "forward_command_controller_illegal2": 10, "set_controller_st": 10, "claim": 10, "now": [10, 13], "let": 10, "switch_control": 10, "again": 10, "inde": 10, "been": [10, 19], "differenti": [11, 12, 19, 24], "drive": [11, 12, 22, 24], "bodi": 11, "translat": [11, 22], "wheel": 11, "odometri": [11, 22], "comput": [11, 22], "feedback": [11, 20, 22], "twist": [11, 22], "x": [11, 15, 17, 22], "linear": [11, 20, 22], "z": [11, 15, 22], "angular": [11, 22], "ignor": [11, 20, 22], "space": [11, 20], "sort": [12, 13], "accord": [12, 20], "position_control": [12, 20], "hw_if_posit": 12, "velocity_control": 12, "hw_if_veloc": 12, "effort_control": 12, "hw_if_effort": 12, "interpol": [12, 20], "step": [13, 20, 24], "compil": 13, "rule": 13, "prepar": 13, "ament_cmak": 13, "easiest": 13, "search": 13, "recent": 13, "process": 13, "pkg": 13, "flag": [13, 20], "least": [13, 20], "cmakelist": 13, "txt": 13, "package_nam": 13, "hpp": 13, "visibility_control": 13, "window": 13, "copi": 13, "prefix": [13, 15, 17], "guard": 13, "ifndef": 13, "preprocessor": 13, "engin": 13, "friend": 13, "uniqu": 13, "written": 13, "snake_cas": 13, "controllernam": 13, "public": 13, "overrid": 13, "exact": 13, "vector": 13, "store": 13, "simplifi": [13, 24], "further": 13, "parent": 13, "reserv": 13, "importantli": 13, "fine": 13, "return": 13, "return_typ": 13, "ok": 13, "otherwis": 13, "individu": 13, "none": 13, "ask": 13, "full": 13, "joint_nam": [13, 20], "interface_typ": 13, "assign": 13, "opposit": 13, "empti": 13, "constraint": [13, 20], "At": 13, "close": 13, "class_list_macro": 13, "controller_name_namespac": 13, "visibl": 13, "controller_name_packag": 13, "bottom": 13, "test_load_": 13, "content": 13, "last": [13, 20], "specifi": [13, 20], "find_packag": 13, "rclcpp": 13, "rclcpp_lifecycl": 13, "directori": 13, "ament": 13, "cmake": 13, "pluginlib_export_plugin_description_fil": 13, "ament_cmake_gmock": 13, "ros2_control_test_asset": 13, "ament_add_gmock": 13, "ament_export_librari": 13, "ament_packag": 13, "test_depend": 13, "colcon": 13, "rememb": 13, "root": 13, "success": 13, "bash": 13, "enjoi": 13, "great": 13, "shell": 13, "mai": [14, 16, 21, 23], "certain": [14, 16, 21, 23], "achiev": [14, 16, 21, 23], "These": [14, 16, 21, 23], "geometry_msg": 15, "msg": [15, 17, 20], "wrenchstamp": 15, "wrapper": [15, 17], "forcetorquesensor": 15, "sensor_nam": [15, 17], "interface_nam": 15, "frame": [15, 17], "6d": 15, "ft": 15, "y": 15, "less": 15, "six": 15, "ax": 15, "example_nam": 15, "example_interfac": 15, "sensor_msg": 17, "imusensor": 17, "orient": 17, "angular_veloc": 17, "linear_acceler": 17, "joint_stat": 18, "dynamic_joint_st": 18, "use_local_top": 18, "my_state_broadcast": 18, "extra_joint": 18, "arrai": 18, "renam": 19, "joint_state_broadcast": 19, "order": 19, "true": [19, 20], "remov": 19, "turtl": 19, "reach": 20, "instant": 20, "attempt": 20, "mechan": 20, "By": 20, "spline": 20, "guarante": 20, "continu": 20, "discourag": 20, "becaus": 20, "yield": 20, "discontinu": 20, "cubic": 20, "quintic": 20, "pid": [20, 24], "similarli": 20, "eg": 20, "proxi": 20, "wrap": 20, "robust": 20, "clock": 20, "caus": 20, "queu": 20, "segment": 20, "ros__paramet": 20, "joint3": 20, "joint4": 20, "joint5": 20, "joint6": 20, "state_publish_r": 20, "action_monitor_r": 20, "20": 20, "allow_partial_joints_go": 20, "open_loop_control": 20, "stopped_velocity_toler": 20, "01": 20, "goal_tim": 20, "05": [20, 24], "03": 20, "monitor": 20, "action": 20, "control_msg": [20, 24], "followjointtrajectori": 20, "hydraul": 20, "tri": 20, "numer": 20, "nan": 20, "std": 20, "numeric_limit": 20, "quiet_nan": 20, "toler": 20, "jointtrajectori": 20, "deviat": 20, "maxim": 20, "predefin": 20, "joint_trajectori": 20, "trajectory_msg": 20, "jointtrajectorycontrollerst": 20, "follow_joint_trajectori": 20, "server": 20, "position_velocity_control": 20, "position_velocity_acceleration_control": 20, "Not": 20, "yet": 20, "feedforward": 20, "term": [20, 24], "plu": 20, "171": 20, "base_link": 22, "traction": 22, "steer": 22, "Its": 24, "oper": 24, "overcom": 24, "idea": 24, "wide": 24, "toolkit": 24, "unreleas": 24, "smooth": 24, "doc": 24, "wg": 24, "meet": 24, "everi": 24, "wednesdai": 24, "join": 24, "announc": 24, "discours": 24, "googl": 24, "propos": 24, "previou": 24, "bug": 24, "tracker": 24, "minim": 24, "reproduc": 24, "regard": 24, "etc": 24, "question": 24, "answer": 24, "2023": 24, "12": 24, "29": 24, "31": 24, "built": 24, "gmt": 24}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 10], "process": 1, "merg": 1, "write": [1, 13], "document": [1, 7, 24], "structur": [1, 2], "ci": 1, "configur": 1, "differ": 2, "ros_control": 2, "ros1": [2, 4], "hardwar": [2, 3, 4, 11, 14, 16, 18, 20, 21, 23], "class": 2, "interfac": [2, 3, 9, 11, 14, 16, 18, 20, 21, 23], "control": [2, 3, 4, 6, 12, 13, 20], "": [2, 20], "access": 2, "migrat": 2, "guid": 2, "ros2_control": [2, 4, 12, 24], "robothardwar": 2, "compon": [2, 3, 4, 8], "get": 3, "start": 3, "compil": 3, "architectur": 3, "manag": [3, 6], "resourc": [3, 5], "user": 3, "descript": 3, "urdf": 3, "run": 3, "framework": 3, "your": 3, "robot": [3, 5], "project": 4, "idea": 4, "gsoc": 4, "2022": [4, 5], "asynchron": 4, "tutori": 4, "demo": [4, 10], "mission": 4, "add": 4, "support": 4, "semant": 4, "featur": [4, 7, 11, 20, 22], "pariti": 4, "from": 4, "present": 5, "2023": 5, "02": 5, "ro": 5, "meetup": 5, "munich": 5, "5": 5, "12": 5, "industri": 5, "confer": 5, "10": 5, "roscon": 5, "06": 5, "fr": 5, "2021": 5, "world": 5, "07": 5, "weekli": 5, "13": 5, "rosdevdai": 5, "05": 5, "diagram": 5, "imag": 5, "helper": 6, "script": 6, "spawner": 6, "py": 6, "unspawn": 6, "api": 7, "core": 7, "function": 7, "concept": 7, "fake": 8, "gener": 8, "system": 8, "paramet": [8, 15, 17, 18, 20], "per": 8, "joint": [8, 20], "command": [9, 11, 18, 22], "line": 9, "list_control": 9, "list_controller_typ": 9, "list_hardware_interfac": 9, "load_control": 9, "reload_controller_librari": 9, "set_controller_st": 9, "switch_control": 9, "unload_control": 9, "organ": 10, "mode": 10, "switch": 10, "diff_drive_control": 11, "veloc": [11, 22], "type": [11, 14, 16, 18, 20, 21, 23], "other": [11, 20, 22], "nomenclatur": 12, "guidelin": 12, "best": 12, "practic": 12, "avail": 12, "broadcast": [12, 15, 17], "new": 13, "us": [13, 20], "extern": 13, "refer": 13, "effort_control": 14, "forc": 15, "torqu": 15, "sensor": [15, 17], "forward_command_control": 16, "imu": 17, "joint_state_broadcast": 18, "joint_state_control": 19, "joint_trajectory_control": 20, "trajectori": 20, "represent": 20, "detail": 20, "about": 20, "ros2": 20, "special": 20, "version": 20, "jointtrajectorycontrol": 20, "tbd": 20, "position_control": 21, "tricycle_control": 22, "velocity_control": 23, "welcom": 24, "foxi": 24, "overview": 24, "develop": 24, "organis": 24, "commun": 24}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "Getting Started": [[3, "getting-started"]], "Compiling": [[3, "compiling"]], "Architecture": [[3, "architecture"]], "Controller Manager": [[3, "controller-manager"], [6, "controller-manager"]], "Resource Manager": [[3, "resource-manager"]], "Controllers": [[3, "controllers"], [12, "id1"]], "User Interfaces": [[3, "user-interfaces"]], "Hardware Components": [[3, "hardware-components"]], "Hardware Description in URDF": [[3, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[3, "running-the-framework-for-your-robot"]], "Project Ideas for GSoC 2022": [[4, "project-ideas-for-gsoc-2022"]], "Asynchronous Control Components": [[4, "asynchronous-control-components"]], "Tutorials and Demos for ros2_control": [[4, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[4, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[4, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[4, "feature-parity-for-controllers-from-ros1"]], "Resources": [[5, "resources"]], "Presentations": [[5, "presentations"]], "2023-02 ROS Meetup Munich #5": [[5, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[5, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[5, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[5, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[5, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[5, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[5, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[5, "roscon-fr-2021"]], "Diagrams": [[5, "diagrams"]], "Images": [[5, "images"]], "Helper scripts": [[6, "helper-scripts"]], "spawner.py": [[6, "spawner-py"]], "unspawner.py": [[6, "unspawner-py"]], "API Documentation": [[7, "api-documentation"]], "Core functionalities": [[7, "core-functionalities"]], "Features": [[7, "features"]], "Concepts": [[7, "concepts"]], "Fake Components": [[8, "fake-components"]], "Generic System": [[8, "generic-system"]], "Parameters": [[8, "parameters"], [15, "parameters"], [17, "parameters"], [18, "parameters"]], "Per-joint Parameters": [[8, "per-joint-parameters"]], "Command Line Interface": [[9, "command-line-interface"]], "list_controllers": [[9, "list-controllers"]], "list_controller_types": [[9, "list-controller-types"]], "list_hardware_interfaces": [[9, "list-hardware-interfaces"]], "load_controller": [[9, "load-controller"]], "reload_controller_libraries": [[9, "reload-controller-libraries"]], "set_controller_state": [[9, "set-controller-state"]], "switch_controllers": [[9, "switch-controllers"]], "unload_controller": [[9, "unload-controller"]], "Demos": [[10, "demos"]], "Repository organization": [[10, "repository-organization"]], "Mode switching demo": [[10, "mode-switching-demo"]], "diff_drive_controller": [[11, "diff-drive-controller"]], "Velocity commands": [[11, "velocity-commands"], [22, "velocity-commands"]], "Hardware interface type": [[11, "hardware-interface-type"], [14, "hardware-interface-type"], [16, "hardware-interface-type"], [18, "hardware-interface-type"], [20, "hardware-interface-type"], [21, "hardware-interface-type"], [23, "hardware-interface-type"]], "Other features": [[11, "other-features"], [20, "other-features"], [22, "other-features"]], "ros2_controllers": [[12, "ros2-controllers"]], "Nomenclature": [[12, "nomenclature"]], "Guidelines and Best Practices": [[12, "guidelines-and-best-practices"]], "Available Controllers": [[12, "available-controllers"]], "Available Broadcasters": [[12, "available-broadcasters"]], "Writing a new controller": [[13, "writing-a-new-controller"]], "Useful External References": [[13, "useful-external-references"]], "effort_controllers": [[14, "effort-controllers"]], "Force Torque Sensor Broadcaster": [[15, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[16, "forward-command-controller"]], "IMU Sensor Broadcaster": [[17, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[18, "joint-state-broadcaster"]], "Commands": [[18, "commands"]], "joint_state_controller": [[19, "joint-state-controller"]], "joint_trajectory_controller": [[20, "joint-trajectory-controller"]], "Trajectory representation": [[20, "trajectory-representation"]], "Using Joint Trajectory Controller(s)": [[20, "using-joint-trajectory-controller-s"]], "Details about parameters": [[20, "details-about-parameters"]], "ROS2 interface of the controller": [[20, "ros2-interface-of-the-controller"]], "Specialized versions of JointTrajectoryController (TBD in \u2026)": [[20, "specialized-versions-of-jointtrajectorycontroller-tbd-in"]], "position_controllers": [[21, "position-controllers"]], "tricycle_controller": [[22, "tricycle-controller"]], "velocity_controllers": [[23, "velocity-controllers"]], "Welcome to the ros2_control documentation - Foxy!": [[24, "welcome-to-the-ros2-control-documentation-foxy"]], "Overview": [[24, "overview"]], "Development Organisation and Communication": [[24, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/getting_started/getting_started", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_controller/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/tricycle_controller/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/getting_started/getting_started.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_controller/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/tricycle_controller/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "index.rst"], "titles": ["Acknowledgements", "Pull Requests", "Differences to ros_control (ROS1)", "Getting Started", "Project Ideas for GSoC 2022", "Resources", "Controller Manager", "API Documentation", "Fake Components", "Command Line Interface", "Demos", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "joint_state_controller", "joint_trajectory_controller", "position_controllers", "tricycle_controller", "velocity_controllers", "Welcome to the ros2_control documentation - Foxy!"], "terms": {"The": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 15, 17, 18, 19, 20, 22, 24], "project": [0, 1, 24], "ha": [0, 1, 3, 4, 5, 13, 19], "receiv": [0, 2], "major": 0, "contribut": [0, 1, 5], "from": [0, 1, 2, 3, 5, 6, 8, 9, 11, 13, 15, 17, 20, 22, 24], "follow": [0, 1, 2, 3, 4, 8, 9, 10, 12, 13, 20, 24], "compani": [0, 5], "institut": 0, "support": [0, 2, 3, 5, 8, 9, 13, 20, 24], "rosin": 0, "ro": [0, 1, 3, 4, 6, 8, 9, 19, 24], "industri": [0, 3, 4], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 4, 10, 11, 15, 22, 24], "softwar": [0, 3], "compon": [0, 5, 6, 7, 11, 15, 17, 22, 24], "more": [0, 1, 2, 3, 4, 8, 13], "inform": [0, 8, 13, 24], "http": [0, 1, 3, 4], "eu": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24], "fund": 0, "european": 0, "union": 0, "": [0, 1, 3, 4, 5, 10, 13, 24], "horizon": 0, "2020": 0, "research": [0, 5], "innov": 0, "programm": 0, "under": [0, 5, 13, 24], "grant": 0, "agreement": 0, "732287": 0, "first": [1, 2, 13], "thank": 1, "you": [1, 2, 3, 5, 8, 13, 24], "consid": [1, 9], "ros2_control": [1, 3, 5, 6, 8, 10, 13], "As": [1, 13], "an": [1, 2, 3, 4, 5, 8, 9, 13, 20], "open": [1, 20], "sourc": [1, 3, 5, 13], "we": [1, 4, 5], "welcom": 1, "each": [1, 3, 4], "contributor": 1, "regardless": 1, "background": 1, "experi": 1, "To": [1, 2, 3, 24], "reduc": [1, 8], "entropi": 1, "univers": [1, 4, 5], "our": [1, 3, 4, 5], "vivid": 1, "collabor": 1, "environ": [1, 3, 5], "have": [1, 2, 3, 4, 8, 10, 13, 20], "set": [1, 2, 4, 5, 8, 9, 14, 16, 18, 20, 21, 23], "up": [1, 5, 10], "some": [1, 4, 5, 20, 24], "standard": [1, 2, 3, 4, 5, 9, 12, 15], "method": [1, 2, 3, 13], "requir": [1, 2, 3, 4, 13], "ar": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 17, 18, 20, 22, 24], "limit": [1, 4, 5, 11, 22], "scope": 1, "your": [1, 2, 5, 8, 13, 24], "pr": 1, "should": [1, 2, 4, 5, 6, 9, 10, 13, 18], "do": [1, 2, 3, 4, 5, 6, 13, 20], "one": [1, 2, 3, 4, 5, 13, 15, 24], "thing": 1, "avoid": [1, 13], "ad": [1, 4, 8, 13, 18], "random": 1, "fix": [1, 2], "put": [1, 13], "those": [1, 2, 3, 4, 8, 13, 15, 20], "separ": [1, 2, 3], "give": [1, 3, 5, 24], "descript": [1, 2, 5, 13], "titl": 1, "add": [1, 2, 13], "short": [1, 13, 24], "summari": [1, 5, 24], "make": [1, 2, 4, 5, 24], "sure": [1, 4, 24], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24], "green": 1, "don": 1, "t": [1, 6], "afraid": 1, "review": [1, 4, 24], "maintain": [1, 3, 4], "new": [1, 5, 12, 20, 24], "code": [1, 2, 4, 5, 13], "test": [1, 4, 8, 10, 13], "If": [1, 2, 3, 6, 13, 15, 20, 24], "function": [1, 2, 3, 4, 5], "alwai": 1, "exercis": 1, "serv": [1, 3, 4], "live": [1, 5], "origin": [1, 5], "intent": [1, 8], "section": [1, 2, 13], "target": [1, 12, 13, 20], "also": [1, 2, 3, 4, 5, 13], "read": [1, 2, 3, 13, 18, 20], "understand": [1, 4], "how": [1, 4, 5, 13], "handl": [1, 2, 4, 5, 20], "organ": [1, 5, 24], "guidelin": 1, "especi": [1, 2], "applic": [1, 3, 5, 6], "ros2_control_demo": [1, 3, 24], "pleas": [1, 24], "keep": [1, 13], "mind": [1, 13], "work": [1, 4, 5, 11, 13, 14, 16, 20, 21, 22, 23, 24], "fork": 1, "when": [1, 2, 3, 4, 8, 9, 13, 20], "submit": [1, 5], "That": [1, 13], "wai": [1, 13, 15], "main": [1, 3, 4, 5, 6, 8, 13, 24], "repo": [1, 3], "clean": [1, 4], "featur": [1, 5, 8, 24], "branch": 1, "all": [1, 2, 3, 4, 5, 8, 10, 13, 18, 20], "check": [1, 2, 3, 4, 8, 10, 13, 20, 24], "satisfi": 1, "befor": [1, 2, 6, 13], "thei": [1, 2, 3, 4, 5, 8, 9, 12, 13, 20], "can": [1, 2, 3, 4, 5, 7, 8, 13, 15, 19, 20, 24], "must": 1, "approv": 1, "two": [1, 3, 4, 6, 13, 15], "explicitli": 1, "onli": [1, 2, 3, 4, 5, 6, 9, 13, 15, 20], "except": 1, "other": [1, 2, 3, 5, 13], "activ": [1, 2, 3, 9], "where": [1, 4, 13], "back": 1, "traceabl": 1, "discuss": [1, 5, 24], "suffici": [1, 15], "note": [1, 3, 10, 24], "still": [1, 2, 3], "encourag": 1, "help": [1, 6, 9, 13], "u": [1, 6], "increas": 1, "pace": 1, "veri": [1, 2, 4], "like": [1, 2, 3, 4, 5], "find": 1, "issu": [1, 4, 24], "nobodi": 1, "els": 1, "see": [1, 2, 3, 10, 13, 15, 17, 20], "squash": 1, "commit": 1, "messag": [1, 4, 6, 9, 15, 17, 18, 20, 24], "comment": 1, "fixup": 1, "linter": 1, "us": [1, 2, 3, 4, 5, 8, 9, 12, 14, 15, 16, 17, 18, 19, 21, 23, 24], "pre": 1, "correct": [1, 2, 20], "header": [1, 13], "address": [1, 4], "similar": [1, 3, 5], "mean": [1, 2, 8], "result": [1, 3], "exactli": 1, "1": [1, 3, 4, 5, 8, 13], "cowboi": 1, "style": [1, 13], "over": [1, 4], "weekend": 1, "It": [1, 2, 3, 4, 6, 15], "doesn": 1, "matter": 1, "trivial": [1, 8], "peopl": 1, "chanc": 1, "proper": [1, 20], "Be": 1, "awar": 1, "impact": 1, "time": [1, 2, 4, 5, 6, 8, 9, 11, 13, 15, 20, 24], "proport": 1, "its": [1, 2, 3, 4, 5, 15, 17], "ping": 1, "them": [1, 3, 4, 6, 13, 18], "necessari": 1, "repeatedli": 1, "start": [1, 2, 5, 6, 9, 10, 13, 20, 24], "part": [1, 4, 5, 13], "For": [1, 3, 4, 5, 8, 13, 20], "detail": [1, 2, 3, 8, 13], "thoma": 1, "cokela": 1, "info": 1, "tutori": 1, "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 5, 6, 9, 12, 13, 15, 17], "develop": [1, 5, 8, 10, 13], "stabl": [1, 4], "against": 1, "accept": [1, 13, 14, 16, 21, 23], "api": [1, 4], "abi": 1, "chang": [1, 2, 3, 5, 9, 13, 20], "e": [1, 2, 3, 4, 5, 8, 13, 14, 15, 16, 18, 20, 21, 23, 24], "name": [1, 2, 3, 5, 6, 8, 9, 13, 15, 17, 18, 20], "convent": 1, "master": [1, 3, 4], "semi": 1, "binari": 1, "good": [1, 4], "same": [1, 3, 4, 15], "build": [1, 13], "dai": 1, "2": [1, 3, 5, 8], "ros_distro": 1, "g": [1, 2, 3, 4, 5, 8, 13, 14, 16, 18, 21, 23, 24], "foxi": [1, 3, 5], "galact": 1, "releas": [1, 3, 5], "version": [1, 4], "non": [1, 5, 15], "brake": 1, "distribut": [1, 24], "three": [1, 2, 3, 13], "stage": 1, "current": [1, 4, 9, 20], "futur": [1, 5], "compat": [1, 2, 5], "framework": [1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 24], "packag": [1, 2, 3, 10, 13, 15, 17, 19, 20, 24], "show": [1, 3, 5, 6, 9], "direct": [1, 2, 4, 13], "local": [1, 18], "possibl": [1, 3, 4, 13, 20], "core": 1, "immedi": 1, "depend": [1, 3, 13, 20], "fail": 1, "expect": [1, 4, 20], "after": [1, 11, 13, 22], "next": [1, 20], "sync": 1, "abl": 1, "potenti": [1, 13], "mid": 1, "robothw": 2, "rigid": 2, "ani": [2, 3, 5, 13], "imposs": 2, "extend": [2, 3, 4, 13], "exist": [2, 3, 4, 6, 13], "addit": [2, 4], "sensor": [2, 3, 4, 8, 12], "actuat": [2, 3, 4, 8], "tool": [2, 4, 5], "without": [2, 3, 8, 13], "combinedrobothardwar": 2, "drawback": [2, 24], "solut": [2, 5], "optim": 2, "combin": [2, 8, 20], "extern": [2, 3, 4, 8], "defin": [2, 3, 4, 8, 12, 13, 15, 17, 18, 20], "system": [2, 3, 4, 5, 10, 20, 24], "composit": [2, 5], "basic": [2, 3, 4, 5, 13], "physic": [2, 3, 8], "cell": [2, 15], "surround": 2, "describ": [2, 3], "multi": [2, 3, 4, 5, 10], "gripper": [2, 3, 8], "out": [2, 11], "box": 2, "allow": [2, 20], "joint": [2, 3, 5, 11, 12, 13, 14, 16, 18, 21, 23, 24], "posit": [2, 3, 5, 6, 9, 10, 12, 14, 16, 20, 21, 23], "veloc": [2, 3, 5, 10, 12, 20, 21, 23], "effort": [2, 12, 14, 16, 20], "hard": [2, 4], "data": [2, 3, 4, 8, 19], "approach": 2, "doe": [2, 13, 20], "enforc": [2, 20], "string": [2, 8, 13, 18, 20], "ensur": [2, 5], "constant": 2, "hardware_interfac": [2, 3, 8, 12, 13], "In": [2, 3, 4, 5, 13], "had": 2, "request": [2, 24], "itself": 2, "took": 2, "care": [2, 4, 13], "regist": 2, "resourc": 2, "conflict": [2, 3, 4], "resourcemanag": 2, "take": [2, 4, 13, 18], "state": [2, 3, 4, 5, 8, 9, 10, 12, 13, 15, 18, 20], "avail": [2, 3, 5, 9, 10, 13, 18, 20], "enabl": [2, 3, 4, 5, 10, 15], "anymor": 2, "controllermanag": 2, "implement": [2, 3, 4, 5, 8, 10, 11, 12, 13, 20, 22, 24], "systeminterfac": [2, 8], "granular": 2, "sensorinterfac": 2, "actuatorinterfac": 2, "abov": [2, 20], "choos": 2, "suitabl": [2, 5], "strategi": [2, 20], "decid": 2, "which": [2, 3, 4, 5, 9, 11, 13, 15, 17, 20, 22], "case": [2, 4, 5, 13, 20, 24], "mayb": 2, "sens": [2, 3, 15], "multipl": [2, 3, 20], "constructor": [2, 13], "initi": [2, 13], "variabl": [2, 4, 13], "need": [2, 3, 4, 5, 13], "commun": [2, 3, 4, 5], "default": [2, 3, 8, 18, 20], "configur": [2, 3, 4, 5, 6, 9, 10, 13, 20], "paramet": [2, 5, 13], "pars": [2, 7], "urdf": 2, "snippet": 2, "hardwareinfo": 2, "here": [2, 7, 13, 19, 20], "cross": 2, "valu": [2, 3, 4, 8, 13, 20], "export_": 2, "_interfac": 2, "joint_a2": 2, "extract": [2, 11, 22], "sensibl": 2, "stop": [2, 5, 6, 9, 10, 11, 22], "usual": [2, 8, 13], "includ": [2, 4, 9, 13], "command": [2, 3, 4, 5, 7, 8, 10, 12, 13, 14, 16, 20, 21, 23, 24], "safe": [2, 11, 13, 20, 22], "interrupt": [2, 6], "stream": [2, 5], "write": [2, 3, 4, 5, 12], "exchang": [2, 4], "equival": 2, "forget": 2, "pluginlib_export_class": [2, 13], "macro": [2, 3, 13], "end": [2, 3, 13, 20], "cpp": [2, 13], "file": [2, 3, 4, 5, 6, 8, 13, 20], "creat": [2, 3, 5, 8, 13], "xml": [2, 13], "librari": [2, 3, 4, 9, 13], "pluginlib": [2, 3, 13], "exampl": [2, 3, 4, 5, 8, 9, 10, 15, 20, 24], "rrbotsystempositiononlyhardwar": [2, 3], "excel": 2, "jointtrajectorycontrol": [2, 9], "real": [2, 4, 5, 8, 13, 18, 20, 24], "critic": [2, 4], "mark": 2, "controllerinterfac": [2, 3, 9, 13], "member": [2, 13], "init": [2, 13], "call": [2, 3, 13], "lifecycl": [2, 3, 5, 6], "declar": [2, 13], "state_interface_configur": [2, 13], "command_interface_configur": [2, 13], "design": [2, 3, 4, 5, 24], "updat": [2, 3, 4, 13], "manag": [2, 4, 5, 7, 9, 13, 24], "option": [2, 6, 8, 9, 13, 15, 18, 20], "on_configur": [2, 13], "on_activ": [2, 13], "on_deactiv": [2, 13], "deactiv": [2, 3], "final": [2, 5], "joint_trajectory_plugin": 2, "ros2": [3, 4, 5, 6, 9, 10, 13, 24], "instal": [3, 13], "automat": [3, 11, 22], "want": 3, "workspac": [3, 13], "folder": [3, 5, 13], "wget": 3, "raw": 3, "githubusercont": 3, "com": [3, 4], "vc": 3, "import": [3, 13, 20], "src": [3, 13], "found": [3, 7, 13, 19, 20, 24], "github": [3, 4, 7, 12, 24], "repositori": [3, 4, 7, 12, 24], "figur": 3, "cm": 3, "connect": 3, "abstract": [3, 5], "side": [3, 4, 5], "entri": [3, 13], "point": [3, 12, 13, 24], "through": [3, 4, 9, 11, 12, 13, 20, 24], "servic": [3, 4, 6], "node": [3, 6, 8, 9, 10, 13], "executor": 3, "so": [3, 13], "integr": [3, 4, 5, 8, 10, 20, 24], "custom": [3, 8, 15], "setup": [3, 4, 13], "recommend": [3, 5], "ros2_control_nod": 3, "controller_manag": [3, 4, 6, 9, 13, 20], "manual": [3, 4, 13, 24], "assum": 3, "On": 3, "load": [3, 6, 9, 10, 13], "unload": [3, 6, 9], "access": [3, 4, 5, 6, 8, 13], "match": 3, "provid": [3, 4, 5, 6, 8, 10, 12, 13, 20, 24], "report": [3, 4, 18, 24], "error": [3, 4, 13, 20], "execut": [3, 13, 20], "loop": [3, 5, 13, 20], "output": [3, 4, 5, 9, 15, 17, 20], "rm": 3, "driver": [3, 5], "re": 3, "usabl": 3, "flexibl": 3, "motor": [3, 4], "encod": 3, "deal": 3, "theori": [3, 24], "compar": [3, 4, 5], "refer": 3, "measur": [3, 8, 15], "base": [3, 5, 9, 11, 13, 22], "calcul": 3, "input": [3, 4, 5, 11, 20, 22], "visit": 3, "wikipedia": [3, 24], "object": 3, "deriv": 3, "controller_interfac": [3, 4, 9, 13, 15, 17], "export": [3, 13], "plugin": [3, 13], "forwardcommandcontrol": 3, "lifecyclenod": 3, "class": [3, 5, 9, 13], "machin": [3, 4], "document": [3, 4, 5, 8, 19], "latest": 3, "interact": [3, 5, 6, 9], "list": [3, 5, 9, 10, 12, 13, 20, 24], "definit": [3, 12, 13, 15], "srv": 3, "controller_manager_msg": 3, "while": [3, 4, 5, 10, 20], "directli": [3, 24], "line": [3, 7, 13], "via": 3, "friendli": 3, "cli": [3, 7, 9], "auto": 3, "complet": [3, 12], "rang": 3, "common": [3, 4, 12, 24], "capabl": [3, 4], "readm": 3, "md": 3, "ros2controlcli": 3, "realiz": [3, 5], "repres": 3, "dynam": [3, 13], "There": [3, 6, 13], "complex": [3, 4, 5], "dof": 3, "differ": [3, 4, 5, 14, 15, 16, 21, 23], "between": [3, 4, 19, 20], "transmiss": 3, "humanoid": 3, "hand": 3, "logic": 3, "channel": 3, "kuka": 3, "rsi": 3, "A": [3, 5, 13, 20], "relat": [3, 4, 5], "link": [3, 5], "forc": [3, 5, 9, 12], "torqu": [3, 12], "simpl": [3, 4, 5, 10, 13, 19], "valv": 3, "mandatori": [3, 15, 17, 20], "dc": 3, "arduino": 3, "board": 3, "modular": [3, 5], "independ": 3, "explan": 3, "given": [3, 20], "tag": [3, 13, 24], "chosen": 3, "structur": [3, 4, 13, 20], "track": [3, 24], "togeth": 3, "xacro": 3, "hereund": 3, "rrbot": [3, 10], "parallel": [3, 8], "effector": 3, "rrbotsystempositiononli": 3, "ros2_control_demo_hardwar": [3, 10], "param": [3, 6, 8], "example_param_write_for_sec": 3, "example_param_read_for_sec": 3, "joint1": [3, 8, 9, 10, 20], "command_interfac": [3, 20], "min": 3, "max": 3, "state_interfac": [3, 20], "joint2": [3, 9, 10, 20], "rrbotforcetorquesensor1d": 3, "forcetorquesensor1dhardwar": 3, "0": [3, 8, 18, 20], "43": 3, "tcp_fts_sensor": 3, "frame_id": [3, 15, 17], "rrbot_tcp": 3, "min_forc": 3, "100": 3, "max_forc": 3, "rrbotgripp": 3, "positionactuatorhardwar": 3, "23": 3, "3": [3, 4], "gripper_joint": 3, "50": [3, 20], "yaml": [3, 4, 20], "instead": [3, 8, 19, 20], "pure": [3, 20], "launch": [3, 6, 8, 10], "stack": [3, 5], "could": [3, 5, 13, 20], "altern": [3, 20], "script": [3, 4, 13], "skeleton": 3, "orbit": 4, "around": [4, 15, 17], "everyth": [4, 13], "goal": [4, 5, 20, 24], "long": 4, "run": [4, 5, 6, 9], "task": [4, 5, 11], "interfac": [4, 5, 6, 7, 8, 10, 12, 13, 15, 17, 24], "user": 4, "thread": 4, "protect": [4, 13], "memori": [4, 13], "buffer": [4, 24], "control_toolbox": [4, 24], "second": [4, 9, 13, 24], "frequenc": 4, "high": 4, "rate": [4, 20], "khz": 4, "variou": 4, "anoth": 4, "heartbeat": 4, "signal": 4, "sent": 4, "onc": [4, 5], "per": [4, 15], "500": 4, "hz": 4, "failur": 4, "relev": [4, 24], "draft": 4, "trigger": 4, "skill": 4, "prefer": 4, "c": [4, 6, 9, 13], "trick": 4, "mentor": 4, "benc": [4, 5], "magyar": [4, 5], "deni": [4, 5], "\u0161togl": [4, 5], "size": 4, "350": 4, "hour": 4, "difficulti": 4, "about": [4, 8, 24], "org": 4, "gener": [4, 5, 13, 20, 24], "envis": 4, "simul": [4, 8, 10], "gazebo": 4, "ignit": 4, "showcas": [4, 5], "grace": 4, "degrad": 4, "architectur": [4, 5], "roadmap": [4, 24], "place": [4, 13, 20], "gpio": 4, "mode": [4, 20], "switch": [4, 9], "movement": 4, "safeti": 4, "familiar": [4, 24], "medium": 4, "focus": [4, 5], "although": 4, "easi": 4, "therefor": [4, 13, 18, 20], "often": [4, 8, 13], "orchestr": 4, "purpos": 4, "conductor": 4, "scenario": 4, "appropri": 4, "moment": 4, "right": 4, "replac": 4, "level": [4, 5, 14, 16, 20, 21, 23], "moveit2": [4, 5], "simplecontrollermanag": 4, "form": 4, "behavior": [4, 8], "benchmark": 4, "statu": [4, 9, 20], "publish": [4, 11, 15, 17, 18, 20, 22, 24], "topic": [4, 5, 20], "format": 4, "preset": 4, "modul": 4, "specif": [4, 20], "reli": 4, "doubl": [4, 8, 20], "desir": [4, 20], "howev": [4, 6], "both": [4, 5], "improv": 4, "readabl": 4, "earlier": 4, "concept": [4, 5, 8, 10], "were": 4, "introduc": [4, 5], "essenti": 4, "group": [4, 20, 24], "instanc": 4, "imu": [4, 12], "typic": [4, 20], "9": 4, "axi": [4, 15], "aceleromet": 4, "gyroscop": 4, "compass": 4, "respect": [4, 5], "Such": 4, "struct": 4, "low": [4, 5], "profil": 4, "intern": [4, 20], "addition": [4, 24], "few": [4, 5], "pull": 4, "45": 4, "tree": 4, "semantic_compon": 4, "175": 4, "rewrit": [4, 24], "ros_control": [4, 5, 24], "rich": 4, "wa": [4, 13], "motiv": 4, "adopt": 4, "port": 4, "most": [4, 13], "quit": 4, "miss": 4, "diff_drive_control": [4, 9], "joint_trajectory_control": [4, 9], "consist": [4, 20, 24], "identifi": 4, "much": [4, 13], "303": 4, "304": 4, "stretch": 4, "realtime_tool": [4, 24], "81": 4, "302": 4, "unit": 4, "gmock": 4, "cc": 5, "BY": 5, "licens": 5, "author": 5, "either": 5, "down": 5, "below": 5, "my": 5, "company_nam": 5, "tricycl": [5, 12, 22], "control": [5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24], "event": 5, "pixel": 5, "prefac": 5, "introduct": [5, 20], "johann": 5, "plapp": 5, "toni": 5, "najjar": 5, "kernel": 5, "hardwar": [5, 6, 8, 10, 12, 13, 22, 24], "agnost": 5, "share": [5, 13], "well": [5, 9, 20], "perform": 5, "heavi": 5, "dr": 5, "stogl": 5, "consult": 5, "practition": 5, "guid": [5, 13], "top": 5, "virtual": 5, "talk": 5, "delv": 5, "deeper": 5, "what": 5, "explicit": [5, 20], "chain": 5, "emerg": 5, "handler": 5, "mock": 5, "usag": [5, 6, 9], "openli": 5, "record": 5, "fiveai": 5, "ltd": 5, "best": [5, 13], "focu": 5, "becom": 5, "util": 5, "3rd": 5, "parti": 5, "nav2": 5, "practic": 5, "tip": 5, "hot": 5, "shown": 5, "furthermor": 5, "get": [5, 24], "reus": 5, "inject": 5, "offer": [5, 6], "expos": 5, "problem": [5, 24], "manipul": [5, 20], "path": 5, "plan": [5, 24], "autonom": 5, "navig": 5, "ideal": [5, 8], "made": 5, "mobil": [5, 11, 22], "arm": 5, "extra": [5, 18], "readi": [5, 13], "power": 5, "studi": 5, "ur": 5, "With": 5, "moveit": [5, 8], "ingredi": 5, "scale": 5, "factor": 5, "teach": 5, "pendant": 5, "influenc": 5, "picknik": 5, "inc": 5, "nathan": 5, "brook": 5, "lovro": 5, "ivanov": 5, "andi": 5, "zelenak": 5, "rune": 5, "s\u00f8e": 5, "knudsen": 5, "onlin": [5, 13], "trajectori": [5, 12, 24], "admitt": 5, "One": 5, "reason": 5, "upgrad": 5, "ros1": 5, "better": 5, "realtim": [5, 11, 20, 22, 24], "contact": 5, "insert": 5, "singl": 5, "waypoint": [5, 12, 20], "mani": [5, 13], "teleoper": 5, "involv": 5, "kinemat": 5, "acceler": [5, 10, 11, 12, 20, 22], "jerk": [5, 11, 22], "obei": 5, "demo": 5, "booth": 5, "zeleank": 5, "unifi": 5, "life": 5, "cycl": 5, "go": [5, 13], "_control": 5, "wild": 5, "materi": 5, "quick": 5, "overview": 5, "layer": 5, "aka": 5, "systemcompon": 5, "forward": [5, 8, 12, 20, 24], "done": [5, 13], "look": 5, "modifi": 5, "simpli": [5, 20], "net": 5, "edit": 5, "collect": [5, 14, 16, 21, 23], "semant": [5, 15, 17], "world": [6, 8], "startup": 6, "h": [6, 9, 13, 19], "p": 6, "param_fil": 6, "controller_typ": 6, "timeout": [6, 9, 22], "controller_manager_timeout": 6, "controller_nam": [6, 9, 13], "argument": [6, 9], "exit": [6, 9], "leav": 6, "unconfigur": 6, "namespac": [6, 12, 13, 18, 20], "kill": [6, 9], "wait": [6, 9], "until": 6, "doxygen": 7, "fake": 7, "mirror": 8, "correspond": [8, 13, 24], "offlin": 8, "advantag": 8, "pipe": 8, "insid": 8, "broadcast": [8, 18, 19], "even": 8, "debug": 8, "boost": 8, "mimic": 8, "offset": [8, 20], "fake_sensor_command": 8, "boolean": [8, 18, 20], "fals": [8, 18, 20], "position_state_following_offset": 8, "custom_interface_with_following_offset": 8, "map": [8, 20], "multipli": 8, "mimick": 8, "deprec": [9, 12], "configure_control": 9, "configure_start_control": 9, "load_configure_control": 9, "load_start_control": 9, "spin": 9, "spin_tim": 9, "hidden": 9, "discoveri": 9, "appli": 9, "alreadi": [9, 13, 20], "daemon": 9, "test_controller_nam": 9, "test_control": 9, "diffdrivecontrol": 9, "joint_state_control": [9, 10], "jointstatecontrol": 9, "unclaim": [9, 10], "set_stat": 9, "reload": 9, "adjust": 9, "strict": 9, "asap": 9, "switch_timeout": 9, "templat": [10, 13, 20], "demonstr": 10, "prove": 10, "comprehens": 10, "ros2_control_demo_bringup": 10, "gui": 10, "ros2_control_test_nod": 10, "rrbot_system_multi_interfac": 10, "py": 10, "list_hardware_interfac": 10, "load_control": 10, "forward_command_controller_posit": 10, "forward_command_controller_veloc": 10, "forward_command_controller_acceler": 10, "forward_command_controller_illegal1": 10, "forward_command_controller_illegal2": 10, "set_controller_st": 10, "claim": 10, "now": [10, 13], "let": 10, "switch_control": 10, "again": 10, "inde": 10, "been": [10, 19], "differenti": [11, 12, 19, 24], "drive": [11, 12, 22, 24], "bodi": 11, "translat": [11, 22], "wheel": 11, "odometri": [11, 22], "comput": [11, 22], "feedback": [11, 20, 22], "twist": [11, 22], "x": [11, 15, 17, 22], "linear": [11, 20, 22], "z": [11, 15, 22], "angular": [11, 22], "ignor": [11, 20, 22], "space": [11, 20], "sort": [12, 13], "accord": [12, 20], "position_control": [12, 20], "hw_if_posit": 12, "velocity_control": 12, "hw_if_veloc": 12, "effort_control": 12, "hw_if_effort": 12, "interpol": [12, 20], "step": [13, 20, 24], "compil": 13, "rule": 13, "prepar": 13, "ament_cmak": 13, "easiest": 13, "search": 13, "recent": 13, "process": 13, "pkg": 13, "flag": [13, 20], "least": [13, 20], "cmakelist": 13, "txt": 13, "package_nam": 13, "hpp": 13, "visibility_control": 13, "window": 13, "copi": 13, "prefix": [13, 15, 17], "guard": 13, "ifndef": 13, "preprocessor": 13, "engin": 13, "friend": 13, "uniqu": 13, "written": 13, "snake_cas": 13, "controllernam": 13, "public": 13, "overrid": 13, "exact": 13, "vector": 13, "store": 13, "simplifi": [13, 24], "further": 13, "parent": 13, "reserv": 13, "importantli": 13, "fine": 13, "return": 13, "return_typ": 13, "ok": 13, "otherwis": 13, "individu": 13, "none": 13, "ask": 13, "full": 13, "joint_nam": [13, 20], "interface_typ": 13, "assign": 13, "opposit": 13, "empti": 13, "constraint": [13, 20], "At": 13, "close": 13, "class_list_macro": 13, "controller_name_namespac": 13, "visibl": 13, "controller_name_packag": 13, "bottom": 13, "test_load_": 13, "content": 13, "last": [13, 20], "specifi": [13, 20], "find_packag": 13, "rclcpp": 13, "rclcpp_lifecycl": 13, "directori": 13, "ament": 13, "cmake": 13, "pluginlib_export_plugin_description_fil": 13, "ament_cmake_gmock": 13, "ros2_control_test_asset": 13, "ament_add_gmock": 13, "ament_export_librari": 13, "ament_packag": 13, "test_depend": 13, "colcon": 13, "rememb": 13, "root": 13, "success": 13, "bash": 13, "enjoi": 13, "great": 13, "shell": 13, "mai": [14, 16, 21, 23], "certain": [14, 16, 21, 23], "achiev": [14, 16, 21, 23], "These": [14, 16, 21, 23], "geometry_msg": 15, "msg": [15, 17, 20], "wrenchstamp": 15, "wrapper": [15, 17], "forcetorquesensor": 15, "sensor_nam": [15, 17], "interface_nam": 15, "frame": [15, 17], "6d": 15, "ft": 15, "y": 15, "less": 15, "six": 15, "ax": 15, "example_nam": 15, "example_interfac": 15, "sensor_msg": 17, "imusensor": 17, "orient": 17, "angular_veloc": 17, "linear_acceler": 17, "joint_stat": 18, "dynamic_joint_st": 18, "use_local_top": 18, "my_state_broadcast": 18, "extra_joint": 18, "arrai": 18, "renam": 19, "joint_state_broadcast": 19, "order": 19, "true": [19, 20], "remov": 19, "turtl": 19, "reach": 20, "instant": 20, "attempt": 20, "mechan": 20, "By": 20, "spline": 20, "guarante": 20, "continu": 20, "discourag": 20, "becaus": 20, "yield": 20, "discontinu": 20, "cubic": 20, "quintic": 20, "pid": [20, 24], "similarli": 20, "eg": 20, "proxi": 20, "wrap": 20, "robust": 20, "clock": 20, "caus": 20, "queu": 20, "segment": 20, "ros__paramet": 20, "joint3": 20, "joint4": 20, "joint5": 20, "joint6": 20, "state_publish_r": 20, "action_monitor_r": 20, "20": 20, "allow_partial_joints_go": 20, "open_loop_control": 20, "stopped_velocity_toler": 20, "01": 20, "goal_tim": 20, "05": [20, 24], "03": 20, "monitor": 20, "action": 20, "control_msg": [20, 24], "followjointtrajectori": 20, "hydraul": 20, "tri": 20, "numer": 20, "nan": 20, "std": 20, "numeric_limit": 20, "quiet_nan": 20, "toler": 20, "jointtrajectori": 20, "deviat": 20, "maxim": 20, "predefin": 20, "joint_trajectori": 20, "trajectory_msg": 20, "jointtrajectorycontrollerst": 20, "follow_joint_trajectori": 20, "server": 20, "position_velocity_control": 20, "position_velocity_acceleration_control": 20, "Not": 20, "yet": 20, "feedforward": 20, "term": [20, 24], "plu": 20, "171": 20, "base_link": 22, "traction": 22, "steer": 22, "Its": 24, "oper": 24, "overcom": 24, "idea": 24, "wide": 24, "toolkit": 24, "unreleas": 24, "smooth": 24, "doc": 24, "wg": 24, "meet": 24, "everi": 24, "wednesdai": 24, "join": 24, "announc": 24, "discours": 24, "googl": 24, "propos": 24, "previou": 24, "bug": 24, "tracker": 24, "minim": 24, "reproduc": 24, "regard": 24, "etc": 24, "question": 24, "answer": 24, "2023": 24, "12": 24, "30": 24, "31": 24, "built": 24, "gmt": 24}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 10], "process": 1, "merg": 1, "write": [1, 13], "document": [1, 7, 24], "structur": [1, 2], "ci": 1, "configur": 1, "differ": 2, "ros_control": 2, "ros1": [2, 4], "hardwar": [2, 3, 4, 11, 14, 16, 18, 20, 21, 23], "class": 2, "interfac": [2, 3, 9, 11, 14, 16, 18, 20, 21, 23], "control": [2, 3, 4, 6, 12, 13, 20], "": [2, 20], "access": 2, "migrat": 2, "guid": 2, "ros2_control": [2, 4, 12, 24], "robothardwar": 2, "compon": [2, 3, 4, 8], "get": 3, "start": 3, "compil": 3, "architectur": 3, "manag": [3, 6], "resourc": [3, 5], "user": 3, "descript": 3, "urdf": 3, "run": 3, "framework": 3, "your": 3, "robot": [3, 5], "project": 4, "idea": 4, "gsoc": 4, "2022": [4, 5], "asynchron": 4, "tutori": 4, "demo": [4, 10], "mission": 4, "add": 4, "support": 4, "semant": 4, "featur": [4, 7, 11, 20, 22], "pariti": 4, "from": 4, "present": 5, "2023": 5, "02": 5, "ro": 5, "meetup": 5, "munich": 5, "5": 5, "12": 5, "industri": 5, "confer": 5, "10": 5, "roscon": 5, "06": 5, "fr": 5, "2021": 5, "world": 5, "07": 5, "weekli": 5, "13": 5, "rosdevdai": 5, "05": 5, "diagram": 5, "imag": 5, "helper": 6, "script": 6, "spawner": 6, "py": 6, "unspawn": 6, "api": 7, "core": 7, "function": 7, "concept": 7, "fake": 8, "gener": 8, "system": 8, "paramet": [8, 15, 17, 18, 20], "per": 8, "joint": [8, 20], "command": [9, 11, 18, 22], "line": 9, "list_control": 9, "list_controller_typ": 9, "list_hardware_interfac": 9, "load_control": 9, "reload_controller_librari": 9, "set_controller_st": 9, "switch_control": 9, "unload_control": 9, "organ": 10, "mode": 10, "switch": 10, "diff_drive_control": 11, "veloc": [11, 22], "type": [11, 14, 16, 18, 20, 21, 23], "other": [11, 20, 22], "nomenclatur": 12, "guidelin": 12, "best": 12, "practic": 12, "avail": 12, "broadcast": [12, 15, 17], "new": 13, "us": [13, 20], "extern": 13, "refer": 13, "effort_control": 14, "forc": 15, "torqu": 15, "sensor": [15, 17], "forward_command_control": 16, "imu": 17, "joint_state_broadcast": 18, "joint_state_control": 19, "joint_trajectory_control": 20, "trajectori": 20, "represent": 20, "detail": 20, "about": 20, "ros2": 20, "special": 20, "version": 20, "jointtrajectorycontrol": 20, "tbd": 20, "position_control": 21, "tricycle_control": 22, "velocity_control": 23, "welcom": 24, "foxi": 24, "overview": 24, "develop": 24, "organis": 24, "commun": 24}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "Getting Started": [[3, "getting-started"]], "Compiling": [[3, "compiling"]], "Architecture": [[3, "architecture"]], "Controller Manager": [[3, "controller-manager"], [6, "controller-manager"]], "Resource Manager": [[3, "resource-manager"]], "Controllers": [[3, "controllers"], [12, "id1"]], "User Interfaces": [[3, "user-interfaces"]], "Hardware Components": [[3, "hardware-components"]], "Hardware Description in URDF": [[3, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[3, "running-the-framework-for-your-robot"]], "Project Ideas for GSoC 2022": [[4, "project-ideas-for-gsoc-2022"]], "Asynchronous Control Components": [[4, "asynchronous-control-components"]], "Tutorials and Demos for ros2_control": [[4, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[4, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[4, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[4, "feature-parity-for-controllers-from-ros1"]], "Resources": [[5, "resources"]], "Presentations": [[5, "presentations"]], "2023-02 ROS Meetup Munich #5": [[5, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[5, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[5, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[5, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[5, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[5, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[5, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[5, "roscon-fr-2021"]], "Diagrams": [[5, "diagrams"]], "Images": [[5, "images"]], "Helper scripts": [[6, "helper-scripts"]], "spawner.py": [[6, "spawner-py"]], "unspawner.py": [[6, "unspawner-py"]], "API Documentation": [[7, "api-documentation"]], "Core functionalities": [[7, "core-functionalities"]], "Features": [[7, "features"]], "Concepts": [[7, "concepts"]], "Fake Components": [[8, "fake-components"]], "Generic System": [[8, "generic-system"]], "Parameters": [[8, "parameters"], [15, "parameters"], [17, "parameters"], [18, "parameters"]], "Per-joint Parameters": [[8, "per-joint-parameters"]], "Command Line Interface": [[9, "command-line-interface"]], "list_controllers": [[9, "list-controllers"]], "list_controller_types": [[9, "list-controller-types"]], "list_hardware_interfaces": [[9, "list-hardware-interfaces"]], "load_controller": [[9, "load-controller"]], "reload_controller_libraries": [[9, "reload-controller-libraries"]], "set_controller_state": [[9, "set-controller-state"]], "switch_controllers": [[9, "switch-controllers"]], "unload_controller": [[9, "unload-controller"]], "Demos": [[10, "demos"]], "Repository organization": [[10, "repository-organization"]], "Mode switching demo": [[10, "mode-switching-demo"]], "diff_drive_controller": [[11, "diff-drive-controller"]], "Velocity commands": [[11, "velocity-commands"], [22, "velocity-commands"]], "Hardware interface type": [[11, "hardware-interface-type"], [14, "hardware-interface-type"], [16, "hardware-interface-type"], [18, "hardware-interface-type"], [20, "hardware-interface-type"], [21, "hardware-interface-type"], [23, "hardware-interface-type"]], "Other features": [[11, "other-features"], [20, "other-features"], [22, "other-features"]], "ros2_controllers": [[12, "ros2-controllers"]], "Nomenclature": [[12, "nomenclature"]], "Guidelines and Best Practices": [[12, "guidelines-and-best-practices"]], "Available Controllers": [[12, "available-controllers"]], "Available Broadcasters": [[12, "available-broadcasters"]], "Writing a new controller": [[13, "writing-a-new-controller"]], "Useful External References": [[13, "useful-external-references"]], "effort_controllers": [[14, "effort-controllers"]], "Force Torque Sensor Broadcaster": [[15, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[16, "forward-command-controller"]], "IMU Sensor Broadcaster": [[17, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[18, "joint-state-broadcaster"]], "Commands": [[18, "commands"]], "joint_state_controller": [[19, "joint-state-controller"]], "joint_trajectory_controller": [[20, "joint-trajectory-controller"]], "Trajectory representation": [[20, "trajectory-representation"]], "Using Joint Trajectory Controller(s)": [[20, "using-joint-trajectory-controller-s"]], "Details about parameters": [[20, "details-about-parameters"]], "ROS2 interface of the controller": [[20, "ros2-interface-of-the-controller"]], "Specialized versions of JointTrajectoryController (TBD in \u2026)": [[20, "specialized-versions-of-jointtrajectorycontroller-tbd-in"]], "position_controllers": [[21, "position-controllers"]], "tricycle_controller": [[22, "tricycle-controller"]], "velocity_controllers": [[23, "velocity-controllers"]], "Welcome to the ros2_control documentation - Foxy!": [[24, "welcome-to-the-ros2-control-documentation-foxy"]], "Overview": [[24, "overview"]], "Development Organisation and Communication": [[24, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/galactic/.buildinfo b/galactic/.buildinfo index 4db7b1a3337..ff98a2fa5c3 100644 --- a/galactic/.buildinfo +++ b/galactic/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 840c198f344256b724d5881262625feb +config: 67a256d0f516ed48ae86fe83708acd38 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree b/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree index 93159c2f9be..a9b56b94fbe 100644 Binary files a/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree and b/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree differ diff --git a/galactic/.doctrees/doc/contributing/contributing.doctree b/galactic/.doctrees/doc/contributing/contributing.doctree index fcc545d4328..2100ae0baf8 100644 Binary files a/galactic/.doctrees/doc/contributing/contributing.doctree and b/galactic/.doctrees/doc/contributing/contributing.doctree differ diff --git a/galactic/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree b/galactic/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree index 4894fca48fd..4d55af8b909 100644 Binary files a/galactic/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree and b/galactic/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree differ diff --git a/galactic/.doctrees/doc/getting_started/getting_started.doctree b/galactic/.doctrees/doc/getting_started/getting_started.doctree index 7e9ba2c6363..e0dfca588ce 100644 Binary files a/galactic/.doctrees/doc/getting_started/getting_started.doctree and b/galactic/.doctrees/doc/getting_started/getting_started.doctree differ diff --git a/galactic/.doctrees/doc/project_ideas.doctree b/galactic/.doctrees/doc/project_ideas.doctree index 9693e5d7913..2fc93a86f57 100644 Binary files a/galactic/.doctrees/doc/project_ideas.doctree and b/galactic/.doctrees/doc/project_ideas.doctree differ diff --git a/galactic/.doctrees/doc/resources/resources.doctree b/galactic/.doctrees/doc/resources/resources.doctree index 6e3a57df145..237bd039beb 100644 Binary files a/galactic/.doctrees/doc/resources/resources.doctree and b/galactic/.doctrees/doc/resources/resources.doctree differ diff --git a/galactic/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree index ec864d2ff23..12394fceb19 100644 Binary files a/galactic/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_control/doc/index.doctree b/galactic/.doctrees/doc/ros2_control/doc/index.doctree index 171c5a6652c..4f470a2e47e 100644 Binary files a/galactic/.doctrees/doc/ros2_control/doc/index.doctree and b/galactic/.doctrees/doc/ros2_control/doc/index.doctree differ diff --git a/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree b/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree index 352f3066926..f8e5979ec19 100644 Binary files a/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree and b/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/fake_components_userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree b/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree index 273f3a0c8f9..07b4f1079ba 100644 Binary files a/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree and b/galactic/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index cc6e7086dac..592426da9fb 100644 Binary files a/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree b/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree index 6081abd92bc..5333b84f4e7 100644 Binary files a/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree and b/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree index 73bac9062f8..5e10d562319 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index 0e244e775d6..861e3bbf2bd 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree and b/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree b/galactic/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree index 0246f3886e7..676a1a24902 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree and b/galactic/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree index 35f59450038..0ff1d6fb8b1 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree index 287500e1873..ebce7f8d157 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index 6acdd947739..82ef341bf57 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree index f5900f3009d..34282ab231c 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree index 1d53ba1f962..f1ee3937434 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree index 384628a9ff9..1c2addfd6e1 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index 6a45c1fa573..2b92d1cfac1 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree index 9d7c7f8f093..47e6fe15144 100644 Binary files a/galactic/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree and b/galactic/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree differ diff --git a/galactic/.doctrees/environment.pickle b/galactic/.doctrees/environment.pickle index c773882cc7d..28a435c2360 100644 Binary files a/galactic/.doctrees/environment.pickle and b/galactic/.doctrees/environment.pickle differ diff --git a/galactic/.doctrees/index.doctree b/galactic/.doctrees/index.doctree index fca0986d214..9407954f5ae 100644 Binary files a/galactic/.doctrees/index.doctree and b/galactic/.doctrees/index.doctree differ diff --git a/galactic/index.html b/galactic/index.html index ec68d5dad0b..89cdc325a5c 100644 --- a/galactic/index.html +++ b/galactic/index.html @@ -152,7 +152,7 @@

Development Organisation and Communication -

Built on 2023-12-29 at 05:31 GMT

+

Built on 2023-12-30 at 05:31 GMT

diff --git a/galactic/searchindex.js b/galactic/searchindex.js index 9c13b18c313..504a368b838 100644 --- a/galactic/searchindex.js +++ b/galactic/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/getting_started/getting_started", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/getting_started/getting_started.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "index.rst"], "titles": ["Acknowledgements", "Pull Requests", "Differences to ros_control (ROS1)", "Getting Started", "Project Ideas for GSoC 2022", "Resources", "Controller Manager", "API Documentation", "Fake Components", "Hardware Components", "Command Line Interface", "Demos", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "joint_trajectory_controller", "position_controllers", "velocity_controllers", "Welcome to the ros2_control documentation - Galactic!"], "terms": {"The": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23], "project": [0, 1, 23], "ha": [0, 1, 3, 4, 5, 14, 19], "receiv": [0, 2], "major": 0, "contribut": [0, 1, 5], "from": [0, 1, 2, 3, 5, 6, 8, 10, 12, 14, 16, 18, 20, 23], "follow": [0, 1, 2, 3, 4, 8, 9, 10, 11, 13, 14, 20, 23], "compani": [0, 5], "institut": 0, "support": [0, 2, 3, 5, 8, 10, 14, 19, 20, 23], "rosin": 0, "ro": [0, 1, 3, 4, 6, 8, 10, 23], "industri": [0, 3, 4], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 4, 11, 12, 16, 19, 23], "softwar": [0, 3], "compon": [0, 5, 6, 7, 12, 16, 18, 23], "more": [0, 1, 2, 3, 4, 8, 14], "inform": [0, 8, 14, 23], "http": [0, 1, 3, 4, 6], "eu": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23], "fund": 0, "european": 0, "union": 0, "": [0, 1, 3, 4, 5, 11, 14, 23], "horizon": 0, "2020": 0, "research": [0, 5], "innov": 0, "programm": 0, "under": [0, 5, 14, 23], "grant": 0, "agreement": 0, "732287": 0, "first": [1, 2, 9, 14], "thank": 1, "you": [1, 2, 3, 5, 6, 8, 9, 14, 23], "consid": [1, 10], "ros2_control": [1, 3, 5, 6, 8, 9, 11, 14], "As": [1, 14], "an": [1, 2, 3, 4, 5, 8, 10, 14, 19, 20], "open": [1, 19, 20], "sourc": [1, 3, 5, 14], "we": [1, 4, 5, 9, 19], "welcom": 1, "each": [1, 3, 4, 9, 19], "contributor": 1, "regardless": 1, "background": 1, "experi": 1, "To": [1, 2, 3, 6, 19, 23], "reduc": [1, 8], "entropi": 1, "univers": [1, 4, 5], "our": [1, 3, 4, 5], "vivid": 1, "collabor": 1, "environ": [1, 3, 5], "have": [1, 2, 3, 4, 6, 8, 9, 11, 14, 19, 20], "set": [1, 2, 4, 5, 6, 8, 9, 10, 11, 15, 17, 19, 20, 21, 22], "up": [1, 5, 11], "some": [1, 4, 5, 19, 20, 23], "standard": [1, 2, 3, 4, 5, 10, 13, 16, 19], "method": [1, 2, 3, 9, 14], "requir": [1, 2, 3, 4, 14], "ar": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 23], "limit": [1, 4, 5, 12], "scope": 1, "your": [1, 2, 5, 8, 14, 23], "pr": 1, "should": [1, 2, 4, 5, 6, 9, 10, 11, 14, 19], "do": [1, 2, 3, 4, 5, 6, 14, 20], "one": [1, 2, 3, 4, 5, 14, 16, 19, 23], "thing": 1, "avoid": [1, 14], "ad": [1, 4, 8, 14, 19], "random": 1, "fix": [1, 2], "put": [1, 14], "those": [1, 2, 3, 4, 8, 14, 16, 19, 20], "separ": [1, 2, 3, 19], "give": [1, 3, 5, 23], "descript": [1, 2, 5, 9, 14], "titl": 1, "add": [1, 2, 9, 14], "short": [1, 14, 23], "summari": [1, 5, 23], "make": [1, 2, 4, 5, 6, 23], "sure": [1, 4, 23], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "green": 1, "don": 1, "t": [1, 6], "afraid": 1, "review": [1, 4, 23], "maintain": [1, 3, 4], "new": [1, 5, 13, 20, 23], "code": [1, 2, 4, 5, 14], "test": [1, 4, 8, 11, 14], "If": [1, 2, 3, 6, 9, 14, 16, 19, 20, 23], "function": [1, 2, 3, 4, 5, 6], "alwai": 1, "exercis": 1, "serv": [1, 3, 4], "live": [1, 5], "origin": [1, 5], "intent": [1, 8], "section": [1, 2, 14], "target": [1, 13, 14, 20], "also": [1, 2, 3, 4, 5, 14], "read": [1, 2, 3, 14, 19, 20], "understand": [1, 4], "how": [1, 4, 5, 14], "handl": [1, 2, 4, 5, 20], "organ": [1, 5, 23], "guidelin": 1, "especi": [1, 2], "applic": [1, 3, 5, 6], "ros2_control_demo": [1, 3, 23], "pleas": [1, 23], "keep": [1, 14], "mind": [1, 14], "work": [1, 4, 5, 12, 14, 15, 17, 19, 20, 21, 22, 23], "fork": 1, "when": [1, 2, 3, 4, 6, 8, 10, 14, 20], "submit": [1, 5], "That": [1, 14], "wai": [1, 14, 16], "main": [1, 3, 4, 5, 6, 8, 14, 23], "repo": [1, 3], "clean": [1, 4], "featur": [1, 5, 8, 23], "branch": 1, "all": [1, 2, 3, 4, 5, 8, 9, 11, 14, 19, 20], "check": [1, 2, 3, 4, 8, 9, 11, 14, 20, 23], "satisfi": 1, "befor": [1, 2, 6, 14], "thei": [1, 2, 3, 4, 5, 8, 10, 13, 14, 20], "can": [1, 2, 3, 4, 5, 7, 8, 9, 14, 16, 20, 23], "must": 1, "approv": 1, "two": [1, 3, 4, 6, 14, 16], "explicitli": 1, "onli": [1, 2, 3, 4, 5, 6, 9, 10, 14, 16, 19, 20], "except": 1, "other": [1, 2, 3, 5, 14, 19], "activ": [1, 2, 3, 10, 19], "where": [1, 4, 14, 19], "back": 1, "traceabl": 1, "discuss": [1, 5, 23], "suffici": [1, 16], "note": [1, 3, 11, 23], "still": [1, 2, 3], "encourag": 1, "help": [1, 6, 10, 14], "u": [1, 6], "increas": 1, "pace": 1, "veri": [1, 2, 4], "like": [1, 2, 3, 4, 5], "find": 1, "issu": [1, 4, 23], "nobodi": 1, "els": 1, "see": [1, 2, 3, 11, 14, 16, 18, 20], "squash": 1, "commit": 1, "messag": [1, 4, 6, 10, 16, 18, 19, 20, 23], "comment": 1, "fixup": 1, "linter": 1, "us": [1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 18, 19, 21, 22, 23], "pre": 1, "correct": [1, 2, 20], "header": [1, 9, 14], "address": [1, 4], "similar": [1, 3, 5], "mean": [1, 2, 8], "result": [1, 3, 19], "exactli": 1, "1": [1, 3, 4, 5, 8, 14], "cowboi": 1, "style": [1, 14], "over": [1, 4], "weekend": 1, "It": [1, 2, 3, 4, 6, 16, 19], "doesn": 1, "matter": 1, "trivial": [1, 8], "peopl": 1, "chanc": 1, "proper": [1, 20], "Be": 1, "awar": 1, "impact": 1, "time": [1, 2, 4, 5, 6, 8, 10, 12, 14, 16, 20, 23], "proport": 1, "its": [1, 2, 3, 4, 5, 6, 16, 18, 19], "ping": 1, "them": [1, 3, 4, 6, 14, 19], "necessari": [1, 9], "repeatedli": 1, "start": [1, 2, 5, 6, 9, 10, 11, 14, 20, 23], "part": [1, 4, 5, 14], "For": [1, 3, 4, 5, 6, 8, 9, 14, 20], "detail": [1, 2, 3, 8, 9, 14], "thoma": 1, "cokela": 1, "info": [1, 9], "tutori": 1, "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 5, 6, 9, 10, 13, 14, 16, 18], "develop": [1, 5, 8, 11, 14], "stabl": [1, 4], "against": 1, "accept": [1, 14, 15, 17, 21, 22], "api": [1, 4], "abi": 1, "chang": [1, 2, 3, 5, 9, 10, 14, 20], "e": [1, 2, 3, 4, 5, 8, 14, 15, 16, 17, 19, 20, 21, 22, 23], "name": [1, 2, 3, 5, 6, 8, 10, 14, 16, 18, 19, 20], "convent": 1, "master": [1, 3, 4], "semi": 1, "binari": 1, "good": [1, 4], "same": [1, 3, 4, 16], "build": [1, 14], "dai": 1, "2": [1, 3, 5, 8], "ros_distro": 1, "g": [1, 2, 3, 4, 5, 8, 14, 15, 17, 19, 21, 22, 23], "foxi": [1, 3, 5], "galact": 1, "releas": [1, 3, 5, 6], "version": [1, 4], "non": [1, 5, 16], "brake": 1, "distribut": [1, 23], "three": [1, 2, 3, 9, 14], "stage": 1, "current": [1, 4, 9, 10, 20], "futur": [1, 5], "compat": [1, 2, 5], "framework": [1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 14, 19, 23], "packag": [1, 2, 3, 6, 9, 11, 14, 16, 18, 20, 23], "show": [1, 3, 5, 6, 9, 10, 19], "direct": [1, 2, 4, 14], "local": [1, 19], "possibl": [1, 3, 4, 6, 14, 20], "core": 1, "immedi": 1, "depend": [1, 3, 9, 14, 20], "fail": 1, "expect": [1, 4, 20], "after": [1, 12, 14], "next": [1, 20], "sync": 1, "abl": 1, "potenti": [1, 14], "mid": 1, "robothw": 2, "rigid": 2, "ani": [2, 3, 5, 9, 14], "imposs": 2, "extend": [2, 3, 4, 14], "exist": [2, 3, 4, 6, 9, 14], "addit": [2, 4], "sensor": [2, 3, 4, 8, 9, 13], "actuat": [2, 3, 4, 8, 9], "tool": [2, 4, 5], "without": [2, 3, 8, 14], "combinedrobothardwar": 2, "drawback": [2, 23], "solut": [2, 5], "optim": [2, 6], "combin": [2, 8, 19, 20], "extern": [2, 3, 4, 8], "defin": [2, 3, 4, 8, 13, 14, 16, 18, 19, 20], "system": [2, 3, 4, 5, 9, 11, 20, 23], "composit": [2, 5], "basic": [2, 3, 4, 5, 14], "physic": [2, 3, 8, 9], "cell": [2, 16], "surround": 2, "describ": [2, 3], "multi": [2, 3, 4, 5, 11], "gripper": [2, 3, 8], "out": [2, 12], "box": 2, "allow": [2, 20], "joint": [2, 3, 5, 12, 13, 14, 15, 17, 19, 21, 22, 23], "posit": [2, 3, 5, 6, 10, 11, 13, 15, 17, 19, 20, 21, 22], "veloc": [2, 3, 5, 11, 13, 19, 20, 21, 22], "effort": [2, 13, 15, 17, 19, 20], "hard": [2, 4], "data": [2, 3, 4, 8, 19], "approach": 2, "doe": [2, 14, 20], "enforc": [2, 20], "string": [2, 8, 14, 19, 20], "ensur": [2, 5], "constant": 2, "hardware_interfac": [2, 3, 8, 9, 13, 14], "In": [2, 3, 4, 5, 14, 19], "had": 2, "request": [2, 19, 23], "itself": 2, "took": 2, "care": [2, 4, 14], "regist": 2, "resourc": 2, "conflict": [2, 3, 4], "resourcemanag": 2, "take": [2, 4, 14, 19], "state": [2, 3, 4, 5, 8, 9, 10, 11, 13, 14, 16, 19, 20], "avail": [2, 3, 5, 10, 11, 14, 19, 20], "enabl": [2, 3, 4, 5, 6, 9, 11, 16], "anymor": 2, "controllermanag": 2, "implement": [2, 3, 4, 5, 8, 11, 12, 13, 14, 20, 23], "systeminterfac": [2, 8], "granular": 2, "sensorinterfac": 2, "actuatorinterfac": 2, "abov": [2, 20], "choos": 2, "suitabl": [2, 5], "strategi": [2, 20], "decid": 2, "which": [2, 3, 4, 5, 10, 12, 14, 16, 18, 19, 20], "case": [2, 4, 5, 14, 19, 20, 23], "mayb": 2, "sens": [2, 3, 16], "multipl": [2, 3, 19, 20], "constructor": [2, 14], "initi": [2, 14], "variabl": [2, 4, 14], "need": [2, 3, 4, 5, 14], "commun": [2, 3, 4, 5], "default": [2, 3, 8, 19, 20], "configur": [2, 3, 4, 5, 6, 9, 10, 11, 14, 19, 20], "paramet": [2, 5, 14], "pars": [2, 7], "urdf": 2, "snippet": 2, "hardwareinfo": 2, "here": [2, 7, 14, 20], "cross": [2, 19], "valu": [2, 3, 4, 8, 14, 19, 20], "export_": 2, "_interfac": 2, "joint_a2": 2, "extract": [2, 12], "sensibl": 2, "stop": [2, 5, 6, 9, 10, 11, 12], "usual": [2, 8, 14], "includ": [2, 4, 9, 10, 14], "command": [2, 3, 4, 5, 7, 8, 11, 13, 14, 15, 17, 20, 21, 22, 23], "safe": [2, 12, 14, 20], "interrupt": [2, 6], "stream": [2, 5], "write": [2, 3, 4, 5, 13], "exchang": [2, 4], "equival": 2, "forget": 2, "pluginlib_export_class": [2, 14], "macro": [2, 3, 14], "end": [2, 3, 9, 14, 20], "cpp": [2, 14], "file": [2, 3, 4, 5, 6, 8, 14, 20], "creat": [2, 3, 5, 8, 14], "xml": [2, 9, 14], "librari": [2, 3, 4, 10, 14], "pluginlib": [2, 3, 14], "exampl": [2, 3, 4, 5, 8, 10, 11, 16, 19, 20, 23], "rrbotsystempositiononlyhardwar": [2, 3], "excel": 2, "jointtrajectorycontrol": [2, 10], "real": [2, 4, 5, 6, 8, 14, 19, 20, 23], "critic": [2, 4], "mark": 2, "controllerinterfac": [2, 3, 10, 14], "member": [2, 14], "init": [2, 14], "call": [2, 3, 14], "lifecycl": [2, 3, 5, 6, 9], "declar": [2, 14], "state_interface_configur": [2, 14], "command_interface_configur": [2, 14], "design": [2, 3, 4, 5, 23], "updat": [2, 3, 4, 14], "manag": [2, 4, 5, 7, 9, 10, 14, 23], "option": [2, 6, 8, 9, 10, 14, 16, 19, 20], "on_configur": [2, 14], "on_activ": [2, 9, 14], "on_deactiv": [2, 9, 14], "deactiv": [2, 3], "final": [2, 5, 9], "joint_trajectory_plugin": 2, "ros2": [3, 4, 5, 6, 10, 11, 14, 23], "instal": [3, 6, 14], "automat": [3, 12], "want": [3, 6], "workspac": [3, 14], "folder": [3, 5, 14], "wget": 3, "raw": 3, "githubusercont": 3, "com": [3, 4, 6], "vc": 3, "import": [3, 14, 20], "src": [3, 14], "found": [3, 7, 14, 20, 23], "github": [3, 4, 7, 13, 23], "repositori": [3, 4, 7, 13, 23], "figur": 3, "cm": 3, "connect": 3, "abstract": [3, 5, 9], "side": [3, 4, 5], "entri": [3, 14], "point": [3, 13, 14, 23], "through": [3, 4, 10, 12, 13, 14, 20, 23], "servic": [3, 4, 6, 9], "node": [3, 6, 8, 9, 10, 11, 14], "executor": 3, "so": [3, 14], "integr": [3, 4, 5, 8, 11, 20, 23], "custom": [3, 8, 16, 19], "setup": [3, 4, 14], "recommend": [3, 5], "ros2_control_nod": 3, "controller_manag": [3, 4, 6, 10, 14, 20], "manual": [3, 4, 14, 23], "assum": 3, "On": 3, "load": [3, 6, 10, 11, 14], "unload": [3, 6, 10], "access": [3, 4, 5, 6, 8, 14, 19], "match": 3, "provid": [3, 4, 5, 6, 8, 11, 13, 14, 19, 20, 23], "report": [3, 4, 19, 23], "error": [3, 4, 14, 19, 20], "execut": [3, 14, 20], "loop": [3, 5, 6, 14, 19, 20], "output": [3, 4, 5, 10, 16, 18, 20], "rm": 3, "driver": [3, 5], "re": 3, "usabl": 3, "flexibl": 3, "motor": [3, 4], "encod": 3, "deal": 3, "theori": [3, 23], "compar": [3, 4, 5], "refer": 3, "measur": [3, 8, 16, 19], "base": [3, 5, 9, 10, 12, 14], "calcul": 3, "input": [3, 4, 5, 12, 20], "visit": 3, "wikipedia": [3, 23], "object": 3, "deriv": 3, "controller_interfac": [3, 4, 10, 14, 16, 18], "export": [3, 14], "plugin": [3, 9, 14], "forwardcommandcontrol": 3, "lifecyclenod": 3, "class": [3, 5, 9, 10, 14], "machin": [3, 4], "document": [3, 4, 5, 8], "latest": 3, "interact": [3, 5, 6, 10], "list": [3, 5, 9, 10, 11, 13, 14, 20, 23], "definit": [3, 13, 14, 16], "srv": 3, "controller_manager_msg": 3, "while": [3, 4, 5, 11, 20], "directli": [3, 23], "line": [3, 7, 9, 14, 19], "via": 3, "friendli": 3, "cli": [3, 7, 10], "auto": 3, "complet": [3, 9, 13], "rang": 3, "common": [3, 4, 13, 19, 23], "capabl": [3, 4], "readm": 3, "md": 3, "ros2controlcli": 3, "realiz": [3, 5], "repres": [3, 9], "dynam": [3, 14], "There": [3, 6, 9, 14], "complex": [3, 4, 5], "dof": 3, "differ": [3, 4, 5, 15, 16, 17, 19, 21, 22], "between": [3, 4, 9, 19, 20], "transmiss": 3, "humanoid": 3, "hand": 3, "logic": 3, "channel": 3, "kuka": 3, "rsi": 3, "A": [3, 5, 14, 19, 20], "relat": [3, 4, 5], "link": [3, 5, 9], "forc": [3, 5, 10, 13], "torqu": [3, 13], "simpl": [3, 4, 5, 11, 14], "valv": 3, "mandatori": [3, 16, 18, 20], "dc": 3, "arduino": 3, "board": 3, "modular": [3, 5], "independ": 3, "explan": 3, "given": [3, 20], "tag": [3, 14, 23], "chosen": 3, "structur": [3, 4, 14, 20], "track": [3, 23], "togeth": 3, "xacro": 3, "hereund": 3, "rrbot": [3, 11], "parallel": [3, 8], "effector": 3, "rrbotsystempositiononli": 3, "ros2_control_demo_hardwar": [3, 11], "param": [3, 6, 8], "example_param_write_for_sec": 3, "example_param_read_for_sec": 3, "joint1": [3, 8, 10, 11, 20], "command_interfac": [3, 20], "min": 3, "max": 3, "state_interfac": [3, 20], "joint2": [3, 10, 11, 20], "rrbotforcetorquesensor1d": 3, "forcetorquesensor1dhardwar": 3, "0": [3, 8, 19, 20], "43": 3, "tcp_fts_sensor": 3, "frame_id": [3, 16, 18], "rrbot_tcp": 3, "min_forc": 3, "100": 3, "max_forc": 3, "rrbotgripp": 3, "positionactuatorhardwar": 3, "23": 3, "3": [3, 4], "gripper_joint": 3, "50": [3, 6, 20], "yaml": [3, 4, 20], "instead": [3, 8, 20], "pure": [3, 20], "launch": [3, 6, 8, 11], "stack": [3, 5], "could": [3, 5, 14, 19, 20], "altern": [3, 20], "script": [3, 4, 14], "skeleton": 3, "orbit": 4, "around": [4, 16, 18], "everyth": [4, 14], "goal": [4, 5, 20, 23], "long": 4, "run": [4, 5, 6, 10], "task": [4, 5, 12], "interfac": [4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 18, 23], "user": 4, "thread": [4, 6], "protect": [4, 14], "memori": [4, 14], "buffer": [4, 23], "control_toolbox": [4, 23], "second": [4, 10, 14, 23], "frequenc": 4, "high": 4, "rate": [4, 20], "khz": 4, "variou": 4, "anoth": 4, "heartbeat": 4, "signal": 4, "sent": 4, "onc": [4, 5], "per": [4, 16], "500": 4, "hz": 4, "failur": [4, 9], "relev": [4, 23], "draft": 4, "trigger": 4, "skill": 4, "prefer": 4, "c": [4, 6, 10, 14], "trick": 4, "mentor": 4, "benc": [4, 5], "magyar": [4, 5], "deni": [4, 5], "\u0161togl": [4, 5], "size": 4, "350": 4, "hour": 4, "difficulti": 4, "about": [4, 8, 19, 23], "org": [4, 6], "gener": [4, 5, 14, 20, 23], "envis": 4, "simul": [4, 8, 11], "gazebo": 4, "ignit": 4, "showcas": [4, 5], "grace": 4, "degrad": 4, "architectur": [4, 5], "roadmap": [4, 23], "place": [4, 14, 20], "gpio": 4, "mode": [4, 20], "switch": [4, 10], "movement": 4, "safeti": 4, "familiar": [4, 23], "medium": 4, "focus": [4, 5], "although": [4, 9], "easi": 4, "therefor": [4, 6, 14, 19, 20], "often": [4, 8, 14, 19], "orchestr": 4, "purpos": 4, "conductor": 4, "scenario": 4, "appropri": 4, "moment": 4, "right": 4, "replac": [4, 9], "level": [4, 5, 15, 17, 20, 21, 22], "moveit2": [4, 5], "simplecontrollermanag": 4, "form": 4, "behavior": [4, 8], "benchmark": 4, "statu": [4, 9, 10, 20], "publish": [4, 12, 16, 18, 19, 20, 23], "topic": [4, 5, 20], "format": [4, 19], "preset": 4, "modul": 4, "specif": [4, 9, 19, 20], "reli": 4, "doubl": [4, 8, 20], "desir": [4, 20], "howev": [4, 6], "both": [4, 5, 19], "improv": 4, "readabl": 4, "earlier": 4, "concept": [4, 5, 8, 11], "were": 4, "introduc": [4, 5], "essenti": 4, "group": [4, 20, 23], "instanc": [4, 19], "imu": [4, 13], "typic": [4, 19, 20], "9": 4, "axi": [4, 16], "aceleromet": 4, "gyroscop": 4, "compass": 4, "respect": [4, 5], "Such": 4, "struct": 4, "low": [4, 5], "profil": 4, "intern": [4, 20], "addition": [4, 23], "few": [4, 5], "pull": 4, "45": 4, "tree": 4, "semantic_compon": 4, "175": 4, "rewrit": [4, 23], "ros_control": [4, 5, 23], "rich": 4, "wa": [4, 14], "motiv": 4, "adopt": 4, "port": [4, 9], "most": [4, 14], "quit": 4, "miss": [4, 19], "diff_drive_control": [4, 10], "joint_trajectory_control": [4, 10], "consist": [4, 20, 23], "identifi": 4, "much": [4, 14], "303": 4, "304": 4, "stretch": 4, "realtime_tool": [4, 23], "81": 4, "302": 4, "unit": 4, "gmock": 4, "cc": 5, "BY": 5, "licens": 5, "author": 5, "either": 5, "down": 5, "below": 5, "my": 5, "company_nam": 5, "tricycl": 5, "control": [5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23], "event": 5, "pixel": 5, "prefac": 5, "introduct": [5, 20], "johann": 5, "plapp": 5, "toni": 5, "najjar": 5, "kernel": [5, 6], "hardwar": [5, 6, 7, 8, 11, 13, 14, 23], "agnost": 5, "share": [5, 14], "well": [5, 6, 10, 20], "perform": [5, 6], "heavi": 5, "dr": 5, "stogl": 5, "consult": 5, "practition": 5, "guid": [5, 14], "top": 5, "virtual": 5, "talk": 5, "delv": 5, "deeper": 5, "what": 5, "explicit": [5, 20], "chain": 5, "emerg": 5, "handler": 5, "mock": 5, "usag": [5, 6, 10], "openli": 5, "record": 5, "fiveai": 5, "ltd": 5, "best": [5, 6, 14], "focu": 5, "becom": 5, "util": 5, "3rd": 5, "parti": 5, "nav2": 5, "practic": 5, "tip": 5, "hot": 5, "shown": 5, "furthermor": 5, "get": [5, 9, 23], "reus": 5, "inject": 5, "offer": [5, 6], "expos": 5, "problem": [5, 23], "manipul": [5, 20], "path": 5, "plan": [5, 23], "autonom": 5, "navig": 5, "ideal": [5, 8], "made": [5, 9], "mobil": [5, 12], "arm": 5, "extra": [5, 19], "readi": [5, 14], "power": 5, "studi": 5, "ur": 5, "With": 5, "moveit": [5, 8], "ingredi": 5, "scale": 5, "factor": 5, "teach": 5, "pendant": 5, "influenc": 5, "picknik": 5, "inc": 5, "nathan": 5, "brook": 5, "lovro": 5, "ivanov": 5, "andi": 5, "zelenak": 5, "rune": 5, "s\u00f8e": 5, "knudsen": 5, "onlin": [5, 14], "trajectori": [5, 13, 23], "admitt": 5, "One": 5, "reason": 5, "upgrad": 5, "ros1": 5, "better": 5, "realtim": [5, 12, 20, 23], "contact": 5, "insert": 5, "singl": 5, "waypoint": [5, 13, 20], "mani": [5, 14], "teleoper": 5, "involv": 5, "kinemat": 5, "acceler": [5, 11, 12, 13, 20], "jerk": [5, 12], "obei": 5, "demo": 5, "booth": 5, "zeleank": 5, "unifi": 5, "life": 5, "cycl": 5, "go": [5, 14], "_control": 5, "wild": 5, "materi": 5, "quick": [5, 9], "overview": 5, "layer": 5, "aka": 5, "systemcompon": 5, "forward": [5, 8, 13, 20, 23], "done": [5, 14], "look": 5, "modifi": 5, "simpli": [5, 20], "net": 5, "edit": 5, "collect": [5, 15, 17, 21, 22], "semant": [5, 16, 18], "world": [6, 8], "littl": 6, "jitter": 6, "normal": 6, "linux": 6, "comput": [6, 12], "throughput": 6, "suit": 6, "attempt": [6, 20], "sched_fifo": 6, "prioriti": 6, "rt": 6, "permiss": 6, "syscal": 6, "easiest": [6, 14], "ubuntu": 6, "22": 6, "04": 6, "lt": 6, "beta": 6, "blog": 6, "imag": 6, "amd64": 6, "debian": 6, "bullsey": 6, "startup": 6, "h": [6, 10, 14], "p": 6, "param_fil": 6, "controller_typ": 6, "timeout": [6, 10], "controller_manager_timeout": 6, "controller_nam": [6, 10, 14], "argument": [6, 10], "exit": [6, 10], "leav": 6, "unconfigur": [6, 9], "namespac": [6, 13, 14, 19, 20], "kill": [6, 10], "wait": [6, 10], "until": 6, "doxygen": 7, "fake": 7, "mirror": 8, "correspond": [8, 14, 23], "offlin": 8, "advantag": 8, "pipe": 8, "insid": 8, "broadcast": [8, 19], "even": 8, "debug": 8, "boost": 8, "mimic": 8, "offset": [8, 19, 20], "fake_sensor_command": 8, "boolean": [8, 19, 20], "fals": [8, 19, 20], "position_state_following_offset": 8, "custom_interface_with_following_offset": 8, "map": [8, 19, 20], "multipli": 8, "mimick": 8, "return_typ": [9, 14], "return": [9, 14, 19], "on_error": 9, "previous_st": 9, "success": [9, 14], "callbackreturn": 9, "again": [9, 11], "recov": 9, "reload": [9, 10], "substanti": 9, "renam": 9, "on_init": 9, "baseinterfac": 9, "remov": 9, "base_interfac": 9, "hpp": [9, 14], "hardware_interface_status_valu": 9, "rclcpp_lifecycl": [9, 14], "mai": [9, 15, 17, 21, 22], "strictli": 9, "last": [9, 14, 20], "status_": 9, "const": 9, "in_deactiv": 9, "undefin": 9, "refern": 9, "symbol": 9, "node_interfac": 9, "lifecyclenodeinterfac": 9, "rclcpp_lifecyl": 9, "cmakelist": [9, 14], "txt": [9, 14], "spin": 10, "spin_tim": 10, "hidden": 10, "discoveri": 10, "appli": 10, "alreadi": [10, 14, 20], "daemon": 10, "test_controller_nam": 10, "test_control": 10, "diffdrivecontrol": 10, "joint_state_control": 10, "jointstatecontrol": 10, "unclaim": [10, 11], "set_stat": 10, "adjust": 10, "strict": 10, "asap": 10, "switch_timeout": 10, "templat": [11, 14, 20], "demonstr": 11, "prove": 11, "comprehens": 11, "ros2_control_demo_bringup": 11, "gui": 11, "ros2_control_test_nod": 11, "rrbot_system_multi_interfac": 11, "py": 11, "list_hardware_interfac": 11, "load_control": 11, "forward_position_control": 11, "forward_velocity_control": 11, "forward_acceleration_control": 11, "forward_illegal1_control": 11, "forward_illegal2_control": 11, "joint_state_broadcast": 11, "set_controller_st": 11, "claim": 11, "now": [11, 14], "let": 11, "switch_control": 11, "inde": 11, "been": 11, "differenti": [12, 13, 23], "drive": [12, 13, 23], "bodi": 12, "translat": 12, "wheel": 12, "odometri": 12, "feedback": [12, 19, 20], "twist": 12, "x": [12, 16, 18], "linear": [12, 20], "z": [12, 16], "angular": 12, "ignor": [12, 20], "space": [12, 20], "sort": [13, 14], "accord": [13, 20], "position_control": [13, 20], "hw_if_posit": 13, "velocity_control": 13, "hw_if_veloc": 13, "effort_control": 13, "hw_if_acceler": 13, "hw_if_effort": 13, "interpol": [13, 20], "step": [14, 20, 23], "compil": 14, "rule": 14, "prepar": 14, "ament_cmak": 14, "search": 14, "recent": 14, "process": 14, "pkg": 14, "flag": [14, 20], "least": [14, 20], "package_nam": 14, "visibility_control": 14, "window": 14, "copi": 14, "prefix": [14, 16, 18], "guard": 14, "ifndef": 14, "preprocessor": 14, "engin": 14, "friend": 14, "uniqu": 14, "written": 14, "snake_cas": 14, "controllernam": 14, "public": 14, "overrid": 14, "exact": 14, "vector": 14, "store": 14, "simplifi": [14, 23], "further": 14, "parent": 14, "reserv": 14, "importantli": 14, "fine": 14, "ok": 14, "otherwis": [14, 19], "individu": 14, "none": [14, 19], "ask": [14, 19], "full": 14, "joint_nam": [14, 20], "interface_typ": 14, "assign": 14, "opposit": 14, "empti": 14, "constraint": [14, 20], "At": 14, "close": 14, "class_list_macro": 14, "controller_name_namespac": 14, "visibl": 14, "controller_name_packag": 14, "bottom": 14, "test_load_": 14, "content": 14, "specifi": [14, 20], "find_packag": 14, "rclcpp": 14, "directori": 14, "ament": 14, "cmake": 14, "pluginlib_export_plugin_description_fil": 14, "ament_cmake_gmock": 14, "ros2_control_test_asset": 14, "ament_add_gmock": 14, "ament_export_librari": 14, "ament_packag": 14, "test_depend": 14, "colcon": 14, "rememb": 14, "root": 14, "bash": 14, "enjoi": 14, "great": 14, "shell": 14, "certain": [15, 17, 21, 22], "achiev": [15, 17, 21, 22], "These": [15, 17, 21, 22], "geometry_msg": 16, "msg": [16, 18, 20], "wrenchstamp": 16, "wrapper": [16, 18], "forcetorquesensor": 16, "sensor_nam": [16, 18], "interface_nam": 16, "frame": [16, 18], "6d": 16, "ft": 16, "y": 16, "less": 16, "six": 16, "ax": 16, "example_nam": 16, "example_interfac": 16, "sensor_msg": 18, "imusensor": 18, "orient": 18, "angular_veloc": 18, "linear_acceler": 18, "joint_stat": 19, "dynamic_joint_st": 19, "By": [19, 20], "unless": 19, "latter": 19, "matrix": 19, "product": 19, "print": 19, "warn": 19, "use_local_top": 19, "my_state_broadcast": 19, "arrai": 19, "extra_joint": 19, "map_interface_to_joint_st": 19, "field": 19, "usecas": 19, "hydraul": [19, 20], "relianc": 19, "would": 19, "visual": 19, "robot_state_publish": 19, "rviz": 19, "techniqu": 19, "slightli": 19, "custom_interfac": 19, "kf_estimated_posit": 19, "derived_veloc": 19, "derived_effort": 19, "torque_sensor": 19, "current_sensor": 19, "reach": 20, "instant": 20, "mechan": 20, "spline": 20, "guarante": 20, "continu": 20, "discourag": 20, "becaus": 20, "yield": 20, "discontinu": 20, "cubic": 20, "quintic": 20, "pid": [20, 23], "similarli": 20, "eg": 20, "proxi": 20, "wrap": 20, "robust": 20, "clock": 20, "caus": 20, "queu": 20, "segment": 20, "ros__paramet": 20, "joint3": 20, "joint4": 20, "joint5": 20, "joint6": 20, "state_publish_r": 20, "action_monitor_r": 20, "20": 20, "allow_partial_joints_go": 20, "open_loop_control": 20, "true": 20, "stopped_velocity_toler": 20, "01": 20, "goal_tim": 20, "05": [20, 23], "03": 20, "monitor": 20, "action": 20, "control_msg": [20, 23], "followjointtrajectori": 20, "tri": 20, "numer": 20, "nan": 20, "std": 20, "numeric_limit": 20, "quiet_nan": 20, "toler": 20, "jointtrajectori": 20, "deviat": 20, "maxim": 20, "predefin": 20, "joint_trajectori": 20, "trajectory_msg": 20, "jointtrajectorycontrollerst": 20, "follow_joint_trajectori": 20, "server": 20, "position_velocity_control": 20, "position_velocity_acceleration_control": 20, "Not": 20, "yet": 20, "feedforward": 20, "term": [20, 23], "plu": 20, "171": 20, "Its": 23, "oper": 23, "overcom": 23, "idea": 23, "wide": 23, "toolkit": 23, "unreleas": 23, "smooth": 23, "doc": 23, "wg": 23, "meet": 23, "everi": 23, "wednesdai": 23, "join": 23, "announc": 23, "discours": 23, "googl": 23, "propos": 23, "previou": 23, "bug": 23, "tracker": 23, "minim": 23, "reproduc": 23, "regard": 23, "etc": 23, "question": 23, "answer": 23, "2023": 23, "12": 23, "29": 23, "31": 23, "built": 23, "gmt": 23}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 11], "process": 1, "merg": 1, "write": [1, 9, 14], "document": [1, 7, 23], "structur": [1, 2], "ci": 1, "configur": 1, "differ": 2, "ros_control": 2, "ros1": [2, 4], "hardwar": [2, 3, 4, 9, 12, 15, 17, 19, 20, 21, 22], "class": 2, "interfac": [2, 3, 10, 12, 15, 17, 19, 20, 21, 22], "control": [2, 3, 4, 6, 13, 14, 20], "": [2, 20], "access": 2, "migrat": [2, 9], "guid": 2, "ros2_control": [2, 4, 13, 23], "robothardwar": 2, "compon": [2, 3, 4, 8, 9], "get": 3, "start": 3, "compil": 3, "architectur": 3, "manag": [3, 6], "resourc": [3, 5], "user": 3, "descript": 3, "urdf": 3, "run": 3, "framework": 3, "your": 3, "robot": [3, 5], "project": 4, "idea": 4, "gsoc": 4, "2022": [4, 5], "asynchron": 4, "tutori": 4, "demo": [4, 11], "mission": 4, "add": 4, "support": 4, "semant": 4, "featur": [4, 7, 12, 20], "pariti": 4, "from": [4, 9], "present": 5, "2023": 5, "02": 5, "ro": 5, "meetup": 5, "munich": 5, "5": 5, "12": 5, "industri": 5, "confer": 5, "10": 5, "roscon": 5, "06": 5, "fr": 5, "2021": 5, "world": 5, "07": 5, "weekli": 5, "13": 5, "rosdevdai": 5, "05": 5, "diagram": 5, "imag": 5, "determin": 6, "helper": 6, "script": 6, "spawner": 6, "unspawn": 6, "api": 7, "core": 7, "function": 7, "concept": 7, "fake": 8, "gener": 8, "system": 8, "paramet": [8, 16, 18, 19, 20], "per": 8, "joint": [8, 20], "handl": 9, "error": 9, "happen": 9, "dure": 9, "read": 9, "call": 9, "foxi": 9, "galact": [9, 23], "command": [10, 12, 19], "line": 10, "list_control": 10, "list_controller_typ": 10, "list_hardware_interfac": 10, "load_control": 10, "reload_controller_librari": 10, "set_controller_st": 10, "switch_control": 10, "unload_control": 10, "organ": 11, "mode": 11, "switch": 11, "diff_drive_control": 12, "veloc": 12, "type": [12, 15, 17, 19, 20, 21, 22], "other": [12, 20], "nomenclatur": 13, "guidelin": 13, "best": 13, "practic": 13, "avail": 13, "broadcast": [13, 16, 18], "new": 14, "us": [14, 20], "extern": 14, "refer": 14, "effort_control": 15, "forc": 16, "torqu": 16, "sensor": [16, 18], "forward_command_control": 17, "imu": 18, "joint_state_broadcast": 19, "joint_trajectory_control": 20, "trajectori": 20, "represent": 20, "detail": 20, "about": 20, "ros2": 20, "special": 20, "version": 20, "jointtrajectorycontrol": 20, "tbd": 20, "position_control": 21, "velocity_control": 22, "welcom": 23, "overview": 23, "develop": 23, "organis": 23, "commun": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "Getting Started": [[3, "getting-started"]], "Compiling": [[3, "compiling"]], "Architecture": [[3, "architecture"]], "Controller Manager": [[3, "controller-manager"], [6, "controller-manager"]], "Resource Manager": [[3, "resource-manager"]], "Controllers": [[3, "controllers"], [13, "id1"]], "User Interfaces": [[3, "user-interfaces"]], "Hardware Components": [[3, "hardware-components"], [9, "hardware-components"]], "Hardware Description in URDF": [[3, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[3, "running-the-framework-for-your-robot"]], "Project Ideas for GSoC 2022": [[4, "project-ideas-for-gsoc-2022"]], "Asynchronous Control Components": [[4, "asynchronous-control-components"]], "Tutorials and Demos for ros2_control": [[4, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[4, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[4, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[4, "feature-parity-for-controllers-from-ros1"]], "Resources": [[5, "resources"]], "Presentations": [[5, "presentations"]], "2023-02 ROS Meetup Munich #5": [[5, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[5, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[5, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[5, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[5, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[5, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[5, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[5, "roscon-fr-2021"]], "Diagrams": [[5, "diagrams"]], "Images": [[5, "images"]], "Determinism": [[6, "determinism"]], "Helper scripts": [[6, "helper-scripts"]], "spawner": [[6, "spawner"]], "unspawner": [[6, "unspawner"]], "API Documentation": [[7, "api-documentation"]], "Core functionalities": [[7, "core-functionalities"]], "Features": [[7, "features"]], "Concepts": [[7, "concepts"]], "Fake Components": [[8, "fake-components"]], "Generic System": [[8, "generic-system"]], "Parameters": [[8, "parameters"], [16, "parameters"], [18, "parameters"], [19, "parameters"]], "Per-joint Parameters": [[8, "per-joint-parameters"]], "Handling of errors that happen during read() and write() calls": [[9, "handling-of-errors-that-happen-during-read-and-write-calls"]], "Migration from Foxy to Galactic": [[9, "migration-from-foxy-to-galactic"]], "Command Line Interface": [[10, "command-line-interface"]], "list_controllers": [[10, "list-controllers"]], "list_controller_types": [[10, "list-controller-types"]], "list_hardware_interfaces": [[10, "list-hardware-interfaces"]], "load_controller": [[10, "load-controller"]], "reload_controller_libraries": [[10, "reload-controller-libraries"]], "set_controller_state": [[10, "set-controller-state"]], "switch_controllers": [[10, "switch-controllers"]], "unload_controller": [[10, "unload-controller"]], "Demos": [[11, "demos"]], "Repository organization": [[11, "repository-organization"]], "Mode switching demo": [[11, "mode-switching-demo"]], "diff_drive_controller": [[12, "diff-drive-controller"]], "Velocity commands": [[12, "velocity-commands"]], "Hardware interface type": [[12, "hardware-interface-type"], [15, "hardware-interface-type"], [17, "hardware-interface-type"], [19, "hardware-interface-type"], [20, "hardware-interface-type"], [21, "hardware-interface-type"], [22, "hardware-interface-type"]], "Other features": [[12, "other-features"], [20, "other-features"]], "ros2_controllers": [[13, "ros2-controllers"]], "Nomenclature": [[13, "nomenclature"]], "Guidelines and Best Practices": [[13, "guidelines-and-best-practices"]], "Available Controllers": [[13, "available-controllers"]], "Available Broadcasters": [[13, "available-broadcasters"]], "Writing a new controller": [[14, "writing-a-new-controller"]], "Useful External References": [[14, "useful-external-references"]], "effort_controllers": [[15, "effort-controllers"]], "Force Torque Sensor Broadcaster": [[16, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[17, "forward-command-controller"]], "IMU Sensor Broadcaster": [[18, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[19, "joint-state-broadcaster"]], "Commands": [[19, "commands"]], "joint_trajectory_controller": [[20, "joint-trajectory-controller"]], "Trajectory representation": [[20, "trajectory-representation"]], "Using Joint Trajectory Controller(s)": [[20, "using-joint-trajectory-controller-s"]], "Details about parameters": [[20, "details-about-parameters"]], "ROS2 interface of the controller": [[20, "ros2-interface-of-the-controller"]], "Specialized versions of JointTrajectoryController (TBD in \u2026)": [[20, "specialized-versions-of-jointtrajectorycontroller-tbd-in"]], "position_controllers": [[21, "position-controllers"]], "velocity_controllers": [[22, "velocity-controllers"]], "Welcome to the ros2_control documentation - Galactic!": [[23, "welcome-to-the-ros2-control-documentation-galactic"]], "Overview": [[23, "overview"]], "Development Organisation and Communication": [[23, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/getting_started/getting_started", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/getting_started/getting_started.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "index.rst"], "titles": ["Acknowledgements", "Pull Requests", "Differences to ros_control (ROS1)", "Getting Started", "Project Ideas for GSoC 2022", "Resources", "Controller Manager", "API Documentation", "Fake Components", "Hardware Components", "Command Line Interface", "Demos", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "joint_trajectory_controller", "position_controllers", "velocity_controllers", "Welcome to the ros2_control documentation - Galactic!"], "terms": {"The": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23], "project": [0, 1, 23], "ha": [0, 1, 3, 4, 5, 14, 19], "receiv": [0, 2], "major": 0, "contribut": [0, 1, 5], "from": [0, 1, 2, 3, 5, 6, 8, 10, 12, 14, 16, 18, 20, 23], "follow": [0, 1, 2, 3, 4, 8, 9, 10, 11, 13, 14, 20, 23], "compani": [0, 5], "institut": 0, "support": [0, 2, 3, 5, 8, 10, 14, 19, 20, 23], "rosin": 0, "ro": [0, 1, 3, 4, 6, 8, 10, 23], "industri": [0, 3, 4], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 4, 11, 12, 16, 19, 23], "softwar": [0, 3], "compon": [0, 5, 6, 7, 12, 16, 18, 23], "more": [0, 1, 2, 3, 4, 8, 14], "inform": [0, 8, 14, 23], "http": [0, 1, 3, 4, 6], "eu": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23], "fund": 0, "european": 0, "union": 0, "": [0, 1, 3, 4, 5, 11, 14, 23], "horizon": 0, "2020": 0, "research": [0, 5], "innov": 0, "programm": 0, "under": [0, 5, 14, 23], "grant": 0, "agreement": 0, "732287": 0, "first": [1, 2, 9, 14], "thank": 1, "you": [1, 2, 3, 5, 6, 8, 9, 14, 23], "consid": [1, 10], "ros2_control": [1, 3, 5, 6, 8, 9, 11, 14], "As": [1, 14], "an": [1, 2, 3, 4, 5, 8, 10, 14, 19, 20], "open": [1, 19, 20], "sourc": [1, 3, 5, 14], "we": [1, 4, 5, 9, 19], "welcom": 1, "each": [1, 3, 4, 9, 19], "contributor": 1, "regardless": 1, "background": 1, "experi": 1, "To": [1, 2, 3, 6, 19, 23], "reduc": [1, 8], "entropi": 1, "univers": [1, 4, 5], "our": [1, 3, 4, 5], "vivid": 1, "collabor": 1, "environ": [1, 3, 5], "have": [1, 2, 3, 4, 6, 8, 9, 11, 14, 19, 20], "set": [1, 2, 4, 5, 6, 8, 9, 10, 11, 15, 17, 19, 20, 21, 22], "up": [1, 5, 11], "some": [1, 4, 5, 19, 20, 23], "standard": [1, 2, 3, 4, 5, 10, 13, 16, 19], "method": [1, 2, 3, 9, 14], "requir": [1, 2, 3, 4, 14], "ar": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 23], "limit": [1, 4, 5, 12], "scope": 1, "your": [1, 2, 5, 8, 14, 23], "pr": 1, "should": [1, 2, 4, 5, 6, 9, 10, 11, 14, 19], "do": [1, 2, 3, 4, 5, 6, 14, 20], "one": [1, 2, 3, 4, 5, 14, 16, 19, 23], "thing": 1, "avoid": [1, 14], "ad": [1, 4, 8, 14, 19], "random": 1, "fix": [1, 2], "put": [1, 14], "those": [1, 2, 3, 4, 8, 14, 16, 19, 20], "separ": [1, 2, 3, 19], "give": [1, 3, 5, 23], "descript": [1, 2, 5, 9, 14], "titl": 1, "add": [1, 2, 9, 14], "short": [1, 14, 23], "summari": [1, 5, 23], "make": [1, 2, 4, 5, 6, 23], "sure": [1, 4, 23], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "green": 1, "don": 1, "t": [1, 6], "afraid": 1, "review": [1, 4, 23], "maintain": [1, 3, 4], "new": [1, 5, 13, 20, 23], "code": [1, 2, 4, 5, 14], "test": [1, 4, 8, 11, 14], "If": [1, 2, 3, 6, 9, 14, 16, 19, 20, 23], "function": [1, 2, 3, 4, 5, 6], "alwai": 1, "exercis": 1, "serv": [1, 3, 4], "live": [1, 5], "origin": [1, 5], "intent": [1, 8], "section": [1, 2, 14], "target": [1, 13, 14, 20], "also": [1, 2, 3, 4, 5, 14], "read": [1, 2, 3, 14, 19, 20], "understand": [1, 4], "how": [1, 4, 5, 14], "handl": [1, 2, 4, 5, 20], "organ": [1, 5, 23], "guidelin": 1, "especi": [1, 2], "applic": [1, 3, 5, 6], "ros2_control_demo": [1, 3, 23], "pleas": [1, 23], "keep": [1, 14], "mind": [1, 14], "work": [1, 4, 5, 12, 14, 15, 17, 19, 20, 21, 22, 23], "fork": 1, "when": [1, 2, 3, 4, 6, 8, 10, 14, 20], "submit": [1, 5], "That": [1, 14], "wai": [1, 14, 16], "main": [1, 3, 4, 5, 6, 8, 14, 23], "repo": [1, 3], "clean": [1, 4], "featur": [1, 5, 8, 23], "branch": 1, "all": [1, 2, 3, 4, 5, 8, 9, 11, 14, 19, 20], "check": [1, 2, 3, 4, 8, 9, 11, 14, 20, 23], "satisfi": 1, "befor": [1, 2, 6, 14], "thei": [1, 2, 3, 4, 5, 8, 10, 13, 14, 20], "can": [1, 2, 3, 4, 5, 7, 8, 9, 14, 16, 20, 23], "must": 1, "approv": 1, "two": [1, 3, 4, 6, 14, 16], "explicitli": 1, "onli": [1, 2, 3, 4, 5, 6, 9, 10, 14, 16, 19, 20], "except": 1, "other": [1, 2, 3, 5, 14, 19], "activ": [1, 2, 3, 10, 19], "where": [1, 4, 14, 19], "back": 1, "traceabl": 1, "discuss": [1, 5, 23], "suffici": [1, 16], "note": [1, 3, 11, 23], "still": [1, 2, 3], "encourag": 1, "help": [1, 6, 10, 14], "u": [1, 6], "increas": 1, "pace": 1, "veri": [1, 2, 4], "like": [1, 2, 3, 4, 5], "find": 1, "issu": [1, 4, 23], "nobodi": 1, "els": 1, "see": [1, 2, 3, 11, 14, 16, 18, 20], "squash": 1, "commit": 1, "messag": [1, 4, 6, 10, 16, 18, 19, 20, 23], "comment": 1, "fixup": 1, "linter": 1, "us": [1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 18, 19, 21, 22, 23], "pre": 1, "correct": [1, 2, 20], "header": [1, 9, 14], "address": [1, 4], "similar": [1, 3, 5], "mean": [1, 2, 8], "result": [1, 3, 19], "exactli": 1, "1": [1, 3, 4, 5, 8, 14], "cowboi": 1, "style": [1, 14], "over": [1, 4], "weekend": 1, "It": [1, 2, 3, 4, 6, 16, 19], "doesn": 1, "matter": 1, "trivial": [1, 8], "peopl": 1, "chanc": 1, "proper": [1, 20], "Be": 1, "awar": 1, "impact": 1, "time": [1, 2, 4, 5, 6, 8, 10, 12, 14, 16, 20, 23], "proport": 1, "its": [1, 2, 3, 4, 5, 6, 16, 18, 19], "ping": 1, "them": [1, 3, 4, 6, 14, 19], "necessari": [1, 9], "repeatedli": 1, "start": [1, 2, 5, 6, 9, 10, 11, 14, 20, 23], "part": [1, 4, 5, 14], "For": [1, 3, 4, 5, 6, 8, 9, 14, 20], "detail": [1, 2, 3, 8, 9, 14], "thoma": 1, "cokela": 1, "info": [1, 9], "tutori": 1, "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 5, 6, 9, 10, 13, 14, 16, 18], "develop": [1, 5, 8, 11, 14], "stabl": [1, 4], "against": 1, "accept": [1, 14, 15, 17, 21, 22], "api": [1, 4], "abi": 1, "chang": [1, 2, 3, 5, 9, 10, 14, 20], "e": [1, 2, 3, 4, 5, 8, 14, 15, 16, 17, 19, 20, 21, 22, 23], "name": [1, 2, 3, 5, 6, 8, 10, 14, 16, 18, 19, 20], "convent": 1, "master": [1, 3, 4], "semi": 1, "binari": 1, "good": [1, 4], "same": [1, 3, 4, 16], "build": [1, 14], "dai": 1, "2": [1, 3, 5, 8], "ros_distro": 1, "g": [1, 2, 3, 4, 5, 8, 14, 15, 17, 19, 21, 22, 23], "foxi": [1, 3, 5], "galact": 1, "releas": [1, 3, 5, 6], "version": [1, 4], "non": [1, 5, 16], "brake": 1, "distribut": [1, 23], "three": [1, 2, 3, 9, 14], "stage": 1, "current": [1, 4, 9, 10, 20], "futur": [1, 5], "compat": [1, 2, 5], "framework": [1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 14, 19, 23], "packag": [1, 2, 3, 6, 9, 11, 14, 16, 18, 20, 23], "show": [1, 3, 5, 6, 9, 10, 19], "direct": [1, 2, 4, 14], "local": [1, 19], "possibl": [1, 3, 4, 6, 14, 20], "core": 1, "immedi": 1, "depend": [1, 3, 9, 14, 20], "fail": 1, "expect": [1, 4, 20], "after": [1, 12, 14], "next": [1, 20], "sync": 1, "abl": 1, "potenti": [1, 14], "mid": 1, "robothw": 2, "rigid": 2, "ani": [2, 3, 5, 9, 14], "imposs": 2, "extend": [2, 3, 4, 14], "exist": [2, 3, 4, 6, 9, 14], "addit": [2, 4], "sensor": [2, 3, 4, 8, 9, 13], "actuat": [2, 3, 4, 8, 9], "tool": [2, 4, 5], "without": [2, 3, 8, 14], "combinedrobothardwar": 2, "drawback": [2, 23], "solut": [2, 5], "optim": [2, 6], "combin": [2, 8, 19, 20], "extern": [2, 3, 4, 8], "defin": [2, 3, 4, 8, 13, 14, 16, 18, 19, 20], "system": [2, 3, 4, 5, 9, 11, 20, 23], "composit": [2, 5], "basic": [2, 3, 4, 5, 14], "physic": [2, 3, 8, 9], "cell": [2, 16], "surround": 2, "describ": [2, 3], "multi": [2, 3, 4, 5, 11], "gripper": [2, 3, 8], "out": [2, 12], "box": 2, "allow": [2, 20], "joint": [2, 3, 5, 12, 13, 14, 15, 17, 19, 21, 22, 23], "posit": [2, 3, 5, 6, 10, 11, 13, 15, 17, 19, 20, 21, 22], "veloc": [2, 3, 5, 11, 13, 19, 20, 21, 22], "effort": [2, 13, 15, 17, 19, 20], "hard": [2, 4], "data": [2, 3, 4, 8, 19], "approach": 2, "doe": [2, 14, 20], "enforc": [2, 20], "string": [2, 8, 14, 19, 20], "ensur": [2, 5], "constant": 2, "hardware_interfac": [2, 3, 8, 9, 13, 14], "In": [2, 3, 4, 5, 14, 19], "had": 2, "request": [2, 19, 23], "itself": 2, "took": 2, "care": [2, 4, 14], "regist": 2, "resourc": 2, "conflict": [2, 3, 4], "resourcemanag": 2, "take": [2, 4, 14, 19], "state": [2, 3, 4, 5, 8, 9, 10, 11, 13, 14, 16, 19, 20], "avail": [2, 3, 5, 10, 11, 14, 19, 20], "enabl": [2, 3, 4, 5, 6, 9, 11, 16], "anymor": 2, "controllermanag": 2, "implement": [2, 3, 4, 5, 8, 11, 12, 13, 14, 20, 23], "systeminterfac": [2, 8], "granular": 2, "sensorinterfac": 2, "actuatorinterfac": 2, "abov": [2, 20], "choos": 2, "suitabl": [2, 5], "strategi": [2, 20], "decid": 2, "which": [2, 3, 4, 5, 10, 12, 14, 16, 18, 19, 20], "case": [2, 4, 5, 14, 19, 20, 23], "mayb": 2, "sens": [2, 3, 16], "multipl": [2, 3, 19, 20], "constructor": [2, 14], "initi": [2, 14], "variabl": [2, 4, 14], "need": [2, 3, 4, 5, 14], "commun": [2, 3, 4, 5], "default": [2, 3, 8, 19, 20], "configur": [2, 3, 4, 5, 6, 9, 10, 11, 14, 19, 20], "paramet": [2, 5, 14], "pars": [2, 7], "urdf": 2, "snippet": 2, "hardwareinfo": 2, "here": [2, 7, 14, 20], "cross": [2, 19], "valu": [2, 3, 4, 8, 14, 19, 20], "export_": 2, "_interfac": 2, "joint_a2": 2, "extract": [2, 12], "sensibl": 2, "stop": [2, 5, 6, 9, 10, 11, 12], "usual": [2, 8, 14], "includ": [2, 4, 9, 10, 14], "command": [2, 3, 4, 5, 7, 8, 11, 13, 14, 15, 17, 20, 21, 22, 23], "safe": [2, 12, 14, 20], "interrupt": [2, 6], "stream": [2, 5], "write": [2, 3, 4, 5, 13], "exchang": [2, 4], "equival": 2, "forget": 2, "pluginlib_export_class": [2, 14], "macro": [2, 3, 14], "end": [2, 3, 9, 14, 20], "cpp": [2, 14], "file": [2, 3, 4, 5, 6, 8, 14, 20], "creat": [2, 3, 5, 8, 14], "xml": [2, 9, 14], "librari": [2, 3, 4, 10, 14], "pluginlib": [2, 3, 14], "exampl": [2, 3, 4, 5, 8, 10, 11, 16, 19, 20, 23], "rrbotsystempositiononlyhardwar": [2, 3], "excel": 2, "jointtrajectorycontrol": [2, 10], "real": [2, 4, 5, 6, 8, 14, 19, 20, 23], "critic": [2, 4], "mark": 2, "controllerinterfac": [2, 3, 10, 14], "member": [2, 14], "init": [2, 14], "call": [2, 3, 14], "lifecycl": [2, 3, 5, 6, 9], "declar": [2, 14], "state_interface_configur": [2, 14], "command_interface_configur": [2, 14], "design": [2, 3, 4, 5, 23], "updat": [2, 3, 4, 14], "manag": [2, 4, 5, 7, 9, 10, 14, 23], "option": [2, 6, 8, 9, 10, 14, 16, 19, 20], "on_configur": [2, 14], "on_activ": [2, 9, 14], "on_deactiv": [2, 9, 14], "deactiv": [2, 3], "final": [2, 5, 9], "joint_trajectory_plugin": 2, "ros2": [3, 4, 5, 6, 10, 11, 14, 23], "instal": [3, 6, 14], "automat": [3, 12], "want": [3, 6], "workspac": [3, 14], "folder": [3, 5, 14], "wget": 3, "raw": 3, "githubusercont": 3, "com": [3, 4, 6], "vc": 3, "import": [3, 14, 20], "src": [3, 14], "found": [3, 7, 14, 20, 23], "github": [3, 4, 7, 13, 23], "repositori": [3, 4, 7, 13, 23], "figur": 3, "cm": 3, "connect": 3, "abstract": [3, 5, 9], "side": [3, 4, 5], "entri": [3, 14], "point": [3, 13, 14, 23], "through": [3, 4, 10, 12, 13, 14, 20, 23], "servic": [3, 4, 6, 9], "node": [3, 6, 8, 9, 10, 11, 14], "executor": 3, "so": [3, 14], "integr": [3, 4, 5, 8, 11, 20, 23], "custom": [3, 8, 16, 19], "setup": [3, 4, 14], "recommend": [3, 5], "ros2_control_nod": 3, "controller_manag": [3, 4, 6, 10, 14, 20], "manual": [3, 4, 14, 23], "assum": 3, "On": 3, "load": [3, 6, 10, 11, 14], "unload": [3, 6, 10], "access": [3, 4, 5, 6, 8, 14, 19], "match": 3, "provid": [3, 4, 5, 6, 8, 11, 13, 14, 19, 20, 23], "report": [3, 4, 19, 23], "error": [3, 4, 14, 19, 20], "execut": [3, 14, 20], "loop": [3, 5, 6, 14, 19, 20], "output": [3, 4, 5, 10, 16, 18, 20], "rm": 3, "driver": [3, 5], "re": 3, "usabl": 3, "flexibl": 3, "motor": [3, 4], "encod": 3, "deal": 3, "theori": [3, 23], "compar": [3, 4, 5], "refer": 3, "measur": [3, 8, 16, 19], "base": [3, 5, 9, 10, 12, 14], "calcul": 3, "input": [3, 4, 5, 12, 20], "visit": 3, "wikipedia": [3, 23], "object": 3, "deriv": 3, "controller_interfac": [3, 4, 10, 14, 16, 18], "export": [3, 14], "plugin": [3, 9, 14], "forwardcommandcontrol": 3, "lifecyclenod": 3, "class": [3, 5, 9, 10, 14], "machin": [3, 4], "document": [3, 4, 5, 8], "latest": 3, "interact": [3, 5, 6, 10], "list": [3, 5, 9, 10, 11, 13, 14, 20, 23], "definit": [3, 13, 14, 16], "srv": 3, "controller_manager_msg": 3, "while": [3, 4, 5, 11, 20], "directli": [3, 23], "line": [3, 7, 9, 14, 19], "via": 3, "friendli": 3, "cli": [3, 7, 10], "auto": 3, "complet": [3, 9, 13], "rang": 3, "common": [3, 4, 13, 19, 23], "capabl": [3, 4], "readm": 3, "md": 3, "ros2controlcli": 3, "realiz": [3, 5], "repres": [3, 9], "dynam": [3, 14], "There": [3, 6, 9, 14], "complex": [3, 4, 5], "dof": 3, "differ": [3, 4, 5, 15, 16, 17, 19, 21, 22], "between": [3, 4, 9, 19, 20], "transmiss": 3, "humanoid": 3, "hand": 3, "logic": 3, "channel": 3, "kuka": 3, "rsi": 3, "A": [3, 5, 14, 19, 20], "relat": [3, 4, 5], "link": [3, 5, 9], "forc": [3, 5, 10, 13], "torqu": [3, 13], "simpl": [3, 4, 5, 11, 14], "valv": 3, "mandatori": [3, 16, 18, 20], "dc": 3, "arduino": 3, "board": 3, "modular": [3, 5], "independ": 3, "explan": 3, "given": [3, 20], "tag": [3, 14, 23], "chosen": 3, "structur": [3, 4, 14, 20], "track": [3, 23], "togeth": 3, "xacro": 3, "hereund": 3, "rrbot": [3, 11], "parallel": [3, 8], "effector": 3, "rrbotsystempositiononli": 3, "ros2_control_demo_hardwar": [3, 11], "param": [3, 6, 8], "example_param_write_for_sec": 3, "example_param_read_for_sec": 3, "joint1": [3, 8, 10, 11, 20], "command_interfac": [3, 20], "min": 3, "max": 3, "state_interfac": [3, 20], "joint2": [3, 10, 11, 20], "rrbotforcetorquesensor1d": 3, "forcetorquesensor1dhardwar": 3, "0": [3, 8, 19, 20], "43": 3, "tcp_fts_sensor": 3, "frame_id": [3, 16, 18], "rrbot_tcp": 3, "min_forc": 3, "100": 3, "max_forc": 3, "rrbotgripp": 3, "positionactuatorhardwar": 3, "23": 3, "3": [3, 4], "gripper_joint": 3, "50": [3, 6, 20], "yaml": [3, 4, 20], "instead": [3, 8, 20], "pure": [3, 20], "launch": [3, 6, 8, 11], "stack": [3, 5], "could": [3, 5, 14, 19, 20], "altern": [3, 20], "script": [3, 4, 14], "skeleton": 3, "orbit": 4, "around": [4, 16, 18], "everyth": [4, 14], "goal": [4, 5, 20, 23], "long": 4, "run": [4, 5, 6, 10], "task": [4, 5, 12], "interfac": [4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 18, 23], "user": 4, "thread": [4, 6], "protect": [4, 14], "memori": [4, 14], "buffer": [4, 23], "control_toolbox": [4, 23], "second": [4, 10, 14, 23], "frequenc": 4, "high": 4, "rate": [4, 20], "khz": 4, "variou": 4, "anoth": 4, "heartbeat": 4, "signal": 4, "sent": 4, "onc": [4, 5], "per": [4, 16], "500": 4, "hz": 4, "failur": [4, 9], "relev": [4, 23], "draft": 4, "trigger": 4, "skill": 4, "prefer": 4, "c": [4, 6, 10, 14], "trick": 4, "mentor": 4, "benc": [4, 5], "magyar": [4, 5], "deni": [4, 5], "\u0161togl": [4, 5], "size": 4, "350": 4, "hour": 4, "difficulti": 4, "about": [4, 8, 19, 23], "org": [4, 6], "gener": [4, 5, 14, 20, 23], "envis": 4, "simul": [4, 8, 11], "gazebo": 4, "ignit": 4, "showcas": [4, 5], "grace": 4, "degrad": 4, "architectur": [4, 5], "roadmap": [4, 23], "place": [4, 14, 20], "gpio": 4, "mode": [4, 20], "switch": [4, 10], "movement": 4, "safeti": 4, "familiar": [4, 23], "medium": 4, "focus": [4, 5], "although": [4, 9], "easi": 4, "therefor": [4, 6, 14, 19, 20], "often": [4, 8, 14, 19], "orchestr": 4, "purpos": 4, "conductor": 4, "scenario": 4, "appropri": 4, "moment": 4, "right": 4, "replac": [4, 9], "level": [4, 5, 15, 17, 20, 21, 22], "moveit2": [4, 5], "simplecontrollermanag": 4, "form": 4, "behavior": [4, 8], "benchmark": 4, "statu": [4, 9, 10, 20], "publish": [4, 12, 16, 18, 19, 20, 23], "topic": [4, 5, 20], "format": [4, 19], "preset": 4, "modul": 4, "specif": [4, 9, 19, 20], "reli": 4, "doubl": [4, 8, 20], "desir": [4, 20], "howev": [4, 6], "both": [4, 5, 19], "improv": 4, "readabl": 4, "earlier": 4, "concept": [4, 5, 8, 11], "were": 4, "introduc": [4, 5], "essenti": 4, "group": [4, 20, 23], "instanc": [4, 19], "imu": [4, 13], "typic": [4, 19, 20], "9": 4, "axi": [4, 16], "aceleromet": 4, "gyroscop": 4, "compass": 4, "respect": [4, 5], "Such": 4, "struct": 4, "low": [4, 5], "profil": 4, "intern": [4, 20], "addition": [4, 23], "few": [4, 5], "pull": 4, "45": 4, "tree": 4, "semantic_compon": 4, "175": 4, "rewrit": [4, 23], "ros_control": [4, 5, 23], "rich": 4, "wa": [4, 14], "motiv": 4, "adopt": 4, "port": [4, 9], "most": [4, 14], "quit": 4, "miss": [4, 19], "diff_drive_control": [4, 10], "joint_trajectory_control": [4, 10], "consist": [4, 20, 23], "identifi": 4, "much": [4, 14], "303": 4, "304": 4, "stretch": 4, "realtime_tool": [4, 23], "81": 4, "302": 4, "unit": 4, "gmock": 4, "cc": 5, "BY": 5, "licens": 5, "author": 5, "either": 5, "down": 5, "below": 5, "my": 5, "company_nam": 5, "tricycl": 5, "control": [5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23], "event": 5, "pixel": 5, "prefac": 5, "introduct": [5, 20], "johann": 5, "plapp": 5, "toni": 5, "najjar": 5, "kernel": [5, 6], "hardwar": [5, 6, 7, 8, 11, 13, 14, 23], "agnost": 5, "share": [5, 14], "well": [5, 6, 10, 20], "perform": [5, 6], "heavi": 5, "dr": 5, "stogl": 5, "consult": 5, "practition": 5, "guid": [5, 14], "top": 5, "virtual": 5, "talk": 5, "delv": 5, "deeper": 5, "what": 5, "explicit": [5, 20], "chain": 5, "emerg": 5, "handler": 5, "mock": 5, "usag": [5, 6, 10], "openli": 5, "record": 5, "fiveai": 5, "ltd": 5, "best": [5, 6, 14], "focu": 5, "becom": 5, "util": 5, "3rd": 5, "parti": 5, "nav2": 5, "practic": 5, "tip": 5, "hot": 5, "shown": 5, "furthermor": 5, "get": [5, 9, 23], "reus": 5, "inject": 5, "offer": [5, 6], "expos": 5, "problem": [5, 23], "manipul": [5, 20], "path": 5, "plan": [5, 23], "autonom": 5, "navig": 5, "ideal": [5, 8], "made": [5, 9], "mobil": [5, 12], "arm": 5, "extra": [5, 19], "readi": [5, 14], "power": 5, "studi": 5, "ur": 5, "With": 5, "moveit": [5, 8], "ingredi": 5, "scale": 5, "factor": 5, "teach": 5, "pendant": 5, "influenc": 5, "picknik": 5, "inc": 5, "nathan": 5, "brook": 5, "lovro": 5, "ivanov": 5, "andi": 5, "zelenak": 5, "rune": 5, "s\u00f8e": 5, "knudsen": 5, "onlin": [5, 14], "trajectori": [5, 13, 23], "admitt": 5, "One": 5, "reason": 5, "upgrad": 5, "ros1": 5, "better": 5, "realtim": [5, 12, 20, 23], "contact": 5, "insert": 5, "singl": 5, "waypoint": [5, 13, 20], "mani": [5, 14], "teleoper": 5, "involv": 5, "kinemat": 5, "acceler": [5, 11, 12, 13, 20], "jerk": [5, 12], "obei": 5, "demo": 5, "booth": 5, "zeleank": 5, "unifi": 5, "life": 5, "cycl": 5, "go": [5, 14], "_control": 5, "wild": 5, "materi": 5, "quick": [5, 9], "overview": 5, "layer": 5, "aka": 5, "systemcompon": 5, "forward": [5, 8, 13, 20, 23], "done": [5, 14], "look": 5, "modifi": 5, "simpli": [5, 20], "net": 5, "edit": 5, "collect": [5, 15, 17, 21, 22], "semant": [5, 16, 18], "world": [6, 8], "littl": 6, "jitter": 6, "normal": 6, "linux": 6, "comput": [6, 12], "throughput": 6, "suit": 6, "attempt": [6, 20], "sched_fifo": 6, "prioriti": 6, "rt": 6, "permiss": 6, "syscal": 6, "easiest": [6, 14], "ubuntu": 6, "22": 6, "04": 6, "lt": 6, "beta": 6, "blog": 6, "imag": 6, "amd64": 6, "debian": 6, "bullsey": 6, "startup": 6, "h": [6, 10, 14], "p": 6, "param_fil": 6, "controller_typ": 6, "timeout": [6, 10], "controller_manager_timeout": 6, "controller_nam": [6, 10, 14], "argument": [6, 10], "exit": [6, 10], "leav": 6, "unconfigur": [6, 9], "namespac": [6, 13, 14, 19, 20], "kill": [6, 10], "wait": [6, 10], "until": 6, "doxygen": 7, "fake": 7, "mirror": 8, "correspond": [8, 14, 23], "offlin": 8, "advantag": 8, "pipe": 8, "insid": 8, "broadcast": [8, 19], "even": 8, "debug": 8, "boost": 8, "mimic": 8, "offset": [8, 19, 20], "fake_sensor_command": 8, "boolean": [8, 19, 20], "fals": [8, 19, 20], "position_state_following_offset": 8, "custom_interface_with_following_offset": 8, "map": [8, 19, 20], "multipli": 8, "mimick": 8, "return_typ": [9, 14], "return": [9, 14, 19], "on_error": 9, "previous_st": 9, "success": [9, 14], "callbackreturn": 9, "again": [9, 11], "recov": 9, "reload": [9, 10], "substanti": 9, "renam": 9, "on_init": 9, "baseinterfac": 9, "remov": 9, "base_interfac": 9, "hpp": [9, 14], "hardware_interface_status_valu": 9, "rclcpp_lifecycl": [9, 14], "mai": [9, 15, 17, 21, 22], "strictli": 9, "last": [9, 14, 20], "status_": 9, "const": 9, "in_deactiv": 9, "undefin": 9, "refern": 9, "symbol": 9, "node_interfac": 9, "lifecyclenodeinterfac": 9, "rclcpp_lifecyl": 9, "cmakelist": [9, 14], "txt": [9, 14], "spin": 10, "spin_tim": 10, "hidden": 10, "discoveri": 10, "appli": 10, "alreadi": [10, 14, 20], "daemon": 10, "test_controller_nam": 10, "test_control": 10, "diffdrivecontrol": 10, "joint_state_control": 10, "jointstatecontrol": 10, "unclaim": [10, 11], "set_stat": 10, "adjust": 10, "strict": 10, "asap": 10, "switch_timeout": 10, "templat": [11, 14, 20], "demonstr": 11, "prove": 11, "comprehens": 11, "ros2_control_demo_bringup": 11, "gui": 11, "ros2_control_test_nod": 11, "rrbot_system_multi_interfac": 11, "py": 11, "list_hardware_interfac": 11, "load_control": 11, "forward_position_control": 11, "forward_velocity_control": 11, "forward_acceleration_control": 11, "forward_illegal1_control": 11, "forward_illegal2_control": 11, "joint_state_broadcast": 11, "set_controller_st": 11, "claim": 11, "now": [11, 14], "let": 11, "switch_control": 11, "inde": 11, "been": 11, "differenti": [12, 13, 23], "drive": [12, 13, 23], "bodi": 12, "translat": 12, "wheel": 12, "odometri": 12, "feedback": [12, 19, 20], "twist": 12, "x": [12, 16, 18], "linear": [12, 20], "z": [12, 16], "angular": 12, "ignor": [12, 20], "space": [12, 20], "sort": [13, 14], "accord": [13, 20], "position_control": [13, 20], "hw_if_posit": 13, "velocity_control": 13, "hw_if_veloc": 13, "effort_control": 13, "hw_if_acceler": 13, "hw_if_effort": 13, "interpol": [13, 20], "step": [14, 20, 23], "compil": 14, "rule": 14, "prepar": 14, "ament_cmak": 14, "search": 14, "recent": 14, "process": 14, "pkg": 14, "flag": [14, 20], "least": [14, 20], "package_nam": 14, "visibility_control": 14, "window": 14, "copi": 14, "prefix": [14, 16, 18], "guard": 14, "ifndef": 14, "preprocessor": 14, "engin": 14, "friend": 14, "uniqu": 14, "written": 14, "snake_cas": 14, "controllernam": 14, "public": 14, "overrid": 14, "exact": 14, "vector": 14, "store": 14, "simplifi": [14, 23], "further": 14, "parent": 14, "reserv": 14, "importantli": 14, "fine": 14, "ok": 14, "otherwis": [14, 19], "individu": 14, "none": [14, 19], "ask": [14, 19], "full": 14, "joint_nam": [14, 20], "interface_typ": 14, "assign": 14, "opposit": 14, "empti": 14, "constraint": [14, 20], "At": 14, "close": 14, "class_list_macro": 14, "controller_name_namespac": 14, "visibl": 14, "controller_name_packag": 14, "bottom": 14, "test_load_": 14, "content": 14, "specifi": [14, 20], "find_packag": 14, "rclcpp": 14, "directori": 14, "ament": 14, "cmake": 14, "pluginlib_export_plugin_description_fil": 14, "ament_cmake_gmock": 14, "ros2_control_test_asset": 14, "ament_add_gmock": 14, "ament_export_librari": 14, "ament_packag": 14, "test_depend": 14, "colcon": 14, "rememb": 14, "root": 14, "bash": 14, "enjoi": 14, "great": 14, "shell": 14, "certain": [15, 17, 21, 22], "achiev": [15, 17, 21, 22], "These": [15, 17, 21, 22], "geometry_msg": 16, "msg": [16, 18, 20], "wrenchstamp": 16, "wrapper": [16, 18], "forcetorquesensor": 16, "sensor_nam": [16, 18], "interface_nam": 16, "frame": [16, 18], "6d": 16, "ft": 16, "y": 16, "less": 16, "six": 16, "ax": 16, "example_nam": 16, "example_interfac": 16, "sensor_msg": 18, "imusensor": 18, "orient": 18, "angular_veloc": 18, "linear_acceler": 18, "joint_stat": 19, "dynamic_joint_st": 19, "By": [19, 20], "unless": 19, "latter": 19, "matrix": 19, "product": 19, "print": 19, "warn": 19, "use_local_top": 19, "my_state_broadcast": 19, "arrai": 19, "extra_joint": 19, "map_interface_to_joint_st": 19, "field": 19, "usecas": 19, "hydraul": [19, 20], "relianc": 19, "would": 19, "visual": 19, "robot_state_publish": 19, "rviz": 19, "techniqu": 19, "slightli": 19, "custom_interfac": 19, "kf_estimated_posit": 19, "derived_veloc": 19, "derived_effort": 19, "torque_sensor": 19, "current_sensor": 19, "reach": 20, "instant": 20, "mechan": 20, "spline": 20, "guarante": 20, "continu": 20, "discourag": 20, "becaus": 20, "yield": 20, "discontinu": 20, "cubic": 20, "quintic": 20, "pid": [20, 23], "similarli": 20, "eg": 20, "proxi": 20, "wrap": 20, "robust": 20, "clock": 20, "caus": 20, "queu": 20, "segment": 20, "ros__paramet": 20, "joint3": 20, "joint4": 20, "joint5": 20, "joint6": 20, "state_publish_r": 20, "action_monitor_r": 20, "20": 20, "allow_partial_joints_go": 20, "open_loop_control": 20, "true": 20, "stopped_velocity_toler": 20, "01": 20, "goal_tim": 20, "05": [20, 23], "03": 20, "monitor": 20, "action": 20, "control_msg": [20, 23], "followjointtrajectori": 20, "tri": 20, "numer": 20, "nan": 20, "std": 20, "numeric_limit": 20, "quiet_nan": 20, "toler": 20, "jointtrajectori": 20, "deviat": 20, "maxim": 20, "predefin": 20, "joint_trajectori": 20, "trajectory_msg": 20, "jointtrajectorycontrollerst": 20, "follow_joint_trajectori": 20, "server": 20, "position_velocity_control": 20, "position_velocity_acceleration_control": 20, "Not": 20, "yet": 20, "feedforward": 20, "term": [20, 23], "plu": 20, "171": 20, "Its": 23, "oper": 23, "overcom": 23, "idea": 23, "wide": 23, "toolkit": 23, "unreleas": 23, "smooth": 23, "doc": 23, "wg": 23, "meet": 23, "everi": 23, "wednesdai": 23, "join": 23, "announc": 23, "discours": 23, "googl": 23, "propos": 23, "previou": 23, "bug": 23, "tracker": 23, "minim": 23, "reproduc": 23, "regard": 23, "etc": 23, "question": 23, "answer": 23, "2023": 23, "12": 23, "30": 23, "31": 23, "built": 23, "gmt": 23}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 11], "process": 1, "merg": 1, "write": [1, 9, 14], "document": [1, 7, 23], "structur": [1, 2], "ci": 1, "configur": 1, "differ": 2, "ros_control": 2, "ros1": [2, 4], "hardwar": [2, 3, 4, 9, 12, 15, 17, 19, 20, 21, 22], "class": 2, "interfac": [2, 3, 10, 12, 15, 17, 19, 20, 21, 22], "control": [2, 3, 4, 6, 13, 14, 20], "": [2, 20], "access": 2, "migrat": [2, 9], "guid": 2, "ros2_control": [2, 4, 13, 23], "robothardwar": 2, "compon": [2, 3, 4, 8, 9], "get": 3, "start": 3, "compil": 3, "architectur": 3, "manag": [3, 6], "resourc": [3, 5], "user": 3, "descript": 3, "urdf": 3, "run": 3, "framework": 3, "your": 3, "robot": [3, 5], "project": 4, "idea": 4, "gsoc": 4, "2022": [4, 5], "asynchron": 4, "tutori": 4, "demo": [4, 11], "mission": 4, "add": 4, "support": 4, "semant": 4, "featur": [4, 7, 12, 20], "pariti": 4, "from": [4, 9], "present": 5, "2023": 5, "02": 5, "ro": 5, "meetup": 5, "munich": 5, "5": 5, "12": 5, "industri": 5, "confer": 5, "10": 5, "roscon": 5, "06": 5, "fr": 5, "2021": 5, "world": 5, "07": 5, "weekli": 5, "13": 5, "rosdevdai": 5, "05": 5, "diagram": 5, "imag": 5, "determin": 6, "helper": 6, "script": 6, "spawner": 6, "unspawn": 6, "api": 7, "core": 7, "function": 7, "concept": 7, "fake": 8, "gener": 8, "system": 8, "paramet": [8, 16, 18, 19, 20], "per": 8, "joint": [8, 20], "handl": 9, "error": 9, "happen": 9, "dure": 9, "read": 9, "call": 9, "foxi": 9, "galact": [9, 23], "command": [10, 12, 19], "line": 10, "list_control": 10, "list_controller_typ": 10, "list_hardware_interfac": 10, "load_control": 10, "reload_controller_librari": 10, "set_controller_st": 10, "switch_control": 10, "unload_control": 10, "organ": 11, "mode": 11, "switch": 11, "diff_drive_control": 12, "veloc": 12, "type": [12, 15, 17, 19, 20, 21, 22], "other": [12, 20], "nomenclatur": 13, "guidelin": 13, "best": 13, "practic": 13, "avail": 13, "broadcast": [13, 16, 18], "new": 14, "us": [14, 20], "extern": 14, "refer": 14, "effort_control": 15, "forc": 16, "torqu": 16, "sensor": [16, 18], "forward_command_control": 17, "imu": 18, "joint_state_broadcast": 19, "joint_trajectory_control": 20, "trajectori": 20, "represent": 20, "detail": 20, "about": 20, "ros2": 20, "special": 20, "version": 20, "jointtrajectorycontrol": 20, "tbd": 20, "position_control": 21, "velocity_control": 22, "welcom": 23, "overview": 23, "develop": 23, "organis": 23, "commun": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "Getting Started": [[3, "getting-started"]], "Compiling": [[3, "compiling"]], "Architecture": [[3, "architecture"]], "Controller Manager": [[3, "controller-manager"], [6, "controller-manager"]], "Resource Manager": [[3, "resource-manager"]], "Controllers": [[3, "controllers"], [13, "id1"]], "User Interfaces": [[3, "user-interfaces"]], "Hardware Components": [[3, "hardware-components"], [9, "hardware-components"]], "Hardware Description in URDF": [[3, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[3, "running-the-framework-for-your-robot"]], "Project Ideas for GSoC 2022": [[4, "project-ideas-for-gsoc-2022"]], "Asynchronous Control Components": [[4, "asynchronous-control-components"]], "Tutorials and Demos for ros2_control": [[4, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[4, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[4, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[4, "feature-parity-for-controllers-from-ros1"]], "Resources": [[5, "resources"]], "Presentations": [[5, "presentations"]], "2023-02 ROS Meetup Munich #5": [[5, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[5, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[5, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[5, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[5, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[5, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[5, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[5, "roscon-fr-2021"]], "Diagrams": [[5, "diagrams"]], "Images": [[5, "images"]], "Determinism": [[6, "determinism"]], "Helper scripts": [[6, "helper-scripts"]], "spawner": [[6, "spawner"]], "unspawner": [[6, "unspawner"]], "API Documentation": [[7, "api-documentation"]], "Core functionalities": [[7, "core-functionalities"]], "Features": [[7, "features"]], "Concepts": [[7, "concepts"]], "Fake Components": [[8, "fake-components"]], "Generic System": [[8, "generic-system"]], "Parameters": [[8, "parameters"], [16, "parameters"], [18, "parameters"], [19, "parameters"]], "Per-joint Parameters": [[8, "per-joint-parameters"]], "Handling of errors that happen during read() and write() calls": [[9, "handling-of-errors-that-happen-during-read-and-write-calls"]], "Migration from Foxy to Galactic": [[9, "migration-from-foxy-to-galactic"]], "Command Line Interface": [[10, "command-line-interface"]], "list_controllers": [[10, "list-controllers"]], "list_controller_types": [[10, "list-controller-types"]], "list_hardware_interfaces": [[10, "list-hardware-interfaces"]], "load_controller": [[10, "load-controller"]], "reload_controller_libraries": [[10, "reload-controller-libraries"]], "set_controller_state": [[10, "set-controller-state"]], "switch_controllers": [[10, "switch-controllers"]], "unload_controller": [[10, "unload-controller"]], "Demos": [[11, "demos"]], "Repository organization": [[11, "repository-organization"]], "Mode switching demo": [[11, "mode-switching-demo"]], "diff_drive_controller": [[12, "diff-drive-controller"]], "Velocity commands": [[12, "velocity-commands"]], "Hardware interface type": [[12, "hardware-interface-type"], [15, "hardware-interface-type"], [17, "hardware-interface-type"], [19, "hardware-interface-type"], [20, "hardware-interface-type"], [21, "hardware-interface-type"], [22, "hardware-interface-type"]], "Other features": [[12, "other-features"], [20, "other-features"]], "ros2_controllers": [[13, "ros2-controllers"]], "Nomenclature": [[13, "nomenclature"]], "Guidelines and Best Practices": [[13, "guidelines-and-best-practices"]], "Available Controllers": [[13, "available-controllers"]], "Available Broadcasters": [[13, "available-broadcasters"]], "Writing a new controller": [[14, "writing-a-new-controller"]], "Useful External References": [[14, "useful-external-references"]], "effort_controllers": [[15, "effort-controllers"]], "Force Torque Sensor Broadcaster": [[16, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[17, "forward-command-controller"]], "IMU Sensor Broadcaster": [[18, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[19, "joint-state-broadcaster"]], "Commands": [[19, "commands"]], "joint_trajectory_controller": [[20, "joint-trajectory-controller"]], "Trajectory representation": [[20, "trajectory-representation"]], "Using Joint Trajectory Controller(s)": [[20, "using-joint-trajectory-controller-s"]], "Details about parameters": [[20, "details-about-parameters"]], "ROS2 interface of the controller": [[20, "ros2-interface-of-the-controller"]], "Specialized versions of JointTrajectoryController (TBD in \u2026)": [[20, "specialized-versions-of-jointtrajectorycontroller-tbd-in"]], "position_controllers": [[21, "position-controllers"]], "velocity_controllers": [[22, "velocity-controllers"]], "Welcome to the ros2_control documentation - Galactic!": [[23, "welcome-to-the-ros2-control-documentation-galactic"]], "Overview": [[23, "overview"]], "Development Organisation and Communication": [[23, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/humble/.buildinfo b/humble/.buildinfo index 2503af98576..4724d10ac11 100644 --- a/humble/.buildinfo +++ b/humble/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: defd8f5a03911bb1cd62dbb1ee4a9be6 +config: 99fff7a72341596a9d77ced0d4f0c43c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree b/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree index f36f9b93f14..8327d8dc315 100644 Binary files a/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree and b/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree differ diff --git a/humble/.doctrees/doc/contributing/contributing.doctree b/humble/.doctrees/doc/contributing/contributing.doctree index 8fc04aa3cea..70807e98334 100644 Binary files a/humble/.doctrees/doc/contributing/contributing.doctree and b/humble/.doctrees/doc/contributing/contributing.doctree differ diff --git a/humble/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree b/humble/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree index 40d3dc8f2c3..aaae5639b1c 100644 Binary files a/humble/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree and b/humble/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree differ diff --git a/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree b/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree index d5910c51991..fbc5258c1e7 100644 Binary files a/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree and b/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree differ diff --git a/humble/.doctrees/doc/getting_started/getting_started.doctree b/humble/.doctrees/doc/getting_started/getting_started.doctree index b39f947a126..45d9b88f68e 100644 Binary files a/humble/.doctrees/doc/getting_started/getting_started.doctree and b/humble/.doctrees/doc/getting_started/getting_started.doctree differ diff --git a/humble/.doctrees/doc/gz_ros2_control/doc/index.doctree b/humble/.doctrees/doc/gz_ros2_control/doc/index.doctree index bbc31dbf6a3..40123da4f15 100644 Binary files a/humble/.doctrees/doc/gz_ros2_control/doc/index.doctree and b/humble/.doctrees/doc/gz_ros2_control/doc/index.doctree differ diff --git a/humble/.doctrees/doc/project_ideas.doctree b/humble/.doctrees/doc/project_ideas.doctree index c16b8ac5cdd..04f1a2de912 100644 Binary files a/humble/.doctrees/doc/project_ideas.doctree and b/humble/.doctrees/doc/project_ideas.doctree differ diff --git a/humble/.doctrees/doc/resources/resources.doctree b/humble/.doctrees/doc/resources/resources.doctree index 62bdd9b5a8e..17639bbc42b 100644 Binary files a/humble/.doctrees/doc/resources/resources.doctree and b/humble/.doctrees/doc/resources/resources.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree b/humble/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree index f1dd39aab2a..10086164c37 100644 Binary files a/humble/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree and b/humble/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree index d8564563c8d..18361f3525c 100644 Binary files a/humble/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/doc/index.doctree b/humble/.doctrees/doc/ros2_control/doc/index.doctree index fbe3ad94afb..8ca229ae9e4 100644 Binary files a/humble/.doctrees/doc/ros2_control/doc/index.doctree and b/humble/.doctrees/doc/ros2_control/doc/index.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree index d6954f6a61e..2bf1c8aea50 100644 Binary files a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree and b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree index 9b2dbb07b69..bffc0604218 100644 Binary files a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree and b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree index d6812954ffb..bf0a3263c84 100644 Binary files a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree and b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree index 1d3ca9a3a6d..cca27282f55 100644 Binary files a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree and b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree differ diff --git a/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 2a84267861a..38634ca8642 100644 Binary files a/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree b/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree index 4e0ef5585a4..f339fb9941d 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree and b/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree b/humble/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree index 64e8e7208af..a7d62d3ebf1 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree and b/humble/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree index edbc216a66b..4cdf9fa0e97 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree index 5bd58dc6f2b..f5f6ccf0b78 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree index 128a6759456..ec03a0104df 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree index fe25013917c..915eca2ac2d 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree index e60103cc602..613f37a903f 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree index 82dc2be04df..15b5fe17b7d 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree index ad68869475e..4a5d956ad5d 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree index 168eec778ce..a0789fa705c 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree index 9ccb58958e5..53b266a41e0 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree index c273a30105c..40fdf1bf465 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree index 10484b43a14..f9a5c906cd3 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree index d72afa85d4a..d041173b45a 100644 Binary files a/humble/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree index f629684d74d..5a4cbd558d6 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree index b0093a01ad2..119d6c3dfbc 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree index 2b569c2b049..f587cddab53 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree index 74f8e110140..c811fe94e9a 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index c2ca99e210d..51b6e8abd5e 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree and b/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree b/humble/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree index a7b2864a192..aafefc0533a 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree and b/humble/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree index b6307b99081..d9f5da0ae06 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree index 816b9060976..3e2b68a2e00 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index 49a5e0b2cc5..39b09eb2a5c 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree index 66bb8ba6e37..328c796e070 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree index d3101772f9f..7b96be0ed33 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree index 2bccdd6b864..22b040625c5 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree index f7c32978b68..7cf30d4ee22 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree and b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree index 40d04987704..cafa0c9f1c6 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree and b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree index 7e6c8c9b152..53d838ad94e 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index 8a3a30c687f..baa894d52b4 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree index b6a878e5815..8ed69f4b1e7 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree index 68b3244f8fe..48328014726 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree index 2636c110218..2492944711e 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree index aa2295dc0bd..69ce370d82e 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree index d778f73a3d0..d98f626d4be 100644 Binary files a/humble/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree and b/humble/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree differ diff --git a/humble/.doctrees/doc/simulators/simulators.doctree b/humble/.doctrees/doc/simulators/simulators.doctree index 588cfad6e04..465964568ec 100644 Binary files a/humble/.doctrees/doc/simulators/simulators.doctree and b/humble/.doctrees/doc/simulators/simulators.doctree differ diff --git a/humble/.doctrees/doc/supported_robots/supported_robots.doctree b/humble/.doctrees/doc/supported_robots/supported_robots.doctree index b790223765e..40d7b944a9f 100644 Binary files a/humble/.doctrees/doc/supported_robots/supported_robots.doctree and b/humble/.doctrees/doc/supported_robots/supported_robots.doctree differ diff --git a/humble/.doctrees/environment.pickle b/humble/.doctrees/environment.pickle index 2aba037e89a..1d8615e6e48 100644 Binary files a/humble/.doctrees/environment.pickle and b/humble/.doctrees/environment.pickle differ diff --git a/humble/.doctrees/index.doctree b/humble/.doctrees/index.doctree index 48ddfdb3829..8ce306ece33 100644 Binary files a/humble/.doctrees/index.doctree and b/humble/.doctrees/index.doctree differ diff --git a/humble/doc/acknowledgements/acknowledgements.html b/humble/doc/acknowledgements/acknowledgements.html index 6ca43a9947e..9f866702388 100644 --- a/humble/doc/acknowledgements/acknowledgements.html +++ b/humble/doc/acknowledgements/acknowledgements.html @@ -154,18 +154,18 @@

Maintainers
0.82
-
+
- + @@ -183,15 +183,15 @@

Maintainers -
+
0.57
-
+
@@ -215,7 +215,7 @@

Maintainers -
+
0.88 @@ -228,7 +228,7 @@

Maintainers
0.75
-
+
- + @@ -308,15 +308,15 @@

Maintainers -
+
0.31
-
+
@@ -340,7 +340,7 @@

Maintainers -
+
0.87 @@ -353,7 +353,7 @@

Maintainers -
+
0.97
-
+
- + @@ -552,15 +552,15 @@

Reviewers’ Stats
- 0.28 + 0.27
-
+
@@ -581,15 +581,15 @@

Reviewers’ Stats
- 0.78 + 0.77
-
+
@@ -813,7 +813,7 @@

Reviewers’ Stats
@@ -821,7 +821,7 @@

Reviewers’ Stats -
+
@@ -1267,28 +1267,28 @@

Reviewers’ Stats
- harderthan + DasRoteSkelett
- 124 + 149 6
- 0.05 + 0.04
-
+
- + @@ -1296,28 +1296,28 @@

Reviewers’ Stats
- DasRoteSkelett + harderthan
- 148 + 124 6
- 0.04 + 0.05
-
+
- + @@ -1364,15 +1364,15 @@

Reviewers’ Stats
- 0.50 + 0.42
-
+
@@ -1422,7 +1422,7 @@

Reviewers’ Stats
@@ -1430,7 +1430,7 @@

Reviewers’ Stats -
+
@@ -2118,7 +2118,7 @@

Reviewers’ Stats
@@ -2126,7 +2126,7 @@

Reviewers’ Stats -
+
@@ -3758,7 +3758,7 @@

Reviewers’ Stats
0.97
-
+
- + @@ -3841,7 +3841,7 @@

Reviewers’ Stats -
+
0.80 @@ -3867,15 +3867,15 @@

Reviewers’ Stats -
+
0.26
-
+
@@ -3896,15 +3896,15 @@

Reviewers’ Stats -
+
- 0.74 + 0.71
-
+
@@ -3928,7 +3928,7 @@

Reviewers’ Stats -
+
0.10 @@ -3957,7 +3957,7 @@

Reviewers’ Stats -
+
1.00 @@ -3983,15 +3983,15 @@

Reviewers’ Stats -
+
0.07
-
+
@@ -4015,7 +4015,7 @@

Reviewers’ Stats -
+
0.07 @@ -4041,15 +4041,15 @@

Reviewers’ Stats -
+
- 0.50 + 0.42
-
+
@@ -4073,7 +4073,7 @@

Reviewers’ Stats -
+
1.00 @@ -4102,7 +4102,7 @@

Reviewers’ Stats -
+
0.05 @@ -4131,7 +4131,7 @@

Reviewers’ Stats -
+
1.00 @@ -4160,7 +4160,7 @@

Reviewers’ Stats -
+
0.57 @@ -4189,7 +4189,7 @@

Reviewers’ Stats -
+
1.00 @@ -4218,7 +4218,7 @@

Reviewers’ Stats -
+
1.00 @@ -4234,28 +4234,28 @@

Reviewers’ Stats
- livanov93 + DasRoteSkelett
- 97 + 94 2
-
+
0.02
-
+
- + @@ -4263,28 +4263,28 @@

Reviewers’ Stats
- DasRoteSkelett + livanov93
- 93 + 97 2
-
+
0.02
-
+
- + @@ -4305,7 +4305,7 @@

Reviewers’ Stats -
+
1.00 @@ -4334,7 +4334,7 @@

Reviewers’ Stats -
+
1.00 @@ -4360,15 +4360,15 @@

Reviewers’ Stats -
+
0.02
-
+
@@ -4392,7 +4392,7 @@

Reviewers’ Stats -
+
0.01 @@ -4421,7 +4421,7 @@

Reviewers’ Stats -
+
0.01 @@ -4447,15 +4447,15 @@

Reviewers’ Stats -
+
0.01
-
+
@@ -4479,7 +4479,7 @@

Reviewers’ Stats -
+
0.01 @@ -4508,7 +4508,7 @@

Reviewers’ Stats -
+
1.00 @@ -4537,7 +4537,7 @@

Reviewers’ Stats -
+
0.03 @@ -4566,7 +4566,7 @@

Reviewers’ Stats -
+
1.00 @@ -4595,7 +4595,7 @@

Reviewers’ Stats -
+
1.00 @@ -4624,7 +4624,7 @@

Reviewers’ Stats -
+
1.00 @@ -4653,7 +4653,7 @@

Reviewers’ Stats -
+
1.00 @@ -4682,7 +4682,7 @@

Reviewers’ Stats -
+
1.00 @@ -4711,7 +4711,7 @@

Reviewers’ Stats -
+
1.00 @@ -4740,7 +4740,7 @@

Reviewers’ Stats -
+
1.00 @@ -4769,7 +4769,7 @@

Reviewers’ Stats -
+
1.00 @@ -4798,7 +4798,7 @@

Reviewers’ Stats -
+
1.00 @@ -4827,7 +4827,7 @@

Reviewers’ Stats -
+
0.33 @@ -4856,7 +4856,7 @@

Reviewers’ Stats -
+
1.00 @@ -4885,7 +4885,7 @@

Reviewers’ Stats -
+
1.00 @@ -4914,7 +4914,7 @@

Reviewers’ Stats -
+
1.00 @@ -4943,7 +4943,7 @@

Reviewers’ Stats -
+
1.00 @@ -4972,7 +4972,7 @@

Reviewers’ Stats -
+
1.00 @@ -5001,7 +5001,7 @@

Reviewers’ Stats -
+
0.50 @@ -5030,7 +5030,7 @@

Reviewers’ Stats -
+
1.00 @@ -5420,7 +5420,7 @@

Reviewers’ Stats -

Built on 2023-12-29 at 05:31 GMT

+

Built on 2023-12-30 at 05:31 GMT

diff --git a/humble/searchindex.js b/humble/searchindex.js index 7f90493056f..9b9d56e712d 100644 --- a/humble/searchindex.js +++ b/humble/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/gazebo_ros2_control/doc/index", "doc/getting_started/getting_started", "doc/gz_ros2_control/doc/index", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/controller_chaining", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc", "doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc", "doc/ros2_control/hardware_interface/doc/mock_components_userdoc", "doc/ros2_control/hardware_interface/doc/writing_new_hardware_component", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_control_demos/doc/run_from_docker", "doc/ros2_control_demos/example_1/doc/userdoc", "doc/ros2_control_demos/example_10/doc/userdoc", "doc/ros2_control_demos/example_12/doc/userdoc", "doc/ros2_control_demos/example_14/doc/userdoc", "doc/ros2_control_demos/example_2/doc/userdoc", "doc/ros2_control_demos/example_3/doc/userdoc", "doc/ros2_control_demos/example_4/doc/userdoc", "doc/ros2_control_demos/example_5/doc/userdoc", "doc/ros2_control_demos/example_6/doc/userdoc", "doc/ros2_control_demos/example_7/doc/userdoc", "doc/ros2_control_demos/example_8/doc/userdoc", "doc/ros2_control_demos/example_9/doc/userdoc", "doc/ros2_controllers/ackermann_steering_controller/doc/userdoc", "doc/ros2_controllers/admittance_controller/doc/userdoc", "doc/ros2_controllers/bicycle_steering_controller/doc/userdoc", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/gripper_controllers/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/parameters", "doc/ros2_controllers/joint_trajectory_controller/doc/trajectory", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/steering_controllers_library/doc/userdoc", "doc/ros2_controllers/tricycle_controller/doc/userdoc", "doc/ros2_controllers/tricycle_steering_controller/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "doc/simulators/simulators", "doc/supported_robots/supported_robots", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/gazebo_ros2_control/doc/index.rst", "doc/getting_started/getting_started.rst", "doc/gz_ros2_control/doc/index.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/controller_chaining.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.rst", "doc/ros2_control/hardware_interface/doc/mock_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_control_demos/doc/run_from_docker.rst", "doc/ros2_control_demos/example_1/doc/userdoc.rst", "doc/ros2_control_demos/example_10/doc/userdoc.rst", "doc/ros2_control_demos/example_12/doc/userdoc.rst", "doc/ros2_control_demos/example_14/doc/userdoc.rst", "doc/ros2_control_demos/example_2/doc/userdoc.rst", "doc/ros2_control_demos/example_3/doc/userdoc.rst", "doc/ros2_control_demos/example_4/doc/userdoc.rst", "doc/ros2_control_demos/example_5/doc/userdoc.rst", "doc/ros2_control_demos/example_6/doc/userdoc.rst", "doc/ros2_control_demos/example_7/doc/userdoc.rst", "doc/ros2_control_demos/example_8/doc/userdoc.rst", "doc/ros2_control_demos/example_9/doc/userdoc.rst", "doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.rst", "doc/ros2_controllers/admittance_controller/doc/userdoc.rst", "doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/gripper_controllers/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/parameters.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/steering_controllers_library/doc/userdoc.rst", "doc/ros2_controllers/tricycle_controller/doc/userdoc.rst", "doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "doc/simulators/simulators.rst", "doc/supported_robots/supported_robots.rst", "index.rst"], "titles": ["Acknowledgements", "Contributing", "Differences to ros_control (ROS1)", "gazebo_ros2_control", "Getting Started", "gz_ros2_control", "Project Ideas for GSoC 2024", "Resources", "Controller Chaining / Cascade Control", "Controller Manager", "ros2_control", "Hardware Components", "ros2_control hardware interface types", "Mock Components", "Writing a Hardware Component", "Command Line Interface", "Demos", "<no title>", "Example 1: RRBot", "Example 10: Industrial robot with GPIO interfaces", "Example 12: Controller chaining with RRBot", "Example 14: Modular robot with actuators not providing states", "DiffBot", "Example 3: Robots with multiple interfaces", "Example 4: Industrial robot with integrated sensor", "Example 5: Industrial robot with externally connected sensor", "Example 6: Modular Robots with separate communication to each actuator", "Example 7: Full tutorial with a 6DOF robot", "Example 8: Industrial Robots with an exposed transmission interface", "Example 9: Simulation with RRBot", "ackermann_steering_controller", "Admittance Controller", "bicycle_steering_controller", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "Gripper Action Controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "Details about parameters", "Trajectory Representation", "joint_trajectory_controller", "position_controllers", "Range Sensor Broadcaster", "steering_controllers_library", "tricycle_controller", "tricycle_steering_controller", "velocity_controllers", "Simulator Integrations", "Supported Robots", "Welcome to the ros2_control documentation - Humble!"], "terms": {"The": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53], "follow": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 42, 43, 44, 45, 49, 50, 53], "peopl": [0, 1], "were": [0, 6, 27, 33, 43, 44], "ros2_control": [0, 1, 4, 7, 9, 11, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 33, 35, 51], "framework": [0, 1, 2, 6, 7, 9, 10, 11, 12, 13, 15, 16, 27, 34, 35, 41, 53], "show": [0, 1, 3, 4, 5, 7, 9, 11, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 41, 43], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 35, 41, 42, 43, 44, 52], "time": [0, 1, 2, 6, 7, 9, 13, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 33, 35, 37, 42, 43, 44, 53], "activ": [0, 1, 2, 4, 9, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41, 42, 44], "assign": [0, 35], "finish": 0, "rate": [0, 22, 42, 43, 44], "last": [0, 11, 14, 27, 31, 35, 42, 43, 44], "date": 0, "benc": [0, 6, 7], "magyar": [0, 6, 7], "bmagyar": 0, "1241": 0, "1021": 0, "0": [0, 3, 4, 5, 8, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 39, 40, 41, 42, 43, 44, 46, 47, 49], "82": 0, "2023": [0, 53], "12": [0, 16, 52, 53], "27t10": 0, "00": 0, "07z": 0, "dr": [0, 7], "deni": [0, 6, 7], "destogl": 0, "983": 0, "561": 0, "57": 0, "18t14": 0, "11": [0, 16], "03z": 0, "christoph": 0, "fr\u00f6hlich": 0, "christophfroehlich": 0, "152": 0, "133": 0, "88": 0, "26t09": 0, "02z": 0, "fetch": 0, "29": [0, 53], "03": [0, 44], "26": 0, "27": 0, "utc": 0, "dure": [0, 16, 27, 44], "past": [0, 43], "month": 0, "530": 0, "399": 0, "75": 0, "436": 0, "136": 0, "31": [0, 53], "141": 0, "122": 0, "87": 0, "have": [0, 1, 2, 4, 6, 8, 9, 11, 12, 13, 14, 16, 18, 20, 22, 23, 27, 29, 30, 31, 32, 35, 41, 42, 44, 49], "contribut": [0, 4, 7], "develop": [0, 1, 7, 13, 14, 16, 35], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 27, 30, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53], "project": [0, 1, 53], "give": [0, 1, 7, 9, 16, 18, 22, 23, 43, 53], "valuabl": 0, "pull": [0, 14], "request": [0, 2, 14, 27, 41, 53], "see": [0, 1, 2, 4, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 40, 42, 44, 46, 47, 49], "more": [0, 1, 2, 3, 4, 5, 6, 9, 13, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 44, 49], "inform": [0, 3, 5, 8, 13, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 35, 53], "karsten": 0, "knese": 0, "karsten1987": 0, "186": 0, "118": 0, "63": 0, "2021": 0, "09": 0, "07t16": 0, "47": 0, "31z": 0, "alejandro": 0, "hern\u00e1ndez": 0, "cordero": 0, "ahcord": 0, "90": [0, 27], "80": 0, "89": 0, "54": 0, "11z": 0, "sai": 0, "kishor": 0, "kothakota": 0, "saikishor": 0, "67": 0, "65": 0, "97": 0, "27t13": 0, "victor": 0, "lopez": 0, "v": [0, 15, 24, 42], "93": 0, "60": 0, "10": [0, 3, 5, 16, 23, 47], "14t09": 0, "01": [0, 39, 42, 44], "andyz": 0, "46": 0, "45": 0, "98": 0, "23t02": 0, "17": 0, "26z": 0, "abrar": 0, "rahman": 0, "protyasha": 0, "aprotya": 0, "156": 0, "43": [0, 4, 12, 22], "28": [0, 47], "25t12": 0, "02": 0, "18z": 0, "olivi": 0, "stass": 0, "51": 0, "40": 0, "78": 0, "26t08": 0, "52": [0, 46], "13z": 0, "jordan": 0, "palacio": 0, "34": 0, "44": 0, "15t08": 0, "45z": 0, "erick": 0, "g": [0, 1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 31, 35, 36, 41, 45, 47, 50, 53], "isla": 0, "osuna": 0, "erickiso": 0, "139": 0, "20": [0, 39, 42, 44], "19t20": 0, "32": 0, "louis": 0, "poubel": 0, "chapulina": 0, "23": [0, 4], "79": 0, "2022": 0, "08": 0, "30t16": 0, "41": 0, "23z": 0, "none": [0, 8, 35, 41, 42, 44], "bijoua29": 0, "160": 0, "21": [0, 47], "13": [0, 16], "06": 0, "01t20": 0, "48": [0, 3, 5], "32z": 0, "jaron": 0, "l": 0, "167": 0, "10t19": 0, "59": 0, "59z": 0, "livanov93": 0, "164": 0, "05": [0, 44, 53], "22t06": 0, "28z": 0, "tyler": 0, "weaver": 0, "tylerjw": 0, "18": [0, 27], "94": 0, "arn": 0, "hitzmann": 0, "arne48": 0, "144": 0, "16": [0, 52], "25t06": 0, "15z": 0, "bailac": 0, "14": [0, 16, 47], "1": [0, 1, 2, 3, 4, 5, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 39, 43, 46, 47], "09t12": 0, "52z": 0, "m\u00e1rk": 0, "szitan": 0, "vx792": 0, "135": 0, "22t09": 0, "felix": 0, "exner": 0, "fexner": 0, "fmauch": 0, "24t22": 0, "ari": 0, "synodino": 0, "progtologist": 0, "151": 0, "07": 0, "30t19": 0, "58z": 0, "chen": 0, "bainian": 0, "briancbn": 0, "36": 0, "9": [0, 6, 16, 40], "25": 0, "25t01": 0, "12z": 0, "paul": 0, "gesel": 0, "pac48": 0, "69": 0, "14t18": 0, "maciej": 0, "bednarczyk": 0, "mcbed": 0, "123": 0, "8": [0, 16], "25t18": 0, "19z": 0, "jafar": 0, "uru\u00e7": 0, "jafarabdi": 0, "07t07": 0, "01z": 0, "ddengster": 0, "2020": 0, "01t03": 0, "andr": 0, "montano": 0, "anfemosa": 0, "7": [0, 16, 19, 22, 47], "29t15": 0, "37z": 0, "homalozoa": 0, "x": [0, 22, 24, 25, 27, 31, 33, 37, 40, 47, 48, 52], "130": 0, "23t11": 0, "22": [0, 9], "mahaarbo": 0, "01t11": 0, "44z": 0, "matt": 0, "reynold": 0, "matthew": 0, "18t19": 0, "56": 0, "34z": 0, "ana": 0, "abou": 0, "allaban": 0, "piraka9011": 0, "04": [0, 9], "09t00": 0, "38": [0, 3, 5], "06z": 0, "toni": [0, 7], "najjar": [0, 7], "tonynajjar": 0, "04t13": 0, "50": [0, 4, 9, 22, 42, 44], "48z": 0, "brewmast": 0, "harderthan": 0, "124": 0, "6": [0, 16, 18, 27], "26t15": 0, "47z": 0, "dasroteskelett": 0, "148": 0, "28t09": 0, "36z": 0, "A": [0, 4, 7, 12, 14, 16, 24, 25, 35, 41, 43, 44], "vd": 0, "hoorn": 0, "gavanderhoorn": 0, "19t13": 0, "39": 0, "alex": 0, "moriarti": 0, "5": [0, 14, 16, 18, 19, 20, 21, 23, 24, 26, 27, 28, 29, 43, 47, 52], "20t19": 0, "55": 0, "jack": 0, "jackcent": 0, "02t15": 0, "37": 0, "17z": 0, "han": 0, "martin": 0, "duringhof": 0, "132": 0, "4": [0, 12, 16, 21, 23, 25, 28, 46], "29t21": 0, "15": 0, "noel": 0, "jim\u00e9nez": 0, "garc\u00eda": 0, "noel215": 0, "20t07": 0, "40z": 0, "nathan": [0, 7], "brook": [0, 7], "nbbrook": 0, "05t22": 0, "marq": 0, "rasmussen": 0, "marqrazz": 0, "23t00": 0, "colin": 0, "mackenzi": 0, "guru": 0, "florida": 0, "19t23": 0, "49z": 0, "reza": 0, "kermani": 0, "ark3r": 0, "13t18": 0, "27z": 0, "chri": 0, "thrasher": 0, "christhrash": 0, "26t17": 0, "05z": 0, "michael": 0, "wiznitz": 0, "mechwiz": 0, "22t14": 0, "19": 0, "richard": 0, "osterloh": 0, "rosterloh": 0, "145": 0, "3": [0, 3, 4, 5, 6, 12, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 43, 44], "05t08": 0, "53": 0, "08z": 0, "mrl1kor": 0, "malapatiravi": 0, "07t18": 0, "adam": 0, "serafin": 0, "serafadam": 0, "12t18": 0, "24": 0, "24z": 0, "manuel": 0, "muth": 0, "mamueluth": 0, "03t10": 0, "20z": 0, "melvin": 0, "wang": 0, "wmmc88": 0, "22t13": 0, "tim": 0, "clepha": 0, "timpl": 0, "13t07": 0, "yutaka": 0, "kondo": 0, "youtalk": 0, "22t00": 0, "guihom": 0, "guihomework": 0, "17t15": 0, "jose": 0, "lui": 0, "rivero": 0, "j": 0, "26t13": 0, "peter": 0, "david": 0, "fagan": 0, "peterdavidfagan": 0, "2": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 44, 47, 52, 53], "23t22": 0, "sebastian": 0, "jahr": 0, "sjahr": 0, "15t14": 0, "joseph": 0, "schornak": 0, "schornakj": 0, "27t03": 0, "57z": 0, "akash": 0, "ace314159": 0, "31t17": 0, "jo\u00e3o": 0, "torr": 0, "borg": 0, "borgesjvt": 0, "05t12": 0, "46z": 0, "patrick": 0, "roncagliolo": 0, "roncapat": 0, "01t12": 0, "49": 0, "carrol": 0, "mjcarrol": 0, "28t21": 0, "09z": 0, "vansh": 0, "gehlot": 0, "eth": 0, "vanshgehlot": 0, "13t11": 0, "mhubii": 0, "21t11": 0, "50z": 0, "luka": 0, "macha": 0, "lukasmacha97": 0, "85": 0, "17t18": 0, "sachin": 0, "kumar": 0, "sachinkum0009": 0, "lennart": 0, "nachtigal": 0, "firesurf": 0, "04t07": 0, "qiayuanliao": 0, "qiayuanl": 0, "35": [0, 47], "25t05": 0, "solomon": 0, "swiz23": 0, "15t15": 0, "andi": [0, 7], "mcevoi": 0, "mcevoyandi": 0, "08t14": 0, "kenji": 0, "brameld": 0, "ijnek": 0, "05t10": 0, "53z": 0, "bilal": 0, "gill": 0, "bgill92": 0, "01t13": 0, "22z": 0, "kvk": 0, "praneeth": 0, "kvkpraneeth": 0, "28t07": 0, "33z": 0, "cian": 0, "donovan": 0, "ciandonovan": 0, "26t23": 0, "schulz": 0, "schulze18": 0, "27t21": 0, "29z": 0, "shawn": 0, "schaerer": 0, "shawnschaer": 0, "14t15": 0, "franz": 0, "fjp": 0, "04t22": 0, "vatan": 0, "aksoi": 0, "tezer": 0, "vatanaksoytez": 0, "21t13": 0, "nour": 0, "saeed": 0, "d": [0, 16, 18, 29, 42], "dmitri": 0, "dignakov": 0, "13t16": 0, "30": [0, 3, 5, 22], "ken551": 0, "03t11": 0, "54z": 0, "jonatan": 0, "olofsson": 0, "jonatanolofsson": 0, "05t14": 0, "bedard": 0, "christophebedard": 0, "27t18": 0, "august": 0, "bourgoi": 0, "augustebourgoi": 0, "19t14": 0, "ramon": 0, "wijnand": 0, "rayman": 0, "21t14": 0, "21z": 0, "flochr": 0, "20t10": 0, "castro": 0, "sea": 0, "bass": 0, "27t12": 0, "51z": 0, "abishalini": 0, "sivaraman": 0, "27t14": 0, "ramcharanthota": 0, "ben": 0, "holden": 0, "bobblebal": 0, "01t10": 0, "Will": 0, "baker": 0, "willcbak": 0, "22t15": 0, "robotgir": 0, "17t16": 0, "33": 0, "tomislav": 0, "petkovi\u0107": 0, "petkovich": 0, "17t10": 0, "ros2tori": 0, "28t15": 0, "kevin": 0, "demarco": 0, "syllogismrx": 0, "19t16": 0, "noe\u00ebl": 0, "moeskop": 0, "noeelmoeskop": 0, "18t09": 0, "josh": 0, "newan": 0, "joshnewan": 0, "14t08": 0, "emiliano": 0, "borghi": 0, "eborghi10": 0, "29t20": 0, "haider8645": 0, "26t10": 0, "stephen": 0, "street": 0, "sgstreet": 0, "05t20": 0, "jun": 0, "chenjunnn": 0, "09t06": 0, "daniel": 0, "zumkel": 0, "dzumkel": 0, "shane": 0, "loretz": 0, "sloretz": 0, "yoav": 0, "feket": 0, "yoavfeket": 0, "17t21": 0, "johann": [0, 7], "huemer": 0, "huemerj": 0, "31t15": 0, "keegan": 0, "soteb": 0, "ksoteb": 0, "00z": 0, "carlo": 0, "ag\u00fcero": 0, "caguero": 0, "26t11": 0, "35z": 0, "jacob": 0, "perron": 0, "jacobperron": 0, "09t18": 0, "42": 0, "reframesystem": 0, "krzysztof": 0, "wojciechowski": 0, "kotochleb": 0, "12t08": 0, "55z": 0, "addisu": 0, "z": [0, 22, 24, 25, 27, 31, 33, 37, 40, 47, 48], "taddes": 0, "azeei": 0, "14t20": 0, "thibault": 0, "poignonec": 0, "tpoignonec": 0, "09t08": 0, "sgmurrai": 0, "0000": 0, "00t00": 0, "kelli": 0, "kellyprankin": 0, "kasiceo": 0, "a10263790": 0, "tomoya": 0, "tomoyafujita2016": 0, "usamahamayun1": 0, "dave": 0, "coleman": 0, "davetcoleman": 0, "64": 0, "62": 0, "91": 0, "74": 0, "104": 0, "03t19": 0, "14z": 0, "86": 0, "99": [0, 9], "72": 0, "link": [0, 3, 4, 5, 7, 8, 11, 27, 34], "list": [0, 4, 7, 8, 9, 11, 14, 15, 20, 27, 35, 42, 51, 52, 53], "who": 0, "submit": [0, 1, 7, 51, 52], "respect": [0, 3, 5, 6, 7, 42, 43, 44], "repositori": [0, 4, 6, 10, 12, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 33, 34], "ros2_control_demo": [0, 1, 4, 16, 18, 27, 29, 53], "control_toolbox": [0, 53], "gazebo_ros2_control": [0, 29], "gz_ros2_control": 0, "realtime_tool": [0, 6, 53], "kinematics_interfac": [0, 31], "control_msg": [0, 3, 5, 31, 42, 44, 47, 53], "ha": [0, 1, 3, 4, 5, 7, 12, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 35, 41, 42, 43], "receiv": [0, 2, 27, 42, 43], "major": [0, 40], "from": [0, 1, 2, 7, 8, 9, 13, 14, 15, 17, 27, 31, 33, 34, 35, 36, 37, 40, 42, 43, 44, 45, 46, 48, 50, 52, 53], "support": [0, 2, 3, 4, 5, 7, 13, 14, 15, 27, 31, 35, 41, 43, 44, 47, 51, 53], "rosin": 0, "ro": [0, 1, 2, 3, 4, 5, 6, 9, 12, 13, 15, 16, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 43, 44, 53], "industri": [0, 4, 6, 16, 52], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 3, 5, 6, 8, 9, 12, 18, 20, 22, 29, 33, 37, 41, 47, 48, 53], "softwar": [0, 4, 27], "compon": [0, 7, 9, 10, 12, 15, 16, 21, 22, 23, 24, 25, 26, 27, 31, 33, 34, 37, 40, 46, 47, 48, 53], "http": [0, 1, 4, 6, 16, 27, 30, 32, 49], "www": 0, "eu": 0, "fund": 0, "european": 0, "union": 0, "": [0, 1, 4, 6, 7, 8, 9, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 35, 40, 42, 43, 46, 49, 53], "horizon": 0, "research": [0, 7, 52], "innov": 0, "programm": 0, "under": [0, 7, 14, 20, 35, 43, 44, 47, 53], "grant": [0, 4], "agreement": 0, "732287": 0, "first": [1, 2, 8, 11, 14, 16, 27, 29, 35, 42, 43], "thank": 1, "you": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 35, 44, 53], "consid": [1, 15, 42], "As": [1, 8, 12, 14, 18, 27, 33, 35], "an": [1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 20, 22, 25, 27, 29, 30, 31, 32, 33, 35, 36, 41, 42, 44, 45, 47, 49, 50], "open": [1, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41, 42, 47], "sourc": [1, 3, 5, 7, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "we": [1, 3, 5, 6, 7, 8, 11, 16, 18, 20, 22, 27, 28, 29, 41], "welcom": 1, "each": [1, 4, 6, 8, 11, 12, 14, 16, 18, 21, 27, 30, 41, 47, 49], "contributor": 1, "regardless": 1, "background": [1, 16], "experi": 1, "To": [1, 2, 4, 8, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41, 43, 51, 52, 53], "reduc": [1, 13], "entropi": 1, "univers": [1, 7, 27, 52], "our": [1, 3, 4, 5, 6, 7, 16, 18, 27], "vivid": 1, "collabor": 1, "environ": [1, 4, 7, 16], "set": [1, 2, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 27, 36, 41, 42, 43, 44, 45, 47, 50], "up": [1, 7, 14, 16, 43], "some": [1, 3, 5, 6, 7, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 31, 41, 42, 44, 53], "standard": [1, 2, 6, 7, 14, 15, 21, 26, 27, 37, 41], "method": [1, 2, 4, 8, 9, 11, 14, 27, 35, 47], "requir": [1, 2, 4, 6, 14, 27, 31, 35, 36, 44, 45, 50], "ar": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 40, 41, 42, 43, 44, 46, 47, 48, 49, 53], "limit": [1, 3, 5, 7, 9, 16, 27, 33, 48], "scope": 1, "your": [1, 2, 7, 9, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 32, 35, 51, 52, 53], "pr": [1, 51, 52], "should": [1, 2, 3, 5, 6, 7, 8, 9, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 35, 41, 43, 44], "do": [1, 2, 4, 6, 7, 8, 9, 14, 16, 31, 35, 44], "one": [1, 2, 4, 6, 7, 8, 9, 12, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 36, 37, 41, 43, 44, 45, 47, 49, 50, 53], "thing": [1, 3, 5, 16], "avoid": [1, 18, 21, 22, 23, 24, 25, 26, 28, 35], "ad": [1, 3, 5, 6, 9, 13, 14, 20, 22, 27, 35, 41], "random": [1, 21, 23, 24, 25, 26], "fix": [1, 2, 27, 30, 32, 49], "put": [1, 14, 35], "those": [1, 2, 4, 6, 8, 13, 14, 16, 27, 33, 35, 37, 41, 42, 43], "separ": [1, 2, 4, 16, 21, 41], "descript": [1, 2, 7, 9, 11, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 35], "titl": 1, "add": [1, 2, 8, 9, 11, 14, 27, 30, 31, 32, 35, 49, 51, 52], "short": [1, 35, 53], "summari": [1, 7, 53], "make": [1, 2, 5, 6, 7, 20, 27, 39, 53], "sure": [1, 5, 6, 18, 20, 21, 22, 23, 24, 25, 26, 28, 53], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53], "green": [1, 43], "don": [1, 3, 8, 22, 42, 44], "t": [1, 3, 5, 8, 9, 16, 22, 42, 43, 44], "afraid": 1, "review": [1, 6, 53], "maintain": [1, 4, 6, 8, 16, 43], "new": [1, 7, 8, 14, 18, 20, 23, 27, 34, 43, 53], "code": [1, 2, 4, 6, 7, 14, 27], "test": [1, 3, 6, 13, 14, 16, 18, 22, 29, 30, 31, 32, 35, 47, 49], "If": [1, 2, 4, 8, 9, 11, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 35, 37, 41, 42, 43, 44, 47, 53], "function": [1, 2, 6, 7, 20, 27, 31, 47], "alwai": [1, 27], "exercis": 1, "serv": [1, 4, 6], "live": [1, 7], "origin": [1, 3, 5, 7, 18, 27, 43, 44], "intent": [1, 8, 13], "section": [1, 2, 12, 14, 35, 44], "target": [1, 9, 14, 31, 35, 38, 42, 44], "also": [1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 44], "read": [1, 2, 3, 4, 5, 9, 12, 14, 16, 20, 21, 24, 25, 27, 35, 41, 42, 46, 47], "understand": [1, 6, 43], "how": [1, 6, 7, 12, 14, 16, 19, 20, 21, 23, 24, 25, 26, 27, 29, 35], "handl": [1, 2, 4, 6, 7, 14, 24, 27, 30, 31, 32, 38, 39, 40, 44, 47, 49], "organ": [1, 7, 53], "guidelin": 1, "especi": [1, 2, 16, 47], "applic": [1, 4, 7, 9, 12, 27], "pleas": [1, 9, 26, 53], "keep": [1, 27, 35], "mind": [1, 35], "work": [1, 6, 7, 8, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 35, 36, 41, 45, 48, 50, 53], "fork": 1, "when": [1, 2, 3, 4, 5, 8, 9, 13, 14, 15, 20, 23, 27, 31, 35, 39, 42, 44, 47], "That": [1, 14, 35], "wai": [1, 9, 14, 27, 35, 37, 44], "main": [1, 4, 6, 7, 9, 13, 27, 35, 47, 53], "repo": [1, 4, 16], "clean": 1, "featur": [1, 7, 13, 16, 18, 28, 47, 53], "branch": [1, 16], "check": [1, 2, 4, 6, 8, 11, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 42, 43, 44, 49, 53], "satisfi": 1, "befor": [1, 2, 8, 9, 14, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 43], "thei": [1, 2, 4, 6, 7, 8, 12, 13, 14, 15, 20, 35, 42, 44, 47], "can": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 42, 43, 44, 47, 53], "must": [1, 3, 5, 8, 9, 12, 16, 27, 40, 42, 44], "approv": 1, "two": [1, 4, 6, 8, 9, 14, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 37, 43, 44, 47, 49], "explicitli": 1, "onli": [1, 2, 4, 6, 7, 8, 9, 11, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 32, 33, 35, 36, 37, 41, 42, 43, 44, 45, 50], "except": [1, 27], "other": [1, 2, 3, 4, 7, 9, 14, 16, 21, 26, 27, 30, 32, 35, 41, 43, 47, 49], "where": [1, 3, 6, 8, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 33, 35, 41, 42, 43, 44, 47, 49], "back": 1, "traceabl": 1, "discuss": [1, 7, 20, 29, 43, 53], "suffici": [1, 3, 5, 8, 37], "note": [1, 4, 9, 18, 33, 44, 53], "still": [1, 2, 18, 20, 21, 22, 23, 24, 25, 26, 28, 34, 43], "encourag": 1, "help": [1, 9, 13, 14, 15, 35], "u": [1, 3, 5, 9, 16, 42], "increas": [1, 22], "pace": 1, "veri": [1, 2, 3, 5, 6, 12], "like": [1, 2, 3, 4, 5, 6, 7, 14, 16, 20, 27], "find": [1, 3, 5, 22], "issu": [1, 6, 53], "nobodi": 1, "els": 1, "squash": 1, "commit": 1, "messag": [1, 6, 9, 15, 23, 24, 25, 27, 37, 40, 41, 42, 43, 44, 46, 47, 53], "comment": [1, 27], "fixup": 1, "linter": 1, "us": [1, 2, 4, 6, 7, 11, 12, 13, 15, 17, 27, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 49, 50, 53], "pre": 1, "correct": [1, 2, 43], "header": [1, 11, 14, 24, 25, 33, 35, 43], "address": [1, 27], "similar": [1, 4, 7, 12, 18, 20, 27], "mean": [1, 2, 8, 12, 13, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 44], "result": [1, 4, 8, 9, 18, 27, 41, 43], "exactli": 1, "cowboi": 1, "style": [1, 14, 35], "over": [1, 6, 8, 22, 27], "weekend": 1, "It": [1, 2, 3, 4, 6, 8, 9, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 37, 41, 42, 43], "doesn": [1, 8], "matter": 1, "trivial": [1, 13], "chanc": 1, "proper": [1, 8, 9, 44], "Be": 1, "awar": 1, "impact": 1, "proport": [1, 42], "its": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 37, 38, 39, 40, 41, 43, 47, 49], "ping": 1, "them": [1, 6, 8, 9, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 41, 43, 52], "necessari": [1, 8, 11], "repeatedli": 1, "start": [1, 2, 3, 5, 7, 8, 9, 11, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 42, 43, 53], "part": [1, 6, 7, 12, 27, 35, 43, 44], "For": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 42, 44, 47, 49], "detail": [1, 2, 3, 4, 5, 11, 12, 13, 14, 20, 27, 29, 30, 32, 33, 35, 43, 44, 49], "thoma": 1, "cokela": 1, "info": [1, 9, 11, 14, 27], "tutori": [1, 16], "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 21, 22, 24, 25, 26, 27, 33, 34, 35, 36, 37, 40, 42, 45, 46, 47, 50], "stabl": 1, "against": 1, "accept": [1, 14, 23, 35, 36, 42, 43, 44, 45, 50], "api": [1, 3, 5, 6, 14, 18, 21, 22, 23, 24, 25, 26, 28], "abi": 1, "chang": [1, 2, 4, 7, 9, 11, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 42, 43, 44], "e": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 35, 36, 37, 41, 42, 43, 45, 47, 50, 53], "name": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 29, 31, 35, 37, 38, 40, 41, 42, 46, 47], "convent": [1, 27], "master": [1, 4], "semi": 1, "binari": 1, "good": [1, 3, 5, 6], "same": [1, 8, 23, 27, 34, 37, 42, 43, 44], "build": [1, 14, 27, 31, 35], "dai": 1, "ros_distro": [1, 4, 16, 18], "foxi": [1, 7, 14], "galact": [1, 11, 14], "releas": [1, 4, 7, 16, 27], "version": [1, 6, 16, 44], "non": [1, 7, 20, 27, 37, 52], "brake": 1, "distribut": [1, 16, 53], "three": [1, 2, 4, 11, 12, 16, 27, 35, 43, 49], "stage": [1, 8, 20], "current": [1, 6, 11, 12, 14, 15, 43, 44, 47], "futur": [1, 7, 8, 43, 44], "compat": [1, 2, 7, 14, 16], "packag": [1, 2, 3, 5, 11, 14, 27, 30, 31, 32, 33, 35, 36, 37, 40, 44, 45, 46, 47, 49, 50, 53], "direct": [1, 2, 6, 14, 27, 35, 42], "local": [1, 3, 5, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29, 41], "possibl": [1, 4, 6, 9, 12, 16, 18, 21, 22, 23, 24, 25, 26, 28, 31, 35, 43], "core": [1, 10, 27], "immedi": [1, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29], "depend": [1, 4, 11, 12, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 43, 47], "fail": [1, 23, 27], "expect": [1, 6, 20, 27, 30, 32, 44, 47, 49], "after": [1, 8, 9, 14, 16, 18, 27, 33, 35, 42, 43, 44, 47, 48], "next": [1, 18, 27, 43], "sync": 1, "abl": 1, "potenti": [1, 35, 42], "mid": 1, "stat": 1, "power": [1, 3, 5, 7, 14], "plausibl": 1, "analyt": 1, "robothw": 2, "rigid": 2, "ani": [2, 4, 7, 8, 9, 11, 12, 16, 20, 27, 35, 42, 44], "imposs": 2, "extend": [2, 4, 6, 8, 14, 35], "exist": [2, 4, 6, 8, 9, 11, 12, 14, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35, 44], "addit": [2, 3, 5, 8, 16, 19, 22, 27], "sensor": [2, 4, 6, 11, 13, 14, 16, 21, 26, 27, 31, 34, 52], "actuat": [2, 4, 6, 11, 12, 13, 14, 16, 20], "tool": [2, 3, 5, 6, 7, 27], "without": [2, 3, 4, 5, 7, 13, 14, 16, 20, 29, 35, 42, 43], "combinedrobothardwar": 2, "drawback": [2, 53], "solut": [2, 7], "optim": [2, 9], "combin": [2, 8, 12, 13, 16, 23, 41, 42, 43, 44], "extern": [2, 4, 6, 8, 13, 16, 31], "defin": [2, 3, 5, 6, 9, 13, 14, 16, 27, 31, 35, 37, 40, 41, 42, 43, 44, 46, 47], "system": [2, 3, 4, 5, 6, 7, 11, 12, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 44, 51, 52, 53], "composit": [2, 7], "basic": [2, 3, 4, 5, 6, 7, 14, 16, 22, 35], "physic": [2, 4, 11, 12, 13], "cell": [2, 37], "surround": 2, "describ": [2, 4, 8, 12, 16, 18, 23, 27, 29, 43], "multi": [2, 4, 6, 7, 16, 23], "gripper": [2, 3, 4, 5, 7, 12, 13, 34], "out": [2, 3, 5, 9, 27, 33], "box": [2, 16, 18, 22, 23, 24, 25, 28, 29], "allow": [2, 3, 4, 5, 16, 27, 39, 42, 43, 44], "joint": [2, 4, 7, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 45, 47, 49, 50, 53], "posit": [2, 3, 4, 5, 7, 9, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 36, 41, 42, 43, 44, 45, 47, 50], "veloc": [2, 3, 4, 5, 7, 8, 16, 21, 22, 23, 27, 31, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 47, 50], "effort": [2, 3, 5, 16, 27, 34, 36, 39, 41, 42, 44], "hard": [2, 9], "data": [2, 4, 6, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 34, 41, 43], "approach": [2, 8], "doe": [2, 8, 9, 14, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35, 43, 44], "enforc": [2, 23, 27, 42], "string": [2, 9, 13, 16, 35, 38, 39, 40, 41, 42, 46, 47], "ensur": [2, 7, 9, 27, 43], "constant": [2, 16], "hardware_interfac": [2, 3, 4, 5, 11, 13, 14, 16, 21, 24, 25, 26, 27, 31, 33, 34, 35], "In": [2, 3, 4, 5, 6, 7, 8, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 34, 35, 41, 43, 47], "had": 2, "itself": [2, 8], "took": 2, "care": [2, 6, 9, 14, 23, 35, 44], "regist": [2, 3, 5], "resourc": [2, 3, 5, 14, 23], "conflict": [2, 4, 6], "resourcemanag": [2, 8], "take": [2, 6, 8, 14, 20, 23, 33, 35, 41, 43], "state": [2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 37, 41, 42], "avail": [2, 4, 7, 9, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 41, 44], "enabl": [2, 4, 6, 7, 11, 14, 15, 16, 22, 31, 37, 47], "anymor": 2, "controllermanag": [2, 9], "implement": [2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 38, 43, 44, 47, 48, 49, 53], "systeminterfac": [2, 3, 5, 13, 24, 27], "granular": 2, "sensorinterfac": [2, 21, 25], "actuatorinterfac": [2, 21, 26], "abov": [2, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 34, 43], "choos": [2, 16, 47], "suitabl": [2, 7], "strategi": [2, 16, 43], "decid": 2, "which": [2, 3, 4, 5, 6, 7, 9, 14, 15, 16, 18, 22, 23, 24, 25, 26, 27, 28, 29, 33, 35, 37, 40, 41, 42, 43, 44, 46, 47, 48], "case": [2, 3, 5, 6, 7, 8, 16, 20, 27, 35, 41, 43, 44, 53], "mayb": [2, 8], "sens": [2, 4, 34, 37], "multipl": [2, 4, 7, 8, 12, 14, 16, 41, 42], "constructor": [2, 14, 27, 35], "initi": [2, 14, 27, 35, 43], "variabl": [2, 14, 27, 35, 42], "need": [2, 3, 4, 5, 6, 7, 8, 12, 14, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35, 43], "commun": [2, 4, 6, 7, 14, 16, 18, 21, 22, 23, 24, 25, 27, 28, 52], "default": [2, 4, 8, 9, 13, 23, 30, 32, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49], "configur": [2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 41, 42, 43, 44, 47], "paramet": [2, 3, 5, 7, 14, 16, 18, 22, 27, 34, 35, 44], "pars": [2, 3, 5, 9, 10, 12], "urdf": [2, 7, 9, 12, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "snippet": 2, "hardwareinfo": [2, 27], "here": [2, 10, 14, 27, 35, 36, 44, 45, 50], "cross": [2, 41], "valu": [2, 4, 6, 12, 13, 14, 16, 18, 19, 20, 22, 24, 25, 27, 29, 35, 40, 41, 42, 44, 46, 47], "export_": 2, "_interfac": [2, 14], "joint_a2": 2, "extract": [2, 33, 48], "sensibl": 2, "stop": [2, 7, 8, 9, 11, 15, 18, 22, 23, 27, 33, 42, 48], "usual": [2, 4, 9, 13, 14, 27, 35], "includ": [2, 3, 5, 6, 11, 14, 15, 27, 35, 44, 52], "command": [2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 39, 42, 43, 45, 49, 50, 53], "safe": [2, 27, 33, 35, 44, 48], "interrupt": [2, 9], "stream": [2, 7], "write": [2, 4, 7, 8, 9, 10, 20, 21, 22, 26, 34], "exchang": [2, 6, 18, 21, 22, 23, 24, 25, 26, 28, 53], "equival": [2, 27], "forget": [2, 4, 16, 44], "pluginlib_export_class": [2, 14, 16, 27, 35], "macro": [2, 4, 14, 16, 27, 35], "end": [2, 4, 11, 14, 27, 35, 42, 52], "cpp": [2, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "file": [2, 3, 4, 5, 6, 7, 9, 13, 14, 16, 31, 33, 35, 36, 44, 45, 50], "creat": [2, 3, 4, 5, 7, 9, 13, 14, 16, 27, 35], "xml": [2, 3, 5, 11, 14, 27, 35], "librari": [2, 4, 14, 15, 16, 30, 32, 34, 35, 47, 49], "pluginlib": [2, 3, 4, 5, 9, 14, 27, 35], "exampl": [2, 3, 4, 5, 6, 7, 8, 13, 15, 22, 31, 36, 37, 41, 44, 45, 50, 53], "rrbotsystempositiononlyhardwar": [2, 4, 12, 15, 18, 20, 25], "excel": 2, "jointtrajectorycontrol": [2, 3, 5, 15, 18, 31, 44], "real": [2, 6, 7, 9, 13, 22, 35, 41, 42, 53], "critic": [2, 6], "mark": [2, 20], "controllerinterfac": [2, 4, 8, 15, 27, 35], "member": [2, 14, 27, 35, 43], "init": 2, "call": [2, 3, 4, 5, 8, 14, 22, 27, 35], "lifecycl": [2, 4, 7, 9, 11, 14, 27], "declar": [2, 14, 27, 35], "state_interface_configur": [2, 27, 35], "command_interface_configur": [2, 27, 35], "design": [2, 4, 6, 7, 8, 27, 53], "updat": [2, 4, 8, 9, 16, 27, 35, 44, 47], "manag": [2, 3, 5, 6, 7, 10, 11, 14, 15, 16, 27, 35, 44, 53], "option": [2, 3, 5, 9, 11, 13, 14, 15, 18, 23, 35, 37, 41, 44, 47], "on_configur": [2, 14, 27, 35], "on_activ": [2, 11, 14, 27, 35], "on_deactiv": [2, 11, 14, 27, 35], "deactiv": [2, 4, 15, 18, 42], "final": [2, 7, 11, 27], "joint_trajectory_plugin": 2, "integr": [3, 4, 5, 6, 7, 13, 16, 20, 22, 27, 42, 43, 44, 53], "architectur": [3, 5, 6, 7], "gazebo": [3, 5, 6, 16, 18, 29, 51], "classic": [3, 16, 29, 51], "provid": [3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 20, 23, 24, 25, 26, 27, 28, 29, 31, 35, 41, 42, 43, 44, 47, 53], "instanti": [3, 5, 9], "connect": [3, 4, 5, 13, 16, 24, 27], "model": [3, 5, 18, 27], "cd": [3, 4, 5, 16, 27], "docker": [3, 5, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "gui": [3, 5, 16, 18, 20, 21, 23, 24, 25, 26, 28, 29], "properli": [3, 5, 8, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "rm": [3, 4, 5, 16, 18, 29], "net": [3, 5, 7, 16, 18, 29], "host": [3, 5, 16, 18, 29, 52], "ros2": [3, 4, 5, 7, 9, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "launch": [3, 4, 5, 9, 13, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "cart_example_posit": [3, 5], "py": [3, 5, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "fals": [3, 5, 13, 16, 18, 29, 33, 39, 41, 42, 44, 47], "machin": [3, 4, 5, 6, 16, 29], "client": [3, 5, 29, 44], "gzclient": [3, 29], "rocker": [3, 5], "go": [3, 5, 7, 9, 14, 27, 35], "imag": [3, 5, 9, 29], "inject": [3, 5, 7], "nvidia": [3, 5], "And": 3, "user": [3, 5, 6, 9, 16, 27, 43], "id": [3, 5, 15, 18, 21, 22, 23, 24, 25, 26, 28], "specif": [3, 5, 6, 8, 9, 11, 12, 27, 29, 38, 41, 43, 44], "cleaner": [3, 5], "mount": [3, 5], "permiss": [3, 5, 9], "instal": [3, 5, 9, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "instruct": [3, 5, 22, 27, 29], "x11": [3, 5], "latest": [3, 4, 5], "move": [3, 5, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29, 39], "cart": [3, 5], "rail": [3, 5], "exec": [3, 5, 18], "bash": [3, 4, 5, 14, 16, 18, 27, 35], "home": [3, 5], "ros2_w": [3, 4, 5, 16], "example_posit": [3, 5], "element": [3, 5, 27], "access": [3, 4, 5, 7, 9, 13, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 41], "interfac": [3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 18, 20, 21, 22, 24, 25, 26, 29, 30, 32, 34, 35, 37, 40, 42, 43, 46, 49, 51, 52, 53], "gazebosystem": 3, "hardwar": [3, 5, 7, 8, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 33, 34, 35, 42, 48, 53], "slider_to_cart": [3, 5, 36, 45, 50], "command_interfac": [3, 4, 5, 12, 20, 27, 31, 42, 44], "param": [3, 4, 5, 9, 12, 13, 22, 27], "min": [3, 4, 5, 12, 27], "1000": [3, 5, 27], "max": [3, 4, 5, 12, 27, 39], "state_interfac": [3, 4, 5, 12, 27, 31, 42, 44], "initial_valu": [3, 5, 27], "mimick": [3, 5, 13], "manual": [3, 4, 5, 6, 9, 14, 16, 18, 23, 24, 25, 26, 28, 29, 35, 53], "multipli": [3, 5, 13], "definit": [3, 4, 5, 14, 27, 31, 33, 34, 35, 37, 42], "left_finger_joint": [3, 5], "prismat": [3, 5], "right_finger_joint": [3, 5], "axi": [3, 5, 6, 27, 30, 32, 33, 37, 49], "xyz": [3, 5, 27], "rpy": [3, 5, 27], "1415926535": [3, 5], "parent": [3, 5, 14, 27, 35], "base": [3, 4, 5, 7, 11, 14, 15, 16, 21, 22, 26, 27, 33, 35, 38, 47, 48, 51], "child": [3, 5, 12, 27], "finger_left": [3, 5], "lower": [3, 5, 27], "upper": [3, 5, 27], "actual": [3, 5, 8], "load": [3, 4, 5, 9, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "appropri": [3, 5, 6, 43], "By": [3, 5, 9, 27, 41, 43], "though": [3, 5, 20], "extens": [3, 5], "via": [3, 4, 5, 16, 18, 24, 25, 27, 29, 44], "between": [3, 4, 5, 6, 11, 12, 16, 27, 30, 32, 41, 42, 43, 44, 49], "filenam": [3, 5, 27], "libgazebo_ros2_control": 3, "so": [3, 4, 5, 8, 9, 14, 27, 31, 35, 44], "robot_param": [3, 5], "robot_descript": [3, 5, 9, 18, 27], "robot_param_nod": [3, 5], "robot_state_publish": [3, 5, 41], "config": [3, 5, 16], "cartpole_control": [3, 5], "yaml": [3, 4, 5, 6, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 44], "locat": [3, 27, 31], "server": [3, 39, 44], "node": [3, 4, 5, 9, 11, 13, 15, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "attempt": [3, 5, 9, 44], "get": [3, 5, 7, 8, 9, 11, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 53], "most": [3, 5, 6, 14, 16, 27, 35], "least": [3, 5, 12, 14, 35, 44], "jointstateinterfac": [3, 5], "effortjointinterfac": [3, 5], "velocityjointinterfac": [3, 5], "complex": [3, 4, 5, 6, 7, 8], "mechan": [3, 5, 8, 44], "nonlinear": [3, 5], "spring": [3, 5], "linkag": [3, 5, 18, 20, 28], "etc": [3, 5, 9, 23, 27, 53], "These": [3, 5, 16, 27], "inherit": [3, 5, 9, 27], "gazebosysteminterfac": 3, "level": [3, 5, 6, 7, 9, 20, 21, 26, 36, 43, 45, 50], "properti": [3, 5, 27], "sub": [3, 5], "class": [3, 4, 5, 7, 9, 11, 14, 15, 27, 35, 38, 43], "specifi": [3, 5, 9, 14, 16, 27, 35, 42, 43, 44], "insid": [3, 5, 13, 16, 18], "publish": [3, 5, 6, 8, 12, 16, 19, 27, 31, 34, 37, 40, 41, 42, 43, 46, 48, 53], "stateinterfac": [3, 5, 27], "topic": [3, 5, 6, 7, 8, 12, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 34, 42, 44, 51], "sensor_msg": [3, 5, 40, 46], "msg": [3, 5, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 33, 36, 37, 38, 40, 43, 44, 45, 46, 47, 50], "jointstat": [3, 5], "joint_state_control": [3, 5, 15], "ros__paramet": [3, 5, 36, 44, 45, 50], "jointstatecontrol": [3, 5, 15], "action": [3, 5, 8, 42], "cart_pole_control": [3, 5], "follow_joint_trajectori": [3, 5, 44], "followjointtrajectori": [3, 5, 42, 44], "joint_trajectory_control": [3, 5, 6, 15, 18, 34], "write_op_mod": [3, 5], "contain": [3, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 36, 42, 43, 45, 47, 50], "content": [3, 14, 27, 35], "There": [3, 4, 5, 9, 11, 14, 16, 21, 24, 25, 26, 35, 43, 44], "meter": [3, 5, 27], "cart_example_veloc": [3, 5], "cart_example_effort": [3, 5], "diff_driv": 3, "tricycle_dr": 3, "world": [3, 5, 9, 13, 27], "example_veloc": [3, 5], "example_effort": [3, 5], "example_diff_dr": [3, 5], "example_tricycle_dr": [3, 5], "parallel": [3, 4, 5, 12, 13], "gripper_mimic_joint_exampl": [3, 5], "send": [3, 5, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 44], "example_gripp": [3, 5], "humbl": [4, 16, 27], "want": [4, 8, 9, 16], "download": [4, 16], "mkdir": [4, 16], "p": [4, 9, 16, 42], "src": [4, 14, 16, 18, 27, 29, 31, 35], "wget": 4, "raw": 4, "githubusercont": 4, "com": [4, 6, 16, 27], "org": [4, 6, 30, 32, 49], "ros_control": [4, 6, 7, 53], "vc": [4, 16], "import": [4, 14, 16, 27, 35, 42], "rosdep": [4, 16], "rosdistro": [4, 16], "sudo": [4, 9, 16], "apt": [4, 16], "path": [4, 7, 16, 27, 44], "ignor": [4, 9, 16, 33, 42, 47, 48], "r": [4, 16, 28], "y": [4, 16, 22, 24, 25, 31, 37, 40], "everyth": [4, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29, 35], "opt": [4, 16, 18], "setup": [4, 13, 14, 16, 18, 22, 27, 29, 35, 43], "sh": [4, 16, 18, 29], "colcon": [4, 14, 16, 27, 35], "symlink": [4, 16, 27], "folder": [4, 7, 14, 16, 18, 19, 22, 30, 31, 32, 35, 47, 49], "found": [4, 10, 14, 18, 19, 22, 31, 33, 35, 38, 44, 53], "github": [4, 6, 10, 16, 27, 34, 51, 52, 53], "figur": [4, 43], "cm": [4, 9], "abstract": [4, 7, 11, 27], "side": [4, 6, 7], "entri": [4, 35], "point": [4, 27, 35, 42, 43, 44, 53], "servic": [4, 6, 9, 11, 27], "executor": [4, 9], "custom": [4, 12, 13, 16, 21, 22, 37, 41, 51], "howev": [4, 6, 8, 9, 16, 20, 27], "recommend": [4, 7, 14], "ros2_control_nod": [4, 23, 27], "controller_manag": [4, 5, 6, 9, 15, 23, 35, 36, 44, 45, 50], "assum": [4, 8], "On": [4, 27], "hand": [4, 27, 52], "unload": [4, 9, 15], "match": [4, 16, 43], "report": [4, 6, 41, 53], "error": [4, 6, 9, 14, 20, 23, 27, 35, 41, 42, 44], "execut": [4, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 39, 42, 43, 44, 49], "loop": [4, 7, 9, 13, 18, 23, 24, 25, 26, 27, 28, 29, 35, 41, 42, 44, 47], "output": [4, 6, 7, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 37], "driver": [4, 7, 16, 27, 52], "reus": [4, 7, 8], "flexibl": 4, "motor": [4, 8, 52], "encod": [4, 27], "theori": [4, 53], "compar": [4, 6, 7], "refer": [4, 8, 20, 27, 52], "measur": [4, 13, 21, 31, 37, 41, 42, 52], "calcul": [4, 27, 31, 43, 47], "input": [4, 6, 7, 8, 12, 19, 20, 27, 31, 33, 36, 38, 42, 43, 45, 47, 48, 50], "object": [4, 27], "deriv": [4, 42, 43], "controller_interfac": [4, 15, 27, 31, 35, 37, 40, 46], "export": [4, 8, 9, 14, 16, 27, 31, 35], "plugin": [4, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 35], "forwardcommandcontrol": [4, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29], "lifecyclenod": 4, "document": [4, 6, 7, 12, 13, 14, 16, 22, 33, 43, 44], "interact": [4, 7, 9, 15, 19, 27, 29], "srv": [4, 44], "controller_manager_msg": 4, "while": [4, 6, 7, 27, 43], "directli": [4, 18, 20, 29, 53], "line": [4, 10, 11, 14, 18, 27, 35, 41, 43], "friendli": 4, "cli": [4, 9, 10, 15, 18, 19, 22, 23, 24, 25, 26, 28, 29], "auto": [4, 9], "complet": [4, 11, 20, 27, 43], "rang": [4, 12, 34], "common": [4, 6, 16, 34, 41, 53], "capabl": [4, 6], "realiz": [4, 7, 43, 44], "repres": [4, 11, 27, 33, 43], "dynam": [4, 14, 27, 35], "dof": [4, 12, 16, 27, 39], "differ": [4, 6, 7, 12, 14, 16, 18, 19, 22, 23, 27, 36, 37, 41, 43, 45, 47, 50], "transmiss": [4, 16], "humanoid": 4, "logic": 4, "channel": [4, 52], "kuka": [4, 18, 23, 24, 25, 52], "rsi": [4, 18, 24, 25, 52], "relat": [4, 6, 7], "forc": [4, 7, 12, 15, 24, 25, 31, 34, 52], "torqu": [4, 12, 24, 25, 31, 34], "simpl": [4, 6, 7, 8, 14, 16, 18, 20, 22, 27, 28, 35, 39], "valv": [4, 12], "mandatori": [4, 9, 37, 42], "dc": 4, "arduino": [4, 21, 26], "board": 4, "modular": [4, 7, 16, 27], "independ": [4, 7, 25], "explan": [4, 14], "given": [4, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 36, 42, 43, 44, 45, 50], "through": [4, 6, 7, 8, 9, 14, 15, 16, 20, 27, 35, 44, 53], "tag": [4, 9, 12, 14, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 35, 53], "chosen": [4, 12], "structur": [4, 6, 8, 14, 27, 33, 35, 42, 43], "track": [4, 30, 49, 53], "togeth": [4, 8, 12, 22, 24, 47], "xacro": [4, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "hereund": 4, "rrbot": [4, 12, 15, 16, 19, 21, 23, 24, 25, 26, 28], "effector": [4, 52], "site": 4, "rrbotsystempositiononli": [4, 25], "ros2_control_demo_hardwar": [4, 12, 15], "example_param_write_for_sec": 4, "example_param_read_for_sec": [4, 12], "joint1": [4, 12, 13, 15, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 44], "joint2": [4, 12, 15, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 44], "rrbotforcetorquesensor1d": 4, "forcetorquesensor1dhardwar": 4, "tcp_fts_sensor": [4, 12, 24, 25], "frame_id": [4, 12, 24, 25, 37, 40, 46, 47], "rrbot_tcp": 4, "min_forc": 4, "100": [4, 12, 36, 45, 50], "max_forc": 4, "rrbotgripp": 4, "positionactuatorhardwar": 4, "gripper_joint": 4, "instead": [4, 13, 22, 27, 29, 42], "pure": 4, "stack": [4, 7, 53], "could": [4, 7, 8, 16, 23, 35, 41, 44], "altern": [4, 18, 44], "script": [4, 6, 14, 35], "skeleton": 4, "sim": [5, 15, 51], "dockerfil": [5, 16], "Then": [5, 8, 16, 27, 29, 43], "ign": 5, "meet": [5, 53], "prerequisit": 5, "along": 5, "gazebosimsystem": 5, "libgz_ros2_control": 5, "gazebosimros2controlplugin": 5, "gazebosimsysteminterfac": 5, "controller_manager_prefix_node_nam": 5, "diff_drive_exampl": 5, "tricycle_drive_exampl": 5, "about": [6, 8, 13, 14, 23, 33, 40, 41, 44, 53], "gener": [6, 7, 12, 14, 15, 21, 22, 23, 24, 25, 26, 27, 34, 35, 44, 47, 53], "task": [6, 7, 33], "envis": 6, "simul": [6, 13, 15, 16, 18, 20, 22, 24, 25, 27], "ignit": 6, "showcas": [6, 7], "grace": 6, "degrad": 6, "roadmap": [6, 16, 53], "place": [6, 35], "draft": 6, "gpio": [6, 16, 27], "mode": [6, 8, 14, 20, 23, 31, 42, 43, 47], "switch": [6, 15, 16, 18, 23], "movement": 6, "safeti": [6, 27], "skill": 6, "prefer": 6, "c": [6, 9, 12, 14, 15, 18, 27], "familiar": [6, 53], "mentor": 6, "\u0161togl": [6, 7], "size": [6, 46], "350": 6, "hour": 6, "difficulti": 6, "medium": 6, "focus": [6, 7, 8], "although": [6, 8, 11, 12, 44], "easi": 6, "therefor": [6, 8, 9, 16, 35, 41, 42, 44], "often": [6, 13, 22, 35, 41], "orchestr": 6, "purpos": [6, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29], "conductor": 6, "scenario": [6, 43], "moment": [6, 8, 44], "right": [6, 16], "replac": [6, 11, 34, 44], "high": [6, 9, 43], "moveit2": [6, 7, 34, 52], "simplecontrollermanag": 6, "goal": [6, 7, 12, 18, 23, 24, 25, 26, 28, 29, 39, 42, 44, 53], "form": [6, 16], "behavior": [6, 13, 27, 43], "benchmark": 6, "statu": [6, 8, 11, 15, 18, 42], "format": [6, 27, 31, 41, 44], "preset": 6, "modul": [6, 20], "reli": 6, "doubl": [6, 9, 13, 18, 27, 30, 32, 39, 42, 46, 47, 49], "desir": [6, 42, 44], "both": [6, 7, 20, 27, 28, 41, 42, 43, 44], "improv": 6, "readabl": [6, 27], "earlier": 6, "concept": [6, 7, 8, 13, 16, 18], "introduc": [6, 7, 8, 18, 27], "essenti": [6, 18], "group": [6, 8, 9, 12, 44, 53], "instanc": [6, 9, 20, 41], "imu": [6, 12, 34], "typic": [6, 12, 22, 41, 42], "acceleromet": 6, "gyroscop": 6, "compass": 6, "Such": [6, 20], "struct": 6, "low": [6, 7], "profil": 6, "intern": [6, 8, 12, 14, 18, 20, 21, 22, 23, 24, 25, 26, 28, 31, 43, 44], "relev": [6, 42, 47, 53], "addition": [6, 27, 30, 32, 49, 53], "few": [6, 7], "175": 6, "rewrit": [6, 53], "rich": 6, "wa": [6, 14, 18, 22, 23, 27, 35, 43], "motiv": 6, "adopt": 6, "port": [6, 11, 12], "quit": 6, "miss": [6, 41, 43, 44], "diff_drive_control": [6, 8, 15, 22], "consist": [6, 44, 53], "onc": [6, 7, 18, 22, 23, 24, 25, 27, 28], "identifi": [6, 27], "much": [6, 8, 18, 21, 22, 23, 24, 25, 26, 28, 35, 44], "303": 6, "304": 6, "stretch": 6, "81": 6, "302": 6, "unit": 6, "gmock": 6, "cc": [7, 43, 44], "BY": [7, 43, 44], "licens": [7, 43, 44], "author": [7, 8], "either": [7, 9, 18, 23, 24, 25, 26, 28, 29, 43], "down": [7, 27], "below": [7, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 42, 43, 44], "compani": 7, "my": 7, "company_nam": 7, "tricycl": [7, 34, 48], "control": [7, 10, 11, 12, 13, 14, 15, 16, 30, 32, 37, 40, 41, 42, 43, 46, 48, 49, 52, 53], "event": 7, "pixel": 7, "prefac": 7, "introduct": 7, "plapp": 7, "kernel": [7, 9], "agnost": [7, 27], "share": [7, 14, 27, 29, 35, 47], "well": [7, 9, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 44], "perform": [7, 9, 27], "heavi": 7, "stogl": 7, "consult": 7, "practition": 7, "guid": [7, 14, 35], "top": 7, "virtual": [7, 8, 32], "talk": 7, "delv": 7, "deeper": 7, "what": [7, 18, 27], "explicit": [7, 27, 42], "chain": [7, 10, 15, 16, 27, 31, 42, 47], "emerg": 7, "handler": 7, "mock": [7, 10, 14], "usag": [7, 8, 9, 12, 15, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28], "openli": 7, "record": 7, "fiveai": 7, "ltd": 7, "best": [7, 9, 35], "focu": [7, 8], "becom": [7, 20], "util": 7, "3rd": 7, "parti": 7, "nav2": [7, 34], "practic": 7, "tip": [7, 27], "hot": 7, "shown": [7, 27, 43], "furthermor": [7, 22], "offer": [7, 9, 14, 27], "expos": [7, 16, 20], "problem": [7, 53], "manipul": [7, 16, 18, 20, 27, 28, 42], "plan": [7, 53], "autonom": 7, "navig": 7, "ideal": [7, 13], "made": [7, 11], "mobil": [7, 16, 22, 33, 47, 48], "arm": [7, 18, 20, 28], "extra": [7, 27, 41], "readi": [7, 14, 16, 20, 34, 35], "studi": 7, "ur": 7, "With": [7, 27, 29, 44], "moveit": [7, 13], "ingredi": 7, "run": [7, 8, 9, 13, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 47], "scale": [7, 42], "factor": 7, "teach": 7, "pendant": 7, "influenc": 7, "picknik": 7, "inc": 7, "lovro": 7, "ivanov": 7, "zelenak": 7, "rune": 7, "s\u00f8e": 7, "knudsen": 7, "onlin": [7, 14, 35], "trajectori": [7, 18, 27, 34, 42, 53], "admitt": [7, 34], "One": [7, 8], "reason": [7, 8, 9, 27], "upgrad": 7, "ros1": [7, 16], "better": 7, "realtim": [7, 9, 27, 33, 44, 48, 53], "contact": 7, "insert": 7, "singl": [7, 24, 39], "waypoint": [7, 43, 44], "mani": [7, 27, 34, 35], "teleoper": 7, "involv": 7, "kinemat": [7, 8, 16, 22, 27, 30, 31, 32, 47, 49], "acceler": [7, 16, 23, 27, 31, 33, 40, 42, 43, 44, 48], "jerk": [7, 33, 48], "obei": [7, 27], "demo": [7, 12], "booth": 7, "zeleank": 7, "unifi": 7, "life": [7, 27], "cycl": [7, 27], "_control": [7, 16], "wild": 7, "materi": 7, "quick": [7, 11], "overview": 7, "layer": 7, "aka": 7, "systemcompon": 7, "forward": [7, 13, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 42, 44, 53], "done": [7, 8, 14, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35], "look": [7, 22], "modifi": 7, "simpli": [7, 9, 18, 43, 44], "edit": 7, "collect": [7, 36, 45, 50], "semant": [7, 12, 31, 37, 40, 46], "monolit": 7, "controlko": 7, "propos": [8, 53], "minim": [8, 53], "viabl": [8, 27], "serial": [8, 27], "tri": [8, 42], "clariti": 8, "arbitrari": [8, 27, 44], "order": [8, 27], "nevertheless": 8, "convinc": 8, "would": [8, 41], "unnecessari": 8, "long": 8, "term": [8, 53], "clearer": 8, "let": [8, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28], "yet": [8, 9, 16, 20, 33, 43, 44], "controllers_chain": 8, "doc": [8, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 53], "position_track": 8, "pid": [8, 42, 43, 44, 53], "now": [8, 9, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 43], "imagin": 8, "flexibli": 8, "preced": 8, "step": [8, 14, 16, 35, 43, 53], "At": [8, 14, 20, 35], "attach": 8, "disabl": [8, 13, 47], "subscrib": [8, 19, 20, 27], "differenti": [8, 16, 22, 32, 33, 34, 53], "interfaceconfigur": [8, 27], "input_interface_configur": 8, "const": [8, 11, 27], "anoth": [8, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 44], "simplic": [8, 27], "try": [8, 27], "exclus": [8, 27], "rather": [8, 16, 43], "void": 8, "set_chained_mod": 8, "bool": [8, 39, 42, 47], "flag": [8, 14, 35, 42], "on_set_chained_mod": 8, "pid_refer": 8, "controller_nam": [8, 9, 15, 31, 35, 44, 47], "v_x": 8, "v_y": 8, "w_z": 8, "cmd_vel": [8, 33], "cmd_vel_unstamp": [8, 22, 33], "Its": [8, 53], "continu": [8, 42, 43, 44], "chainabl": [8, 16, 20, 33, 44], "ownership": 8, "process": [8, 14, 27, 35, 43], "claim": [8, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "vector": [8, 20, 27, 35], "invers": [8, 27], "rule": [8, 9, 14, 35], "think": [8, 16], "break": [8, 13], "middl": [8, 32], "unavail": [8, 20], "anyth": 8, "confus": 8, "irelev": 8, "feasibl": 8, "interface_configuration_typ": 8, "littl": 9, "jitter": 9, "normal": [9, 27, 42], "linux": 9, "comput": [9, 16, 33, 47, 48], "throughput": 9, "suit": 9, "easiest": [9, 14, 35], "ubuntu": 9, "lt": 9, "beta": 9, "rt": 9, "amd64": 9, "debian": 9, "bullsey": 9, "thread": [9, 27], "sched_fifo": 9, "prioriti": 9, "addgroup": 9, "usermod": 9, "whoami": 9, "afterward": 9, "secur": 9, "conf": [9, 27], "soft": 9, "rtprio": 9, "memlock": 9, "102400": 9, "appli": [9, 15, 27, 33, 44], "log": 9, "again": [9, 11, 18, 22, 27], "activate_components_on_start": 9, "empti": [9, 35, 40, 44, 47], "attribut": [9, 27], "stai": 9, "unconfigur": [9, 11, 18, 27], "configure_components_on_start": 9, "update_r": [9, 36, 45, 50], "frequenc": 9, "startup": 9, "h": [9, 14, 15, 35], "param_fil": 9, "controller_typ": 9, "timeout": [9, 15, 39, 42, 47, 48], "controller_manager_timeout": 9, "argument": [9, 14, 15, 18, 21, 22, 23, 24, 25, 26, 28], "exit": [9, 15], "leav": 9, "namespac": [9, 14, 27, 34, 35, 41], "kill": [9, 15, 27], "wait": [9, 15, 26, 42], "until": [9, 27, 42, 43], "mai": [9, 11, 24, 34, 36, 45, 50], "taken": [9, 47], "becaus": [9, 12, 18, 20, 21, 22, 23, 24, 25, 26, 28, 43], "rclcpp": [9, 14, 27, 35], "than": [9, 39, 42, 44, 47], "global": 9, "remap": 9, "forcibli": 9, "lead": [9, 44], "duplic": [9, 47], "occur": [9, 27], "whether": 9, "sibl": 9, "hierarchi": 9, "workaround": 9, "nodeopt": 9, "pass": [9, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28], "caus": [9, 43, 44, 47], "get_cm_node_opt": 9, "arg": 9, "_target_node_nam": 9, "__node": 9, "dst_node_nam": 9, "std": [9, 27, 42], "make_shar": 9, "some_optional_namespac": 9, "simplest": 9, "switch_control": [9, 18], "broadcast": [9, 12, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 41], "achiev": [9, 27, 36, 45, 50], "return": [9, 11, 14, 18, 27, 35, 39, 41, 43, 44], "NOT": 9, "FOR": 9, "detect": 9, "listen": [9, 42], "doxygen": [10, 14], "cascad": 10, "return_typ": [11, 27, 35], "on_error": [11, 14, 27], "previous_st": [11, 27], "success": [11, 14, 27, 35, 39, 44], "callbackreturn": [11, 14, 27], "failur": 11, "recov": 11, "reload": [11, 15], "substanti": 11, "renam": 11, "on_init": [11, 14, 27, 35], "baseinterfac": 11, "remov": 11, "base_interfac": 11, "hpp": [11, 14, 16, 27, 31, 35], "hardware_interface_status_valu": 11, "rclcpp_lifecycl": [11, 14, 27, 35], "strictli": [11, 12], "status_": 11, "in_deactiv": 11, "undefin": 11, "refern": 11, "symbol": 11, "node_interfac": [11, 27], "lifecyclenodeinterfac": [11, 14, 27], "rclcpp_lifecyl": 11, "cmakelist": [11, 14, 27, 35], "txt": [11, 14, 27, 35], "devic": [12, 52], "associ": 12, "joint_state_broadcast": [12, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "coupl": 12, "ship": 12, "cannot": [12, 20, 27, 44], "keyword": 12, "digit": 12, "signal": 12, "electr": 12, "analog": 12, "within": [12, 18, 44], "vacuum": [12, 19], "flang": 12, "off": 12, "rrbotsystemmutiplegpio": 12, "example_param_hw_start_duration_sec": 12, "example_param_hw_stop_duration_sec": 12, "example_param_hw_slowdown": 12, "flange_digital_io": 12, "digital_output1": 12, "know": 12, "digital_output2": 12, "digital_input1": 12, "digital_input2": 12, "flange_analog_io": [12, 19], "analog_output1": [12, 19], "analog_input1": [12, 19], "analog_input2": [12, 19], "flange_vacuum": [12, 19], "suction": 12, "grasp": 12, "multimod": 12, "multimodalgripp": 12, "parallel_fing": 12, "temperatur": [12, 16], "feedback": [12, 13, 21, 41, 42, 44, 47, 48], "adjust": [12, 15, 18, 27], "calibr": 12, "2d": [12, 24, 25], "ft": [12, 24, 25, 37], "choic": [12, 47], "matric": 12, "rrbotforcetorquesensor2d": 12, "forcetorquesensor2dhardwar": 12, "fx": 12, "tz": 12, "kuka_tcp": 12, "fx_rang": 12, "tz_rang": 12, "temp_feedback": 12, "calibration_matrix_nr": 12, "mirror": 13, "correspond": [13, 14, 27, 35, 47, 53], "offlin": 13, "advantag": 13, "pipe": 13, "even": [13, 20, 44], "debug": 13, "boost": 13, "mimic": 13, "offset": [13, 41, 42], "fake": 13, "disable_command": 13, "boolean": [13, 41, 42], "erron": [13, 27], "noth": 13, "suddenli": 13, "Or": [13, 18, 23, 24, 25, 26, 28, 29], "mock_sensor_command": 13, "position_state_following_offset": 13, "custom_interface_with_following_offset": 13, "map": [13, 41, 44], "compil": [14, 27, 29, 35], "prepar": [14, 23, 35], "ament_cmak": [14, 35], "search": [14, 35], "recent": [14, 35], "pkg": [14, 35], "package_nam": [14, 35], "alreadi": [14, 15, 16, 18, 20, 27, 29, 35, 44], "robot_hardware_interface_nam": 14, "visibility_control": [14, 35], "window": [14, 35], "copi": [14, 35], "prefix": [14, 31, 35, 37, 40, 46], "guard": [14, 35], "ifndef": [14, 35], "preprocessor": [14, 35], "engin": [14, 35], "friend": [14, 35], "interface_typ": [14, 35], "uniqu": [14, 27, 35], "written": [14, 21, 26, 27, 35], "snake_cas": [14, 35], "interfacetyp": 14, "hardwareinterfacenam": 14, "public": [14, 27, 35], "on_cleanup": [14, 27], "on_shutdown": [14, 27], "overrid": [14, 27, 35, 36, 44, 45, 50], "export_state_interfac": [14, 27], "export_command_interfac": [14, 27], "prepare_command_mode_switch": 14, "perform_command_mode_switch": 14, "further": [14, 35], "exact": [14, 35], "simplifi": [14, 27, 35, 53], "valid": [14, 16, 46], "fine": [14, 22, 35], "otherwis": [14, 16, 35, 41, 42], "opposit": [14, 35], "remind": 14, "full": [14, 16, 35], "joint_nam": [14, 31, 35, 42], "shutdown": [14, 27], "gracefulli": 14, "store": [14, 35], "close": [14, 35], "class_list_macro": [14, 27, 35], "my_hardware_interface_packag": 14, "robothardwareinterfacenam": 14, "second": [14, 15, 18, 20, 23, 24, 25, 26, 27, 28, 29, 35, 43, 53], "visibl": [14, 35], "mock_compon": [14, 22], "bottom": [14, 27, 35], "test_load_": [14, 35], "load_generic_system_2dof": 14, "test_generic_system": 14, "find_packag": [14, 35], "directori": [14, 35], "ament": [14, 35], "cmake": 14, "pluginlib_export_plugin_description_fil": [14, 27, 35], "ament_cmake_gmock": [14, 35], "ament_add_gmock": [14, 35], "ament_export_librari": [14, 35], "ament_packag": [14, 35], "test_depend": [14, 35], "rememb": [14, 35], "root": [14, 35], "workspac": [14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "enjoi": [14, 35], "great": [14, 35], "templat": [14, 16, 27, 35], "shell": [14, 35], "onward": 14, "spin": 15, "spin_tim": 15, "hidden": 15, "discoveri": 15, "daemon": 15, "test_controller_nam": 15, "test_control": 15, "diffdrivecontrol": [15, 22], "verbos": 15, "label": [15, 21, 22, 24, 25, 26, 43], "unclaim": [15, 20, 23], "inact": [15, 18, 23, 27], "ctrl1": 15, "ctrl2": 15, "strict": 15, "asap": 15, "switch_timeout": 15, "diagram": 15, "tmp": 15, "controller_diagram": 15, "gv": 15, "pdf": [15, 27], "demonstr": [16, 18, 20, 22, 23, 28, 29], "prove": 16, "checkout": 16, "roscon2022_workshop": 16, "hardwareinterfac": [16, 27], "diffbot": 16, "degre": [16, 27, 44, 47], "freedom": [16, 27, 47], "components_architecture_and_urdf_exampl": 16, "revolut": [16, 18, 20, 27, 28], "drive": [16, 22, 30, 32, 33, 34, 47, 48, 49, 53], "accord": [16, 22, 27], "intermedi": 16, "car": 16, "steer": [16, 30, 32, 34, 47, 48, 49], "tba": 16, "tabl": 16, "offici": [16, 52], "easili": 16, "aptitud": 16, "might": [16, 43], "own": [16, 18, 27], "git": [16, 27], "clone": [16, 27], "b": [16, 27], "merg": 16, "f": 16, "procedur": 16, "rviz2": [16, 18, 29], "visual": [16, 18, 25, 27, 41], "joint_state_publisher_gui": [16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "bring": 16, "ros2_control_demo_example_1": [16, 18], "view_robot": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "omit": 16, "termin": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "example_1": [16, 18, 19, 20, 29], "rviz": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41], "slider": 16, "around": [16, 37, 40, 42, 46], "ros2_control_demo_example_2": [16, 22], "come": [16, 44], "categori": 16, "individu": [16, 35, 46], "position_in_degre": 16, "hardware_interface_type_valu": [16, 31], "6dof": 16, "variou": [18, 28], "invert": 18, "pendulum": 18, "fun": 18, "proprietari": [18, 21, 22, 23, 24, 25, 26, 28], "view": [18, 27], "recreat": 18, "robotmodel": 18, "displai": [18, 20, 21, 23, 24, 25, 26, 28, 29], "ros2_control_demo_descript": 18, "ok": [18, 21, 22, 23, 24, 25, 26, 27, 28, 35], "warn": [18, 21, 22, 23, 24, 25, 26, 28, 41], "invalid": [18, 21, 22, 23, 24, 25, 26, 28], "frame": [18, 21, 22, 23, 24, 25, 26, 27, 28, 37], "odom": [18, 21, 22, 23, 24, 25, 26, 28, 33, 47], "cantransform": [18, 21, 22, 23, 24, 25, 26, 28], "target_fram": [18, 21, 22, 23, 24, 25, 26, 28], "happen": [18, 21, 22, 23, 24, 25, 26, 27, 28], "ctrl": 18, "lot": [18, 20, 21, 22, 23, 24, 25, 26, 28], "exemplari": [18, 21, 23, 24, 25, 26, 28, 30, 32, 47, 49], "orang": [18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "yellow": [18, 20, 21, 23, 24, 25, 26, 28, 29], "rectangl": [18, 20, 21, 23, 24, 25, 26, 28], "introspect": [18, 20, 21, 22, 23, 24, 25, 26, 28], "list_hardware_interfac": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "entrypoint": 18, "nomin": 18, "marker": [18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "list_control": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "jointstatebroadcast": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "forward_position_control": [18, 19, 20, 23, 24, 25, 26, 28, 29], "forward_command_control": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 36, 45, 50], "pub": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "std_msg": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 36, 38, 45, 50], "float64multiarrai": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 36, 38, 45, 50], "everi": [18, 23, 24, 25, 26, 27, 28, 29, 38, 42, 53], "test_forward_position_control": [18, 23, 24, 25, 26, 28, 29], "block": [18, 20, 21, 23, 24, 25, 26, 27, 28], "got": [18, 19, 20, 21, 22, 23, 24, 25, 26], "50000": [18, 20, 24, 25, 26], "echo": [18, 19, 20, 22, 24, 25, 29], "joint_stat": [18, 20, 22, 29, 41], "dynamic_joint_st": [18, 20, 29, 41], "load_control": 18, "joint_trajectory_position_control": 18, "successfulli": [18, 21, 26], "set_controller_st": 18, "rrbot_control": [18, 19, 20, 28, 29], "four": [18, 21, 30], "test_joint_trajectory_control": 18, "rrbot_joint_trajectory_publish": 18, "rrbot_descript": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29], "rrbot_forward_position_publish": [18, 29], "ros2_control_demo_example_10": 19, "contrast": 19, "gpio_control": 19, "gpiocontrol": 19, "interface_nam": [19, 37, 38], "1199574016": 19, "1676318848": 19, "rrbotsystemwithgpiohardwar": 19, "gp": 19, "example_12": 20, "been": 20, "known": 20, "passthrough_control": 20, "ros2_control_demo_example_12": 20, "ident": [20, 22, 27, 29, 43], "joint2_position_control": 20, "passthroughcontrol": 20, "joint1_position_control": 20, "someth": 20, "automat": [20, 27, 29, 33, 48], "appear": 20, "whose": [20, 43], "henc": [20, 27], "launch_chained_control": 20, "position_control": [20, 34, 38], "streamlin": 20, "clearli": 20, "sent": [20, 42], "reflect": 20, "canopen_402": [21, 26], "modbu": [21, 26], "rs232": [21, 26], "rs485": [21, 26], "ros2_control_demo_example_14": 21, "rrbot_modular_actuators_without_feedback_sensors_for_position_feedback": 21, "list_hardware_compon": [21, 22, 24, 25, 26], "rrbotmodularjoint2": [21, 26], "rrbotactuatorwithoutfeedback": 21, "rrbotmodularjoint1": [21, 26], "rrbotmodularpositionsensorjoint2": 21, "rrbotsensorpositionfeedback": 21, "rrbotmodularpositionsensorjoint1": 21, "forward_velocity_control": [21, 23], "000000": 21, "00000": [21, 22, 23], "25300": 21, "rrbot_actuator_without_feedback": 21, "rrbot_sensor_for_position_feedback": 21, "example_2": 22, "excess": 22, "print": [22, 41], "left_wheel_joint": 22, "right_wheel_joint": 22, "diffbot_base_control": 22, "diff": 22, "geometry_msg": [22, 24, 25, 33, 37, 47], "twist": [22, 33, 47, 48], "linear": [22, 27, 33, 40, 43, 47, 48], "angular": [22, 33, 40, 47, 48], "circl": 22, "diffbotsystemhardwar": 22, "33333": 22, "faster": 22, "genericsystem": 22, "use_mock_hardwar": 22, "true": [22, 29, 33, 42, 43, 44, 47], "calculate_dynam": 22, "diffbot_control": 22, "diffbot_descript": 22, "diffbot_system": 22, "example_3": 23, "fri": [23, 52], "abb": [23, 52], "yumi": 23, "schunk": [23, 52], "lwa4p": 23, "illeg": 23, "declin": 23, "faulti": 23, "ros2_control_demo_example_3": 23, "rrbot_system_multi_interfac": 23, "robot_control": [23, 27], "spawn": 23, "forward_acceleration_control": 23, "velocity_control": [23, 34, 38], "jointgroupvelocitycontrol": 23, "rrbotsystemmultiinterfacehardwar": 23, "po": [23, 43], "78500": 23, "vel": [23, 47], "acc": 23, "control_lvl": 23, "forward_illegal1_control": 23, "forward_illegal2_control": 23, "1676209982": 23, "531163501": 23, "resource_manag": 23, "rrbotsystemmultiinterfac": 23, "did": 23, "531223835": 23, "sinc": [23, 27, 32], "reject": [23, 42, 43], "spawner": 23, "531717376": 23, "spawner_forward_illegal1_control": 23, "indic": [23, 27], "rrbot_multi_interface_forward_control": 23, "krc": 24, "prototyp": 24, "odri": [24, 52], "ros2_control_demo_example_4": 24, "rrbot_system_with_sensor": 24, "rrbotsystemwithsensor": 24, "rrbotsystemwithsensorhardwar": 24, "fts_broadcast": [24, 25], "force_torque_sensor_broadcast": [24, 25], "forcetorquesensorbroadcast": [24, 25], "wrench": [24, 25, 31], "republish": [24, 25], "wrenchstamp": [24, 25, 37], "stamp": [24, 25, 47], "sec": [24, 25], "1676444704": [24, 25], "nanosec": [24, 25], "332221422": [24, 25], "tool_link": [24, 25], "946532964706421": 24, "nan": [24, 42], "0540995597839355": 24, "rrbot_with_sensor_control": 24, "pc": 25, "3d": [25, 27], "ros2_control_demo_example_5": 25, "rrbot_system_with_external_sensor": 25, "externalrrbotftsensor": 25, "externalrrbotforcetorquesensorhardwar": 25, "2126582860946655": 25, "3202226161956787": 25, "4302282333374023": 25, "540233612060547": 25, "647800624370575": 25, "7602499723434448": 25, "rrbot_with_external_sensor_control": 25, "rrbot_system_position_onli": 25, "external_rrbot_force_torque_sensor": 25, "mara": 26, "ros2_control_demo_example_6": 26, "rrbot_modular_actu": 26, "rrbotmodularjoint": 26, "rrbot_actu": 26, "queri": [27, 44], "enhanc": 27, "deploi": 27, "oper": [27, 53], "pattern": 27, "vendor": 27, "runtim": 27, "program": 27, "conform": 27, "newest": 27, "characterist": 27, "tree": [27, 33], "primari": [27, 44], "commerci": 27, "scratch": 27, "illustr": 27, "stl": 27, "dae": 27, "coars": 27, "mesh": 27, "fast": [27, 52], "collis": 27, "express": 27, "vertic": 27, "transform": 27, "rotat": [27, 33, 42], "translat": [27, 33, 48], "proxim": 27, "face": 27, "co": 27, "planer": 27, "xy": 27, "plane": 27, "align": 27, "blender": 27, "begin": 27, "neg": [27, 42], "roll": 27, "pitch": 27, "yaw": 27, "repeat": 27, "robot_6_dof": 27, "base_link": [27, 47, 48], "link_0": 27, "inerti": 27, "mass": 27, "inertia": 27, "ixx": 27, "ixi": 27, "ixz": 27, "iyi": 27, "iyz": 27, "izz": 27, "tool0": 27, "base_joint": 27, "joint_1": 27, "link_1": 27, "061584": 27, "141592653589793": 27, "name_spac": 27, "class_nam": 27, "pi": [27, 42], "enclos": 27, "previous": 27, "left": 27, "zero": [27, 31, 42, 43], "rel": [27, 43], "center": 27, "uniform": 27, "consecut": 27, "motion": [27, 42], "subsequ": 27, "join": [27, 53], "speci": 27, "verifi": 27, "urdf_to_graphviz": 27, "r6bot": 27, "explain": 27, "robotsystem": 27, "ur5": 27, "five": 27, "hardware_interface_return_valu": 27, "hardware_interface_publ": 27, "commandinterfac": 27, "durat": 27, "period": [27, 42], "privat": 27, "memori": [27, 35], "alloc": 27, "establish": 27, "angl": [27, 32, 47], "notabl": 27, "vari": 27, "fill": 27, "field": [27, 41, 43], "suppos": [27, 43], "tcp_force_torque_sensor": 27, "Their": 27, "pointer": 27, "info_": 27, "state_interfaces_": 27, "nearli": 27, "previou": [27, 43, 53], "command_interfaces_": 27, "constraint": [27, 35, 39, 40, 42, 44, 47], "respons": 27, "turn": 27, "oppos": [27, 44], "tcp": [27, 31], "packet": 27, "robot_6_dof_hardwar": 27, "discov": 27, "library_nam": 27, "base_class_typ": 27, "human": 27, "notic": [27, 43], "just": 27, "add_librari": 27, "robot_hardwar": 27, "unlik": 27, "finit": 27, "certain": [27, 36, 45, 50], "transit": [27, 43], "robotcontrol": 27, "nine": 27, "six": [27, 37], "callback": 27, "lifetim": 27, "restart": 27, "reconfigur": 27, "buffer": [27, 53], "reset": [27, 47], "transfer": 27, "eventu": 27, "mutex": 27, "guarante": [27, 43], "never": 27, "release_interfac": 27, "shut": 27, "free": [27, 33], "cleanup": 27, "r6bot_control": 27, "view_r6bot": 27, "ros2_control_demo_example_7": 27, "send_trajectori": 27, "circular": 27, "ros2_control_demo_example_8": 28, "rrbot_transmissions_system_position_onli": 28, "rrbottransmissionssystempositiononlyhardwar": 28, "transmission1": 28, "actuator1": 28, "transmission2": 28, "actuator2": 28, "383253": 28, "766505": 28, "53301": 28, "example_9": 29, "later": [29, 43], "ros2_control_demo_example_9": 29, "rrbot_gazebo_class": 29, "usr": 29, "ax": [30, 32, 37, 40, 49], "wheel": [30, 32, 33, 47, 49], "traction": [30, 32, 47, 48, 49], "steerabl": [30, 32, 49], "generate_parameter_librari": [30, 31, 32, 38, 39, 40, 47, 49], "parameter": [30, 32, 47, 49], "front_wheel_track": 30, "front": [30, 31, 32, 47, 49], "length": [30, 40, 47, 49], "en": [30, 32, 49], "wikipedia": [30, 32, 47, 49, 53], "wiki": [30, 32, 43, 44, 49], "wheelbas": [30, 32, 49], "rear_wheel_track": 30, "rear": [30, 32, 47, 49], "distanc": [30, 32, 44, 46, 49], "front_wheels_radiu": [30, 49], "radiu": [30, 32, 49], "rear_wheels_radiu": [30, 49], "chainedcontrollerinterfac": 31, "joint_refer": 31, "trajectory_msg": [31, 43, 44], "jointtrajectorypoint": [31, 43], "admittancecontrollerst": 31, "ft_sensor": 31, "sensor_nam": [31, 37, 40, 46], "ackermann": [32, 34, 47], "vehicl": 32, "probabl": 32, "front_wheel_radiu": 32, "rear_wheel_radiu": 32, "bodi": 33, "odometri": [33, 47, 48], "space": [33, 44], "hw_if_posit": [33, 34, 47], "hw_if_veloc": [33, 34, 47], "position_feedback": [33, 47], "twiststamp": [33, 47], "use_stamped_vel": [33, 47], "nav_msg": [33, 47], "estim": 33, "tf": [33, 47], "tf2_msg": [33, 47], "tfmessag": [33, 47], "enable_odom_tf": [33, 47], "cmd_vel_out": 33, "publish_limited_veloc": 33, "jointlimit": 33, "joint_limit": 33, "commonli": 34, "bicycl": [34, 47], "effort_control": [34, 38], "hw_if_acceler": 34, "hw_if_effort": 34, "represent": [34, 44], "controllernam": 35, "protect": 35, "reserv": 35, "importantli": 35, "ask": [35, 41], "sort": 35, "controller_name_namespac": 35, "controller_name_packag": 35, "ros2_control_test_asset": 35, "special": [36, 43, 45, 50], "hz": [36, 39, 45, 50], "wrapper": [37, 40, 46], "forcetorquesensor": 37, "6d": 37, "per": 37, "less": [37, 47], "example_nam": 37, "example_interfac": 37, "feedforward": 38, "multi_interface_forward_command_control": 38, "string_arrai": [38, 47], "action_monitor_r": [39, 42, 44], "greater": [39, 42], "equal": [39, 40], "goal_toler": 39, "max_effort": 39, "allow_stal": 39, "stall": 39, "stall_velocity_threshold": 39, "threshold": 39, "001": 39, "stall_timeout": 39, "imusensor": 40, "orient": 40, "angular_veloc": 40, "linear_acceler": 40, "static_covariance_orient": 40, "double_arrai": [40, 47], "static": 40, "covari": [40, 47], "row": 40, "static_covariance_angular_veloc": 40, "static_covariance_linear_acceler": 40, "unless": 41, "latter": 41, "matrix": [41, 47], "product": 41, "use_local_top": 41, "my_state_broadcast": 41, "arrai": 41, "extra_joint": 41, "map_interface_to_joint_st": 41, "usecas": 41, "hydraul": [41, 42], "relianc": 41, "techniqu": 41, "slightli": 41, "custom_interfac": 41, "kf_estimated_posit": 41, "derived_veloc": 41, "derived_effort": 41, "torque_sensor": 41, "current_sensor": 41, "command_joint": 42, "jtc": 42, "state_publish_r": [42, 44], "monitor": [42, 44], "allow_partial_joints_go": [42, 44], "allow_integration_in_goal_trajectori": [42, 43], "interpolation_method": 42, "interpol": [42, 44], "spline": 42, "open_loop_control": [42, 44], "gain": 42, "numer": 42, "numeric_limit": 42, "quiet_nan": 42, "start_with_hold": 42, "hold": [42, 43], "allow_nonzero_velocity_at_trajectory_end": 42, "cmd_timeout": 42, "stale": 42, "count": 42, "goal_tim": [42, 44], "toler": [42, 44], "jointtrajectori": [42, 43, 44], "stopped_velocity_toler": [42, 44], "deviat": 42, "maxim": 42, "reach": [42, 43, 44], "predefin": 42, "infinit": 42, "amount": 42, "law": [42, 44], "k_": 42, "ff": 42, "v_d": 42, "k_p": 42, "k_i": 42, "sum": 42, "dt": 42, "k_d": 42, "angle_wraparound": 42, "i_clamp": 42, "clamp": 42, "symmetr": 42, "ff_velocity_scal": 42, "feed": 42, "wrap": [42, 44], "ie": [42, 43], "shortest": 42, "s_d": 42, "saniti": 43, "sampl": [43, 47], "segment": [43, 44], "fault": 43, "datapoint": 43, "deduc": 43, "nor": 43, "discourag": 43, "yield": 43, "discontinu": [43, 44], "cubic": 43, "quintic": 43, "heun": 43, "grid": 43, "10m": 43, "deduct": 43, "nonzero": 43, "inconsist": 43, "overshoot": 43, "timestamp": 43, "arriv": 43, "necessarili": 43, "discard": 43, "substitut": 43, "smarter": 43, "preserv": 43, "flat": 43, "grei": 43, "red": 43, "traj": 43, "time_from_start": 43, "splice": 43, "append": 43, "held": [43, 44], "smooth": [43, 53], "longer": 43, "slower": 43, "effect": 43, "Of": 43, "interest": 43, "adolfo": [43, 44], "rodriguez": [43, 44], "instant": 44, "citat": 44, "adapt": 44, "restrict": 44, "present": 44, "robust": 44, "clock": 44, "queu": 44, "joint3": 44, "joint4": 44, "joint5": 44, "joint6": 44, "preempt": 44, "cancel": 44, "notifi": 44, "abort": 44, "legal": 44, "subset": 44, "favor": 44, "violat": 44, "joint_trajectori": 44, "fire": 44, "sender": 44, "query_st": 44, "cumbersom": 44, "controller_st": [44, 47], "jointtrajectorycontrollerst": 44, "querytrajectoryst": 44, "footnot": 44, "rangesensor": 46, "radiation_typ": 46, "int": [46, 47], "radiat": 46, "ultrason": 46, "infrar": 46, "field_of_view": 46, "arc": 46, "rad": [46, 47], "min_rang": 46, "minimum": 46, "m": [46, 47], "max_rang": 46, "maximum": 46, "nomenclatur": 47, "unstamp": 47, "concret": 47, "tricylc": 47, "seer": 47, "front_steer": 47, "front_wheels_nam": 47, "rear_wheels_nam": 47, "traction_feedback_typ": 47, "in_chained_mod": 47, "reference_unstamp": 47, "tf_odometri": 47, "steeringcontrollerstatu": 47, "reference_timeout": 47, "unwant": 47, "danger": 47, "behaviour": 47, "rear_wheels_state_nam": 47, "front_wheels_state_nam": 47, "open_loop": 47, "velocity_rolling_window_s": 47, "number": 47, "averag": 47, "base_frame_id": 47, "odom_frame_id": 47, "twist_covariance_diagon": 47, "diagon": 47, "pose_covariance_diagon": 47, "pose": 47, "wheel_track": 49, "page": [51, 52], "isaac": 51, "webot": 51, "manufactur": 52, "franka": 52, "emika": 52, "xarm": 52, "flexiv": 52, "rizon": 52, "igu": 52, "commonplac": 52, "husarion": 52, "rosbot": 52, "xl": 52, "2r": 52, "pro": 52, "openmanipul": 52, "clearpath": 52, "jackal": 52, "j100": 52, "huski": 52, "a200": 52, "unoffici": 52, "iiwa": 52, "lbr": 52, "iiqka": 52, "eci": 52, "sunris": 52, "kss": 52, "egm": 52, "mitsubishi": 52, "rv1a": 52, "protocol": 52, "ethercat": 52, "canopen": 52, "svh": 52, "finger": 52, "dimens": 52, "haptic": 52, "odriv": 52, "ndi": 52, "pca9685": 52, "bit": 52, "pwm": 52, "servo": 52, "hoverboard": 52, "overcom": 53, "idea": 53, "wide": 53, "toolkit": 53, "unreleas": 53, "question": 53, "wg": 53, "wednesdai": 53, "announc": 53, "discours": 53, "googl": 53, "bug": 53, "tracker": 53, "reproduc": 53, "regard": 53, "built": 53, "gmt": 53}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "maintain": 0, "review": 0, "stat": 0, "contributor": 0, "compani": 0, "institut": 0, "contribut": 1, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 16, 53], "process": [1, 9], "merg": 1, "write": [1, 11, 14, 27, 35], "document": [1, 8, 10, 53], "structur": [1, 2], "ci": 1, "configur": 1, "usag": [1, 3, 5], "differ": 2, "ros_control": 2, "ros1": [2, 6], "hardwar": [2, 4, 6, 9, 11, 12, 14, 27, 38, 41, 44], "class": [2, 8], "interfac": [2, 4, 12, 15, 19, 23, 27, 28, 31, 33, 36, 38, 41, 44, 45, 47, 50], "control": [2, 3, 4, 5, 6, 8, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 35, 36, 38, 39, 44, 45, 47, 50, 51], "": [2, 33, 44, 47], "access": 2, "migrat": [2, 11], "guid": 2, "ros2_control": [2, 3, 5, 6, 10, 12, 16, 27, 31, 34, 53], "robothardwar": 2, "compon": [2, 4, 6, 11, 13, 14], "gazebo_ros2_control": 3, "modifi": [3, 5], "build": [3, 4, 5, 16], "your": [3, 4, 5], "own": [3, 5], "To": [3, 5, 16], "run": [3, 4, 5, 16], "demo": [3, 5, 6, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "add": [3, 5, 6], "tag": [3, 5], "urdf": [3, 4, 5, 27], "simpl": [3, 5], "setup": [3, 5], "us": [3, 5, 8, 9, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 35, 44], "mimic": [3, 5], "joint": [3, 5, 12, 13, 44], "simul": [3, 5, 29, 51], "plugin": [3, 5, 27], "default": [3, 5], "behavior": [3, 5], "advanc": [3, 5], "custom": [3, 5], "set": [3, 5], "up": [3, 5], "gazebo_ros2_control_demo": 3, "get": 4, "start": 4, "instal": [4, 16], "binari": 4, "packag": [4, 16], "from": [4, 6, 11, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 47], "sourc": [4, 16], "architectur": 4, "manag": [4, 8, 9], "resourc": [4, 7, 8], "user": 4, "descript": [4, 27, 33, 44, 47], "framework": 4, "robot": [4, 7, 16, 19, 21, 23, 24, 25, 26, 27, 28, 34, 52], "gz_ros2_control": 5, "gz_ros2_control_demo": 5, "project": 6, "idea": 6, "gsoc": 6, "2024": 6, "tutori": [6, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "mission": 6, "support": [6, 52], "semant": 6, "featur": [6, 10, 33, 44, 48], "pariti": 6, "present": 7, "2023": 7, "02": 7, "ro": [7, 31, 33, 36, 38, 45, 50, 51], "meetup": 7, "munich": 7, "5": [7, 25], "2022": 7, "12": [7, 20], "industri": [7, 19, 24, 25, 28], "confer": 7, "10": [7, 19], "roscon": 7, "06": 7, "fr": 7, "2021": 7, "world": 7, "07": 7, "weekli": 7, "13": 7, "rosdevdai": 7, "05": 7, "diagram": 7, "imag": 7, "chain": [8, 20], "cascad": 8, "scope": 8, "background": 8, "knowledg": 8, "motiv": 8, "purpos": 8, "implement": 8, "A": 8, "base": 8, "chainablecontrol": 8, "inner": 8, "activ": 8, "deactiv": 8, "debug": 8, "output": [8, 33], "close": 8, "remark": 8, "determin": 9, "paramet": [9, 13, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 49, 50], "helper": 9, "script": 9, "spawner": 9, "unspawn": 9, "concept": [9, 10], "restart": 9, "all": 9, "api": 10, "guidelin": [11, 34], "best": [11, 34], "practic": [11, 34], "handl": 11, "error": 11, "happen": 11, "dure": 11, "read": 11, "call": 11, "foxi": 11, "newer": 11, "version": 11, "type": [12, 38, 41, 44], "sensor": [12, 24, 25, 37, 40, 46], "gpio": [12, 19], "exampl": [12, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 43], "mock": 13, "gener": 13, "system": 13, "per": 13, "extern": [14, 25, 35], "refer": [14, 31, 33, 35, 44, 47], "command": [15, 31, 41, 44, 47, 48], "line": 15, "list_control": 15, "list_controller_typ": 15, "list_hardware_compon": 15, "list_hardware_interfac": 15, "load_control": 15, "reload_controller_librari": 15, "set_controller_st": 15, "switch_control": 15, "unload_control": 15, "view_controller_chain": 15, "what": 16, "you": 16, "can": 16, "find": 16, "thi": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "goal": 16, "overview": [16, 27], "local": 16, "debian": 16, "docker": 16, "view": 16, "quick": 16, "hint": 16, "1": [18, 44], "rrbot": [18, 20, 29], "step": [18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "file": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "14": 21, "modular": [21, 26], "actuat": [21, 26], "provid": 21, "state": [21, 31, 44, 47], "diffbot": 22, "3": 23, "multipl": 23, "4": 24, "integr": [24, 51], "connect": 25, "6": 26, "separ": 26, "commun": [26, 51, 53], "each": 26, "7": 27, "full": 27, "6dof": 27, "geometri": 27, "cmake": 27, "librari": 27, "launch": 27, "8": 28, "an": 28, "expos": 28, "transmiss": 28, "9": 29, "ackermann_steering_control": 30, "admitt": 31, "2": [31, 33, 36, 38, 45, 50], "topic": [31, 36, 38, 45, 50], "bicycle_steering_control": 32, "diff_drive_control": 33, "other": [33, 34, 44, 48], "feedback": 33, "subscrib": [33, 44, 47], "publish": [33, 44, 47], "mobil": 34, "manipul": 34, "broadcast": [34, 37, 40, 46], "new": 35, "effort_control": 36, "jointgroupeffortcontrol": 36, "forc": 37, "torqu": 37, "forward_command_control": 38, "gripper": 39, "action": [39, 44], "imu": 40, "joint_state_broadcast": 41, "detail": 42, "about": 42, "trajectori": [43, 44], "represent": 43, "interpol": 43, "method": 43, "none": 43, "spline": 43, "visual": 43, "replac": 43, "joint_trajectory_control": 44, "preemption": 44, "polici": 44, "servic": 44, "further": 44, "inform": 44, "position_control": 45, "jointgrouppositioncontrol": 45, "rang": 46, "steering_controllers_librari": 47, "execut": 47, "logic": 47, "preced": 47, "tricycle_control": 48, "veloc": 48, "tricycle_steering_control": 49, "velocity_control": 50, "jointgroupvelocitycontrol": 50, "host": 51, "welcom": 53, "humbl": 53, "develop": 53, "organis": 53}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Maintainers": [[0, "maintainers"]], "Reviewers\u2019 Stats": [[0, "reviewers-stats"]], "Contributors": [[0, "contributors"]], "Companies and Institutions": [[0, "companies-and-institutions"]], "Contributing": [[1, "contributing"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Documentation Usage": [[1, "documentation-usage"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "gazebo_ros2_control": [[3, "gazebo-ros2-control"]], "Usage": [[3, "usage"], [5, "usage"]], "Modifying or building your own": [[3, "modifying-or-building-your-own"], [5, "modifying-or-building-your-own"]], "To run the demo": [[3, "to-run-the-demo"], [5, "to-run-the-demo"]], "Add ros2_control tag to a URDF": [[3, "add-ros2-control-tag-to-a-urdf"], [5, "add-ros2-control-tag-to-a-urdf"]], "Simple setup": [[3, "simple-setup"], [5, "simple-setup"]], "Using mimic joints in simulation": [[3, "using-mimic-joints-in-simulation"], [5, "using-mimic-joints-in-simulation"]], "Add the gazebo_ros2_control plugin": [[3, "add-the-gazebo-ros2-control-plugin"]], "Default gazebo_ros2_control Behavior": [[3, "default-gazebo-ros2-control-behavior"]], "Advanced: custom gazebo_ros2_control Simulation Plugins": [[3, "advanced-custom-gazebo-ros2-control-simulation-plugins"]], "Set up controllers": [[3, "set-up-controllers"], [5, "set-up-controllers"]], "gazebo_ros2_control_demos": [[3, "gazebo-ros2-control-demos"]], "Getting Started": [[4, "getting-started"]], "Installation": [[4, "installation"], [16, "installation"]], "Binary packages": [[4, "binary-packages"]], "Building from Source": [[4, "building-from-source"]], "Architecture": [[4, "architecture"]], "Controller Manager": [[4, "controller-manager"], [9, "controller-manager"]], "Resource Manager": [[4, "resource-manager"]], "Controllers": [[4, "controllers"]], "User Interfaces": [[4, "user-interfaces"]], "Hardware Components": [[4, "hardware-components"], [11, "hardware-components"]], "Hardware Description in URDF": [[4, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[4, "running-the-framework-for-your-robot"]], "gz_ros2_control": [[5, "gz-ros2-control"]], "Add the gz_ros2_control plugin": [[5, "add-the-gz-ros2-control-plugin"]], "Default gz_ros2_control Behavior": [[5, "default-gz-ros2-control-behavior"]], "Advanced: custom gz_ros2_control Simulation Plugins": [[5, "advanced-custom-gz-ros2-control-simulation-plugins"]], "gz_ros2_control_demos": [[5, "gz-ros2-control-demos"]], "Project Ideas for GSoC 2024": [[6, "project-ideas-for-gsoc-2024"]], "Tutorials and Demos for ros2_control": [[6, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[6, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[6, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[6, "feature-parity-for-controllers-from-ros1"]], "Resources": [[7, "resources"]], "Presentations": [[7, "presentations"]], "2023-02 ROS Meetup Munich #5": [[7, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[7, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[7, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[7, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[7, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[7, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[7, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[7, "roscon-fr-2021"]], "Diagrams": [[7, "diagrams"]], "Images": [[7, "images"]], "Controller Chaining / Cascade Control": [[8, "controller-chaining-cascade-control"]], "Scope of the Document and Background Knowledge": [[8, "scope-of-the-document-and-background-knowledge"]], "Motivation, Purpose and Use": [[8, "motivation-purpose-and-use"]], "Implementation": [[8, "implementation"]], "A Controller Base-Class: ChainableController": [[8, "a-controller-base-class-chainablecontroller"]], "Inner Resource Management": [[8, "inner-resource-management"]], "Activation and Deactivation Chained Controllers": [[8, "activation-and-deactivation-chained-controllers"]], "Debugging outputs": [[8, "debugging-outputs"]], "Closing remarks": [[8, "closing-remarks"]], "Determinism": [[9, "determinism"]], "Parameters": [[9, "parameters"], [13, "parameters"], [30, "parameters"], [31, "parameters"], [32, "parameters"], [33, "parameters"], [36, "parameters"], [37, "parameters"], [38, "parameters"], [39, "parameters"], [40, "parameters"], [41, "parameters"], [45, "parameters"], [46, "parameters"], [47, "parameters"], [49, "parameters"], [50, "parameters"]], "Helper scripts": [[9, "helper-scripts"]], "spawner": [[9, "spawner"]], "unspawner": [[9, "unspawner"]], "Using the Controller Manager in a Process": [[9, "using-the-controller-manager-in-a-process"]], "Concepts": [[9, "concepts"], [10, "concepts"]], "Restarting all controllers": [[9, "restarting-all-controllers"]], "Restarting hardware": [[9, "restarting-hardware"]], "ros2_control": [[10, "ros2-control"]], "API Documentation": [[10, "api-documentation"]], "Features": [[10, "features"]], "Guidelines and Best Practices": [[11, "guidelines-and-best-practices"], [34, "guidelines-and-best-practices"]], "Handling of errors that happen during read() and write() calls": [[11, "handling-of-errors-that-happen-during-read-and-write-calls"]], "Migration from Foxy to newer versions": [[11, "migration-from-foxy-to-newer-versions"]], "ros2_control hardware interface types": [[12, "ros2-control-hardware-interface-types"]], "Joints": [[12, "joints"]], "Sensors": [[12, "sensors"]], "GPIOs": [[12, "gpios"]], "Examples": [[12, "examples"], [16, "examples"]], "Mock Components": [[13, "mock-components"]], "Generic System": [[13, "generic-system"]], "Per-joint Parameters": [[13, "per-joint-parameters"]], "Writing a Hardware Component": [[14, "writing-a-hardware-component"]], "Useful External References": [[14, "useful-external-references"], [35, "useful-external-references"]], "Command Line Interface": [[15, "command-line-interface"]], "list_controllers": [[15, "list-controllers"]], "list_controller_types": [[15, "list-controller-types"]], "list_hardware_components": [[15, "list-hardware-components"]], "list_hardware_interfaces": [[15, "list-hardware-interfaces"]], "load_controller": [[15, "load-controller"]], "reload_controller_libraries": [[15, "reload-controller-libraries"]], "set_controller_state": [[15, "set-controller-state"]], "switch_controllers": [[15, "switch-controllers"]], "unload_controller": [[15, "unload-controller"]], "view_controller_chains": [[15, "view-controller-chains"]], "Demos": [[16, "demos"]], "What you can find in this repository": [[16, "what-you-can-find-in-this-repository"]], "Goals": [[16, "goals"]], "Examples Overview": [[16, "examples-overview"]], "Local installation": [[16, "local-installation"]], "Build from debian packages": [[16, "build-from-debian-packages"]], "Build from source": [[16, "build-from-source"]], "Using Docker": [[16, "using-docker"]], "To view the robot": [[16, "to-view-the-robot"]], "To run the ros2_control demos": [[16, "to-run-the-ros2-control-demos"]], "Quick Hints": [[16, "quick-hints"]], "Example 1: RRBot": [[18, "example-1-rrbot"]], "Tutorial steps": [[18, "tutorial-steps"], [20, "tutorial-steps"], [21, "tutorial-steps"], [22, "tutorial-steps"], [23, "tutorial-steps"], [24, "tutorial-steps"], [25, "tutorial-steps"], [26, "tutorial-steps"], [28, "tutorial-steps"], [29, "tutorial-steps"]], "Files used for this demos": [[18, "files-used-for-this-demos"], [19, "files-used-for-this-demos"], [20, "files-used-for-this-demos"], [21, "files-used-for-this-demos"], [22, "files-used-for-this-demos"], [23, "files-used-for-this-demos"], [25, "files-used-for-this-demos"], [26, "files-used-for-this-demos"], [28, "files-used-for-this-demos"], [29, "files-used-for-this-demos"]], "Controllers from this demo": [[18, "controllers-from-this-demo"], [19, "controllers-from-this-demo"], [20, "controllers-from-this-demo"], [21, "controllers-from-this-demo"], [22, "controllers-from-this-demo"], [23, "controllers-from-this-demo"], [24, "controllers-from-this-demo"], [25, "controllers-from-this-demo"], [26, "controllers-from-this-demo"], [28, "controllers-from-this-demo"], [29, "controllers-from-this-demo"]], "Example 10: Industrial robot with GPIO interfaces": [[19, "example-10-industrial-robot-with-gpio-interfaces"]], "Example 12: Controller chaining with RRBot": [[20, "example-12-controller-chaining-with-rrbot"]], "Example 14: Modular robot with actuators not providing states": [[21, "example-14-modular-robot-with-actuators-not-providing-states"]], "DiffBot": [[22, "diffbot"]], "Example 3: Robots with multiple interfaces": [[23, "example-3-robots-with-multiple-interfaces"]], "Example 4: Industrial robot with integrated sensor": [[24, "example-4-industrial-robot-with-integrated-sensor"]], "Files used for this demo": [[24, "files-used-for-this-demo"]], "Example 5: Industrial robot with externally connected sensor": [[25, "example-5-industrial-robot-with-externally-connected-sensor"]], "Example 6: Modular Robots with separate communication to each actuator": [[26, "example-6-modular-robots-with-separate-communication-to-each-actuator"]], "Example 7: Full tutorial with a 6DOF robot": [[27, "example-7-full-tutorial-with-a-6dof-robot"]], "ros2_control overview": [[27, "ros2-control-overview"]], "Writing a URDF": [[27, "writing-a-urdf"]], "Geometry": [[27, "geometry"]], "URDF file": [[27, "urdf-file"]], "Writing a hardware interface": [[27, "writing-a-hardware-interface"]], "Plugin description file (hardware)": [[27, "plugin-description-file-hardware"]], "CMake library (hardware)": [[27, "cmake-library-hardware"]], "Writing a controller": [[27, "writing-a-controller"]], "Plugin description file (controller)": [[27, "plugin-description-file-controller"]], "CMake library (controller)": [[27, "cmake-library-controller"]], "Launching the example": [[27, "launching-the-example"]], "Example 8: Industrial Robots with an exposed transmission interface": [[28, "example-8-industrial-robots-with-an-exposed-transmission-interface"]], "Example 9: Simulation with RRBot": [[29, "example-9-simulation-with-rrbot"]], "ackermann_steering_controller": [[30, "ackermann-steering-controller"]], "Admittance Controller": [[31, "admittance-controller"]], "ROS 2 interface of the controller": [[31, "ros-2-interface-of-the-controller"], [36, "ros-2-interface-of-the-controller"], [38, "ros-2-interface-of-the-controller"], [45, "ros-2-interface-of-the-controller"], [50, "ros-2-interface-of-the-controller"]], "Topics": [[31, "topics"], [36, "topics"], [38, "topics"], [45, "topics"], [50, "topics"]], "ros2_control interfaces": [[31, "ros2-control-interfaces"]], "References": [[31, "references"], [33, "references"], [44, "references"]], "States": [[31, "states"], [44, "states"], [47, "states"]], "Commands": [[31, "commands"], [41, "commands"], [44, "commands"], [47, "commands"]], "bicycle_steering_controller": [[32, "bicycle-steering-controller"]], "diff_drive_controller": [[33, "diff-drive-controller"]], "Other features": [[33, "other-features"], [44, "other-features"], [48, "other-features"]], "Description of controller\u2019s interfaces": [[33, "description-of-controller-s-interfaces"], [44, "description-of-controller-s-interfaces"], [47, "description-of-controller-s-interfaces"]], "Feedback": [[33, "feedback"]], "Output": [[33, "output"]], "ROS 2 Interfaces": [[33, "ros-2-interfaces"]], "Subscribers": [[33, "subscribers"], [47, "subscribers"]], "Publishers": [[33, "publishers"], [44, "publishers"], [47, "publishers"]], "ros2_controllers": [[34, "ros2-controllers"]], "Controllers for Mobile Robots": [[34, "controllers-for-mobile-robots"]], "Controllers for Manipulators and Other Robots": [[34, "controllers-for-manipulators-and-other-robots"]], "Broadcasters": [[34, "broadcasters"]], "Writing a new controller": [[35, "writing-a-new-controller"]], "effort_controllers": [[36, "effort-controllers"]], "effort_controllers/JointGroupEffortController": [[36, "effort-controllers-jointgroupeffortcontroller"]], "Force Torque Sensor Broadcaster": [[37, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[38, "forward-command-controller"]], "Hardware interface type": [[38, "hardware-interface-type"], [41, "hardware-interface-type"]], "Gripper Action Controller": [[39, "gripper-action-controller"]], "IMU Sensor Broadcaster": [[40, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[41, "joint-state-broadcaster"]], "Details about parameters": [[42, "details-about-parameters"]], "Trajectory Representation": [[43, "trajectory-representation"]], "Interpolation Method none": [[43, "interpolation-method-none"]], "Interpolation Method spline": [[43, "interpolation-method-spline"]], "Visualized Examples": [[43, "visualized-examples"]], "Trajectory Replacement": [[43, "trajectory-replacement"]], "joint_trajectory_controller": [[44, "joint-trajectory-controller"]], "Hardware interface types": [[44, "hardware-interface-types"]], "Using Joint Trajectory Controller(s)": [[44, "using-joint-trajectory-controller-s"]], "Preemption policy 1": [[44, "preemption-policy"]], "Actions 1": [[44, "actions"]], "Subscriber 1": [[44, "subscriber"]], "Services": [[44, "services"]], "Further information": [[44, "further-information"]], "position_controllers": [[45, "position-controllers"]], "position_controllers/JointGroupPositionController": [[45, "position-controllers-jointgrouppositioncontroller"]], "Range Sensor Broadcaster": [[46, "range-sensor-broadcaster"]], "steering_controllers_library": [[47, "steering-controllers-library"]], "Execution logic of the controller": [[47, "execution-logic-of-the-controller"]], "References (from a preceding controller)": [[47, "references-from-a-preceding-controller"]], "tricycle_controller": [[48, "tricycle-controller"]], "Velocity commands": [[48, "velocity-commands"]], "tricycle_steering_controller": [[49, "tricycle-steering-controller"]], "velocity_controllers": [[50, "velocity-controllers"]], "velocity_controllers/JointGroupVelocityController": [[50, "velocity-controllers-jointgroupvelocitycontroller"]], "Simulator Integrations": [[51, "simulator-integrations"]], "Hosted by ros-controls": [[51, "hosted-by-ros-controls"]], "Community": [[51, "community"]], "Supported Robots": [[52, "supported-robots"]], "Welcome to the ros2_control documentation - Humble!": [[53, "welcome-to-the-ros2-control-documentation-humble"]], "ros2_control Repositories": [[53, "ros2-control-repositories"]], "Development Organisation and Communication": [[53, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/gazebo_ros2_control/doc/index", "doc/getting_started/getting_started", "doc/gz_ros2_control/doc/index", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/controller_chaining", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc", "doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc", "doc/ros2_control/hardware_interface/doc/mock_components_userdoc", "doc/ros2_control/hardware_interface/doc/writing_new_hardware_component", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_control_demos/doc/run_from_docker", "doc/ros2_control_demos/example_1/doc/userdoc", "doc/ros2_control_demos/example_10/doc/userdoc", "doc/ros2_control_demos/example_12/doc/userdoc", "doc/ros2_control_demos/example_14/doc/userdoc", "doc/ros2_control_demos/example_2/doc/userdoc", "doc/ros2_control_demos/example_3/doc/userdoc", "doc/ros2_control_demos/example_4/doc/userdoc", "doc/ros2_control_demos/example_5/doc/userdoc", "doc/ros2_control_demos/example_6/doc/userdoc", "doc/ros2_control_demos/example_7/doc/userdoc", "doc/ros2_control_demos/example_8/doc/userdoc", "doc/ros2_control_demos/example_9/doc/userdoc", "doc/ros2_controllers/ackermann_steering_controller/doc/userdoc", "doc/ros2_controllers/admittance_controller/doc/userdoc", "doc/ros2_controllers/bicycle_steering_controller/doc/userdoc", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/gripper_controllers/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/parameters", "doc/ros2_controllers/joint_trajectory_controller/doc/trajectory", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/steering_controllers_library/doc/userdoc", "doc/ros2_controllers/tricycle_controller/doc/userdoc", "doc/ros2_controllers/tricycle_steering_controller/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "doc/simulators/simulators", "doc/supported_robots/supported_robots", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/gazebo_ros2_control/doc/index.rst", "doc/getting_started/getting_started.rst", "doc/gz_ros2_control/doc/index.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/controller_chaining.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.rst", "doc/ros2_control/hardware_interface/doc/mock_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_control_demos/doc/run_from_docker.rst", "doc/ros2_control_demos/example_1/doc/userdoc.rst", "doc/ros2_control_demos/example_10/doc/userdoc.rst", "doc/ros2_control_demos/example_12/doc/userdoc.rst", "doc/ros2_control_demos/example_14/doc/userdoc.rst", "doc/ros2_control_demos/example_2/doc/userdoc.rst", "doc/ros2_control_demos/example_3/doc/userdoc.rst", "doc/ros2_control_demos/example_4/doc/userdoc.rst", "doc/ros2_control_demos/example_5/doc/userdoc.rst", "doc/ros2_control_demos/example_6/doc/userdoc.rst", "doc/ros2_control_demos/example_7/doc/userdoc.rst", "doc/ros2_control_demos/example_8/doc/userdoc.rst", "doc/ros2_control_demos/example_9/doc/userdoc.rst", "doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.rst", "doc/ros2_controllers/admittance_controller/doc/userdoc.rst", "doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/gripper_controllers/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/parameters.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/steering_controllers_library/doc/userdoc.rst", "doc/ros2_controllers/tricycle_controller/doc/userdoc.rst", "doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "doc/simulators/simulators.rst", "doc/supported_robots/supported_robots.rst", "index.rst"], "titles": ["Acknowledgements", "Contributing", "Differences to ros_control (ROS1)", "gazebo_ros2_control", "Getting Started", "gz_ros2_control", "Project Ideas for GSoC 2024", "Resources", "Controller Chaining / Cascade Control", "Controller Manager", "ros2_control", "Hardware Components", "ros2_control hardware interface types", "Mock Components", "Writing a Hardware Component", "Command Line Interface", "Demos", "<no title>", "Example 1: RRBot", "Example 10: Industrial robot with GPIO interfaces", "Example 12: Controller chaining with RRBot", "Example 14: Modular robot with actuators not providing states", "DiffBot", "Example 3: Robots with multiple interfaces", "Example 4: Industrial robot with integrated sensor", "Example 5: Industrial robot with externally connected sensor", "Example 6: Modular Robots with separate communication to each actuator", "Example 7: Full tutorial with a 6DOF robot", "Example 8: Industrial Robots with an exposed transmission interface", "Example 9: Simulation with RRBot", "ackermann_steering_controller", "Admittance Controller", "bicycle_steering_controller", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "Gripper Action Controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "Details about parameters", "Trajectory Representation", "joint_trajectory_controller", "position_controllers", "Range Sensor Broadcaster", "steering_controllers_library", "tricycle_controller", "tricycle_steering_controller", "velocity_controllers", "Simulator Integrations", "Supported Robots", "Welcome to the ros2_control documentation - Humble!"], "terms": {"The": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53], "follow": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 42, 43, 44, 45, 49, 50, 53], "peopl": [0, 1], "were": [0, 6, 27, 33, 43, 44], "ros2_control": [0, 1, 4, 7, 9, 11, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 33, 35, 51], "framework": [0, 1, 2, 6, 7, 9, 10, 11, 12, 13, 15, 16, 27, 34, 35, 41, 53], "show": [0, 1, 3, 4, 5, 7, 9, 11, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 41, 43], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 35, 41, 42, 43, 44, 52], "time": [0, 1, 2, 6, 7, 9, 13, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 33, 35, 37, 42, 43, 44, 53], "activ": [0, 1, 2, 4, 9, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41, 42, 44], "assign": [0, 35], "finish": 0, "rate": [0, 22, 42, 43, 44], "last": [0, 11, 14, 27, 31, 35, 42, 43, 44], "date": 0, "benc": [0, 6, 7], "magyar": [0, 6, 7], "bmagyar": 0, "1243": 0, "1023": 0, "0": [0, 3, 4, 5, 8, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 39, 40, 41, 42, 43, 44, 46, 47, 49], "82": 0, "2023": [0, 53], "12": [0, 16, 52, 53], "29t11": 0, "40": 0, "08z": 0, "dr": [0, 7], "deni": [0, 6, 7], "destogl": 0, "985": 0, "561": 0, "57": 0, "18t14": 0, "11": [0, 16], "03z": 0, "christoph": 0, "fr\u00f6hlich": 0, "christophfroehlich": 0, "152": 0, "133": 0, "88": 0, "26t09": 0, "00": 0, "02z": 0, "fetch": 0, "30": [0, 3, 5, 22, 53], "03": [0, 44], "25": 0, "46": 0, "utc": 0, "dure": [0, 16, 27, 44], "past": [0, 43], "month": 0, "532": 0, "401": 0, "75": 0, "438": 0, "136": 0, "31": [0, 53], "141": 0, "122": 0, "87": 0, "have": [0, 1, 2, 4, 6, 8, 9, 11, 12, 13, 14, 16, 18, 20, 22, 23, 27, 29, 30, 31, 32, 35, 41, 42, 44, 49], "contribut": [0, 4, 7], "develop": [0, 1, 7, 13, 14, 16, 35], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 27, 30, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 49, 50, 51, 52, 53], "project": [0, 1, 53], "give": [0, 1, 7, 9, 16, 18, 22, 23, 43, 53], "valuabl": 0, "pull": [0, 14], "request": [0, 2, 14, 27, 41, 53], "see": [0, 1, 2, 4, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 40, 42, 44, 46, 47, 49], "more": [0, 1, 2, 3, 4, 5, 6, 9, 13, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 44, 49], "inform": [0, 3, 5, 8, 13, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 35, 53], "karsten": 0, "knese": 0, "karsten1987": 0, "186": 0, "118": 0, "63": 0, "2021": 0, "09": 0, "07t16": 0, "47": 0, "31z": 0, "alejandro": 0, "hern\u00e1ndez": 0, "cordero": 0, "ahcord": 0, "90": [0, 27], "80": 0, "89": 0, "27t10": 0, "54": 0, "11z": 0, "sai": 0, "kishor": 0, "kothakota": 0, "saikishor": 0, "69": 0, "67": 0, "97": 0, "29t05": 0, "18": [0, 27], "25z": 0, "victor": 0, "lopez": 0, "v": [0, 15, 24, 42], "93": 0, "60": 0, "65": 0, "10": [0, 3, 5, 16, 23, 47], "14t09": 0, "01": [0, 39, 42, 44], "andyz": 0, "45": 0, "98": 0, "23t02": 0, "17": 0, "26z": 0, "abrar": 0, "rahman": 0, "protyasha": 0, "aprotya": 0, "157": 0, "43": [0, 4, 12, 22], "27": 0, "25t12": 0, "02": 0, "18z": 0, "olivi": 0, "stass": 0, "52": [0, 46], "77": 0, "26t08": 0, "13z": 0, "jordan": 0, "palacio": 0, "78": 0, "34": 0, "44": 0, "15t08": 0, "45z": 0, "erick": 0, "g": [0, 1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 31, 35, 36, 41, 45, 47, 50, 53], "isla": 0, "osuna": 0, "erickiso": 0, "139": 0, "28": [0, 47], "20": [0, 39, 42, 44], "19t20": 0, "32": 0, "07z": 0, "louis": 0, "poubel": 0, "chapulina": 0, "29": 0, "23": [0, 4], "79": 0, "2022": 0, "08": 0, "30t16": 0, "41": 0, "23z": 0, "none": [0, 8, 35, 41, 42, 44], "bijoua29": 0, "160": 0, "21": [0, 47], "13": [0, 16], "06": 0, "01t20": 0, "48": [0, 3, 5], "32z": 0, "jaron": 0, "l": 0, "167": 0, "10t19": 0, "59": 0, "59z": 0, "livanov93": 0, "164": 0, "05": [0, 44, 53], "22t06": 0, "28z": 0, "tyler": 0, "weaver": 0, "tylerjw": 0, "94": 0, "27t13": 0, "arn": 0, "hitzmann": 0, "arne48": 0, "145": 0, "16": [0, 52], "25t06": 0, "15z": 0, "bailac": 0, "14": [0, 16, 47], "1": [0, 1, 2, 3, 4, 5, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 39, 43, 46, 47], "09t12": 0, "52z": 0, "m\u00e1rk": 0, "szitan": 0, "vx792": 0, "135": 0, "22t09": 0, "26": 0, "felix": 0, "exner": 0, "fexner": 0, "fmauch": 0, "24t22": 0, "ari": 0, "synodino": 0, "progtologist": 0, "151": 0, "07": 0, "30t19": 0, "58z": 0, "chen": 0, "bainian": 0, "briancbn": 0, "36": 0, "9": [0, 6, 16, 40], "25t01": 0, "51": 0, "12z": 0, "paul": 0, "gesel": 0, "pac48": 0, "14t18": 0, "maciej": 0, "bednarczyk": 0, "mcbed": 0, "123": 0, "8": [0, 16], "25t18": 0, "19z": 0, "jafar": 0, "uru\u00e7": 0, "jafarabdi": 0, "07t07": 0, "01z": 0, "ddengster": 0, "2020": 0, "01t03": 0, "andr": 0, "montano": 0, "anfemosa": 0, "7": [0, 16, 19, 22, 47], "29t15": 0, "37z": 0, "homalozoa": 0, "x": [0, 22, 24, 25, 27, 31, 33, 37, 40, 47, 48, 52], "130": 0, "23t11": 0, "22": [0, 9], "mahaarbo": 0, "01t11": 0, "44z": 0, "matt": 0, "reynold": 0, "matthew": 0, "18t19": 0, "56": 0, "34z": 0, "ana": 0, "abou": 0, "allaban": 0, "piraka9011": 0, "04": [0, 9], "09t00": 0, "38": [0, 3, 5], "06z": 0, "toni": [0, 7], "najjar": [0, 7], "tonynajjar": 0, "04t13": 0, "50": [0, 4, 9, 22, 42, 44], "48z": 0, "dasroteskelett": 0, "149": 0, "6": [0, 16, 18, 27], "28t09": 0, "36z": 0, "brewmast": 0, "harderthan": 0, "124": 0, "26t15": 0, "47z": 0, "A": [0, 4, 7, 12, 14, 16, 24, 25, 35, 41, 43, 44], "vd": 0, "hoorn": 0, "gavanderhoorn": 0, "19t13": 0, "39": 0, "alex": 0, "moriarti": 0, "5": [0, 14, 16, 18, 19, 20, 21, 23, 24, 26, 27, 28, 29, 43, 47, 52], "42": 0, "20t19": 0, "55": 0, "jack": 0, "jackcent": 0, "02t15": 0, "37": 0, "17z": 0, "han": 0, "martin": 0, "duringhof": 0, "4": [0, 12, 16, 21, 23, 25, 28, 46], "29t21": 0, "15": 0, "noel": 0, "jim\u00e9nez": 0, "garc\u00eda": 0, "noel215": 0, "20t07": 0, "40z": 0, "nathan": [0, 7], "brook": [0, 7], "nbbrook": 0, "05t22": 0, "marq": 0, "rasmussen": 0, "marqrazz": 0, "23t00": 0, "colin": 0, "mackenzi": 0, "guru": 0, "florida": 0, "19t23": 0, "49z": 0, "reza": 0, "kermani": 0, "ark3r": 0, "13t18": 0, "27z": 0, "chri": 0, "thrasher": 0, "christhrash": 0, "26t17": 0, "05z": 0, "michael": 0, "wiznitz": 0, "mechwiz": 0, "22t14": 0, "19": 0, "richard": 0, "osterloh": 0, "rosterloh": 0, "3": [0, 3, 4, 5, 6, 12, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 43, 44], "05t08": 0, "53": 0, "mrl1kor": 0, "malapatiravi": 0, "07t18": 0, "adam": 0, "serafin": 0, "serafadam": 0, "12t18": 0, "24": 0, "24z": 0, "manuel": 0, "muth": 0, "mamueluth": 0, "03t10": 0, "20z": 0, "melvin": 0, "wang": 0, "wmmc88": 0, "22t13": 0, "tim": 0, "clepha": 0, "timpl": 0, "13t07": 0, "yutaka": 0, "kondo": 0, "youtalk": 0, "22t00": 0, "guihom": 0, "guihomework": 0, "17t15": 0, "jose": 0, "lui": 0, "rivero": 0, "j": 0, "26t13": 0, "peter": 0, "david": 0, "fagan": 0, "peterdavidfagan": 0, "2": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 44, 47, 52, 53], "23t22": 0, "sebastian": 0, "jahr": 0, "sjahr": 0, "15t14": 0, "joseph": 0, "schornak": 0, "schornakj": 0, "27t03": 0, "57z": 0, "akash": 0, "ace314159": 0, "31t17": 0, "jo\u00e3o": 0, "torr": 0, "borg": 0, "borgesjvt": 0, "05t12": 0, "46z": 0, "patrick": 0, "roncagliolo": 0, "roncapat": 0, "01t12": 0, "49": 0, "carrol": 0, "mjcarrol": 0, "28t21": 0, "09z": 0, "vansh": 0, "gehlot": 0, "eth": 0, "vanshgehlot": 0, "13t11": 0, "mhubii": 0, "21t11": 0, "50z": 0, "luka": 0, "macha": 0, "lukasmacha97": 0, "85": 0, "17t18": 0, "sachin": 0, "kumar": 0, "sachinkum0009": 0, "lennart": 0, "nachtigal": 0, "firesurf": 0, "04t07": 0, "qiayuanliao": 0, "qiayuanl": 0, "35": [0, 47], "25t05": 0, "solomon": 0, "swiz23": 0, "15t15": 0, "andi": [0, 7], "mcevoi": 0, "mcevoyandi": 0, "08t14": 0, "kenji": 0, "brameld": 0, "ijnek": 0, "05t10": 0, "53z": 0, "bilal": 0, "gill": 0, "bgill92": 0, "01t13": 0, "22z": 0, "kvk": 0, "praneeth": 0, "kvkpraneeth": 0, "28t07": 0, "33z": 0, "cian": 0, "donovan": 0, "ciandonovan": 0, "26t23": 0, "schulz": 0, "schulze18": 0, "27t21": 0, "29z": 0, "shawn": 0, "schaerer": 0, "shawnschaer": 0, "14t15": 0, "franz": 0, "fjp": 0, "04t22": 0, "vatan": 0, "aksoi": 0, "tezer": 0, "vatanaksoytez": 0, "21t13": 0, "nour": 0, "saeed": 0, "d": [0, 16, 18, 29, 42], "dmitri": 0, "dignakov": 0, "13t16": 0, "ken551": 0, "03t11": 0, "54z": 0, "jonatan": 0, "olofsson": 0, "jonatanolofsson": 0, "05t14": 0, "bedard": 0, "christophebedard": 0, "27t18": 0, "august": 0, "bourgoi": 0, "augustebourgoi": 0, "19t14": 0, "ramon": 0, "wijnand": 0, "rayman": 0, "21t14": 0, "21z": 0, "flochr": 0, "20t10": 0, "castro": 0, "sea": 0, "bass": 0, "27t12": 0, "51z": 0, "abishalini": 0, "sivaraman": 0, "27t14": 0, "ramcharanthota": 0, "ben": 0, "holden": 0, "bobblebal": 0, "01t10": 0, "Will": 0, "baker": 0, "willcbak": 0, "22t15": 0, "robotgir": 0, "17t16": 0, "33": 0, "tomislav": 0, "petkovi\u0107": 0, "petkovich": 0, "17t10": 0, "ros2tori": 0, "28t15": 0, "kevin": 0, "demarco": 0, "syllogismrx": 0, "19t16": 0, "noe\u00ebl": 0, "moeskop": 0, "noeelmoeskop": 0, "18t09": 0, "josh": 0, "newan": 0, "joshnewan": 0, "14t08": 0, "emiliano": 0, "borghi": 0, "eborghi10": 0, "29t20": 0, "haider8645": 0, "26t10": 0, "stephen": 0, "street": 0, "sgstreet": 0, "05t20": 0, "jun": 0, "chenjunnn": 0, "09t06": 0, "daniel": 0, "zumkel": 0, "dzumkel": 0, "shane": 0, "loretz": 0, "sloretz": 0, "yoav": 0, "feket": 0, "yoavfeket": 0, "17t21": 0, "johann": [0, 7], "huemer": 0, "huemerj": 0, "31t15": 0, "keegan": 0, "soteb": 0, "ksoteb": 0, "00z": 0, "carlo": 0, "ag\u00fcero": 0, "caguero": 0, "26t11": 0, "35z": 0, "jacob": 0, "perron": 0, "jacobperron": 0, "09t18": 0, "reframesystem": 0, "krzysztof": 0, "wojciechowski": 0, "kotochleb": 0, "12t08": 0, "55z": 0, "addisu": 0, "z": [0, 22, 24, 25, 27, 31, 33, 37, 40, 47, 48], "taddes": 0, "azeei": 0, "14t20": 0, "thibault": 0, "poignonec": 0, "tpoignonec": 0, "09t08": 0, "sgmurrai": 0, "0000": 0, "00t00": 0, "kelli": 0, "kellyprankin": 0, "kasiceo": 0, "a10263790": 0, "tomoya": 0, "tomoyafujita2016": 0, "usamahamayun1": 0, "dave": 0, "coleman": 0, "davetcoleman": 0, "66": 0, "64": 0, "92": 0, "71": 0, "104": 0, "91": 0, "03t19": 0, "14z": 0, "86": 0, "99": [0, 9], "72": 0, "link": [0, 3, 4, 5, 7, 8, 11, 27, 34], "list": [0, 4, 7, 8, 9, 11, 14, 15, 20, 27, 35, 42, 51, 52, 53], "who": 0, "submit": [0, 1, 7, 51, 52], "respect": [0, 3, 5, 6, 7, 42, 43, 44], "repositori": [0, 4, 6, 10, 12, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 33, 34], "ros2_control_demo": [0, 1, 4, 16, 18, 27, 29, 53], "control_toolbox": [0, 53], "gazebo_ros2_control": [0, 29], "gz_ros2_control": 0, "realtime_tool": [0, 6, 53], "kinematics_interfac": [0, 31], "control_msg": [0, 3, 5, 31, 42, 44, 47, 53], "ha": [0, 1, 3, 4, 5, 7, 12, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 35, 41, 42, 43], "receiv": [0, 2, 27, 42, 43], "major": [0, 40], "from": [0, 1, 2, 7, 8, 9, 13, 14, 15, 17, 27, 31, 33, 34, 35, 36, 37, 40, 42, 43, 44, 45, 46, 48, 50, 52, 53], "support": [0, 2, 3, 4, 5, 7, 13, 14, 15, 27, 31, 35, 41, 43, 44, 47, 51, 53], "rosin": 0, "ro": [0, 1, 2, 3, 4, 5, 6, 9, 12, 13, 15, 16, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 43, 44, 53], "industri": [0, 4, 6, 16, 52], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 3, 5, 6, 8, 9, 12, 18, 20, 22, 29, 33, 37, 41, 47, 48, 53], "softwar": [0, 4, 27], "compon": [0, 7, 9, 10, 12, 15, 16, 21, 22, 23, 24, 25, 26, 27, 31, 33, 34, 37, 40, 46, 47, 48, 53], "http": [0, 1, 4, 6, 16, 27, 30, 32, 49], "www": 0, "eu": 0, "fund": 0, "european": 0, "union": 0, "": [0, 1, 4, 6, 7, 8, 9, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 35, 40, 42, 43, 46, 49, 53], "horizon": 0, "research": [0, 7, 52], "innov": 0, "programm": 0, "under": [0, 7, 14, 20, 35, 43, 44, 47, 53], "grant": [0, 4], "agreement": 0, "732287": 0, "first": [1, 2, 8, 11, 14, 16, 27, 29, 35, 42, 43], "thank": 1, "you": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 35, 44, 53], "consid": [1, 15, 42], "As": [1, 8, 12, 14, 18, 27, 33, 35], "an": [1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 20, 22, 25, 27, 29, 30, 31, 32, 33, 35, 36, 41, 42, 44, 45, 47, 49, 50], "open": [1, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41, 42, 47], "sourc": [1, 3, 5, 7, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "we": [1, 3, 5, 6, 7, 8, 11, 16, 18, 20, 22, 27, 28, 29, 41], "welcom": 1, "each": [1, 4, 6, 8, 11, 12, 14, 16, 18, 21, 27, 30, 41, 47, 49], "contributor": 1, "regardless": 1, "background": [1, 16], "experi": 1, "To": [1, 2, 4, 8, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41, 43, 51, 52, 53], "reduc": [1, 13], "entropi": 1, "univers": [1, 7, 27, 52], "our": [1, 3, 4, 5, 6, 7, 16, 18, 27], "vivid": 1, "collabor": 1, "environ": [1, 4, 7, 16], "set": [1, 2, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 27, 36, 41, 42, 43, 44, 45, 47, 50], "up": [1, 7, 14, 16, 43], "some": [1, 3, 5, 6, 7, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 31, 41, 42, 44, 53], "standard": [1, 2, 6, 7, 14, 15, 21, 26, 27, 37, 41], "method": [1, 2, 4, 8, 9, 11, 14, 27, 35, 47], "requir": [1, 2, 4, 6, 14, 27, 31, 35, 36, 44, 45, 50], "ar": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 40, 41, 42, 43, 44, 46, 47, 48, 49, 53], "limit": [1, 3, 5, 7, 9, 16, 27, 33, 48], "scope": 1, "your": [1, 2, 7, 9, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 32, 35, 51, 52, 53], "pr": [1, 51, 52], "should": [1, 2, 3, 5, 6, 7, 8, 9, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 35, 41, 43, 44], "do": [1, 2, 4, 6, 7, 8, 9, 14, 16, 31, 35, 44], "one": [1, 2, 4, 6, 7, 8, 9, 12, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 36, 37, 41, 43, 44, 45, 47, 49, 50, 53], "thing": [1, 3, 5, 16], "avoid": [1, 18, 21, 22, 23, 24, 25, 26, 28, 35], "ad": [1, 3, 5, 6, 9, 13, 14, 20, 22, 27, 35, 41], "random": [1, 21, 23, 24, 25, 26], "fix": [1, 2, 27, 30, 32, 49], "put": [1, 14, 35], "those": [1, 2, 4, 6, 8, 13, 14, 16, 27, 33, 35, 37, 41, 42, 43], "separ": [1, 2, 4, 16, 21, 41], "descript": [1, 2, 7, 9, 11, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 35], "titl": 1, "add": [1, 2, 8, 9, 11, 14, 27, 30, 31, 32, 35, 49, 51, 52], "short": [1, 35, 53], "summari": [1, 7, 53], "make": [1, 2, 5, 6, 7, 20, 27, 39, 53], "sure": [1, 5, 6, 18, 20, 21, 22, 23, 24, 25, 26, 28, 53], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 53], "green": [1, 43], "don": [1, 3, 8, 22, 42, 44], "t": [1, 3, 5, 8, 9, 16, 22, 42, 43, 44], "afraid": 1, "review": [1, 6, 53], "maintain": [1, 4, 6, 8, 16, 43], "new": [1, 7, 8, 14, 18, 20, 23, 27, 34, 43, 53], "code": [1, 2, 4, 6, 7, 14, 27], "test": [1, 3, 6, 13, 14, 16, 18, 22, 29, 30, 31, 32, 35, 47, 49], "If": [1, 2, 4, 8, 9, 11, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 35, 37, 41, 42, 43, 44, 47, 53], "function": [1, 2, 6, 7, 20, 27, 31, 47], "alwai": [1, 27], "exercis": 1, "serv": [1, 4, 6], "live": [1, 7], "origin": [1, 3, 5, 7, 18, 27, 43, 44], "intent": [1, 8, 13], "section": [1, 2, 12, 14, 35, 44], "target": [1, 9, 14, 31, 35, 38, 42, 44], "also": [1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 44], "read": [1, 2, 3, 4, 5, 9, 12, 14, 16, 20, 21, 24, 25, 27, 35, 41, 42, 46, 47], "understand": [1, 6, 43], "how": [1, 6, 7, 12, 14, 16, 19, 20, 21, 23, 24, 25, 26, 27, 29, 35], "handl": [1, 2, 4, 6, 7, 14, 24, 27, 30, 31, 32, 38, 39, 40, 44, 47, 49], "organ": [1, 7, 53], "guidelin": 1, "especi": [1, 2, 16, 47], "applic": [1, 4, 7, 9, 12, 27], "pleas": [1, 9, 26, 53], "keep": [1, 27, 35], "mind": [1, 35], "work": [1, 6, 7, 8, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 35, 36, 41, 45, 48, 50, 53], "fork": 1, "when": [1, 2, 3, 4, 5, 8, 9, 13, 14, 15, 20, 23, 27, 31, 35, 39, 42, 44, 47], "That": [1, 14, 35], "wai": [1, 9, 14, 27, 35, 37, 44], "main": [1, 4, 6, 7, 9, 13, 27, 35, 47, 53], "repo": [1, 4, 16], "clean": 1, "featur": [1, 7, 13, 16, 18, 28, 47, 53], "branch": [1, 16], "check": [1, 2, 4, 6, 8, 11, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 42, 43, 44, 49, 53], "satisfi": 1, "befor": [1, 2, 8, 9, 14, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 43], "thei": [1, 2, 4, 6, 7, 8, 12, 13, 14, 15, 20, 35, 42, 44, 47], "can": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 42, 43, 44, 47, 53], "must": [1, 3, 5, 8, 9, 12, 16, 27, 40, 42, 44], "approv": 1, "two": [1, 4, 6, 8, 9, 14, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 37, 43, 44, 47, 49], "explicitli": 1, "onli": [1, 2, 4, 6, 7, 8, 9, 11, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 32, 33, 35, 36, 37, 41, 42, 43, 44, 45, 50], "except": [1, 27], "other": [1, 2, 3, 4, 7, 9, 14, 16, 21, 26, 27, 30, 32, 35, 41, 43, 47, 49], "where": [1, 3, 6, 8, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 33, 35, 41, 42, 43, 44, 47, 49], "back": 1, "traceabl": 1, "discuss": [1, 7, 20, 29, 43, 53], "suffici": [1, 3, 5, 8, 37], "note": [1, 4, 9, 18, 33, 44, 53], "still": [1, 2, 18, 20, 21, 22, 23, 24, 25, 26, 28, 34, 43], "encourag": 1, "help": [1, 9, 13, 14, 15, 35], "u": [1, 3, 5, 9, 16, 42], "increas": [1, 22], "pace": 1, "veri": [1, 2, 3, 5, 6, 12], "like": [1, 2, 3, 4, 5, 6, 7, 14, 16, 20, 27], "find": [1, 3, 5, 22], "issu": [1, 6, 53], "nobodi": 1, "els": 1, "squash": 1, "commit": 1, "messag": [1, 6, 9, 15, 23, 24, 25, 27, 37, 40, 41, 42, 43, 44, 46, 47, 53], "comment": [1, 27], "fixup": 1, "linter": 1, "us": [1, 2, 4, 6, 7, 11, 12, 13, 15, 17, 27, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 49, 50, 53], "pre": 1, "correct": [1, 2, 43], "header": [1, 11, 14, 24, 25, 33, 35, 43], "address": [1, 27], "similar": [1, 4, 7, 12, 18, 20, 27], "mean": [1, 2, 8, 12, 13, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 44], "result": [1, 4, 8, 9, 18, 27, 41, 43], "exactli": 1, "cowboi": 1, "style": [1, 14, 35], "over": [1, 6, 8, 22, 27], "weekend": 1, "It": [1, 2, 3, 4, 6, 8, 9, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 37, 41, 42, 43], "doesn": [1, 8], "matter": 1, "trivial": [1, 13], "chanc": 1, "proper": [1, 8, 9, 44], "Be": 1, "awar": 1, "impact": 1, "proport": [1, 42], "its": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 37, 38, 39, 40, 41, 43, 47, 49], "ping": 1, "them": [1, 6, 8, 9, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 41, 43, 52], "necessari": [1, 8, 11], "repeatedli": 1, "start": [1, 2, 3, 5, 7, 8, 9, 11, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 42, 43, 53], "part": [1, 6, 7, 12, 27, 35, 43, 44], "For": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 42, 44, 47, 49], "detail": [1, 2, 3, 4, 5, 11, 12, 13, 14, 20, 27, 29, 30, 32, 33, 35, 43, 44, 49], "thoma": 1, "cokela": 1, "info": [1, 9, 11, 14, 27], "tutori": [1, 16], "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 21, 22, 24, 25, 26, 27, 33, 34, 35, 36, 37, 40, 42, 45, 46, 47, 50], "stabl": 1, "against": 1, "accept": [1, 14, 23, 35, 36, 42, 43, 44, 45, 50], "api": [1, 3, 5, 6, 14, 18, 21, 22, 23, 24, 25, 26, 28], "abi": 1, "chang": [1, 2, 4, 7, 9, 11, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 42, 43, 44], "e": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 35, 36, 37, 41, 42, 43, 45, 47, 50, 53], "name": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 29, 31, 35, 37, 38, 40, 41, 42, 46, 47], "convent": [1, 27], "master": [1, 4], "semi": 1, "binari": 1, "good": [1, 3, 5, 6], "same": [1, 8, 23, 27, 34, 37, 42, 43, 44], "build": [1, 14, 27, 31, 35], "dai": 1, "ros_distro": [1, 4, 16, 18], "foxi": [1, 7, 14], "galact": [1, 11, 14], "releas": [1, 4, 7, 16, 27], "version": [1, 6, 16, 44], "non": [1, 7, 20, 27, 37, 52], "brake": 1, "distribut": [1, 16, 53], "three": [1, 2, 4, 11, 12, 16, 27, 35, 43, 49], "stage": [1, 8, 20], "current": [1, 6, 11, 12, 14, 15, 43, 44, 47], "futur": [1, 7, 8, 43, 44], "compat": [1, 2, 7, 14, 16], "packag": [1, 2, 3, 5, 11, 14, 27, 30, 31, 32, 33, 35, 36, 37, 40, 44, 45, 46, 47, 49, 50, 53], "direct": [1, 2, 6, 14, 27, 35, 42], "local": [1, 3, 5, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29, 41], "possibl": [1, 4, 6, 9, 12, 16, 18, 21, 22, 23, 24, 25, 26, 28, 31, 35, 43], "core": [1, 10, 27], "immedi": [1, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29], "depend": [1, 4, 11, 12, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 43, 47], "fail": [1, 23, 27], "expect": [1, 6, 20, 27, 30, 32, 44, 47, 49], "after": [1, 8, 9, 14, 16, 18, 27, 33, 35, 42, 43, 44, 47, 48], "next": [1, 18, 27, 43], "sync": 1, "abl": 1, "potenti": [1, 35, 42], "mid": 1, "stat": 1, "power": [1, 3, 5, 7, 14], "plausibl": 1, "analyt": 1, "robothw": 2, "rigid": 2, "ani": [2, 4, 7, 8, 9, 11, 12, 16, 20, 27, 35, 42, 44], "imposs": 2, "extend": [2, 4, 6, 8, 14, 35], "exist": [2, 4, 6, 8, 9, 11, 12, 14, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35, 44], "addit": [2, 3, 5, 8, 16, 19, 22, 27], "sensor": [2, 4, 6, 11, 13, 14, 16, 21, 26, 27, 31, 34, 52], "actuat": [2, 4, 6, 11, 12, 13, 14, 16, 20], "tool": [2, 3, 5, 6, 7, 27], "without": [2, 3, 4, 5, 7, 13, 14, 16, 20, 29, 35, 42, 43], "combinedrobothardwar": 2, "drawback": [2, 53], "solut": [2, 7], "optim": [2, 9], "combin": [2, 8, 12, 13, 16, 23, 41, 42, 43, 44], "extern": [2, 4, 6, 8, 13, 16, 31], "defin": [2, 3, 5, 6, 9, 13, 14, 16, 27, 31, 35, 37, 40, 41, 42, 43, 44, 46, 47], "system": [2, 3, 4, 5, 6, 7, 11, 12, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 44, 51, 52, 53], "composit": [2, 7], "basic": [2, 3, 4, 5, 6, 7, 14, 16, 22, 35], "physic": [2, 4, 11, 12, 13], "cell": [2, 37], "surround": 2, "describ": [2, 4, 8, 12, 16, 18, 23, 27, 29, 43], "multi": [2, 4, 6, 7, 16, 23], "gripper": [2, 3, 4, 5, 7, 12, 13, 34], "out": [2, 3, 5, 9, 27, 33], "box": [2, 16, 18, 22, 23, 24, 25, 28, 29], "allow": [2, 3, 4, 5, 16, 27, 39, 42, 43, 44], "joint": [2, 4, 7, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 45, 47, 49, 50, 53], "posit": [2, 3, 4, 5, 7, 9, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 36, 41, 42, 43, 44, 45, 47, 50], "veloc": [2, 3, 4, 5, 7, 8, 16, 21, 22, 23, 27, 31, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 47, 50], "effort": [2, 3, 5, 16, 27, 34, 36, 39, 41, 42, 44], "hard": [2, 9], "data": [2, 4, 6, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 34, 41, 43], "approach": [2, 8], "doe": [2, 8, 9, 14, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35, 43, 44], "enforc": [2, 23, 27, 42], "string": [2, 9, 13, 16, 35, 38, 39, 40, 41, 42, 46, 47], "ensur": [2, 7, 9, 27, 43], "constant": [2, 16], "hardware_interfac": [2, 3, 4, 5, 11, 13, 14, 16, 21, 24, 25, 26, 27, 31, 33, 34, 35], "In": [2, 3, 4, 5, 6, 7, 8, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 34, 35, 41, 43, 47], "had": 2, "itself": [2, 8], "took": 2, "care": [2, 6, 9, 14, 23, 35, 44], "regist": [2, 3, 5], "resourc": [2, 3, 5, 14, 23], "conflict": [2, 4, 6], "resourcemanag": [2, 8], "take": [2, 6, 8, 14, 20, 23, 33, 35, 41, 43], "state": [2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 37, 41, 42], "avail": [2, 4, 7, 9, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 41, 44], "enabl": [2, 4, 6, 7, 11, 14, 15, 16, 22, 31, 37, 47], "anymor": 2, "controllermanag": [2, 9], "implement": [2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 38, 43, 44, 47, 48, 49, 53], "systeminterfac": [2, 3, 5, 13, 24, 27], "granular": 2, "sensorinterfac": [2, 21, 25], "actuatorinterfac": [2, 21, 26], "abov": [2, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 34, 43], "choos": [2, 16, 47], "suitabl": [2, 7], "strategi": [2, 16, 43], "decid": 2, "which": [2, 3, 4, 5, 6, 7, 9, 14, 15, 16, 18, 22, 23, 24, 25, 26, 27, 28, 29, 33, 35, 37, 40, 41, 42, 43, 44, 46, 47, 48], "case": [2, 3, 5, 6, 7, 8, 16, 20, 27, 35, 41, 43, 44, 53], "mayb": [2, 8], "sens": [2, 4, 34, 37], "multipl": [2, 4, 7, 8, 12, 14, 16, 41, 42], "constructor": [2, 14, 27, 35], "initi": [2, 14, 27, 35, 43], "variabl": [2, 14, 27, 35, 42], "need": [2, 3, 4, 5, 6, 7, 8, 12, 14, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35, 43], "commun": [2, 4, 6, 7, 14, 16, 18, 21, 22, 23, 24, 25, 27, 28, 52], "default": [2, 4, 8, 9, 13, 23, 30, 32, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49], "configur": [2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 41, 42, 43, 44, 47], "paramet": [2, 3, 5, 7, 14, 16, 18, 22, 27, 34, 35, 44], "pars": [2, 3, 5, 9, 10, 12], "urdf": [2, 7, 9, 12, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "snippet": 2, "hardwareinfo": [2, 27], "here": [2, 10, 14, 27, 35, 36, 44, 45, 50], "cross": [2, 41], "valu": [2, 4, 6, 12, 13, 14, 16, 18, 19, 20, 22, 24, 25, 27, 29, 35, 40, 41, 42, 44, 46, 47], "export_": 2, "_interfac": [2, 14], "joint_a2": 2, "extract": [2, 33, 48], "sensibl": 2, "stop": [2, 7, 8, 9, 11, 15, 18, 22, 23, 27, 33, 42, 48], "usual": [2, 4, 9, 13, 14, 27, 35], "includ": [2, 3, 5, 6, 11, 14, 15, 27, 35, 44, 52], "command": [2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 39, 42, 43, 45, 49, 50, 53], "safe": [2, 27, 33, 35, 44, 48], "interrupt": [2, 9], "stream": [2, 7], "write": [2, 4, 7, 8, 9, 10, 20, 21, 22, 26, 34], "exchang": [2, 6, 18, 21, 22, 23, 24, 25, 26, 28, 53], "equival": [2, 27], "forget": [2, 4, 16, 44], "pluginlib_export_class": [2, 14, 16, 27, 35], "macro": [2, 4, 14, 16, 27, 35], "end": [2, 4, 11, 14, 27, 35, 42, 52], "cpp": [2, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "file": [2, 3, 4, 5, 6, 7, 9, 13, 14, 16, 31, 33, 35, 36, 44, 45, 50], "creat": [2, 3, 4, 5, 7, 9, 13, 14, 16, 27, 35], "xml": [2, 3, 5, 11, 14, 27, 35], "librari": [2, 4, 14, 15, 16, 30, 32, 34, 35, 47, 49], "pluginlib": [2, 3, 4, 5, 9, 14, 27, 35], "exampl": [2, 3, 4, 5, 6, 7, 8, 13, 15, 22, 31, 36, 37, 41, 44, 45, 50, 53], "rrbotsystempositiononlyhardwar": [2, 4, 12, 15, 18, 20, 25], "excel": 2, "jointtrajectorycontrol": [2, 3, 5, 15, 18, 31, 44], "real": [2, 6, 7, 9, 13, 22, 35, 41, 42, 53], "critic": [2, 6], "mark": [2, 20], "controllerinterfac": [2, 4, 8, 15, 27, 35], "member": [2, 14, 27, 35, 43], "init": 2, "call": [2, 3, 4, 5, 8, 14, 22, 27, 35], "lifecycl": [2, 4, 7, 9, 11, 14, 27], "declar": [2, 14, 27, 35], "state_interface_configur": [2, 27, 35], "command_interface_configur": [2, 27, 35], "design": [2, 4, 6, 7, 8, 27, 53], "updat": [2, 4, 8, 9, 16, 27, 35, 44, 47], "manag": [2, 3, 5, 6, 7, 10, 11, 14, 15, 16, 27, 35, 44, 53], "option": [2, 3, 5, 9, 11, 13, 14, 15, 18, 23, 35, 37, 41, 44, 47], "on_configur": [2, 14, 27, 35], "on_activ": [2, 11, 14, 27, 35], "on_deactiv": [2, 11, 14, 27, 35], "deactiv": [2, 4, 15, 18, 42], "final": [2, 7, 11, 27], "joint_trajectory_plugin": 2, "integr": [3, 4, 5, 6, 7, 13, 16, 20, 22, 27, 42, 43, 44, 53], "architectur": [3, 5, 6, 7], "gazebo": [3, 5, 6, 16, 18, 29, 51], "classic": [3, 16, 29, 51], "provid": [3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 18, 20, 23, 24, 25, 26, 27, 28, 29, 31, 35, 41, 42, 43, 44, 47, 53], "instanti": [3, 5, 9], "connect": [3, 4, 5, 13, 16, 24, 27], "model": [3, 5, 18, 27], "cd": [3, 4, 5, 16, 27], "docker": [3, 5, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "gui": [3, 5, 16, 18, 20, 21, 23, 24, 25, 26, 28, 29], "properli": [3, 5, 8, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "rm": [3, 4, 5, 16, 18, 29], "net": [3, 5, 7, 16, 18, 29], "host": [3, 5, 16, 18, 29, 52], "ros2": [3, 4, 5, 7, 9, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "launch": [3, 4, 5, 9, 13, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "cart_example_posit": [3, 5], "py": [3, 5, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "fals": [3, 5, 13, 16, 18, 29, 33, 39, 41, 42, 44, 47], "machin": [3, 4, 5, 6, 16, 29], "client": [3, 5, 29, 44], "gzclient": [3, 29], "rocker": [3, 5], "go": [3, 5, 7, 9, 14, 27, 35], "imag": [3, 5, 9, 29], "inject": [3, 5, 7], "nvidia": [3, 5], "And": 3, "user": [3, 5, 6, 9, 16, 27, 43], "id": [3, 5, 15, 18, 21, 22, 23, 24, 25, 26, 28], "specif": [3, 5, 6, 8, 9, 11, 12, 27, 29, 38, 41, 43, 44], "cleaner": [3, 5], "mount": [3, 5], "permiss": [3, 5, 9], "instal": [3, 5, 9, 14, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "instruct": [3, 5, 22, 27, 29], "x11": [3, 5], "latest": [3, 4, 5], "move": [3, 5, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29, 39], "cart": [3, 5], "rail": [3, 5], "exec": [3, 5, 18], "bash": [3, 4, 5, 14, 16, 18, 27, 35], "home": [3, 5], "ros2_w": [3, 4, 5, 16], "example_posit": [3, 5], "element": [3, 5, 27], "access": [3, 4, 5, 7, 9, 13, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 41], "interfac": [3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 18, 20, 21, 22, 24, 25, 26, 29, 30, 32, 34, 35, 37, 40, 42, 43, 46, 49, 51, 52, 53], "gazebosystem": 3, "hardwar": [3, 5, 7, 8, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 33, 34, 35, 42, 48, 53], "slider_to_cart": [3, 5, 36, 45, 50], "command_interfac": [3, 4, 5, 12, 20, 27, 31, 42, 44], "param": [3, 4, 5, 9, 12, 13, 22, 27], "min": [3, 4, 5, 12, 27], "1000": [3, 5, 27], "max": [3, 4, 5, 12, 27, 39], "state_interfac": [3, 4, 5, 12, 27, 31, 42, 44], "initial_valu": [3, 5, 27], "mimick": [3, 5, 13], "manual": [3, 4, 5, 6, 9, 14, 16, 18, 23, 24, 25, 26, 28, 29, 35, 53], "multipli": [3, 5, 13], "definit": [3, 4, 5, 14, 27, 31, 33, 34, 35, 37, 42], "left_finger_joint": [3, 5], "prismat": [3, 5], "right_finger_joint": [3, 5], "axi": [3, 5, 6, 27, 30, 32, 33, 37, 49], "xyz": [3, 5, 27], "rpy": [3, 5, 27], "1415926535": [3, 5], "parent": [3, 5, 14, 27, 35], "base": [3, 4, 5, 7, 11, 14, 15, 16, 21, 22, 26, 27, 33, 35, 38, 47, 48, 51], "child": [3, 5, 12, 27], "finger_left": [3, 5], "lower": [3, 5, 27], "upper": [3, 5, 27], "actual": [3, 5, 8], "load": [3, 4, 5, 9, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "appropri": [3, 5, 6, 43], "By": [3, 5, 9, 27, 41, 43], "though": [3, 5, 20], "extens": [3, 5], "via": [3, 4, 5, 16, 18, 24, 25, 27, 29, 44], "between": [3, 4, 5, 6, 11, 12, 16, 27, 30, 32, 41, 42, 43, 44, 49], "filenam": [3, 5, 27], "libgazebo_ros2_control": 3, "so": [3, 4, 5, 8, 9, 14, 27, 31, 35, 44], "robot_param": [3, 5], "robot_descript": [3, 5, 9, 18, 27], "robot_param_nod": [3, 5], "robot_state_publish": [3, 5, 41], "config": [3, 5, 16], "cartpole_control": [3, 5], "yaml": [3, 4, 5, 6, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 44], "locat": [3, 27, 31], "server": [3, 39, 44], "node": [3, 4, 5, 9, 11, 13, 15, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "attempt": [3, 5, 9, 44], "get": [3, 5, 7, 8, 9, 11, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 53], "most": [3, 5, 6, 14, 16, 27, 35], "least": [3, 5, 12, 14, 35, 44], "jointstateinterfac": [3, 5], "effortjointinterfac": [3, 5], "velocityjointinterfac": [3, 5], "complex": [3, 4, 5, 6, 7, 8], "mechan": [3, 5, 8, 44], "nonlinear": [3, 5], "spring": [3, 5], "linkag": [3, 5, 18, 20, 28], "etc": [3, 5, 9, 23, 27, 53], "These": [3, 5, 16, 27], "inherit": [3, 5, 9, 27], "gazebosysteminterfac": 3, "level": [3, 5, 6, 7, 9, 20, 21, 26, 36, 43, 45, 50], "properti": [3, 5, 27], "sub": [3, 5], "class": [3, 4, 5, 7, 9, 11, 14, 15, 27, 35, 38, 43], "specifi": [3, 5, 9, 14, 16, 27, 35, 42, 43, 44], "insid": [3, 5, 13, 16, 18], "publish": [3, 5, 6, 8, 12, 16, 19, 27, 31, 34, 37, 40, 41, 42, 43, 46, 48, 53], "stateinterfac": [3, 5, 27], "topic": [3, 5, 6, 7, 8, 12, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 34, 42, 44, 51], "sensor_msg": [3, 5, 40, 46], "msg": [3, 5, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 33, 36, 37, 38, 40, 43, 44, 45, 46, 47, 50], "jointstat": [3, 5], "joint_state_control": [3, 5, 15], "ros__paramet": [3, 5, 36, 44, 45, 50], "jointstatecontrol": [3, 5, 15], "action": [3, 5, 8, 42], "cart_pole_control": [3, 5], "follow_joint_trajectori": [3, 5, 44], "followjointtrajectori": [3, 5, 42, 44], "joint_trajectory_control": [3, 5, 6, 15, 18, 34], "write_op_mod": [3, 5], "contain": [3, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 36, 42, 43, 45, 47, 50], "content": [3, 14, 27, 35], "There": [3, 4, 5, 9, 11, 14, 16, 21, 24, 25, 26, 35, 43, 44], "meter": [3, 5, 27], "cart_example_veloc": [3, 5], "cart_example_effort": [3, 5], "diff_driv": 3, "tricycle_dr": 3, "world": [3, 5, 9, 13, 27], "example_veloc": [3, 5], "example_effort": [3, 5], "example_diff_dr": [3, 5], "example_tricycle_dr": [3, 5], "parallel": [3, 4, 5, 12, 13], "gripper_mimic_joint_exampl": [3, 5], "send": [3, 5, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 44], "example_gripp": [3, 5], "humbl": [4, 16, 27], "want": [4, 8, 9, 16], "download": [4, 16], "mkdir": [4, 16], "p": [4, 9, 16, 42], "src": [4, 14, 16, 18, 27, 29, 31, 35], "wget": 4, "raw": 4, "githubusercont": 4, "com": [4, 6, 16, 27], "org": [4, 6, 30, 32, 49], "ros_control": [4, 6, 7, 53], "vc": [4, 16], "import": [4, 14, 16, 27, 35, 42], "rosdep": [4, 16], "rosdistro": [4, 16], "sudo": [4, 9, 16], "apt": [4, 16], "path": [4, 7, 16, 27, 44], "ignor": [4, 9, 16, 33, 42, 47, 48], "r": [4, 16, 28], "y": [4, 16, 22, 24, 25, 31, 37, 40], "everyth": [4, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28, 29, 35], "opt": [4, 16, 18], "setup": [4, 13, 14, 16, 18, 22, 27, 29, 35, 43], "sh": [4, 16, 18, 29], "colcon": [4, 14, 16, 27, 35], "symlink": [4, 16, 27], "folder": [4, 7, 14, 16, 18, 19, 22, 30, 31, 32, 35, 47, 49], "found": [4, 10, 14, 18, 19, 22, 31, 33, 35, 38, 44, 53], "github": [4, 6, 10, 16, 27, 34, 51, 52, 53], "figur": [4, 43], "cm": [4, 9], "abstract": [4, 7, 11, 27], "side": [4, 6, 7], "entri": [4, 35], "point": [4, 27, 35, 42, 43, 44, 53], "servic": [4, 6, 9, 11, 27], "executor": [4, 9], "custom": [4, 12, 13, 16, 21, 22, 37, 41, 51], "howev": [4, 6, 8, 9, 16, 20, 27], "recommend": [4, 7, 14], "ros2_control_nod": [4, 23, 27], "controller_manag": [4, 5, 6, 9, 15, 23, 35, 36, 44, 45, 50], "assum": [4, 8], "On": [4, 27], "hand": [4, 27, 52], "unload": [4, 9, 15], "match": [4, 16, 43], "report": [4, 6, 41, 53], "error": [4, 6, 9, 14, 20, 23, 27, 35, 41, 42, 44], "execut": [4, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 39, 42, 43, 44, 49], "loop": [4, 7, 9, 13, 18, 23, 24, 25, 26, 27, 28, 29, 35, 41, 42, 44, 47], "output": [4, 6, 7, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 37], "driver": [4, 7, 16, 27, 52], "reus": [4, 7, 8], "flexibl": 4, "motor": [4, 8, 52], "encod": [4, 27], "theori": [4, 53], "compar": [4, 6, 7], "refer": [4, 8, 20, 27, 52], "measur": [4, 13, 21, 31, 37, 41, 42, 52], "calcul": [4, 27, 31, 43, 47], "input": [4, 6, 7, 8, 12, 19, 20, 27, 31, 33, 36, 38, 42, 43, 45, 47, 48, 50], "object": [4, 27], "deriv": [4, 42, 43], "controller_interfac": [4, 15, 27, 31, 35, 37, 40, 46], "export": [4, 8, 9, 14, 16, 27, 31, 35], "plugin": [4, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 35], "forwardcommandcontrol": [4, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29], "lifecyclenod": 4, "document": [4, 6, 7, 12, 13, 14, 16, 22, 33, 43, 44], "interact": [4, 7, 9, 15, 19, 27, 29], "srv": [4, 44], "controller_manager_msg": 4, "while": [4, 6, 7, 27, 43], "directli": [4, 18, 20, 29, 53], "line": [4, 10, 11, 14, 18, 27, 35, 41, 43], "friendli": 4, "cli": [4, 9, 10, 15, 18, 19, 22, 23, 24, 25, 26, 28, 29], "auto": [4, 9], "complet": [4, 11, 20, 27, 43], "rang": [4, 12, 34], "common": [4, 6, 16, 34, 41, 53], "capabl": [4, 6], "realiz": [4, 7, 43, 44], "repres": [4, 11, 27, 33, 43], "dynam": [4, 14, 27, 35], "dof": [4, 12, 16, 27, 39], "differ": [4, 6, 7, 12, 14, 16, 18, 19, 22, 23, 27, 36, 37, 41, 43, 45, 47, 50], "transmiss": [4, 16], "humanoid": 4, "logic": 4, "channel": [4, 52], "kuka": [4, 18, 23, 24, 25, 52], "rsi": [4, 18, 24, 25, 52], "relat": [4, 6, 7], "forc": [4, 7, 12, 15, 24, 25, 31, 34, 52], "torqu": [4, 12, 24, 25, 31, 34], "simpl": [4, 6, 7, 8, 14, 16, 18, 20, 22, 27, 28, 35, 39], "valv": [4, 12], "mandatori": [4, 9, 37, 42], "dc": 4, "arduino": [4, 21, 26], "board": 4, "modular": [4, 7, 16, 27], "independ": [4, 7, 25], "explan": [4, 14], "given": [4, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 36, 42, 43, 44, 45, 50], "through": [4, 6, 7, 8, 9, 14, 15, 16, 20, 27, 35, 44, 53], "tag": [4, 9, 12, 14, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 35, 53], "chosen": [4, 12], "structur": [4, 6, 8, 14, 27, 33, 35, 42, 43], "track": [4, 30, 49, 53], "togeth": [4, 8, 12, 22, 24, 47], "xacro": [4, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "hereund": 4, "rrbot": [4, 12, 15, 16, 19, 21, 23, 24, 25, 26, 28], "effector": [4, 52], "site": 4, "rrbotsystempositiononli": [4, 25], "ros2_control_demo_hardwar": [4, 12, 15], "example_param_write_for_sec": 4, "example_param_read_for_sec": [4, 12], "joint1": [4, 12, 13, 15, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 44], "joint2": [4, 12, 15, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 44], "rrbotforcetorquesensor1d": 4, "forcetorquesensor1dhardwar": 4, "tcp_fts_sensor": [4, 12, 24, 25], "frame_id": [4, 12, 24, 25, 37, 40, 46, 47], "rrbot_tcp": 4, "min_forc": 4, "100": [4, 12, 36, 45, 50], "max_forc": 4, "rrbotgripp": 4, "positionactuatorhardwar": 4, "gripper_joint": 4, "instead": [4, 13, 22, 27, 29, 42], "pure": 4, "stack": [4, 7, 53], "could": [4, 7, 8, 16, 23, 35, 41, 44], "altern": [4, 18, 44], "script": [4, 6, 14, 35], "skeleton": 4, "sim": [5, 15, 51], "dockerfil": [5, 16], "Then": [5, 8, 16, 27, 29, 43], "ign": 5, "meet": [5, 53], "prerequisit": 5, "along": 5, "gazebosimsystem": 5, "libgz_ros2_control": 5, "gazebosimros2controlplugin": 5, "gazebosimsysteminterfac": 5, "controller_manager_prefix_node_nam": 5, "diff_drive_exampl": 5, "tricycle_drive_exampl": 5, "about": [6, 8, 13, 14, 23, 33, 40, 41, 44, 53], "gener": [6, 7, 12, 14, 15, 21, 22, 23, 24, 25, 26, 27, 34, 35, 44, 47, 53], "task": [6, 7, 33], "envis": 6, "simul": [6, 13, 15, 16, 18, 20, 22, 24, 25, 27], "ignit": 6, "showcas": [6, 7], "grace": 6, "degrad": 6, "roadmap": [6, 16, 53], "place": [6, 35], "draft": 6, "gpio": [6, 16, 27], "mode": [6, 8, 14, 20, 23, 31, 42, 43, 47], "switch": [6, 15, 16, 18, 23], "movement": 6, "safeti": [6, 27], "skill": 6, "prefer": 6, "c": [6, 9, 12, 14, 15, 18, 27], "familiar": [6, 53], "mentor": 6, "\u0161togl": [6, 7], "size": [6, 46], "350": 6, "hour": 6, "difficulti": 6, "medium": 6, "focus": [6, 7, 8], "although": [6, 8, 11, 12, 44], "easi": 6, "therefor": [6, 8, 9, 16, 35, 41, 42, 44], "often": [6, 13, 22, 35, 41], "orchestr": 6, "purpos": [6, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29], "conductor": 6, "scenario": [6, 43], "moment": [6, 8, 44], "right": [6, 16], "replac": [6, 11, 34, 44], "high": [6, 9, 43], "moveit2": [6, 7, 34, 52], "simplecontrollermanag": 6, "goal": [6, 7, 12, 18, 23, 24, 25, 26, 28, 29, 39, 42, 44, 53], "form": [6, 16], "behavior": [6, 13, 27, 43], "benchmark": 6, "statu": [6, 8, 11, 15, 18, 42], "format": [6, 27, 31, 41, 44], "preset": 6, "modul": [6, 20], "reli": 6, "doubl": [6, 9, 13, 18, 27, 30, 32, 39, 42, 46, 47, 49], "desir": [6, 42, 44], "both": [6, 7, 20, 27, 28, 41, 42, 43, 44], "improv": 6, "readabl": [6, 27], "earlier": 6, "concept": [6, 7, 8, 13, 16, 18], "introduc": [6, 7, 8, 18, 27], "essenti": [6, 18], "group": [6, 8, 9, 12, 44, 53], "instanc": [6, 9, 20, 41], "imu": [6, 12, 34], "typic": [6, 12, 22, 41, 42], "acceleromet": 6, "gyroscop": 6, "compass": 6, "Such": [6, 20], "struct": 6, "low": [6, 7], "profil": 6, "intern": [6, 8, 12, 14, 18, 20, 21, 22, 23, 24, 25, 26, 28, 31, 43, 44], "relev": [6, 42, 47, 53], "addition": [6, 27, 30, 32, 49, 53], "few": [6, 7], "175": 6, "rewrit": [6, 53], "rich": 6, "wa": [6, 14, 18, 22, 23, 27, 35, 43], "motiv": 6, "adopt": 6, "port": [6, 11, 12], "quit": 6, "miss": [6, 41, 43, 44], "diff_drive_control": [6, 8, 15, 22], "consist": [6, 44, 53], "onc": [6, 7, 18, 22, 23, 24, 25, 27, 28], "identifi": [6, 27], "much": [6, 8, 18, 21, 22, 23, 24, 25, 26, 28, 35, 44], "303": 6, "304": 6, "stretch": 6, "81": 6, "302": 6, "unit": 6, "gmock": 6, "cc": [7, 43, 44], "BY": [7, 43, 44], "licens": [7, 43, 44], "author": [7, 8], "either": [7, 9, 18, 23, 24, 25, 26, 28, 29, 43], "down": [7, 27], "below": [7, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 42, 43, 44], "compani": 7, "my": 7, "company_nam": 7, "tricycl": [7, 34, 48], "control": [7, 10, 11, 12, 13, 14, 15, 16, 30, 32, 37, 40, 41, 42, 43, 46, 48, 49, 52, 53], "event": 7, "pixel": 7, "prefac": 7, "introduct": 7, "plapp": 7, "kernel": [7, 9], "agnost": [7, 27], "share": [7, 14, 27, 29, 35, 47], "well": [7, 9, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28, 44], "perform": [7, 9, 27], "heavi": 7, "stogl": 7, "consult": 7, "practition": 7, "guid": [7, 14, 35], "top": 7, "virtual": [7, 8, 32], "talk": 7, "delv": 7, "deeper": 7, "what": [7, 18, 27], "explicit": [7, 27, 42], "chain": [7, 10, 15, 16, 27, 31, 42, 47], "emerg": 7, "handler": 7, "mock": [7, 10, 14], "usag": [7, 8, 9, 12, 15, 17, 18, 20, 21, 22, 23, 24, 25, 26, 28], "openli": 7, "record": 7, "fiveai": 7, "ltd": 7, "best": [7, 9, 35], "focu": [7, 8], "becom": [7, 20], "util": 7, "3rd": 7, "parti": 7, "nav2": [7, 34], "practic": 7, "tip": [7, 27], "hot": 7, "shown": [7, 27, 43], "furthermor": [7, 22], "offer": [7, 9, 14, 27], "expos": [7, 16, 20], "problem": [7, 53], "manipul": [7, 16, 18, 20, 27, 28, 42], "plan": [7, 53], "autonom": 7, "navig": 7, "ideal": [7, 13], "made": [7, 11], "mobil": [7, 16, 22, 33, 47, 48], "arm": [7, 18, 20, 28], "extra": [7, 27, 41], "readi": [7, 14, 16, 20, 34, 35], "studi": 7, "ur": 7, "With": [7, 27, 29, 44], "moveit": [7, 13], "ingredi": 7, "run": [7, 8, 9, 13, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 43, 47], "scale": [7, 42], "factor": 7, "teach": 7, "pendant": 7, "influenc": 7, "picknik": 7, "inc": 7, "lovro": 7, "ivanov": 7, "zelenak": 7, "rune": 7, "s\u00f8e": 7, "knudsen": 7, "onlin": [7, 14, 35], "trajectori": [7, 18, 27, 34, 42, 53], "admitt": [7, 34], "One": [7, 8], "reason": [7, 8, 9, 27], "upgrad": 7, "ros1": [7, 16], "better": 7, "realtim": [7, 9, 27, 33, 44, 48, 53], "contact": 7, "insert": 7, "singl": [7, 24, 39], "waypoint": [7, 43, 44], "mani": [7, 27, 34, 35], "teleoper": 7, "involv": 7, "kinemat": [7, 8, 16, 22, 27, 30, 31, 32, 47, 49], "acceler": [7, 16, 23, 27, 31, 33, 40, 42, 43, 44, 48], "jerk": [7, 33, 48], "obei": [7, 27], "demo": [7, 12], "booth": 7, "zeleank": 7, "unifi": 7, "life": [7, 27], "cycl": [7, 27], "_control": [7, 16], "wild": 7, "materi": 7, "quick": [7, 11], "overview": 7, "layer": 7, "aka": 7, "systemcompon": 7, "forward": [7, 13, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 34, 42, 44, 53], "done": [7, 8, 14, 18, 21, 22, 23, 24, 25, 26, 27, 28, 35], "look": [7, 22], "modifi": 7, "simpli": [7, 9, 18, 43, 44], "edit": 7, "collect": [7, 36, 45, 50], "semant": [7, 12, 31, 37, 40, 46], "monolit": 7, "controlko": 7, "propos": [8, 53], "minim": [8, 53], "viabl": [8, 27], "serial": [8, 27], "tri": [8, 42], "clariti": 8, "arbitrari": [8, 27, 44], "order": [8, 27], "nevertheless": 8, "convinc": 8, "would": [8, 41], "unnecessari": 8, "long": 8, "term": [8, 53], "clearer": 8, "let": [8, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28], "yet": [8, 9, 16, 20, 33, 43, 44], "controllers_chain": 8, "doc": [8, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 53], "position_track": 8, "pid": [8, 42, 43, 44, 53], "now": [8, 9, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35, 43], "imagin": 8, "flexibli": 8, "preced": 8, "step": [8, 14, 16, 35, 43, 53], "At": [8, 14, 20, 35], "attach": 8, "disabl": [8, 13, 47], "subscrib": [8, 19, 20, 27], "differenti": [8, 16, 22, 32, 33, 34, 53], "interfaceconfigur": [8, 27], "input_interface_configur": 8, "const": [8, 11, 27], "anoth": [8, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 44], "simplic": [8, 27], "try": [8, 27], "exclus": [8, 27], "rather": [8, 16, 43], "void": 8, "set_chained_mod": 8, "bool": [8, 39, 42, 47], "flag": [8, 14, 35, 42], "on_set_chained_mod": 8, "pid_refer": 8, "controller_nam": [8, 9, 15, 31, 35, 44, 47], "v_x": 8, "v_y": 8, "w_z": 8, "cmd_vel": [8, 33], "cmd_vel_unstamp": [8, 22, 33], "Its": [8, 53], "continu": [8, 42, 43, 44], "chainabl": [8, 16, 20, 33, 44], "ownership": 8, "process": [8, 14, 27, 35, 43], "claim": [8, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "vector": [8, 20, 27, 35], "invers": [8, 27], "rule": [8, 9, 14, 35], "think": [8, 16], "break": [8, 13], "middl": [8, 32], "unavail": [8, 20], "anyth": 8, "confus": 8, "irelev": 8, "feasibl": 8, "interface_configuration_typ": 8, "littl": 9, "jitter": 9, "normal": [9, 27, 42], "linux": 9, "comput": [9, 16, 33, 47, 48], "throughput": 9, "suit": 9, "easiest": [9, 14, 35], "ubuntu": 9, "lt": 9, "beta": 9, "rt": 9, "amd64": 9, "debian": 9, "bullsey": 9, "thread": [9, 27], "sched_fifo": 9, "prioriti": 9, "addgroup": 9, "usermod": 9, "whoami": 9, "afterward": 9, "secur": 9, "conf": [9, 27], "soft": 9, "rtprio": 9, "memlock": 9, "102400": 9, "appli": [9, 15, 27, 33, 44], "log": 9, "again": [9, 11, 18, 22, 27], "activate_components_on_start": 9, "empti": [9, 35, 40, 44, 47], "attribut": [9, 27], "stai": 9, "unconfigur": [9, 11, 18, 27], "configure_components_on_start": 9, "update_r": [9, 36, 45, 50], "frequenc": 9, "startup": 9, "h": [9, 14, 15, 35], "param_fil": 9, "controller_typ": 9, "timeout": [9, 15, 39, 42, 47, 48], "controller_manager_timeout": 9, "argument": [9, 14, 15, 18, 21, 22, 23, 24, 25, 26, 28], "exit": [9, 15], "leav": 9, "namespac": [9, 14, 27, 34, 35, 41], "kill": [9, 15, 27], "wait": [9, 15, 26, 42], "until": [9, 27, 42, 43], "mai": [9, 11, 24, 34, 36, 45, 50], "taken": [9, 47], "becaus": [9, 12, 18, 20, 21, 22, 23, 24, 25, 26, 28, 43], "rclcpp": [9, 14, 27, 35], "than": [9, 39, 42, 44, 47], "global": 9, "remap": 9, "forcibli": 9, "lead": [9, 44], "duplic": [9, 47], "occur": [9, 27], "whether": 9, "sibl": 9, "hierarchi": 9, "workaround": 9, "nodeopt": 9, "pass": [9, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28], "caus": [9, 43, 44, 47], "get_cm_node_opt": 9, "arg": 9, "_target_node_nam": 9, "__node": 9, "dst_node_nam": 9, "std": [9, 27, 42], "make_shar": 9, "some_optional_namespac": 9, "simplest": 9, "switch_control": [9, 18], "broadcast": [9, 12, 13, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 41], "achiev": [9, 27, 36, 45, 50], "return": [9, 11, 14, 18, 27, 35, 39, 41, 43, 44], "NOT": 9, "FOR": 9, "detect": 9, "listen": [9, 42], "doxygen": [10, 14], "cascad": 10, "return_typ": [11, 27, 35], "on_error": [11, 14, 27], "previous_st": [11, 27], "success": [11, 14, 27, 35, 39, 44], "callbackreturn": [11, 14, 27], "failur": 11, "recov": 11, "reload": [11, 15], "substanti": 11, "renam": 11, "on_init": [11, 14, 27, 35], "baseinterfac": 11, "remov": 11, "base_interfac": 11, "hpp": [11, 14, 16, 27, 31, 35], "hardware_interface_status_valu": 11, "rclcpp_lifecycl": [11, 14, 27, 35], "strictli": [11, 12], "status_": 11, "in_deactiv": 11, "undefin": 11, "refern": 11, "symbol": 11, "node_interfac": [11, 27], "lifecyclenodeinterfac": [11, 14, 27], "rclcpp_lifecyl": 11, "cmakelist": [11, 14, 27, 35], "txt": [11, 14, 27, 35], "devic": [12, 52], "associ": 12, "joint_state_broadcast": [12, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "coupl": 12, "ship": 12, "cannot": [12, 20, 27, 44], "keyword": 12, "digit": 12, "signal": 12, "electr": 12, "analog": 12, "within": [12, 18, 44], "vacuum": [12, 19], "flang": 12, "off": 12, "rrbotsystemmutiplegpio": 12, "example_param_hw_start_duration_sec": 12, "example_param_hw_stop_duration_sec": 12, "example_param_hw_slowdown": 12, "flange_digital_io": 12, "digital_output1": 12, "know": 12, "digital_output2": 12, "digital_input1": 12, "digital_input2": 12, "flange_analog_io": [12, 19], "analog_output1": [12, 19], "analog_input1": [12, 19], "analog_input2": [12, 19], "flange_vacuum": [12, 19], "suction": 12, "grasp": 12, "multimod": 12, "multimodalgripp": 12, "parallel_fing": 12, "temperatur": [12, 16], "feedback": [12, 13, 21, 41, 42, 44, 47, 48], "adjust": [12, 15, 18, 27], "calibr": 12, "2d": [12, 24, 25], "ft": [12, 24, 25, 37], "choic": [12, 47], "matric": 12, "rrbotforcetorquesensor2d": 12, "forcetorquesensor2dhardwar": 12, "fx": 12, "tz": 12, "kuka_tcp": 12, "fx_rang": 12, "tz_rang": 12, "temp_feedback": 12, "calibration_matrix_nr": 12, "mirror": 13, "correspond": [13, 14, 27, 35, 47, 53], "offlin": 13, "advantag": 13, "pipe": 13, "even": [13, 20, 44], "debug": 13, "boost": 13, "mimic": 13, "offset": [13, 41, 42], "fake": 13, "disable_command": 13, "boolean": [13, 41, 42], "erron": [13, 27], "noth": 13, "suddenli": 13, "Or": [13, 18, 23, 24, 25, 26, 28, 29], "mock_sensor_command": 13, "position_state_following_offset": 13, "custom_interface_with_following_offset": 13, "map": [13, 41, 44], "compil": [14, 27, 29, 35], "prepar": [14, 23, 35], "ament_cmak": [14, 35], "search": [14, 35], "recent": [14, 35], "pkg": [14, 35], "package_nam": [14, 35], "alreadi": [14, 15, 16, 18, 20, 27, 29, 35, 44], "robot_hardware_interface_nam": 14, "visibility_control": [14, 35], "window": [14, 35], "copi": [14, 35], "prefix": [14, 31, 35, 37, 40, 46], "guard": [14, 35], "ifndef": [14, 35], "preprocessor": [14, 35], "engin": [14, 35], "friend": [14, 35], "interface_typ": [14, 35], "uniqu": [14, 27, 35], "written": [14, 21, 26, 27, 35], "snake_cas": [14, 35], "interfacetyp": 14, "hardwareinterfacenam": 14, "public": [14, 27, 35], "on_cleanup": [14, 27], "on_shutdown": [14, 27], "overrid": [14, 27, 35, 36, 44, 45, 50], "export_state_interfac": [14, 27], "export_command_interfac": [14, 27], "prepare_command_mode_switch": 14, "perform_command_mode_switch": 14, "further": [14, 35], "exact": [14, 35], "simplifi": [14, 27, 35, 53], "valid": [14, 16, 46], "fine": [14, 22, 35], "otherwis": [14, 16, 35, 41, 42], "opposit": [14, 35], "remind": 14, "full": [14, 16, 35], "joint_nam": [14, 31, 35, 42], "shutdown": [14, 27], "gracefulli": 14, "store": [14, 35], "close": [14, 35], "class_list_macro": [14, 27, 35], "my_hardware_interface_packag": 14, "robothardwareinterfacenam": 14, "second": [14, 15, 18, 20, 23, 24, 25, 26, 27, 28, 29, 35, 43, 53], "visibl": [14, 35], "mock_compon": [14, 22], "bottom": [14, 27, 35], "test_load_": [14, 35], "load_generic_system_2dof": 14, "test_generic_system": 14, "find_packag": [14, 35], "directori": [14, 35], "ament": [14, 35], "cmake": 14, "pluginlib_export_plugin_description_fil": [14, 27, 35], "ament_cmake_gmock": [14, 35], "ament_add_gmock": [14, 35], "ament_export_librari": [14, 35], "ament_packag": [14, 35], "test_depend": [14, 35], "rememb": [14, 35], "root": [14, 35], "workspac": [14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 35], "enjoi": [14, 35], "great": [14, 35], "templat": [14, 16, 27, 35], "shell": [14, 35], "onward": 14, "spin": 15, "spin_tim": 15, "hidden": 15, "discoveri": 15, "daemon": 15, "test_controller_nam": 15, "test_control": 15, "diffdrivecontrol": [15, 22], "verbos": 15, "label": [15, 21, 22, 24, 25, 26, 43], "unclaim": [15, 20, 23], "inact": [15, 18, 23, 27], "ctrl1": 15, "ctrl2": 15, "strict": 15, "asap": 15, "switch_timeout": 15, "diagram": 15, "tmp": 15, "controller_diagram": 15, "gv": 15, "pdf": [15, 27], "demonstr": [16, 18, 20, 22, 23, 28, 29], "prove": 16, "checkout": 16, "roscon2022_workshop": 16, "hardwareinterfac": [16, 27], "diffbot": 16, "degre": [16, 27, 44, 47], "freedom": [16, 27, 47], "components_architecture_and_urdf_exampl": 16, "revolut": [16, 18, 20, 27, 28], "drive": [16, 22, 30, 32, 33, 34, 47, 48, 49, 53], "accord": [16, 22, 27], "intermedi": 16, "car": 16, "steer": [16, 30, 32, 34, 47, 48, 49], "tba": 16, "tabl": 16, "offici": [16, 52], "easili": 16, "aptitud": 16, "might": [16, 43], "own": [16, 18, 27], "git": [16, 27], "clone": [16, 27], "b": [16, 27], "merg": 16, "f": 16, "procedur": 16, "rviz2": [16, 18, 29], "visual": [16, 18, 25, 27, 41], "joint_state_publisher_gui": [16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "bring": 16, "ros2_control_demo_example_1": [16, 18], "view_robot": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "omit": 16, "termin": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "example_1": [16, 18, 19, 20, 29], "rviz": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 41], "slider": 16, "around": [16, 37, 40, 42, 46], "ros2_control_demo_example_2": [16, 22], "come": [16, 44], "categori": 16, "individu": [16, 35, 46], "position_in_degre": 16, "hardware_interface_type_valu": [16, 31], "6dof": 16, "variou": [18, 28], "invert": 18, "pendulum": 18, "fun": 18, "proprietari": [18, 21, 22, 23, 24, 25, 26, 28], "view": [18, 27], "recreat": 18, "robotmodel": 18, "displai": [18, 20, 21, 23, 24, 25, 26, 28, 29], "ros2_control_demo_descript": 18, "ok": [18, 21, 22, 23, 24, 25, 26, 27, 28, 35], "warn": [18, 21, 22, 23, 24, 25, 26, 28, 41], "invalid": [18, 21, 22, 23, 24, 25, 26, 28], "frame": [18, 21, 22, 23, 24, 25, 26, 27, 28, 37], "odom": [18, 21, 22, 23, 24, 25, 26, 28, 33, 47], "cantransform": [18, 21, 22, 23, 24, 25, 26, 28], "target_fram": [18, 21, 22, 23, 24, 25, 26, 28], "happen": [18, 21, 22, 23, 24, 25, 26, 27, 28], "ctrl": 18, "lot": [18, 20, 21, 22, 23, 24, 25, 26, 28], "exemplari": [18, 21, 23, 24, 25, 26, 28, 30, 32, 47, 49], "orang": [18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "yellow": [18, 20, 21, 23, 24, 25, 26, 28, 29], "rectangl": [18, 20, 21, 23, 24, 25, 26, 28], "introspect": [18, 20, 21, 22, 23, 24, 25, 26, 28], "list_hardware_interfac": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "entrypoint": 18, "nomin": 18, "marker": [18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "list_control": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "jointstatebroadcast": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "forward_position_control": [18, 19, 20, 23, 24, 25, 26, 28, 29], "forward_command_control": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 36, 45, 50], "pub": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "std_msg": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 36, 38, 45, 50], "float64multiarrai": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 36, 38, 45, 50], "everi": [18, 23, 24, 25, 26, 27, 28, 29, 38, 42, 53], "test_forward_position_control": [18, 23, 24, 25, 26, 28, 29], "block": [18, 20, 21, 23, 24, 25, 26, 27, 28], "got": [18, 19, 20, 21, 22, 23, 24, 25, 26], "50000": [18, 20, 24, 25, 26], "echo": [18, 19, 20, 22, 24, 25, 29], "joint_stat": [18, 20, 22, 29, 41], "dynamic_joint_st": [18, 20, 29, 41], "load_control": 18, "joint_trajectory_position_control": 18, "successfulli": [18, 21, 26], "set_controller_st": 18, "rrbot_control": [18, 19, 20, 28, 29], "four": [18, 21, 30], "test_joint_trajectory_control": 18, "rrbot_joint_trajectory_publish": 18, "rrbot_descript": [18, 19, 20, 21, 23, 24, 25, 26, 28, 29], "rrbot_forward_position_publish": [18, 29], "ros2_control_demo_example_10": 19, "contrast": 19, "gpio_control": 19, "gpiocontrol": 19, "interface_nam": [19, 37, 38], "1199574016": 19, "1676318848": 19, "rrbotsystemwithgpiohardwar": 19, "gp": 19, "example_12": 20, "been": 20, "known": 20, "passthrough_control": 20, "ros2_control_demo_example_12": 20, "ident": [20, 22, 27, 29, 43], "joint2_position_control": 20, "passthroughcontrol": 20, "joint1_position_control": 20, "someth": 20, "automat": [20, 27, 29, 33, 48], "appear": 20, "whose": [20, 43], "henc": [20, 27], "launch_chained_control": 20, "position_control": [20, 34, 38], "streamlin": 20, "clearli": 20, "sent": [20, 42], "reflect": 20, "canopen_402": [21, 26], "modbu": [21, 26], "rs232": [21, 26], "rs485": [21, 26], "ros2_control_demo_example_14": 21, "rrbot_modular_actuators_without_feedback_sensors_for_position_feedback": 21, "list_hardware_compon": [21, 22, 24, 25, 26], "rrbotmodularjoint2": [21, 26], "rrbotactuatorwithoutfeedback": 21, "rrbotmodularjoint1": [21, 26], "rrbotmodularpositionsensorjoint2": 21, "rrbotsensorpositionfeedback": 21, "rrbotmodularpositionsensorjoint1": 21, "forward_velocity_control": [21, 23], "000000": 21, "00000": [21, 22, 23], "25300": 21, "rrbot_actuator_without_feedback": 21, "rrbot_sensor_for_position_feedback": 21, "example_2": 22, "excess": 22, "print": [22, 41], "left_wheel_joint": 22, "right_wheel_joint": 22, "diffbot_base_control": 22, "diff": 22, "geometry_msg": [22, 24, 25, 33, 37, 47], "twist": [22, 33, 47, 48], "linear": [22, 27, 33, 40, 43, 47, 48], "angular": [22, 33, 40, 47, 48], "circl": 22, "diffbotsystemhardwar": 22, "33333": 22, "faster": 22, "genericsystem": 22, "use_mock_hardwar": 22, "true": [22, 29, 33, 42, 43, 44, 47], "calculate_dynam": 22, "diffbot_control": 22, "diffbot_descript": 22, "diffbot_system": 22, "example_3": 23, "fri": [23, 52], "abb": [23, 52], "yumi": 23, "schunk": [23, 52], "lwa4p": 23, "illeg": 23, "declin": 23, "faulti": 23, "ros2_control_demo_example_3": 23, "rrbot_system_multi_interfac": 23, "robot_control": [23, 27], "spawn": 23, "forward_acceleration_control": 23, "velocity_control": [23, 34, 38], "jointgroupvelocitycontrol": 23, "rrbotsystemmultiinterfacehardwar": 23, "po": [23, 43], "78500": 23, "vel": [23, 47], "acc": 23, "control_lvl": 23, "forward_illegal1_control": 23, "forward_illegal2_control": 23, "1676209982": 23, "531163501": 23, "resource_manag": 23, "rrbotsystemmultiinterfac": 23, "did": 23, "531223835": 23, "sinc": [23, 27, 32], "reject": [23, 42, 43], "spawner": 23, "531717376": 23, "spawner_forward_illegal1_control": 23, "indic": [23, 27], "rrbot_multi_interface_forward_control": 23, "krc": 24, "prototyp": 24, "odri": [24, 52], "ros2_control_demo_example_4": 24, "rrbot_system_with_sensor": 24, "rrbotsystemwithsensor": 24, "rrbotsystemwithsensorhardwar": 24, "fts_broadcast": [24, 25], "force_torque_sensor_broadcast": [24, 25], "forcetorquesensorbroadcast": [24, 25], "wrench": [24, 25, 31], "republish": [24, 25], "wrenchstamp": [24, 25, 37], "stamp": [24, 25, 47], "sec": [24, 25], "1676444704": [24, 25], "nanosec": [24, 25], "332221422": [24, 25], "tool_link": [24, 25], "946532964706421": 24, "nan": [24, 42], "0540995597839355": 24, "rrbot_with_sensor_control": 24, "pc": 25, "3d": [25, 27], "ros2_control_demo_example_5": 25, "rrbot_system_with_external_sensor": 25, "externalrrbotftsensor": 25, "externalrrbotforcetorquesensorhardwar": 25, "2126582860946655": 25, "3202226161956787": 25, "4302282333374023": 25, "540233612060547": 25, "647800624370575": 25, "7602499723434448": 25, "rrbot_with_external_sensor_control": 25, "rrbot_system_position_onli": 25, "external_rrbot_force_torque_sensor": 25, "mara": 26, "ros2_control_demo_example_6": 26, "rrbot_modular_actu": 26, "rrbotmodularjoint": 26, "rrbot_actu": 26, "queri": [27, 44], "enhanc": 27, "deploi": 27, "oper": [27, 53], "pattern": 27, "vendor": 27, "runtim": 27, "program": 27, "conform": 27, "newest": 27, "characterist": 27, "tree": [27, 33], "primari": [27, 44], "commerci": 27, "scratch": 27, "illustr": 27, "stl": 27, "dae": 27, "coars": 27, "mesh": 27, "fast": [27, 52], "collis": 27, "express": 27, "vertic": 27, "transform": 27, "rotat": [27, 33, 42], "translat": [27, 33, 48], "proxim": 27, "face": 27, "co": 27, "planer": 27, "xy": 27, "plane": 27, "align": 27, "blender": 27, "begin": 27, "neg": [27, 42], "roll": 27, "pitch": 27, "yaw": 27, "repeat": 27, "robot_6_dof": 27, "base_link": [27, 47, 48], "link_0": 27, "inerti": 27, "mass": 27, "inertia": 27, "ixx": 27, "ixi": 27, "ixz": 27, "iyi": 27, "iyz": 27, "izz": 27, "tool0": 27, "base_joint": 27, "joint_1": 27, "link_1": 27, "061584": 27, "141592653589793": 27, "name_spac": 27, "class_nam": 27, "pi": [27, 42], "enclos": 27, "previous": 27, "left": 27, "zero": [27, 31, 42, 43], "rel": [27, 43], "center": 27, "uniform": 27, "consecut": 27, "motion": [27, 42], "subsequ": 27, "join": [27, 53], "speci": 27, "verifi": 27, "urdf_to_graphviz": 27, "r6bot": 27, "explain": 27, "robotsystem": 27, "ur5": 27, "five": 27, "hardware_interface_return_valu": 27, "hardware_interface_publ": 27, "commandinterfac": 27, "durat": 27, "period": [27, 42], "privat": 27, "memori": [27, 35], "alloc": 27, "establish": 27, "angl": [27, 32, 47], "notabl": 27, "vari": 27, "fill": 27, "field": [27, 41, 43], "suppos": [27, 43], "tcp_force_torque_sensor": 27, "Their": 27, "pointer": 27, "info_": 27, "state_interfaces_": 27, "nearli": 27, "previou": [27, 43, 53], "command_interfaces_": 27, "constraint": [27, 35, 39, 40, 42, 44, 47], "respons": 27, "turn": 27, "oppos": [27, 44], "tcp": [27, 31], "packet": 27, "robot_6_dof_hardwar": 27, "discov": 27, "library_nam": 27, "base_class_typ": 27, "human": 27, "notic": [27, 43], "just": 27, "add_librari": 27, "robot_hardwar": 27, "unlik": 27, "finit": 27, "certain": [27, 36, 45, 50], "transit": [27, 43], "robotcontrol": 27, "nine": 27, "six": [27, 37], "callback": 27, "lifetim": 27, "restart": 27, "reconfigur": 27, "buffer": [27, 53], "reset": [27, 47], "transfer": 27, "eventu": 27, "mutex": 27, "guarante": [27, 43], "never": 27, "release_interfac": 27, "shut": 27, "free": [27, 33], "cleanup": 27, "r6bot_control": 27, "view_r6bot": 27, "ros2_control_demo_example_7": 27, "send_trajectori": 27, "circular": 27, "ros2_control_demo_example_8": 28, "rrbot_transmissions_system_position_onli": 28, "rrbottransmissionssystempositiononlyhardwar": 28, "transmission1": 28, "actuator1": 28, "transmission2": 28, "actuator2": 28, "383253": 28, "766505": 28, "53301": 28, "example_9": 29, "later": [29, 43], "ros2_control_demo_example_9": 29, "rrbot_gazebo_class": 29, "usr": 29, "ax": [30, 32, 37, 40, 49], "wheel": [30, 32, 33, 47, 49], "traction": [30, 32, 47, 48, 49], "steerabl": [30, 32, 49], "generate_parameter_librari": [30, 31, 32, 38, 39, 40, 47, 49], "parameter": [30, 32, 47, 49], "front_wheel_track": 30, "front": [30, 31, 32, 47, 49], "length": [30, 40, 47, 49], "en": [30, 32, 49], "wikipedia": [30, 32, 47, 49, 53], "wiki": [30, 32, 43, 44, 49], "wheelbas": [30, 32, 49], "rear_wheel_track": 30, "rear": [30, 32, 47, 49], "distanc": [30, 32, 44, 46, 49], "front_wheels_radiu": [30, 49], "radiu": [30, 32, 49], "rear_wheels_radiu": [30, 49], "chainedcontrollerinterfac": 31, "joint_refer": 31, "trajectory_msg": [31, 43, 44], "jointtrajectorypoint": [31, 43], "admittancecontrollerst": 31, "ft_sensor": 31, "sensor_nam": [31, 37, 40, 46], "ackermann": [32, 34, 47], "vehicl": 32, "probabl": 32, "front_wheel_radiu": 32, "rear_wheel_radiu": 32, "bodi": 33, "odometri": [33, 47, 48], "space": [33, 44], "hw_if_posit": [33, 34, 47], "hw_if_veloc": [33, 34, 47], "position_feedback": [33, 47], "twiststamp": [33, 47], "use_stamped_vel": [33, 47], "nav_msg": [33, 47], "estim": 33, "tf": [33, 47], "tf2_msg": [33, 47], "tfmessag": [33, 47], "enable_odom_tf": [33, 47], "cmd_vel_out": 33, "publish_limited_veloc": 33, "jointlimit": 33, "joint_limit": 33, "commonli": 34, "bicycl": [34, 47], "effort_control": [34, 38], "hw_if_acceler": 34, "hw_if_effort": 34, "represent": [34, 44], "controllernam": 35, "protect": 35, "reserv": 35, "importantli": 35, "ask": [35, 41], "sort": 35, "controller_name_namespac": 35, "controller_name_packag": 35, "ros2_control_test_asset": 35, "special": [36, 43, 45, 50], "hz": [36, 39, 45, 50], "wrapper": [37, 40, 46], "forcetorquesensor": 37, "6d": 37, "per": 37, "less": [37, 47], "example_nam": 37, "example_interfac": 37, "feedforward": 38, "multi_interface_forward_command_control": 38, "string_arrai": [38, 47], "action_monitor_r": [39, 42, 44], "greater": [39, 42], "equal": [39, 40], "goal_toler": 39, "max_effort": 39, "allow_stal": 39, "stall": 39, "stall_velocity_threshold": 39, "threshold": 39, "001": 39, "stall_timeout": 39, "imusensor": 40, "orient": 40, "angular_veloc": 40, "linear_acceler": 40, "static_covariance_orient": 40, "double_arrai": [40, 47], "static": 40, "covari": [40, 47], "row": 40, "static_covariance_angular_veloc": 40, "static_covariance_linear_acceler": 40, "unless": 41, "latter": 41, "matrix": [41, 47], "product": 41, "use_local_top": 41, "my_state_broadcast": 41, "arrai": 41, "extra_joint": 41, "map_interface_to_joint_st": 41, "usecas": 41, "hydraul": [41, 42], "relianc": 41, "techniqu": 41, "slightli": 41, "custom_interfac": 41, "kf_estimated_posit": 41, "derived_veloc": 41, "derived_effort": 41, "torque_sensor": 41, "current_sensor": 41, "command_joint": 42, "jtc": 42, "state_publish_r": [42, 44], "monitor": [42, 44], "allow_partial_joints_go": [42, 44], "allow_integration_in_goal_trajectori": [42, 43], "interpolation_method": 42, "interpol": [42, 44], "spline": 42, "open_loop_control": [42, 44], "gain": 42, "numer": 42, "numeric_limit": 42, "quiet_nan": 42, "start_with_hold": 42, "hold": [42, 43], "allow_nonzero_velocity_at_trajectory_end": 42, "cmd_timeout": 42, "stale": 42, "count": 42, "goal_tim": [42, 44], "toler": [42, 44], "jointtrajectori": [42, 43, 44], "stopped_velocity_toler": [42, 44], "deviat": 42, "maxim": 42, "reach": [42, 43, 44], "predefin": 42, "infinit": 42, "amount": 42, "law": [42, 44], "k_": 42, "ff": 42, "v_d": 42, "k_p": 42, "k_i": 42, "sum": 42, "dt": 42, "k_d": 42, "angle_wraparound": 42, "i_clamp": 42, "clamp": 42, "symmetr": 42, "ff_velocity_scal": 42, "feed": 42, "wrap": [42, 44], "ie": [42, 43], "shortest": 42, "s_d": 42, "saniti": 43, "sampl": [43, 47], "segment": [43, 44], "fault": 43, "datapoint": 43, "deduc": 43, "nor": 43, "discourag": 43, "yield": 43, "discontinu": [43, 44], "cubic": 43, "quintic": 43, "heun": 43, "grid": 43, "10m": 43, "deduct": 43, "nonzero": 43, "inconsist": 43, "overshoot": 43, "timestamp": 43, "arriv": 43, "necessarili": 43, "discard": 43, "substitut": 43, "smarter": 43, "preserv": 43, "flat": 43, "grei": 43, "red": 43, "traj": 43, "time_from_start": 43, "splice": 43, "append": 43, "held": [43, 44], "smooth": [43, 53], "longer": 43, "slower": 43, "effect": 43, "Of": 43, "interest": 43, "adolfo": [43, 44], "rodriguez": [43, 44], "instant": 44, "citat": 44, "adapt": 44, "restrict": 44, "present": 44, "robust": 44, "clock": 44, "queu": 44, "joint3": 44, "joint4": 44, "joint5": 44, "joint6": 44, "preempt": 44, "cancel": 44, "notifi": 44, "abort": 44, "legal": 44, "subset": 44, "favor": 44, "violat": 44, "joint_trajectori": 44, "fire": 44, "sender": 44, "query_st": 44, "cumbersom": 44, "controller_st": [44, 47], "jointtrajectorycontrollerst": 44, "querytrajectoryst": 44, "footnot": 44, "rangesensor": 46, "radiation_typ": 46, "int": [46, 47], "radiat": 46, "ultrason": 46, "infrar": 46, "field_of_view": 46, "arc": 46, "rad": [46, 47], "min_rang": 46, "minimum": 46, "m": [46, 47], "max_rang": 46, "maximum": 46, "nomenclatur": 47, "unstamp": 47, "concret": 47, "tricylc": 47, "seer": 47, "front_steer": 47, "front_wheels_nam": 47, "rear_wheels_nam": 47, "traction_feedback_typ": 47, "in_chained_mod": 47, "reference_unstamp": 47, "tf_odometri": 47, "steeringcontrollerstatu": 47, "reference_timeout": 47, "unwant": 47, "danger": 47, "behaviour": 47, "rear_wheels_state_nam": 47, "front_wheels_state_nam": 47, "open_loop": 47, "velocity_rolling_window_s": 47, "number": 47, "averag": 47, "base_frame_id": 47, "odom_frame_id": 47, "twist_covariance_diagon": 47, "diagon": 47, "pose_covariance_diagon": 47, "pose": 47, "wheel_track": 49, "page": [51, 52], "isaac": 51, "webot": 51, "manufactur": 52, "franka": 52, "emika": 52, "xarm": 52, "flexiv": 52, "rizon": 52, "igu": 52, "commonplac": 52, "husarion": 52, "rosbot": 52, "xl": 52, "2r": 52, "pro": 52, "openmanipul": 52, "clearpath": 52, "jackal": 52, "j100": 52, "huski": 52, "a200": 52, "unoffici": 52, "iiwa": 52, "lbr": 52, "iiqka": 52, "eci": 52, "sunris": 52, "kss": 52, "egm": 52, "mitsubishi": 52, "rv1a": 52, "protocol": 52, "ethercat": 52, "canopen": 52, "svh": 52, "finger": 52, "dimens": 52, "haptic": 52, "odriv": 52, "ndi": 52, "pca9685": 52, "bit": 52, "pwm": 52, "servo": 52, "hoverboard": 52, "overcom": 53, "idea": 53, "wide": 53, "toolkit": 53, "unreleas": 53, "question": 53, "wg": 53, "wednesdai": 53, "announc": 53, "discours": 53, "googl": 53, "bug": 53, "tracker": 53, "reproduc": 53, "regard": 53, "built": 53, "gmt": 53}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "maintain": 0, "review": 0, "stat": 0, "contributor": 0, "compani": 0, "institut": 0, "contribut": 1, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 16, 53], "process": [1, 9], "merg": 1, "write": [1, 11, 14, 27, 35], "document": [1, 8, 10, 53], "structur": [1, 2], "ci": 1, "configur": 1, "usag": [1, 3, 5], "differ": 2, "ros_control": 2, "ros1": [2, 6], "hardwar": [2, 4, 6, 9, 11, 12, 14, 27, 38, 41, 44], "class": [2, 8], "interfac": [2, 4, 12, 15, 19, 23, 27, 28, 31, 33, 36, 38, 41, 44, 45, 47, 50], "control": [2, 3, 4, 5, 6, 8, 9, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 35, 36, 38, 39, 44, 45, 47, 50, 51], "": [2, 33, 44, 47], "access": 2, "migrat": [2, 11], "guid": 2, "ros2_control": [2, 3, 5, 6, 10, 12, 16, 27, 31, 34, 53], "robothardwar": 2, "compon": [2, 4, 6, 11, 13, 14], "gazebo_ros2_control": 3, "modifi": [3, 5], "build": [3, 4, 5, 16], "your": [3, 4, 5], "own": [3, 5], "To": [3, 5, 16], "run": [3, 4, 5, 16], "demo": [3, 5, 6, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "add": [3, 5, 6], "tag": [3, 5], "urdf": [3, 4, 5, 27], "simpl": [3, 5], "setup": [3, 5], "us": [3, 5, 8, 9, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 35, 44], "mimic": [3, 5], "joint": [3, 5, 12, 13, 44], "simul": [3, 5, 29, 51], "plugin": [3, 5, 27], "default": [3, 5], "behavior": [3, 5], "advanc": [3, 5], "custom": [3, 5], "set": [3, 5], "up": [3, 5], "gazebo_ros2_control_demo": 3, "get": 4, "start": 4, "instal": [4, 16], "binari": 4, "packag": [4, 16], "from": [4, 6, 11, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 47], "sourc": [4, 16], "architectur": 4, "manag": [4, 8, 9], "resourc": [4, 7, 8], "user": 4, "descript": [4, 27, 33, 44, 47], "framework": 4, "robot": [4, 7, 16, 19, 21, 23, 24, 25, 26, 27, 28, 34, 52], "gz_ros2_control": 5, "gz_ros2_control_demo": 5, "project": 6, "idea": 6, "gsoc": 6, "2024": 6, "tutori": [6, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "mission": 6, "support": [6, 52], "semant": 6, "featur": [6, 10, 33, 44, 48], "pariti": 6, "present": 7, "2023": 7, "02": 7, "ro": [7, 31, 33, 36, 38, 45, 50, 51], "meetup": 7, "munich": 7, "5": [7, 25], "2022": 7, "12": [7, 20], "industri": [7, 19, 24, 25, 28], "confer": 7, "10": [7, 19], "roscon": 7, "06": 7, "fr": 7, "2021": 7, "world": 7, "07": 7, "weekli": 7, "13": 7, "rosdevdai": 7, "05": 7, "diagram": 7, "imag": 7, "chain": [8, 20], "cascad": 8, "scope": 8, "background": 8, "knowledg": 8, "motiv": 8, "purpos": 8, "implement": 8, "A": 8, "base": 8, "chainablecontrol": 8, "inner": 8, "activ": 8, "deactiv": 8, "debug": 8, "output": [8, 33], "close": 8, "remark": 8, "determin": 9, "paramet": [9, 13, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 49, 50], "helper": 9, "script": 9, "spawner": 9, "unspawn": 9, "concept": [9, 10], "restart": 9, "all": 9, "api": 10, "guidelin": [11, 34], "best": [11, 34], "practic": [11, 34], "handl": 11, "error": 11, "happen": 11, "dure": 11, "read": 11, "call": 11, "foxi": 11, "newer": 11, "version": 11, "type": [12, 38, 41, 44], "sensor": [12, 24, 25, 37, 40, 46], "gpio": [12, 19], "exampl": [12, 16, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 43], "mock": 13, "gener": 13, "system": 13, "per": 13, "extern": [14, 25, 35], "refer": [14, 31, 33, 35, 44, 47], "command": [15, 31, 41, 44, 47, 48], "line": 15, "list_control": 15, "list_controller_typ": 15, "list_hardware_compon": 15, "list_hardware_interfac": 15, "load_control": 15, "reload_controller_librari": 15, "set_controller_st": 15, "switch_control": 15, "unload_control": 15, "view_controller_chain": 15, "what": 16, "you": 16, "can": 16, "find": 16, "thi": [16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29], "goal": 16, "overview": [16, 27], "local": 16, "debian": 16, "docker": 16, "view": 16, "quick": 16, "hint": 16, "1": [18, 44], "rrbot": [18, 20, 29], "step": [18, 20, 21, 22, 23, 24, 25, 26, 28, 29], "file": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "14": 21, "modular": [21, 26], "actuat": [21, 26], "provid": 21, "state": [21, 31, 44, 47], "diffbot": 22, "3": 23, "multipl": 23, "4": 24, "integr": [24, 51], "connect": 25, "6": 26, "separ": 26, "commun": [26, 51, 53], "each": 26, "7": 27, "full": 27, "6dof": 27, "geometri": 27, "cmake": 27, "librari": 27, "launch": 27, "8": 28, "an": 28, "expos": 28, "transmiss": 28, "9": 29, "ackermann_steering_control": 30, "admitt": 31, "2": [31, 33, 36, 38, 45, 50], "topic": [31, 36, 38, 45, 50], "bicycle_steering_control": 32, "diff_drive_control": 33, "other": [33, 34, 44, 48], "feedback": 33, "subscrib": [33, 44, 47], "publish": [33, 44, 47], "mobil": 34, "manipul": 34, "broadcast": [34, 37, 40, 46], "new": 35, "effort_control": 36, "jointgroupeffortcontrol": 36, "forc": 37, "torqu": 37, "forward_command_control": 38, "gripper": 39, "action": [39, 44], "imu": 40, "joint_state_broadcast": 41, "detail": 42, "about": 42, "trajectori": [43, 44], "represent": 43, "interpol": 43, "method": 43, "none": 43, "spline": 43, "visual": 43, "replac": 43, "joint_trajectory_control": 44, "preemption": 44, "polici": 44, "servic": 44, "further": 44, "inform": 44, "position_control": 45, "jointgrouppositioncontrol": 45, "rang": 46, "steering_controllers_librari": 47, "execut": 47, "logic": 47, "preced": 47, "tricycle_control": 48, "veloc": 48, "tricycle_steering_control": 49, "velocity_control": 50, "jointgroupvelocitycontrol": 50, "host": 51, "welcom": 53, "humbl": 53, "develop": 53, "organis": 53}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Maintainers": [[0, "maintainers"]], "Reviewers\u2019 Stats": [[0, "reviewers-stats"]], "Contributors": [[0, "contributors"]], "Companies and Institutions": [[0, "companies-and-institutions"]], "Contributing": [[1, "contributing"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Documentation Usage": [[1, "documentation-usage"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "gazebo_ros2_control": [[3, "gazebo-ros2-control"]], "Usage": [[3, "usage"], [5, "usage"]], "Modifying or building your own": [[3, "modifying-or-building-your-own"], [5, "modifying-or-building-your-own"]], "To run the demo": [[3, "to-run-the-demo"], [5, "to-run-the-demo"]], "Add ros2_control tag to a URDF": [[3, "add-ros2-control-tag-to-a-urdf"], [5, "add-ros2-control-tag-to-a-urdf"]], "Simple setup": [[3, "simple-setup"], [5, "simple-setup"]], "Using mimic joints in simulation": [[3, "using-mimic-joints-in-simulation"], [5, "using-mimic-joints-in-simulation"]], "Add the gazebo_ros2_control plugin": [[3, "add-the-gazebo-ros2-control-plugin"]], "Default gazebo_ros2_control Behavior": [[3, "default-gazebo-ros2-control-behavior"]], "Advanced: custom gazebo_ros2_control Simulation Plugins": [[3, "advanced-custom-gazebo-ros2-control-simulation-plugins"]], "Set up controllers": [[3, "set-up-controllers"], [5, "set-up-controllers"]], "gazebo_ros2_control_demos": [[3, "gazebo-ros2-control-demos"]], "Getting Started": [[4, "getting-started"]], "Installation": [[4, "installation"], [16, "installation"]], "Binary packages": [[4, "binary-packages"]], "Building from Source": [[4, "building-from-source"]], "Architecture": [[4, "architecture"]], "Controller Manager": [[4, "controller-manager"], [9, "controller-manager"]], "Resource Manager": [[4, "resource-manager"]], "Controllers": [[4, "controllers"]], "User Interfaces": [[4, "user-interfaces"]], "Hardware Components": [[4, "hardware-components"], [11, "hardware-components"]], "Hardware Description in URDF": [[4, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[4, "running-the-framework-for-your-robot"]], "gz_ros2_control": [[5, "gz-ros2-control"]], "Add the gz_ros2_control plugin": [[5, "add-the-gz-ros2-control-plugin"]], "Default gz_ros2_control Behavior": [[5, "default-gz-ros2-control-behavior"]], "Advanced: custom gz_ros2_control Simulation Plugins": [[5, "advanced-custom-gz-ros2-control-simulation-plugins"]], "gz_ros2_control_demos": [[5, "gz-ros2-control-demos"]], "Project Ideas for GSoC 2024": [[6, "project-ideas-for-gsoc-2024"]], "Tutorials and Demos for ros2_control": [[6, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[6, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[6, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[6, "feature-parity-for-controllers-from-ros1"]], "Resources": [[7, "resources"]], "Presentations": [[7, "presentations"]], "2023-02 ROS Meetup Munich #5": [[7, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[7, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[7, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[7, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[7, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[7, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[7, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[7, "roscon-fr-2021"]], "Diagrams": [[7, "diagrams"]], "Images": [[7, "images"]], "Controller Chaining / Cascade Control": [[8, "controller-chaining-cascade-control"]], "Scope of the Document and Background Knowledge": [[8, "scope-of-the-document-and-background-knowledge"]], "Motivation, Purpose and Use": [[8, "motivation-purpose-and-use"]], "Implementation": [[8, "implementation"]], "A Controller Base-Class: ChainableController": [[8, "a-controller-base-class-chainablecontroller"]], "Inner Resource Management": [[8, "inner-resource-management"]], "Activation and Deactivation Chained Controllers": [[8, "activation-and-deactivation-chained-controllers"]], "Debugging outputs": [[8, "debugging-outputs"]], "Closing remarks": [[8, "closing-remarks"]], "Determinism": [[9, "determinism"]], "Parameters": [[9, "parameters"], [13, "parameters"], [30, "parameters"], [31, "parameters"], [32, "parameters"], [33, "parameters"], [36, "parameters"], [37, "parameters"], [38, "parameters"], [39, "parameters"], [40, "parameters"], [41, "parameters"], [45, "parameters"], [46, "parameters"], [47, "parameters"], [49, "parameters"], [50, "parameters"]], "Helper scripts": [[9, "helper-scripts"]], "spawner": [[9, "spawner"]], "unspawner": [[9, "unspawner"]], "Using the Controller Manager in a Process": [[9, "using-the-controller-manager-in-a-process"]], "Concepts": [[9, "concepts"], [10, "concepts"]], "Restarting all controllers": [[9, "restarting-all-controllers"]], "Restarting hardware": [[9, "restarting-hardware"]], "ros2_control": [[10, "ros2-control"]], "API Documentation": [[10, "api-documentation"]], "Features": [[10, "features"]], "Guidelines and Best Practices": [[11, "guidelines-and-best-practices"], [34, "guidelines-and-best-practices"]], "Handling of errors that happen during read() and write() calls": [[11, "handling-of-errors-that-happen-during-read-and-write-calls"]], "Migration from Foxy to newer versions": [[11, "migration-from-foxy-to-newer-versions"]], "ros2_control hardware interface types": [[12, "ros2-control-hardware-interface-types"]], "Joints": [[12, "joints"]], "Sensors": [[12, "sensors"]], "GPIOs": [[12, "gpios"]], "Examples": [[12, "examples"], [16, "examples"]], "Mock Components": [[13, "mock-components"]], "Generic System": [[13, "generic-system"]], "Per-joint Parameters": [[13, "per-joint-parameters"]], "Writing a Hardware Component": [[14, "writing-a-hardware-component"]], "Useful External References": [[14, "useful-external-references"], [35, "useful-external-references"]], "Command Line Interface": [[15, "command-line-interface"]], "list_controllers": [[15, "list-controllers"]], "list_controller_types": [[15, "list-controller-types"]], "list_hardware_components": [[15, "list-hardware-components"]], "list_hardware_interfaces": [[15, "list-hardware-interfaces"]], "load_controller": [[15, "load-controller"]], "reload_controller_libraries": [[15, "reload-controller-libraries"]], "set_controller_state": [[15, "set-controller-state"]], "switch_controllers": [[15, "switch-controllers"]], "unload_controller": [[15, "unload-controller"]], "view_controller_chains": [[15, "view-controller-chains"]], "Demos": [[16, "demos"]], "What you can find in this repository": [[16, "what-you-can-find-in-this-repository"]], "Goals": [[16, "goals"]], "Examples Overview": [[16, "examples-overview"]], "Local installation": [[16, "local-installation"]], "Build from debian packages": [[16, "build-from-debian-packages"]], "Build from source": [[16, "build-from-source"]], "Using Docker": [[16, "using-docker"]], "To view the robot": [[16, "to-view-the-robot"]], "To run the ros2_control demos": [[16, "to-run-the-ros2-control-demos"]], "Quick Hints": [[16, "quick-hints"]], "Example 1: RRBot": [[18, "example-1-rrbot"]], "Tutorial steps": [[18, "tutorial-steps"], [20, "tutorial-steps"], [21, "tutorial-steps"], [22, "tutorial-steps"], [23, "tutorial-steps"], [24, "tutorial-steps"], [25, "tutorial-steps"], [26, "tutorial-steps"], [28, "tutorial-steps"], [29, "tutorial-steps"]], "Files used for this demos": [[18, "files-used-for-this-demos"], [19, "files-used-for-this-demos"], [20, "files-used-for-this-demos"], [21, "files-used-for-this-demos"], [22, "files-used-for-this-demos"], [23, "files-used-for-this-demos"], [25, "files-used-for-this-demos"], [26, "files-used-for-this-demos"], [28, "files-used-for-this-demos"], [29, "files-used-for-this-demos"]], "Controllers from this demo": [[18, "controllers-from-this-demo"], [19, "controllers-from-this-demo"], [20, "controllers-from-this-demo"], [21, "controllers-from-this-demo"], [22, "controllers-from-this-demo"], [23, "controllers-from-this-demo"], [24, "controllers-from-this-demo"], [25, "controllers-from-this-demo"], [26, "controllers-from-this-demo"], [28, "controllers-from-this-demo"], [29, "controllers-from-this-demo"]], "Example 10: Industrial robot with GPIO interfaces": [[19, "example-10-industrial-robot-with-gpio-interfaces"]], "Example 12: Controller chaining with RRBot": [[20, "example-12-controller-chaining-with-rrbot"]], "Example 14: Modular robot with actuators not providing states": [[21, "example-14-modular-robot-with-actuators-not-providing-states"]], "DiffBot": [[22, "diffbot"]], "Example 3: Robots with multiple interfaces": [[23, "example-3-robots-with-multiple-interfaces"]], "Example 4: Industrial robot with integrated sensor": [[24, "example-4-industrial-robot-with-integrated-sensor"]], "Files used for this demo": [[24, "files-used-for-this-demo"]], "Example 5: Industrial robot with externally connected sensor": [[25, "example-5-industrial-robot-with-externally-connected-sensor"]], "Example 6: Modular Robots with separate communication to each actuator": [[26, "example-6-modular-robots-with-separate-communication-to-each-actuator"]], "Example 7: Full tutorial with a 6DOF robot": [[27, "example-7-full-tutorial-with-a-6dof-robot"]], "ros2_control overview": [[27, "ros2-control-overview"]], "Writing a URDF": [[27, "writing-a-urdf"]], "Geometry": [[27, "geometry"]], "URDF file": [[27, "urdf-file"]], "Writing a hardware interface": [[27, "writing-a-hardware-interface"]], "Plugin description file (hardware)": [[27, "plugin-description-file-hardware"]], "CMake library (hardware)": [[27, "cmake-library-hardware"]], "Writing a controller": [[27, "writing-a-controller"]], "Plugin description file (controller)": [[27, "plugin-description-file-controller"]], "CMake library (controller)": [[27, "cmake-library-controller"]], "Launching the example": [[27, "launching-the-example"]], "Example 8: Industrial Robots with an exposed transmission interface": [[28, "example-8-industrial-robots-with-an-exposed-transmission-interface"]], "Example 9: Simulation with RRBot": [[29, "example-9-simulation-with-rrbot"]], "ackermann_steering_controller": [[30, "ackermann-steering-controller"]], "Admittance Controller": [[31, "admittance-controller"]], "ROS 2 interface of the controller": [[31, "ros-2-interface-of-the-controller"], [36, "ros-2-interface-of-the-controller"], [38, "ros-2-interface-of-the-controller"], [45, "ros-2-interface-of-the-controller"], [50, "ros-2-interface-of-the-controller"]], "Topics": [[31, "topics"], [36, "topics"], [38, "topics"], [45, "topics"], [50, "topics"]], "ros2_control interfaces": [[31, "ros2-control-interfaces"]], "References": [[31, "references"], [33, "references"], [44, "references"]], "States": [[31, "states"], [44, "states"], [47, "states"]], "Commands": [[31, "commands"], [41, "commands"], [44, "commands"], [47, "commands"]], "bicycle_steering_controller": [[32, "bicycle-steering-controller"]], "diff_drive_controller": [[33, "diff-drive-controller"]], "Other features": [[33, "other-features"], [44, "other-features"], [48, "other-features"]], "Description of controller\u2019s interfaces": [[33, "description-of-controller-s-interfaces"], [44, "description-of-controller-s-interfaces"], [47, "description-of-controller-s-interfaces"]], "Feedback": [[33, "feedback"]], "Output": [[33, "output"]], "ROS 2 Interfaces": [[33, "ros-2-interfaces"]], "Subscribers": [[33, "subscribers"], [47, "subscribers"]], "Publishers": [[33, "publishers"], [44, "publishers"], [47, "publishers"]], "ros2_controllers": [[34, "ros2-controllers"]], "Controllers for Mobile Robots": [[34, "controllers-for-mobile-robots"]], "Controllers for Manipulators and Other Robots": [[34, "controllers-for-manipulators-and-other-robots"]], "Broadcasters": [[34, "broadcasters"]], "Writing a new controller": [[35, "writing-a-new-controller"]], "effort_controllers": [[36, "effort-controllers"]], "effort_controllers/JointGroupEffortController": [[36, "effort-controllers-jointgroupeffortcontroller"]], "Force Torque Sensor Broadcaster": [[37, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[38, "forward-command-controller"]], "Hardware interface type": [[38, "hardware-interface-type"], [41, "hardware-interface-type"]], "Gripper Action Controller": [[39, "gripper-action-controller"]], "IMU Sensor Broadcaster": [[40, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[41, "joint-state-broadcaster"]], "Details about parameters": [[42, "details-about-parameters"]], "Trajectory Representation": [[43, "trajectory-representation"]], "Interpolation Method none": [[43, "interpolation-method-none"]], "Interpolation Method spline": [[43, "interpolation-method-spline"]], "Visualized Examples": [[43, "visualized-examples"]], "Trajectory Replacement": [[43, "trajectory-replacement"]], "joint_trajectory_controller": [[44, "joint-trajectory-controller"]], "Hardware interface types": [[44, "hardware-interface-types"]], "Using Joint Trajectory Controller(s)": [[44, "using-joint-trajectory-controller-s"]], "Preemption policy 1": [[44, "preemption-policy"]], "Actions 1": [[44, "actions"]], "Subscriber 1": [[44, "subscriber"]], "Services": [[44, "services"]], "Further information": [[44, "further-information"]], "position_controllers": [[45, "position-controllers"]], "position_controllers/JointGroupPositionController": [[45, "position-controllers-jointgrouppositioncontroller"]], "Range Sensor Broadcaster": [[46, "range-sensor-broadcaster"]], "steering_controllers_library": [[47, "steering-controllers-library"]], "Execution logic of the controller": [[47, "execution-logic-of-the-controller"]], "References (from a preceding controller)": [[47, "references-from-a-preceding-controller"]], "tricycle_controller": [[48, "tricycle-controller"]], "Velocity commands": [[48, "velocity-commands"]], "tricycle_steering_controller": [[49, "tricycle-steering-controller"]], "velocity_controllers": [[50, "velocity-controllers"]], "velocity_controllers/JointGroupVelocityController": [[50, "velocity-controllers-jointgroupvelocitycontroller"]], "Simulator Integrations": [[51, "simulator-integrations"]], "Hosted by ros-controls": [[51, "hosted-by-ros-controls"]], "Community": [[51, "community"]], "Supported Robots": [[52, "supported-robots"]], "Welcome to the ros2_control documentation - Humble!": [[53, "welcome-to-the-ros2-control-documentation-humble"]], "ros2_control Repositories": [[53, "ros2-control-repositories"]], "Development Organisation and Communication": [[53, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/iron/.buildinfo b/iron/.buildinfo index dd158f797e9..fba8c8b2a3e 100644 --- a/iron/.buildinfo +++ b/iron/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: b14b064d06921e2d2a200117946d36af +config: c2adb03f701fe41c95e1407598781f73 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/iron/.doctrees/doc/acknowledgements/acknowledgements.doctree b/iron/.doctrees/doc/acknowledgements/acknowledgements.doctree index af1eb9e9d05..5612e85fbcd 100644 Binary files a/iron/.doctrees/doc/acknowledgements/acknowledgements.doctree and b/iron/.doctrees/doc/acknowledgements/acknowledgements.doctree differ diff --git a/iron/.doctrees/doc/contributing/contributing.doctree b/iron/.doctrees/doc/contributing/contributing.doctree index c161ae15dea..d32c19add8f 100644 Binary files a/iron/.doctrees/doc/contributing/contributing.doctree and b/iron/.doctrees/doc/contributing/contributing.doctree differ diff --git a/iron/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree b/iron/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree index 0a0b72e81b3..9331087b13a 100644 Binary files a/iron/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree and b/iron/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree differ diff --git a/iron/.doctrees/doc/gazebo_ros2_control/doc/index.doctree b/iron/.doctrees/doc/gazebo_ros2_control/doc/index.doctree index 35811b6e045..0f502d1165b 100644 Binary files a/iron/.doctrees/doc/gazebo_ros2_control/doc/index.doctree and b/iron/.doctrees/doc/gazebo_ros2_control/doc/index.doctree differ diff --git a/iron/.doctrees/doc/getting_started/getting_started.doctree b/iron/.doctrees/doc/getting_started/getting_started.doctree index 203e2580512..97aff6538fc 100644 Binary files a/iron/.doctrees/doc/getting_started/getting_started.doctree and b/iron/.doctrees/doc/getting_started/getting_started.doctree differ diff --git a/iron/.doctrees/doc/gz_ros2_control/doc/index.doctree b/iron/.doctrees/doc/gz_ros2_control/doc/index.doctree index da6383eeb57..29ff9143a0c 100644 Binary files a/iron/.doctrees/doc/gz_ros2_control/doc/index.doctree and b/iron/.doctrees/doc/gz_ros2_control/doc/index.doctree differ diff --git a/iron/.doctrees/doc/project_ideas.doctree b/iron/.doctrees/doc/project_ideas.doctree index 967006d07d2..a5b2c23ab65 100644 Binary files a/iron/.doctrees/doc/project_ideas.doctree and b/iron/.doctrees/doc/project_ideas.doctree differ diff --git a/iron/.doctrees/doc/resources/resources.doctree b/iron/.doctrees/doc/resources/resources.doctree index b0d6416c850..194bc2e4e01 100644 Binary files a/iron/.doctrees/doc/resources/resources.doctree and b/iron/.doctrees/doc/resources/resources.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree b/iron/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree index 2a84708043b..83a95fc1c49 100644 Binary files a/iron/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree and b/iron/.doctrees/doc/ros2_control/controller_manager/doc/controller_chaining.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree index 0775facf4ab..20703432615 100644 Binary files a/iron/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/doc/index.doctree b/iron/.doctrees/doc/ros2_control/doc/index.doctree index ffb614e18d1..55a88f48c96 100644 Binary files a/iron/.doctrees/doc/ros2_control/doc/index.doctree and b/iron/.doctrees/doc/ros2_control/doc/index.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree index d568868651d..4fc17b09612 100644 Binary files a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree and b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree index da81d47fc6e..6d9f2773d4e 100644 Binary files a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree and b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree index 52d7ad209aa..16802575a1b 100644 Binary files a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree and b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree index c8498777e63..7a7daeff824 100644 Binary files a/iron/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree and b/iron/.doctrees/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.doctree differ diff --git a/iron/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index de34c46f0f0..50ed6834646 100644 Binary files a/iron/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/doc/index.doctree b/iron/.doctrees/doc/ros2_control_demos/doc/index.doctree index 697aad531af..eb9ae2c6a70 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/doc/index.doctree and b/iron/.doctrees/doc/ros2_control_demos/doc/index.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree b/iron/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree index 522baf9f04d..051f5e668d1 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree and b/iron/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree index 0fcef478226..63b0ac4b12a 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_1/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree index 219de328d02..585baac32af 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree index 0e5e31daa48..1207ea0de1c 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree index e855d937dfd..384bc052562 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree index 429d7e13f44..3326e1636c8 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_2/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree index 01843a84bad..8af9542e7e5 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_3/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree index 5feef2170d0..b59ef9fb0a9 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree index 20c87614063..73281e23080 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_5/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree index 204479d19e1..e203f8e096e 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_6/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree index 5fe8f9288b3..9cc888c8f99 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree index 7481a212f16..0bf7c152e6e 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_8/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree index 5a26dbe6e8e..4bcba8ac0f4 100644 Binary files a/iron/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_control_demos/example_9/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree index 4f1307281df..84a39efb18d 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree index 557ec6880a5..d1f77c06c1f 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/admittance_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree index 83a6f1691fd..324ed67ee6e 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/bicycle_steering_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree index a184be5b6c3..eba9eaa0b07 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/diff_drive_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/iron/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index f7545832db8..332d3a761a2 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree and b/iron/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree b/iron/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree index b60e170a6e4..4ae1c60c436 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree and b/iron/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree index b0774d367cf..023e73ee739 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree index 8bee5071a0d..073ad20523e 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index dd07e38a619..6677cd4ee48 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree index 672f760f222..e08f25dc105 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/gripper_controllers/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree index ba6c7adf809..95da3cf6398 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree index df5dffac506..e59d8099f39 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree b/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree index 95f3cf34978..53b2f20a26e 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree and b/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree b/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree index 60a91de86e1..baa92baf601 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree and b/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/trajectory.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree index 03991ae4a24..840ef38e6dc 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index 76d49af8afe..1dbc4e38b66 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree index ffbb28cd34b..bd35e110d5e 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/range_sensor_broadcaster/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.doctree new file mode 100644 index 00000000000..e83cbcf5ab7 Binary files /dev/null and b/iron/.doctrees/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree index 3a8b6e923fd..8bd80fd5a45 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/steering_controllers_library/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree index 41ef75d1343..aeb53293f95 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/tricycle_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree index a409f4f94be..94329a6735f 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/tricycle_steering_controller/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree b/iron/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree index 7fac433c6be..37238c45ed3 100644 Binary files a/iron/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree and b/iron/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree differ diff --git a/iron/.doctrees/doc/simulators/simulators.doctree b/iron/.doctrees/doc/simulators/simulators.doctree index b2fd1660f92..d1bddb3f38d 100644 Binary files a/iron/.doctrees/doc/simulators/simulators.doctree and b/iron/.doctrees/doc/simulators/simulators.doctree differ diff --git a/iron/.doctrees/doc/supported_robots/supported_robots.doctree b/iron/.doctrees/doc/supported_robots/supported_robots.doctree index 247770f6df0..31bda6adf16 100644 Binary files a/iron/.doctrees/doc/supported_robots/supported_robots.doctree and b/iron/.doctrees/doc/supported_robots/supported_robots.doctree differ diff --git a/iron/.doctrees/environment.pickle b/iron/.doctrees/environment.pickle index 6ea4c8b7642..79a27031d92 100644 Binary files a/iron/.doctrees/environment.pickle and b/iron/.doctrees/environment.pickle differ diff --git a/iron/.doctrees/index.doctree b/iron/.doctrees/index.doctree index 5940228a47e..97526a2c8b5 100644 Binary files a/iron/.doctrees/index.doctree and b/iron/.doctrees/index.doctree differ diff --git a/iron/_images/rqt_joint_trajectory_controller.png b/iron/_images/rqt_joint_trajectory_controller.png new file mode 100644 index 00000000000..cb86f4620bc Binary files /dev/null and b/iron/_images/rqt_joint_trajectory_controller.png differ diff --git a/iron/_sources/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst b/iron/_sources/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst index 58ba734b452..fffa78a304a 100644 --- a/iron/_sources/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst +++ b/iron/_sources/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst @@ -191,6 +191,7 @@ Further information Trajectory Representation joint_trajectory_controller Parameters + rqt_joint_trajectory_controller <../../rqt_joint_trajectory_controller/doc/userdoc.rst> .. rubric:: Footnote diff --git a/iron/_sources/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.rst b/iron/_sources/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.rst new file mode 100644 index 00000000000..197a7afb30f --- /dev/null +++ b/iron/_sources/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.rst @@ -0,0 +1,12 @@ +:github_url: https://github.com/ros-controls/ros2_controllers/blob/{REPOS_FILE_BRANCH}/rqt_joint_trajectory_controller/doc/userdoc.rst + +.. _rqt_joint_trajectory_controller_userdoc: + +rqt_joint_trajectory_controller +=============================== + +rqt_joint_trajectory_controller is a GUI plugin for rqt that allows to command a joint_trajectory_controller. + +.. image:: rqt_joint_trajectory_controller.png + :width: 400 + :alt: rqt_joint_trajectory_controller diff --git a/iron/doc/acknowledgements/acknowledgements.html b/iron/doc/acknowledgements/acknowledgements.html index 2804a7430ae..1782b563980 100644 --- a/iron/doc/acknowledgements/acknowledgements.html +++ b/iron/doc/acknowledgements/acknowledgements.html @@ -145,18 +145,18 @@

Maintainers
0.82
-
+
- + @@ -174,15 +174,15 @@

Maintainers -
+
0.57
-
+
@@ -206,7 +206,7 @@

Maintainers -
+
0.88 @@ -219,7 +219,7 @@

Maintainers
0.75
-
+
- + @@ -299,15 +299,15 @@

Maintainers -
+
0.31
-
+
@@ -331,7 +331,7 @@

Maintainers -
+
0.87 @@ -344,7 +344,7 @@

Maintainers -
+
0.97
-
+
- + @@ -543,15 +543,15 @@

Reviewers’ Stats
- 0.28 + 0.27
-
+
@@ -572,15 +572,15 @@

Reviewers’ Stats
- 0.78 + 0.77
-
+
@@ -804,7 +804,7 @@

Reviewers’ Stats
@@ -812,7 +812,7 @@

Reviewers’ Stats -
+
@@ -1258,28 +1258,28 @@

Reviewers’ Stats
- harderthan + DasRoteSkelett
- 124 + 149 6
- 0.05 + 0.04
-
+
- + @@ -1287,28 +1287,28 @@

Reviewers’ Stats
- DasRoteSkelett + harderthan
- 148 + 124 6
- 0.04 + 0.05
-
+
- + @@ -1355,15 +1355,15 @@

Reviewers’ Stats
- 0.50 + 0.42
-
+
@@ -1413,7 +1413,7 @@

Reviewers’ Stats
@@ -1421,7 +1421,7 @@

Reviewers’ Stats -
+
@@ -2109,7 +2109,7 @@

Reviewers’ Stats
@@ -2117,7 +2117,7 @@

Reviewers’ Stats -
+
@@ -3749,7 +3749,7 @@

Reviewers’ Stats
0.97
-
+
- + @@ -3832,7 +3832,7 @@

Reviewers’ Stats -
+
0.80 @@ -3858,15 +3858,15 @@

Reviewers’ Stats -
+
0.26
-
+
@@ -3887,15 +3887,15 @@

Reviewers’ Stats -
+
- 0.74 + 0.71
-
+
@@ -3919,7 +3919,7 @@

Reviewers’ Stats -
+
0.10 @@ -3948,7 +3948,7 @@

Reviewers’ Stats -
+
1.00 @@ -3974,15 +3974,15 @@

Reviewers’ Stats -
+
0.07
-
+
@@ -4006,7 +4006,7 @@

Reviewers’ Stats -
+
0.07 @@ -4032,15 +4032,15 @@

Reviewers’ Stats -
+
- 0.50 + 0.42
-
+
@@ -4064,7 +4064,7 @@

Reviewers’ Stats -
+
1.00 @@ -4093,7 +4093,7 @@

Reviewers’ Stats -
+
0.05 @@ -4122,7 +4122,7 @@

Reviewers’ Stats -
+
1.00 @@ -4151,7 +4151,7 @@

Reviewers’ Stats -
+
0.57 @@ -4180,7 +4180,7 @@

Reviewers’ Stats -
+
1.00 @@ -4209,7 +4209,7 @@

Reviewers’ Stats -
+
1.00 @@ -4225,28 +4225,28 @@

Reviewers’ Stats
- livanov93 + DasRoteSkelett
- 97 + 94 2
-
+
0.02
-
+
- + @@ -4254,28 +4254,28 @@

Reviewers’ Stats
- DasRoteSkelett + livanov93
- 93 + 97 2
-
+
0.02
-
+
- + @@ -4296,7 +4296,7 @@

Reviewers’ Stats -
+
1.00 @@ -4325,7 +4325,7 @@

Reviewers’ Stats -
+
1.00 @@ -4351,15 +4351,15 @@

Reviewers’ Stats -
+
0.02
-
+
@@ -4383,7 +4383,7 @@

Reviewers’ Stats -
+
0.01 @@ -4412,7 +4412,7 @@

Reviewers’ Stats -
+
0.01 @@ -4438,15 +4438,15 @@

Reviewers’ Stats -
+
0.01
-
+
@@ -4470,7 +4470,7 @@

Reviewers’ Stats -
+
0.01 @@ -4499,7 +4499,7 @@

Reviewers’ Stats -
+
1.00 @@ -4528,7 +4528,7 @@

Reviewers’ Stats -
+
0.03 @@ -4557,7 +4557,7 @@

Reviewers’ Stats -
+
1.00 @@ -4586,7 +4586,7 @@

Reviewers’ Stats -
+
1.00 @@ -4615,7 +4615,7 @@

Reviewers’ Stats -
+
1.00 @@ -4644,7 +4644,7 @@

Reviewers’ Stats -
+
1.00 @@ -4673,7 +4673,7 @@

Reviewers’ Stats -
+
1.00 @@ -4702,7 +4702,7 @@

Reviewers’ Stats -
+
1.00 @@ -4731,7 +4731,7 @@

Reviewers’ Stats -
+
1.00 @@ -4760,7 +4760,7 @@

Reviewers’ Stats -
+
1.00 @@ -4789,7 +4789,7 @@

Reviewers’ Stats -
+
1.00 @@ -4818,7 +4818,7 @@

Reviewers’ Stats -
+
0.33 @@ -4847,7 +4847,7 @@

Reviewers’ Stats -
+
1.00 @@ -4876,7 +4876,7 @@

Reviewers’ Stats -
+
1.00 @@ -4905,7 +4905,7 @@

Reviewers’ Stats -
+
1.00 @@ -4934,7 +4934,7 @@

Reviewers’ Stats -
+
1.00 @@ -4963,7 +4963,7 @@

Reviewers’ Stats -
+
1.00 @@ -4992,7 +4992,7 @@

Reviewers’ Stats -
+
0.50 @@ -5021,7 +5021,7 @@

Reviewers’ Stats -
+
1.00 @@ -5411,7 +5411,7 @@

Reviewers’ StatsTrajectory Representation
  • Trajectory Replacement
  • joint_trajectory_controller Parameters
  • +
  • rqt_joint_trajectory_controller
  • Position Controllers
  • diff --git a/iron/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.html b/iron/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.html index 7f93cfac147..726a38242b4 100644 --- a/iron/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.html +++ b/iron/doc/ros2_controllers/joint_trajectory_controller/doc/parameters.html @@ -30,7 +30,7 @@ - + @@ -73,6 +73,7 @@
  • Trajectory Representation
  • Trajectory Replacement
  • joint_trajectory_controller Parameters
  • +
  • rqt_joint_trajectory_controller
  • @@ -234,7 +235,7 @@