强化学习训练四足机器人行走的优化方案咨询
四足机器人强化学习训练困境及尝试方案
环境基础信息
- 仿真平台:pybullet
- 动作空间定义:
env.action_space = box(shape=(12,), upper = 1, lower = -1)
选定动作会先转换,再乘以各关节指定的max_actions,对应机器人4条腿的3个电机位置:hip_joint_y、hip_joint_x、knee_joint。
观测空间详情
env.observation_space = box(shape=(12,), upper = np.inf, lower = -np.inf)
观测维度包含:
- 机身横滚角、俯仰角[r, p]
- 角速度[x, y, z]
- 线加速度[x, y, z]
- 每条腿的接触力二进制值(接触为1,未接触为0),共4个值
奖励函数设计
reward = ( + distance_reward - body_rotation_reward - energy_usage_reward - body_drift_from x-axis reward - body_shake_reward)
已尝试的训练方案
- 使用stable-baselines3的PPO训练2000万时间步,无明显提升;
- 测试DDPG、TD3、SAC、A2C及PPO五种算法,每种训练500万时间步,策略网络扩展为4层各1024神经元;
- 将动作空间从连续Box改为MultiDiscrete,取值范围0-6,对应增量数组
discrete_delta_vals = [-0.3, -0.1, -0.03, 0, 0.03, 0.1, 0.3],关节实际输出值为前一动作加选定增量; - 固定所有腿的hip_joint_y为0,将动作空间调整为
box(shape=(8,)),训练600万时间步,初期有小幅提升后陷入停滞; - 用逆运动学(IK)生成半椭圆轨迹可行,但属于传统机器人控制方法;尝试用DeepMimic引导RL构建稳定步态,未取得突破。
内容的提问来源于stack exchange,提问作者Shivam Chavan
相关产品推荐
相关产品推荐

