From e260ac8e8b0d854a7b0dce989cc47e2ff888ad92 Mon Sep 17 00:00:00 2001 From: christophfroehlich Date: Tue, 9 Jan 2024 15:15:46 +0000 Subject: [PATCH] deploy: 11916f841bc091c7c0ef44a6c80541e245bc4855 --- 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 653323 -> 653323 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 681686 -> 681686 bytes galactic/.doctrees/index.doctree | Bin 28609 -> 28609 bytes galactic/index.html | 2 +- galactic/searchindex.js | 2 +- humble/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1189207 -> 1202353 bytes .../doc/contributing/contributing.doctree | Bin 26269 -> 26269 bytes .../differences_to_ros1.doctree | Bin 34672 -> 34672 bytes .../doc/gazebo_ros2_control/doc/index.doctree | Bin 39707 -> 39707 bytes .../getting_started/getting_started.doctree | Bin 48743 -> 48743 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 25466 -> 25466 bytes .../controller_manager/doc/userdoc.doctree | Bin 30138 -> 30138 bytes .../doc/ros2_control/doc/index.doctree | Bin 6372 -> 6372 bytes .../doc/hardware_components_userdoc.doctree | Bin 21564 -> 21564 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 28562 -> 28562 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 49806 -> 49806 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 24375 -> 24375 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 19525 -> 19525 bytes .../doc/userdoc.doctree | Bin 9921 -> 9921 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 18426 -> 18426 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 8657 -> 8657 bytes .../doc/userdoc.doctree | Bin 12877 -> 12877 bytes .../gripper_controllers/doc/userdoc.doctree | Bin 10387 -> 10387 bytes .../doc/userdoc.doctree | Bin 12972 -> 12972 bytes .../doc/userdoc.doctree | Bin 18101 -> 18101 bytes .../doc/parameters.doctree | Bin 32630 -> 32630 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 8609 -> 8609 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 6157 -> 6157 bytes .../supported_robots/supported_robots.doctree | Bin 20670 -> 20670 bytes humble/.doctrees/environment.pickle | Bin 3290665 -> 3303811 bytes humble/.doctrees/index.doctree | Bin 27593 -> 27593 bytes .../acknowledgements/acknowledgements.html | 721 +++++++++++------- humble/index.html | 2 +- humble/searchindex.js | 2 +- iron/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1189207 -> 1202353 bytes .../doc/contributing/contributing.doctree | Bin 26269 -> 26269 bytes .../differences_to_ros1.doctree | Bin 34672 -> 34672 bytes .../doc/gazebo_ros2_control/doc/index.doctree | Bin 39707 -> 39707 bytes .../getting_started/getting_started.doctree | Bin 49733 -> 49733 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 25452 -> 25452 bytes .../controller_manager/doc/userdoc.doctree | Bin 29330 -> 29330 bytes .../doc/ros2_control/doc/index.doctree | Bin 6372 -> 6372 bytes .../doc/hardware_components_userdoc.doctree | Bin 21564 -> 21564 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 28284 -> 28284 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 49791 -> 49791 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 24291 -> 24291 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 19485 -> 19485 bytes .../doc/userdoc.doctree | Bin 9921 -> 9921 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 18410 -> 18410 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 8657 -> 8657 bytes .../doc/userdoc.doctree | Bin 12877 -> 12877 bytes .../gripper_controllers/doc/userdoc.doctree | Bin 10387 -> 10387 bytes .../doc/userdoc.doctree | Bin 12972 -> 12972 bytes .../doc/userdoc.doctree | Bin 18101 -> 18101 bytes .../doc/parameters.doctree | Bin 31949 -> 31949 bytes .../doc/trajectory.doctree | Bin 38596 -> 38596 bytes .../doc/userdoc.doctree | Bin 43498 -> 43498 bytes .../position_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/userdoc.doctree | Bin 9197 -> 9197 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 6157 -> 6157 bytes .../supported_robots/supported_robots.doctree | Bin 20670 -> 20670 bytes iron/.doctrees/environment.pickle | Bin 3291293 -> 3304439 bytes iron/.doctrees/index.doctree | Bin 27549 -> 27549 bytes .../acknowledgements/acknowledgements.html | 721 +++++++++++------- iron/index.html | 2 +- iron/searchindex.js | 2 +- master/.buildinfo | 2 +- .../acknowledgements/acknowledgements.doctree | Bin 1189207 -> 1202353 bytes .../doc/contributing/contributing.doctree | Bin 26269 -> 26269 bytes .../differences_to_ros1.doctree | Bin 34672 -> 34672 bytes .../doc/gazebo_ros2_control/doc/index.doctree | Bin 40408 -> 40408 bytes .../getting_started/getting_started.doctree | Bin 49811 -> 49811 bytes .../doc/gz_ros2_control/doc/index.doctree | Bin 38642 -> 38642 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 30893 -> 30893 bytes .../doc/ros2_control/doc/index.doctree | Bin 6372 -> 6372 bytes .../doc/hardware_components_userdoc.doctree | Bin 21564 -> 21564 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 65671 -> 65671 bytes .../ros2controlcli/doc/userdoc.doctree | Bin 28284 -> 28284 bytes .../doc/ros2_control_demos/doc/index.doctree | Bin 49816 -> 49816 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 24375 -> 24375 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 36729 -> 36729 bytes .../doc/userdoc.doctree | Bin 11532 -> 11532 bytes .../admittance_controller/doc/userdoc.doctree | Bin 19525 -> 19525 bytes .../doc/userdoc.doctree | Bin 9921 -> 9921 bytes .../diff_drive_controller/doc/userdoc.doctree | Bin 17142 -> 17142 bytes .../doc/controllers_index.doctree | Bin 16068 -> 16068 bytes .../doc/writing_new_controller.doctree | Bin 60206 -> 60206 bytes .../effort_controllers/doc/userdoc.doctree | Bin 8222 -> 8222 bytes .../doc/userdoc.doctree | Bin 8657 -> 8657 bytes .../doc/userdoc.doctree | Bin 12877 -> 12877 bytes .../gripper_controllers/doc/userdoc.doctree | Bin 10387 -> 10387 bytes .../doc/userdoc.doctree | Bin 12972 -> 12972 bytes .../doc/userdoc.doctree | Bin 18101 -> 18101 bytes .../doc/parameters.doctree | Bin 31949 -> 31949 bytes .../doc/trajectory.doctree | Bin 38596 -> 38596 bytes .../doc/userdoc.doctree | Bin 44037 -> 44037 bytes .../pid_controller/doc/userdoc.doctree | Bin 29120 -> 34883 bytes .../position_controllers/doc/userdoc.doctree | Bin 8292 -> 8292 bytes .../doc/userdoc.doctree | Bin 9197 -> 9197 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 6157 -> 6157 bytes .../supported_robots/supported_robots.doctree | Bin 20670 -> 20670 bytes master/.doctrees/environment.pickle | Bin 3365926 -> 3386803 bytes master/.doctrees/index.doctree | Bin 27559 -> 27559 bytes .../acknowledgements/acknowledgements.html | 721 +++++++++++------- .../doc/api/lexical__casts_8hpp_source.html | 31 +- .../pid_controller/doc/userdoc.html | 24 + master/index.html | 2 +- master/searchindex.js | 2 +- 241 files changed, 1340 insertions(+), 908 deletions(-) diff --git a/foxy/.buildinfo b/foxy/.buildinfo index d5ce19ecc7b..bd6573dd36b 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: 69c57c1bd68b2fb0e93e8aee00cf59c9 +config: 906240791781996f24c73d6641d13ae6 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree b/foxy/.doctrees/doc/acknowledgements/acknowledgements.doctree index dd38a4e49cd4410ff4e60cdd316ca2c3c986f84a..5268ae4e7507bcfb03de19bc1708aa0befb6c264 100644 GIT binary patch delta 66 zcmeCO>ayBk#AsNNZfss$oFA{BmSSL*Y-VPVVq~0RW@KPwW}KRoW@c=jYH5^enPh2V VX=Iq1m}X`$*^otSb0yayBk#As-qkz7)4T%M($n37_VY;ItlYGi0>n38I0kZNjaY;IwYm}Z`uY;0(r VVxDT8mXcyQ*^otSb0y049t?v%nVYDj8n{v42;Z-Q UEKMwp3{w-+%nUX^V|I=P0K_#EmjD0& delta 64 zcmZ3vk8$Nb#tmDU4b3x>OUjMQv-A^FQY@0q4a`%G3@r^)QcVp~O)ZVhEesOV%u|z% U4b4-`Q;pM7QY<$=V|I=P0MU^ZHUIzs 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 123a6b85b291fda774801e7310addfdbbc6c0512..fb04c0195863cb48ad09bd154fc52fea2a1c6a08 100644 GIT binary patch delta 64 zcmdnf&$OqXX@eG{VMV&Jd2w-mynb4WfmyPdnL&z?af+FdfsvVUYEqh+v3aVcQL1H< TrHQ4HVQONUnZf30#>6%NmNFBN delta 64 zcmdnf&$OqXX@eG{p?OAfNx5-(mVRPNibb-yfqANtp`~F;s;NP$sim>Gg+XGPd1|t; Tp?QjVs&QIMisj~L#>6%NqmC3W diff --git a/foxy/.doctrees/doc/getting_started/getting_started.doctree b/foxy/.doctrees/doc/getting_started/getting_started.doctree index 0b595d2177aaf6c072e460f189339c19a2b31aad..e4bf60170b831d31f7ef8b128c98a70ede120d10 100644 GIT binary patch delta 64 zcmez0#r(gEd4mC?VMV&Jd2w-mynb4WfmyPdnL&z?af+FdfsvVUYEqh+v3aVcQL1H< TrHQ4HVQONUnZf2nM!6#ZwjmT1 delta 64 zcmez0#r(gEd4mC?p?OAfNx5-(mVRPNibb-yfqANtp`~F;s;NP$sim>Gg+XGPd1|t; Tp?QjVs&QIMisj}+M!6#Z!+jLA diff --git a/foxy/.doctrees/doc/project_ideas.doctree b/foxy/.doctrees/doc/project_ideas.doctree index db1b225cc3768d03a46807e54cc3a153e8a9c83e..5568fb67dc9eff8e997b208630af1ca21dcad60b 100644 GIT binary patch delta 64 zcmeyeis{QLrVTobh85|?=EcSN@%m{g24=}-W(Fxn#wlh-21aJasYz*O#^$M(MyZxb UmL`@)hN+2ZW(J#M8O5gn0KRt<{r~^~ delta 64 zcmeyeis{QLrVTobhUOW`CFREDS^9}7DHh4*2Ii?ohL(mYsip?0rk2L$76yrF=BdfX UhUO{esm5t3DVCdK8O5gn0L#-9od5s; diff --git a/foxy/.doctrees/doc/resources/resources.doctree b/foxy/.doctrees/doc/resources/resources.doctree index 9e660f66f0f0e429f3a8aaaedb57e5a1cf066a34..e2d1622ed4742ada0f3385507ebd2f47043bdc9d 100644 GIT binary patch delta 68 zcmX@v!*a5RWrGT%VMV&Jd2w-mynb4WfmyPdnL&z?af+FdfsvVUYEqh+v3aVcQL1H< XrHQ4HVQONUnL%?XR=R$ delta 68 zcmX@v!*a5RWrGT%p?OAfNx5-(mVRPNibb-yfqANtp`~F;s;NP$sim>Gg+XGPd1|t; Xp?QjVs&QIMie+;s3-Gy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=5odsB>69lMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=5odsB>)A9iw4Iy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=6uH6q5yB$6Bhsg delta 62 zcmX@5cS>)A9iyRnMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=6uH6q5yp~6Se>V 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 58380e48b552f6854d62e06adf8a52bcf36a3589..98696594229deece7606d370d61beeaec06bae76 100644 GIT binary patch delta 62 zcmcbcc{g)|1EXO@y0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=0e6CV*r#$6J`Ja delta 62 zcmcbcc{g)|1EZmNMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=0e6CV*sI~6a@eP diff --git a/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 5d3e5d2b2701fc0b7fe8673fc945584305022a36..32ace4d54c7f9af119174920242dc385b75c36ce 100644 GIT binary patch delta 64 zcmdmYka6EZ#tn9ih85|?=EcSN@%m{g24=}-W(Fxn#wlh-21aJasYz*O#^$M(MyZxb TmL`@)hN+2ZW(J${8U5n{voaIq delta 64 zcmdmYka6EZ#tn9ihUOW`CFREDS^9}7DHh4*2Ii?ohL(mYsip?0rk2L$76yrF=BdfX ThUO{esm5t3DVCe_8U5n{z>XAz diff --git a/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree b/foxy/.doctrees/doc/ros2_control_demos/doc/index.doctree index 7dea29640979333a224a84b22b0da42b480808a6..195ca116878b843958e6249f538b64b6a32ab60c 100644 GIT binary patch delta 62 zcmcbed^>rA8KYrEy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=5)pq0|1UM6Gs35 delta 62 zcmV~$(FwpH3D~72@0Ap{&t>a58d)5IIJGJxOXO-O Q(mKLTL4LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=32&GA^>RZ66XK_ delta 62 zcmdn4vt4I{52K-ZMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=32&GA^>(t6NUf) diff --git a/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/foxy/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index c2a97f2a581a7f0c90d0b5830c533e67466ab268..47e0563f1bde0a70355cb1873d426fa78a7381c6 100644 GIT binary patch delta 71 zcmdm$vMXhS2BT3$y0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d brIBH3Vw#zO{$vLw(a95}MK`xFZZiM?GFKJl delta 71 zcmdm$vMXhS2BVRAMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g big~JWT1twg{$vLw(a95}MK`xFZZiM?MM@Tg diff --git a/foxy/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree b/foxy/.doctrees/doc/ros2_controllers/doc/writing_new_controller.doctree index 0a2c3601aa2ac7c9df79d18d8d98eae4e3fcec31..6dd8ba67d0432b604a8bee5ad1e8a0e64f507531 100644 GIT binary patch delta 64 zcmbPwg?Z`~<_!*vh85|?=EcSN@%m{g24=}-W(Fxn#wlh-21aJasYz*O#^$M(MyZxb UmL`@)hN+2ZW(J!J8JD~O0IKa2p8x;= delta 64 zcmbPwg?Z`~<_!*vhUOW`CFREDS^9}7DHh4*2Ii?ohL(mYsip?0rk2L$76yrF=BdfX UhUO{esm5t3DVCcH8JD~O0JupNJ^%m! 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 6d4be8d2a788688585c9bedd728c57062285ce9b..2f16470709099aac054177ae3024e77a17fd9e73 100644 GIT binary patch delta 62 zcmbQEFh^m78>3-Gy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=5ofRd;nC@5^?|l delta 62 zcmbQEFh^m78>69lMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=5ofRd;nrC6A=Ia 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 336165a3296b496061b93e21a4f8f35fea70a508..96b12e1bc8100c6271127000c22f432fc050a41a 100644 GIT binary patch delta 62 zcmccUe9?JB0;6F?y0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=823B3IK!k69WJM delta 62 zcmccUe9?JB0;8dMMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=823B3ILH&6QTeB diff --git a/foxy/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/forward_command_controller/doc/userdoc.doctree index 119568b60ac1853fa0f28f474b38746d4e0f7849..28ad3757846815fbddcbd81c1987b19100f093cb 100644 GIT binary patch delta 62 zcmaE&@I+xl7^7iDy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=61%rd;oi46IuWO delta 62 zcmaE&@I+xl7^9(iMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=61%rd;o~O6ZrrD diff --git a/foxy/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.doctree index 387832f4367ababa56a90db83d6e952a2f008197..5bd34ded994b564aee276db1f616c4166a413efc 100644 GIT binary patch delta 62 zcmZqIYuDT0$7ooQZfss$oFA{BmSSL*Y-VPVVq~0RW@KPwW}KRoW@c=jYH5^enPh2V RX=Iq1m}X|Mxt_5@6aZ5c5?%lR delta 62 zcmZqIYuDT0$7pDtkz7)4T%M($n37_VY;ItlYGi0>n38I0kZNjaY;IwYm}Z`uY;0(r RVxDT8mXcz*xt_5@6aZjw68!)G 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 9a124b43e50230fd54885260f4a92716c42317a7..d26dcc03d0cabb52fc6868629bf42fb7e91d54a7 100644 GIT binary patch delta 62 zcmZ2&yV`a`0Ha|=y0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=0-*>SpaJa5^?|l delta 62 zcmZ2&yV`a`0HdLKMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=0-*>Spaxu6A=Ia 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 84ddc1218e888eb64ea8ac05be4f7982f1feb348..ce7242ac7fe72b2f056f239dcc5e36d6685c2566 100644 GIT binary patch delta 62 zcmaE<@ls=hAERMKy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=6c3gLI8ic6LkOp delta 62 zcmaE<@ls=hAETjpMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=6c3gLI8~w6chje diff --git a/foxy/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.doctree index 6183ec402d92f51a63443b0796fec1c139a0c3b9..c2807666840bee26b3058caf25d1bfc2a733d4b1 100644 GIT binary patch delta 64 zcmccD&UCMxX+s2~VMV&Jd2w-mynb4WfmyPdnL&z?af+FdfsvVUYEqh+v3aVcQL1H< TrHQ4HVQONUnZf2x#?U4Jt delta 64 zcmccD&UCMxX+s2~p?OAfNx5-(mVRPNibb-yfqANtp`~F;s;NP$sim>Gg+XGPd1|t; Tp?QjVs&QIMisj}`#?U4JyDAi~ diff --git a/foxy/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index e28905843bf729ce0d30b34fff8a29b0b5d6320a..fea8ec685889d45b9dad922ba6053272780dfaf5 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%ZCy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=4!_Md;nxc63_qu delta 62 zcmdm`uuEZs7o(whMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=4!_Md;oEw6K?LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=1RsTLI7EZ5{m!; delta 62 zcmbQMF;`=Q2cw~RMsi8Hae0=0VoHidvblkIs*$0kVM?m0L8_^xvAKmoVw!nsvaz9g Rig~JWT1txL=1RsTLI7st6Dj}z diff --git a/foxy/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree b/foxy/.doctrees/doc/ros2_controllers/velocity_controllers/doc/userdoc.doctree index a70ff0cdb75480bda61fc112f21acf98dc740a46..8d72ee915ff099355fbfa5adf63644fde688fabd 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%ZCy0Lk2aelmhT8e>LvYDAdiji@OnUR5!nQ>}TnwhbAs-;n?Ws;?d RrIBH3Vw#!3=4!_Md;nxc63_qu delta 62 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 UK3>4bQhdzD$3kWLUAWHr5C0-JApigX delta 13853 zcmd^F2~<=^*7iX+uS-N^NA^uwRA^|L%>@_Sf)b7Ug2*oI8kcCI28{;o7KB)sGSP_= zHHjG$H6(d%amhX|Q4`JL3Tjl`K*dZ<^v{29Rria`pK(Uc%sKy=@f@q}{obuxx9+QV zZ{4DoHH0r~2(P$cNSu&6bGBi&sj@U8J1;LOH&LIM9~YY(o0o6Y=Npp^iAnnGg2en> zLu_JRV!ojuFE5#TN@I1lan;XBW88ImV~RnaVoauIJba67k7E8=g_Wgb#?)EUbMy0x zrdO7Bj+r@m8vcK5Ju%UsX)2xVnbWgbV|95`bEjla&Yw}4Ss6k1_lc&t{+@K7!JSq- z4Wf|QhQqEA4H#w($VQDo~+>~trvaG$B_>3 z_MykT-I?2A;<}<^AU)_G=AbQ_l9xY+X8XIX=<7x+!d>X;l&HEf$v*eS@jKmnUr~_oDhxN4h-Al~&~V(|Mr=`f*e=4e6n$ z{=V^&Khy6f{`A+-WI80zpT5_l2i+W$0#kd!6hZXC2qP_x@?`5yk^pLGX8^{94vJ_; zGe*G_?zA-0krrpTtO(H3?vZWiYe|mOEBJ|G+#azh`naGDdiYm4VOweP|9Q#rNrpUq zLT*8JwlOa@F5ZxzWGqOIGv?*zl1T~iLsRvs{de%JaV+-L&NE{;L*wI z?s(*|hepB9ny}-KHbp=-yrcBcf3PWDH}ZWz_rfEGJv2()3&Ck#YH)}T zbEiX=g;Lktu2L|q9q&yuhC9+uOOvVX4dIvj@Z0IoGl(9Dccxzz2GK~PGp&BolTP#U zqcww_=!oq8bg*F*{b&GS<3g!_mk??f76)%M9(Gzc`f;C5bpOZ*+G|8l`f7UeL*WN@ z+8^vJ_&VvdG?{Kq)zN{&+R!~qZPBI^U6&m}>9}}W7T`$(Gb62$!JC$i#^^%m*%9uv zCfbSa42-6RArKCGh0#vKTb*C;nBDfM>;Uo1=M-c>$wpS?-FTN%Fv$K zF^1yx3B8(x;5|JPA@2FJ?gxn*9TVWDdi!2{8?a4Ff9_$RZ9At^A48%o#+I17G>NM{ zd}9BJaQb;_Pg^)OKI#+7iAyr*;|mfJjj{TIf&xQwe74>YA8X7jK+2eC$TsM6jq%1m z{)8Smy3Iqw@niUaF7WJ5zw7Su`?vJS@qaU%$JKxLx8x@o=(u5_bbf*>#h8s>6@Hof z`iApFN5{F+wId;~!q+vjZ#y~<_St{WSC%60Gyg~b{5 z#<(Q-vW$t@iMhFkUc6?|!B&ptX>rl7f zKdwg(eQ4z0OH@)P8Vg6k=f(ttJODP>ch(&zEKf{GM04^l8)F zB=;Zu`CWiI#W3V=3y6PEGgRL%v;@+R%{}>%3iEANOcHG!6~qrKP#Q^ES{s+l3mV&z zYEMs53>_ZbiBE_}oS(+I^Wx^=qt(MjR%Ict)k5i>vEdZY=veYJMkK%~p)2(-4GTE0 zY0;w81FFK9Y160TIUuVDPNp-Wr_Y#KX{w`HrFyA`R+L6KoI}AF=CYS`kj2xhw4pRw zs;7ZvAr1}r)Ie)<{KNs_NV$V_fzB^$r?~}BXlzmxJzC~3ouW6(a-`FA@bVrGwKyc2 z-im6=^xqSgmO|+z6n`n%i*5auXsABLvz5SapmZV&K1mE#OENH5%wKH9( z<>h@ecTho9tQXXQ5e}D8rVBkbJc-L_O;@Z>v49O>>-y=m^tFoqnrjGe?d=7HXOLC> zSsa=~pU#WtVp`LWHW~3g9IalsNZ)?Rw;0`M`U#slZ2pQ(4K_bxgT6D}!{#bBzhG03 z&9B&??@afxxq!_BY|v|_|H0-IHoswW2AdXIXig&~A%#vf*=dWRMbDY+5ky~^G)SS3 zOj@L_Bjtb;I>;m=h2AmgkV3bZ2vRqZYKav3#N>z+y28{7DfEHK38{-nwFYX|tegp5 zsy|sF+ZW@4EwZ-Z)wT0lJMcwYdwTbece8M@3O=gkouy2B#d zC;f>(Lzh_OZwCtw-C~jRiv)+RvB+~@65N?$&R+jgu;?R;TyaBi=qHQ(;5Wgct1R-{ z(Xa6-&|Mb!4MlM1GK)Or3&Ek=EbWQ$C7RqnKw8R6_FkU;upmSA6Ds;5t^>LH^qL7pC1)sJpk6++`*@nrH+O$_~I z)dITzl|reeI`Y*dDNemD_-F64(13Q;+gDGrZ<_|2ptNOf_LRJ$yzH59voyc5REnxJ zrB!!byVBmjFYXovn)#Kc9Y`ZE!?Y9H(f}I#dO)?)`bqZm>(~9NSH4kTPoI6muiESF zbuQ95_Vf$d05<-l>|FihE-(9L7|CyXs?+yQog`gFZPBc*gS5OkiZJXc$2&^%*Rp9Z zXk*xdLsDfk^w51{LzSY#(vgc&oiM2IJ-dq7$9BIGQEgYTU1|_IE>E;y`uIAQtea%7 zted16*_M?q*Z3*!C7M1OHg5%x&sa2`8us&xK)$tHbKIVN_%e{IR%ik=Y_vrarks3P zbKFU~Af`XFLG$+GPfu%dti|M!axIJTlcN>iH#BWR*x)KThK>GG^Llgq>$22`EnB3G zQ=a>aW^_yGmU7}7O_4qHso!Znm!(s};`no#4b9O$2ukszWqwLVjb^B$bV^x&O|we} zeO9Ap6!tsrYo_}*M=@Njverk5Ba5n#4azPb?FWTy@F6LN=?ipPw&4Zs%I0W&X{;BW zxQr;^kUWD_E7l&MXtzH8+hVaA2QS*jF9?%ioHAj%HrY+OBs3m9s4Z=tMjxK}mFDmV#;9f+XFbvi z16Pg)1KBr|Aq+$KdG+zlQ+_Sbt(2tm%1aY;g9^3$Pb12uBf1>PN)J4y+v6qGu$Y^= z5Efmh8^<=>)P=Gwb-FQ3X#gs~j>NFBS9RT4G(OmSRhP+HUIi-knyv`a9v^t{nr;MZ zyaVVoR}#eXuY>pmWLx$kf$TD}@u+O|6U3ht-q3x))}V?tS;URy-GrxoZvk7nUF*+| z<`D;W6|t`o8(0q}J!k~#t9o4li>e1|zMt&FYQ})v>;{ngGh*e%q!W{G0qb`ShYgTJ zgsK&Yh2H?I|0p?tHI%@xwzmO$;Vxj~EuT=kq+d%zkGf8C^@9GBgBeyAU0vxM&jqx;6yvBGQDPChNLyA`= ztB~T=#zv%gwecQOyxQ1{6t6Z8A;qhWACThJ#wDb9wQ&b29;{mwVco&24W}ZYc(vh! z6t6bIk>b@xJW{;c=z$ckHZqXn)y5d4c(pMBDPC>NLW)-#FCfLMjdG-Tp|u96S*4np zQ+2s`+>9{Qu;5~1WYhktd!H3|ATDfLYk0~1e%5`?((>T#>jTMCxV?PYs(ZSAEFhnR zDVkq&(={a^mAo8Az{6a&vOQTU!8Z(VYzkWzL9$rb&$=+BbtLhYkaSTJqewq1 zS@rl~m$w0t{r^C}|1gxb;zF5`h=Y z)l?*tLWzC7mP{4Fq@*(}wZ6)>)Z3lWIN)6szpkXpN*?J(zO<5?x|7=yGp?}hH3&h4 ztbUbk{K{UqBH&$>`ZSVaB|G=Qmyamh*q3|_r_?$9$omqTHy6x+sFlyye4B=_bhH3? zS0!TrNf0C(xR3-W?++w>t&g0ZBtdPM#mV;CAl8jxS*>BW`;I5U5|S>;z-$5=pOZ&( zaHA_% z7D=&VOWuN6ARf18*>hl)@ta_l!*fWegrtiiJ%?}qvu2Bu}8H+%%KGY_@a}g>A z-m2K^MO57J2^eEb02wc*gTXmVKrc`(Y`{VisBBz{a-BBY-WOzs$t>(05WHm}t`gI1 z0|PutNr51R)!WNRS1Zrof4g$h#-9B(1tx=363Gs)0NcLm3`&wIx(7%XWpX8%BgmIu zCmofLm+>9q6E?Ysger{TRz&{8SIB7Vn2E2F1y=I@YSPh8Xi9#KydtsHJ#9Asp0sk; z!Nh0MY)(0{4xIwL)hQic$Hlh32eFLD6v%ABOt%5X)ZBvrFmnTLHXvP;bsO<(L{eDS z`Ar--XFaSCl3)n)-UNdNZGaUn-h^`i>B5&)`!)*RGJ|bAP(z|z!VX(V80+^A`4CPd zzr8~?NQk&7?{6W4tfa>__@;R-O_z8gP1o`)nlAGcn%7AB-HsL&=W^SFC8)xRWnYn3Z(^*$A z#>_1-uUf-oOPAe?jiG`%i2q33o&;W<~&Ra zVh{F`J_0%E#xj>nZOM{K)2Ht6HPy38`$&jX&&v0a0O;P`M@B#gpdSm_Phx={x}Q7& z-P-+Rh|JH~bslW$LE^*QJ|>CqApK(qFZFEA$K*-qu76BM2(gWRY*2eUZ=77mOrMZ$ z@O0BBaB8e)fuF+2IyT}{G77qFpMr1dnDb{4{p;8>pFv2hV`o2uCDpNv&tWb6On;?4 zliHI`X!!smSl+<8eL=if+b>8MoUwpTh3@$;$WzcA`+`h_uIra@By3>ozU1JYFUc_A z`u~OGLH90n{MOjy9mlo|(fG3X10)_E6diy=Mg!Y+fFuU<5~2spR_f4ya&{qn2Qd4A z1el$d6x)r$5qHlJ_%Tc%8*-3%z+GX{K{$S1Ujs8k&xm+hs~%=`_EIL$u)hGfXRl-ZNYCY3;;m3W+_2xL=tHmOqU%_@!) z9sj$O$&R_4fGxTEIJ~`D*6IZ4uVr&jkZCOD4AHWN6QoGy)zF$A?AUqYA)98V!TK+; zdEb(;GOv!NrLkL1b{?$pTS(WJSloAH2y`XifuAq2Yu|y!OKkM_q)y_RA+>y|5sr#Q_qsNGB4R&hqKsKvLBm!mJAn&GD0AYXJL0-VO`FFTe#@9;p`mzfRY_J z#~--XkdNSE=4cIBEb~gQOBSnI0Y&@VT5uOf=8R&u-hf*9ek~a-katE29dpmaOSr}k zo`=)OH8$V^v54m$nJoLL?9YC=Kyu;1xQk>nbdEp563?>CA7K-mWru%+v+h~e{SvJ0 zM>g>indHE$%Jpp8CHR)_T_XKu4w%NXg(qN}(GCt#7s`qyW=JcJMN2yvRCV z0gV^gyH~*5ycjLdX8J;10`sUNT?MizMEtH4w3IIu+pt_ZCn>O*cd^$6z@@1ukW(E?CZ;7oBG7ul&Iw<9?4 zkqUep$$@<;VBdiQpQu1;M-F_h0<|$5_=^fe$8zA13V4fYkIcpUB5v9Vfqbos95?VW zCsY9Q3pnlJw8DXtD8cj0=a6wg;*1LH5kQR!EEd286)65tAY&6j2~RIxK!K7gC?XP& z0IsP(5}d3-;-(7R5E8dkKrbW$I)e^=fmR}bpHPAWKJW;1+zVF`SApDDfuSi}^0)|~@kDzGP&1K}#LNl3ia1BUPimVYLBG2J|yDNYcl(1$zK228@i0s9I?kccb0KHUT0%T3Ftd9z`7eIdi ziiOtk0ufme=e;L@3>?D~V_!&^pk%NLqzXV}NgPrqfZ-^?Zz&CsKw-!z73d&<+e1LY znnXpg7>6Ppxe3o;OtuPK5az2xQj?5V7WAF7gbH;eY~$1Enf3M@W>bz&iq1p#r}MV5JHif?q;_IjdB_LjbE);L}X8yIxa~_$)r= z6m;SSxJ&@+QG#Cye0}|E~0GHT<5*%0rkHC=qDsa7k1D~qE#R4|y4vGGM zT{MO_l4OFv?!YRyh7~mue}X^W5NvrP33l#nW5IJ3r5^O@H$B+qM$!t(xY|ZIuh%oj zyQH0Sx>XEAe?@6qTD!`}1^hFx2}~5UF diff --git a/foxy/.doctrees/index.doctree b/foxy/.doctrees/index.doctree index 04c12ee1b2e3df7a5a5cfd45654206eee4d0e19f..1ffc98cf4d9b9b6e7897f3e85657fee1a5220510 100644 GIT binary patch delta 93 zcmdmZpK;@T#tmkSh85|?=EcSN@%m{g24=}-W(Fxn#wlh-21aJasYz*O#^$M(MyZxb smL`@)hN+2ZW(J$n8C^qJ4Na{KO(t&)`vzs550{?Y5YD>!O!!lA0EfjMoB#j- delta 93 zcmdmZpK;@T#tmkShUOW`CFREDS^9}7DHh4*2Ii?ohL(mYsip?0rk2L$76yrF=BdfX shUO{esm5t3DVCel8C^qJ4NR?!4JU65`vzs550{?Y5YD>!O!!lA0H)L*Hvj+t diff --git a/foxy/index.html b/foxy/index.html index 45ac65f2b4f..5ba53f90e78 100644 --- a/foxy/index.html +++ b/foxy/index.html @@ -152,7 +152,7 @@

