From 62a98cb0ce4f4b7a9a20d51848935715e7725121 Mon Sep 17 00:00:00 2001 From: bmagyar Date: Thu, 11 Apr 2024 05:33:12 +0000 Subject: [PATCH] deploy: 0433b9d034c822674218716e83a93d2069ac474f --- 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 1211565 -> 1211625 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 3559106 -> 3559166 bytes humble/.doctrees/index.doctree | Bin 27593 -> 27593 bytes .../acknowledgements/acknowledgements.html | 238 +++++++++--------- humble/index.html | 2 +- humble/searchindex.js | 2 +- iron/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1211565 -> 1211625 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 3595495 -> 3595555 bytes iron/.doctrees/index.doctree | Bin 27549 -> 27549 bytes .../acknowledgements/acknowledgements.html | 238 +++++++++--------- iron/index.html | 2 +- iron/searchindex.js | 2 +- master/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1211565 -> 1211625 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 3697970 -> 3698030 bytes master/.doctrees/index.doctree | Bin 27539 -> 27539 bytes .../acknowledgements/acknowledgements.html | 238 +++++++++--------- master/index.html | 2 +- master/searchindex.js | 2 +- 248 files changed, 372 insertions(+), 372 deletions(-) diff --git a/foxy/.buildinfo b/foxy/.buildinfo index b6410276d89..0ba799fe080 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: 68246fb01a546f8627df72354df2c87c +config: c869af7c92413de7c3a1d39fb26dd171 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree b/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree index 836b2131a487a6d6b49ea2a9c93bf2f12eddab24..959b8c83d0e2df536b371a0a28aab49008140789 100644 GIT binary patch delta 66 zcmeCO>ayBk#As-iSy^CFSW&E>WR`4fYMx|bWMr6ayBk#As-eZ<178l%1?^oMvEVkYs9To@Q!bYMf$fVrgk;VxDMVX>4Y0U~ZOb VVvuHHmYkL{*^otSb0y1V|I=P0MR=Y2><{9 delta 64 zcmZ3vk8$Nb#tmDU4NdY*l8TG6ll6_$49pCYObyM`ObtwpQ%p@PEe%b~6Adhl&CCtV U%~DMa(oD>f(^57+V|I=P0Hv=J$N&HU 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 7611d5ce70a56a9f650d1ec8c34690a20a3ff128..dc20ab4e0604afdda6cbbc622e9c3d72cecafb96 100644 GIT binary patch delta 64 zcmdnf&$OqXX@eG{p;=~Sfkk0Ov3`6%Nqc{`- delta 64 zcmdnf&$OqXX@eG{p-H|;QgKmsvc7Seftf*)siAqAse!3+im8dErJ;#=qJgEcnYn?v TS*nRanu%F*TFT~V#>6%NcdQb@ diff --git a/foxy/.doctrees/doc/getting_started/getting_started.doctree b/foxy/.doctrees/doc/getting_started/getting_started.doctree index 07f3524fb06ff1575f1fda06db33c1298b552dd9..841167b40cd294e07fb2b62bcd99d74e3019d78b 100644 GIT binary patch delta 64 zcmez0#r(gEd4mC?p;=~Sfkk0Ov3`zYNySCk$@<1=24)6HriSKerUs_QDW)ctmWC$gi3XO&X66Rw UW~n9yX(ndLX(^jy8O5gn0H5&_F8}}l diff --git a/foxy/.doctrees/doc/resources/resources.doctree b/foxy/.doctrees/doc/resources/resources.doctree index 2b3f389263c16f4a81191189b8f0fdcf911aa896..6ec2930d42b9284ff0e0dc3271736dd2fbcdd249 100644 GIT binary patch delta 68 zcmX@v!*a5RWrGT%p;=~Sfkk0Ov3`69FW@UjzVMVcil3B8`sd68~zDZJXQFgMvahiddL6WJVd77z#sd0*_iKV5XiFu-drLmd0fw@_# Ri9wo)S#ny+=5odsB>;7+5~2VA diff --git a/foxy/.doctrees/doc/ros2_control/doc/index.doctree b/foxy/.doctrees/doc/ros2_control/doc/index.doctree index 532c57901b8451ec109857d05a181a326d97080c..77ae160419b824d1f65f9a3a74f5f19de4bde377 100644 GIT binary patch delta 62 zcmX@5cS>)A9iyRHW@UjzVMVcil3B8`sd)A9iyR1zDZJXQFgMvahiddL6WJVd77z#sd0*_iKV5XiFu-drLmd0fw@_# Ri9wo)S#ny+=6uH6q5x4+5=a05 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 c03f5b218d661fdc8e94174077197611c68c3ffe..a3521026042da224c8f35c1cefe3b9cfd4620ef3 100644 GIT binary patch delta 62 zcmcbcc{g)|1EZl?W@UjzVMVcil3B8`sdzYNySCk$@<1=24)6HriSKerUs_QDW)ctmWC$gi3XO&X66Rw TW~n9yX(ndLX(^lY8U5n{l&ljL diff --git a/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree b/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree index 757c5bba5b39eb451c9e128fde0190064669ea74..23cf452998c43c8395a76b88528e04e20d8fb73a 100644 GIT binary patch delta 62 zcmcbed^>rA8Ka?DW@UjzVMVcil3B8`sdZ;m|!{Ej59N5zSc-i>GyTy!UaQD@=_=dl?W1F Q5o`{(O;BQ4&s6IlQN delta 62 zcmdn4vt4I{52K+;zDZJXQFgMvahiddL6WJVd77z#sd0*_iKV5XiFu-drLmd0fw@_# Ri9wo)S#ny+=32&GA^=Kf5*Ppg diff --git a/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index 40c9a722bfe39c0911b19603569754a0698c6486..d9baf573df137beec2cf644a017f071087a78e93 100644 GIT binary patch delta 71 zcmdm$vMXhS2BVQ#W@UjzVMVcil3B8`sdzYNySCk$@<1=24)6HriSKerUs_QDW)ctmWC$gi3XO&X66Rw UW~n9yX(ndLX(^iv8JD~O0E}l7&;S4c 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 c5bea98e037794eedea1e5166a9f9a2a6ee42b58..c2f85cac8264a08f6a1f0cfb00fb885a39c94247 100644 GIT binary patch delta 62 zcmbQEFh^m78>69FW@UjzVMVcil3B8`sd68~zDZJXQFgMvahiddL6WJVd77z#sd0*_iKV5XiFu-drLmd0fw@_# Ri9wo)S#ny+=5ofRd;m5}5u*SA 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 588f4664be49f546bd09cc536338f6e026189703..bbb3746b8627f3ce049dea6f1e28d81134024ab6 100644 GIT binary patch delta 62 zcmccUe9?JB0;8c>W@UjzVMVcil3B8`sdWR`4fYMx|bWMr64Y0U~ZOb RVvuHHmYkNdxt_5@6aX}i5sv@> 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 8891f79df1489f027e91a0dbab4bcd3db22a1c9a..83854eea9709a93f13a0810fcb270822675b1c61 100644 GIT binary patch delta 62 zcmZ2&yV`a`0HdKSpawt6662? delta 62 zcmZ2&yV`a`0HdKvzDZJXQFgMvahiddL6WJVd77z#sd0*_iKV5XiFu-drLmd0fw@_# Ri9wo)S#ny+=0-*>SpZCg5u*SA 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 709052a86090e4b8fe707de42b32817703d6660c..e07b8e6cd748d8d9d71decdc60d24ae217d2a7b5 100644 GIT binary patch delta 62 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%0A*`TT>ZM_vX6M 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 Organisation and Communication -

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

