From 61237fb4e0e7b9792590f4c7d9239c8a93114870 Mon Sep 17 00:00:00 2001 From: bmagyar Date: Mon, 8 Apr 2024 05:32:24 +0000 Subject: [PATCH] deploy: 55de5eab39b383bd6e83d5d3a11943086b1101d8 --- foxy/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 7434 -> 7434 bytes .../doc/contributing/contributing.doctree | Bin 24361 -> 24361 bytes .../differences_to_ros1.doctree | Bin 34748 -> 34748 bytes .../getting_started/getting_started.doctree | Bin 50559 -> 50559 bytes foxy/.doctrees/doc/project_ideas.doctree | Bin 38260 -> 38260 bytes .../.doctrees/doc/resources/resources.doctree | Bin 67145 -> 67145 bytes .../controller_manager/doc/userdoc.doctree | Bin 9211 -> 9211 bytes .../doc/ros2_control/doc/index.doctree | Bin 5962 -> 5962 bytes .../doc/fake_components_userdoc.doctree | Bin 13533 -> 13533 bytes .../ros2controlcli/doc/userdoc.doctree | Bin 24766 -> 24766 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 12763 -> 12763 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 5687 -> 5687 bytes .../doc/controllers_index.doctree | Bin 12858 -> 12858 bytes .../doc/writing_new_controller.doctree | Bin 59925 -> 59925 bytes .../effort_controllers/doc/userdoc.doctree | Bin 4124 -> 4124 bytes .../doc/userdoc.doctree | Bin 8657 -> 8657 bytes .../doc/userdoc.doctree | Bin 4196 -> 4196 bytes .../doc/userdoc.doctree | Bin 5895 -> 5895 bytes .../doc/userdoc.doctree | Bin 7851 -> 7851 bytes .../doc/userdoc.doctree | Bin 5225 -> 5225 bytes .../doc/userdoc.doctree | Bin 33758 -> 33758 bytes .../position_controllers/doc/userdoc.doctree | Bin 4154 -> 4154 bytes .../tricycle_controller/doc/userdoc.doctree | Bin 5149 -> 5149 bytes .../velocity_controllers/doc/userdoc.doctree | Bin 4154 -> 4154 bytes foxy/.doctrees/environment.pickle | Bin 653946 -> 653946 bytes foxy/.doctrees/index.doctree | Bin 28593 -> 28593 bytes foxy/index.html | 2 +- foxy/searchindex.js | 2 +- galactic/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 7434 -> 7434 bytes .../doc/contributing/contributing.doctree | Bin 24361 -> 24361 bytes .../differences_to_ros1.doctree | Bin 34748 -> 34748 bytes .../getting_started/getting_started.doctree | Bin 50559 -> 50559 bytes galactic/.doctrees/doc/project_ideas.doctree | Bin 38260 -> 38260 bytes .../.doctrees/doc/resources/resources.doctree | Bin 67145 -> 67145 bytes .../controller_manager/doc/userdoc.doctree | Bin 11589 -> 11589 bytes .../doc/ros2_control/doc/index.doctree | Bin 6066 -> 6066 bytes .../doc/fake_components_userdoc.doctree | Bin 13533 -> 13533 bytes .../doc/hardware_components_userdoc.doctree | Bin 20103 -> 20103 bytes .../ros2controlcli/doc/userdoc.doctree | Bin 23385 -> 23385 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 12635 -> 12635 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 5687 -> 5687 bytes .../doc/controllers_index.doctree | Bin 13250 -> 13250 bytes .../doc/writing_new_controller.doctree | Bin 59945 -> 59945 bytes .../effort_controllers/doc/userdoc.doctree | Bin 4124 -> 4124 bytes .../doc/userdoc.doctree | Bin 8657 -> 8657 bytes .../doc/userdoc.doctree | Bin 4196 -> 4196 bytes .../doc/userdoc.doctree | Bin 5895 -> 5895 bytes .../doc/userdoc.doctree | Bin 18436 -> 18436 bytes .../doc/userdoc.doctree | Bin 33758 -> 33758 bytes .../position_controllers/doc/userdoc.doctree | Bin 4154 -> 4154 bytes .../velocity_controllers/doc/userdoc.doctree | Bin 4154 -> 4154 bytes galactic/.doctrees/environment.pickle | Bin 682309 -> 682309 bytes galactic/.doctrees/index.doctree | Bin 28609 -> 28609 bytes galactic/index.html | 2 +- galactic/searchindex.js | 2 +- humble/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1211543 -> 1211537 bytes .../doc/contributing/contributing.doctree | Bin 25325 -> 25325 bytes .../differences_to_ros1.doctree | Bin 34672 -> 34672 bytes .../doc/gazebo_ros2_control/doc/index.doctree | Bin 39649 -> 39649 bytes .../getting_started/getting_started.doctree | Bin 56166 -> 56166 bytes .../doc/gz_ros2_control/doc/index.doctree | Bin 37939 -> 37939 bytes humble/.doctrees/doc/project_ideas.doctree | Bin 29987 -> 29987 bytes .../.doctrees/doc/resources/resources.doctree | Bin 83622 -> 83622 bytes .../doc/controller_chaining.doctree | Bin 25468 -> 25468 bytes .../controller_manager/doc/userdoc.doctree | Bin 29129 -> 29129 bytes .../doc/ros2_control/doc/index.doctree | Bin 6372 -> 6372 bytes .../different_update_rates_userdoc.doctree | Bin 29658 -> 29658 bytes .../doc/hardware_components_userdoc.doctree | Bin 21668 -> 21668 bytes .../hardware_interface_types_userdoc.doctree | Bin 27199 -> 27199 bytes .../doc/mock_components_userdoc.doctree | Bin 16420 -> 16420 bytes .../writing_new_hardware_component.doctree | Bin 65671 -> 65671 bytes .../ros2controlcli/doc/userdoc.doctree | Bin 31356 -> 31356 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 50241 -> 50241 bytes .../doc/run_from_docker.doctree | Bin 3337 -> 3337 bytes .../example_1/doc/userdoc.doctree | Bin 82059 -> 82059 bytes .../example_10/doc/userdoc.doctree | Bin 36838 -> 36838 bytes .../example_11/doc/userdoc.doctree | Bin 34101 -> 34101 bytes .../example_12/doc/userdoc.doctree | Bin 48925 -> 48925 bytes .../example_14/doc/userdoc.doctree | Bin 37903 -> 37903 bytes .../example_2/doc/userdoc.doctree | Bin 38580 -> 38580 bytes .../example_3/doc/userdoc.doctree | Bin 46764 -> 46764 bytes .../example_4/doc/userdoc.doctree | Bin 37786 -> 37786 bytes .../example_5/doc/userdoc.doctree | Bin 41016 -> 41016 bytes .../example_6/doc/userdoc.doctree | Bin 33191 -> 33191 bytes .../example_7/doc/userdoc.doctree | Bin 106728 -> 106728 bytes .../example_8/doc/userdoc.doctree | Bin 31438 -> 31438 bytes .../example_9/doc/userdoc.doctree | Bin 36729 -> 36729 bytes .../doc/userdoc.doctree | Bin 11532 -> 11532 bytes .../admittance_controller/doc/userdoc.doctree | Bin 49263 -> 49263 bytes .../doc/userdoc.doctree | Bin 9921 -> 9921 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 54156 -> 54156 bytes .../doc/controllers_index.doctree | Bin 12882 -> 12882 bytes .../doc/writing_new_controller.doctree | Bin 60202 -> 60202 bytes .../effort_controllers/doc/userdoc.doctree | Bin 8222 -> 8222 bytes .../doc/userdoc.doctree | Bin 18515 -> 18515 bytes .../doc/userdoc.doctree | Bin 12877 -> 12877 bytes .../gripper_controllers/doc/userdoc.doctree | Bin 13842 -> 13842 bytes .../doc/userdoc.doctree | Bin 16591 -> 16591 bytes .../doc/userdoc.doctree | Bin 24581 -> 24581 bytes .../doc/parameters.doctree | Bin 43685 -> 43685 bytes .../doc/trajectory.doctree | Bin 38596 -> 38596 bytes .../doc/userdoc.doctree | Bin 44094 -> 44094 bytes .../position_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/userdoc.doctree | Bin 14103 -> 14103 bytes .../doc/userdoc.doctree | Bin 3871 -> 3871 bytes .../doc/userdoc.doctree | Bin 39929 -> 39929 bytes .../tricycle_controller/doc/userdoc.doctree | Bin 5149 -> 5149 bytes .../doc/userdoc.doctree | Bin 10475 -> 10475 bytes .../velocity_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/simulators/simulators.doctree | Bin 7042 -> 7042 bytes .../supported_robots/supported_robots.doctree | Bin 23621 -> 23621 bytes humble/.doctrees/environment.pickle | Bin 3559084 -> 3559078 bytes humble/.doctrees/index.doctree | Bin 27593 -> 27593 bytes .../acknowledgements/acknowledgements.html | 588 +++++++++--------- humble/index.html | 2 +- humble/searchindex.js | 2 +- iron/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1211543 -> 1211537 bytes .../doc/contributing/contributing.doctree | Bin 25325 -> 25325 bytes .../differences_to_ros1.doctree | Bin 34672 -> 34672 bytes .../doc/gazebo_ros2_control/doc/index.doctree | Bin 39649 -> 39649 bytes .../getting_started/getting_started.doctree | Bin 57114 -> 57114 bytes .../doc/gz_ros2_control/doc/index.doctree | Bin 37940 -> 37940 bytes iron/.doctrees/doc/project_ideas.doctree | Bin 29987 -> 29987 bytes .../.doctrees/doc/resources/resources.doctree | Bin 83622 -> 83622 bytes .../doc/controller_chaining.doctree | Bin 25454 -> 25454 bytes .../controller_manager/doc/userdoc.doctree | Bin 29330 -> 29330 bytes .../doc/ros2_control/doc/index.doctree | Bin 6372 -> 6372 bytes .../different_update_rates_userdoc.doctree | Bin 29642 -> 29642 bytes .../doc/hardware_components_userdoc.doctree | Bin 21668 -> 21668 bytes .../hardware_interface_types_userdoc.doctree | Bin 27199 -> 27199 bytes .../doc/mock_components_userdoc.doctree | Bin 14975 -> 14975 bytes .../writing_new_hardware_component.doctree | Bin 65637 -> 65637 bytes .../ros2controlcli/doc/userdoc.doctree | Bin 31078 -> 31078 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 50226 -> 50226 bytes .../doc/run_from_docker.doctree | Bin 3337 -> 3337 bytes .../example_1/doc/userdoc.doctree | Bin 81917 -> 81917 bytes .../example_10/doc/userdoc.doctree | Bin 36746 -> 36746 bytes .../example_11/doc/userdoc.doctree | Bin 34023 -> 34023 bytes .../example_12/doc/userdoc.doctree | Bin 48835 -> 48835 bytes .../example_14/doc/userdoc.doctree | Bin 37816 -> 37816 bytes .../example_2/doc/userdoc.doctree | Bin 38494 -> 38494 bytes .../example_3/doc/userdoc.doctree | Bin 46688 -> 46688 bytes .../example_4/doc/userdoc.doctree | Bin 37698 -> 37698 bytes .../example_5/doc/userdoc.doctree | Bin 40910 -> 40910 bytes .../example_6/doc/userdoc.doctree | Bin 33113 -> 33113 bytes .../example_7/doc/userdoc.doctree | Bin 106688 -> 106688 bytes .../example_8/doc/userdoc.doctree | Bin 31360 -> 31360 bytes .../example_9/doc/userdoc.doctree | Bin 36633 -> 36633 bytes .../doc/userdoc.doctree | Bin 11532 -> 11532 bytes .../admittance_controller/doc/userdoc.doctree | Bin 49223 -> 49223 bytes .../doc/userdoc.doctree | Bin 9921 -> 9921 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 53462 -> 53462 bytes .../doc/controllers_index.doctree | Bin 15985 -> 15985 bytes .../doc/writing_new_controller.doctree | Bin 60194 -> 60194 bytes .../effort_controllers/doc/userdoc.doctree | Bin 8222 -> 8222 bytes .../doc/userdoc.doctree | Bin 18499 -> 18499 bytes .../doc/userdoc.doctree | Bin 12877 -> 12877 bytes .../gripper_controllers/doc/userdoc.doctree | Bin 13834 -> 13834 bytes .../doc/userdoc.doctree | Bin 16575 -> 16575 bytes .../doc/userdoc.doctree | Bin 24573 -> 24573 bytes .../doc/parameters.doctree | Bin 43409 -> 43409 bytes .../doc/trajectory.doctree | Bin 38596 -> 38596 bytes .../doc/userdoc.doctree | Bin 44029 -> 44029 bytes .../position_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/userdoc.doctree | Bin 14780 -> 14780 bytes .../doc/userdoc.doctree | Bin 3871 -> 3871 bytes .../doc/userdoc.doctree | Bin 39929 -> 39929 bytes .../tricycle_controller/doc/userdoc.doctree | Bin 30728 -> 30728 bytes .../doc/userdoc.doctree | Bin 10475 -> 10475 bytes .../velocity_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/simulators/simulators.doctree | Bin 7042 -> 7042 bytes .../supported_robots/supported_robots.doctree | Bin 23621 -> 23621 bytes iron/.doctrees/environment.pickle | Bin 3595473 -> 3595467 bytes iron/.doctrees/index.doctree | Bin 27549 -> 27549 bytes .../acknowledgements/acknowledgements.html | 588 +++++++++--------- iron/index.html | 2 +- iron/searchindex.js | 2 +- master/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1211543 -> 1211537 bytes .../doc/contributing/contributing.doctree | Bin 25325 -> 25325 bytes .../doc/gazebo_ros2_control/doc/index.doctree | Bin 41073 -> 41073 bytes .../getting_started/getting_started.doctree | Bin 52209 -> 52209 bytes .../doc/gz_ros2_control/doc/index.doctree | Bin 38642 -> 38642 bytes .../doc/migration/differences_to_ros1.doctree | Bin 34666 -> 34666 bytes .../.doctrees/doc/migration/migration.doctree | Bin 4874 -> 4874 bytes master/.doctrees/doc/project_ideas.doctree | Bin 29987 -> 29987 bytes .../.doctrees/doc/resources/resources.doctree | Bin 85475 -> 85475 bytes .../doc/resources/roscon2023_workshop.doctree | Bin 15191 -> 15191 bytes .../doc/controller_chaining.doctree | Bin 27598 -> 27598 bytes .../controller_manager/doc/userdoc.doctree | Bin 36515 -> 36515 bytes .../doc/ros2_control/doc/index.doctree | Bin 6372 -> 6372 bytes .../ros2_control/doc/migration/Foxy.doctree | Bin 15311 -> 15311 bytes .../ros2_control/doc/migration/Iron.doctree | Bin 10674 -> 10674 bytes .../different_update_rates_userdoc.doctree | Bin 29658 -> 29658 bytes .../doc/hardware_components_userdoc.doctree | Bin 8564 -> 8564 bytes .../hardware_interface_types_userdoc.doctree | Bin 28533 -> 28533 bytes .../doc/mock_components_userdoc.doctree | Bin 17549 -> 17549 bytes .../writing_new_hardware_component.doctree | Bin 65671 -> 65671 bytes .../ros2controlcli/doc/userdoc.doctree | Bin 31078 -> 31078 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 50243 -> 50243 bytes .../doc/run_from_docker.doctree | Bin 3337 -> 3337 bytes .../example_1/doc/userdoc.doctree | Bin 82059 -> 82059 bytes .../example_10/doc/userdoc.doctree | Bin 36838 -> 36838 bytes .../example_11/doc/userdoc.doctree | Bin 34101 -> 34101 bytes .../example_12/doc/userdoc.doctree | Bin 48925 -> 48925 bytes .../example_14/doc/userdoc.doctree | Bin 37903 -> 37903 bytes .../example_2/doc/userdoc.doctree | Bin 38580 -> 38580 bytes .../example_3/doc/userdoc.doctree | Bin 46764 -> 46764 bytes .../example_4/doc/userdoc.doctree | Bin 37786 -> 37786 bytes .../example_5/doc/userdoc.doctree | Bin 41016 -> 41016 bytes .../example_6/doc/userdoc.doctree | Bin 33191 -> 33191 bytes .../example_7/doc/userdoc.doctree | Bin 106731 -> 106731 bytes .../example_8/doc/userdoc.doctree | Bin 31438 -> 31438 bytes .../example_9/doc/userdoc.doctree | Bin 31614 -> 31614 bytes .../doc/userdoc.doctree | Bin 11532 -> 11532 bytes .../admittance_controller/doc/userdoc.doctree | Bin 48384 -> 48384 bytes .../doc/userdoc.doctree | Bin 9921 -> 9921 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 51387 -> 51387 bytes .../doc/controllers_index.doctree | Bin 16068 -> 16068 bytes .../doc/writing_new_controller.doctree | Bin 60989 -> 60989 bytes .../effort_controllers/doc/userdoc.doctree | Bin 8222 -> 8222 bytes .../doc/userdoc.doctree | Bin 18515 -> 18515 bytes .../doc/userdoc.doctree | Bin 12877 -> 12877 bytes .../gripper_controllers/doc/userdoc.doctree | Bin 13842 -> 13842 bytes .../doc/userdoc.doctree | Bin 16591 -> 16591 bytes .../doc/userdoc.doctree | Bin 24581 -> 24581 bytes .../doc/parameters.doctree | Bin 41661 -> 41661 bytes .../doc/trajectory.doctree | Bin 38596 -> 38596 bytes .../doc/userdoc.doctree | Bin 44037 -> 44037 bytes .../pid_controller/doc/userdoc.doctree | Bin 34883 -> 34883 bytes .../position_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/userdoc.doctree | Bin 14796 -> 14796 bytes .../doc/userdoc.doctree | Bin 3871 -> 3871 bytes .../doc/userdoc.doctree | Bin 39929 -> 39929 bytes .../tricycle_controller/doc/userdoc.doctree | Bin 30728 -> 30728 bytes .../doc/userdoc.doctree | Bin 10475 -> 10475 bytes .../velocity_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/simulators/simulators.doctree | Bin 7042 -> 7042 bytes .../supported_robots/supported_robots.doctree | Bin 23621 -> 23621 bytes master/.doctrees/environment.pickle | Bin 3697948 -> 3697942 bytes master/.doctrees/index.doctree | Bin 27539 -> 27539 bytes .../acknowledgements/acknowledgements.html | 588 +++++++++--------- master/index.html | 2 +- master/searchindex.js | 2 +- 248 files changed, 897 insertions(+), 897 deletions(-) diff --git a/foxy/.buildinfo b/foxy/.buildinfo index dfc9c521e9f..487e8af252c 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: cf8ea50ca86ee4ad082bfcfc78073f9e +config: e7d3246817a20f452339062fab30d21d tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree b/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree index 9eea66ebbd839b6785825d010dccc7cf951f1017..ac2982cfb5b72b6f07f70bd0c0054d04b4728eca 100644 GIT binary patch delta 66 zcmeCO>ayBk#AujZXqK0gpPHy|V325TW@=z!Y-*fnW@uz&VQFq^Y-nI)W{_-YXqIf2 VWRPNMX`Glm*^otSb0yayBk#As-eTvV8z6Q8Z0W@2b$VVq`}Y-*ZjXlQAcl9*~_lxS*hWRPr>l9*zV VWNctzo|0%e*^otSb0y*|(=3xsP16hwEzMFAQ;m!gP0fuAl8sUl UQ!J8<4J^!45-m4BV|I=P0LX9@+5i9m 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 5b48eb730c4a45b153b54ac6fbfe3e7a1138319d..c082a48bc4e4281f6506bd00f6fca8afdcc74616 100644 GIT binary patch delta 64 zcmdnf&$OqXX@eG{VRoTeUQT{$qP~GaqPdx=fr+uHaiW=_k&%U^xv86%Nb2Sow delta 64 zcmdnf&$OqXX@eG{p-FO4VR}w{wtkw4p^=4gnq{)7X_}#-rCCa1s*zEmskxCsvQbK6 TibayKfrWWWqUGjj#>6%Nnr#!) diff --git a/foxy/.doctrees/doc/getting_started/getting_started.doctree b/foxy/.doctrees/doc/getting_started/getting_started.doctree index ac519312ddffe31ad5cd9822a7bd7770af9eb4f6..a917c655f308a88c11aa5e5ef9c51c78fdd4b2f2 100644 GIT binary patch delta 64 zcmez0#r(gEd4mC?VRoTeUQT{$qP~GaqPdx=fr+uHaiW=_k&%U^xv8RrfG(TmS!o5sYXVLrshTl$wn!O UDHch_1{UTiiI$sV8O5gn0K&2qK>z>% diff --git a/foxy/.doctrees/doc/resources/resources.doctree b/foxy/.doctrees/doc/resources/resources.doctree index 0eedb0c4f188789fb173b3b6c795b6eccca35fbe..8e76c9eed4ea952b183a6750317a84b2d819dc21 100644 GIT binary patch delta 68 zcmX@v!*a5RWrGT%VRoTeUQT{$qP~GaqPdx=fr+uHaiW=_k&%U^xv8b 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 53528034379054a8471166acf56c46de59d4f2ce..7e1dbbd2c9700fe6ba79adb6bc195f0101411ea7 100644 GIT binary patch delta 62 zcmezE{@Z3-%p;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=5odsB>-_W5?}xT delta 62 zcmezE{@Z68~a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=5odsB>)A9iw4(p;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=6uH6q5w?W5(WSO delta 62 zcmX@5cS>)A9iyR1a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=6uH6q5yOg6IuWO 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 39e696d3d8c6d76c056f47ef8cb88b8326feaefd..945ce5ddd792d5b7cc22c4ec5b73d0ef9bdf1311 100644 GIT binary patch delta 62 zcmcbcc{g)|1EXPfp;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=0e6CV*qhW5>)^I delta 62 zcmcbcc{g)|1EZlya#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=0e6CV*r?g6R7|I diff --git a/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index e13f07f6bad7270a32e682e35eeaaf4efbc165c5..ac8cdb017557a42a7e96394e75ae79ebbf115504 100644 GIT binary patch delta 64 zcmdmYka6EZ#tn9ihS`N?c{%y1iTVZxiRNae1}4U)#))QzMn)Ev=BCDm21aHE$(Dv@ T$!19gDVCPTiOHMu8U5n{kTnw2 delta 64 zcmdmYka6EZ#tn9ih9=2Hh3Pr*+4^ZFhDH{~X_m>RrfG(TmS!o5sYXVLrshTl$wn!O TDHch_1{UTiiI$u58U5n{w`~+C diff --git a/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree b/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree index 77a1c408d6ade3c38aa8c34d21fd96e475c4460b..7cf163c7c36e74f95f640f8895377ca0932f67ef 100644 GIT binary patch delta 62 zcmV~$(FuSs3g27O QK#6o=a>n9rk>6Gx{A)52HUIzs delta 62 zcmcbed^>rA8Ka>|a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=5)pq0|1h06N&%; 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 bc8fd45d2083611b66ceaa8c226ce3d4f37858aa..05ed3bb8092f0a3cde6a8c089367fc309365e9f4 100644 GIT binary patch delta 62 zcmdn4vt4I{52Imrp;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=32&GA^=735!L_z delta 62 zcmdn4vt4I{52K+;a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=32&GA^>eD6Dj}z diff --git a/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index f47e267882992233656dd0c18b624874f70c9f2c..6368823f9dd0b268ddb3320c9688e0413327faf9 100644 GIT binary patch delta 71 zcmdm$vMXhS2BT4Sp;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 bl0k~4rEy}i{$vLw(a95}MK`xFZZiM?1;G^5 delta 71 zcmdm$vMXhS2BVQla#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd blCgn>c}k+C{$vLw(a95}MK`xFZZiM?IPDfF 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 28d815d9b477808d9965192b29a56fb7cb4b8efd..e5e2e5c18a7454c4ad704e593b1355f927adee4e 100644 GIT binary patch delta 64 zcmbPwg?Z`~<_!*vhS`N?c{%y1iTVZxiRNae1}4U)#))QzMn)Ev=BCDm21aHE$(Dv@ U$!19gDVCPTiOHJ_8JD~O0Eh4sjsO4v delta 64 zcmbPwg?Z`~<_!*vh9=2Hh3Pr*+4^ZFhDH{~X_m>RrfG(TmS!o5sYXVLrshTl$wn!O UDHch_1{UTiiI$rS8JD~O0Iw(%;s5{u 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 ae9c0707c05ececa68fd0c6b3a0df7ade0c3bf48..be824867b553e9bacd8678290861eb94fef9155c 100644 GIT binary patch delta 62 zcmbQEFh^m78>3-%p;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=5ofRd;l@j5n%uT delta 62 zcmbQEFh^m78>68~a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=5ofRd;nPt614yT 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 50fcede42324f4ecda65bc4f9cfb4f94b91e8275..53a2882b11f30ae6d89f2adeda88a2d3073eb86a 100644 GIT binary patch delta 62 zcmccUe9?JB0;6Gep;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=823B3IJgE5%K^4 delta 62 zcmccUe9?JB0;8cxa#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=823B3IK>O6Gi|4 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 c6ef41d81d8e6b66f0ca9ec4883a576a7b2cbd25..000f3ccf3f8e3945d670da9aaea927a426cb9381 100644 GIT binary patch delta 62 zcmaE&@I+xl7^7i!p;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=61%rd;nNv5=j66 delta 62 zcmaE&@I+xl7^9&{a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=61%rd;ou(6P*A6 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 0f000b901077bb514f5ff42b6ead78f783dc39f5..1df6dcb7114bf8f9a86fe0970d3220382a131722 100644 GIT binary patch delta 62 zcmZqIYuDT0$7q;cXqK0gpPHy|V325TW@=z!Y-*fnW@uz&VQFq^Y-nI)W{_-YXqIf2 RWRPNMX`Gn6xt_5@6aX+65lsL9 delta 62 zcmZqIYuDT0$7pDhTvV8z6Q8Z0W@2b$VVq`}Y-*ZjXlQAcl9*~_lxS*hWRPr>l9*zV RWNctzo|0&}xt_5@6aZIG5}^P9 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 cc4febd2aa2a737ba6c7d90f8251bd25fcd1c0e1..4b4ed8a9845f72d67d67cd4c4171ad1d7bbc8686 100644 GIT binary patch delta 62 zcmZ2&yV`a`0Ha}cp;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=0-*>SpY~45n%uT delta 62 zcmZ2&yV`a`0HdKva#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=0-*>SpaWE614yT 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 2fb6d36ee03efaa7a3ce5cff36720f72462823de..fb908c1e53f4e5dd64cdffe1617d88b8dbef793b 100644 GIT binary patch delta 62 zcmaE<@ls=hAERM*p;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=6c3gLI7O65@Y}X delta 62 zcmaE<@ls=hAETj3a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=6c3gLI8vG6Sx2X 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 f59089193e3f8f9d7a1402bcb026cd6cd535ba1e..b21e438b75da4d895b28e6f9488487637f6f6836 100644 GIT binary patch delta 64 zcmccD&UCMxX+s2~VRoTeUQT{$qP~GaqPdx=fr+uHaiW=_k&%U^xv8jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=4!_Md;n;G6B7Uc 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 3d4aaf910729e0fddddc10ba5818af1d6813c080..0a8563273e480a5a77564afb9225d8b99c5e5238 100644 GIT binary patch delta 62 zcmbQMF;`=Q2cuzjp;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=1RsTLI5_35qbas delta 62 zcmbQMF;`=Q2cw}$a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=1RsTLI7RD63zes 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 4bca0768497cf3d6631191621f924aa76662d84e..8892d7ecb8dacf66ccc0542002cd9ff13d660904 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%Zzp;=x|erlq=fkC3VnW=$^v8i#QnW2%9g{8Tvv7v#HnL)Cpp;@w7 Rl0k~4rEy~N=4!_Md;md65x)Qc delta 62 zcmdm`uuEZs7o(v`a#3M=PJFh0nu(#2g>jl?vZ-mBp`oQ&N@A*!QKG52kwLOiN@9vd RlCgn>c}k+?=4!_Md;n;G6B7Uc diff --git a/foxy/.doctrees/environment.pickle b/foxy/.doctrees/environment.pickle index 17d24cb0776ece58f718419f2cb5eddbe91ef40c..7a146cf90a95cb5e87e7b87513bd23f51d9a4673 100644 GIT binary patch delta 13924 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 delta 13982 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 diff --git a/foxy/.doctrees/index.doctree b/foxy/.doctrees/index.doctree index 56a514b3a8a9661459d5255e444fed71a28834c1..e2c2f12bb548b0c0fc1bdfef9971cb5aa9380649 100644 GIT binary patch delta 82 zcmdmZpK;@T#tmkShS`N?c{%y1iTVZxiRNae1}4U)#))QzMn)Ev=BCDm21aHE$(Dv@ m$!19gDVCPTiOHMO8IOf9T5Q$}Gh<}5n0!85dUHd#p#%UVEEw4U delta 82 zcmdmZpK;@T#tmkSh9=2Hh3Pr*+4^ZFhDH{~X_m>RrfG(TmS!o5sYXVLrshTl$wn!O mDHch_1{UTiiI$tw8IOf9ns3$%Gh<{lpL{-CdUHd#p#%V9F&ZlX diff --git a/foxy/index.html b/foxy/index.html index 9ca17d218d9..ce1a9b57958 100644 --- a/foxy/index.html +++ b/foxy/index.html @@ -152,7 +152,7 @@