Development Organisation and Communication -

Built on 2024-01-09 at 05:31 GMT

+

Built on 2024-01-09 at 15:14 GMT

diff --git a/foxy/searchindex.js b/foxy/searchindex.js index a07b22542ee..a165b0a2ffa 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, 24], "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, "09": 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, 24], "goal_tim": 20, "05": 20, "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, "09": 24, "15": 24, "14": 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 22414f4c81e..064da09d8ca 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: 8969f7f70869450b781a6fbed35d0cdd +config: 42492b4a15ebc8d88c213c1cdd745839 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree b/galactic/.doctrees/doc/acknowledgements/acknowledgements.doctree index 96ee2cf0f046e21675f2c9e361e2a57f57c65c5d..185415339a6cc489008dfba7bb81a81ef543c028 100644 GIT binary patch delta 66 zcmeCO>ayBk#AsNNZfss$oFA{BY>;STZee6;Xklb*WNDt1nw*quYGIm^Y+`PdY@V8! VW|C-`W^Rx=*^otSb0yayBk#As-qkz7)4T%M(GVqu(OV3wSgm}r_}Xk=oXYGImYX=Iv`nv!a6o|bHG VVPasOWNL0W*^otSb0y3o4j4TZ;jEs#e&684-lafs>OjD9g%#D)G UQxnrn5-ror4N^BhV|I=P0K@zg{Qv*} delta 64 zcmZ3vk8$Nb#tmDU4b3x>OUjMQv-C|Yj8hEElG73sO;ZewOpH@4Ow%llOjA-*Qq9fN UlFcnl49t^E%?&p{V|I=P0L@+$)c^nh 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 f9cbdc25263b814b74ee68d7c0804abb92bcc500..552fa2464d86c1c67ba735a819d1430764610e3e 100644 GIT binary patch delta 64 zcmdnf&$OqXX@eG{VMV&Jd2w-myneDlqKUbMk)@%9k+G4bc~WX}QnIOqX-cw*xlyut TYGRs6qGg)7LF(pc#>6%NmH89) delta 64 zcmdnf&$OqXX@eG{p?OAfNx5-(mcEIFaf*Ria#~`dX^NqdiE*lhX_}>xX-aBJs=0Yu Tvblwcfq9atx#8w$#>6%NpIZ~o diff --git a/galactic/.doctrees/doc/getting_started/getting_started.doctree b/galactic/.doctrees/doc/getting_started/getting_started.doctree index 6ac60e57c81206747793bc866d91ad631689eee8..64e9fa5bd255237333396c036c246ffcf680d77f 100644 GIT binary patch delta 64 zcmez0#r(gEd4mC?VMV&Jd2w-myneDlqKUbMk)@%9k+G4bc~WX}QnIOqX-cw*xlyut TYGRs6qGg)7LF(p2M!6#ZwdfRk delta 64 zcmez0#r(gEd4mC?p?OAfNx5-(mcEIFaf*Ria#~`dX^NqdiE*lhX_}>xX-aBJs=0Yu Tvblwcfq9atx#8wSM!6#Zze*HS diff --git a/galactic/.doctrees/doc/project_ideas.doctree b/galactic/.doctrees/doc/project_ideas.doctree index d0714c9c194f0591635c27946d04c7db6782d7f1..97cef5287cbe70f6c078c86e0f7242385eeb4af1 100644 GIT binary patch delta 64 zcmeyeis{QLrVTobh85|?=EcSN@%qUIi6-V2MwW&aM#e^#=1Hl^Ny(-brYXrL=0?fp UsflSOiI!>R2C1848O5gn0KPsHWB>pF delta 64 zcmeyeis{QLrVTobhUOW`CFREDS^6dx#wiA7$!Up+rYVL-CdR22rfHT&rYWf@spjTs U$>tU&2Ifho=7yVN8O5gn0LP#dJOBUy diff --git a/galactic/.doctrees/doc/resources/resources.doctree b/galactic/.doctrees/doc/resources/resources.doctree index 05b9c24c9d3849d193a49d03f02d725147f15b63..a38161ab8b9cf67a6d63363c25a54e9fc2012210 100644 GIT binary patch delta 68 zcmX@v!*a5RWrGT%VMV&Jd2w-myneDlqKUbMk)@%9k+G4bc~WX}QnIOqX-cw*xlyut XYGRs6qGg)7L27d-%SE7 delta 68 zcmX@v!*a5RWrGT%p?OAfNx5-(mcEIFaf*Ria#~`dX^NqdiE*lhX_}>xX-aBJs=0Yu Xvblwcfq9atxnXlCabu?;&8>3-Gy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=5oe!+5m&W6XXB@ delta 62 zcmX>abu?;&8>69lMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=5oe!+5n9s6TAQb diff --git a/galactic/.doctrees/doc/ros2_control/doc/index.doctree b/galactic/.doctrees/doc/ros2_control/doc/index.doctree index 130f52e86f3e74d72d97730fe2e95e604e2834e8..c9a90e60a9805ae24ccbb4a29d2e2044142e78f3 100644 GIT binary patch delta 62 zcmdm_ze#_C9iw4Iy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=6ptHF#uzD61V^W delta 62 zcmdm_ze#_C9iyRnMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=6ptHF#v4Z5|97@ 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 604fb4b40543100448eb60a83987c2c013591487..b5989877dd9ee08452fd7fbb8c1ca4a8a9b4d5d2 100644 GIT binary patch delta 62 zcmcbcc{g)|1EXO@y0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=0e6CV*r#76U+br delta 62 zcmcbcc{g)|1EZmNMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=0e6CV*s6T6QlqD 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 b51583595eb685bb6fad88006e32bcc889b9d166..40c9928b9898bd75f55d5179729b07acf40185fb 100644 GIT binary patch delta 64 zcmZpl%h*1baf1h=VMV&Jd2w-myneDlqKUbMk)@%9k+G4bc~WX}QnIOqX-cw*xlyut TYGRs6qGg)7LF(p8Mm}Evh@cZz delta 64 zcmZpl%h*1baf1h=p?OAfNx5-(mcEIFaf*Ria#~`dX^NqdiE*lhX_}>xX-aBJs=0Yu Tvblwcfq9atx#8wYMm}Evk^&Ph diff --git a/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 94cf960ce5c9f5252b80f171c8a102eb2db8efed..bac99a6e7c222ff5928b1022ab21525eb04bad10 100644 GIT binary patch delta 64 zcmcb)jq&C-#tn9ih85|?=EcSN@%qUIi6-V2MwW&aM#e^#=1Hl^Ny(-brYXrL=0?fp UsflSOiI!>R2C19#8DB*L0K5+s00000 delta 64 zcmcb)jq&C-#tn9ihUOW`CFREDS^6dx#wiA7$!Up+rYVL-CdR22rfHT&rYWf@spjTs U$>tU&2Ifho=7yW|8DB*L0L5_>*Z=?k diff --git a/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree b/galactic/.doctrees/doc/ros2_control_demos/doc/index.doctree index a9117528292fcdf377ff2cbf29d50db2ed9dbafc..3e7dd6befa872789fa4b93bf1496a103a20bf9a7 100644 GIT binary patch delta 62 zcmcbebUSH-8KYrEy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=5)p{`T&l76e<7! delta 62 zcmcbebUSH-8Ka?jMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=5)p{`T&>T6aoMM 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 440479d4d57631ef0eeb109b7379630f0c1804e5..e2d9eaccd56658b35905c52564873cdc9767354c 100644 GIT binary patch delta 62 zcmdn4vt4I{52Im4y0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=32&GA^>Q#6HNdB delta 62 zcmdn4vt4I{52K-ZMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=32&GA^>t06D0ru diff --git a/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/galactic/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index 15aade08fb07d6426fe0d9301a16bdf8f3812b08..c2c6137e3462ba5d7012e49ae87857561d8ce829 100644 GIT binary patch delta 66 zcmX?QMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Vg^7WAlBv1jWJWou&BcuVMgZ3F6aoMM 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 4d1873b6c6781300c6407b7b856b7bdab377760d..c2d2d460e6a25cca22f5cc91025f51db84402a76 100644 GIT binary patch delta 64 zcmZ2^g?Z%_<_!*vh85|?=EcSN@%qUIi6-V2MwW&aM#e^#=1Hl^Ny(-brYXrL=0?fp UsflSOiI!>R2C1718F#z@0JNYLK>z>% delta 64 zcmZ2^g?Z%_<_!*vhUOW`CFREDS^6dx#wiA7$!Up+rYVL-CdR22rfHT&rYWf@spjTs U$>tU&2Ifho=7yUK8F#z@0KNhh82|tP 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 feee8adc2975191483c3e7f2ef6a59f9427e9890..234fe056d40f52e54631f9aa41fe94e6c86b5c9f 100644 GIT binary patch delta 62 zcmbQEFh^m78>3-Gy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=5ofRd;nCK64(F$ delta 62 zcmbQEFh^m78>69lMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=5ofRd;neg60iUO 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 2bb2d54890a3df4ee028522b1dc49572100c0ce3..fcd40811e1f754b2dac085a323c2d7be5bc46a48 100644 GIT binary patch delta 62 zcmccUe9?JB0;6F?y0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=823B3IKz=6KMbd delta 62 zcmccUe9?JB0;8dMMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=823B3IL5B6F~p~ 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 10850c1bbd9ac14e9c49baacaa6a493217022ff6..8f0024ee41efedb7722b5e37bfa1f384815e1d44 100644 GIT binary patch delta 62 zcmaE&@I+xl7^7iDy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=61%rd;ohW6Tkof delta 62 zcmaE&@I+xl7^9(iMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=61%rd;o-s6PN%1 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 59a618db584e0757112e5cac6a47ecb4b776de15..27a30ff1a04aaee2c19f8847a219a7d670a7dd26 100644 GIT binary patch delta 62 zcmZqIYuDT0$7ooQZfss$oFA{BY>;STZee6;Xklb*WNDt1nw*quYGIm^Y+`PdY@V8! RW|C-`W^RzWxt_5@6aZ4&62t%i delta 62 zcmZqIYuDT0$7pDtkz7)4T%M(GVqu(OV3wSgm}r_}Xk=oXYGImYX=Iv`nv!a6o|bHG RVPasOWNL1>xt_5@6aZX35}W`4 diff --git a/galactic/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.doctree index b694f63091bc92f9087c2406dee2849f59253c78..061b83973d285b1fa547ef8be50bf8f8f41de17a 100644 GIT binary patch delta 64 zcmZpfz}PZ@aYF#3VMV&Jd2w-myneDlqKUbMk)@%9k+G4bc~WX}QnIOqX-cw*xlyut TYGRs6qGg)7LF(p4#%4DFgS8X1 delta 64 zcmZpfz}PZ@aYF#3p?OAfNx5-(mcEIFaf*Ria#~`dX^NqdiE*lhX_}>xX-aBJs=0Yu Tvblwcfq9atx#8wU#%4DFjTaM) 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 e35936749ae029dc3388787c45541093761ece24..44eccccb0b4191e8e4145ca1d6cd43eee3985f60 100644 GIT binary patch delta 64 zcmccD&UCMxX+s2~VMV&Jd2w-myneDlqKUbMk)@%9k+G4bc~WX}QnIOqX-cw*xlyut TYGRs6qGg)7LF(pC#?U4Jt(6pZ delta 64 zcmccD&UCMxX+s2~p?OAfNx5-(mcEIFaf*Ria#~`dX^NqdiE*lhX_}>xX-aBJs=0Yu Tvblwcfq9atx#8wc#?U4Jw)YfH diff --git a/galactic/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree b/galactic/.doctrees/doc/ros2_controllers/position_controllers/doc/userdoc.doctree index 95972d9b7689b86c7d47acb291fed5464e56e686..a9fe0d76bd629474772b6753161c09116e458a2d 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%ZCy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=4!_Md;nw&6E*+< delta 62 zcmdm`uuEZs7o(whMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=4!_Md;o236Al0X 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 a705abee7b1f6dce50dde9a86cbc239d1819090f..211c58c762b48b28c73541667a3f807c5e8b5c67 100644 GIT binary patch delta 62 zcmdm`uuEZs7o%ZCy0Lk2aelmhvO%JWxrLFXp@osLk)?T3YI0JtsfB4uvWdA-vUzG^ Rnn|K%nz=#h=4!_Md;nw&6E*+< delta 62 zcmdm`uuEZs7o(whMsi8Hae0=$iG^{Bfmw1|Vxnn^p^=Gks)cEqrIBe$YD%iPd0Mi$ Rg^7WAlBv1j=4!_Md;o236Al0X diff --git a/galactic/.doctrees/environment.pickle b/galactic/.doctrees/environment.pickle index 00e8954fe6d5fde73302c7f795fc72003c642a9a..c2363df241e8610a3aa7ee09e0e5df07692d174b 100644 GIT binary patch delta 13884 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 diff --git a/galactic/.doctrees/index.doctree b/galactic/.doctrees/index.doctree index f04f708e0825619d2ec47213d15fe236ce8ab840..098b1fcecb40435f21908e798c86097984378b58 100644 GIT binary patch delta 93 zcmX?jpYh;*#tmkSh85|?=EcSN@%qUIi6-V2MwW&aM#e^#=1Hl^Ny(-brYXrL=0?fp ssflSOiI!>R2C19V8AC%^4Na{KO(q`<`vzs*50{=iA)Iydo$#mP0HazTasU7T delta 93 zcmX?jpYh;*#tmkShUOW`CFREDS^6dx#wiA7$!Up+rYVL-CdR22rfHT&rYWf@spjTs s$>tU&2Ifho=7yWo8AC%^4NR?!4JRKA`vzs*50{=iA)Iydo$#mP0H@?1MgRZ+ diff --git a/galactic/index.html b/galactic/index.html index 80c7a386929..ae19a47cf29 100644 --- a/galactic/index.html +++ b/galactic/index.html @@ -152,7 +152,7 @@