+

Built on 2024-04-11 at 05:32 GMT

diff --git a/foxy/searchindex.js b/foxy/searchindex.js index f16e5c56e23..241f64bf610 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, "10": 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, "11": 24, "32": 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 bc7394d5fc2..6476bf4a13f 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: 4b0e0cda1a5f153863a16a65f0393b45 +config: 577e41c902d48d606136b67dcbcd93d1 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree b/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree index c1d923596be72f397d31008df35b8cade4f87b0f..fba7ada4e9db9e1e020b3892c845863cd1c217d5 100644 GIT binary patch delta 66 zcmeCO>ayBk#As-iSy^CFSW&ERoMvQUXli6^mYiZ{l9+5{nq-oglxAv_lw@I%Xl|Tr Vnrv!jYLu2T*^otSb0yayBk#As-eZ<178l%1@fYHDm`nVOhvY+;#VZe*C4l5AmOY?)$YmS~caY?)|i VYGG<-U}=^z*^otSb0yj} diff --git a/galactic/.doctrees/doc/contributing/contributing.doctree b/galactic/.doctrees/doc/contributing/contributing.doctree index 87dfffb1f5bfdb67f448fd19b2ec6b0d66dd051f..dacce06bacc4f21bf4101d9694e968e8751b0742 100644 GIT binary patch delta 63 zcmZ3vk8$Nb#tmDU4a_nt3oHsNiuH}tj4TXIjf~BbQ_M^flZ{N1OcImQOpTI~EG!bu Tjgw82P0dV=(l$S3c8LZ6w&@h6 delta 63 zcmZ3vk8$Nb#tmDU4NUS)l8TG6ll4n5Eli9pQ;f_KO;VCA T6Aeu*Ow9}|%{D(}c8LZ6u+kJO 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 2b880411e044bc8380aeee1272b0084a7aac8bf7..1e5b047ca5e79a030fc768a7ad22e801db91a7b9 100644 GIT binary patch delta 63 zcmdnf&$OqXX@eG{fmvo{fkk0OvA%Jdk%ghDk+E5FikV4bvXN<$Nn%o(sZmmrg+-#d Sak6Q$shO!!+U6+6q&5JFsS}?7 delta 63 zcmdnf&$OqXX@eG{fl0neQgKmsvVN+mv5{qJVzRM?Ws13xVPZuA1re>x_X`5phC8huXu|^aP delta 63 zcmeyeis{QLrVTob1}6C?NySCk$@;0L#zvN@iOI$mmMP{&hKVW37AD4)DMn_ACMn65 TiH4>Yre+3~W}9OeC8huXt1lCh diff --git a/galactic/.doctrees/doc/resources/resources.doctree b/galactic/.doctrees/doc/resources/resources.doctree index 1d9ad3d96941160df4f18d6f148e235e57daf6f4..13f6154904e215eef8e0d6fda4e46efec9adb44d 100644 GIT binary patch delta 67 zcmX@v!*a5RWrGT%fmvo{fkk0OvA%Jdk%ghDk+E5FikV4bvXN<$Nn%o(sZmmrg+-#d Wak6Q$shO!!T5|~F_7FzKuPgxF_!OA{ delta 67 zcmX@v!*a5RWrGT%fl0neQgKmsvVN+mv5{qJVzRM?Ws13xVPZE_7FzKuPgx7^%Nce diff --git a/galactic/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_control/controller_manager/doc/userdoc.doctree index 3e7090caa554153b6c4ae23919baaf1e59e98d39..5d436039ef84eecc514c32c0a884736f2d9c5725 100644 GIT binary patch delta 61 zcmX>abu?;&8>4|)W@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYIGRE`T0C%wyjQ{`u delta 61 zcmX>abu?;&8>4|qzDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5zGRE`T0CAcV5&!@I diff --git a/galactic/.doctrees/doc/ros2_control/doc/index.doctree b/galactic/.doctrees/doc/ros2_control/doc/index.doctree index e504e4cd25cf093900e90a09c28046a4eedc2ab7..7ab62dd2a4ad4bcc444a0456fe619c7e444acad4 100644 GIT binary patch delta 61 zcmdm_ze#_C9ixF+W@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYIJVqBW09Wi1VE_OC delta 61 zcmdm_ze#_C9ixFszDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5zJVqBW08!Nu<^TWy 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 4a0982b3c2fe343e269012ed291a1c1900376aa9..1cbb1ea7cf0eed2368e9f867b6e2bf79e5910326 100644 GIT binary patch delta 61 zcmcbcc{g)|1EYaiW@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYI0>)fp0Ef2|bpQYW delta 61 zcmcbcc{g)|1EYaSzDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5z0>)fp0D+(q`Tzg` 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 319279a443da198e5625d61019055261c3486b8b..44dff3e926e192275c7b2353f177d12dba8a55fa 100644 GIT binary patch delta 63 zcmZpl%h*1baf1h=fmvo{fkk0OvA%Jdk%ghDk+E5FikV4bvXN<$Nn%o(sZmmrg+-#d Sak6Q$shO!!+U5#IeqR85f)f7# delta 63 zcmZpl%h*1baf1h=fl0neQgKmsvVN+mv5{qJVzRM?Ws13xVPZuA1re>x_X`AyHUq=D}uO$?z delta 63 zcmcb)jq&C-#tn9i1}6C?NySCk$@;0L#zvN@iOI$mmMP{&hKVW37AD4)DMn_ACMn65 TiH4>Yre+3~W}EXEUq=D}sSXq_ diff --git a/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree b/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree index 0ead2a954ca159d2bad0bef0a7170d6d583faeca..f9ecf060acf1a3227a2d7c37ebe53170bd26f48b 100644 GIT binary patch delta 61 zcmcbebUSH-8KZ$&W@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYIG{&#`0D?gi(*OVf delta 61 zcmcbebUSH-8KZ$ozDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5zG{&#`0DLMFSO5S3 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 5a16115182ee334760580146ce44c72dfe88230b..f593f8bc4aa9d85cc3a495fdd6f6b956345d69d9 100644 GIT binary patch delta 61 zcmdn4vt4I{52JxuW@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYI8phos09_Um_5c6? delta 61 zcmdn4vt4I{52JxezDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5z8phos09OAJdjJ3c diff --git a/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index ebebd4558dbffdbd13ab10b9f23e359ad062b2ea..1a34946a91125dcb0063730c6e69ac1af0d416a5 100644 GIT binary patch delta 66 zcmX?WJWou&BcuVMgYyz6TJWc diff --git a/galactic/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree b/galactic/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree index b3e1da7199c88b7d114cd220835de66ac74c3df1..c7ab957d4e61b8828365363143b2957d5e57d1ce 100644 GIT binary patch delta 63 zcmZ2^g?Z%_<_!*v24uA1re>x_X`2fecfJ4sr_>bc delta 63 zcmZ2^g?Z%_<_!*v1}6C?NySCk$@;0L#zvN@iOI$mmMP{&hKVW37AD4)DMn_ACMn65 TiH4>Yre+3~W}6EbcfJ4sp}iDu 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 ca6e32d424c001b67afabd7d6a770501ef29e883..704f2cc55bb789d931285b6c54c1b9f1e475f537 100644 GIT binary patch delta 61 zcmbQEFh^m78>4|)W@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYIGR9?m07*^~fdBvi delta 61 zcmbQEFh^m78>4|qzDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5zGR9?m07Ewt1^@s6 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 7f13446ef50b0d82f76030f5a61bc0ee091a5b38..e564e863bdff77deba1ba9b5f5a528c9e8bf5885 100644 GIT binary patch delta 61 zcmccUe9?JB0;7RhW@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYI35<>k0C%Vp5&!@I delta 61 zcmccUe9?JB0;7RRzDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5z35<>k0CABLmjD0& diff --git a/galactic/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index d49c40ee7944e18ac4e7babb02836cf2a3b2aa8f..15e06400d6407370383af73cb902e37467c73448 100644 GIT binary patch delta 61 zcmaE&@I+xl7^8t%W@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYIHpY8=0B=4MX#fBK delta 61 zcmaE&@I+xl7^8tnzDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5zHpY8=0BI)@?f?J) diff --git a/galactic/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree index 32b97b3748701c739cd6397520f12d7ae7568654..6746db1ce048f13d598c3ce3d284046177aefb98 100644 GIT binary patch delta 61 zcmZqIYuDT0$7o=dSy^CFSW&ERoMvQUXli6^mYiZ{l9+5{nq-oglxAv_lw@I%Xl|Tr Qnrv!jYLvFQjKQuM=GW delta 63 zcmZpfz}PZ@aYF#3fl0neQgKmsvVN+mv5{qJVzRM?Ws13xVPZKKm=fXu 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 c77a3207dd5f975e0612ba9cd8f3a5c4aad9fa4d..a5bf99c94c0a8f33c6b84d1fe1a946bd5f79613f 100644 GIT binary patch delta 63 zcmccD&UCMxX+s2~fmvo{fkk0OvA%Jdk%ghDk+E5FikV4bvXN<$Nn%o(sZmmrg+-#d Sak6Q$shO!!+U5?%uqFVY;}jnN delta 63 zcmccD&UCMxX+s2~fl0neQgKmsvVN+mv5{qJVzRM?Ws13xVPZpF 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 df0fa59a8d6604403522fb64278dffe8d07f09c6..7e517f5b3b9c8d01b4a9b76a2303046dfb3c8d72 100644 GIT binary patch delta 61 zcmdm`uuEZs7o&k$W@UjzVMVdNahj2Zp{bFvS#pY*Nn)~*X_84|QktnzQjqPcOh QX|k!AsZrYID#inR09b+&-v9sr delta 61 zcmdm`uuEZs7o&kmzDZJXQFgL^s;RM&Wolxwv4v%dxshRFO0tECv1N*pS)xfwvSp&7 QsfDSTfu-5zD#inR08(obWB>pF diff --git a/galactic/.doctrees/environment.pickle b/galactic/.doctrees/environment.pickle index 43f8d62076d035946bb310d15cc80edfd92a7f43..6c23eb43ae09dbc9b4ccd2059a185af8f157c6e9 100644 GIT binary patch delta 13836 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 Organisation and Communication
-

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