Development Organisation and Communication -

Built on 2024-04-07 at 05:31 GMT

+

Built on 2024-04-08 at 05:31 GMT

diff --git a/foxy/searchindex.js b/foxy/searchindex.js index d9055edff9f..aece4ef4c7c 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, "2024": 24, "04": 24, "07": 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, "2024": 24, "04": 24, "08": 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 1c919f3e16d..7d68066ae92 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: a6fd3698e7a48cf07c2173d7319441cc +config: aa92c6ff32fd5a64113a53abcaf332d5 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree b/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree index d72f117968bff68519b55d7664f90d5bb14b6d76..33aa8fde3a04e0f18a01aad801fbf357a616c0c1 100644 GIT binary patch delta 66 zcmeCO>ayBk#AujZXqK0gpPHy|Xl7(-VPc$|Vw#p@2_#YtQ_Rd#lP%0lOic_^O%e@~ U3@uYkQq3kCvWRW2WSl4s0I4<;qyPW_ delta 66 zcmeCO>ayBk#As-eTvV8z6Q8YboNSh8kZ5XbVQHM0WNKk(W@4OTZk}e8WNBiYY-na_ Vl4NXYX_RO&*^otSb0yNKM5}j8n|b(~OcVO^lNb U%`8olj4dsV5-m1AV|I=P0KI1vCjbBd 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 66ea2ed2870fded551925fa340c023c749782525..4b17117c461e4517ad0a23784663c50de1ecc236 100644 GIT binary patch delta 64 zcmdnf&$OqXX@eG{VRoTeUQT{$qQ0S-k)?%+adL`jT9PG@NHt6`GfPdjFf%bVF-$c{ SG)OYEOfg9{+Z@f9*aiTgdlT&d delta 64 zcmdnf&$OqXX@eG{p-FO4VR}w{w!U$)S)xIrsj-Enabl9Gg`t^=af-Qlno*LaiE*-_ TnWagRv8AO^qQ&ND#>6%Nk7N@d diff --git a/galactic/.doctrees/doc/getting_started/getting_started.doctree b/galactic/.doctrees/doc/getting_started/getting_started.doctree index d9f2a5f69221e4bdf2e49f3ca42922a925ab5708..4757b7ed1fba89589f0236980fc28b541d8daa8e 100644 GIT binary patch delta 64 zcmez0#r(gEd4mC?VRoTeUQT{$qQ0S-k)?%+adL`jT9PG@NHt6`GfPdjFf%bVF-$c{ SG)OYEOfg9{+nmTKcLV^yY7}w+ delta 64 zcmez0#r(gEd4mC?p-FO4VR}w{w!U$)S)xIrsj-Enabl9Gg`t^=af-Qlno*LaiE*-_ TnWagRv8AO^qQ&M!M!6#ZuTvAH diff --git a/galactic/.doctrees/doc/project_ideas.doctree b/galactic/.doctrees/doc/project_ideas.doctree index bc3195097c1e503a0ebabe8a60262336fa9423bf..09df734aa231f916c932ce6593ee30f49a42ae5b 100644 GIT binary patch delta 64 zcmeyeis{QLrVTobhS`N?c{%y1iTZ|SMwS*P#>pwBX-SqqBGoX(%q%t8!py|f#4yz) S(ICmtGQ}j-Y;!E5_!I!hz!X~m delta 64 zcmeyeis{QLrVTobh9=2Hh3Pr*+4{!GW{C!grp6YQ#)(O$7KUaf#wq6JX+}wwCdSEz UW|k&N#+H^wi58n<8O5gn0Jo_VjsO4v diff --git a/galactic/.doctrees/doc/resources/resources.doctree b/galactic/.doctrees/doc/resources/resources.doctree index de0959fa98d2c7479188432cda590430c7700d7e..1332f9f6e16718538d03e3584d9e3c07737aef34 100644 GIT binary patch delta 68 zcmX@v!*a5RWrGT%VRoTeUQT{$qQ0S-k)?%+adL`jT9PG@NHt6`GfPdjFf%bVF-$c{ WG)OYEOfg9{YYt`H9?Ho0g#`fi9TeyQ delta 68 zcmX@v!*a5RWrGT%p-FO4VR}w{w!U$)S)xIrsj-Enabl9Gg`t^=af-Qlno*LaiE*-_ XnWagRv8AO^qD6Bkabu?;&8>3-%p;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2MC&Uj860FFZw+W-In delta 62 zcmX>abu?;&8>68~a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=5oe!+5mkl6Al0X diff --git a/galactic/.doctrees/doc/ros2_control/doc/index.doctree b/galactic/.doctrees/doc/ros2_control/doc/index.doctree index 4d3635551ac018742d178b09044bbeb15f0ef2a5..727c8f79a88f29d2623bb8a9030278a821280a83 100644 GIT binary patch delta 62 zcmdm_ze#_C9iw4(p;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2M?&*&@$0B!mbuK)l5 delta 62 zcmdm_ze#_C9iyR1a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=6ptHF#ufS5#j&< 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 f35e09aad2632f5beb6c51a3bf119106f53a5658..d9be8fedf41d4d6ef6e0028e94282bd109ec68bb 100644 GIT binary patch delta 62 zcmcbcc{g)|1EXPfp;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2MC$e3dc0G^Q(!vFvP delta 62 zcmcbcc{g)|1EZlya#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=0e6CV*rhM67~Q9 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 ec1b76a8912ac3598dcc460cd6bc81354716965a..0dde36f13036f64736b817e22f76f1b992b98084 100644 GIT binary patch delta 64 zcmZpl%h*1baf1h=VRoTeUQT{$qQ0S-k)?%+adL`jT9PG@NHt6`GfPdjFf%bVF-$c{ SG)OYEOfg9{+g!=W=L-OnA`?vj delta 64 zcmZpl%h*1baf1h=p-FO4VR}w{w!U$)S)xIrsj-Enabl9Gg`t^=af-Qlno*LaiE*-_ TnWagRv8AO^qQ&M)Mm}Evf(sIW diff --git a/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 727bf75d7733685c4bc19039d3225e79dab1f88f..4bd613eba7890e73cd944bc3ea568c8f2f7efcb1 100644 GIT binary patch delta 64 zcmcb)jq&C-#tn9ihS`N?c{%y1iTZ|SMwS*P#>pwBX-SqqBGoX(%q%t8!py|f#4yz) S(ICmtGQ}j-Y;!*2t4ILGkrej; delta 64 zcmcb)jq&C-#tn9ih9=2Hh3Pr*+4{!GW{C!grp6YQ#)(O$7KUaf#wq6JX+}wwCdSEz UW|k&N#+H^wi58pl8DB*L0JVA)DgXcg diff --git a/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree b/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree index 1022ac262d9e5d082377598cab5dea88da3d9d43..da97c2531cce78a168761b115392af1b1857057a 100644 GIT binary patch delta 62 zcmcbebUSH-8KYr#p;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2M?&iF+i0GR(2ApigX delta 62 zcmcbebUSH-8Ka>|a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=5)p{`T&RM6I1{I 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 06aad309d8b95e58055df191fdb8373f75925afb..ecaeafd4d6ff08ac1e81b86b330b316923ed5a84 100644 GIT binary patch delta 62 zcmdn4vt4I{52Imrp;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2MC%eYGf0CP4IL;wH) delta 62 zcmdn4vt4I{52K+;a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=32&GA^>6^5_bRq diff --git a/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index 915a58ea177c424be99bf22af84654db1511fc9a..aa0b8690ac49a5444e2be9a50b6d91ef99043beb 100644 GIT binary patch delta 66 zcmX?pwBX-SqqBGoX(%q%t8!py|f#4yz) S(ICmtGQ}j-Y;z&wju!yGA{96Q delta 64 zcmZ2^g?Z%_<_!*vh9=2Hh3Pr*+4{!GW{C!grp6YQ#)(O$7KUaf#wq6JX+}wwCdSEz UW|k&N#+H^wi58m+8F#z@0ImxZYXATM 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 8acda84f5f6fbc54d1cdc527a62a3532555ebd8c..16bfaf852b3daa4f1be51d0d23a9e4c8b6022f82 100644 GIT binary patch delta 62 zcmbQEFh^m78>3-%p;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2MC&bX8h0ACss&j0`b delta 62 zcmbQEFh^m78>68~a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=5ofRd;m@Z5&{4K 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 05a75bc409687f068540a74230dbd00e5fd8c0ce..e5d02eae9a0ede50cf3ed47d9f85e50e946e2fb2 100644 GIT binary patch delta 62 zcmccUe9?JB0;6Gep;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2L%k;?diHxsJ> delta 64 zcmZpfz}PZ@aYF#3p-FO4VR}w{w!U$)S)xIrsj-Enabl9Gg`t^=af-Qlno*LaiE*-_ TnWagRv8AO^qQ&M$#%4DFeIOFv 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 672a0285b07ab2435b5ef2a9f6c023f88b284c5e..c03cb154e99d8966d7cf5506a8e8a74c8324627b 100644 GIT binary patch delta 64 zcmccD&UCMxX+s2~VRoTeUQT{$qQ0S-k)?%+adL`jT9PG@NHt6`GfPdjFf%bVF-$c{ SG)OYEOfg9{+uX?*+5`Z&7Zhy( delta 64 zcmccD&UCMxX+s2~p-FO4VR}w{w!U$)S)xIrsj-Enabl9Gg`t^=af-Qlno*LaiE*-_ TnWagRv8AO^qQ&M;#?U4JrvMY6 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 bf3ad8d0905bf353ab2f9027a426a784a139889a..7acfd64538f2668ddf542c56797b3ba92528731a 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%Zzp;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2MC&A6Wr0B(*GEdT%j delta 62 zcmdm`uuEZs7o(v`a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=4!_Md;nc{5?}xT 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 a7945927516de597429549719aacb6cfd0b05c95..705f778d6db44be0050ff9a0cd5dfa268c75a33d 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%Zzp;=x|erlq=p_!4Tg^6);ifLMsC6GupOffS{O|~#IF*PwvHAyr` QGPF!FNj2MC&A6Wr0B(*GEdT%j delta 62 zcmdm`uuEZs7o(v`a#3M=PJFh$ak5#WL87U#g{5&~lBtEEnTc_Vxp|sVlBJ1pvZ0x! RNs_UprBR~A=4!_Md;nc{5?}xT diff --git a/galactic/.doctrees/environment.pickle b/galactic/.doctrees/environment.pickle index 4c8ae3b8fcfaf948008b379dc8eb1978e61c3db4..ff76e068012c9fb4e0c8e49a2da8d4063368b63f 100644 GIT binary patch delta 14526 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 R?82Wv;?M8hTc=Z|{3mtg^g{pu diff --git a/galactic/.doctrees/index.doctree b/galactic/.doctrees/index.doctree index 5ce0283cd0ad96a6fd37d8b4261255e230388095..a730443c7429a3ac4fe329d5f17c52fadba73fef 100644 GIT binary patch delta 82 zcmX?jpYh;*#tmkShS`N?c{%y1iTZ|SMwS*P#>pwBX-SqqBGoX(%q%t8!py|f#4yz) l(ICmtGQ}j-Y;!u}wGc*&&30jCjEokO?}tloo)B&*0RVU|8m9mN delta 82 zcmX?jpYh;*#tmkSh9=2Hh3Pr*+4{!GW{C!grp6YQ#)(O$7KUaf#wq6JX+}wwCdSEz mW|k&N#+H^wi58pF8Lx#fns2rXGh<{lpL{=Ddh>*ELkR#_k{Q?l diff --git a/galactic/index.html b/galactic/index.html index c5e2bba0ab7..84b41b56d0f 100644 --- a/galactic/index.html +++ b/galactic/index.html @@ -152,7 +152,7 @@