Development Organisation and Communication -

Built on 2024-01-09 at 05:31 GMT

+

Built on 2024-01-09 at 15:14 GMT

diff --git a/galactic/searchindex.js b/galactic/searchindex.js index 44b2937880e..646a98f9e23 100644 --- a/galactic/searchindex.js +++ b/galactic/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/getting_started/getting_started", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/getting_started/getting_started.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "index.rst"], "titles": ["Acknowledgements", "Pull Requests", "Differences to ros_control (ROS1)", "Getting Started", "Project Ideas for GSoC 2022", "Resources", "Controller Manager", "API Documentation", "Fake Components", "Hardware Components", "Command Line Interface", "Demos", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "joint_trajectory_controller", "position_controllers", "velocity_controllers", "Welcome to the ros2_control documentation - Galactic!"], "terms": {"The": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23], "project": [0, 1, 23], "ha": [0, 1, 3, 4, 5, 14, 19], "receiv": [0, 2], "major": 0, "contribut": [0, 1, 5], "from": [0, 1, 2, 3, 5, 6, 8, 10, 12, 14, 16, 18, 20, 23], "follow": [0, 1, 2, 3, 4, 8, 9, 10, 11, 13, 14, 20, 23], "compani": [0, 5], "institut": 0, "support": [0, 2, 3, 5, 8, 10, 14, 19, 20, 23], "rosin": 0, "ro": [0, 1, 3, 4, 6, 8, 10, 23], "industri": [0, 3, 4], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 4, 11, 12, 16, 19, 23], "softwar": [0, 3], "compon": [0, 5, 6, 7, 12, 16, 18, 23], "more": [0, 1, 2, 3, 4, 8, 14], "inform": [0, 8, 14, 23], "http": [0, 1, 3, 4, 6], "eu": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23], "fund": 0, "european": 0, "union": 0, "": [0, 1, 3, 4, 5, 11, 14, 23], "horizon": 0, "2020": 0, "research": [0, 5], "innov": 0, "programm": 0, "under": [0, 5, 14, 23], "grant": 0, "agreement": 0, "732287": 0, "first": [1, 2, 9, 14], "thank": 1, "you": [1, 2, 3, 5, 6, 8, 9, 14, 23], "consid": [1, 10], "ros2_control": [1, 3, 5, 6, 8, 9, 11, 14], "As": [1, 14], "an": [1, 2, 3, 4, 5, 8, 10, 14, 19, 20], "open": [1, 19, 20], "sourc": [1, 3, 5, 14], "we": [1, 4, 5, 9, 19], "welcom": 1, "each": [1, 3, 4, 9, 19], "contributor": 1, "regardless": 1, "background": 1, "experi": 1, "To": [1, 2, 3, 6, 19, 23], "reduc": [1, 8], "entropi": 1, "univers": [1, 4, 5], "our": [1, 3, 4, 5], "vivid": 1, "collabor": 1, "environ": [1, 3, 5], "have": [1, 2, 3, 4, 6, 8, 9, 11, 14, 19, 20], "set": [1, 2, 4, 5, 6, 8, 9, 10, 11, 15, 17, 19, 20, 21, 22], "up": [1, 5, 11], "some": [1, 4, 5, 19, 20, 23], "standard": [1, 2, 3, 4, 5, 10, 13, 16, 19], "method": [1, 2, 3, 9, 14], "requir": [1, 2, 3, 4, 14], "ar": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 23], "limit": [1, 4, 5, 12], "scope": 1, "your": [1, 2, 5, 8, 14, 23], "pr": 1, "should": [1, 2, 4, 5, 6, 9, 10, 11, 14, 19], "do": [1, 2, 3, 4, 5, 6, 14, 20], "one": [1, 2, 3, 4, 5, 14, 16, 19, 23], "thing": 1, "avoid": [1, 14], "ad": [1, 4, 8, 14, 19], "random": 1, "fix": [1, 2], "put": [1, 14], "those": [1, 2, 3, 4, 8, 14, 16, 19, 20], "separ": [1, 2, 3, 19], "give": [1, 3, 5, 23], "descript": [1, 2, 5, 9, 14], "titl": 1, "add": [1, 2, 9, 14], "short": [1, 14, 23], "summari": [1, 5, 23], "make": [1, 2, 4, 5, 6, 23], "sure": [1, 4, 23], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "green": 1, "don": 1, "t": [1, 6], "afraid": 1, "review": [1, 4, 23], "maintain": [1, 3, 4], "new": [1, 5, 13, 20, 23], "code": [1, 2, 4, 5, 14], "test": [1, 4, 8, 11, 14], "If": [1, 2, 3, 6, 9, 14, 16, 19, 20, 23], "function": [1, 2, 3, 4, 5, 6], "alwai": 1, "exercis": 1, "serv": [1, 3, 4], "live": [1, 5], "origin": [1, 5], "intent": [1, 8], "section": [1, 2, 14], "target": [1, 13, 14, 20], "also": [1, 2, 3, 4, 5, 14], "read": [1, 2, 3, 14, 19, 20], "understand": [1, 4], "how": [1, 4, 5, 14], "handl": [1, 2, 4, 5, 20], "organ": [1, 5, 23], "guidelin": 1, "especi": [1, 2], "applic": [1, 3, 5, 6], "ros2_control_demo": [1, 3, 23], "pleas": [1, 23], "keep": [1, 14], "mind": [1, 14], "work": [1, 4, 5, 12, 14, 15, 17, 19, 20, 21, 22, 23], "fork": 1, "when": [1, 2, 3, 4, 6, 8, 10, 14, 20], "submit": [1, 5], "That": [1, 14], "wai": [1, 14, 16], "main": [1, 3, 4, 5, 6, 8, 14, 23], "repo": [1, 3], "clean": [1, 4], "featur": [1, 5, 8, 23], "branch": 1, "all": [1, 2, 3, 4, 5, 8, 9, 11, 14, 19, 20], "check": [1, 2, 3, 4, 8, 9, 11, 14, 20, 23], "satisfi": 1, "befor": [1, 2, 6, 14], "thei": [1, 2, 3, 4, 5, 8, 10, 13, 14, 20], "can": [1, 2, 3, 4, 5, 7, 8, 9, 14, 16, 20, 23], "must": 1, "approv": 1, "two": [1, 3, 4, 6, 14, 16], "explicitli": 1, "onli": [1, 2, 3, 4, 5, 6, 9, 10, 14, 16, 19, 20], "except": 1, "other": [1, 2, 3, 5, 14, 19], "activ": [1, 2, 3, 10, 19], "where": [1, 4, 14, 19], "back": 1, "traceabl": 1, "discuss": [1, 5, 23], "suffici": [1, 16], "note": [1, 3, 11, 23], "still": [1, 2, 3], "encourag": 1, "help": [1, 6, 10, 14], "u": [1, 6], "increas": 1, "pace": 1, "veri": [1, 2, 4], "like": [1, 2, 3, 4, 5], "find": 1, "issu": [1, 4, 23], "nobodi": 1, "els": 1, "see": [1, 2, 3, 11, 14, 16, 18, 20], "squash": 1, "commit": 1, "messag": [1, 4, 6, 10, 16, 18, 19, 20, 23], "comment": 1, "fixup": 1, "linter": 1, "us": [1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 18, 19, 21, 22, 23], "pre": 1, "correct": [1, 2, 20], "header": [1, 9, 14], "address": [1, 4], "similar": [1, 3, 5], "mean": [1, 2, 8], "result": [1, 3, 19], "exactli": 1, "1": [1, 3, 4, 5, 8, 14], "cowboi": 1, "style": [1, 14], "over": [1, 4], "weekend": 1, "It": [1, 2, 3, 4, 6, 16, 19], "doesn": 1, "matter": 1, "trivial": [1, 8], "peopl": 1, "chanc": 1, "proper": [1, 20], "Be": 1, "awar": 1, "impact": 1, "time": [1, 2, 4, 5, 6, 8, 10, 12, 14, 16, 20, 23], "proport": 1, "its": [1, 2, 3, 4, 5, 6, 16, 18, 19], "ping": 1, "them": [1, 3, 4, 6, 14, 19], "necessari": [1, 9], "repeatedli": 1, "start": [1, 2, 5, 6, 9, 10, 11, 14, 20, 23], "part": [1, 4, 5, 14], "For": [1, 3, 4, 5, 6, 8, 9, 14, 20], "detail": [1, 2, 3, 8, 9, 14], "thoma": 1, "cokela": 1, "info": [1, 9], "tutori": 1, "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 5, 6, 9, 10, 13, 14, 16, 18], "develop": [1, 5, 8, 11, 14], "stabl": [1, 4], "against": 1, "accept": [1, 14, 15, 17, 21, 22], "api": [1, 4], "abi": 1, "chang": [1, 2, 3, 5, 9, 10, 14, 20], "e": [1, 2, 3, 4, 5, 8, 14, 15, 16, 17, 19, 20, 21, 22, 23], "name": [1, 2, 3, 5, 6, 8, 10, 14, 16, 18, 19, 20], "convent": 1, "master": [1, 3, 4], "semi": 1, "binari": 1, "good": [1, 4], "same": [1, 3, 4, 16], "build": [1, 14], "dai": 1, "2": [1, 3, 5, 8], "ros_distro": 1, "g": [1, 2, 3, 4, 5, 8, 14, 15, 17, 19, 21, 22, 23], "foxi": [1, 3, 5], "galact": 1, "releas": [1, 3, 5, 6], "version": [1, 4], "non": [1, 5, 16], "brake": 1, "distribut": [1, 23], "three": [1, 2, 3, 9, 14], "stage": 1, "current": [1, 4, 9, 10, 20], "futur": [1, 5], "compat": [1, 2, 5], "framework": [1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 14, 19, 23], "packag": [1, 2, 3, 6, 9, 11, 14, 16, 18, 20, 23], "show": [1, 3, 5, 6, 9, 10, 19], "direct": [1, 2, 4, 14], "local": [1, 19], "possibl": [1, 3, 4, 6, 14, 20], "core": 1, "immedi": 1, "depend": [1, 3, 9, 14, 20], "fail": 1, "expect": [1, 4, 20], "after": [1, 12, 14], "next": [1, 20], "sync": 1, "abl": 1, "potenti": [1, 14], "mid": 1, "robothw": 2, "rigid": 2, "ani": [2, 3, 5, 9, 14], "imposs": 2, "extend": [2, 3, 4, 14], "exist": [2, 3, 4, 6, 9, 14], "addit": [2, 4], "sensor": [2, 3, 4, 8, 9, 13], "actuat": [2, 3, 4, 8, 9], "tool": [2, 4, 5], "without": [2, 3, 8, 14], "combinedrobothardwar": 2, "drawback": [2, 23], "solut": [2, 5], "optim": [2, 6], "combin": [2, 8, 19, 20], "extern": [2, 3, 4, 8], "defin": [2, 3, 4, 8, 13, 14, 16, 18, 19, 20], "system": [2, 3, 4, 5, 9, 11, 20, 23], "composit": [2, 5], "basic": [2, 3, 4, 5, 14], "physic": [2, 3, 8, 9], "cell": [2, 16], "surround": 2, "describ": [2, 3], "multi": [2, 3, 4, 5, 11], "gripper": [2, 3, 8], "out": [2, 12], "box": 2, "allow": [2, 20], "joint": [2, 3, 5, 12, 13, 14, 15, 17, 19, 21, 22, 23], "posit": [2, 3, 5, 6, 10, 11, 13, 15, 17, 19, 20, 21, 22], "veloc": [2, 3, 5, 11, 13, 19, 20, 21, 22], "effort": [2, 13, 15, 17, 19, 20], "hard": [2, 4], "data": [2, 3, 4, 8, 19], "approach": 2, "doe": [2, 14, 20], "enforc": [2, 20], "string": [2, 8, 14, 19, 20], "ensur": [2, 5], "constant": 2, "hardware_interfac": [2, 3, 8, 9, 13, 14], "In": [2, 3, 4, 5, 14, 19], "had": 2, "request": [2, 19, 23], "itself": 2, "took": 2, "care": [2, 4, 14], "regist": 2, "resourc": 2, "conflict": [2, 3, 4], "resourcemanag": 2, "take": [2, 4, 14, 19], "state": [2, 3, 4, 5, 8, 9, 10, 11, 13, 14, 16, 19, 20], "avail": [2, 3, 5, 10, 11, 14, 19, 20], "enabl": [2, 3, 4, 5, 6, 9, 11, 16], "anymor": 2, "controllermanag": 2, "implement": [2, 3, 4, 5, 8, 11, 12, 13, 14, 20, 23], "systeminterfac": [2, 8], "granular": 2, "sensorinterfac": 2, "actuatorinterfac": 2, "abov": [2, 20], "choos": 2, "suitabl": [2, 5], "strategi": [2, 20], "decid": 2, "which": [2, 3, 4, 5, 10, 12, 14, 16, 18, 19, 20], "case": [2, 4, 5, 14, 19, 20, 23], "mayb": 2, "sens": [2, 3, 16], "multipl": [2, 3, 19, 20], "constructor": [2, 14], "initi": [2, 14], "variabl": [2, 4, 14], "need": [2, 3, 4, 5, 14], "commun": [2, 3, 4, 5], "default": [2, 3, 8, 19, 20], "configur": [2, 3, 4, 5, 6, 9, 10, 11, 14, 19, 20], "paramet": [2, 5, 14], "pars": [2, 7], "urdf": 2, "snippet": 2, "hardwareinfo": 2, "here": [2, 7, 14, 20], "cross": [2, 19], "valu": [2, 3, 4, 8, 14, 19, 20], "export_": 2, "_interfac": 2, "joint_a2": 2, "extract": [2, 12], "sensibl": 2, "stop": [2, 5, 6, 9, 10, 11, 12], "usual": [2, 8, 14], "includ": [2, 4, 9, 10, 14], "command": [2, 3, 4, 5, 7, 8, 11, 13, 14, 15, 17, 20, 21, 22, 23], "safe": [2, 12, 14, 20], "interrupt": [2, 6], "stream": [2, 5], "write": [2, 3, 4, 5, 13], "exchang": [2, 4], "equival": 2, "forget": 2, "pluginlib_export_class": [2, 14], "macro": [2, 3, 14], "end": [2, 3, 9, 14, 20], "cpp": [2, 14], "file": [2, 3, 4, 5, 6, 8, 14, 20], "creat": [2, 3, 5, 8, 14], "xml": [2, 9, 14], "librari": [2, 3, 4, 10, 14], "pluginlib": [2, 3, 14], "exampl": [2, 3, 4, 5, 8, 10, 11, 16, 19, 20, 23], "rrbotsystempositiononlyhardwar": [2, 3], "excel": 2, "jointtrajectorycontrol": [2, 10], "real": [2, 4, 5, 6, 8, 14, 19, 20, 23], "critic": [2, 4], "mark": 2, "controllerinterfac": [2, 3, 10, 14], "member": [2, 14], "init": [2, 14], "call": [2, 3, 14], "lifecycl": [2, 3, 5, 6, 9], "declar": [2, 14], "state_interface_configur": [2, 14], "command_interface_configur": [2, 14], "design": [2, 3, 4, 5, 23], "updat": [2, 3, 4, 14], "manag": [2, 4, 5, 7, 9, 10, 14, 23], "option": [2, 6, 8, 9, 10, 14, 16, 19, 20], "on_configur": [2, 14], "on_activ": [2, 9, 14], "on_deactiv": [2, 9, 14], "deactiv": [2, 3], "final": [2, 5, 9], "joint_trajectory_plugin": 2, "ros2": [3, 4, 5, 6, 10, 11, 14, 23], "instal": [3, 6, 14], "automat": [3, 12], "want": [3, 6], "workspac": [3, 14], "folder": [3, 5, 14], "wget": 3, "raw": 3, "githubusercont": 3, "com": [3, 4, 6], "vc": 3, "import": [3, 14, 20], "src": [3, 14], "found": [3, 7, 14, 20, 23], "github": [3, 4, 7, 13, 23], "repositori": [3, 4, 7, 13, 23], "figur": 3, "cm": 3, "connect": 3, "abstract": [3, 5, 9], "side": [3, 4, 5], "entri": [3, 14], "point": [3, 13, 14, 23], "through": [3, 4, 10, 12, 13, 14, 20, 23], "servic": [3, 4, 6, 9], "node": [3, 6, 8, 9, 10, 11, 14], "executor": 3, "so": [3, 14], "integr": [3, 4, 5, 8, 11, 20, 23], "custom": [3, 8, 16, 19], "setup": [3, 4, 14], "recommend": [3, 5], "ros2_control_nod": 3, "controller_manag": [3, 4, 6, 10, 14, 20], "manual": [3, 4, 14, 23], "assum": 3, "On": 3, "load": [3, 6, 10, 11, 14], "unload": [3, 6, 10], "access": [3, 4, 5, 6, 8, 14, 19], "match": 3, "provid": [3, 4, 5, 6, 8, 11, 13, 14, 19, 20, 23], "report": [3, 4, 19, 23], "error": [3, 4, 14, 19, 20], "execut": [3, 14, 20], "loop": [3, 5, 6, 14, 19, 20], "output": [3, 4, 5, 10, 16, 18, 20], "rm": 3, "driver": [3, 5], "re": 3, "usabl": 3, "flexibl": 3, "motor": [3, 4], "encod": 3, "deal": 3, "theori": [3, 23], "compar": [3, 4, 5], "refer": 3, "measur": [3, 8, 16, 19], "base": [3, 5, 9, 10, 12, 14], "calcul": 3, "input": [3, 4, 5, 12, 20], "visit": 3, "wikipedia": [3, 23], "object": 3, "deriv": 3, "controller_interfac": [3, 4, 10, 14, 16, 18], "export": [3, 14], "plugin": [3, 9, 14], "forwardcommandcontrol": 3, "lifecyclenod": 3, "class": [3, 5, 9, 10, 14], "machin": [3, 4], "document": [3, 4, 5, 8], "latest": 3, "interact": [3, 5, 6, 10], "list": [3, 5, 9, 10, 11, 13, 14, 20, 23], "definit": [3, 13, 14, 16], "srv": 3, "controller_manager_msg": 3, "while": [3, 4, 5, 11, 20], "directli": [3, 23], "line": [3, 7, 9, 14, 19], "via": 3, "friendli": 3, "cli": [3, 7, 10], "auto": 3, "complet": [3, 9, 13], "rang": 3, "common": [3, 4, 13, 19, 23], "capabl": [3, 4], "readm": 3, "md": 3, "ros2controlcli": 3, "realiz": [3, 5], "repres": [3, 9], "dynam": [3, 14], "There": [3, 6, 9, 14], "complex": [3, 4, 5], "dof": 3, "differ": [3, 4, 5, 15, 16, 17, 19, 21, 22], "between": [3, 4, 9, 19, 20], "transmiss": 3, "humanoid": 3, "hand": 3, "logic": 3, "channel": 3, "kuka": 3, "rsi": 3, "A": [3, 5, 14, 19, 20], "relat": [3, 4, 5], "link": [3, 5, 9], "forc": [3, 5, 10, 13], "torqu": [3, 13], "simpl": [3, 4, 5, 11, 14], "valv": 3, "mandatori": [3, 16, 18, 20], "dc": 3, "arduino": 3, "board": 3, "modular": [3, 5], "independ": 3, "explan": 3, "given": [3, 20], "tag": [3, 14, 23], "chosen": 3, "structur": [3, 4, 14, 20], "track": [3, 23], "togeth": 3, "xacro": 3, "hereund": 3, "rrbot": [3, 11], "parallel": [3, 8], "effector": 3, "rrbotsystempositiononli": 3, "ros2_control_demo_hardwar": [3, 11], "param": [3, 6, 8], "example_param_write_for_sec": 3, "example_param_read_for_sec": 3, "joint1": [3, 8, 10, 11, 20], "command_interfac": [3, 20], "min": 3, "max": 3, "state_interfac": [3, 20], "joint2": [3, 10, 11, 20], "rrbotforcetorquesensor1d": 3, "forcetorquesensor1dhardwar": 3, "0": [3, 8, 19, 20], "43": 3, "tcp_fts_sensor": 3, "frame_id": [3, 16, 18], "rrbot_tcp": 3, "min_forc": 3, "100": 3, "max_forc": 3, "rrbotgripp": 3, "positionactuatorhardwar": 3, "23": 3, "3": [3, 4], "gripper_joint": 3, "50": [3, 6, 20], "yaml": [3, 4, 20], "instead": [3, 8, 20], "pure": [3, 20], "launch": [3, 6, 8, 11], "stack": [3, 5], "could": [3, 5, 14, 19, 20], "altern": [3, 20], "script": [3, 4, 14], "skeleton": 3, "orbit": 4, "around": [4, 16, 18], "everyth": [4, 14], "goal": [4, 5, 20, 23], "long": 4, "run": [4, 5, 6, 10], "task": [4, 5, 12], "interfac": [4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 18, 23], "user": 4, "thread": [4, 6], "protect": [4, 14], "memori": [4, 14], "buffer": [4, 23], "control_toolbox": [4, 23], "second": [4, 10, 14, 23], "frequenc": 4, "high": 4, "rate": [4, 20], "khz": 4, "variou": 4, "anoth": 4, "heartbeat": 4, "signal": 4, "sent": 4, "onc": [4, 5], "per": [4, 16], "500": 4, "hz": 4, "failur": [4, 9], "relev": [4, 23], "draft": 4, "trigger": 4, "skill": 4, "prefer": 4, "c": [4, 6, 10, 14], "trick": 4, "mentor": 4, "benc": [4, 5], "magyar": [4, 5], "deni": [4, 5], "\u0161togl": [4, 5], "size": 4, "350": 4, "hour": 4, "difficulti": 4, "about": [4, 8, 19, 23], "org": [4, 6], "gener": [4, 5, 14, 20, 23], "envis": 4, "simul": [4, 8, 11], "gazebo": 4, "ignit": 4, "showcas": [4, 5], "grace": 4, "degrad": 4, "architectur": [4, 5], "roadmap": [4, 23], "place": [4, 14, 20], "gpio": 4, "mode": [4, 20], "switch": [4, 10], "movement": 4, "safeti": 4, "familiar": [4, 23], "medium": 4, "focus": [4, 5], "although": [4, 9], "easi": 4, "therefor": [4, 6, 14, 19, 20], "often": [4, 8, 14, 19], "orchestr": 4, "purpos": 4, "conductor": 4, "scenario": 4, "appropri": 4, "moment": 4, "right": 4, "replac": [4, 9], "level": [4, 5, 15, 17, 20, 21, 22], "moveit2": [4, 5], "simplecontrollermanag": 4, "form": 4, "behavior": [4, 8], "benchmark": 4, "statu": [4, 9, 10, 20], "publish": [4, 12, 16, 18, 19, 20, 23], "topic": [4, 5, 20], "format": [4, 19], "preset": 4, "modul": 4, "specif": [4, 9, 19, 20], "reli": 4, "doubl": [4, 8, 20], "desir": [4, 20], "howev": [4, 6], "both": [4, 5, 19], "improv": 4, "readabl": 4, "earlier": 4, "concept": [4, 5, 8, 11], "were": 4, "introduc": [4, 5], "essenti": 4, "group": [4, 20, 23], "instanc": [4, 19], "imu": [4, 13], "typic": [4, 19, 20], "9": 4, "axi": [4, 16], "aceleromet": 4, "gyroscop": 4, "compass": 4, "respect": [4, 5], "Such": 4, "struct": 4, "low": [4, 5], "profil": 4, "intern": [4, 20], "addition": [4, 23], "few": [4, 5], "pull": 4, "45": 4, "tree": 4, "semantic_compon": 4, "175": 4, "rewrit": [4, 23], "ros_control": [4, 5, 23], "rich": 4, "wa": [4, 14], "motiv": 4, "adopt": 4, "port": [4, 9], "most": [4, 14], "quit": 4, "miss": [4, 19], "diff_drive_control": [4, 10], "joint_trajectory_control": [4, 10], "consist": [4, 20, 23], "identifi": 4, "much": [4, 14], "303": 4, "304": 4, "stretch": 4, "realtime_tool": [4, 23], "81": 4, "302": 4, "unit": 4, "gmock": 4, "cc": 5, "BY": 5, "licens": 5, "author": 5, "either": 5, "down": 5, "below": 5, "my": 5, "company_nam": 5, "tricycl": 5, "control": [5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23], "event": 5, "pixel": 5, "prefac": 5, "introduct": [5, 20], "johann": 5, "plapp": 5, "toni": 5, "najjar": 5, "kernel": [5, 6], "hardwar": [5, 6, 7, 8, 11, 13, 14, 23], "agnost": 5, "share": [5, 14], "well": [5, 6, 10, 20], "perform": [5, 6], "heavi": 5, "dr": 5, "stogl": 5, "consult": 5, "practition": 5, "guid": [5, 14], "top": 5, "virtual": 5, "talk": 5, "delv": 5, "deeper": 5, "what": 5, "explicit": [5, 20], "chain": 5, "emerg": 5, "handler": 5, "mock": 5, "usag": [5, 6, 10], "openli": 5, "record": 5, "fiveai": 5, "ltd": 5, "best": [5, 6, 14], "focu": 5, "becom": 5, "util": 5, "3rd": 5, "parti": 5, "nav2": 5, "practic": 5, "tip": 5, "hot": 5, "shown": 5, "furthermor": 5, "get": [5, 9, 23], "reus": 5, "inject": 5, "offer": [5, 6], "expos": 5, "problem": [5, 23], "manipul": [5, 20], "path": 5, "plan": [5, 23], "autonom": 5, "navig": 5, "ideal": [5, 8], "made": [5, 9], "mobil": [5, 12], "arm": 5, "extra": [5, 19], "readi": [5, 14], "power": 5, "studi": 5, "ur": 5, "With": 5, "moveit": [5, 8], "ingredi": 5, "scale": 5, "factor": 5, "teach": 5, "pendant": 5, "influenc": 5, "picknik": 5, "inc": 5, "nathan": 5, "brook": 5, "lovro": 5, "ivanov": 5, "andi": 5, "zelenak": 5, "rune": 5, "s\u00f8e": 5, "knudsen": 5, "onlin": [5, 14], "trajectori": [5, 13, 23], "admitt": 5, "One": 5, "reason": 5, "upgrad": 5, "ros1": 5, "better": 5, "realtim": [5, 12, 20, 23], "contact": 5, "insert": 5, "singl": 5, "waypoint": [5, 13, 20], "mani": [5, 14], "teleoper": 5, "involv": 5, "kinemat": 5, "acceler": [5, 11, 12, 13, 20], "jerk": [5, 12], "obei": 5, "demo": 5, "booth": 5, "zeleank": 5, "unifi": 5, "life": 5, "cycl": 5, "go": [5, 14], "_control": 5, "wild": 5, "materi": 5, "quick": [5, 9], "overview": 5, "layer": 5, "aka": 5, "systemcompon": 5, "forward": [5, 8, 13, 20, 23], "done": [5, 14], "look": 5, "modifi": 5, "simpli": [5, 20], "net": 5, "edit": 5, "collect": [5, 15, 17, 21, 22], "semant": [5, 16, 18], "world": [6, 8], "littl": 6, "jitter": 6, "normal": 6, "linux": 6, "comput": [6, 12], "throughput": 6, "suit": 6, "attempt": [6, 20], "sched_fifo": 6, "prioriti": 6, "rt": 6, "permiss": 6, "syscal": 6, "easiest": [6, 14], "ubuntu": 6, "22": 6, "04": 6, "lt": 6, "beta": 6, "blog": 6, "imag": 6, "amd64": 6, "debian": 6, "bullsey": 6, "startup": 6, "h": [6, 10, 14], "p": 6, "param_fil": 6, "controller_typ": 6, "timeout": [6, 10], "controller_manager_timeout": 6, "controller_nam": [6, 10, 14], "argument": [6, 10], "exit": [6, 10], "leav": 6, "unconfigur": [6, 9], "namespac": [6, 13, 14, 19, 20], "kill": [6, 10], "wait": [6, 10], "until": 6, "doxygen": 7, "fake": 7, "mirror": 8, "correspond": [8, 14, 23], "offlin": 8, "advantag": 8, "pipe": 8, "insid": 8, "broadcast": [8, 19], "even": 8, "debug": 8, "boost": 8, "mimic": 8, "offset": [8, 19, 20], "fake_sensor_command": 8, "boolean": [8, 19, 20], "fals": [8, 19, 20], "position_state_following_offset": 8, "custom_interface_with_following_offset": 8, "map": [8, 19, 20], "multipli": 8, "mimick": 8, "return_typ": [9, 14], "return": [9, 14, 19], "on_error": 9, "previous_st": 9, "success": [9, 14], "callbackreturn": 9, "again": [9, 11], "recov": 9, "reload": [9, 10], "substanti": 9, "renam": 9, "on_init": 9, "baseinterfac": 9, "remov": 9, "base_interfac": 9, "hpp": [9, 14], "hardware_interface_status_valu": 9, "rclcpp_lifecycl": [9, 14], "mai": [9, 15, 17, 21, 22], "strictli": 9, "last": [9, 14, 20], "status_": 9, "const": 9, "in_deactiv": 9, "undefin": 9, "refern": 9, "symbol": 9, "node_interfac": 9, "lifecyclenodeinterfac": 9, "rclcpp_lifecyl": 9, "cmakelist": [9, 14], "txt": [9, 14], "spin": 10, "spin_tim": 10, "hidden": 10, "discoveri": 10, "appli": 10, "alreadi": [10, 14, 20], "daemon": 10, "test_controller_nam": 10, "test_control": 10, "diffdrivecontrol": 10, "joint_state_control": 10, "jointstatecontrol": 10, "unclaim": [10, 11], "set_stat": 10, "adjust": 10, "strict": 10, "asap": 10, "switch_timeout": 10, "templat": [11, 14, 20], "demonstr": 11, "prove": 11, "comprehens": 11, "ros2_control_demo_bringup": 11, "gui": 11, "ros2_control_test_nod": 11, "rrbot_system_multi_interfac": 11, "py": 11, "list_hardware_interfac": 11, "load_control": 11, "forward_position_control": 11, "forward_velocity_control": 11, "forward_acceleration_control": 11, "forward_illegal1_control": 11, "forward_illegal2_control": 11, "joint_state_broadcast": 11, "set_controller_st": 11, "claim": 11, "now": [11, 14], "let": 11, "switch_control": 11, "inde": 11, "been": 11, "differenti": [12, 13, 23], "drive": [12, 13, 23], "bodi": 12, "translat": 12, "wheel": 12, "odometri": 12, "feedback": [12, 19, 20], "twist": 12, "x": [12, 16, 18], "linear": [12, 20], "z": [12, 16], "angular": 12, "ignor": [12, 20], "space": [12, 20], "sort": [13, 14], "accord": [13, 20], "position_control": [13, 20], "hw_if_posit": 13, "velocity_control": 13, "hw_if_veloc": 13, "effort_control": 13, "hw_if_acceler": 13, "hw_if_effort": 13, "interpol": [13, 20], "step": [14, 20, 23], "compil": 14, "rule": 14, "prepar": 14, "ament_cmak": 14, "search": 14, "recent": 14, "process": 14, "pkg": 14, "flag": [14, 20], "least": [14, 20], "package_nam": 14, "visibility_control": 14, "window": 14, "copi": 14, "prefix": [14, 16, 18], "guard": 14, "ifndef": 14, "preprocessor": 14, "engin": 14, "friend": 14, "uniqu": 14, "written": 14, "snake_cas": 14, "controllernam": 14, "public": 14, "overrid": 14, "exact": 14, "vector": 14, "store": 14, "simplifi": [14, 23], "further": 14, "parent": 14, "reserv": 14, "importantli": 14, "fine": 14, "ok": 14, "otherwis": [14, 19], "individu": 14, "none": [14, 19], "ask": [14, 19], "full": 14, "joint_nam": [14, 20], "interface_typ": 14, "assign": 14, "opposit": 14, "empti": 14, "constraint": [14, 20], "At": 14, "close": 14, "class_list_macro": 14, "controller_name_namespac": 14, "visibl": 14, "controller_name_packag": 14, "bottom": 14, "test_load_": 14, "content": 14, "specifi": [14, 20], "find_packag": 14, "rclcpp": 14, "directori": 14, "ament": 14, "cmake": 14, "pluginlib_export_plugin_description_fil": 14, "ament_cmake_gmock": 14, "ros2_control_test_asset": 14, "ament_add_gmock": 14, "ament_export_librari": 14, "ament_packag": 14, "test_depend": 14, "colcon": 14, "rememb": 14, "root": 14, "bash": 14, "enjoi": 14, "great": 14, "shell": 14, "certain": [15, 17, 21, 22], "achiev": [15, 17, 21, 22], "These": [15, 17, 21, 22], "geometry_msg": 16, "msg": [16, 18, 20], "wrenchstamp": 16, "wrapper": [16, 18], "forcetorquesensor": 16, "sensor_nam": [16, 18], "interface_nam": 16, "frame": [16, 18], "6d": 16, "ft": 16, "y": 16, "less": 16, "six": 16, "ax": 16, "example_nam": 16, "example_interfac": 16, "sensor_msg": 18, "imusensor": 18, "orient": 18, "angular_veloc": 18, "linear_acceler": 18, "joint_stat": 19, "dynamic_joint_st": 19, "By": [19, 20], "unless": 19, "latter": 19, "matrix": 19, "product": 19, "print": 19, "warn": 19, "use_local_top": 19, "my_state_broadcast": 19, "arrai": 19, "extra_joint": 19, "map_interface_to_joint_st": 19, "field": 19, "usecas": 19, "hydraul": [19, 20], "relianc": 19, "would": 19, "visual": 19, "robot_state_publish": 19, "rviz": 19, "techniqu": 19, "slightli": 19, "custom_interfac": 19, "kf_estimated_posit": 19, "derived_veloc": 19, "derived_effort": 19, "torque_sensor": 19, "current_sensor": 19, "reach": 20, "instant": 20, "mechan": 20, "spline": 20, "guarante": 20, "continu": 20, "discourag": 20, "becaus": 20, "yield": 20, "discontinu": 20, "cubic": 20, "quintic": 20, "pid": [20, 23], "similarli": 20, "eg": 20, "proxi": 20, "wrap": 20, "robust": 20, "clock": 20, "caus": 20, "queu": 20, "segment": 20, "ros__paramet": 20, "joint3": 20, "joint4": 20, "joint5": 20, "joint6": 20, "state_publish_r": 20, "action_monitor_r": 20, "20": 20, "allow_partial_joints_go": 20, "open_loop_control": 20, "true": 20, "stopped_velocity_toler": 20, "01": [20, 23], "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, "09": 23, "31": 23, "built": 23, "gmt": 23}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"acknowledg": 0, "pull": 1, "request": 1, "rule": 1, "repositori": [1, 11], "process": 1, "merg": 1, "write": [1, 9, 14], "document": [1, 7, 23], "structur": [1, 2], "ci": 1, "configur": 1, "differ": 2, "ros_control": 2, "ros1": [2, 4], "hardwar": [2, 3, 4, 9, 12, 15, 17, 19, 20, 21, 22], "class": 2, "interfac": [2, 3, 10, 12, 15, 17, 19, 20, 21, 22], "control": [2, 3, 4, 6, 13, 14, 20], "": [2, 20], "access": 2, "migrat": [2, 9], "guid": 2, "ros2_control": [2, 4, 13, 23], "robothardwar": 2, "compon": [2, 3, 4, 8, 9], "get": 3, "start": 3, "compil": 3, "architectur": 3, "manag": [3, 6], "resourc": [3, 5], "user": 3, "descript": 3, "urdf": 3, "run": 3, "framework": 3, "your": 3, "robot": [3, 5], "project": 4, "idea": 4, "gsoc": 4, "2022": [4, 5], "asynchron": 4, "tutori": 4, "demo": [4, 11], "mission": 4, "add": 4, "support": 4, "semant": 4, "featur": [4, 7, 12, 20], "pariti": 4, "from": [4, 9], "present": 5, "2023": 5, "02": 5, "ro": 5, "meetup": 5, "munich": 5, "5": 5, "12": 5, "industri": 5, "confer": 5, "10": 5, "roscon": 5, "06": 5, "fr": 5, "2021": 5, "world": 5, "07": 5, "weekli": 5, "13": 5, "rosdevdai": 5, "05": 5, "diagram": 5, "imag": 5, "determin": 6, "helper": 6, "script": 6, "spawner": 6, "unspawn": 6, "api": 7, "core": 7, "function": 7, "concept": 7, "fake": 8, "gener": 8, "system": 8, "paramet": [8, 16, 18, 19, 20], "per": 8, "joint": [8, 20], "handl": 9, "error": 9, "happen": 9, "dure": 9, "read": 9, "call": 9, "foxi": 9, "galact": [9, 23], "command": [10, 12, 19], "line": 10, "list_control": 10, "list_controller_typ": 10, "list_hardware_interfac": 10, "load_control": 10, "reload_controller_librari": 10, "set_controller_st": 10, "switch_control": 10, "unload_control": 10, "organ": 11, "mode": 11, "switch": 11, "diff_drive_control": 12, "veloc": 12, "type": [12, 15, 17, 19, 20, 21, 22], "other": [12, 20], "nomenclatur": 13, "guidelin": 13, "best": 13, "practic": 13, "avail": 13, "broadcast": [13, 16, 18], "new": 14, "us": [14, 20], "extern": 14, "refer": 14, "effort_control": 15, "forc": 16, "torqu": 16, "sensor": [16, 18], "forward_command_control": 17, "imu": 18, "joint_state_broadcast": 19, "joint_trajectory_control": 20, "trajectori": 20, "represent": 20, "detail": 20, "about": 20, "ros2": 20, "special": 20, "version": 20, "jointtrajectorycontrol": 20, "tbd": 20, "position_control": 21, "velocity_control": 22, "welcom": 23, "overview": 23, "develop": 23, "organis": 23, "commun": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Acknowledgements": [[0, "acknowledgements"]], "Pull Requests": [[1, "pull-requests"]], "Rules for the repositories and process of merging pull requests": [[1, "rules-for-the-repositories-and-process-of-merging-pull-requests"]], "Writing documentation": [[1, "writing-documentation"]], "Repository structure and CI configuration": [[1, "repository-structure-and-ci-configuration"]], "CI configuration": [[1, "ci-configuration"]], "Differences to ros_control (ROS1)": [[2, "differences-to-ros-control-ros1"]], "Hardware Structures - classes": [[2, "hardware-structures-classes"]], "Hardware Interfaces": [[2, "hardware-interfaces"]], "Controller\u2019s Access to Hardware": [[2, "controller-s-access-to-hardware"]], "Migration Guide to ros2_control": [[2, "migration-guide-to-ros2-control"]], "RobotHardware to Components": [[2, "robothardware-to-components"]], "Controller Migration": [[2, "controller-migration"]], "Getting Started": [[3, "getting-started"]], "Compiling": [[3, "compiling"]], "Architecture": [[3, "architecture"]], "Controller Manager": [[3, "controller-manager"], [6, "controller-manager"]], "Resource Manager": [[3, "resource-manager"]], "Controllers": [[3, "controllers"], [13, "id1"]], "User Interfaces": [[3, "user-interfaces"]], "Hardware Components": [[3, "hardware-components"], [9, "hardware-components"]], "Hardware Description in URDF": [[3, "hardware-description-in-urdf"]], "Running the Framework for Your Robot": [[3, "running-the-framework-for-your-robot"]], "Project Ideas for GSoC 2022": [[4, "project-ideas-for-gsoc-2022"]], "Asynchronous Control Components": [[4, "asynchronous-control-components"]], "Tutorials and Demos for ros2_control": [[4, "tutorials-and-demos-for-ros2-control"]], "Mission-Control for ros2_control": [[4, "mission-control-for-ros2-control"]], "Add support for hardware semantic components": [[4, "add-support-for-hardware-semantic-components"]], "Feature-parity for controllers from ROS1": [[4, "feature-parity-for-controllers-from-ros1"]], "Resources": [[5, "resources"]], "Presentations": [[5, "presentations"]], "2023-02 ROS Meetup Munich #5": [[5, "ros-meetup-munich-5"]], "2022-12 ROS-Industrial Conference 2022": [[5, "ros-industrial-conference-2022"]], "2022-10 ROSCon 2022": [[5, "roscon-2022"]], "2022-06 ROSCon Fr 2022": [[5, "roscon-fr-2022"]], "2021-10 ROS World 2021": [[5, "ros-world-2021"]], "2021-10-07 Weekly Robotics Meetup #13": [[5, "weekly-robotics-meetup-13"]], "2021-06 ROSDevDay 2021": [[5, "rosdevday-2021"]], "2021-05 ROSCon Fr 2021": [[5, "roscon-fr-2021"]], "Diagrams": [[5, "diagrams"]], "Images": [[5, "images"]], "Determinism": [[6, "determinism"]], "Helper scripts": [[6, "helper-scripts"]], "spawner": [[6, "spawner"]], "unspawner": [[6, "unspawner"]], "API Documentation": [[7, "api-documentation"]], "Core functionalities": [[7, "core-functionalities"]], "Features": [[7, "features"]], "Concepts": [[7, "concepts"]], "Fake Components": [[8, "fake-components"]], "Generic System": [[8, "generic-system"]], "Parameters": [[8, "parameters"], [16, "parameters"], [18, "parameters"], [19, "parameters"]], "Per-joint Parameters": [[8, "per-joint-parameters"]], "Handling of errors that happen during read() and write() calls": [[9, "handling-of-errors-that-happen-during-read-and-write-calls"]], "Migration from Foxy to Galactic": [[9, "migration-from-foxy-to-galactic"]], "Command Line Interface": [[10, "command-line-interface"]], "list_controllers": [[10, "list-controllers"]], "list_controller_types": [[10, "list-controller-types"]], "list_hardware_interfaces": [[10, "list-hardware-interfaces"]], "load_controller": [[10, "load-controller"]], "reload_controller_libraries": [[10, "reload-controller-libraries"]], "set_controller_state": [[10, "set-controller-state"]], "switch_controllers": [[10, "switch-controllers"]], "unload_controller": [[10, "unload-controller"]], "Demos": [[11, "demos"]], "Repository organization": [[11, "repository-organization"]], "Mode switching demo": [[11, "mode-switching-demo"]], "diff_drive_controller": [[12, "diff-drive-controller"]], "Velocity commands": [[12, "velocity-commands"]], "Hardware interface type": [[12, "hardware-interface-type"], [15, "hardware-interface-type"], [17, "hardware-interface-type"], [19, "hardware-interface-type"], [20, "hardware-interface-type"], [21, "hardware-interface-type"], [22, "hardware-interface-type"]], "Other features": [[12, "other-features"], [20, "other-features"]], "ros2_controllers": [[13, "ros2-controllers"]], "Nomenclature": [[13, "nomenclature"]], "Guidelines and Best Practices": [[13, "guidelines-and-best-practices"]], "Available Controllers": [[13, "available-controllers"]], "Available Broadcasters": [[13, "available-broadcasters"]], "Writing a new controller": [[14, "writing-a-new-controller"]], "Useful External References": [[14, "useful-external-references"]], "effort_controllers": [[15, "effort-controllers"]], "Force Torque Sensor Broadcaster": [[16, "force-torque-sensor-broadcaster"]], "forward_command_controller": [[17, "forward-command-controller"]], "IMU Sensor Broadcaster": [[18, "imu-sensor-broadcaster"]], "joint_state_broadcaster": [[19, "joint-state-broadcaster"]], "Commands": [[19, "commands"]], "joint_trajectory_controller": [[20, "joint-trajectory-controller"]], "Trajectory representation": [[20, "trajectory-representation"]], "Using Joint Trajectory Controller(s)": [[20, "using-joint-trajectory-controller-s"]], "Details about parameters": [[20, "details-about-parameters"]], "ROS2 interface of the controller": [[20, "ros2-interface-of-the-controller"]], "Specialized versions of JointTrajectoryController (TBD in \u2026)": [[20, "specialized-versions-of-jointtrajectorycontroller-tbd-in"]], "position_controllers": [[21, "position-controllers"]], "velocity_controllers": [[22, "velocity-controllers"]], "Welcome to the ros2_control documentation - Galactic!": [[23, "welcome-to-the-ros2-control-documentation-galactic"]], "Overview": [[23, "overview"]], "Development Organisation and Communication": [[23, "development-organisation-and-communication"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["doc/acknowledgements/acknowledgements", "doc/contributing/contributing", "doc/differences_to_ros1/differences_to_ros1", "doc/getting_started/getting_started", "doc/project_ideas", "doc/resources/resources", "doc/ros2_control/controller_manager/doc/userdoc", "doc/ros2_control/doc/index", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc", "doc/ros2_control/ros2controlcli/doc/userdoc", "doc/ros2_control_demos/doc/index", "doc/ros2_controllers/diff_drive_controller/doc/userdoc", "doc/ros2_controllers/doc/controllers_index", "doc/ros2_controllers/doc/writing_new_controller", "doc/ros2_controllers/effort_controllers/doc/userdoc", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/forward_command_controller/doc/userdoc", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc", "doc/ros2_controllers/position_controllers/doc/userdoc", "doc/ros2_controllers/velocity_controllers/doc/userdoc", "index"], "filenames": ["doc/acknowledgements/acknowledgements.rst", "doc/contributing/contributing.rst", "doc/differences_to_ros1/differences_to_ros1.rst", "doc/getting_started/getting_started.rst", "doc/project_ideas.rst", "doc/resources/resources.rst", "doc/ros2_control/controller_manager/doc/userdoc.rst", "doc/ros2_control/doc/index.rst", "doc/ros2_control/hardware_interface/doc/fake_components_userdoc.rst", "doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.rst", "doc/ros2_control/ros2controlcli/doc/userdoc.rst", "doc/ros2_control_demos/doc/index.rst", "doc/ros2_controllers/diff_drive_controller/doc/userdoc.rst", "doc/ros2_controllers/doc/controllers_index.rst", "doc/ros2_controllers/doc/writing_new_controller.rst", "doc/ros2_controllers/effort_controllers/doc/userdoc.rst", "doc/ros2_controllers/force_torque_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/forward_command_controller/doc/userdoc.rst", "doc/ros2_controllers/imu_sensor_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.rst", "doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.rst", "doc/ros2_controllers/position_controllers/doc/userdoc.rst", "doc/ros2_controllers/velocity_controllers/doc/userdoc.rst", "index.rst"], "titles": ["Acknowledgements", "Pull Requests", "Differences to ros_control (ROS1)", "Getting Started", "Project Ideas for GSoC 2022", "Resources", "Controller Manager", "API Documentation", "Fake Components", "Hardware Components", "Command Line Interface", "Demos", "diff_drive_controller", "ros2_controllers", "Writing a new controller", "effort_controllers", "Force Torque Sensor Broadcaster", "forward_command_controller", "IMU Sensor Broadcaster", "joint_state_broadcaster", "joint_trajectory_controller", "position_controllers", "velocity_controllers", "Welcome to the ros2_control documentation - Galactic!"], "terms": {"The": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23], "project": [0, 1, 23], "ha": [0, 1, 3, 4, 5, 14, 19], "receiv": [0, 2], "major": 0, "contribut": [0, 1, 5], "from": [0, 1, 2, 3, 5, 6, 8, 10, 12, 14, 16, 18, 20, 23], "follow": [0, 1, 2, 3, 4, 8, 9, 10, 11, 13, 14, 20, 23], "compani": [0, 5], "institut": 0, "support": [0, 2, 3, 5, 8, 10, 14, 19, 20, 23], "rosin": 0, "ro": [0, 1, 3, 4, 6, 8, 10, 23], "industri": [0, 3, 4], "qualiti": [0, 1], "assur": 0, "robot": [0, 2, 4, 11, 12, 16, 19, 23], "softwar": [0, 3], "compon": [0, 5, 6, 7, 12, 16, 18, 23], "more": [0, 1, 2, 3, 4, 8, 14], "inform": [0, 8, 14, 23], "http": [0, 1, 3, 4, 6], "eu": 0, "thi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23], "fund": 0, "european": 0, "union": 0, "": [0, 1, 3, 4, 5, 11, 14, 23], "horizon": 0, "2020": 0, "research": [0, 5], "innov": 0, "programm": 0, "under": [0, 5, 14, 23], "grant": 0, "agreement": 0, "732287": 0, "first": [1, 2, 9, 14], "thank": 1, "you": [1, 2, 3, 5, 6, 8, 9, 14, 23], "consid": [1, 10], "ros2_control": [1, 3, 5, 6, 8, 9, 11, 14], "As": [1, 14], "an": [1, 2, 3, 4, 5, 8, 10, 14, 19, 20], "open": [1, 19, 20], "sourc": [1, 3, 5, 14], "we": [1, 4, 5, 9, 19], "welcom": 1, "each": [1, 3, 4, 9, 19], "contributor": 1, "regardless": 1, "background": 1, "experi": 1, "To": [1, 2, 3, 6, 19, 23], "reduc": [1, 8], "entropi": 1, "univers": [1, 4, 5], "our": [1, 3, 4, 5], "vivid": 1, "collabor": 1, "environ": [1, 3, 5], "have": [1, 2, 3, 4, 6, 8, 9, 11, 14, 19, 20], "set": [1, 2, 4, 5, 6, 8, 9, 10, 11, 15, 17, 19, 20, 21, 22], "up": [1, 5, 11], "some": [1, 4, 5, 19, 20, 23], "standard": [1, 2, 3, 4, 5, 10, 13, 16, 19], "method": [1, 2, 3, 9, 14], "requir": [1, 2, 3, 4, 14], "ar": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 23], "limit": [1, 4, 5, 12], "scope": 1, "your": [1, 2, 5, 8, 14, 23], "pr": 1, "should": [1, 2, 4, 5, 6, 9, 10, 11, 14, 19], "do": [1, 2, 3, 4, 5, 6, 14, 20], "one": [1, 2, 3, 4, 5, 14, 16, 19, 23], "thing": 1, "avoid": [1, 14], "ad": [1, 4, 8, 14, 19], "random": 1, "fix": [1, 2], "put": [1, 14], "those": [1, 2, 3, 4, 8, 14, 16, 19, 20], "separ": [1, 2, 3, 19], "give": [1, 3, 5, 23], "descript": [1, 2, 5, 9, 14], "titl": 1, "add": [1, 2, 9, 14], "short": [1, 14, 23], "summari": [1, 5, 23], "make": [1, 2, 4, 5, 6, 23], "sure": [1, 4, 23], "pipelin": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "green": 1, "don": 1, "t": [1, 6], "afraid": 1, "review": [1, 4, 23], "maintain": [1, 3, 4], "new": [1, 5, 13, 20, 23], "code": [1, 2, 4, 5, 14], "test": [1, 4, 8, 11, 14], "If": [1, 2, 3, 6, 9, 14, 16, 19, 20, 23], "function": [1, 2, 3, 4, 5, 6], "alwai": 1, "exercis": 1, "serv": [1, 3, 4], "live": [1, 5], "origin": [1, 5], "intent": [1, 8], "section": [1, 2, 14], "target": [1, 13, 14, 20], "also": [1, 2, 3, 4, 5, 14], "read": [1, 2, 3, 14, 19, 20], "understand": [1, 4], "how": [1, 4, 5, 14], "handl": [1, 2, 4, 5, 20], "organ": [1, 5, 23], "guidelin": 1, "especi": [1, 2], "applic": [1, 3, 5, 6], "ros2_control_demo": [1, 3, 23], "pleas": [1, 23], "keep": [1, 14], "mind": [1, 14], "work": [1, 4, 5, 12, 14, 15, 17, 19, 20, 21, 22, 23], "fork": 1, "when": [1, 2, 3, 4, 6, 8, 10, 14, 20], "submit": [1, 5], "That": [1, 14], "wai": [1, 14, 16], "main": [1, 3, 4, 5, 6, 8, 14, 23], "repo": [1, 3], "clean": [1, 4], "featur": [1, 5, 8, 23], "branch": 1, "all": [1, 2, 3, 4, 5, 8, 9, 11, 14, 19, 20], "check": [1, 2, 3, 4, 8, 9, 11, 14, 20, 23], "satisfi": 1, "befor": [1, 2, 6, 14], "thei": [1, 2, 3, 4, 5, 8, 10, 13, 14, 20], "can": [1, 2, 3, 4, 5, 7, 8, 9, 14, 16, 20, 23], "must": 1, "approv": 1, "two": [1, 3, 4, 6, 14, 16], "explicitli": 1, "onli": [1, 2, 3, 4, 5, 6, 9, 10, 14, 16, 19, 20], "except": 1, "other": [1, 2, 3, 5, 14, 19], "activ": [1, 2, 3, 10, 19], "where": [1, 4, 14, 19], "back": 1, "traceabl": 1, "discuss": [1, 5, 23], "suffici": [1, 16], "note": [1, 3, 11, 23], "still": [1, 2, 3], "encourag": 1, "help": [1, 6, 10, 14], "u": [1, 6], "increas": 1, "pace": 1, "veri": [1, 2, 4], "like": [1, 2, 3, 4, 5], "find": 1, "issu": [1, 4, 23], "nobodi": 1, "els": 1, "see": [1, 2, 3, 11, 14, 16, 18, 20], "squash": 1, "commit": 1, "messag": [1, 4, 6, 10, 16, 18, 19, 20, 23], "comment": 1, "fixup": 1, "linter": 1, "us": [1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 18, 19, 21, 22, 23], "pre": 1, "correct": [1, 2, 20], "header": [1, 9, 14], "address": [1, 4], "similar": [1, 3, 5], "mean": [1, 2, 8], "result": [1, 3, 19], "exactli": 1, "1": [1, 3, 4, 5, 8, 14], "cowboi": 1, "style": [1, 14], "over": [1, 4], "weekend": 1, "It": [1, 2, 3, 4, 6, 16, 19], "doesn": 1, "matter": 1, "trivial": [1, 8], "peopl": 1, "chanc": 1, "proper": [1, 20], "Be": 1, "awar": 1, "impact": 1, "time": [1, 2, 4, 5, 6, 8, 10, 12, 14, 16, 20, 23], "proport": 1, "its": [1, 2, 3, 4, 5, 6, 16, 18, 19], "ping": 1, "them": [1, 3, 4, 6, 14, 19], "necessari": [1, 9], "repeatedli": 1, "start": [1, 2, 5, 6, 9, 10, 11, 14, 20, 23], "part": [1, 4, 5, 14], "For": [1, 3, 4, 5, 6, 8, 9, 14, 20], "detail": [1, 2, 3, 8, 9, 14], "thoma": 1, "cokela": 1, "info": [1, 9], "tutori": 1, "sphinx": 1, "rest_syntax": 1, "html": 1, "id8": 1, "type": [1, 2, 3, 5, 6, 9, 10, 13, 14, 16, 18], "develop": [1, 5, 8, 11, 14], "stabl": [1, 4], "against": 1, "accept": [1, 14, 15, 17, 21, 22], "api": [1, 4], "abi": 1, "chang": [1, 2, 3, 5, 9, 10, 14, 20], "e": [1, 2, 3, 4, 5, 8, 14, 15, 16, 17, 19, 20, 21, 22, 23], "name": [1, 2, 3, 5, 6, 8, 10, 14, 16, 18, 19, 20], "convent": 1, "master": [1, 3, 4], "semi": 1, "binari": 1, "good": [1, 4], "same": [1, 3, 4, 16], "build": [1, 14], "dai": 1, "2": [1, 3, 5, 8], "ros_distro": 1, "g": [1, 2, 3, 4, 5, 8, 14, 15, 17, 19, 21, 22, 23], "foxi": [1, 3, 5], "galact": 1, "releas": [1, 3, 5, 6], "version": [1, 4], "non": [1, 5, 16], "brake": 1, "distribut": [1, 23], "three": [1, 2, 3, 9, 14], "stage": 1, "current": [1, 4, 9, 10, 20], "futur": [1, 5], "compat": [1, 2, 5], "framework": [1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 14, 19, 23], "packag": [1, 2, 3, 6, 9, 11, 14, 16, 18, 20, 23], "show": [1, 3, 5, 6, 9, 10, 19], "direct": [1, 2, 4, 14], "local": [1, 19], "possibl": [1, 3, 4, 6, 14, 20], "core": 1, "immedi": 1, "depend": [1, 3, 9, 14, 20], "fail": 1, "expect": [1, 4, 20], "after": [1, 12, 14], "next": [1, 20], "sync": 1, "abl": 1, "potenti": [1, 14], "mid": 1, "robothw": 2, "rigid": 2, "ani": [2, 3, 5, 9, 14], "imposs": 2, "extend": [2, 3, 4, 14], "exist": [2, 3, 4, 6, 9, 14], "addit": [2, 4], "sensor": [2, 3, 4, 8, 9, 13], "actuat": [2, 3, 4, 8, 9], "tool": [2, 4, 5], "without": [2, 3, 8, 14], "combinedrobothardwar": 2, "drawback": [2, 23], "solut": [2, 5], "optim": [2, 6], "combin": [2, 8, 19, 20], "extern": [2, 3, 4, 8], "defin": [2, 3, 4, 8, 13, 14, 16, 18, 19, 20], "system": [2, 3, 4, 5, 9, 11, 20, 23], "composit": [2, 5], "basic": [2, 3, 4, 5, 14], "physic": [2, 3, 8, 9], "cell": [2, 16], "surround": 2, "describ": [2, 3], "multi": [2, 3, 4, 5, 11], "gripper": [2, 3, 8], "out": [2, 12], "box": 2, "allow": [2, 20], "joint": [2, 3, 5, 12, 13, 14, 15, 17, 19, 21, 22, 23], "posit": [2, 3, 5, 6, 10, 11, 13, 15, 17, 19, 20, 21, 22], "veloc": [2, 3, 5, 11, 13, 19, 20, 21, 22], "effort": [2, 13, 15, 17, 19, 20], "hard": [2, 4], "data": [2, 3, 4, 8, 19], "approach": 2, "doe": [2, 14, 20], "enforc": [2, 20], "string": [2, 8, 14, 19, 20], "ensur": [2, 5], "constant": 2, "hardware_interfac": [2, 3, 8, 9, 13, 14], "In": [2, 3, 4, 5, 14, 19], "had": 2, "request": [2, 19, 23], "itself": 2, "took": 2, "care": [2, 4, 14], "regist": 2, "resourc": 2, "conflict": [2, 3, 4], "resourcemanag": 2, "take": [2, 4, 14, 19], "state": [2, 3, 4, 5, 8, 9, 10, 11, 13, 14, 16, 19, 20], "avail": [2, 3, 5, 10, 11, 14, 19, 20], "enabl": [2, 3, 4, 5, 6, 9, 11, 16], "anymor": 2, "controllermanag": 2, "implement": [2, 3, 4, 5, 8, 11, 12, 13, 14, 20, 23], "systeminterfac": [2, 8], "granular": 2, "sensorinterfac": 2, "actuatorinterfac": 2, "abov": [2, 20], "choos": 2, "suitabl": [2, 5], "strategi": [2, 20], "decid": 2, "which": [2, 3, 4, 5, 10, 12, 14, 16, 18, 19, 20], "case": [2, 4, 5, 14, 19, 20, 23], "mayb": 2, "sens": [2, 3, 16], "multipl": [2, 3, 19, 20], "constructor": [2, 14], "initi": [2, 14], "variabl": [2, 4, 14], "need": [2, 3, 4, 5, 14], "commun": [2, 3, 4, 5], "default": [2, 3, 8, 19, 20], "configur": [2, 3, 4, 5, 6, 9, 10, 11, 14, 19, 20], "paramet": [2, 5, 14], "pars": [2, 7], "urdf": 2, "snippet": 2, "hardwareinfo": 2, "here": [2, 7, 14, 20], "cross": [2, 19], "valu": [2, 3, 4, 8, 14, 19, 20], "export_": 2, "_interfac": 2, "joint_a2": 2, "extract": [2, 12], "sensibl": 2, "stop": [2, 5, 6, 9, 10, 11, 12], "usual": [2, 8, 14], "includ": [2, 4, 9, 10, 14], "command": [2, 3, 4, 5, 7, 8, 11, 13, 14, 15, 17, 20, 21, 22, 23], "safe": [2, 12, 14, 20], "interrupt": [2, 6], "stream": [2, 5], "write": [2, 3, 4, 5, 13], "exchang": [2, 4], "equival": 2, "forget": 2, "pluginlib_export_class": [2, 14], "macro": [2, 3, 14], "end": [2, 3, 9, 14, 20], "cpp": [2, 14], "file": [2, 3, 4, 5, 6, 8, 14, 20], "creat": [2, 3, 5, 8, 14], "xml": [2, 9, 14], "librari": [2, 3, 4, 10, 14], "pluginlib": [2, 3, 14], "exampl": [2, 3, 4, 5, 8, 10, 11, 16, 19, 20, 23], "rrbotsystempositiononlyhardwar": [2, 3], "excel": 2, "jointtrajectorycontrol": [2, 10], "real": [2, 4, 5, 6, 8, 14, 19, 20, 23], "critic": [2, 4], "mark": 2, "controllerinterfac": [2, 3, 10, 14], "member": [2, 14], "init": [2, 14], "call": [2, 3, 14], "lifecycl": [2, 3, 5, 6, 9], "declar": [2, 14], "state_interface_configur": [2, 14], "command_interface_configur": [2, 14], "design": [2, 3, 4, 5, 23], "updat": [2, 3, 4, 14], "manag": [2, 4, 5, 7, 9, 10, 14, 23], "option": [2, 6, 8, 9, 10, 14, 16, 19, 20], "on_configur": [2, 14], "on_activ": [2, 9, 14], "on_deactiv": [2, 9, 14], "deactiv": [2, 3], "final": [2, 5, 9], "joint_trajectory_plugin": 2, "ros2": [3, 4, 5, 6, 10, 11, 14, 23], "instal": [3, 6, 14], "automat": [3, 12], "want": [3, 6], "workspac": [3, 14], "folder": [3, 5, 14], "wget": 3, "raw": 3, "githubusercont": 3, "com": [3, 4, 6], "vc": 3, "import": [3, 14, 20], "src": [3, 14], "found": [3, 7, 14, 20, 23], "github": [3, 4, 7, 13, 23], "repositori": [3, 4, 7, 13, 23], "figur": 3, "cm": 3, "connect": 3, "abstract": [3, 5, 9], "side": [3, 4, 5], "entri": [3, 14], "point": [3, 13, 14, 23], "through": [3, 4, 10, 12, 13, 14, 20, 23], "servic": [3, 4, 6, 9], "node": [3, 6, 8, 9, 10, 11, 14], "executor": 3, "so": [3, 14], "integr": [3, 4, 5, 8, 11, 20, 23], "custom": [3, 8, 16, 19], "setup": [3, 4, 14], "recommend": [3, 5], "ros2_control_nod": 3, "controller_manag": [3, 4, 6, 10, 14, 20], "manual": [3, 4, 14, 23], "assum": 3, "On": 3, "load": [3, 6, 10, 11, 14], "unload": [3, 6, 10], "access": [3, 4, 5, 6, 8, 14, 19], "match": 3, "provid": [3, 4, 5, 6, 8, 11, 13, 14, 19, 20, 23], "report": [3, 4, 19, 23], "error": [3, 4, 14, 19, 20], "execut": [3, 14, 20], "loop": [3, 5, 6, 14, 19, 20], "output": [3, 4, 5, 10, 16, 18, 20], "rm": 3, "driver": [3, 5], "re": 3, "usabl": 3, "flexibl": 3, "motor": [3, 4], "encod": 3, "deal": 3, "theori": [3, 23], "compar": [3, 4, 5], "refer": 3, "measur": [3, 8, 16, 19], "base": [3, 5, 9, 10, 12, 14], "calcul": 3, "input": [3, 4, 5, 12, 20], "visit": 3, "wikipedia": [3, 23], "object": 3, "deriv": 3, "controller_interfac": [3, 4, 10, 14, 16, 18], "export": [3, 14], "plugin": [3, 9, 14], "forwardcommandcontrol": 3, "lifecyclenod": 3, "class": [3, 5, 9, 10, 14], "machin": [3, 4], "document": [3, 4, 5, 8], "latest": 3, "interact": [3, 5, 6, 10], "list": [3, 5, 9, 10, 11, 13, 14, 20, 23], "definit": [3, 13, 14, 16], "srv": 3, "controller_manager_msg": 3, "while": [3, 4, 5, 11, 20], "directli": [3, 23], "line": [3, 7, 9, 14, 19], "via": 3, "friendli": 3, "cli": [3, 7, 10], "auto": 3, "complet": [3, 9, 13], "rang": 3, "common": [3, 4, 13, 19, 23], "capabl": [3, 4], "readm": 3, "md": 3, "ros2controlcli": 3, "realiz": [3, 5], "repres": [3, 9], "dynam": [3, 14], "There": [3, 6, 9, 14], "complex": [3, 4, 5], "dof": 3, "differ": [3, 4, 5, 15, 16, 17, 19, 21, 22], "between": [3, 4, 9, 19, 20], "transmiss": 3, "humanoid": 3, "hand": 3, "logic": 3, "channel": 3, "kuka": 3, "rsi": 3, "A": [3, 5, 14, 19, 20], "relat": [3, 4, 5], "link": [3, 5, 9], "forc": [3, 5, 10, 13], "torqu": [3, 13], "simpl": [3, 4, 5, 11, 14], "valv": 3, "mandatori": [3, 16, 18, 20], "dc": 3, "arduino": 3, "board": 3, "modular": [3, 5], "independ": 3, "explan": 3, "given": [3, 20], "tag": [3, 14, 23], "chosen": 3, "structur": [3, 4, 14, 20], "track": [3, 23], "togeth": 3, "xacro": 3, "hereund": 3, "rrbot": [3, 11], "parallel": [3, 8], "effector": 3, "rrbotsystempositiononli": 3, "ros2_control_demo_hardwar": [3, 11], "param": [3, 6, 8], "example_param_write_for_sec": 3, "example_param_read_for_sec": 3, "joint1": [3, 8, 10, 11, 20], "command_interfac": [3, 20], "min": 3, "max": 3, "state_interfac": [3, 20], "joint2": [3, 10, 11, 20], "rrbotforcetorquesensor1d": 3, "forcetorquesensor1dhardwar": 3, "0": [3, 8, 19, 20], "43": 3, "tcp_fts_sensor": 3, "frame_id": [3, 16, 18], "rrbot_tcp": 3, "min_forc": 3, "100": 3, "max_forc": 3, "rrbotgripp": 3, "positionactuatorhardwar": 3, "23": 3, "3": [3, 4], "gripper_joint": 3, "50": [3, 6, 20], "yaml": [3, 4, 20], "instead": [3, 8, 20], "pure": [3, 20], "launch": [3, 6, 8, 11], "stack": [3, 5], "could": [3, 5, 14, 19, 20], "altern": [3, 20], "script": [3, 4, 14], "skeleton": 3, "orbit": 4, "around": [4, 16, 18], "everyth": [4, 14], "goal": [4, 5, 20, 23], "long": 4, "run": [4, 5, 6, 10], "task": [4, 5, 12], "interfac": [4, 5, 6, 7, 8, 9, 11, 13, 14, 16, 18, 23], "user": 4, "thread": [4, 6], "protect": [4, 14], "memori": [4, 14], "buffer": [4, 23], "control_toolbox": [4, 23], "second": [4, 10, 14, 23], "frequenc": 4, "high": 4, "rate": [4, 20], "khz": 4, "variou": 4, "anoth": 4, "heartbeat": 4, "signal": 4, "sent": 4, "onc": [4, 5], "per": [4, 16], "500": 4, "hz": 4, "failur": [4, 9], "relev": [4, 23], "draft": 4, "trigger": 4, "skill": 4, "prefer": 4, "c": [4, 6, 10, 14], "trick": 4, "mentor": 4, "benc": [4, 5], "magyar": [4, 5], "deni": [4, 5], "\u0161togl": [4, 5], "size": 4, "350": 4, "hour": 4, "difficulti": 4, "about": [4, 8, 19, 23], "org": [4, 6], "gener": [4, 5, 14, 20, 23], "envis": 4, "simul": [4, 8, 11], "gazebo": 4, "ignit": 4, "showcas": [4, 5], "grace": 4, "degrad": 4, "architectur": [4, 5], "roadmap": [4, 23], "place": [4, 14, 20], "gpio": 4, "mode": [4, 20], "switch": [4, 10], "movement": 4, "safeti": 4, "familiar": [4, 23], "medium": 4, "focus": [4, 5], "although": [4, 9], "easi": 4, "therefor": [4, 6, 14, 19, 20], "often": [4, 8, 14, 19], "orchestr": 4, "purpos": 4, "conductor": 4, "scenario": 4, "appropri": 4, "moment": 4, "right": 4, "replac": [4, 9], "level": [4, 5, 15, 17, 20, 21, 22], "moveit2": [4, 5], "simplecontrollermanag": 4, "form": 4, "behavior": [4, 8], "benchmark": 4, "statu": [4, 9, 10, 20], "publish": [4, 12, 16, 18, 19, 20, 23], "topic": [4, 5, 20], "format": [4, 19], "preset": 4, "modul": 4, "specif": [4, 9, 19, 20], "reli": 4, "doubl": [4, 8, 20], "desir": [4, 20], "howev": [4, 6], "both": [4, 5, 19], "improv": 4, "readabl": 4, "earlier": 4, "concept": [4, 5, 8, 11], "were": 4, "introduc": [4, 5], "essenti": 4, "group": [4, 20, 23], "instanc": [4, 19], "imu": [4, 13], "typic": [4, 19, 20], "9": 4, "axi": [4, 16], "aceleromet": 4, "gyroscop": 4, "compass": 4, "respect": [4, 5], "Such": 4, "struct": 4, "low": [4, 5], "profil": 4, "intern": [4, 20], "addition": [4, 23], "few": [4, 5], "pull": 4, "45": 4, "tree": 4, "semantic_compon": 4, "175": 4, "rewrit": [4, 23], "ros_control": [4, 5, 23], "rich": 4, "wa": [4, 14], "motiv": 4, "adopt": 4, "port": [4, 9], "most": [4, 14], "quit": 4, "miss": [4, 19], "diff_drive_control": [4, 10], "joint_trajectory_control": [4, 10], "consist": [4, 20, 23], "identifi": 4, "much": [4, 14], "303": 4, "304": 4, "stretch": 4, "realtime_tool": [4, 23], "81": 4, "302": 4, "unit": 4, "gmock": 4, "cc": 5, "BY": 5, "licens": 5, "author": 5, "either": 5, "down": 5, "below": 5, "my": 5, "company_nam": 5, "tricycl": 5, "control": [5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 21, 22, 23], "event": 5, "pixel": 5, "prefac": 5, "introduct": [5, 20], "johann": 5, "plapp": 5, "toni": 5, "najjar": 5, "kernel": [5, 6], "hardwar": [5, 6, 7, 8, 11, 13, 14, 23], "agnost": 5, "share": [5, 14], "well": [5, 6, 10, 20], "perform": [5, 6], "heavi": 5, "dr": 5, "stogl": 5, "consult": 5, "practition": 5, "guid": [5, 14], "top": 5, "virtual": 5, "talk": 5, "delv": 5, "deeper": 5, "what": 5, "explicit": [5, 20], "chain": 5, "emerg": 5, "handler": 5, "mock": 5, "usag": [5, 6, 10], "openli": 5, "record": 5, "fiveai": 5, "ltd": 5, "best": [5, 6, 14], "focu": 5, "becom": 5, "util": 5, "3rd": 5, "parti": 5, "nav2": 5, "practic": 5, "tip": 5, "hot": 5, "shown": 5, "furthermor": 5, "get": [5, 9, 23], "reus": 5, "inject": 5, "offer": [5, 6], "expos": 5, "problem": [5, 23], "manipul": [5, 20], "path": 5, "plan": [5, 23], "autonom": 5, "navig": 5, "ideal": [5, 8], "made": [5, 9], "mobil": [5, 12], "arm": 5, "extra": [5, 19], "readi": [5, 14], "power": 5, "studi": 5, "ur": 5, "With": 5, "moveit": [5, 8], "ingredi": 5, "scale": 5, "factor": 5, "teach": 5, "pendant": 5, "influenc": 5, "picknik": 5, "inc": 5, "nathan": 5, "brook": 5, "lovro": 5, "ivanov": 5, "andi": 5, "zelenak": 5, "rune": 5, "s\u00f8e": 5, "knudsen": 5, "onlin": [5, 14], "trajectori": [5, 13, 23], "admitt": 5, "One": 5, "reason": 5, "upgrad": 5, "ros1": 5, "better": 5, "realtim": [5, 12, 20, 23], "contact": 5, "insert": 5, "singl": 5, "waypoint": [5, 13, 20], "mani": [5, 14], "teleoper": 5, "involv": 5, "kinemat": 5, "acceler": [5, 11, 12, 13, 20], "jerk": [5, 12], "obei": 5, "demo": 5, "booth": 5, "zeleank": 5, "unifi": 5, "life": 5, "cycl": 5, "go": [5, 14], "_control": 5, "wild": 5, "materi": 5, "quick": [5, 9], "overview": 5, "layer": 5, "aka": 5, "systemcompon": 5, "forward": [5, 8, 13, 20, 23], "done": [5, 14], "look": 5, "modifi": 5, "simpli": [5, 20], "net": 5, "edit": 5, "collect": [5, 15, 17, 21, 22], "semant": [5, 16, 18], "world": [6, 8], "littl": 6, "jitter": 6, "normal": 6, "linux": 6, "comput": [6, 12], "throughput": 6, "suit": 6, "attempt": [6, 20], "sched_fifo": 6, "prioriti": 6, "rt": 6, "permiss": 6, "syscal": 6, "easiest": [6, 14], "ubuntu": 6, "22": 6, "04": 6, "lt": 6, "beta": 6, "blog": 6, "imag": 6, "amd64": 6, "debian": 6, "bullsey": 6, "startup": 6, "h": [6, 10, 14], "p": 6, "param_fil": 6, "controller_typ": 6, "timeout": [6, 10], "controller_manager_timeout": 6, "controller_nam": [6, 10, 14], "argument": [6, 10], "exit": [6, 10], "leav": 6, "unconfigur": [6, 9], "namespac": [6, 13, 14, 19, 20], "kill": [6, 10], "wait": [6, 10], "until": 6, "doxygen": 7, "fake": 7, "mirror": 8, "correspond": [8, 14, 23], "offlin": 8, "advantag": 8, "pipe": 8, "insid": 8, "broadcast": [8, 19], "even": 8, "debug": 8, "boost": 8, "mimic": 8, "offset": [8, 19, 20], "fake_sensor_command": 8, "boolean": [8, 19, 20], "fals": [8, 19, 20], "position_state_following_offset": 8, "custom_interface_with_following_offset": 8, "map": [8, 19, 20], "multipli": 8, "mimick": 8, "return_typ": [9, 14], "return": [9, 14, 19], "on_error": 9, "previous_st": 9, "success": [9, 14], "callbackreturn": 9, "again": [9, 11], "recov": 9, "reload": [9, 10], "substanti": 9, "renam": 9, "on_init": 9, "baseinterfac": 9, "remov": 9, "base_interfac": 9, "hpp": [9, 14], "hardware_interface_status_valu": 9, "rclcpp_lifecycl": [9, 14], "mai": [9, 15, 17, 21, 22], "strictli": 9, "last": [9, 14, 20], "status_": 9, "const": 9, "in_deactiv": 9, "undefin": 9, "refern": 9, "symbol": 9, "node_interfac": 9, "lifecyclenodeinterfac": 9, "rclcpp_lifecyl": 9, "cmakelist": [9, 14], "txt": [9, 14], "spin": 10, "spin_tim": 10, "hidden": 10, "discoveri": 10, "appli": 10, "alreadi": [10, 14, 20], "daemon": 10, "test_controller_nam": 10, "test_control": 10, "diffdrivecontrol": 10, "joint_state_control": 10, "jointstatecontrol": 10, "unclaim": [10, 11], "set_stat": 10, "adjust": 10, "strict": 10, "asap": 10, "switch_timeout": 10, "templat": [11, 14, 20], "demonstr": 11, "prove": 11, "comprehens": 11, "ros2_control_demo_bringup": 11, "gui": 11, "ros2_control_test_nod": 11, "rrbot_system_multi_interfac": 11, "py": 11, "list_hardware_interfac": 11, "load_control": 11, "forward_position_control": 11, "forward_velocity_control": 11, "forward_acceleration_control": 11, "forward_illegal1_control": 11, "forward_illegal2_control": 11, "joint_state_broadcast": 11, "set_controller_st": 11, "claim": 11, "now": [11, 14], "let": 11, "switch_control": 11, "inde": 11, "been": 11, "differenti": [12, 13, 23], "drive": [12, 13, 23], "bodi": 12, "translat": 12, "wheel": 12, "odometri": 12, "feedback": [12, 19, 20], "twist": 12, "x": [12, 16, 18], "linear": [12, 20], "z": [12, 16], "angular": 12, "ignor": [12, 20], "space": [12, 20], "sort": [13, 14], "accord": [13, 20], "position_control": [13, 20], "hw_if_posit": 13, "velocity_control": 13, "hw_if_veloc": 13, "effort_control": 13, "hw_if_acceler": 13, "hw_if_effort": 13, "interpol": [13, 20], "step": [14, 20, 23], "compil": 14, "rule": 14, "prepar": 14, "ament_cmak": 14, "search": 14, "recent": 14, "process": 14, "pkg": 14, "flag": [14, 20], "least": [14, 20], "package_nam": 14, "visibility_control": 14, "window": 14, "copi": 14, "prefix": [14, 16, 18], "guard": 14, "ifndef": 14, "preprocessor": 14, "engin": 14, "friend": 14, "uniqu": 14, "written": 14, "snake_cas": 14, "controllernam": 14, "public": 14, "overrid": 14, "exact": 14, "vector": 14, "store": 14, "simplifi": [14, 23], "further": 14, "parent": 14, "reserv": 14, "importantli": 14, "fine": 14, "ok": 14, "otherwis": [14, 19], "individu": 14, "none": [14, 19], "ask": [14, 19], "full": 14, "joint_nam": [14, 20], "interface_typ": 14, "assign": 14, "opposit": 14, "empti": 14, "constraint": [14, 20], "At": 14, "close": 14, "class_list_macro": 14, "controller_name_namespac": 14, "visibl": 14, "controller_name_packag": 14, "bottom": 14, "test_load_": 14, "content": 14, "specifi": [14, 20], "find_packag": 14, "rclcpp": 14, "directori": 14, "ament": 14, "cmake": 14, "pluginlib_export_plugin_description_fil": 14, "ament_cmake_gmock": 14, "ros2_control_test_asset": 14, "ament_add_gmock": 14, "ament_export_librari": 14, "ament_packag": 14, "test_depend": 14, "colcon": 14, "rememb": 14, "root": 14, "bash": 14, "enjoi": 14, "great": 14, "shell": 14, "certain": [15, 17, 21, 22], "achiev": [15, 17, 21, 22], "These": [15, 17, 21, 22], "geometry_msg": 16, "msg": [16, 18, 20], "wrenchstamp": 16, "wrapper": [16, 18], "forcetorquesensor": 16, "sensor_nam": [16, 18], "interface_nam": 16, "frame": [16, 18], "6d": 16, "ft": 16, "y": 16, "less": 16, "six": 16, "ax": 16, "example_nam": 16, "example_interfac": 16, "sensor_msg": 18, "imusensor": 18, "orient": 18, "angular_veloc": 18, "linear_acceler": 18, "joint_stat": 19, "dynamic_joint_st": 19, "By": [19, 20], "unless": 19, "latter": 19, "matrix": 19, "product": 19, "print": 19, "warn": 19, "use_local_top": 19, "my_state_broadcast": 19, "arrai": 19, "extra_joint": 19, "map_interface_to_joint_st": 19, "field": 19, "usecas": 19, "hydraul": [19, 20], "relianc": 19, "would": 19, "visual": 19, "robot_state_publish": 19, "rviz": 19, "techniqu": 19, "slightli": 19, "custom_interfac": 19, "kf_estimated_posit": 19, "derived_veloc": 19, "derived_effort": 19, "torque_sensor": 19, "current_sensor": 19, "reach": 20, "instant": 20, "mechan": 20, "spline": 20, "guarante": 20, "continu": 20, "discourag": 20, "becaus": 20, "yield": 20, "discontinu": 20, "cubic": 20, "quintic": 20, "pid": [20, 23], "similarli": 20, "eg": 20, "proxi": 20, "wrap": 20, "robust": 20, "clock": 20, "caus": 20, "queu": 20, "segment": 20, "ros__paramet": 20, "joint3": 20, "joint4": 20, "joint5": 20, "joint6": 20, "state_publish_r": 20, "action_monitor_r": 20, "20": 20, "allow_partial_joints_go": 20, "open_loop_control": 20, "true": 20, "stopped_velocity_toler": 20, "01": [20, 23], "goal_tim": 20, "05": 20, "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, "09": 23, "15": 23, "14": 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 b9e8313d8a5..066bcfa3969 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: 683b954d7136b9767c839a82908de726 +config: bd5edd06ea7adbe9a3f0b81ca9e4385f tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree b/humble/.doctrees/doc/acknowledgements/acknowledgements.doctree index 719e8e2411bfa1d0dcdbb9e7077f947efcb1b6b9..9d7e73ffb5f4b984ca65f75b8139ea230d379afc 100644 GIT binary patch delta 12466 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 diff --git a/humble/.doctrees/doc/contributing/contributing.doctree b/humble/.doctrees/doc/contributing/contributing.doctree index fb2b912843ee0342607f16047b9cbbb44d627152..bc02cbd224e3168bcd63ac64be21d5eb850244f3 100644 GIT binary patch delta 64 zcmbPxmT~S`#tq?&h85|?=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ThG{8D21$k~#-^J)7)4V7q$Cr3 delta 64 zcmbPxmT~S`#tq?&hUOW`CFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; T=7t6-rfCKSmZ_UN7)4V7vRo5| 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 2ca3e1a322b4a8dea35d24b647041349128b0716..6340d91814d37c74533f3d73c57d994cf3c02fc9 100644 GIT binary patch delta 64 zcmey+$Mm6(X@eG{VMV&Jd2w-myneEYk+Hd1vW1DcX{uSOfpL<7Wm2M{iMgdol9`2p TVOmO(L6TvLvFYY$M$t9^q(>8N delta 64 zcmey+$Mm6(X@eG{p?OAfNx5-(mVQb~YNDxms-dBUfuVVdX`(@@QCg~nfu*Ing^7WI TxuHRdX_|q7W$NZ=M$t9^vVRkH diff --git a/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree b/humble/.doctrees/doc/gazebo_ros2_control/doc/index.doctree index 054d75057b46f56fceefa84fe1f2cb6c5fd90613..78720a016e9dc3ea108c6bb498276d7e6500ae31 100644 GIT binary patch delta 129 zcmbQejcN8arVSR1MiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X hhG{8D21$k~#-{p{?{~>=Zf8`jB2TZx=5N)i@&F(xC@la0 delta 129 zcmbQejcN8arVSR1M&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; h=7t6-rfCKSmZ|!a?{~>=Zf8`jB2TZx=5N)i@&G>$C_exI diff --git a/humble/.doctrees/doc/getting_started/getting_started.doctree b/humble/.doctrees/doc/getting_started/getting_started.doctree index 0f0022ff4141ac298a09623acd127d9b08670bfa..9493b244fb9bf2a5faef03de4a2a3a1803351a94 100644 GIT binary patch delta 64 zcmaF@vGynhq diff --git a/humble/.doctrees/doc/resources/resources.doctree b/humble/.doctrees/doc/resources/resources.doctree index 50a426e696b67fa087cfe85cca02d70149eef209..c66374f4026292320d7fce7ecaa38438c3bece36 100644 GIT binary patch delta 68 zcmZ41%et(Wb%P3{VMV&Jd2w-myneEYk+Hd1vW1DcX{uSOfpL<7Wm2M{iMgdol9`2p XVOmO(L6TvLv1xNCWas delta 68 zcmZ41%et(Wb%P3{p?OAfNx5-(mVQb~YNDxms-dBUfuVVdX`(@@QCg~nfu*Ing^7WI XxuHRdX_|q7WomOMnsL`_#tm+ah85|?=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ThG{8D21$k~#-^Lg8J$Z2y%iJ< delta 64 zcmdn>nsL`_#tm+ahUOW`CFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; T=7t6-rfCKSmZ_V|8J$Z2%S{v( diff --git a/humble/.doctrees/doc/ros2_control/doc/index.doctree b/humble/.doctrees/doc/ros2_control/doc/index.doctree index 86086c8fa5121ef9483b480389f1192e6af76e94..b055188c9058e2e0351b7184b5a841ad992d89be 100644 GIT binary patch delta 62 zcmaE2_{4C79iw4Iy0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=6uFdaR73j60iUO delta 62 zcmaE2_{4C79iyRnMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=6uFdaR7kU61e~X diff --git a/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree b/humble/.doctrees/doc/ros2_control/hardware_interface/doc/hardware_components_userdoc.doctree index d3f8c3d658f4abfa6715d927a097f0710094ac17..452e838b30acbbecb0ba0f98e1c5affd6b835ad2 100644 GIT binary patch delta 69 zcmdn9f^p9Z#tj~fMiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ZhG{8D21$k~#-{p{{aKwi?`5nH0ssS!6-NL7 delta 69 zcmdn9f^p9Z#tj~fM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; Z=7t6-rfCKSmZ|!a{aKwi?`5nH0ss;76;J>G 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 fdfd21a29751b7b35983df78bd98d7be2e236ea1..7980ae8846c421382ca474bc6ae5192271c2a85a 100644 GIT binary patch delta 69 zcmdmgg>nBC#tlJ?MiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ZhG{8D21$k~#-{p{PjY!|KEqg?0RSSl7EAyD delta 69 zcmdmgg>nBC#tlJ?M&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; Z=7t6-rfCKSmZ|!aPjY!|KEqg?0RS-@7F7TM 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 c5824862dcc83ce00b1d6b20fa7cd42c9f9b19d8..9de33b0b68b405f5c4d334d945ba8be85fe78187 100644 GIT binary patch delta 64 zcmZ3|z__G=af1V+VMV&Jd2w-myneEYk+Hd1vW1DcX{uSOfpL<7Wm2M{iMgdol9`2p TVOmO(L6TvLvFYYQ#?5vBekv0= delta 64 zcmZ3|z__G=af1V+p?OAfNx5-(mVQb~YNDxms-dBUfuVVdX`(@@QCg~nfu*Ing^7WI TxuHRdX_|q7W$NZa#?5vBjA9c) 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 71a27e141f260f1fccc6a9153a5c94afeb6874b0..b9d2fa0731aaf1d85c0640adca263325faab4bea 100644 GIT binary patch delta 64 zcmZo~WNB|?+2F@$SdngQUR<0Xub*sUWNdDhY++(fuAbf^fuAg5VQE diff --git a/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree b/humble/.doctrees/doc/ros2_control/ros2controlcli/doc/userdoc.doctree index 9d5a49d2a6ff07cc0413747202ece8c87fdf8ff2..e9a1519f800cdffbef1e913cec04fd2a90e93af4 100644 GIT binary patch delta 64 zcmbPqpK;QC#tn9ih85|?=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ThG{8D21$k~#-^L|8I|(@p_>zL delta 64 zcmbPqpK;QC#tn9ihUOW`CFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; T=7t6-rfCKSmZ_Wb8I|(@uhSEF diff --git a/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree b/humble/.doctrees/doc/ros2_control_demos/doc/index.doctree index 2696de96a3159bb5c5f5e3dc262eb6bc8f180515..e9bfabecb1933d3308b6cfd762c070c16b8bd56f 100644 GIT binary patch delta 73 zcmeBcW$tTb-eAUPRFQ6MUR<0Xub*sUWNdDhY++(Z% 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 892537b6a5bf73b1ae801ef1915364ddaf840dbd..483a9edd48eadd7b335651a68ed6bed2f79fbf3b 100644 GIT binary patch delta 62 zcmeB_>Xh2h&th1SZfss$oFA{BY+__=ZkB9eVs4shmTF*}WMG+;XlP delta 62 zcmeB_>Xh2h&thnvkz7)4T%M($l9HNeYMyFnXklPzo?@D4kZP2cYGGh$X>MU+U|?=& RkYbuz!cTVHkyqEF&6aZl~7q$QZ delta 73 zcmdn8mTAjcrVUYyM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; d=7t6-rfCKSmZ|!a9i>z!cTVHkyqEF&6aa6%7ry`i 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 ad8e164d0e2780d81c27fea7d2104cd52fa76714..b87b41e9b648825983e35a1bd9337c382bd2b51f 100644 GIT binary patch delta 73 zcmZ4UmTApfrVUYyMiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X dhG{8D21$k~#-{p{1^L7$Z{-!;yo2$}765vQ7oY$D delta 73 zcmZ4UmTApfrVUYyM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; d=7t6-rfCKSmZ|!a1^L7$Z{-!;yo2$}766G77pVXM 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 76288cda2535529f9df4cc66936fe9b1b3a682e9..bffb370b365571ca735acd30e9428ac6ff53e84f 100644 GIT binary patch delta 73 zcmbQWoN3l_rVUYyMiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X dhG{8D21$k~#-{p{75K#`_wtEu-of~2A^=G&7Nh_G delta 73 zcmbQWoN3l_rVUYyM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; d=7t6-rfCKSmZ|!a75K#`_wtEu-of~2A^=yl7OemP 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 9a7547f4ce664c7f093a80d495721cd2f082f3a1..b7b7219ecce4b0fe394af42dd0b12866a94a6a42 100644 GIT binary patch delta 73 zcmdmSfN948rVUYyMiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X dhG{8D21$k~#-{p{C&s8w=3T(Ec`sx2JOFR?7m@$~ delta 73 zcmdmSfN948rVUYyM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; d=7t6-rfCKSmZ|!aC&s8w=3T(Ec`sx2JOF-v7n=Y8 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 5a967f5b054ec20eef81d754f2ade245e11fb4aa..d511c5121052ab589aac0fdcc8937c4132d9a4d2 100644 GIT binary patch delta 73 zcmZ49%(T3jX+spFQAN73d2w-myneEYk+Hd1vW1DcX{uSOfpL<7Wm2M{iMgdol9`2p dVOmO(L6TvLv8n##KpyeQ0=%M|cQC%M2LL+X79jut delta 73 zcmZ49%(T3jX+spFk$FaPNx5-(mVQb~YNDxms-dBUfuVVdX`(@@QCg~nfu*Ing^7WI dxuHRdX_|q7Wvc$VV9Z)DuQk&)4SJ^+xk7tR0x delta 73 zcmaEHknP1mwhd8?M&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; d=7t6-rfCKSmZ|!a?>VV9Z)DuQk&)4SJ^-IR7uNs) 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 24bb4eabe57552a7190a311cfda6da4cfa65c32d..0e7789ffb51b2eab7c517650d50c17ed0a98adad 100644 GIT binary patch delta 73 zcmX^2mGRtH#tl)7MiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X dhG{8D21$k~#-{p{5Aujlo?0cfc`u`2B><>H7vcZ_ 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 e9a03b79109e6178ad658cb3725fd7e74a8bbb9b..378e121c460f50c2ecb940a790b03a7da8d54c63 100644 GIT binary patch delta 76 zcmex4kLl+;rVUYyrWNVN=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ghG{8D21$k~#-{oy`N@+%Mu<#4$Irca9pmX<0MUgRvj6}9 delta 76 zcmex4kLl+;rVUYyrsf&RCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; g=7t6-rfCKSmZ|zF`N@+%Mu<#4$Irca9pmX<0N^PZyZ`_I 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 9ece3732f15b88a55e28d7c926f7ef8838f080bf..e83102bf9657bede8780fb997aa83cf467129d87 100644 GIT binary patch delta 71 zcmeB)>WSJA!)R2IZfss$oFA{BY+__=ZkB9eVs4shmTF*}WMG+;XlPWSJA!)Rolkz7)4T%M($l9HNeYMyFnXklPzo?@D4kZP2cYGGh$X>MU+U|?=& akYbu)gYoDL#tlA)gYoDL#tlAiMeU2S*n3?l7VGXqM?borAd;Rg@IvO WN|Hg6VT!S-{$xQx(arN2l~e)J{S%=8 delta 67 zcmX@;d(d}71f!98Msi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 WL5gXbfq`YJ{$xQx(arN2l~e)YViT$W 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 09085293c442bc4e8aa9486fe323452da81c3257..23963fe9ca68fb9118ceff5cced0ffa0c7016c3c 100644 GIT binary patch delta 64 zcmey>&-kmKaf1(|VMV&Jd2w-myneEYk+Hd1vW1DcX{uSOfpL<7Wm2M{iMgdol9`2p TVOmO(L6TvLvFYYo##%Q3vDFjp delta 64 zcmey>&-kmKaf1(|p?OAfNx5-(mVQb~YNDxms-dBUfuVVdX`(@@QCg~nfu*Ing^7WI TxuHRdX_|q7W$NZy##%Q3zzq}j diff --git a/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree b/humble/.doctrees/doc/ros2_controllers/doc/controllers_index.doctree index 3bb4fc55fa139042eda023f718d942501ea2568e..261643763e13742bf5cefac0c912c0d086961142 100644 GIT binary patch delta 67 zcmcbVaw%nl2BT3$y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO WN|Hg6VT!S-{^UX)(argcj|~9dc@($+ delta 67 zcmcbVaw%nl2BVRAMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 WL5gXbfq`YJ{^UX)(argcj|~9r-W0(A 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 4245457c16474ff763aa7f37e333b79eec5e002e..44cd916944feee5bd64bceaccc9cbdd85eb1455b 100644 GIT binary patch delta 64 zcmZ2=jd|5I<_!*vh85|?=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X UhG{8D21$k~#-^JK8F#(}0IU-frT_o{ delta 64 zcmZ2=jd|5I<_!*vhUOW`CFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; U=7t6-rfCKSmZ_Ty8F#(}0J=*QuK)l5 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 e40a4023de702a5646cb20c37a89bac9a2551c4f..4ccfb1a56113f1b863aabed3a5227fad9ac966be 100644 GIT binary patch delta 62 zcmbQ|FwbFw8>3-Gy0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=5og6asXPL5{m!; delta 62 zcmbQ|FwbFw8>69lMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=5og6asX)65|jV{ 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 72e68a4815b38d7fc67a3f17e9338912c08d7261..fc625531353e3e9676a81109aaf4a7d3f6dd545f 100644 GIT binary patch delta 62 zcmccUe9?JB0;6F?y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=823B3IKVz62<@k delta 62 zcmccUe9?JB0;8dMMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=823B3IK=k63+kt 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 ad15fd21845f9bd5492792f1c3fffa394ab62fb3..d6b04eb123b14f05e3914aacfd4b0606a8d9bc73 100644 GIT binary patch delta 67 zcmX?`ayDf{7^6`|y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO XN|Hg6VT!S-{^U+6gUve_ry2kN>QxmO delta 67 zcmX?`ayDf{7^9JSMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 XL5gXbfq`YJ{^U+6gUve_ry2kN__`G# 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 03f6c029c00914eda036420d73cc902c4bf48e2e..5a99cd9c24e8acb21cc1dc75086975d66292ba22 100644 GIT binary patch delta 62 zcmbOnI5}{G2cuy{y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=1N8>bpTwz5*Gjf delta 62 zcmbOnI5}{G2cw~RMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=1N8>bpUGk5+DEo 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 632ba36fa5c2f254848a5788cc6d60c2ec5d1e91..f501f43d7b791c57bc44c2a6ca529ea777920018 100644 GIT binary patch delta 62 zcmZ3Jx+ZmlAERMKy0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=6Xh5LjZHA5}E)2 delta 62 zcmZ3Jx+ZmlAETjpMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=6Xh5LjZx`5~BbB 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 8bc4ac28551dd7d65ce007a1ef92c79855cf5a41..ab6cce85ca0f3f3de025ccaa6d0f0c4612a4696a 100644 GIT binary patch delta 64 zcmdnm%eb|daYF#3VMV&Jd2w-myneEYk+Hd1vW1DcX{uSOfpL<7Wm2M{iMgdol9`2p TVOmO(L6TvLvFYYUMiW;6kB<`_ delta 64 zcmdnm%eb|daYF#3p?OAfNx5-(mVQb~YNDxms-dBUfuVVdX`(@@QCg~nfu*Ing^7WI TxuHRdX_|q7W$NZeMiW;6oyQX< 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 b25b0cd860c9d76355a5d565398f34f4cd6d1238..0278a6e8cd0b1ad9db7e9c84d56206e89483b94d 100644 GIT binary patch delta 64 zcmezNkMY|-#tmwWh85|?=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ThG{8D21$k~#-^LY8RhE$+oTjx delta 64 zcmezNkMY|-#tmwWhUOW`CFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; T=7t6-rfCKSmZ_V=8RhE$>D&}r 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 cea2a41dcd44685763ce9e2644c984c228243fe5..469e22b7bb9ec111e796a359cc86c09cbe6a4026 100644 GIT binary patch delta 69 zcmX@Img&e^rVTZWMiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ZhG{8D21$k~#-{p{<6G@Fzh%5W1ppls7VQ84 delta 69 zcmX@Img&e^rVTZWM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; Z=7t6-rfCKSmZ|!a<6G@Fzh%5W1pq5~7WM!D 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 9107679e006fb1c7d10019fe8e4f7056dc7e1030..47cca69584092f76d7d77ed97046e2251c82841f 100644 GIT binary patch delta 69 zcmdmYgK6IlrVSB{MiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ZhG{8D21$k~#-{p{9eHdvA7iXo1pp!R76||V delta 69 zcmdmYgK6IlrVSB{M&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; Z=7t6-rfCKSmZ|!a9eHdvA7iXo1pqKv77_pe 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 13af9bc7a43ce7565baa64f00eddb5769a0e2ef2..5731cfff4cd330eb661f4e47c2ae1ba4d41cfc29 100644 GIT binary patch delta 62 zcmaFj@Wf$*7o%ZCy0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=4!^5asYjC6JY=V delta 62 zcmaFj@Wf$*7o(whMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=4!^5asZ2|6KVhe 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 d6eddcf815e3a82240e106013169eae79b905946..c989dcfbf205f5a4439885495b4b98d032dfecdb 100644 GIT binary patch delta 67 zcmZ4JywG_=5Tj8=y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO XN|Hg6VT!S-{^U>&z0I2#-^&94z)Tc% delta 67 zcmZ4JywG_=5TlWKMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 XL5gXbfq`YJ{^U>&z0I2#-^&94&ao7J 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 1ce7654443f6abe9d974a27352c3dc44373b07d0..0d98e1afe2b26b79fff2f193e1ea851c8790e15a 100644 GIT binary patch delta 62 zcmbO)H(zc;0;6F?y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=824byZ})a5>o&G delta 62 zcmbO)H(zc;0;8dMMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=824byZ~QL5?lZP 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 b15384b0252a88e64657dcf4533d72fdb3ae0dec..330731b2599c2db282a1c4508b33963a4b4214b5 100644 GIT binary patch delta 69 zcmeylo$2RxrVUYyMiuGC=EcSN@%qUoM#ko5$rdK&rm1GB2F6JSmPv_*CgzqVNoE!X ZhG{8D21$k~#-{p{`-E*bpJX(c1pqR07C!(0 delta 69 zcmeylo$2RxrVUYyM&=pGCFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; Z=7t6-rfCKSmZ|!a`-E*bpJX(c1pq+U7Dxa9 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 79fdd27386dacd8538694f0f64b8a20376787e89..63935e115a955acf846b023ea68d26823b9d934a 100644 GIT binary patch delta 62 zcmbQMF;`=Q2cuy{y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=1RsTLI6)o5>5aB delta 62 zcmbQMF;`=Q2cw~RMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=1RsTLI7QZ5?25K 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 595089df43bfa8e9dad17e3f4c4e3b764fbb720c..94ed33ee0d007d33947666feaaf142a77aa83955 100644 GIT binary patch delta 71 zcmaDI_&RVy6r)i^y0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO bN|Hg6VT!S-{^Wjs(aAsAH8!7QR8j{3Nn93U delta 71 zcmaDI_&RVy6r+)OMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 bL5gXbfq`YJ{^Wjs(aAsAH8!7QR8j{3SLGIK 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 df2a38be01420e471888504a6fee748a5694c5a6..d36b55b095219d1452aeb3306e4a62424159f3f6 100644 GIT binary patch delta 62 zcmaFj@Wf$*7o%ZCy0Lk2aelmhvWbzgxmmJ>iMeU2S*n3?l7VGXqM?borAd;Rg@IvO RN|Hg6VT!To=4!^5asYjC6JY=V delta 62 zcmaFj@Wf$*7o(whMsi8Hae0=0N=j;?sd=iQp@o5=d5USGL8?(&s)d22rMZQPfq}W9 RL5gXbfq`Y}=4!^5asZ2|6KVhe diff --git a/humble/.doctrees/doc/simulators/simulators.doctree b/humble/.doctrees/doc/simulators/simulators.doctree index 4eb20fb7e4b32b8deeef0c5e08c58e9949dfc320..3bbb75a940f97bb452dbca3232e4d5e6826c7ec9 100644 GIT binary patch delta 62 zcmeA*=r!1&#%NfPZfss$oFA{BY+__=ZkB9eVs4shmTF*}WMG+;XlPMU+U|?=& RkYbun+a delta 64 zcmdnDka6Ea#trd|hUOW`CFREDS^6m{sfniMsfLCY28QM-rilirMro-Q29}oQ7A6J; U=7t6-rfCKSmZ_U3FzWdO0IyjSf&c&j diff --git a/humble/.doctrees/environment.pickle b/humble/.doctrees/environment.pickle index fd0809ff99411d9276c9714199a2863e9e72e9b7..bf723e638dcb25659969cc6b2489653ef9eeb078 100644 GIT binary patch delta 45650 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 delta 44478 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
Vwc?Vdg6gzicE65q?Pu1K9uf!2v#aK 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 -
+
- 8988 + 9226
-
+
@@ -223,7 +223,7 @@

Maintainers -
+
75901
- 56676 + 56914
-
+
@@ -329,7 +329,7 @@

Maintainers -
+
48215
0.76
-
+
- + @@ -421,18 +421,18 @@

Maintainers -
+
- 0.30 + 0.31
-
+
- + @@ -450,23 +450,23 @@

Maintainers -
+
0.87
-
+
- + - Fetched on 2024-01-08 03:27:25 UTC + Fetched on 2024-01-09 03:27:24 UTC