+

Built on 2024-04-11 at 05:32 GMT

diff --git a/galactic/searchindex.js b/galactic/searchindex.js index 3ebc9f3be5b..bb19c5851b7 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, "10": 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, "11": 23, "32": 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 24307970292..0173c1023f0 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: 1f6bf2e81e232c179e4f8c6f63fdae8a +config: 2e5a62b13559da367ff1220285d7b0c8 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree b/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree index 2018d637865a05c51377a52cace7aaa0500011d2..cec9191829d7f7ed0ac06df453a5b018814bb2b5 100644 GIT binary patch delta 3360 zcmeHJZEO@p7qLG1@r$+b|@md^qfL}Q>I z&|;)OPzr1Mf=RVC(L@QM&8m|SWAKM!)I|8DAe2^ALX?CLV+4XY*CK5y@uwQXZg!I0 znSE#8=b7i3_u$oe=daG|riilIP3xWKHa?$cW47FNmsQtPFEc1x;Vvg`4PHtu>QI+p z+o)#Dz&2%h(DQ&Y*26uzzXOFwLrqbzA!5+D=r#zmlA}$_1~MUay6l()a*E{!o!D{e zV#ZwCFc@WqH~;N&$SRZ+zcjN_hBs362HlBUCbfxSG21a*;tqt6ECxOM<;DmhqT8g@ zb{vK+5eOoC(IT%eUYAB<*vO|W-ykp(%hP>5D^30XEz8rhTKqA%e$2@AijIg^o~ZSU z=6slOr%t~-ku9OHzo%|N3bNo*1dT@~9AB%f0DKKCfaY{H>K(4$tP%s8hG{#LVF&sj zRhRgOU)(Q?Us@g<6&-+4x6HU}TZEd1?GWsm5IGbq@e1Bc@k$yRRfa)zJ1s#=DAKb!^G+X9UdYR3r?T-bsM<}!;wb%$2wHLh(6I~F09feqI&D0Pw) zCA_L@!Bm2uCU!oypfe;>*pjQz5sAjV*wz-WXin&E&(n`>9V?;x1eu>A|N6_V0f^X2 z)bH3?h7@Yqw#x=u=1#~HX#ja&CTneQ}C5FA09~yK^XiZ4Lp~Mn8aTxShD`no{ zwkCxTOikBzOvd1NTEK<%?+0_!%xS~XU+vADeA2(Lw^$ko3Nby<6rm(;y3Dl<$EL19 zT?bm8LB(QQyrh~!isV)U)sv(pUN)@x8+peL)DMt%m*wRjJCK_uZlD5;VUM zZi01dl~X#6V> zkf(~^JHn6*UIhhe_&a`cgYs@FkX?F|cekmFk!BJ$bU}YYE{E98)D-@Tugw(+d+PQz zgTt!=>LrP%U(pLB{^le#Ec4xoP=+KC%sVHks?6(u*L6v9lFm;BW#Sc+kNWd6=LDz4A3W(2&gm`SJG8_5L zzXE3o`bllbBx03%-#?m!klE%F+Swe* z#RG*Ow7nK+fX#0BHqg@BuGNI%s1n6K zcnGGbsMQS|Vj?d|G(tn0jZQR>!aqzjlph8mEwmEi0|NyO1`~pFZv{!iPh%9F&CYHz zGiS~@-}%0oA8zJ%-OTSckU`hd>KC4GteIg|)zsF~>Y6%Iqq91?Lbom5s=%xy3_y1QZq=NG?V2ug9qJmC877=44mi;Fq!Pr; zfYUeA+cZ64S&s0?uv|;0#P)`MDTCu{ahi82(U3_d5;NDZb9EEukicWU7SB}v*)Doo ze2bq$T5?AFE(W4rX-R`OYj?W83Lf7-)xe zL-JxT?_IQT|#V1sm>f5iuOmAcpF!@hb@=t)DTdnKHiD?W$APYVYw!S<}U(xynkfGamZyM(-bdWhcV;4)_hozx`@Q5URF?V}943Vx&04bseUg z#I$J&DSvPEBIIw*AA_;3L(y0@jv4W;J<}SojD*DmK(1>s>X@*lQz}dq&#}&Sg)qlu zmZjSU)gk((Rsh{oah7x!s8wF)%5$QS7Gda_s>HBCAu0z2@Opv@7la_#I?)}$;O|g@ zu)0;z?`cVrC+jgJN@z5LlW?~r8SsFI>GvI)oQa!f!ni4NxnKC{u2NWj0R{P<#dxg5 zn-=1^*dx&Y>!!{GWL8QnOF-*VB>q)4nveLA)uEGk*BUg7 z_m<%eUyou^H}sx~Xn)_H9YT=#91_$h3?C4obv6W}_k;#-zZh7M4D1rmTNx}s9Z(+< zZw80@%=pn!zURTM$#O#~fR3%x()reDp%eOFV3rHB<1zY%$EV1LWAJ^W9Or{el?nvg zw`+AHxgEY85xG5eDliVi)odZQ%WtUd@X zcwbOWlSY2?a#S(eGKeFXU&&U~0KXkoe;NbYJUPZk1_wWpM3&|Uw0Lr%m_5)FHZU(8 zuP})po2)7U-rJw_w`-=Fkf3RYmfGPO=9h_5moWRUpM? z;!0{-#7-*S{`I(w@1PjIO*png=-m!;T`(R54YO}D}a&fc#)H>5=A!H<;- IDmG2{9hXl5u>b%7 diff --git a/humble/.doctrees/doc/contributing/contributing.doctree b/humble/.doctrees/doc/contributing/contributing.doctree index 4a140d9e537e795e4dba3432a47d9f0f75fe192c..996943109a16939cb31a6e96695ae4f00863c57b 100644 GIT binary patch delta 64 zcmaERl=1CR#tq?&hGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ TiHU|Oi6+TLMh2TZ7*i7g-@FvW diff --git a/humble/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree b/humble/.doctrees/doc/differences_to_ros1/differences_to_ros1.doctree index 298fcaf1466e1170c62e9dc75ec49954996b41b6..cee9b007c2f6f54427185df9c4378c5b6685f746 100644 GIT binary patch delta 64 zcmey+$Mm6(X@eG{p;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 TxpAVInX!Snk=f>GM$t9^vbPg9 delta 64 zcmey+$Mm6(X@eG{p-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} TVxnP6qDiumk-_F@M$t9^ybBZA diff --git a/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree b/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree index 78ecbe2a79a95814e4ce1a090da7b9fd66202dbf..e23f77a2615c9c5bcb1977b920dc229d12ccf3b7 100644 GIT binary patch delta 129 zcmaF3mFeMDrVSR1MrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5sZfAU5NuFMb&3md<=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ hiHU|Oi6+TLMh5zm_i@N>ZfAU5NuFMb&3md<zYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ UiHU|Oi6+TLMh2S`8Ch=u0L*+8X8-^I diff --git a/humble/.doctrees/doc/gz_ros2_control/doc/index.doctree b/humble/.doctrees/doc/gz_ros2_control/doc/index.doctree index d6ccc5a4822ec45d986e2c36b58e51b1df4089ce..ed6858f4fa7486a63463f76a72fa7bb4df64182f 100644 GIT binary patch delta 123 zcmdnIf@$*#rVR#+hGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ fiHU|Oi6+TLMh2S`8Ml;?u5EH6qv+=7iW|}ZXu>80 diff --git a/humble/.doctrees/doc/project_ideas.doctree b/humble/.doctrees/doc/project_ideas.doctree index cf2258b2287e53433985ee6a9a007b38477dec74..c455d2ed785030622bfa04d722c3cabce052766e 100644 GIT binary patch delta 64 zcmZ4digEEP#tk}*hGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ UiHU|Oi6+TLMh2T>8IKhM0K@hamjD0& diff --git a/humble/.doctrees/doc/resources/resources.doctree b/humble/.doctrees/doc/resources/resources.doctree index 6acbc31049ea3bac5bb58893065b045be1b1e3fc..cc0fca5be030086c95f9a8b425c47991fad384af 100644 GIT binary patch delta 68 zcmZ41%et(Wb%P3{p;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 XxpAVInX!Snky&#n delta 68 zcmZ41%et(Wb%P3{p-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} XVxnP6qDiumkwJ4PzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ TiHU|Oi6+TLMh2TR8HJMo--HxZ 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 4aeccb4e8a7367425f63a2c4b39a6b6fd84b0008..4deb7fa65da875094fe47d8b1e7a5a079d953bf2 100644 GIT binary patch delta 64 zcmX^4nDOLe#tm+ahGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ TiHU|Oi6+TLMh2V98G{M{*lrY( diff --git a/humble/.doctrees/doc/ros2_control/doc/index.doctree b/humble/.doctrees/doc/ros2_control/doc/index.doctree index 4fa9283888b0bf1809a7bcbff2b2a8d994e6189b..bb25e445f94687df33c15f498efdd75e88cc3325 100644 GIT binary patch delta 62 zcmaE2_{4C79iyRHW@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=6uFdaR7l15_tds delta 62 zcmaE2_{4C79iyR1zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=6uFdaR7>96C3~l 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 e1a99c2293e080ec220e7c911120839810aab6ff..1552cc486b308dacfeea4e7488049cb451d8a8ac 100644 GIT binary patch delta 64 zcmcchoblFk#tnXqhGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ TiHU|Oi6+TLMh2Vf8Ka8;=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zm{aKwi?`3=*1OO5n73}~3 diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_interface_types_userdoc.doctree index 26a18e5c137987f6a304fbdab18b61bfb476ecdc..5671d202d53b1e35799dcf7904f67dcf5daf4604 100644 GIT binary patch delta 69 zcmdmgg>nBC#tlJ?MrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5snBC#tlJ?Mke_tNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zmPjY!|KEqg?0RTLf7PtTa diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.doctree index 30b12136226ba2ba55933084ccb477a18db6011e..a3f6b9f5a8c8c6127af62b47ff8cf7df003eb088 100644 GIT binary patch delta 64 zcmZ3|z__G=af1V+p;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 TxpAVInX!Snk=f=##?5vBjG7Yy delta 64 zcmZ3|z__G=af1V+p-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} TVxnP6qDiumk-_Fd#?5vBmF^Rz 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 b03e25a792fbd107c3eab2f5061eb037c2f69d04..80e1e83a71cd928501e6ce8b5f38339d8522ea38 100644 GIT binary patch delta 64 zcmZo~WNB|?+2F@$XqH)7U{P36tZ!~$mTGC4l9-g3Vr*oVW|?YenPiY`WNKt#WNBz% TZk%XlW^7fuAgBTM6 delta 64 zcmZo~WNB|?+2F@$Xp(P|R9uvutZ$l_oRVUal$>giY-pBhl4fXbYG|5dYH4O{W@ccL Tm}r=iXp(GXWU#rOk>fuAjBFF7 diff --git a/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 385e5eb569b4acfadcae6e8793ff4adc8729ce36..1f7db9b4cea4cb36079f30db326090b0783e586d 100644 GIT binary patch delta 64 zcmezKh4If9#tn9ihGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ TiHU|Oi6+TLMh2Vn8F?!K_ZJk- diff --git a/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree b/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree index 910d466e783f7180cc8aa5231f8abc34d779d9af..0c5247385e302fcb2f9b56ad3b813b6ceb92fc2b 100644 GIT binary patch delta 69 zcmX@u!F;fTd4n0Fky&PCfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 ZxpAVInX!Snk(vJF37f<>*E1eE1ONq576SkP delta 69 zcmX@u!F;fTd4n0Fkx9NuQgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} ZVxnP6qDiumk%9i?37f<>*E1eE1OO4#7N!6I diff --git a/humble/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree b/humble/.doctrees/doc/ros2_control_demos/doc/run_from_docker.doctree index f2651545748ca16965ccccc40fbee4382a646eda..2cae6a2bdbaebd48ae1484bf958cd3a5581c7046 100644 GIT binary patch delta 62 zcmeB_>Xh2h&thnnSy^CFSW&ERZeW&bX_=Ckl$c^{WR_-`YG|2ckZfdXWMO1!Xkc!f RXl7Xh2h&thnjZ<178l%1?^nwXrDVv>}cYLIMbmTHn_Xl`m~nq+EeW^86=V3L?< Rn38CcY-D7x`2dS22LNZ&5~TnD 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 ef28a25d393cbb0a66297f6ec81617315e42704e..43432744fc15bfbd01340350836ea9f1730a1d7c 100644 GIT binary patch delta 76 zcmeBfWbJNb-4MlSWR_W3U{P36tZ!~$mTGC4l9-g3Vr*oVW|?YenPiY`WNKt#WNBz% gZk%XlW^7giY-pBhl4fXbYG|5dYH4O{W@ccL gm}r=iXp(GXWS~EZUwpExfN1j$#_c;8886!b0E#>o`~Uy| diff --git a/humble/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_10/doc/userdoc.doctree index 091c6abe683bebb5c82b275fd9ffbb1808802a59..9ff3eff9cd058a897aa7d78a29cc804e7f20cc34 100644 GIT binary patch delta 64 zcmaDhpXu3rrVTNShGv?* delta 64 zcmaDhpXu3rrVTNSh9>zYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ TiHU|Oi6+TLMh2UE86*1u%gz*+ 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 05b62813a72206da0fb26f23c538136379fba55e..23bb8ed29ca13e6cea1c6340ae96c2772fce7010 100644 GIT binary patch delta 73 zcmdnm#k94HX+sR7ky&PCfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 dxpAVInX!Snk(vHvLjm#0zgwg?A7CtP1^`?t7W4oB delta 73 zcmdnm#k94HX+sR7kx9NuQgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} dVxnP6qDiumk%9hXLjm#0zgwg?A7CtP1^{b07ncA4 diff --git a/humble/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_12/doc/userdoc.doctree index cfc217f1d21e2511a230a9ab322b9b318fa15949..683c5b7075a29cfd34ad4bd14ab5a18cf2ae267f 100644 GIT binary patch delta 69 zcmbRHk7@2drVTNSMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zmCvb^xUdmXp7XUy$7M%b9 diff --git a/humble/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_14/doc/userdoc.doctree index 7175796cdd6f630acf997d90c11e71fbb8625cc1..62979d2e9719340b99cb7e30e38363fd2c6e5a39 100644 GIT binary patch delta 73 zcmeBQ!PLKkX+sR7ky&PCfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 dxpAVInX!Snk(vHvL4NVcwR~cmcQb}e0su~26|(>U delta 73 zcmeBQ!PLKkX+sR7kx9NuQgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} dVxnP6qDiumk%9hXL4NVcwR~cmcQb}e0sviW7FGZN 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 05469015d849acf40ffc9e6c34545d5fd71242f9..e665486fd51aaf48f36171d9a14021323b3bfdd8 100644 GIT binary patch delta 73 zcmdn8mTAjcrVUYyMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5sz!cTVHkyqEF&6aa0t7k>Z% delta 73 zcmdn8mTAjcrVUYyMke_tNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ diHU|Oi6+TLMh5zm9i>z!cTVHkyqEF&6aak07$N`w 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 534c5a7da81310f0a0e6fe5a06afd960ce417642..34db1b2eec371014d10bd94c70c36b3608e37a0c 100644 GIT binary patch delta 73 zcmZ4UmTApfrVUYyMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ diHU|Oi6+TLMh5zm1^L7$Z{-!;yo2$}766tR7z_Xa diff --git a/humble/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_4/doc/userdoc.doctree index 0c451bb1558e6e6872b3fdc18586d7c26b1cbf23..e902e681c895f121b67d9dfc6b0e744db936a3d4 100644 GIT binary patch delta 73 zcmbQWoN3l_rVUYyMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ diHU|Oi6+TLMh5zm75K#`_wtEu-of~2A^>E(7Z3md 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 781cbd73ba55609d9b02b372de23fb5f9e885a28..561635248bfb312d5e728851609e6f8b128af8c7 100644 GIT binary patch delta 73 zcmdmSfN948rVUYyMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ diHU|Oi6+TLMh5zmC&s8w=3T(Ec`sx2JOGP@7ybYM 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 e49227a4ca5df76d1b563cc47f77f0c29cc56d0a..f4ab4424a04f32698df3a9de7ee5f4f4cf0a3b5b 100644 GIT binary patch delta 73 zcmZ49%(T3jX+spFky&PCfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 dxpAVInX!Snk(vJFKpyeQ0=%M|cQC%M2LMN473u&0 delta 73 zcmZ49%(T3jX+spFkx9NuQgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} dVxnP6qDiumk%9i?KpyeQ0=%M|cQC%M2LM)Y7L5P^ diff --git a/humble/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control_demos/example_7/doc/userdoc.doctree index f4823295fcd380a655598bc9d141fd3dcc00066f..7e76c184344ef4c1b69d10a24f093377250b75e0 100644 GIT binary patch delta 73 zcmaEHknP1mwhd8?MrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5sVV9Z)DuQk&)4SJ^-CH7ncA4 delta 73 zcmaEHknP1mwhd8?Mke_tNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ diHU|Oi6+TLMh5zm?>VV9Z)DuQk&)4SJ^-vl7&-s| 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 b57f3c61d1124b618fd7e5db2b4a53658a470631..da79cd79dcfcf5fe100aac5b636483c167165dba 100644 GIT binary patch delta 73 zcmX^2mGRtH#tl)7MrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s<*77oq?F delta 73 zcmX^2mGRtH#tl)7Mke_tNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ diHU|Oi6+TLMh5zm5Aujlo?0cfc`u`2B>=Tb7)1a8 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 6fc64da5c5b96334d3840b5aad43579a8d7265c7..47dcf2bf904fda3487a15ee409c115d8610aad2d 100644 GIT binary patch delta 76 zcmex4kLl+;rVUYyre>Ly1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ giHU|Oi6+TLMh5yR`N@+%Mu<#4$Irca9pmX<0Pa~D9{>OV diff --git a/humble/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/ackermann_steering_controller/doc/userdoc.doctree index 3150d47d49efae42ed396f3e31ba2c904bd0736f..b2afa6875f5359820b2b2190a88ace9af149b44e 100644 GIT binary patch delta 71 zcmeB)>WSJA!)RodSy^CFSW&ERZeW&bX_=Ckl$c^{WR_-`YG|2ckZfdXWMO1!Xkc!f aXl7WSJA!)RoZZ<178l%1?^nwXrDVv>}cYLIMbmTHn_Xl`m~nq+EeW^86=V3L?< an38CcY-D7hKlviR=;Rn-xy=U|y|n=})D`dm 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 bbd3765b6db016319357a4433c975ed79cfb19c9..433ef96f7211e8ec1dd0bc84b9c6996e6a040bbd 100644 GIT binary patch delta 127 zcmaFg!2G^}d4mt5p;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 jxpAVInX!Snk=f>2My(FgwN0*N)R`P#EVfyyE7S}C&L<_m delta 127 zcmaFg!2G^}d4mt5p-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} jVxnP6qDiumk-_F#My(FgwN0*N)R`P#EVfyyE7S}C4ihH@ 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 dd9da3f5e7fcbdfc8a122263d7c178ad94b260dc..33626e2bdf4600a96cfd198f84d35d297a16defb 100644 GIT binary patch delta 67 zcmX@;d(d}71f!8zW@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ WqM4bofw_^H{$xQx(arN2l~e)XS`%sj delta 67 zcmX@;d(d}71f!8jzDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb WVM?M&vXPO2{$xQx(arN2l~e)j-4qP~ 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 af4122f116e77d830b0777fa569542f2164deb02..30e878d11800ecb51ab7f7b786faad13e7947f3c 100644 GIT binary patch delta 127 zcmeBK&fK${d4mt5p;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 kxpAVInX!Snk=f>2#??nj*EYG9QD^du9om~W9KXX20LvjK#{d8T delta 127 zcmeBK&fK${d4mt5p-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} kVxnP6qDiumk-_F##??nj*EYG9QD^du9om~W9KXX201FK%4FCWD diff --git a/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index cf1a5b5527d39e1d6cdaa5ba69a0dd32ef0713c2..8975ff96670efd519d3e7dfe81a80cb74d0d34f5 100644 GIT binary patch delta 67 zcmcbVaw%nl2BVQ#W@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ WqM4bofw_^H{^UX)(argcj|~9q))avN delta 67 zcmcbVaw%nl2BVQlzDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb WVM?M&vXPO2{^UX)(argcj|~9%SrsGz 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 32d6a31afd0a74c4d6a99ea464469a50e9d34b9e..e84a0f38b3e012343802bf99706bd1e9b2aa828b 100644 GIT binary patch delta 64 zcmZ2=jd|5I<_!*vhGvzYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ UiHU|Oi6+TLMh2S;8F#(}0K?Z65&!@I diff --git a/humble/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/effort_controllers/doc/userdoc.doctree index a9b1d07c277e2f09069d925f151e335c37389b76..008f3b5badb1baf6ce22bebbf63a1532ddb540f3 100644 GIT binary patch delta 62 zcmbQ|FwbFw8>69FW@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=5og6asX)!5>x;H delta 62 zcmbQ|FwbFw8>68~zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=5og6asYB+688WA 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 2c189974cb777632f436ddb1629aa92052e63ec8..631c29d515e84cb03161692b93d6afcb180866c1 100644 GIT binary patch delta 127 zcmcaSf${PL#tjLKhGvlL;wH) delta 127 zcmcaSf${PL#tjLKh9>zYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ kiHU|Oi6+TLMh2TFGPYZju5I!}MzhHY76zNw+b-b(02Op6iU0rr diff --git a/humble/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index 38504fcab3f03684feb583895cce36945f65e99c..43d26200d6e5039e0384e17be13a48937ad04926 100644 GIT binary patch delta 67 zcmX?`ayDf{7^9I{W@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ XqM4bofw_^H{^U+6gUve_ry2kN_p%h> delta 67 zcmX?`ayDf{7^9I%zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb XVM?M&vXPO2{^U+6gUve_ry2kN1Vj~t 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 6a8bcc451a449770bf7adce0a803f986460f6129..bc345f6da9f2d2cfd01da644c1a096f535574afa 100644 GIT binary patch delta 62 zcmbP~Gbv|-2cw}`W@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=1RtyCIEP85}*J8 delta 62 zcmbP~Gbv|-2cw}$zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=1RtyCIErG6GH$1 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 fe9e5f60ce0ca1b11f61caa7d2957e94dc20f4cd..46687cd812f4bc71e38400d448b5e42c5edc92c6 100644 GIT binary patch delta 127 zcmX@#$aubyaf2VDp;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 jxpAVInX!Snk=f>Y#x7&hwN0*P)SZ0SNPTmksUtT4wU;Hm delta 127 zcmX@#$aubyaf2VDp-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} jVxnP6qDiumk-_GA#x7&hwN0*P)SZ0SNPTmksUtT4^>il# diff --git a/humble/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree index b0ae372dce12ed132f577c29f93e0c61b31c359f..4346bae220b65c9b12b59699bde4fc32a574d06d 100644 GIT binary patch delta 64 zcmZoYz}R|#aYF#3p;=~Sfkk0OvA(&1S*oRFN@7xCim{Pdnq{h?Ws*U%k*Se|k)@%5 TxpAVInX!Snk=f=(#+En$pUD$d delta 64 zcmZoYz}R|#aYF#3p-H|;QgKmsvc73za!QIxQgW(6vY}b3Nt&U#siA3-sim2*nVEq} TVxnP6qDiumk-_Fh#+En$sT~ve 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 59520af7a919711170b1f5e0c39f252d3a1e65bd..c2046bb2f79ed26f0a56480a3dce4c9a2efe0e7f 100644 GIT binary patch delta 69 zcmZ2_m1*f!rVVP0MrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=#H6-WR8 delta 69 zcmZ2_m1*f!rVVP0Mke_tNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zm{Y&jPPiN#?2>>F>73%;1 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 4e689abfd5b16bacfa3b6d1070934acfb1045286..791b051e10d817945da173cc2a311c1d6669e21e 100644 GIT binary patch delta 69 zcmX@Img&e^rVTZWMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s7PbHY delta 69 zcmX@Img&e^rVTZWMke_tNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zm<6G@Fzh%5W1pqem7g+!R diff --git a/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree index d2dbd65b414ecc80be17bef0f86e60f82aa5c294..ee90a7a351aac31be96d12be19dde5106772918b 100644 GIT binary patch delta 69 zcmdmYgK6IlrVSB{MrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zm9eHdvA7iXo1pqtL7Igps diff --git a/humble/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index 2241672368e3861895b795e6be2aad2bf42f63ab..546e9b78e1f1062a02bf3cfbb81459cd86b62b03 100644 GIT binary patch delta 62 zcmaFj@Wf$*7o(wBW@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=4!^5asZ3r6Dj}z delta 62 zcmaFj@Wf$*7o(v`zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=4!^5asZVz6U_hs 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 cd87579eac30b16b0cff9590c44fa47700c2baf7..091e06ec26d8179584e32054388411f408f833be 100644 GIT binary patch delta 131 zcmbQ9H$87d5TlVnX#Fffk|Sb iVM?M&vXPO2{^YmHdYd;fF4H7a?_@qz&CL(B&A0){bST;Y 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 7f5093fa41f9bc5cc97be65a081739455add82a9..059f103885cbd36cb8656e496620b9ef501c4b9a 100644 GIT binary patch delta 62 zcmbO)H(zc;0;8c>W@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=824byZ~Q@5*z>k delta 62 zcmbO)H(zc;0;8cxzDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=824byZ~t062AZd 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 39da904ffff2d199e26f30d22a03f140a50e803b..d5e3f3d6580c0631a7d265fee83e437ea5576f60 100644 GIT binary patch delta 69 zcmeylo$2RxrVUYyMrN6n1r~)B#roz3W~r8zDTzsmDaJ--X_l#mmPrQ5My5s=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ZiHU|Oi6+TLMh5zm`-E*bpJX(c1prJ_7OMaN 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 350fe282af60ea08fa4e4e95efdebd801c1fa1b1..98c8b777334fc26657d11cb986cbb1d4a6bbd396 100644 GIT binary patch delta 62 zcmbQMF;`=Q2cw}`W@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=1RsTLI7R65*Gjf delta 62 zcmbQMF;`=Q2cw}$zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=1RsTLI7tE61o5Y 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 9bc2535f026998cb493d1a5f54b26c5e1d096b1c..4ae68a0bdca898623a5a9e97325b878c340c9176 100644 GIT binary patch delta 71 zcmaDI_&RVy6r+(@W@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ bqM4bofw_^H{^Wjs(aAsAH8!7QR8j{3RoxaV delta 71 zcmaDI_&RVy6r+(zzDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb bVM?M&vXPO2{^Wjs(aAsAH8!7QR8j{3Wb78s 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 c6e770ca0f8fb4dc5d9aabf39fb76ad900c6c47c..a4e2dd6a9b2931db888f8a166344df7c786985d0 100644 GIT binary patch delta 62 zcmaFj@Wf$*7o(wBW@UjzVMVdNxq(@#rDaNDQeuj+ky)B$s-b0)L9&slk%f_^p@F$^ RqM4bofw_^{=4!^5asZ3r6Dj}z delta 62 zcmaFj@Wf$*7o(v`zDZJXQFgMvX<~9pib+y(szI`$S*l5zp}DD{X_Bd>nX#Fffk|Sb RVM?M&vXPO&=4!^5asZVz6U_hs diff --git a/humble/.doctrees/doc/simulators/simulators.doctree b/humble/.doctrees/doc/simulators/simulators.doctree index ae9300e6a776577f625a24f95052f7a00ea28f7b..98193cf9957b867e7f5fd082d50a0a7d51c41c31 100644 GIT binary patch delta 62 zcmZoNZ!+JY#%O4kSy^CFSW&ERZeW&bX_=Ckl$c^{WR_-`YG|2ckZfdXWMO1!Xkc!f RXl7}cYLIMbmTHn_Xl`m~nq+EeW^86=V3L?< Rn38CcY-D7xIh;{j3IJF&5$yl~ diff --git a/humble/.doctrees/doc/supported_robots/supported_robots.doctree b/humble/.doctrees/doc/supported_robots/supported_robots.doctree index e89e5b91791f72d659fd44e394a472bcdd927594..6f9f6bb4b7bf65b8098b5f1146a0ee0ff1befd0e 100644 GIT binary patch delta 64 zcmX@QgYoDN#trd|hGv5C8xG delta 64 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 P)n+sTu{L{#Hi!WLPa-7a delta 113 zcmX?ko$=&##tmkSh9>zYNySCk$@->=$tfu&Ny(`O$%baBCTWJ|riP|Trj};LW@ZK^ ziHU|Oi6+TLMh2VH89jm+4JL00ZsIkZ(mJJaO6`;kg{(Z*$s3c!CWnSh1j+@5N>64A P)n+sVu{L{#Hi!WLcQGY` diff --git a/humble/doc/acknowledgements/acknowledgements.html b/humble/doc/acknowledgements/acknowledgements.html index 0c64a531d95..68d2a698ebe 100644 --- a/humble/doc/acknowledgements/acknowledgements.html +++ b/humble/doc/acknowledgements/acknowledgements.html @@ -182,13 +182,13 @@

Maintainers -
+
- 8616 + 8419
-
+
@@ -209,13 +209,13 @@

Maintainers -
+
- 5628 + 5621
-
+
@@ -223,7 +223,7 @@

Maintainers
0.70
-
+
@@ -421,15 +421,15 @@

Maintainers -
+
0.90
-
+
@@ -450,23 +450,23 @@

Maintainers -
+
0.23
-
+
- + - Fetched on 2024-04-10 03:27:13 UTC + Fetched on 2024-04-11 03:26:31 UTC