Development Organisation and Communication -

Built on 2024-04-07 at 05:31 GMT

+

Built on 2024-04-08 at 05:31 GMT

diff --git a/galactic/searchindex.js b/galactic/searchindex.js index fae82484c1d..2b4bf5bc945 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, 23], "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, "2024": 23, "07": 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, 23], "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, "2024": 23, "08": 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 251b8c6cc73..7ff4853521b 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: d663f52c8f7f353b94604f0a0b61ae39 +config: 6e23c16c2dbec7caee2875d824a191e2 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree b/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree index f4f8c34b8075f1921aed66b0a0c74fefa19f5c23..1e903353cc31d3526692ecbfb037631c9cd903b7 100644 GIT binary patch delta 13112 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 delta 13457 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 diff --git a/humble/.doctrees/doc/contributing/contributing.doctree b/humble/.doctrees/doc/contributing/contributing.doctree index 27ad742336282f327bc072a0d18bdedcb6bac54c..548af2d9d8f293fcf8006f4fc85718f876797d1c 100644 GIT binary patch delta 64 zcmaERl=1CR#tq?&hS`N?c{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|FQL?e2VHyx88(A0|Sy&jG SCmUIsCz>UvZH{IXZ36(XBNLDS delta 64 zcmey+$Mm6(X@eG{p-FO4VR}w{w!USWnL&zanuUddk$IAViJ4`Zp{1dPg}J%8nQ^MA TX^L^0rGaU(f$8RGM$t9^pO_Nx diff --git a/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree b/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree index c5bddcd93d5351e3628a958dc66aca14842734ac..7cd61f130953f4939b961bc1f8b69ff93d4fcded 100644 GIT binary patch delta 129 zcmaF3mFeMDrVSR1M%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|6O^Lr&?7W0EM0?LI3~& delta 129 zcmaF3mFeMDrVSR1MkdKch3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e hrYXj0mIkKD2B!Lx_i@N>ZfAU5NuFMb&3md<18IKhM0H=c!t^fc4 diff --git a/humble/.doctrees/doc/resources/resources.doctree b/humble/.doctrees/doc/resources/resources.doctree index 3ebd01b9e5af1047ee1560328cb4babbfcd7fe0a..acd0bc07c614c67db1d093afef506e6c304312ad 100644 GIT binary patch delta 68 zcmZ41%et(Wb%P3{VRoTeUQT{$qQ0S7s&SH~aY|y6fk~>FQL?e2VHyx88(A0|Sy&jG WCmUIsCz>UvHHR{84`pNwbOiv}XcNr< delta 68 zcmZ41%et(Wb%P3{p-FO4VR}w{w!USWnL&zanuUddk$IAViJ4`Zp{1dPg}J%8nQ^MA XX^L^0rGaU(foXFnWI delta 64 zcmex!jPcJg#tjyXh9=2Hh3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e TrYXj0mIkKD2Bw=c8HJMo!x0l~ 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 eb85b18f17c5213ecc85e905bc8410a815e4b09e..8bfbf711241337e4c0e217a68e18ebe6f229f6d3 100644 GIT binary patch delta 64 zcmX^4nDOLe#tm+ahS`N?c{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|PLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8ur9XDk&50DgKB(*OVf delta 62 zcmaE2_{4C79iyR1a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=6uFdaR6=a5;Fh* diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/different_update_rates_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/different_update_rates_userdoc.doctree index e4fcf746a86ddcc240b768bc33cea54b2d9f7a65..0c76d924f744387e6bda6173e5f13192d3fe23cb 100644 GIT binary patch delta 64 zcmcchoblFk#tnXqhS`N?c{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|nBC#tlJ?M%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|4m&fKajKvuMFF_V> delta 69 zcmdmgg>nBC#tlJ?MkdKch3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e ZrYXj0mIkKD2B!LxPjY!|KEqg?0RS7870&FQL?e2VHyx88(A0|Sy&jG SCmUIsCz>UvZ7yWoYzF{}1`}KW delta 64 zcmZ3|z__G=af1V+p-FO4VR}w{w!USWnL&zanuUddk$IAViJ4`Zp{1dPg}J%8nQ^MA TX^L^0rGaU(f$8Q##?5vBd3zGP 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 2848cda52d70a39961ef6ba268b99e9a88f6d6ab..fb74ca89d922b2b2a05e476a3544648f72e62c02 100644 GIT binary patch delta 64 zcmZo~WNB|?+2F@$m|bX=my@5GsBdVNYMf+goRXMiV3KNPlx%EhmfuAZ}}3u diff --git a/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 62553d49f7f4cf1907d58070e6cfcbaf2d30e723..80e5570fb1342487880a3de547cd47d439ff2924 100644 GIT binary patch delta 64 zcmezKh4If9#tn9ihS`N?c{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|FQL?e2VHyx88(A0|Sy&jG XCmUIsCz>Uv=}(@pNqloX*E1eE1OV{G6}Xh2h&tjNeXqK0gpPHy|XqIZ6WNDm|m}Fp*YG#ydY-pGU#K}e$#zqzv#^%XJ Qmgb3O$!VJpuy}F+09)%4TmS$7 delta 62 zcmeB_>Xh2h&thnjTvV8z6Q8YbnPz5?Vwz@QVPIsQWME=unPzBdXklS)Zf<6rYHFHd RoMvfYnrvXY`2dS22LMZ85xf8Z 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 8d3a4769c4ed1a576d1a23f53892def7a65c6442..185a65378b18f15a5a064c8b539df9c9435c3355 100644 GIT binary patch delta 76 zcmeBfWbJNb-4MlSlwD|+my@5GsBdVNYMf+goRXMiV3KNPlx%EhmP86*1uuUiwY diff --git a/humble/.doctrees/doc/ros2_control_demos/example_11/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_11/doc/userdoc.doctree index a56e0f19be5ee9645e16c1b30ec3bb6cf578b0d2..654039de071c80def72fc8240604ac6b7ffcd271 100644 GIT binary patch delta 73 zcmdnm#k94HX+sR7QFftOUQT{$qQ0S7s&SH~aY|y6fk~>FQL?e2VHyx88(A0|Sy&jG bCmUIsCz>Uv=}$Hk5TE?JMSAlA#?od0T)-Dj delta 73 zcmdnm#k94HX+sR7kx6nFQL?e2VHyx88(A0|Sy&jG bCmUIsCz>Uv=}#8q7oS|qC$@PvW5^@`PVyEF delta 73 zcmeBQ!PLKkX+sR7kx6nR_j 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 22fd4f948994d2d0105182a422521fd4b5e2e379..52311e4d8ffddbaaa179072a685d4f4f6991d3b0 100644 GIT binary patch delta 73 zcmdn8mTAjcrVUYyM%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|z!cTVHkyqEF&6aZKt7dZd` 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 639fe1dd954cf42c91d2fca1d0217c92a6848347..6218f0443486c8b6d1c65571ba2ae7b2ac4ad97e 100644 GIT binary patch delta 73 zcmZ4UmTApfrVUYyM%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|epXlZtjE^P)09Hd5#{d8T delta 73 zcmbQWoN3l_rVUYyMkdKch3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e drYXj0mIkKD2B!Lx75K#`_wtEu-of~2A^<=b7AF7z 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 765557a3a5700b244596bf709eaaf8509636d995..ff60562926493212e444cf2077250525ea3616f0 100644 GIT binary patch delta 73 zcmdmSfN948rVUYyM%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|wEzGB delta 73 zcmdmSfN948rVUYyMkdKch3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e drYXj0mIkKD2B!LxC&s8w=3T(Ec`sx2JOF0l7Zm^i 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 f97ec850d420df6455eebaa07289e69e4ce8068c..2621ad4d5fa5cd83dc3c2e607951186a1f04ab8d 100644 GIT binary patch delta 73 zcmZ49%(T3jX+spFQFftOUQT{$qQ0S7s&SH~aY|y6fk~>FQL?e2VHyx88(A0|Sy&jG bCmUIsCz>Uv=}!*i5uYr;E4q0HVV9Z)DuQk&)4SJ^+WH7f}EJ 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 697e269e820f9f704689d69d02980666ece6bbff..064e4ec1eee5c14d3ad4120f8426daee3a436595 100644 GIT binary patch delta 73 zcmX^2mGRtH#tl)7M%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|0kND)NRZ^SxG744#0H)Cw`~Uy| delta 73 zcmX^2mGRtH#tl)7MkdKch3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e drYXj0mIkKD2B!Lx5Aujlo?0cfc`u`2B><477hC`U 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 5a266bc50de93315c62108bd7d28e27c882bf863..3591b41d5967374725555ffa04637e5c65c2827e 100644 GIT binary patch delta 76 zcmex4kLl+;rVUYyrrCvNc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|WSJA!)TOUXqK0gpPHy|XqIZ6WNDm|m}Fp*YG#ydY-pGU#K}e$#zqzv#^%XJ Zmgb3O$!YqNFY=2{juDpIe2~#w8vrI-6{i3I delta 71 zcmeB)>WSJA!)RoZTvV8z6Q8YbnPz5?Vwz@QVPIsQWME=unPzBdXklS)Zf<6rYHFHd aoMvfYnrvXIKlviR=;Rn-xy=U|y|n=lFck*? 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 c76c655a59512a0fb25c82cd0703d943469e8462..a54cc9a3fba29916298446a33f85ce244c6aba7b 100644 GIT binary patch delta 127 zcmaFg!2G^}d4mt5VRoTeUQT{$qQ0S7s&SH~aY|y6fk~>FQL?e2VHyx88(A0|Sy&jG hCmUIsCz>UvZLVe1>L6X)d!`CUXD) delta 127 zcmaFg!2G^}d4mt5p-FO4VR}w{w!USWnL&zanuUddk$IAViJ4`Zp{1dPg}J%8nQ^MA jX^L^0rGaU(f$8R2My(FgwN0*N)R`P#EVfyyE7S}Clz$~N 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 76d586c2fdf162c1e3bca62e186d606ac1cce1bd..95c1b1e7847825f335ab6be5cae09a774d75c858 100644 GIT binary patch delta 67 zcmX@;d(d}71fx-Qp;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> VS(+!BC8z0678DfSJfBfX6#(Ce6T|=j delta 67 zcmX@;d(d}71f!8ja#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Wahj!pX|jQ-{$xQx(arN2l~e)C-4i4L 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 63acc0619f7fa4cbc76ac6ce32ec93b51734820f..c61ba7e71174e1f8f2726e2eb6edb7dc49100b4f 100644 GIT binary patch delta 127 zcmeBK&fK${d4mt5VRoTeUQT{$qQ0S7s&SH~aY|y6fk~>FQL?e2VHyx88(A0|Sy&jG iCmUIsCz>UvZLVcpeUx-PLs+m!;v7uoa5GNa17#mqw7@H>> VS(+!BC8z06F60s2oX_~!008U+6x#p* delta 67 zcmcbVaw%nl2BVQla#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Wahj!pX|jQ-{^UX)(argcj|~9WSrj_} 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 4561dc49cc132148d583c4827234960d6b5cc628..336d45b1426da1fe2674d6dd06d52ff38772dd5a 100644 GIT binary patch delta 64 zcmZ2=jd|5I<_!*vhS`N?c{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|3-%p;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8upJXIw4^0A_g-t^fc4 delta 62 zcmbQ|FwbFw8>68~a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=5og6asXBC5)J?W 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 64f8410ce3a3b7614c4cc9cc47fe28361c600067..965ec89e39e59398ee28a98d8d7c934f411c1276 100644 GIT binary patch delta 127 zcmcaSf${PL#tjLKhS`N?c{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|PLs+m!;v7uoa5GNa17#mqw7@H>> VS(+!BC8z06?vygvyn}J70RZ;k6*~X` delta 67 zcmX?`ayDf{7^9I%a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Xahj!pX|jQ-{^U+6gUve_ry2kN<24kU 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 aa8865f33e1422b710c46ba9e890cf8ad06b1c22..677258c2c427a8c7e519edc731821e0399f41ec5 100644 GIT binary patch delta 62 zcmbP~Gbv|-2cuzjp;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8uq!WSnUN0Cm+8`Tzg` delta 62 zcmbP~Gbv|-2cw}$a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=1RtyCIDqh5?TNN 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 b68400c180fcc50978e303d997fe30977f83acea..aa6f0f283c11fef96459a5f56adbe8927b0d3f9d 100644 GIT binary patch delta 127 zcmX@#$aubyaf2VDVRoTeUQT{$qQ0S7s&SH~aY|y6fk~>FQL?e2VHyx88(A0|Sy&jG iCmUIsCz>UvZLVkRGA3QyFQL?e2VHyx88(A0|Sy&jG SCmUIsCz>UvZEj?2i30$gH50D@ delta 64 zcmZoYz}R|#aYF#3p-FO4VR}w{w!USWnL&zanuUddk$IAViJ4`Zp{1dPg}J%8nQ^MA TX^L^0rGaU(f$8Q(#+En$jH(k4 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 49c25d84583bbe779024a058c47dc9fa66b5c33c..368931fbccb88208a3db994612a8450ba22b2e87 100644 GIT binary patch delta 69 zcmZ2_m1*f!rVVP0M%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|=1g6#@VN 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 b1092ead2e74a43904f8c964b0b0de8d79003117..7418f6a49b3be3b192fe030d1a5f817f5fd1c4bf 100644 GIT binary patch delta 69 zcmX@Img&e^rVTZWM%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|PLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8uq!W_&3J0EtZ#ga7~l delta 62 zcmaFj@Wf$*7o(v`a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=4!^5asYV36662? 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 eb0efc44cb0336a0bbeaf08323f9bd8e5dae3d9c..b4e28ad69ddc01b641c397d9855556ff769673ff 100644 GIT binary patch delta 131 zcmbQ9H$87d5Tj9cp;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> hS(+!BC8z06eygmvc@yI@O)~XP=2O+&{7~DB8vvVTC`bSR delta 131 zcmbQ9H$87d5TlVva#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; iahj!pX|jQ-{^YmHdYd;fF4H7a?_@qz&CL(B&A0(ckS7QL diff --git a/humble/.doctrees/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/rqt_joint_trajectory_controller/doc/userdoc.doctree index 315beed092840406bbdd4c164c7fa5122444f05b..629a74bcabbd95d0a50b8a24fea76b059fcce59b 100644 GIT binary patch delta 62 zcmbO)H(zc;0;6Gep;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8uqk$k@jV09^7Cb^rhX delta 62 zcmbO)H(zc;0;8cxa#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=824byZ}sR5!L_z 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 c3cd1d63648fca7c2b4b3aa2b75999303b213f54..00fbf9cabd9f7d726799d77c6f61d3be40d7e526 100644 GIT binary patch delta 69 zcmeylo$2RxrVUYyM%jgCc{%y1iTZ|Ssm4i`#wm$O1}3RyM#;v8hG{^YY-C|SB delta 69 zcmeylo$2RxrVUYyMkdKch3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e ZrYXj0mIkKD2B!Lx`-E*bpJX(c1pq5k6~X`j 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 3d220d718b00af5c312b5aa066c070b474050666..11b410457dd5a07bfc0aa5cd68ef1cf3b2a58fb6 100644 GIT binary patch delta 62 zcmbQMF;`=Q2cuzjp;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8uq!WLzQy09z*#aR2}S delta 62 zcmbQMF;`=Q2cw}$a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=1RsTLI6sf5zznu 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 8ab890f6ff5ea1728f3535ed0936090d439d7ca9..4c91a8f69d497b5216e2245013a560a8e3c2c98a 100644 GIT binary patch delta 71 zcmaDI_&RVy6r)jgp;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> ZS(+!BC8z06?&lYs{F7Z{^GQY}bpTd#7KH!+ delta 71 zcmaDI_&RVy6r+(za#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; bahj!pX|jQ-{^Wjs(aAsAH8!7QR8j{3Ku8tk 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 29542aa1b4e07555a8f7b861aa1b9a15e4623760..5f556dcad2ff8d8bfa23c0a61cff0cd0f9c77344 100644 GIT binary patch delta 62 zcmaFj@Wf$*7o%Zzp;=x|erlq=p;@YNlBIDPLs+m!;v7uoa5GNa17#mqw7@H>> QS(+!BC8uq!W_&3J0EtZ#ga7~l delta 62 zcmaFj@Wf$*7o(v`a#3M=PJFh$Wty2mifNjKg@KWIl7WetWtyR-p@oIHxw)Bfs;Oy; Rahj!pX|jRo=4!^5asYV36662? diff --git a/humble/.doctrees/doc/simulators/simulators.doctree b/humble/.doctrees/doc/simulators/simulators.doctree index 97f7e50485b9c7d4ca8905619b3cf3ca649794fb..a27df7f7af9fc849f972d0222e80ea142818fbe1 100644 GIT binary patch delta 62 zcmZoNZ!+JY#%P#bXqK0gpPHy|XqIZ6WNDm|m}Fp*YG#ydY-pGU#K}e$#zqzv#^%XJ Pmgb3O$!VLz8MUPVOidA_ delta 62 zcmZoNZ!+JY#%O4gTvV8z6Q8YbnPz5?Vwz@QVPIsQWME=unPzBdXklS)Zf<6rYHFHd RoMvfYnrvXYIh;{j3IIF85d;7L diff --git a/humble/.doctrees/doc/supported_robots/supported_robots.doctree b/humble/.doctrees/doc/supported_robots/supported_robots.doctree index e5f133029e3722c4a7d2bb38bb7cf530118af0f5..65c6749ac93b0048a399ad7133c6682236a77c19 100644 GIT binary patch delta 64 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
f+*RDI((}<;b3c_ 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

Yr6o{cJE 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 delta 82 zcmX?ko$=&##tmkSh9=2Hh3Pr*+4`1gW(FyyX%-d+M&?NdCT5mthL(mF7Ut&WX2z+e mrYXj0mIkKD2Bw?S89jm+%{OldHe+NopBxw}y_qTWxEKII1sLG~ diff --git a/humble/doc/acknowledgements/acknowledgements.html b/humble/doc/acknowledgements/acknowledgements.html index 3ea1346a4d4..dcd53fa324d 100644 --- a/humble/doc/acknowledgements/acknowledgements.html +++ b/humble/doc/acknowledgements/acknowledgements.html @@ -223,7 +223,7 @@

Maintainers
0.70
-
+
@@ -421,18 +421,18 @@

Maintainers -
+
0.90
-
+
- + @@ -450,15 +450,15 @@

Maintainers -
+
0.23
-
+
@@ -466,7 +466,7 @@

Maintainers
@@ -525,7 +525,7 @@

Maintainers -
+
@@ -546,7 +546,7 @@

Maintainers
@@ -554,7 +554,7 @@

Maintainers -
+
@@ -575,23 +575,23 @@

Maintainers -
+
0.91
-
+
- + - Fetched on 2024-04-07 03:25:53 UTC + Fetched on 2024-04-08 03:26:49 UTC