助力原地踏步(膝关节受限, 调整 dt 参数)
任务信息
任务值 (TID): 4306
任务描述:
- 机器人通过给定参数,生成原地踏步的关节运动轨迹序列,通过执行器跟踪该轨迹,实现助力原地踏步。
- 发送“停止运动标志位”为 true 时,机器人将逐渐停止运动,并不是立即停止。
- 助力强度由助力系数控制,系数越大,轨迹播放速度越快(越接近正常步频);系数越小,播放越慢,给患者更多时间跟随运动。
- 可配置为自动助力模式,启用“自动助力模式标志位”后,机器人会根据实测关节力矩自动调整助力系数,无需手动设定。
任务参数:
| 接口参数 | 类型 | 默认值 | 参数范围 | 描述 |
|---|---|---|---|---|
| 大腿长度 | float | 0.5 | [0.3, 0.6] | 机器人的大腿长度,单位为 m。 |
| 小腿长度 | float | 0.5 | [0.3, 0.6] | 机器人的小腿长度,单位为 m。 |
| 左腿膝关节受限角度 | float | 0.0 | [0.0, 1.0] | 左腿膝关节的最小弯曲角度限制,单位为 rad。运动轨迹中膝关节角度不会低于此值(即不会过度伸展超过此限制)。0.0 表示不限制(允许完全伸直)。 |
| 右腿膝关节受限角度 | float | 0.0 | [0.0, 1.0] | 右腿膝关节的最小弯曲角度限制,单位为 rad。运动轨迹中膝关节角度不会低于此值(即不会过度伸展超过此限制)。0.0 表示不限制(允许完全伸直)。 |
| 抬腿高度 | float | 0.1 | [0.1, 0.4] | 机器人每一步的抬腿高度,单位为 m。 |
| 步行周期 | float | 1.0 | [0.5, 4.0] | 原地踏步的单步周期,即完成一次完整踏步循环所需的时间,单位为 s。值越小踏步频率越高,值越大踏步越慢。 |
| 助力系数 | float | 0.5 | [0.0, 1.0] | 轨迹播放速度的调节系数,取值范围 [0.0, 1.0]。系数越大,轨迹播放越快(越接近正常步频);系数越小,播放越慢,给患者更多时间跟随运动。 |
| 自动助力模式标志位 | bool | false | (true, false) | 是否启用自动助力模式。启用后系统根据关节实测力矩与参考轨迹的偏差每控制周期(20 ms)自动调整助力系数(±0.01),无需手动设定;助力系数始终限制在 [0.0, 1.0] 范围内。 |
| 启动运动标志位 | bool | false | (true, false) | 是否启动运动,true 表示启动,false 表示不启动(如果已经启动,不会起作用) |
| 停止运动标志位 | bool | false | (true, false) | 是否停止运动,true 表示停止,false 表示继续行走。 |
膝关节受限角度说明:
该参数为膝关节在整个运动过程中需维持的最小弯曲角度(单位:rad)。算法将轨迹中所有低于此值的膝关节角度截断至设定值,从而保证膝关节始终保持不低于指定弯曲程度的状态。适用于膝关节伸展功能受限、不能完全伸直的患者。
受限角度 效果 0.0 不限制,膝关节可完全伸直(默认) 0.3 膝关节在运动全程至少保持约 17° 的弯曲 0.5 膝关节在运动全程至少保持约 28.6° 的弯曲 1.0 膝关节在运动全程至少保持约 57.3° 的弯曲(限制较强)
助力系数说明:
助力系数通过调节轨迹播放速度(play_speed)来控制节奏快慢。计算公式如下:
- play_speed = 0.5 + 助力系数 × 0.5,即 play_speed ∈ [0.5, 1.0]
- 每控制周期轨迹时间推进量:Δt = 0.02 s × play_speed
助力系数 play_speed 效果 0.0 0.5 轨迹以 50% 速度播放,每步用时为正常的 2 倍,适合运动能力较弱的患者 0.5 0.75 轨迹以 75% 速度播放,步频适中 1.0 1.0 轨迹以正常速度播放,适合运动能力接近正常的患者
模块信息
该任务暂无独立模块指令,不支持通过模块接口进行分关节控制。
接口信息
状态接口:
| 接口参数 | 接口映射关系 |
|---|---|
| 任务启动标志 | task.flag_task_start |
| 任务结束标志 | task.flag_task_finish |
| 运行比例 | rehab.motion_ratio |
| 参考轨迹位置 | rehab.reference_joint_position |
| 参考轨迹速度 | rehab.reference_joint_velocity |
| 参考轨迹位置最大值 | rehab.reference_joint_position_max |
| 参考轨迹位置最小值 | rehab.reference_joint_position_min |
指令接口:
- 大腿长度 在算法运算中只能输入一个值,因此取左右大腿长度的均值。因此,传参时传入两个,但是实际只会取均值去使用。
- 小腿长度 在算法运算中只能输入一个值,因此取左右小腿长度的均值。因此,传参时传入两个,但是实际只会取均值去使用。
| 接口参数 | 接口映射关系 |
|---|---|
| 大腿长度 | grx.virtual_user_upper_leg_length_left, grx.virtual_user_upper_leg_length_right, 取均值 |
| 小腿长度 | grx.virtual_user_lower_leg_length_left, grx.virtual_user_lower_leg_length_right, 取均值 |
| 左腿膝关节受限角度 | grx.virtual_user_knee_restriction_left |
| 右腿膝关节受限角度 | grx.virtual_user_knee_restriction_right |
| 抬腿高度 | grx.virtual_panel_command_param_1 |
| 步行周期 | grx.virtual_panel_command_param_2 |
| 助力系数 | grx.virtual_panel_command_param_3 |
| 自动助力模式标志位 | grx.virtual_panel_command_switch_1 |
| 启动运动标志位 | grx.virtual_panel_command_start |
| 停止运动标志位 | grx.virtual_panel_command_stop |
更新日志
fourier-grxv4.0.0 版本新增该功能。