From d1ffa5ffc0f2baabd83d4c7285f86cbf511b78fa Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 19 Oct 2026 10:06:26 +0000 Subject: [PATCH] Document StateHold position-threshold ROS 2 parameters Add hold_first_check_position_threshold and hold_position_threshold to the shared controller parameter tables, matching StateHold.cpp and auto_declare sites on BasicJointController and Ocs2ArmController. Co-authored-by: HUANG ZHENBIAO --- .../4-controllers/12-ros2_parameters.po | 289 +++++++---- .../controllers/8-ros2_parameters.po | 485 +++++++++--------- .../4-controllers/12-ros2_parameters.md | 14 +- .../controllers/8-ros2_parameters.md | 6 +- 4 files changed, 442 insertions(+), 352 deletions(-) diff --git a/locale/zh_CN/LC_MESSAGES/2-how_to/4-controllers/12-ros2_parameters.po b/locale/zh_CN/LC_MESSAGES/2-how_to/4-controllers/12-ros2_parameters.po index 38a2e8f..197e077 100644 --- a/locale/zh_CN/LC_MESSAGES/2-how_to/4-controllers/12-ros2_parameters.po +++ b/locale/zh_CN/LC_MESSAGES/2-how_to/4-controllers/12-ros2_parameters.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: FiveAges Sim \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-09 12:40+0000\n" +"POT-Creation-Date: 2026-10-19 10:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -21,12 +21,12 @@ msgstr "" "Generated-By: Babel 2.18.0\n" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:1 -#: c07761a9776645fca8c520b9d5221011 +#: 796150a650a34361a1deb3d80a228bad msgid "Configure ROS 2 controller parameters" msgstr "配置 ROS 2 控制器参数" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:3 -#: e21660efb0054de0a6c4e1ef938b2faa +#: be26171806254c4687a6e4bead0bd31f msgid "" "Where controller and **hardware interface** parameters live, how to " "inspect them, and how this stack treats **startup vs runtime** changes. " @@ -40,40 +40,40 @@ msgstr "" "表在各公开驱动页 — [驱动层](../../4-reference/hardware/0-index.md)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:5 -#: 6054b3e1f8b545ec923fab3366c5e85e +#: 919342c6f636425289051a00edb78840 msgid "" "Topic lists and FSM integers stay on the controller pages — this guide is" " **parameters** plus the few mechanisms that several controllers share." msgstr "话题列表和 FSM 整数值仍写在各控制器页面——本指南讲**参数**,以及若干控制器共用的机制。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:7 -#: 3c5fd499fd6449ae827e57072c777083 +#: 8ccd531ba49940f89fab6f4812563db0 msgid "Where parameters live" msgstr "参数写在哪里" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 8d2b85544da949189c991740fa0740e2 +#: cf0145d5bda14b90a4e03de686c2337e msgid "Place" msgstr "位置" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 1b136cb2900d4351982dcec62756ea7b +#: fb82423247264bea8d5cf792cf11c245 msgid "What it is" msgstr "是什么" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 3c5827184d614a429f6641f75631d9cb +#: 6ebd79e52f094443bdbb84bd7590853a msgid "Typical contents" msgstr "常见内容" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 9f7a554efb3c4b10bc3faa669993da7b +#: 73ba610b350c4225a096157f843daf0f #, python-brace-format msgid "`{robot}_description/config/ros2_control/ros2_controllers.yaml`" msgstr "`{robot}_description/config/ros2_control/ros2_controllers.yaml`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 181d71a14a334ac99383375c8bf17e7a +#: 8ac4b4a92dd2473db9f2d03eb7546f93 #, python-brace-format msgid "" "Loaded by `controller_manager` (merged with `common.yaml` / " @@ -85,60 +85,60 @@ msgstr "" "[robot_common_launch](../../4-reference/descriptions/2-common.md))" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 9487ca657aed4d93b6469c4eaf0a55c9 +#: ba9a8acc00b84328b71ba927b1e167bd msgid "Controller plugin types, `joints`, Home poses, MoveL limits, 夹爪 force keys" msgstr "控制器插件类型、`joints`、Home 构型、MoveL 限幅、夹爪力控键" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 6cc5373fe3f04f258dca57972b82f4df +#: 494f100c389544b9b681656a7b0e845c msgid "`ros2 param set` / node CLI" msgstr "`ros2 param set` / node CLI" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 0322ad6b987a418287c4d67202546e2e +#: 2ad203d2dd754fa6b48ebe4542582aa9 msgid "Live ROS 2 parameter API on a running node" msgstr "运行中节点上的 ROS 2 参数 API" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 5db3644f8bf44a2fb2a1de242f597d4b +#: 46c229424f8c4ce5ab3fded0dc1f3b13 msgid "Same names as YAML once the node is up" msgstr "节点起来后,名称与 YAML 中相同" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 6445693fc02f4069a52724c37969719f +#: 546a984ef8ef446f8c86f1a86a61ceab msgid "URDF / xacro `` ``" msgstr "URDF / xacro `` ``" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 10944831954c4218a3702ddc4faf391f +#: 07ae433725b848499387ef911b81e7a3 msgid "**Hardware interface** plugin arguments, not `ros2 param`" msgstr "**驱动层**插件参数,不是 `ros2 param`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: a76a242ee61142989149f4c0eb588f60 +#: dda708ae7428426a8d2d34da359bdec3 msgid "" "CAN device, topic names, `initialize_commands_from_state`, vendor IP — " "read at plugin load" msgstr "CAN 设备、话题名、`initialize_commands_from_state`、厂商 IP——插件加载时读取" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 8b5669ffcd5f4c559404cac81e38b743 +#: 6ee14086f4dc4a9f947177f369ec46f0 #, python-brace-format msgid "`{robot}_description/config/ocs2/*.info`" msgstr "`{robot}_description/config/ocs2/*.info`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: 895f1e4c369c4a86a1d37165aeaf6d4e +#: 153b0d1b71b04e5895d77f9732aca926 msgid "OCS2 **task files**" msgstr "OCS2 **任务文件**" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md -#: bf29d65fd1ce47fa83d3e523fbbd24c0 +#: 5f3da8d9674e45fa9a61bf52d99c97f5 msgid "`baseFrame` / `eeFrame` defaults, MPC model. **Not** ROS 2 parameters" msgstr "`baseFrame` / `eeFrame` 默认值与 MPC 模型。**不是** ROS 2 参数" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:16 -#: b18f36400b77430aafb1618744b92ed8 +#: d4bfc3bb9ca84715aca82da3f2ca5f4a msgid "" "The **OCS2 Arm Controller** README names " "`config/ocs2_arm_controller.yaml`. At [arms_ros2_control " @@ -159,7 +159,7 @@ msgstr "" "dobot/blob/main/cr5_description/config/ros2_control/ros2_controllers.yaml))。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:18 -#: 34acc0bd138c4610873f840d7a505773 +#: acd78610d8174e1f9b9a0b23e9f1986b msgid "" "`arms_target_manager` also reads " "[`command/arms_target_manager/config/default.yaml`](https://github.com" @@ -174,7 +174,7 @@ msgstr "" " `config/ocs2/target_manager.yaml`。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:20 -#: 59206d97a283424781a26dff71e94db2 +#: 95bc3690a7ba442eb081bab5c8eae6b7 msgid "" "**Startup / Runtime** tags on the tables match the public controller " "READMEs in [arms_ros2_control #120](https://github.com/fiveages-" @@ -190,19 +190,19 @@ msgstr "" "PR 合并后,`main` 上的措辞相同。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:22 -#: f1ffa5dd217144f786522d2268b43210 +#: 01daadb5cbe54c0a9469de842780d1a6 msgid "Inspect running values" msgstr "查看运行中的取值" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:24 -#: ad07dec9343544519ab15d4f70ca662f +#: f2afd6ae2261459490d79e9f1ef2cfc3 msgid "" "Controller plugins are ROS 2 nodes named after the controller. After a " "launch:" msgstr "控制器插件是以控制器命名的 ROS 2 节点。启动后:" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 9e4fc1c5bc4842d6bd6ca6582a681e6a +#: 79d4ad5e916f42758cc43aaa25249d0c msgid "" "ros2 param list\n" "ros2 param list /ocs2_arm_controller\n" @@ -215,7 +215,7 @@ msgstr "" "ros2 param get /left_gripper_controller force_threshold" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:33 -#: 5e5f4174c3a84030ae2941b574c5937f +#: 5e0f49a3563742b091c5592e4221c1cb msgid "" "Most hardware `` values do **not** appear on `ros2 param list` — " "they are baked into `/robot_description` when xacro runs. Some public " @@ -233,12 +233,12 @@ msgstr "" "list_hardware_interfaces` 和 `xacro/ros2_control/` 下的 xacro 确认插件。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:35 -#: 166089a4c0694eb4ae268208095a65dc +#: 09bf67ae8b3d4bbfb4d3b2b576bcabbf msgid "Startup vs runtime" msgstr "仅启动 vs 运行时" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:37 -#: c687e869b0484e0285bb249c007a1b89 +#: 1935236426bf4ac09fa2ae6c92810a26 msgid "" "A YAML value is always applied when the controller or hardware interface " "plugin **starts**. Whether `ros2 param set` later changes behavior uses " @@ -248,40 +248,42 @@ msgstr "" "相同的标记:" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 624c1a9a79be4175a4946cd6945633b0 +#: 876c313b6a0e4b7aa0fa4d8fa6734543 msgid "Tag" msgstr "标记" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 354ed52a09d84be684040092d5006bf5 4360fc25ea5049b4be26c0c9a7e06000 -#: eb15c330f89145b5bb28a539f2b2a5af +#: 4be6ac56807c49c99451dce36ec355c5 b5cca0e4b9554c7c9ce4c10cc70fc18e +#: bc1ec7053f434212a8b9a0c6ba8d0097 c1b52d4c995d47d7b47ef3178efdf2c6 msgid "Meaning" msgstr "含义" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 350eb9d10101405c81feaed0cefe8f5c +#: 3425961631d54288bcbc93fd323eaa57 msgid "**Runtime**" msgstr "**运行时**" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: e1cc770d320d4a988aa7f98d4823a0cd +#: 2dd7ab14b7c544248e92b50dacceee7c msgid "" "`ros2 param set` is picked up **without** reloading. These controllers " "have no generic `add_on_set_parameters_callback` for the documented keys." " Home / MoveJ / waist duration / MoveL are re-read with `get_parameter` " -"on the **next** matching state enter or command." +"on the **next** matching state enter or command. HOLD thresholds are re-" +"read on HOLD enter and each HOLD `run`." msgstr "" "`ros2 param set` **无需**重新加载即可被拾取。这些控制器对已文档化的键没有通用的 " -"`add_on_set_parameters_callback`。Home / MoveJ / 腰部 duration / MoveL " -"在**下一次**进入匹配状态或收到匹配命令时用 `get_parameter` 重读。" +"`add_on_set_parameters_callback`。Home / MoveJ / 腰部时长 / MoveL " +"在**下一次**进入匹配状态或收到匹配命令时用 `get_parameter` 重读。HOLD 阈值在进入 HOLD 以及每个 HOLD " +"`run` 时重读。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: b28ad9d1863348a8b4a8fb87c81ce0bf +#: 2b848438901e4be1ab54a8ff83da2d39 msgid "**Startup only**" msgstr "**仅启动**" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 17cf582651944951abba68a11d7b6b32 +#: 05573cfc89bc4838a7c58eb9de7a86b1 msgid "" "Loaded in `on_init` / construction / first waist-planner create / " "hardware plugin `on_init`. Change the YAML or xacro and reload or " @@ -291,29 +293,29 @@ msgstr "" "后需要重新加载或重启。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: a3942afc11c84b33bedb4f32b5bd1276 +#: 4a6a03fb61184e91aec419ab848dd9f0 msgid "**Unverified**" msgstr "**未核实**" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: c1a6695bfd904f88816834c07b70bf7c +#: 2a171e9c1eff4a7a99065694713cacc3 msgid "" "Declared, but there is no callback or clear re-read path. The READMEs in " "#120 mark **none** of the previously documented keys this way." msgstr "已声明,但没有回调也没有清晰的重读路径。#120 的 README **没有**把此前已文档化的键标成这一类。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:45 -#: 910db4e4354a4ec098d7a1055fcda398 +#: f4df2ce0cb164745865e7a6468fc324d msgid "These Runtime paths are **not** instant callbacks." msgstr "这些**运行时**路径**不是**即时回调。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:48 -#: fe3feb8f44d04a8dbf3c83631d0bc69d +#: 6fb6768b7a054b03b9f2accb5fa4f160 msgid "Framework-common parameters" msgstr "框架共性参数" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:50 -#: dc46f233d668434d8aa9f0864d3c02c1 +#: 813ecddeb6bc46d0a1727b6f043a17d1 msgid "" "**Basic Joint Controller** and **OCS2 Arm Controller** both use the same " "ros2_control `ControllerInterface` / `controller_manager` keys. They are " @@ -324,7 +326,7 @@ msgstr "" "`ControllerInterface` / `controller_manager` 键。此处**只列一次**。各控制器表只保留包专有键。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:52 -#: bc9f6a6dac2f46cc8020fd583849d073 +#: 8461b2291ee24eaeae6db3ab17cdd8e3 #, python-brace-format msgid "" "**Adaptive Gripper Controller** does **not** use `joints`: it declares " @@ -335,57 +337,58 @@ msgstr "" "`{joint}/position`。`arms_target_manager` 是命令节点,不是 `ControllerInterface`。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 32ff21d718c343c3bd760fb88498c93a c703bc0c07714d34b6de0e9eda074f22 +#: 0bf593cfb5454126832dc792c2271f3a 49e752b3f8f2434f9e1e56367c87403c +#: 806594df7d634b80939967c70357d3dc msgid "Parameter" msgstr "参数" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 3bee1e6df22d4815860bddfd7bc6996e +#: a9d7622ebe5348d4acb44c9c14a4e3f8 msgid "Typical type / default" msgstr "常见类型 / 默认值" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 770e7bc7dbaf4eb99575ab5758644e24 +#: 0deba3077c17400ab56cc36337e074b0 msgid "`joints`" msgstr "`joints`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: efa77379a1cd4eb4a9a1c03f89ed2f28 +#: 2f353a3106344d9b8ef3bcfc9d07d3f9 msgid "string[]" msgstr "string[]" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: bf211b11c7254727898e15e924f1d2ee +#: 2c1a70e5c4b64d3a9119e655ffa1aba3 msgid "Joint names for command/state interfaces. **Startup only**." msgstr "命令/状态接口的关节名" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: cc61c3d046ae4f2db69f03060b6dfc70 +#: 633cfefbea85450685fa2ece5b2842c7 msgid "`update_rate`" msgstr "`update_rate`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 5cd6b2bbaf654763af2892745603b5b7 +#: 85f96a3dbd3b4616bfda2f76c24d313b msgid "int (Basic Joint README example `1000`; CR5 YAML `100`)" msgstr "int(Basic Joint README 示例 `1000`;CR5 YAML `100`)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 08af2c1f9ff1401982d71431d33e8255 +#: a2e751e55dd646078c2b115ccab3cece msgid "Hz; often the `controller_manager` value. **Startup only**." msgstr "Hz;常取 `controller_manager` 的值" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: ff5be5ac02014e1085129f1de947fff2 +#: 5a6e7fd0e6254ea1ac01c36f1a6990a0 msgid "`command_interfaces`" msgstr "`command_interfaces`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 280499ecd8c94028a53e0e64dbb09b1a +#: 2d0806e4d08c421f84eaf79e37eead44 msgid "string[] / `[\"position\"]`" msgstr "string[] / `[\"position\"]`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 1bd4ecabbb344d72bfc0553999b83818 +#: bd035eee2e9149cabf255cd3814c13b5 msgid "" "Command interface names. **Startup only**. OCS2 Arm also uses the set to " "detect position vs force/MIX — [ros2_control " @@ -395,47 +398,47 @@ msgstr "" "ros2_control](../../3-concepts/1-ros2_control_here.md)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: dfe77a40f37f4901bb023b9f49a40373 +#: 41cc72fe8a1e4475b2865398d3dad0fe msgid "`state_interfaces`" msgstr "`state_interfaces`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 5f2c4b2a160c401fab24913ebaf8b3a7 +#: 0b5a0eab365b4c18861c76e8d582fd45 msgid "string[] / `[\"position\", \"velocity\"]`" msgstr "string[] / `[\"position\", \"velocity\"]`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 18a5de564fc34bfeaa4096263b9b7510 +#: a9b6bdf410cb4ee084e656d233597e59 msgid "State interface names. **Startup only**." msgstr "状态接口名" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 199e09db6bca4c9da607d43a7796d671 +#: f306310c9f70406a83b7a3b34b94d099 msgid "`command_prefix`" msgstr "`command_prefix`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: b49e0904d7ae4125abd2e2793607ab2a +#: 6192b6a6b3da4b8995d25de1a092e40f msgid "string / empty" msgstr "string / 空" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 2e3cbeb1679c4a88b4e9ed49ca06bf65 +#: 3ded4fc9f9a94da0bbd04d9b5f1efb07 msgid "Optional prefix on command interface names. **Startup only**." msgstr "命令接口名的可选前缀" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:62 -#: dcf8ac507eff4daea5ea0a940463ae56 +#: b3b65000fee74d80af35d08cb3fa52c4 msgid "Unload and reload the controller to change these." msgstr "修改这些键需要卸载并重新加载控制器。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:64 -#: 2e9d6865c12f4712b48518434ce00bb9 +#: 29e162817c4e4526a62146531c38d181 msgid "Shared mechanisms" msgstr "共用机制" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:66 -#: 38d611fc15a544ffa8f196e9163879fc +#: f776efb105f6443f9ed6ba660f5d70ad msgid "" "One place for behavior that several controllers share in " "`libraries/arms_controller_common/`. MoveJ YAML keys are on the [Basic " @@ -453,7 +456,7 @@ msgstr "" "当作一等模式。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:68 -#: 008c20d865ec4a9d8988b21c5fb98595 +#: 50d016fd39ee4e078ebc4b9098ad01d4 msgid "" "运控 layering (controller vs hardware interface, 分体 vs 全身) stays on the " "existing pages — [Terminology](../../3-concepts/8-terminology.md), " @@ -468,27 +471,27 @@ msgstr "" "全身控制](../../3-concepts/7-split_vs_wbc.md)、[驱动层](../../4-reference/hardware/0-index.md)。内部飞书运控架构图只是白板,此处不重绘。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:70 -#: aaa8c4c4328644baafa9b53695e726d8 +#: 92aa506fc53146108096a8966b68c341 msgid "`/fsm_command` value `3`" msgstr "`/fsm_command` 取值 `3`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:72 -#: d896bef6188a442381434e1db0eb45cf +#: 4a86c8777a2e4ebaaca415ed2d17bfbd msgid "`/fsm_command` is `std_msgs/Int32`. Canonical MOVEJ is **`4`**." msgstr "`/fsm_command` 是 `std_msgs/Int32`。规范 MOVEJ 为 **`4`**。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 8e28c45b7bda4d93aaa36a51604b73d4 +#: 4fc28411cc3a4634b62a0bf4dbfb687f msgid "Who is running" msgstr "当前运行的是" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 5073ffa2d2ae4a9c9aff1783c873d924 +#: 5227d4b6476d4438bd5905b3bea568b2 msgid "Meaning of `3`" msgstr "`3` 的含义" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 5fffe58ed98c4d44b01ec61e5d671121 +#: 13b4aa0e592941ed88e8dc07e5d68c31 msgid "" "Mixed OCS2 / WBC stack (分体: **OCS2 Arm Controller** + body/head **Basic " "Joint**; 全身: **OCS2 WBC Controller**)" @@ -497,24 +500,24 @@ msgstr "" "Joint**;全身:**OCS2 WBC Controller**)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: a090a62fe1234669a7a9b6152d796a4a +#: bd06097d1d7e4b80b9918b5241cdcc6c msgid "" "**OCS2** on the arm / WBC node. Body/head **Basic Joint** instances still" " treat `3` as MOVEJ." msgstr "机械臂 / WBC 节点上表示 **OCS2**。身体/头部的 **Basic Joint** 实例仍把 `3` 当作 MOVEJ。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 7ce6950aaf6f46db93a51e633d2a9a93 +#: 1d65298511ff480190cfebd63d21d2bc msgid "Standalone **Basic Joint Controller** (package demo, no OCS2 node)" msgstr "独立运行的 **Basic Joint Controller**(包内 demo,无 OCS2 节点)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: a680c388626b4f7aab15cc5e9a3cb1cc +#: c893a36d234e4bcb9a0cbb38c2781da4 msgid "**Legacy MOVEJ alias** (package README). Prefer `4`." msgstr "**遗留 MOVEJ 别名**(包 README)。请优先用 `4`。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:79 -#: 5a4f110b6770406eb552e35ed5a17377 +#: 981f9b23d01b436b8d74821d943ef9f7 msgid "" "Do not send `3` expecting MOVEJ on the arm / WBC controller. Full integer" " table: [FSM and Topics](../../3-concepts/4-fsm_and_topics.md)." @@ -523,12 +526,12 @@ msgstr "" "与话题](../../3-concepts/4-fsm_and_topics.md)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:82 -#: 0f3b854a3186498c918e665e6b4eb65b +#: 80105724649c45149d7f4b2c8103fa2e msgid "Home (`StateHome`)" msgstr "Home(`StateHome`)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:84 -#: 48db220ef40443c0803a94e7d491c5c5 +#: 41134bfb5b694679bca7a413fe6b07c2 msgid "" "Both **Basic Joint Controller** and **OCS2 Arm Controller** use " "`arms_controller_common::StateHome`. Names, defaults, and **When** tags: " @@ -541,54 +544,54 @@ msgstr "" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/libraries/arms_controller_common/README.md)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 00f9babec3ed49bd9b4aee40f50c25ca +#: 2a24ef25049241d5be7939009707b158 ce4c518ec613408d8119129afcfd7a8a msgid "Default" msgstr "默认值" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: b93a1451ee8f4f7689c5a387f6c6503d +#: b2e6508041df43bb8fb3210a4f22eb03 msgid "`home_1` … `home_10`" msgstr "`home_1` … `home_10`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: df7a88c73a064dee89ef29eaf6c0f434 +#: 1da57e975a1d4d40aa1111dbbcbd6735 msgid "from YAML (`home_1` required)" msgstr "由 YAML 提供(必须有 `home_1`)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 559686d2528742158a8824c4ccc70ce2 +#: 39a409fa3dc44479ba39b1ac95257479 msgid "Preset configurations. **Startup only** (`StateHome::init`; not re-read)." msgstr "预设构型。**仅启动**(`StateHome::init`;之后不再重读)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: a7f23879c699402eb63e32be869e1904 +#: 5ab432e19ccb4cf7aa410dc101ff0181 msgid "`home_duration`" msgstr "`home_duration`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 153261fb95e7428186d5c856d61cdd98 cbcece3bd43a4ddcbb0687aacb02c563 +#: 21cb056352c848b98ce749513912ab89 f3afde2d68fb4c6e814e51af519e1c49 msgid "`3.0`" msgstr "`3.0`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: a5fe13e97f0b4e2eaecb2e5c7663f917 +#: f34e43610bd3479597277a831b0f3737 msgid "" "Interpolation duration (s). **Runtime** (next HOME enter or config " "switch)." msgstr "插值时长(秒)。**运行时**(下次进入 HOME 或切换构型)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: cf55c6050fbd431f9e9c596610d6e6b8 +#: 400e9ee49b8f4b899b85b57d49675691 msgid "`home_interpolation_type`" msgstr "`home_interpolation_type`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: de2cda2b2683454a84c6ede69404134c +#: cadc1fe962a6482f94b1ad44d1a5e62c msgid "`\"linear\"` (`auto_declare` and Basic Joint README YAML)" msgstr "`\"linear\"`(`auto_declare` 与 Basic Joint README YAML)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 8e82033678a24b4bbb3dd2560fbb41b3 +#: ca975a48d81f4c14a303912ee467af42 msgid "" "`\"tanh\"` | `\"linear\"` | `\"doubles\"` | `\"none\"` (Home has no " "`\"servo\"`). **Runtime**." @@ -597,61 +600,127 @@ msgstr "" "`\"servo\"`)" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 539eb2da354a4dcfacb77e6b93465895 +#: f60cd0240f214ca0b034bbe297580166 msgid "`home_tanh_scale`" msgstr "`home_tanh_scale`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: eda3f3e8e4054feca1c39e9144a00321 +#: fdaff4c1809f457abce1de220a5c0040 msgid "tanh scale. **Runtime**." msgstr "tanh 尺度" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 97521b31ea584cc39dca009572bbd975 +#: 2c71e4305cc04ae6a4f178e21092eac8 msgid "`home_max_velocity` / `home_max_acceleration` / `home_max_jerk`" msgstr "`home_max_velocity` / `home_max_acceleration` / `home_max_jerk`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 451e5f36cae045c9b37edc46d963d703 +#: 3d11aee266244db592722b65827aa9e8 msgid "`2.0` / `4.0` / `20.0`" msgstr "`2.0` / `4.0` / `20.0`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: ecf4407fdfb748c9b7bef1e306f6fd96 +#: c3fe23fa2b014325ba7b19fad8bea748 msgid "" "Limits. **Runtime**. In the common README; Basic Joint §3 YAML example " "omits them." msgstr "限幅。**运行时**。写在共性 README;Basic Joint §3 YAML 示例未列出。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: e508b2ab96cd44e6b5a29be4a40f2916 +#: 1bd2acc861d84e72966df1911c6d01ab msgid "`switch_command_base`" msgstr "`switch_command_base`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 6ad4b5c0b40f4e43b383f6f9d6f4565e +#: ca2dd3a9787940a4ad1e4ddbb5c2628f msgid "`100`" msgstr "`100`" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 -#: 141e54dc899b4dc09f92d099e1f3a55c +#: 55a80ad240ca499a8f20819c865e2f9a msgid "HOME config switching. **Startup only** (constructor)." msgstr "HOME 构型切换。**仅启动**(构造时)。" #: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:95 -#: 5c1d88dfe8824a8eaec1789fdbc83bab +#: 5f7b990cbb7546799ee2cc22e3bb2fc0 msgid "" "OCS2 Arm extra slots `home_pos` / `rest_pos` stay on that controller’s " "table." msgstr "OCS2 Arm 额外槽位 `home_pos` / `rest_pos` 写在该控制器自己的表里。" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:97 -#: 1acf4492fe6041a5bff640861375b3d1 +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:98 +#: eaf296edb2c0454b9e41c6a744dd9ffe +msgid "Hold (`StateHold`)" +msgstr "Hold(`StateHold`)" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:100 +#: 77a09cdba2a841a5bcad602f24d7e372 +msgid "" +"**Basic Joint Controller** and **OCS2 Arm Controller** both " +"`auto_declare` these keys (default `0.1`) and use " +"`arms_controller_common::StateHold`. Behavior: [`StateHold.cpp` at " +"`9a1da3ba`](https://github.com/fiveages-" +"sim/arms_ros2_control/blob/9a1da3ba3747b3042866422c2269c1d49bb02f48/libraries/arms_controller_common/src/FSM/StateHold.cpp)." +" They are **Runtime**: `StateHold::updateParam()` calls `get_parameter` " +"on HOLD enter and each HOLD `run`. MIX HOLD impedance (`default_gains`) " +"stays on the OCS2 Arm table." +msgstr "" +"**Basic Joint Controller** 与 **OCS2 Arm Controller** 都 `auto_declare` " +"这些键(默认 `0.1`),并使用 `arms_controller_common::StateHold`。行为见 [`9a1da3ba` 上的 " +"`StateHold.cpp`](https://github.com/fiveages-" +"sim/arms_ros2_control/blob/9a1da3ba3747b3042866422c2269c1d49bb02f48/libraries/arms_controller_common/src/FSM/StateHold.cpp)。它们是**运行时**:`StateHold::updateParam()`" +" 在进入 HOLD 以及每个 HOLD `run` 时调用 `get_parameter`。MIX 下 HOLD 阻抗" +"(`default_gains`)仍写在 OCS2 Arm 自己的表里。" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:102 +#: bf87e95d6179412ba55291731799356f +msgid "" +"On enter, hold targets start as last-sent joint commands. Diff is the " +"absolute joint-position error (rad)." +msgstr "进入时,保持目标取自上次下发的关节命令。差值是关节位置绝对误差(弧度)。" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 +#: 0fecf7ca50b447268623700af1acef3c +msgid "`hold_first_check_position_threshold`" +msgstr "`hold_first_check_position_threshold`" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 +#: ced99f9a7efe42db94f39f949182c646 f1b3aa730a3e434bb9bba4b8adfb0edf +msgid "double / `0.1`" +msgstr "double / `0.1`" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 +#: 8a7522e137094cf8a94fd95cfd8629e6 +msgid "" +"First HOLD check after enter (measured vs hold targets). If any joint " +"exceeds this, retarget hold to current measured positions to avoid a " +"startup jump, then mark the first check passed. `≤ 0` skips the first " +"check. **Runtime**." +msgstr "" +"进入 HOLD 后的首次检查(实测位置相对保持目标)。任一关节超过此阈值时,把保持目标改成当前实测位置以避免启动跳变,并标记首次检查已通过。" +"`≤ 0` 跳过首次检查。**运行时**。" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 +#: f8cc1e39d00d4b039671a10041d8f0f4 +msgid "`hold_position_threshold`" +msgstr "`hold_position_threshold`" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:26 +#: 9359651286144fbba68e8ff4a56735fe +msgid "" +"After the first check has passed, if measured vs hold target exceeds " +"this, retarget hold to current measured positions. `≤ 0` disables " +"automatic adjustment. **Runtime**." +msgstr "" +"首次检查通过后,若实测位置相对保持目标超过此阈值,把保持目标改成当前实测位置。`≤ 0` 关闭自动调整。**运行时**。" + +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:109 +#: 902b7d009fa94b529677a56c387a45b9 msgid "Related" msgstr "相关" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:99 -#: dc177d6779de4b838fed55e322bde81d +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:111 +#: ab9067ef5afe4aa3bed30310f0073141 msgid "" "[Controller ROS 2 " "parameters](../../4-reference/controllers/8-ros2_parameters.md)" @@ -659,30 +728,30 @@ msgstr "" "[Controller ROS 2 " "parameters](../../4-reference/controllers/8-ros2_parameters.md)" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:100 -#: a49a6c8946d64cd9b87f465f73ba3a77 +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:112 +#: ca81f95a81d54f33b675353d87b665d3 msgid "" "[Hardware Interfaces](../../4-reference/hardware/0-index.md) — per-driver" " `` tables" msgstr "[驱动层](../../4-reference/hardware/0-index.md) — 各驱动页 `` 表" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:101 -#: ad16d12a6147454aae4c9347d69e7949 +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:113 +#: 9ae692aa77904e2bb9118ad36512dd04 msgid "[Use Basic Joint Controller](11-basic_joint.md)" msgstr "[使用 Basic Joint Controller](11-basic_joint.md)" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:102 -#: 16ffa283f1874b3d9fec8cc7be5576a0 +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:114 +#: b0fbc2f89b1343d0a003aa21d81a490e msgid "[ros2_control in This Stack](../../3-concepts/1-ros2_control_here.md)" msgstr "[本栈中的 ros2_control](../../3-concepts/1-ros2_control_here.md)" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:103 -#: 62f396ca1ac5421ea47bdbc2034bfbc7 +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:115 +#: 167c4d4e8ff74ecba294f73bafa6163c msgid "[FSM and Topics](../../3-concepts/4-fsm_and_topics.md)" msgstr "[FSM 与话题](../../3-concepts/4-fsm_and_topics.md)" -#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:104 -#: 637e2d5b6df347bf8f33dac485e49f3d +#: ../../source/2-how_to/4-controllers/12-ros2_parameters.md:116 +#: b6966affc8ec41668983bf25128cfa5b msgid "" "[robot_common_launch](../../4-reference/descriptions/2-common.md) — YAML " "merge order" diff --git a/locale/zh_CN/LC_MESSAGES/4-reference/controllers/8-ros2_parameters.po b/locale/zh_CN/LC_MESSAGES/4-reference/controllers/8-ros2_parameters.po index b3deaaf..34b7bde 100644 --- a/locale/zh_CN/LC_MESSAGES/4-reference/controllers/8-ros2_parameters.po +++ b/locale/zh_CN/LC_MESSAGES/4-reference/controllers/8-ros2_parameters.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: FiveAges Sim \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-09 12:40+0000\n" +"POT-Creation-Date: 2026-10-19 10:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -21,12 +21,12 @@ msgstr "" "Generated-By: Babel 2.18.0\n" #: ../../source/4-reference/controllers/8-ros2_parameters.md:1 -#: bad8a9176a624f0695fe9f86d15ff232 +#: 7436d6b1347143979fb44820f6e251da msgid "Controller ROS 2 parameters" msgstr "控制器 ROS 2 参数" #: ../../source/4-reference/controllers/8-ros2_parameters.md:3 -#: 3da5d46b2c2c4dbea49b56974b3a8ee6 +#: 15f9ef90b9cb4f43a19065443f06b3df msgid "" "ROS 2 parameters for public controllers in " "[arms_ros2_control](https://github.com/fiveages-sim/arms_ros2_control). " @@ -47,12 +47,12 @@ msgstr "" "整数见各控制器页面(此处不重复)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 763e53f456f247a788e19178e7c44e5a +#: 5b89283aeb194b8bb7bd905784fffb50 msgid "Source of truth" msgstr "权威来源" #: ../../source/4-reference/controllers/8-ros2_parameters.md:8 -#: 86e0120901804653b37e8034b9c72aa4 +#: ea5faefb0cb340b187e76edbfe160a70 msgid "" "Names, types, and defaults come from the linked README (or `auto_declare`" " / `declare_parameter` at the code pin when the README says so). **When**" @@ -70,65 +70,66 @@ msgstr "" "#framework-common-parameters)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:11 -#: ee29514772dd4717bf9814d60bdb7258 +#: 8dde2a7d23164eabab091ca4967e988f msgid "How to read the tables" msgstr "如何读这些表" #: ../../source/4-reference/controllers/8-ros2_parameters.md:13 -#: b2a65bfd90f442368bd3363e293e13e1 +#: 494b5def6118419db382ba9d83179190 msgid "" "Three columns: **Parameter**, **Type / default**, **Meaning** (the " "**When** tag is the last sentence of Meaning)." msgstr "三列:**参数**、**类型 / 默认值**、**含义**(**何时生效**写在含义的最后一句)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6ec6f66cd07245259dc93da476d7f33b +#: d96191bfb2ac44efa1f8da73dc7ea7c1 msgid "Tag" msgstr "标记" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 70ed9fb736b147c2bb98f8e2e84f0fb4 +#: ff6f0f2e17dc491bb7a00a7b3c420452 msgid "Evidence (#120)" msgstr "依据(#120)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 7ef72a0e47584fdaa0479d1d456a65a3 +#: 6d0b724db0c844f4b63910996648f10a msgid "**Runtime**" msgstr "**运行时**" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 613411d01dc54356a48704e0c18fc5ae +#: bf5ba8f99e994986be260a31bb3d49ec msgid "" "`get_parameter` on the next HOME enter, MOVEJ enter / joint command, " -"waist position plan, interpolating MoveL, or MOVEJ `cartesian_defaults`" +"waist position plan, interpolating MoveL, MOVEJ `cartesian_defaults`, or " +"HOLD enter / each HOLD `run` (`StateHold::updateParam`)" msgstr "" -"下次进入 HOME、进入 MOVEJ / 关节命令、腰部位置规划、插值 MoveL,或 MOVEJ `cartesian_defaults` 时 " -"`get_parameter`" +"下次进入 HOME、进入 MOVEJ / 关节命令、腰部位置规划、插值 MoveL、MOVEJ `cartesian_defaults`,或进入 " +"HOLD / 每个 HOLD `run`(`StateHold::updateParam`)时 `get_parameter`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: d9c4fef4256d4d888c24be087c65fa57 +#: 16771aa4e2eb4cfaa3bbcb4d1ae0c7f0 msgid "**Startup only**" msgstr "**仅启动**" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 4e1695433ef948a2916a9b071715b683 +#: 0f64e87b984e49359a946204e64d05bd msgid "" "Member set in `on_init` / constructor / first waist-planner create; or " "README “reload / restart”" msgstr "在 `on_init` / 构造函数 / 首次创建腰部规划器时写入成员;或 README 所说的「重新加载 / 重启」" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 66745647441b40c08d204c791add23b5 +#: b2e039e475e24e88afdf0f81556638fb msgid "**Unverified**" msgstr "**未核实**" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 9b6971a3455b494d9756ba3e73be0787 +#: 28fea68d69dd48839d67dbb904b1ec05 msgid "No documented key in these tables is Unverified in #120" msgstr "#120 中这些表里已文档化的键都不是未核实" #: ../../source/4-reference/controllers/8-ros2_parameters.md:21 -#: cbae523b74bb419b856f835cac0ff060 +#: 5daf84ff1b1640b2b2176777ce1ad5d6 #, python-brace-format msgid "" "`config/ocs2/*.info` is **not** the ROS 2 parameter server. `robot_name` " @@ -140,18 +141,20 @@ msgstr "" "YAML 设置了 `info_file_name`。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:24 -#: 06eabe2f222f483888377a855f7b8198 +#: 652b66950f254c36a127c49aba8461ad msgid "Basic Joint Controller" msgstr "Basic Joint Controller" #: ../../source/4-reference/controllers/8-ros2_parameters.md:26 -#: 4e2dd0a9097e445a87dfc6e63cd16e9f +#: 66e3fab745c04e52b9495817b9716d6f msgid "" "Plugin `basic_joint_controller/BasicJointController`. Also declares the " "[framework-common " "keys](../../2-how_to/4-controllers/12-ros2_parameters.md#framework-" "common-parameters). Home keys: [shared " "Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome)." +" Hold keys: [shared " +"Hold](../../2-how_to/4-controllers/12-ros2_parameters.md#hold-statehold)." " README [#120](https://github.com/fiveages-" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README.md)" " / [README_zh](https://github.com/fiveages-" @@ -164,7 +167,9 @@ msgstr "" "`basic_joint_controller/BasicJointController`。同时声明[框架共性键](../../2-how_to/4-controllers/12-ros2_parameters.md" "#framework-common-parameters)。Home 键:[共用 " "Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-" -"statehome)。README [#120](https://github.com/fiveages-" +"statehome)。Hold 键:[共用 " +"Hold](../../2-how_to/4-controllers/12-ros2_parameters.md#hold-" +"statehold)。README [#120](https://github.com/fiveages-" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README.md)" " / [README_zh](https://github.com/fiveages-" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README_zh.md)。话题:[Basic" @@ -172,7 +177,7 @@ msgstr "" "Controller](../../2-how_to/4-controllers/11-basic_joint.md)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:28 -#: 6a74965f159449bbaf9a7dc40ad4fad2 +#: 76a09345c0804b2fabc45e50a691883b msgid "" "This is the **primary MoveJ parameter table**. 灵巧手 uses " "`target_command_*` on this controller (not **Adaptive Gripper " @@ -182,12 +187,12 @@ msgstr "" "Controller**)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:30 -#: 311923fe86cf4894a8bf7c7e0cb743ed +#: 6e5b569ff5dd4e09816f7eaced7331d2 msgid "MoveJ" msgstr "MoveJ" #: ../../source/4-reference/controllers/8-ros2_parameters.md:32 -#: c6b487c718b741b2b015663e626369d6 +#: 4953054246ed4aba89297a6616e8cc06 msgid "" "README defaults below. Shared C++ `auto_declare` on **OCS2 Arm " "Controller** uses `movej_interpolation_type` `\"linear\"` and " @@ -199,56 +204,56 @@ msgstr "" "`0.2` — 见该页差值,不要再复制一张 MoveJ 表。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 33238c64acd247a9acffef8afd7956b4 7ce6b9b510cd4ea2b33d137bee96aaf7 -#: a2f1b62e25d045968dcb92ab9af4b7f2 b8f77e396f4c4dcab69915be23c837f3 -#: bf8161bd481d4cf2a40205f469d132dd cbef744f5aeb4fcb9d2b228bb0090527 +#: 1565ad02ab88473793509cdf4b7f8cda 1c7f2c51e170436ea2e780c1fc3141a2 +#: 235fc5aa50b747eab04524c016d70bfd 5534987ad81a4cfbb25719595df2a20f +#: d41dc27c4a7f45f7914476e8ca4daa4f e0771d1f468e4a5bb24c5f6ada8c5d6e msgid "Parameter" msgstr "参数" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 4352e81ae91448e8a830e847e0c8c110 5d2ac2facc1445508630d95487baf48f -#: c3db131956da413eae3ddf0dc6afe733 d99a275323cb49c8aad0bcf28bc685b7 -#: ef19cfc09494451992c09cbe5e56e7d7 +#: 2f33f6c2b1d3417587340214d9234e2a 794a36988ee24b7db1bce24a3b89c849 +#: 8e56f1a0a12e4ba9918504c5587087dd acb9bc1b0e204662bfb575340ce55d8e +#: cc5c96425d0e41fba714221aeff65fde msgid "Type / default" msgstr "类型 / 默认值" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 785266351451402287f2a480892b7a5e 83eba32d90034dc597f3f5045af370ab -#: 9a2982fbc38541028629636a5c97468a a17c5fec1db841efba0bb4563cff935e -#: bc5328fd152f40eaa0f79ff7b6275676 e2f0d1b58f6d4bdba5f02fbca4682df8 +#: 06bda173c2b940eabd96d6b2e71e6cd1 21ef230aa638491c966a0521e0ddf095 +#: 424b9723692245f3ac2e35d41b6b0cb2 48a632c7537d457eaabc2a33e3667411 +#: 7b99869ec0944e4286329fd677d82c6c 93f8419028e84401a6ae31f278896b8d msgid "Meaning" msgstr "含义" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: ef7b4bf8ef2742268125642038e12eed +#: cfebaa5ca8da4333afaa1d9adc3db99a msgid "`movej_duration`" msgstr "`movej_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 410c9f30113f45ccb5cf19cf066ce28c 60b3cef0673e449fa1d969e8909a8c6a -#: 7c30201ed62b4530a2b79e102cc2cea3 b2bd4fe0aac34993925448c5924b0429 +#: 3dc60cf0ade443318f0c17bfd6d5f11c 6ff088b32e39431fbfbc943cde2c4f0b +#: acc16333b7574b0a8cbeccb8f2dd4941 bd5d56613bf043bea744089d3ca88841 msgid "double / `3.0`" msgstr "double / `3.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: cfad629448f0498cab686d0d20f5d113 +#: a9d8490742f44ac99bc753ed3bdfa4eb msgid "" "Lower bound for `target_joint_position` (tanh / linear / doubles). " "**Runtime**." msgstr "`target_joint_position` 的时长下限(tanh / linear / doubles)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: e504b4e6d79a456982f085947282ea0e +#: 97c802b4166742f7a9112c41baebf9f0 msgid "`movej_interpolation_type`" msgstr "`movej_interpolation_type`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 34468486e9534917830f15f6effbf11a +#: 6d991c69c5564feb8c0f501384c301be msgid "string / `\"tanh\"` (README YAML)" msgstr "string / `\"tanh\"`(README YAML)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 639bcbdbb8644d9f9d303774a4fcfdf2 +#: 015c1b027dd743ae97460c0529779b6e msgid "" "`\"tanh\"` | `\"linear\"` | `\"doubles\"` | `\"none\"` (README_zh also " "`\"servo\"`). **Runtime**." @@ -257,98 +262,98 @@ msgstr "" "`\"servo\"`)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0baebcb782a64dd2b5b8b6ec5ee64f86 +#: cbc1152d505140aa9428512dbd794c48 msgid "`movej_tanh_scale`" msgstr "`movej_tanh_scale`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: e7aaedcc888049ad91d5fa972873c273 +#: 96ba2585469b4853abbae734f7f17b78 msgid "tanh scale. **Runtime**." msgstr "tanh 尺度" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1917ec5166c74ce58c74eb085458ebd7 +#: 12923ccfcada448db8c3720f17933c41 msgid "`movej_trajectory_duration`" msgstr "`movej_trajectory_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: b3efcd0744a844d0a513f281f758c2b1 +#: b5b13e0e707640428f308e4cf8057110 msgid "Multi-waypoint duration. **Runtime**." msgstr "多路点时长" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: b75aa327b82943c88037490d83b2239e +#: a8ee12d5ff35419fbd61748e82beff25 msgid "`movej_trajectory_blend_ratio`" msgstr "`movej_trajectory_blend_ratio`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1b50a9aa93e54a69879bcd09a1be9936 429a9a692a5d4c3784ac7b726e50aff2 -#: 8daf2172beb0470684daceec0a7766d6 +#: 6d5c4a06c6154effab5db9d5c35910ef 7833c7fa0ff54ccfaa8129c061f0e3f4 +#: e31ca4f61f5b43888b857370e738cf40 msgid "double / `0.0`" msgstr "double / `0.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: da4f571cbec9405da59d029f25605644 +#: a19f03efdb594e438cc51ba53a820e72 msgid "Waypoint blend. **Runtime**." msgstr "路点融合" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c218b63e1bff4915baa5ee55f2990e3e +#: 22273b74584141b0accdc96c8656e2da msgid "`movej_max_velocity`" msgstr "`movej_max_velocity`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 399ced1a8b024b07aa061f244e37d498 +#: a927787cf30449719c320afdf7b6981f msgid "double / `2.0`" msgstr "double / `2.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 2b19e17aaf1042ea90fdd6b2b2a82801 +#: 300100fb66d243a699270c6f5a3b6cfb msgid "Peak joint speed; may extend duration. **Runtime**." msgstr "关节峰值速度;可能拉长 duration" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 56505f62682f4134b9e79899a3b33f80 +#: ef6648b1b9b94815b64c38f6e7d2dc77 msgid "`movej_max_acceleration`" msgstr "`movej_max_acceleration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: aacb43f97317495483f2ffe2ebb6d6d5 +#: fbfaa68e454c47ceb443d19512db8f6e msgid "double / `4.0`" msgstr "double / `4.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6b4fe4820c524c7f91e76506d354b51d d5eb3008ef75480599f9e73fb9e07ba6 +#: a0156f7117274a939dfd10e4f353a579 a026896e523c4daa87a6a227794f4a5c msgid "doubles only. **Runtime**." msgstr "仅 doubles" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: db33be8d6541403eb4c924aa5622ffd4 +#: 2f4ed48843974b458e2d2168120fa8ce msgid "`movej_max_jerk`" msgstr "`movej_max_jerk`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6e27bd47e56840daa1e60c15335b545c +#: 5d0a473c84d0421a8a4f2d5278435665 msgid "double / `20.0`" msgstr "double / `20.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: f80ebf520418438d93fc6f557e4a7144 +#: 4b0718b94b02462ca62a06f7ad277cb7 msgid "`movej_auto_extend_duration`" msgstr "`movej_auto_extend_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 37e6363e62904a6094cc5e403beef918 bc76960f0ada4c1294a53a3e34fddfb2 +#: 48104bbbfbe04704899eceaa9f505e87 a0c7225491754711ad0d545c5e21ccae msgid "bool / `true`" msgstr "bool / `true`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 480712ba3d3b4466aaacfe31408c25bc +#: 823bb3ffd1d74fd089a83ccdc5d4a23b msgid "`false` keeps a fixed duration. **Runtime**." msgstr "`false` 保持固定时长" #: ../../source/4-reference/controllers/8-ros2_parameters.md:46 -#: 06a93dce78b3426093ea98c2c5b88959 +#: 7a9494b269294bbc98dc5aead9b5e917 msgid "" "`none` is not duration-extended. `joint_trajectory_with_para` uses the " "same vel/acc/jerk when a waypoint omits those arrays." @@ -357,7 +362,7 @@ msgstr "" "vel/acc/jerk。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:48 -#: f1e374d7683940da81608791698a16f2 +#: 546f16997a924882af4780a1f5abff9c msgid "" "MOVEJ `cartesian_defaults.*` (IK MoveL when `lina_planning` is present) " "are **Runtime** on the next MOVEJ command — [`arms_target_manager` README" @@ -370,62 +375,62 @@ msgstr "" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/command/arms_target_manager/README.md)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:50 -#: 754f46da33344f0fac2dce827d8da5cf +#: 3f6cedb6b4d545a89ca76b17b63730af msgid "灵巧手 (`target_command`)" msgstr "灵巧手(`target_command`)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a834d9a132624c1cbae208c79c160063 +#: be2b59cc952649aaa0061ab81183718c msgid "`target_command_enabled`" msgstr "`target_command_enabled`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1163e60f04e743bd80980f18f7511f98 26625258a9204bd6b08e1256a6831efe +#: 8929cbfcd4b44495a603e66a42ad07b9 f4f3c0f8b1e344328a10b8667631779b msgid "bool / `false`" msgstr "bool / `false`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0c1af5870ebd42c1a42c05ddd18ca0bb +#: 0b41a28398134429840664b5bfe44f66 msgid "Switch/percent topics. **Startup only**." msgstr "开关/比例话题" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 389ede7ab7c14c18b438157a634db514 +#: c81530284bb04f23b8a20bc698d8a351 msgid "`target_command_close_config`" msgstr "`target_command_close_config`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: ecbc693c2ab045ad90ad12efe55b5b23 +#: 96b2144abf144423b7e1c61e042f42ed msgid "int / `1`" msgstr "int / `1`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6c80e5fed72542a3ad68031f052c9804 +#: bd91372dde8343d68a9ad6d4d7691466 msgid "Close pose index in Home configs (0-based). **Startup only**." msgstr "Home 构型中的闭合位索引(从 0 计)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 191db86675ec4d0eb9d8c38a9eaef13b +#: b49c3d49eded400bb4917c8bc6fb1732 msgid "`target_command_open_config`" msgstr "`target_command_open_config`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 077cb21618be489abc4c46a483fcfd94 +#: 47a1b543dae64407a0fc417888b0d0ca msgid "int / `0`" msgstr "int / `0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 9ae2182b00114867bfb63d9b9e2ff0b9 +#: a90e079f21ad4d32a260eb53e346d4b3 msgid "Open pose index. **Startup only**." msgstr "张开位索引" #: ../../source/4-reference/controllers/8-ros2_parameters.md:58 -#: 1fb49af9749241e580fe3eb68830238b +#: f9e92ebdd6784e5b985fa38d3c98f9c0 msgid "Waist" msgstr "腰部" #: ../../source/4-reference/controllers/8-ros2_parameters.md:60 -#: 7725e2112d034bae8e7a9452b41aee8c +#: cd829dd38d6e42fcab20c26564419346 msgid "" "Only `waist_lifting_duration` is **Runtime**. Type, speed triples, " "kinematics, and TF frames are **Startup only** (first planner create or " @@ -435,181 +440,181 @@ msgstr "" "**仅启动**(首次创建规划器或 `on_init`)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 81709e446447481da4555b98da1530ea +#: 0700674653ed4d39b282c752a81d2164 msgid "`waist_lifting_enabled`" msgstr "`waist_lifting_enabled`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 71789bd630914610af5669fb401b241c +#: 93d0f934013346d588aa99d09308086c msgid "Declares waist params and topics. **Startup only**." msgstr "声明腰部参数和话题" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 2679690ac5bd481e9540f9e967832e5e +#: eee0fad69a63425a8ebe24d86ea6fd90 msgid "`waist_lifting_type`" msgstr "`waist_lifting_type`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 41005f85ab354558afe634aa7bc14bb7 +#: c2619f99405448bb87d10d3824ab0e9f msgid "string / `\"three_joint\"`" msgstr "string / `\"three_joint\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 8c2b1f1bea044322882f399cc1951808 +#: a76fc796d7934116974df3f43f329a6c msgid "`\"three_joint\"` | `\"single_joint\"`. **Startup only**." msgstr "`\"three_joint\"` | `\"single_joint\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 5e4d2387a3fe4f83a74edbf9d70faa3f +#: 5cf8a56b555440d9bd5441a06aad6264 msgid "`waist_lifting_duration`" msgstr "`waist_lifting_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 5618f4e064544566ad0c485006edf793 +#: b6971d1d027a4751bd8a84ae5f6ec780 msgid "Re-read on the next waist position plan. **Runtime**." msgstr "下次腰部位置规划时重读" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a09506ad9cb24b0683aba380c811b67b +#: 71a0e77f0b3449fea3102b4c97f9eab4 msgid "`waist_lifting_default_parameter`" msgstr "`waist_lifting_default_parameter`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 25261ad8317e4c1b8b0c07fb0165c0dd e8654a5fa1ad4cf5ac936988cbfc71b2 +#: 16e80977a9a0479eb26dd8b82cb0182d a7e79e1aa0304633a3bb885138e1969d msgid "double[3] / `[0.25, 1.0, 5.0]`" msgstr "double[3] / `[0.25, 1.0, 5.0]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0d8fb19bd0c749db8723a02b35eddf68 14f25b1e4aa4423cbf4c55c665067b24 +#: b83fb5e8adfa4465bcc12218cdc51ced d198476726464217961048d8ed564377 msgid "`[max_speed, accel, decel]`. **Startup only**." msgstr "`[max_speed, accel, decel]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c08c8889813547c58e4e05bc952620cb +#: db4e7139ec0f425983ce586b3c554713 msgid "`waist_turning_default_parameter`" msgstr "`waist_turning_default_parameter`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 76e5c86315f044628836ac446706e18d +#: 118ab73a2e474fc1b2687fded6f8a42d msgid "`waist_absolute_source_frame`" msgstr "`waist_absolute_source_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 68dc6780ff254034b18652b45a88defc +#: 68b27fa7072e40a3bd1982924bb9a5f2 msgid "string / `\"base_footprint\"`" msgstr "string / `\"base_footprint\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: b5a7658a037e4db0be5807b26012703d +#: f0842b3862574f9d8df4dcc9f0a0df0c msgid "Absolute `(x, z)` (W2 default). **Startup only**." msgstr "绝对 `(x, z)`(W2 默认)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 129d4ceacf544bf5a22f7521ad387f99 +#: 1d34bf879df64c2d950b7fbbaf2f8480 msgid "`waist_absolute_target_frame`" msgstr "`waist_absolute_target_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6c7111eaf6fd4b388701bd7e1cb2ca04 +#: 709ab86973124ca59b705a3c3aebad94 msgid "string / `\"body_base\"`" msgstr "string / `\"body_base\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1f15f5a5477548138a1ad6d75b3c33df +#: 719a5d4ab8db40f397b414548f081ab0 msgid "`phi` / relative planning. **Startup only**." msgstr "`phi` / 相对规划" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: b3a63b3a965c40e89be19ae2c12069a8 +#: 86cc4fd4257144c2951970db03f12368 msgid "`waist_l1` / `waist_l2`" msgstr "`waist_l1` / `waist_l2`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0350985d2d7442648b782f8454586d75 +#: 673f7fe9deb94df693570f67b128426c msgid "double / `0.322` / `0.355`" msgstr "double / `0.322` / `0.355`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1e6e52f3bb924a30b97faf841c0f7324 6a5e2909dbed4751a2b194942c5951f4 -#: c6e3fac4b0444f17905a8bec84661e8a +#: 0cd33f793f4346e8bc6b4af43a10e147 3c783f01d4ef48e8aedf3a83f9340433 +#: 4b74dcfc075545ef8ece2b7761619d39 msgid "three_joint. **Startup only**." msgstr "three_joint" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a88be6f7f6e649d0a23bb2665dc99d30 +#: ac06bd94abb54838b7bbf01cc547ff5f msgid "`waist_rotation_direction`" msgstr "`waist_rotation_direction`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 260caddbeca546bab451953787aa5361 +#: 3fcb1ca183c3434b9df93ddbfeb2a2cb msgid "double[3] / `[1, 1, 1]`" msgstr "double[3] / `[1, 1, 1]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 50ce3b57e09d486eb71a7b8843e9ea76 +#: d5e7aae0f160459db77cf2d3327981e5 msgid "`waist_angle_offset`" msgstr "`waist_angle_offset`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 942389eef6fb46f1a22e286c2a04b4b6 +#: ae8f41eb37cf4238b6719782b4d8c7a8 msgid "double[3] / `[0, 0, 0]`" msgstr "double[3] / `[0, 0, 0]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 3c1625be58034d06a8689aeea9340cfd +#: 7a66f3e7422d434091c6c9fa19157bdd msgid "`waist_single_joint_direction`" msgstr "`waist_single_joint_direction`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 38b962716de84d1c84d795b8ba722f81 be81868f90f6405280f1e2090cf9cac6 +#: 9601455f6aa345218fdd2db69e9ce950 fcc298de58f64b11a8d851bf8d72a6ef msgid "double / `1.0`" msgstr "double / `1.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 9216d7b807f342e4b773029501c72690 +#: ccdffa9a27314b168b61ebf4f50cb70a msgid "single_joint (ARX Lift / Lift 2S). **Startup only**." msgstr "single_joint(ARX Lift / Lift 2S)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a43b2d42a1454c0a88e83bd55931f0ad +#: 46622c58cbf7452fb87b5515517b0722 msgid "`waist_single_joint_offset`" msgstr "`waist_single_joint_offset`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 44ac6e343c844bbfb0923be02446112f d33cb406a2fc4db588a2384f2a361827 -#: dc608da896e14d37a1aad51f3eb8f60a +#: 1cd0072a835a4a7ebdc8b02406d27279 a6084b0e67934852943b795fd5043023 +#: a9359858f95f4f42a4be2d440399ffdd msgid "single_joint. **Startup only**." msgstr "single_joint" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 8b8dccd949a4417c99f2d58e333358c4 +#: c7a7a47204e84d65bf8dba18823567db msgid "`waist_single_joint_pitch_joint`" msgstr "`waist_single_joint_pitch_joint`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 5fa29d083cee4fb1b1cd558df4950938 +#: c83ab5e8b76740299070296664a27124 msgid "string / `\"_no_pitch_\"` (README)" msgstr "string / `\"_no_pitch_\"`(README)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: b4d511bf412748968b862256bb1b78c8 +#: 3351c883671f423c807b8b7aedf6e216 msgid "" "Name not in `joints` → pitch disabled. Source `auto_declare` default is " "`\"body_joint2\"`. **Startup only**." msgstr "名称不在 `joints` 中则禁用 pitch。源码 `auto_declare` 默认是 `\"body_joint2\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 62e31ef8d83c48b5a3226081f9eb59de +#: c64b5366ba774adfa394c896ac4039e9 msgid "`waist_single_joint_pitch_direction`" msgstr "`waist_single_joint_pitch_direction`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c74e45af55e74161848de7746ac2f96e +#: ca0e990055524273b707ce1340cd6ad3 msgid "`waist_single_joint_pitch_offset`" msgstr "`waist_single_joint_pitch_offset`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:80 -#: 6214f4b73b8943478525981a41b9d6e8 +#: fd1203245af94e9e8de0e995ea8f53f0 msgid "" "Lift 2S example (`body_joint_controller`): `waist_lifting_enabled: true`," " `waist_lifting_type: single_joint`, `waist_absolute_source_frame: " @@ -626,12 +631,12 @@ msgstr "" "arx/blob/main/arx_lift2s_description/config/ros2_control/ros2_controllers.yaml)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:82 -#: 30c60a05e687422683302342d9ef8d7a +#: 106bb4679a924961907b108300cabe5f msgid "Adaptive Gripper Controller" msgstr "Adaptive Gripper Controller" #: ../../source/4-reference/controllers/8-ros2_parameters.md:84 -#: 29e69008e5bb4018b8c8df86876f78cf +#: 0b808c3474e44584bddfe4f4e2bece19 msgid "" "夹爪. Plugin `adaptive_gripper_controller/AdaptiveGripperController`. " "README [配置参数](https://github.com/fiveages-" @@ -647,7 +652,7 @@ msgstr "" "`/robot_description`。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:86 -#: a4b0939186864ebf8d27b576d5616502 +#: 930afa3692404829af81817683529d7a msgid "" "Uses `joint` (singular), not `joints`. `update_rate` and " "ControllerInterface command/state lists are **Startup only** at load. No " @@ -657,76 +662,78 @@ msgstr "" "的命令/状态列表在加载时 **仅启动**。没有 `on_set_parameters` 回调,`update()` 里也不重读。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: fe410e6a4abf4703b938f8d6f27cd096 +#: 0fe5f40bc13b4a0898815f15bf6b6062 msgid "`joint`" msgstr "`joint`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: bd945c9cd08c42cf882accd082b3603a +#: 65ac128c52f040308a4fae2562094c9b msgid "string / `\"gripper_joint\"`" msgstr "string / `\"gripper_joint\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: e1be9ae06d7c47cea612081531641423 +#: 5ec0008ff06d423785b35d80d48392a1 msgid "Controlled joint. **Startup only**." msgstr "被控关节" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 99e41f1be7f7440abff1b051910efe2b +#: 9ccbebfdb6f945b4b1fc86bf61830fca msgid "`use_effort_interface`" msgstr "`use_effort_interface`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: ce804f686e9541098bee89761d210495 +#: 4e303e6242924b478ca9607d395dd88b msgid "Bind effort state for force feedback. **Startup only**." msgstr "绑定 effort 状态以做力反馈" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0f40dde11384466587d2c61ebbd0c265 +#: 5a6d9e50dd394e5cb4e613765ddbb064 msgid "`force_threshold`" msgstr "`force_threshold`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 2437cd33659f4177b4ac600c7bb0fa6a +#: f0b2eac6af12465fa3d97e26e6fe153f msgid "double / `0.1`" msgstr "double / `0.1`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 3bca7ee137634c9a9139e9decaad9ee3 +#: 9bec0ff239fa44cf953ffc865865b405 msgid "Effort magnitude that triggers feedback. **Startup only**." msgstr "触发反馈的 effort 幅值" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 583bdf612a344cbf92d441ac9156abf3 +#: 8cc31c7c277c429b9466b72c638c4369 msgid "`force_feedback_ratio`" msgstr "`force_feedback_ratio`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a716986a34454ec2ac3f43983c47858a +#: 6cdd0849d7f448ccb65258ea43c7759f msgid "double / `0.5`" msgstr "double / `0.5`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 4758081515384d3c987f4b0c1f9d6f11 +#: 4f8d2e6d19f64bae93b0328d120459e5 msgid "" "After trigger: `0.0` stop here, `1.0` continue to original target. " "**Startup only**." msgstr "触发后:`0.0` 停在当前位置,`1.0` 继续到原目标" #: ../../source/4-reference/controllers/8-ros2_parameters.md:95 -#: f2d0bbd387c34b15b8ea21c85480ef40 +#: e8839baa46bf4f94bb34754c72dcae4c msgid "OCS2 Arm Controller" msgstr "OCS2 Arm Controller" #: ../../source/4-reference/controllers/8-ros2_parameters.md:97 -#: d32c303f778840a7b32401abe6189ea8 +#: 1b86bcec95b741be9556e0d75ddcdfab msgid "" "Plugin `ocs2_arm_controller/Ocs2ArmController`. Also declares the " "[framework-common " "keys](../../2-how_to/4-controllers/12-ros2_parameters.md#framework-" -"common-parameters) and the [shared " +"common-parameters), the [shared " "Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome) " -"names. README [#120](https://github.com/fiveages-" +"names, and the [shared " +"Hold](../../2-how_to/4-controllers/12-ros2_parameters.md#hold-statehold) " +"keys. README [#120](https://github.com/fiveages-" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/ocs2_arm_controller/README.md)." " FSM / launch: [OCS2 Arm Controller](2-ocs2_arm_controller.md). Public " "YAML: [`cr5_description/.../ros2_controllers.yaml`](https://github.com" @@ -739,9 +746,11 @@ msgid "" msgstr "" "插件 " "`ocs2_arm_controller/Ocs2ArmController`。同时声明[框架共性键](../../2-how_to/4-controllers/12-ros2_parameters.md" -"#framework-common-parameters)和[共用 " +"#framework-common-parameters)、[共用 " "Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome) " -"名称。README [#120](https://github.com/fiveages-" +"名称,以及[共用 " +"Hold](../../2-how_to/4-controllers/12-ros2_parameters.md#hold-statehold) " +"键。README [#120](https://github.com/fiveages-" "sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/ocs2_arm_controller/README.md)。FSM" " / launch:[OCS2 Arm Controller](2-ocs2_arm_controller.md)。公开 " "YAML:[`cr5_description/.../ros2_controllers.yaml`](https://github.com" @@ -753,7 +762,7 @@ msgstr "" "sim/robot_descriptions/blob/feature/agilex/humanoid/Dyna/taku_description/config/ros2_control/ros2_controllers.yaml)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:99 -#: 0d8e565c0fa14ee68b47deda9c942f14 +#: b4560296627244c19a4eb99546869692 msgid "" "README FSM is **HOME / HOLD / OCS2** (`3` = OCS2). Source also constructs" " `StateMoveJ` for canonical `/fsm_command` `4` (and IK MoveL when " @@ -771,7 +780,7 @@ msgstr "" "`waist_lifting_duration` 是运行时)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:101 -#: 9a12a39cab0c4b9b81150a5f9fe12a31 +#: 77f3741517e64eff9a232d8819a2e1b7 msgid "" "Older README names that are **not** parameters at this pin: `zero_pos` " "(use `rest_pos`), `robot_pkg` (use `robot_name`), `force_gains` (use " @@ -781,264 +790,264 @@ msgstr "" "`robot_name`)、`force_gains`(改用 `default_gains` / `pd_gains`)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 8f2b1445d28a4b87a15a2d4bca2ac230 +#: 52fcc423644446b486f7e03176fa0932 msgid "`home_pos`" msgstr "`home_pos`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0387453d329e46e9aaf3347cedb32790 4007888b4f974ce5a28af5d4929cf49f -#: 7eb2cfa4eef84f1183dd92ab0d19e862 f4e3b7f810b540fba580377e765e1cc2 +#: 65d9d66afbaf4667baa1aa0ea6da0d59 8f125512c5114996b68c12ad3ce1cf01 +#: d810175de631487c9ee7c45a54646967 fa1335f5cd5b41978411aabf058a11b3 msgid "double[]" msgstr "double[]" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 5a23e2f9f9ab4d18b70b04552f7c2b74 +#: 98e8d5fb2c3740ce90085d48f92b20ef msgid "Legacy single Home if `home_1`… are absent. **Startup only**." msgstr "没有 `home_1`… 时的遗留单组 Home" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: cabe8c4d06964cc0b95c5c896013b2e3 +#: 0bac09cde91343b9a4aff8cb05a56bf7 msgid "`rest_pos`" msgstr "`rest_pos`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 92b23aaf439d441a805aec3aaae0515f +#: f1c33a461c5e4842baff604377d602ee msgid "Extra Home slot when `home_1` is already set. **Startup only**." msgstr "已有 `home_1` 时的额外 Home 槽" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 01554519716248dd84eb30c6b6071859 +#: 6361221ea2914868a72acf9b8b263ec4 msgid "`robot_name`" msgstr "`robot_name`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 205e9e05244842c0ab346708557a8d9b +#: ce122a6cf1074e0887f013d59f8da6ff msgid "string / `\"cr5\"`" msgstr "string / `\"cr5\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 8027182869ff40dc9bdd88889215d332 +#: 7210ac9ddb414733b5cc322c92a4494f #, python-brace-format msgid "Selects `{robot_name}_description` and OCS2 files. **Startup only**." msgstr "选择 `{robot_name}_description` 和 OCS2 文件" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 3c9a54f73bb2443fbf03ceb2e1af8cb1 +#: c342e706994645b8bc05de9d675a9292 msgid "`default_gains`" msgstr "`default_gains`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 8bea74af511344b48b650b9ff4ccf1ab +#: bb3b38af5e594ebb8bf7a02b3c7947eb msgid "" "HOME / HOLD impedance `[kp, kd]` when MIX interfaces are present. " "**Startup only**." msgstr "存在 MIX 接口时,HOME / HOLD 阻抗 `[kp, kd]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: d15edd6c867248918492fc68add6dd26 +#: 4de821f0f62d44ccb9a55cbd16c5f62d msgid "`pd_gains`" msgstr "`pd_gains`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 20c650d6cc6341f1be3663f377dd2443 +#: d51a0f786b4744b3ad544ce5b087aa10 msgid "OCS2-state impedance `[kp, kd]`. **Startup only**." msgstr "OCS2 状态阻抗 `[kp, kd]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 74078bac3aba4cccb696c1a88019e983 +#: 66881f13f33f4c0c896e5e329626c4f7 msgid "`base_frame`" msgstr "`base_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a30f1aad6c5a4c8b80f3225e7ff01e50 +#: 332d044bd5aa444eaa1becaf21d47a04 msgid "`task.info` `baseFrame`" msgstr "`task.info` `baseFrame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a5a04792ed7f4108adda2cd65f77d4fe +#: 1371b9d09a314c2ca1c91ff6ab2b8136 msgid "" "Model / reference base. **Startup only** — not hot like `movel_duration`;" " change tip → restart." msgstr "模型 / 参考基座" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: ffe079d4bc264463ad623a80a924206e +#: 18c625b66b36484d938b4f1d70234f10 msgid "`left_ee_frame`" msgstr "`left_ee_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 7c961002444d4ac09aa2e3c04900d9bd +#: ccd415b181fb4257ab56b51fe5673213 msgid "`task.info` `eeFrame`" msgstr "`task.info` `eeFrame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 24b34cbb3be4469ea322b3cbb212e138 +#: c44dc02a82a2487c94f40f010c3c40f0 msgid "Left tip (YAML may set `left_tcp`). **Startup only**." msgstr "左末端(YAML 可写成 `left_tcp`)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a1d72f8da94b4163baf06c3f65c79806 +#: a150ee58415545ef8a6b39b112d82ef6 msgid "`right_ee_frame`" msgstr "`right_ee_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 3f0383fcc080464ba3c8dcd92b79f588 +#: 9e029fd48220444b9b28426b5b006935 msgid "`task.info` `eeFrame1`" msgstr "`task.info` `eeFrame1`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0fd222f8e30d4a36956d0b635e3d4acc +#: a83c21d083234fbeb3f4108b24444ed9 msgid "Right tip. **Startup only**." msgstr "右末端" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 166f2c12450944348248cbbf45fc09fd +#: f9bab18d89984576a6fbcbaffa645466 msgid "`movel_duration`" msgstr "`movel_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a888a2bda23640cea0f85526cc747f9a +#: eeff064661fc440eafeed235f39281dd msgid "`2.0` (CR5 YAML `0.5`)" msgstr "`2.0` (CR5 YAML `0.5`)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c2741791551c4bc7af4240d41bbda504 +#: dc8e60f89f4f4dd4b765f1e3e3c1b890 msgid "MoveL duration (s). **Runtime** (next interpolating / stamped command)." msgstr "MoveL 时长(秒)。**运行时**(下一条插值 / 带时间戳命令)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a21f6382179f48709ab100ace69f7e3e +#: 042cc034a77e4955bfb4eb42c925a503 msgid "`movel_trajectory_duration`" msgstr "`movel_trajectory_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1e317c0f20d343bfaf1d62cc948127c7 338da6453429420e88de6d5efc22ea85 -#: ed58bb3c7580460ebe534c859cc06e9d +#: 032e67ec9f9a4f3faefad6fca61b3450 233b4e34e5234c27baa753ee5ecb5637 +#: 48e490a1533c4b76994d064897c5ab2c msgid "`2.0`" msgstr "`2.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: ff15dd7e5d4645fb8b0f6461da97a5aa +#: 68f3ed4a3b504670a9d2f80af81ad11e msgid "MoveL trajectory duration. **Runtime**." msgstr "MoveL 轨迹时长" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 2ea221259aad4a8b8a5442660bc5decb +#: 0cd455e9649c4fd0be554de3bd1f7ef1 msgid "`movel_sample_interval`" msgstr "`movel_sample_interval`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 99e83dd667944fada1c904cedc24308a +#: 6eae82547cbd46de8ebd228d0e00a17f msgid "`0.04`" msgstr "`0.04`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 7ba7c786ec2546b699cdeaf1f5435314 +#: 346967c2ac664b32a36eea8ef53c0ebc msgid "Sample interval. **Runtime**." msgstr "采样间隔" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6bcbf9e4044d422c85a782ac74f65cf2 +#: 527fde272b0b486aa334325e7f949714 msgid "`movel_max_linear_velocity`" msgstr "`movel_max_linear_velocity`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: ec3a7c98634540e3aa3b0c895fa32949 +#: 23471cee106143129efbf596f596d257 msgid "`0.3`" msgstr "`0.3`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 18a787233b76491bae6ea1b74a991a81 +#: 7c73ca2663254e019f9ac65b5267b36d msgid "Linear vel limit. **Runtime**." msgstr "线速度上限" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 5f29ddfff52e404d80235b79042085b4 +#: 5cda2ff5cf184de49e4f3ff3892ef92f msgid "`movel_max_linear_acceleration`" msgstr "`movel_max_linear_acceleration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 032820af710c455097762abbfb301a0b 39fac54592b942b085d43e981212b277 +#: adc107b18f1942d2b5f304cb84c7f644 bc12a35da4b44b7998208e9f50585f30 msgid "`1.0`" msgstr "`1.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: d5e62dd186e947e2a11b1fda77b5f643 +#: 3b5e69095f184017bca452cc56debca3 msgid "Linear acc limit. **Runtime**." msgstr "线加速度上限" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: e337326ffc0943968d1b8f8b3e22bd38 +#: e5596999639d4edeb635dff97e5ac499 msgid "`movel_max_linear_jerk`" msgstr "`movel_max_linear_jerk`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0e141e0f3b3c4ca881c15deffa55223a +#: 7c037b605f1c4f5e9573670770e41626 msgid "Linear jerk limit. **Runtime**." msgstr "线 jerk 上限" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: d95de4ad012f4d5ab125be36c5cf4db4 +#: ee6a2b5dcafc4254abdcc19a6bd92db8 msgid "`movel_max_angular_velocity`" msgstr "`movel_max_angular_velocity`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6dacf73f61224af3a7f72258a867b80d +#: acf20c1cd2384aedb28b53330e33bb58 msgid "Angular vel limit. **Runtime**." msgstr "角速度上限" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c9493b2f1d204bc9a45316597cc1acad +#: ab62b5ee9bf14467b6c11bb6237165e7 msgid "`movel_max_angular_acceleration`" msgstr "`movel_max_angular_acceleration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 3629f77b0cb547aa9ef5cc5482216eb8 +#: c06f03d15e7b4367a0fa530807b39dbe msgid "Angular acc limit. **Runtime**." msgstr "角加速度上限" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 032500d5b99b419bb429276e57831d95 +#: 0e217e3ff0614606927e81ad652009e1 msgid "`movel_max_angular_jerk`" msgstr "`movel_max_angular_jerk`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 121a33986d914c0ebcb2835ad28037b1 +#: 50a155b461494b53a9eac677936c924c msgid "`4.0`" msgstr "`4.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 89102503e1e54d0c91d8b8beee5c521e +#: 507db71b8da14bee99d0faf3ba90fc14 msgid "Angular jerk limit. **Runtime**." msgstr "角 jerk 上限" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a2cc21bc63d84d34b21b7950474769d4 +#: 31a1a4c724ad47df93ba6045ffa90083 msgid "`movel_auto_extend_duration`" msgstr "`movel_auto_extend_duration`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 44ba702f077248e1ba70ab1253bfc4c1 +#: b61b84110a7245a99a8aaffacc003424 msgid "`true`" msgstr "`true`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: e1c2440897224f2c9373afeb4a2de27f +#: d8e358ed308144738a05f546c67a00b0 msgid "Extend MoveL duration when limits require it. **Runtime**." msgstr "限幅需要时拉长 MoveL duration" #: ../../source/4-reference/controllers/8-ros2_parameters.md:124 -#: 25139d1d053c42248026bd3e2d0772c2 +#: 4b0d8a3bb05d4b56a74f09583a9d51ed msgid "YAML frame overrides are injected in memory at Interface construction." msgstr "YAML 坐标系覆盖在 Interface 构造时注入内存。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:126 -#: 36c05b01fcf44c7797fb71bd1c844f7e +#: 1b16a225ce0747a9b12bf4ef341d076e msgid "arms_target_manager" msgstr "arms_target_manager" #: ../../source/4-reference/controllers/8-ros2_parameters.md:128 -#: 7b4943ec26524872843051e32c4d5b5e +#: 52e723f2723f4482ae2d547398345f86 msgid "" "This is a **command node**, not a ros2_control controller. README: " "[#120](https://github.com/fiveages-" @@ -1053,7 +1062,7 @@ msgstr "" "Controller](6-gripper_teleop_plugins.md)。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:130 -#: c2436f510140442aa9874bff6c6cfd8e +#: 9cf4870e76c84b80a35e34cc46978da5 msgid "" "YAML: package [`config/default.yaml`](https://github.com/fiveages-" "sim/arms_ros2_control/blob/9a1da3ba3747b3042866422c2269c1d49bb02f48/command/arms_target_manager/config/default.yaml)," @@ -1064,7 +1073,7 @@ msgstr "" " `config/ocs2/target_manager.yaml`。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:132 -#: f2c4dc12ccca4f4ca7925e3f38c8fb6c +#: cf4f12b6fa5749bf9d0f963135b6f2d8 msgid "" "`declare_parameter` in `main` then values go into constructors. No " "`on_set_parameters` callback and no later `get_parameter`. Every row " @@ -1078,77 +1087,77 @@ msgstr "" "`body_frame`)属于**控制器**节点——那边也是" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 582bb5b8bf414f359c13e2016e79977d +#: 6c6c22695c0f45ebac5a973aed694b85 msgid "Default" msgstr "默认值" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 82b4cecc1c3348699f89d8097a3fbe68 +#: d4b64bff218d40aa8edfb6e733a56e79 msgid "`dual_arm_mode`" msgstr "`dual_arm_mode`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 46c35afa1c324189ad77aee89b847ecb +#: 48a9bd660efa470396393d472453725b msgid "launch / task.info; C++ `false`" msgstr "launch / task.info;C++ 为 `false`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0a3dbf655de54f5eb6c2bc09e415f99a +#: a528c57c244f4bda99a23b906882b713 msgid "Dual-arm markers. **Startup only**." msgstr "双臂标记" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 7c2f48f4fc62460d87ae32b9b87dd5ae +#: bfe61d8aa89f40d28e9c3c1c8c370b28 msgid "`control_base_frame`" msgstr "`control_base_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: f9bc8562aee24977a32ba8c671450e0c +#: 1dddcc1c5db64db6a24584b7f58bb550 msgid "launch / task.info; C++ `\"world\"`" msgstr "launch / task.info;C++ 为 `\"world\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 9c73bf3c3af643ae9e67fb8361ebb1ac +#: 4418d0fa0c484f04924c4527201f0523 msgid "Control base. **Startup only**." msgstr "控制基座" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: dcced9da91d147029e99bd7662e8284a +#: d26817f87d0f42d1b230f6bfb36a3212 msgid "`hand_controllers`" msgstr "`hand_controllers`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1bfa85087b1248e6bda719c09479f886 +#: f89406747cc644cca859679167a8105e msgid "launch / task.info; C++ `[]`" msgstr "launch / task.info;C++ 为 `[]`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 72cacc69b31a4820bedda2bf9a0c7d69 +#: f2d7b3ec328e40f09fbb16f169cba86a msgid "Hand controller names. **Startup only**." msgstr "手部控制器名称" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 5aebb139f5934187b5e238730eadce88 +#: 44f1ee420d544f189069d1c2b6ae1756 msgid "`marker_fixed_frame`" msgstr "`marker_fixed_frame`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: cb3a83b79f554df697881084337d3b6f +#: 4a889fc160cf4cdebda586f74fd1d2a1 msgid "`\"base_link\"`" msgstr "`\"base_link\"`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0a64e1aa75bc4f72b52412a3e77fabbd +#: 9ffb9e27ddfa446abf70dc0b7c347b25 msgid "RViz marker fixed frame. **Startup only**." msgstr "RViz 标记的固定坐标系" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 2c699e6c3334486e9ee6a1f3bc02768c +#: 8056b838aea04572a7e845291626dc9d msgid "`enable_movej_cartesian_markers`" msgstr "`enable_movej_cartesian_markers`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: d770b6ba846b40af9fb36cb54f0e904d +#: 937b589501e94f569b315d76b66b3a96 msgid "" "`true` if `lina_planning`, else `false`; `full_body.launch.py` sets " "`false` under WBC" @@ -1157,138 +1166,138 @@ msgstr "" "`false`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: cdfc084abf3b499fa3a9a594a4f75809 +#: 26b9c05bdcf84c93b4bacf4c97d3a794 msgid "MOVEJ arm markers → stamped IK MoveL. **Startup only**." msgstr "MOVEJ 机械臂标记 → 带时间戳的 IK MoveL" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c348c50bf6334cb4b4c59e6c80b21b03 +#: 54685c887512486980afaae0c3b630a4 msgid "`enable_head_control`" msgstr "`enable_head_control`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 152ec48242af414fa60d6bd69806fcb2 763ba7e1f39244ccaf82cc95bfd1853f +#: 436a54d394114f82b449009826bb9741 5056e072e30e425ba5a503fe99b2db03 msgid "`false`" msgstr "`false`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: a8d8036c2bf7449cbcc808bcee3a900a +#: 0f033e6d55cd468db161cc9d2e637d04 msgid "" "Legacy head RPY-to-joint marker " "(`/head_joint_controller/target_joint_position`). **Startup only**." msgstr "遗留的头部 RPY 转关节标记(`/head_joint_controller/target_joint_position`)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: b7a9dd8a6ab44233924b8770e3fe6715 +#: 7acfba23b66444a0b53d12c75d8f244c msgid "`enable_wbc_head_tracking_marker`" msgstr "`enable_wbc_head_tracking_marker`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 4b3e4437dda34174901ecdbc91742596 +#: 6108abc60ebb4172b5f855858a9857f1 msgid "" "WBC Head 6D marker; still needs FSM=OCS2 and `HEAD_TRACKING`. **Startup " "only**." msgstr "WBC 头部 6D 标记;仍需 FSM=OCS2 且 `HEAD_TRACKING`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 42eb0071a7bf44268a2a395baa746315 +#: 4fcf34d585044fe89da641a7ef5a8b8b msgid "`linear_scale`" msgstr "`linear_scale`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 113b04a0778a4190b6d3d558d35daf4f +#: 8f08c152bcf14d29a67dcdf8abda2ddf msgid "`0.1`" msgstr "`0.1`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 1b0fe6843a264231b044329c07745967 +#: ba684c98b57a44deac092acedbc58de4 msgid "Full-stick linear twist (m/s). **Startup only**." msgstr "满杆线速度 twist(m/s)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 9143795c9a3645319aee4c55b85f61e6 +#: e3ce6e13c657414ebfbdf70f2470d54e msgid "`angular_scale`" msgstr "`angular_scale`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 7a414a68898c45ab9a939ad7f935a674 +#: e295d311678147a9a226c30146ffdddf msgid "`0.25`" msgstr "`0.25`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 16ebda06b915423eb48a9afc3e57def6 +#: 81fbdb906fc04089875effe825b22e2b msgid "Full-stick angular twist (rad/s). **Startup only**." msgstr "满杆角速度 twist(rad/s)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: f64fc7c70bf24533ae8b23c6e6b0dfa1 +#: ba430a5f1726420891807cd122ddef09 msgid "`control_input_rate`" msgstr "`control_input_rate`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 3a15f543a68644bcb9c8e9992391b46c +#: 007add6bc3484072adefa200fb33b593 msgid "`50.0`" msgstr "`50.0`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 97dae049947a4ec798537aad7f0f7f64 +#: 7576755f69a84c9888e0aee164cb0c21 msgid "Typical `control_input` Hz (feel only). **Startup only**." msgstr "典型 `control_input` Hz(手感,无硬实时保证)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 282de0d5b6c244ae862a4adc5988ba2e +#: 4b1514277cc443ac88285303f4b1300d msgid "`vr_thumbstick_linear_scale`" msgstr "`vr_thumbstick_linear_scale`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 98e862aa2a1a42d2930b7ccfe83d153c +#: 77e0e4df1a644754aa2d8a2705ba95e2 msgid "`0.005`" msgstr "`0.005`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 08f82cf63de445a5b7b59c96da97b19b +#: 0d076bfcfee44b8083a74999ba246da5 msgid "VR stick linear step (m/step). **Startup only**." msgstr "VR 摇杆线位移步进(m/step)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 8765c154361b4394b164d3282fb945cd +#: e975bebbf27b422f9e120feb90e9a9e3 msgid "`vr_thumbstick_angular_scale`" msgstr "`vr_thumbstick_angular_scale`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: e1332a2cfec54b8ab0dcc3ea5cc2c442 +#: 682bc164a4044c19ba47b5e79f76e6ac msgid "`0.05`" msgstr "`0.05`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 0433675b8f3b444681d4b0b1ddfbf7d1 +#: 2cfad7ac533546d9bafc10bced502b33 msgid "VR stick angular step (rad/step). **Startup only**." msgstr "VR 摇杆角位移步进(rad/step)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 390a33c5b29a4c498bacfb4c88322666 +#: b8457cc21b8b43e996726bcad7dcd89d msgid "`enable_vr`" msgstr "`enable_vr`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: c5ebf1b3f54744dbaaee517e1714aa68 +#: 0ca7394252cb4efa8df650d7d4178949 msgid "`false` in `default.yaml`; C++ declare `true`" msgstr "`default.yaml` 为 `false`;C++ declare 为 `true`" #: ../../source/4-reference/controllers/8-ros2_parameters.md:5 -#: 6fce1f38e31d4aeca403b1a7fabaa982 +#: 26b5f247a38247d9939d71c1014fefa2 msgid "" "Enable VR handler. Launch YAML overrides the C++ default. **Startup " "only**." msgstr "是否启用 VR 处理。Launch YAML 会覆盖 C++ 默认值" #: ../../source/4-reference/controllers/8-ros2_parameters.md:150 -#: 219b3ed91e014ce6b50b670e1ea4bdc5 +#: d0196040fd564a1db18a6dbd968cb39b msgid "OCS2 WBC Controller" msgstr "OCS2 WBC Controller" #: ../../source/4-reference/controllers/8-ros2_parameters.md:152 -#: b95db9a42fe6453595bdf8c17e9826da +#: 49fa31ee939a47df804136d710403c29 msgid "" "`controller/ocs2_wbc_controller` is a **private** submodule. Parameter " "names after access: that package README. Public launch: `ros2 launch " @@ -1301,7 +1310,7 @@ msgstr "" "Controller](3-ocs2_wbc.md)。额外坐标系 `body_frame` 按 #120 的 target-manager 说明为" #: ../../source/4-reference/controllers/8-ros2_parameters.md:154 -#: 47ac2aee728e48489fe239a557d1f9c4 +#: b71901a0a69c4b45ac1ac0f38f9e8bbf msgid "" "Public YAML may still list an `ocs2_wbc_controller:` block (Lift 2S " "`home_3` / `home_4`; Taku on `feature/agilex`). Treat those keys as " @@ -1311,12 +1320,12 @@ msgstr "" "`home_4`;`feature/agilex` 上的 Taku)。把这些键当作机型 overlay;参数清单以私有 README 为准。" #: ../../source/4-reference/controllers/8-ros2_parameters.md:156 -#: 2e12ac51abdc431982d606d65ff1a93c +#: 07da286a47884c44806c470f1b4822ee msgid "Related" msgstr "相关" #: ../../source/4-reference/controllers/8-ros2_parameters.md:158 -#: 457c3f682c5b4c0db59d247a6aa951c7 +#: e477f13861da427a8a750f74d58b3242 msgid "" "[Configure ROS 2 controller " "parameters](../../2-how_to/4-controllers/12-ros2_parameters.md)" @@ -1325,34 +1334,34 @@ msgstr "" "parameters](../../2-how_to/4-controllers/12-ros2_parameters.md)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:159 -#: 75a26764415543b381589308e004b2e2 +#: 752a1e5c23ee455cbb8b2d34bbe7505e msgid "" "[Hardware Interfaces](../hardware/0-index.md) — per-driver `` " "tables" msgstr "[驱动层](../hardware/0-index.md) — 各驱动页 `` 表" #: ../../source/4-reference/controllers/8-ros2_parameters.md:160 -#: a32a8b096e364903ae4c68da46a1ac76 +#: 9b4cd4445b1d49e3af7f8f009635ff8b msgid "[Basic Joint Controller](7-basic_joint_controller.md)" msgstr "[Basic Joint Controller](7-basic_joint_controller.md)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:161 -#: d549d34373db468f828e8ced61f58ed6 +#: dd4c158b632e458f8f13777f4bc5fdcf msgid "[OCS2 Arm Controller](2-ocs2_arm_controller.md)" msgstr "[OCS2 Arm Controller](2-ocs2_arm_controller.md)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:162 -#: abdb80ddeb85422d8d7eeda93619a49a +#: bd631b42a4e4482dba1e7a8421ed55ad msgid "[Adaptive Gripper Controller](6-gripper_teleop_plugins.md)" msgstr "[Adaptive Gripper Controller](6-gripper_teleop_plugins.md)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:163 -#: 697a3a7d7a0540e581b831e3aec908c7 +#: c5af182eb9c345fb822215f421670444 msgid "[OCS2 WBC Controller](3-ocs2_wbc.md)" msgstr "[OCS2 WBC Controller](3-ocs2_wbc.md)" #: ../../source/4-reference/controllers/8-ros2_parameters.md:164 -#: 0f3bd4591a574b0d93665f250f731286 +#: 680ca400941b45ddaf8fa02f53289806 msgid "[FSM and Topics](../../3-concepts/4-fsm_and_topics.md)" msgstr "[FSM 与话题](../../3-concepts/4-fsm_and_topics.md)" diff --git a/source/2-how_to/4-controllers/12-ros2_parameters.md b/source/2-how_to/4-controllers/12-ros2_parameters.md index a9abd8d..64a1183 100644 --- a/source/2-how_to/4-controllers/12-ros2_parameters.md +++ b/source/2-how_to/4-controllers/12-ros2_parameters.md @@ -38,7 +38,7 @@ A YAML value is always applied when the controller or hardware interface plugin | Tag | Meaning | |-----|---------| -| **Runtime** | `ros2 param set` is picked up **without** reloading. These controllers have no generic `add_on_set_parameters_callback` for the documented keys. Home / MoveJ / waist duration / MoveL are re-read with `get_parameter` on the **next** matching state enter or command. | +| **Runtime** | `ros2 param set` is picked up **without** reloading. These controllers have no generic `add_on_set_parameters_callback` for the documented keys. Home / MoveJ / waist duration / MoveL are re-read with `get_parameter` on the **next** matching state enter or command. HOLD thresholds are re-read on HOLD enter and each HOLD `run`. | | **Startup only** | Loaded in `on_init` / construction / first waist-planner create / hardware plugin `on_init`. Change the YAML or xacro and reload or restart. | | **Unverified** | Declared, but there is no callback or clear re-read path. The READMEs in #120 mark **none** of the previously documented keys this way. | @@ -94,6 +94,18 @@ Both **Basic Joint Controller** and **OCS2 Arm Controller** use `arms_controller OCS2 Arm extra slots `home_pos` / `rest_pos` stay on that controller’s table. +(hold-statehold)= +### Hold (`StateHold`) + +**Basic Joint Controller** and **OCS2 Arm Controller** both `auto_declare` these keys (default `0.1`) and use `arms_controller_common::StateHold`. Behavior: [`StateHold.cpp` at `9a1da3ba`](https://github.com/fiveages-sim/arms_ros2_control/blob/9a1da3ba3747b3042866422c2269c1d49bb02f48/libraries/arms_controller_common/src/FSM/StateHold.cpp). They are **Runtime**: `StateHold::updateParam()` calls `get_parameter` on HOLD enter and each HOLD `run`. MIX HOLD impedance (`default_gains`) stays on the OCS2 Arm table. + +On enter, hold targets start as last-sent joint commands. Diff is the absolute joint-position error (rad). + +| Parameter | Default | Meaning | +|-----------|---------|---------| +| `hold_first_check_position_threshold` | double / `0.1` | First HOLD check after enter (measured vs hold targets). If any joint exceeds this, retarget hold to current measured positions to avoid a startup jump, then mark the first check passed. `≤ 0` skips the first check. **Runtime**. | +| `hold_position_threshold` | double / `0.1` | After the first check has passed, if measured vs hold target exceeds this, retarget hold to current measured positions. `≤ 0` disables automatic adjustment. **Runtime**. | + ## Related - [Controller ROS 2 parameters](../../4-reference/controllers/8-ros2_parameters.md) diff --git a/source/4-reference/controllers/8-ros2_parameters.md b/source/4-reference/controllers/8-ros2_parameters.md index 332be12..53101a5 100644 --- a/source/4-reference/controllers/8-ros2_parameters.md +++ b/source/4-reference/controllers/8-ros2_parameters.md @@ -14,7 +14,7 @@ Three columns: **Parameter**, **Type / default**, **Meaning** (the **When** tag | Tag | Evidence (#120) | |-----|-----------------| -| **Runtime** | `get_parameter` on the next HOME enter, MOVEJ enter / joint command, waist position plan, interpolating MoveL, or MOVEJ `cartesian_defaults` | +| **Runtime** | `get_parameter` on the next HOME enter, MOVEJ enter / joint command, waist position plan, interpolating MoveL, MOVEJ `cartesian_defaults`, or HOLD enter / each HOLD `run` (`StateHold::updateParam`) | | **Startup only** | Member set in `on_init` / constructor / first waist-planner create; or README “reload / restart” | | **Unverified** | No documented key in these tables is Unverified in #120 | @@ -23,7 +23,7 @@ Three columns: **Parameter**, **Type / default**, **Meaning** (the **When** tag (basic-joint-controller)= ## Basic Joint Controller -Plugin `basic_joint_controller/BasicJointController`. Also declares the [framework-common keys](../../2-how_to/4-controllers/12-ros2_parameters.md#framework-common-parameters). Home keys: [shared Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome). README [#120](https://github.com/fiveages-sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README.md) / [README_zh](https://github.com/fiveages-sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README_zh.md). Topics: [Basic Joint Controller](7-basic_joint_controller.md). How-to: [Use Basic Joint Controller](../../2-how_to/4-controllers/11-basic_joint.md). +Plugin `basic_joint_controller/BasicJointController`. Also declares the [framework-common keys](../../2-how_to/4-controllers/12-ros2_parameters.md#framework-common-parameters). Home keys: [shared Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome). Hold keys: [shared Hold](../../2-how_to/4-controllers/12-ros2_parameters.md#hold-statehold). README [#120](https://github.com/fiveages-sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README.md) / [README_zh](https://github.com/fiveages-sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/basic_joint_controller/README_zh.md). Topics: [Basic Joint Controller](7-basic_joint_controller.md). How-to: [Use Basic Joint Controller](../../2-how_to/4-controllers/11-basic_joint.md). This is the **primary MoveJ parameter table**. 灵巧手 uses `target_command_*` on this controller (not **Adaptive Gripper Controller**). @@ -94,7 +94,7 @@ Uses `joint` (singular), not `joints`. `update_rate` and ControllerInterface com ## OCS2 Arm Controller -Plugin `ocs2_arm_controller/Ocs2ArmController`. Also declares the [framework-common keys](../../2-how_to/4-controllers/12-ros2_parameters.md#framework-common-parameters) and the [shared Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome) names. README [#120](https://github.com/fiveages-sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/ocs2_arm_controller/README.md). FSM / launch: [OCS2 Arm Controller](2-ocs2_arm_controller.md). Public YAML: [`cr5_description/.../ros2_controllers.yaml`](https://github.com/fiveages-sim/robot-descriptions-dobot/blob/main/cr5_description/config/ros2_control/ros2_controllers.yaml). Optional dual-arm overlay on `robot_descriptions` **`feature/agilex` only**: [`taku_description/.../ros2_controllers.yaml`](https://github.com/fiveages-sim/robot_descriptions/blob/feature/agilex/humanoid/Dyna/taku_description/config/ros2_control/ros2_controllers.yaml). +Plugin `ocs2_arm_controller/Ocs2ArmController`. Also declares the [framework-common keys](../../2-how_to/4-controllers/12-ros2_parameters.md#framework-common-parameters), the [shared Home](../../2-how_to/4-controllers/12-ros2_parameters.md#home-statehome) names, and the [shared Hold](../../2-how_to/4-controllers/12-ros2_parameters.md#hold-statehold) keys. README [#120](https://github.com/fiveages-sim/arms_ros2_control/blob/e1b7a147effca2f29f7cced0b2942837b096c1ff/controller/ocs2_arm_controller/README.md). FSM / launch: [OCS2 Arm Controller](2-ocs2_arm_controller.md). Public YAML: [`cr5_description/.../ros2_controllers.yaml`](https://github.com/fiveages-sim/robot-descriptions-dobot/blob/main/cr5_description/config/ros2_control/ros2_controllers.yaml). Optional dual-arm overlay on `robot_descriptions` **`feature/agilex` only**: [`taku_description/.../ros2_controllers.yaml`](https://github.com/fiveages-sim/robot_descriptions/blob/feature/agilex/humanoid/Dyna/taku_description/config/ros2_control/ros2_controllers.yaml). README FSM is **HOME / HOLD / OCS2** (`3` = OCS2). Source also constructs `StateMoveJ` for canonical `/fsm_command` `4` (and IK MoveL when `lina_planning` is present). **Do not copy the Basic Joint MoveJ table here.** Declare-time deltas vs Basic Joint: `movej_interpolation_type` default `"linear"`, `movej_trajectory_blend_ratio` `0.2`. Waist keys, when `waist_lifting_enabled`, follow the Basic Joint waist table (only `waist_lifting_duration` is Runtime).