助力前向行走(膝关节受限, 调整 PD 参数)
任务信息
任务值 (TID): 4303
任务描述:
- 机器人通过给定参数,生成向前行走的关节运动轨迹序列,通过执行器跟踪该轨迹,实现助力前向行走。
任务参数:
| 接口参数 | 类型 | 默认值 | 参数范围 | 描述 |
|---|---|---|---|---|
| 大腿长度 | 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.5 | [0.2, 0.8] | 机器人每一步的长度,单位为 m。 |
| 步行速度 | float | 0.5 | [0.1, 1.2] | 机器人前进的目标速度,单位为 m/s。单步持续时间 = 步长 ÷ 步行速度(例如步长 0.5 m、步速 0.5 m/s 时,单步用时约 1.0 s)。 |
| 助力系数 | float | 0.5 | [0.0, 1.0] | 关节 PD 控制刚度的调节系数,取值范围 [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° 的弯曲(限制较强)
助力系数说明:
助力系数通过对执行器的 PD 控制增益进行线性插值来调节关节刚度。计算公式如下:
- Kp = (200 − 100) × 助力系数 + 100,即 Kp ∈ [100, 200]
- Kd = (20 − 10) × 助力系数 + 10,即 Kd ∈ [10, 20]
关节输出力矩:τ = Kp × (θ_目标 − θ_实测) + Kd × (ω_目标 − ω_实测)
助力系数 Kp Kd 效果 0.0 100 10 关节最柔顺,对轨迹偏差修正力最弱,患者可主动对抗运动进行主动康复训练 0.5 150 15 中等刚度,适合有一定自主运动能力的患者 1.0 200 20 正常刚度,轨迹跟踪能力正常,适合需要完全被动引导的患者
建议:
- 步长为步速的 0.5 到 1.0 倍之间,能够获得较好的行走效果。例如,步速为 0.5 m/s 时,步长建议设置在 0.25 m 到 0.5 m 之间。
模块信息
该任务暂无独立模块指令,不支持通过模块接口进行分关节控制。
接口信息
状态接口:
| 接口参数 | 接口映射关系 |
|---|---|
| 任务启动标志 | 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_start |
| 停止运动标志位 | grx.virtual_panel_command_stop |
更新日志
fourier-grxv4.0.0 版本新增该功能。