【赛前培训】MuJoCo与Python入门|培训课件、一周练习安排与重点参考

本帖汇总机器人工程技术人员竞赛模块A的培训资料与课后练习建议。建议结合课件和共享训练镜像,按“阅读工程—完成函数—检查结果—排查问题”的顺序学习。

一周练习的目标:能够独立运行一个机器人仿真工程,理解输入输出,并完成基础函数编写与调试。

一、培训课件与练习环境

培训PPT链接: 百度网盘 请输入提取码

课件主要包括:

  • 地瓜机器人、RDK开发板与云端仿真环境。
  • 机器人组成与常见仿真平台。
  • MuJoCo模型、Python接口与基本控制循环。
  • 训练工程使用、分项检查和课后练习安排。

练习使用 RoboGo云平台 的 Module_A_Practice 共享训练镜像,访问方式按培训通知执行。进入云桌面后,通过训练图标打开工程,先阅读 README.md 和 TASK.md。

训练场景为机械臂三工位测高巡检,主要完成传感器读取、检测点位换算、测高计算与区间分类。环境与运行入口已预置,可直接进行练习。

二、一周学习与练习安排

建议每天安排30~60分钟,薄弱环节可适当增加时间。

时间 学习与练习内容 当天目标
第1天 阅读课件和工程说明,运行完整演示;对应场景阅读XML 找到作答文件、运行入口和传感器定义
第2天 复习Python函数、条件与循环;完成T1关节读取 解释函数输入、返回值、数组顺序与单位
第3天 复习NumPy索引与整体运算;完成T2点位换算 正确处理XYZ、数组形状和mm→m换算
第4~5天 完成T3测高和T4分类,检查正常值、边界值和异常输入 分项检查通过,并能解释检测结果
第6天 运行自己的完整巡检,结合日志排查问题 完成三个工位检测及返回
第7天 复盘修改内容,尝试调整训练点位或分类区间 能说明参数变化如何影响结果,整理仍未解决的问题

三、练习划重点

1. 模型与仿真:把场景和代码对应起来

  • worldbody:机器人、试件及其层级;关注 body、joint、geom、site。
  • actuator、sensor:执行器和传感器的名称、类型及关联对象。
  • MjModel、MjData:模型信息与运行状态分别保存在哪里。
  • 控制循环:读取反馈、生成目标、写入控制、执行 mj_step、查看新状态。
  • 时间与坐标:理解物理步长、控制周期,以及位置所属的坐标系。

阅读代码时,可以沿着一个传感器名称,从XML找到Python中的读取位置,再观察终端输出。

2. Python与NumPy:先明确输入,再编写函数

  • 掌握函数参数、return、if/elif/else、for 和基本异常处理。
  • 区分一个数、一个XYZ点和一组点,检查下标、shape 与单位。
  • 理解数组整体运算和复制;需要保留原输入时,注意修改是否影响原数据。
  • 条件判断同时检查正常情况、阈值相等和异常情况。

每个函数都先回答三个问题:输入是什么?需要返回什么?怎样检查结果?

3. 调试:形成固定的排查顺序

先看错误类型和原因,再定位文件、行号与函数,最后检查输入值、数组形状和单位。每次只改一处,保存后重新检查。

重点留意:Tab与空格混用、漏写返回值、数组维度错误、单位换算遗漏、传感器名称拼写错误,以及边界条件处理不完整。

四、训练工程常用命令

在工程目录执行:

cd ~/arm-inspection-training

./run.sh --demo                    # 观察完整演示
./run.sh --lesson io --check       # 检查T1:关节读取
./run.sh --lesson targets --check  # 检查T2:点位换算
./run.sh --lesson decision --check # 检查T3、T4:测高与分类
./run.sh --check                   # 检查全部练习函数
./run.sh                           # 运行自己完成的巡检

作答主要在 exercises.py 中完成。--demo 使用内置参考实现;直接运行 ./run.sh 使用自己的代码。关闭仿真窗口后,重新执行命令即可开始新一轮练习。

分项检查通过后,还要观察完整运行结果。终端日志和检测记录保存在 outputs/。仿真环境目录可在工作区中阅读,普通账号只读。

五、参考资料:按问题查阅

资料 建议阅读重点
Python:控制流与函数 条件、循环、函数定义与返回值
Python:错误与异常 错误信息、调用栈、raise 与异常处理
NumPy入门 数组、shape、索引、整体运算与复制
MuJoCo:Modeling 模型层级、部件及坐标关系
MuJoCo:Python接口 模型加载、数据访问、命名访问与Viewer
MuJoCo:XML Reference 按工程中的名称查 joint、site、执行器和传感器

以上MuJoCo资料统一链接到3.3.7版本,便于对照训练工程。优先阅读与当前练习相关的部分,再回到代码验证。

拓展阅读:RDK官方硬件资料,了解板卡接口及机器人开发中的常见连接方式。

六、练习完成自查与交流

完成后,建议检查:

  • 能独立打开工程,选择对应命令运行。
  • 能解释T1~T4的输入、输出及主要判断逻辑。
  • 分项检查通过,完整巡检有正常结果。
  • 能根据日志定位一个错误,并说明修改原因。
  • 能说明训练参数变化与运行结果之间的联系。

交流问题时,请附上:运行命令、完整报错、相关代码、预期结果。涉及账号信息的截图先做遮挡。

竞赛安排与要求以已公示技术文件及赛务通知为准。建议把这一周的重点放在基础理解、独立编写和实际调试上。