在 GitHub 打开:
https://github.com/ai-robot-class/week13
点击 Fork,将仓库复制到自己的账号下,例如:
https://github.com/<your-github-name>/week13
后续如果需要修改第 13 周代码,应提交到自己的 fork,而不是直接修改官方仓库。
进入自己的作业仓库根目录:
cd <student-homework-repo>
添加 submodule:
git submodule add https://github.com/<your-github-name>/week13.git week13
mkdir -p reports results
git add .gitmodules week13 reports results
git commit -m "Add week13 submodule"
作业仓库结构:
student-homework-repo/
├── week13/ # 学生 fork 后的 week13 submodule
├── reports/ # 实验报告、截图说明
├── results/ # 自己生成的视频、模型、GIF
└── README.md # 作业说明
git submodule update --init --recursive
git clone --recurse-submodules <student-homework-repo-url>
修改 week13/ 中的代码,需要先进入 submodule:
cd week13
git checkout -b my-week13-experiment
修改代码后,在 week13/ 目录内提交并推送到自己的 fork:
git add quadruped_ppo_residual_stairs.py
git commit -m "Improve week13 stair climbing reward"
git push origin my-week13-experiment
然后回到作业仓库根目录,提交 submodule 指针和作业材料:
cd ..
git add week13 reports results
git commit -m "Submit week13 quadruped experiment"
git push
注意:作业仓库记录的是 week13 submodule 的具体提交指针。只在 submodule 内提交还不够,还需要回到作业仓库提交一次 week13 指针更新。
在作业仓库根目录或 week13/ 目录中运行:
pip install pybullet numpy gymnasium stable-baselines3 torch opencv-python imageio matplotlib pillow
在作业仓库根目录运行:
python3 week13/quadruped_ppo_residual_stairs.py demo --task stairs --model week13/ppo_residual_stairs.zip --stair_steps 4 --step_height 0.03 --init_x 0.00 --steps 500 --gui
无图形界面时录制视频:
python3 week13/quadruped_ppo_residual_stairs.py demo --task stairs --model week13/ppo_residual_stairs.zip --stair_steps 4 --step_height 0.03 --init_x 0.00 --steps 500 --record results/stairs_demo.mp4
预期现象:四足机器人能够明显向前爬上约三阶低台阶,但尚未满足“在最终台阶上稳定站住”的严格成功标准。

python3 week13/demos/01_pybullet_box.py
对应讲义:PyBullet 基础仿真示例。
python3 week13/demos/02_load_laikago.py
对应讲义:加载 PyBullet 自带四足机器人模型。
python3 week13/demos/03_sine_gait.py
对应讲义:用正弦函数控制关节,观察对角腿相位差。
python3 week13/demos/04_trot_gait.py
对应讲义:更清晰的 Trot 步态生成。
python3 week13/scripts/generate_gait_gifs.py
python3 week13/scripts/generate_gait_diagrams.py
生成结果保存在:
week13/assets/gaits/
三种步态对比:

Trot 步态:

步态相位图:

速度与能耗对比:

提交作业:
git add reports results week13
git commit -m "Submit week13 quadruped simulation assignment"
git push