助力前向行走(调整 PD 参数)

任务信息

任务值 (TID): 4116

任务描述:

  • 机器人通过给定参数,生成向前行走的关节运动轨迹序列,通过执行器跟踪该轨迹,实现助力前向行走。

任务参数:

接口参数 类型 默认值 参数范围 描述
大腿长度 float 0.5 [0.3, 0.6] 机器人的大腿长度,单位为 m。
小腿长度 float 0.5 [0.3, 0.6] 机器人的小腿长度,单位为 m。
步长长度 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 表示继续行走。

助力系数说明

助力系数通过对执行器的 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_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-grx v4.0.0 版本新增该功能。