-
Notifications
You must be signed in to change notification settings - Fork 336
Description
What version of Kimi CLI is running?
kimi, version 0.53
Which open platform/subscription were you using?
kimi for coding
Which model were you using?
kimi for coding
What platform is your computer?
ubuntu 22.04
What issue are you seeing?
not like Q&A,but like Q&AAAAAAAAAA,it would repeat the same answer so many times and without normal format,like:Composing...
⠋ Composing...
⠙ Composing...
⠹ Composing...
⠸ Composing...
⠴ Composing...
⠦ Composing...
⠧ Composing...
⠏ Composing...
⠋ Composing...
⠙ Composing...
⠹ Composing...
⠼ Composing...
⠴ Composing...
⠦ Composing...
⠧ Composing...
⠏ Composing...
⠋ Composing...
⠙ Composing...
⠹ Composing...
⠼ Composing...
⠴ Composing...
⠦ Composing...
⠇ Composing...
⠏ Composing...
⠋ Composing...
⠙ Composing...
⠸ Composing...
⠼ Composing...
⠴ Composing...
⠦ Composing...
⠇ Composing...
⠏ Composing...
⠋ Composing...
⠙ Composing...
⠸ Composing...
• 完美!现在我可以为你详细解释Isaac-Velocity-Flat-Unitree-Go2-v0环境中速度指令的生成机制。
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
🎯 速度指令生成机制详解
在Isaac Lab的Velocity任务中,速度指令是通过 UniformVelocityCommand 类生成的,这是一个基于均匀分布的随机指令生成器。
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1. 指令范围配置
在 velocity_env_cfg.py 中定义了Go2的速度指令范围:
ranges=mdp.UniformVelocityCommandCfg.Ranges(
lin_vel_x=(-1.0, 1.0), # X方向线速度: ±1.0 m/s
lin_vel_y=(-1.0, 1.0), # Y方向线速度: ±1.0 m/s
ang_vel_z=(-1.0, 1.0), # Z轴角速度: ±1.0 rad/s
heading=(-math.pi, math.pi) # 朝向角: -π到π rad
)
这意味着:
• 前进/后退速度:最大 ±1.0 米/秒
• 横向速度:最大 ±1.0 米/秒(螃蟹移动)
• 旋转速度:最大 ±1.0 弧度/秒(约 ±57.3°/秒)
• 目标朝向角:在[-180°, 180°]范围内均匀采样
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
2. 指令采样与时序
采样时间间隔:
resampling_time_range=(10.0, 10.0) # 每条指令持续10秒
关键机制:
• 固定间隔采样:每10秒重新采样一次新的速度指令
• 同时采样:所有环境同时获得新指令(因为min和max都是10.0)
• 持续追踪:机器人在10秒内持续尝试追踪这个指令
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
3. 特殊环境类型
指令采样包含两种特殊处理:
A. 静止环境(Standing Environments)
rel_standing_envs=0.02 # 2%的环境会被设定为静止状态
机制:
• 每个回合重新采样时,2%的环境会被标记为"静止模式"
• 这些环境中的速度指令会被强制设为 [0, 0, 0]
• 目的是让机器人学会"静止站立"的能力
B. 航向指令环境(Heading-based Environments)
heading_command=True # 启用航向指令模式
rel_heading_envs=1.0 # 100%的环境使用航向指令
heading_control_stiffness=0.5 # 航向控制刚度
机制:
• 100%的环境使用航向控制而不是直接角速度
• 采样时随机生成目标朝向角 heading_target
• 通过PD控制律将航向误差转换为角速度指令:
heading_error = wrap_to_pi(heading_target - current_heading)
angular_velocity = clip(0.5 * heading_error, min=-1.0, max=1.0)
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
4. 完整采样流程
每次重新采样时(每10秒),完整的采样流程如下:
# 1. 采样线速度X分量
vel_x = Uniform(-1.0, 1.0)
# 2. 采样线速度Y分量
vel_y = Uniform(-1.0, 1.0)
# 3. 如果选择航向控制:
if heading_command:
# 采样目标朝向角
target_heading = Uniform(-π, π)
# 计算航向误差
heading_error = target_heading - current_heading
What steps can reproduce the bug?
it would happen in my certain terminal everytime while i ask it to ssh to some server .
What is the expected behavior?
answer one time
Additional information
No response