Add fri_cycle_ms parameter to configuration and update related components

This commit is contained in:
Даниил Грабарь
2026-05-13 04:31:19 +03:00
parent 68198ed2f8
commit 1f37a07770
10 changed files with 155 additions and 129 deletions
+1
View File
@@ -169,6 +169,7 @@ def _runtime_setup(context, *args, **kwargs):
"simulate": "false",
"command_mode": settings.robot.command_mode,
"controller_timer": str(settings.digital_twin.webots.controller_timer),
"fri_cycle_ms": str(settings.robot.fri_cycle_ms),
}
controllers_launch = IncludeLaunchDescription(
@@ -20,6 +20,8 @@ def _setup_controllers(context, *args, **kwargs):
controller_path = LaunchConfiguration("controller_path").perform(context)
simulate = LaunchConfiguration("simulate").perform(context).lower() in ("true", "1", "yes")
command_mode = LaunchConfiguration("command_mode").perform(context)
fri_cycle_ms = int(LaunchConfiguration("fri_cycle_ms").perform(context))
update_rate = 1000 // fri_cycle_ms
xacro_args = {"initial_positions_file": initial_positions_file}
@@ -85,6 +87,7 @@ def _setup_controllers(context, *args, **kwargs):
parameters=[
{"robot_description": robot_description},
controller_path,
{"update_rate": update_rate},
],
)
@@ -137,5 +140,6 @@ def _setup_controllers(context, *args, **kwargs):
def generate_launch_description():
return LaunchDescription([
DeclareLaunchArgument("command_mode", default_value="position"),
DeclareLaunchArgument("fri_cycle_ms", default_value="5"),
OpaqueFunction(function=_setup_controllers),
])