跳转至

本地仿真

对 LAV2 来说,最快的健全性检查方式仍然是本地 MuJoCo runner。

快速开始

先按照 安装 完成项目安装,然后启动本地 runner:

uv run lav2

也可以直接运行模块入口:

uv run -m lav2.controllers

运行时说明

  • 交互式 runner 会加载 --robot 所选机器人的已注册 MuJoCo 场景;默认仍为 LAV2,ATMO 使用 --robot ATMO 选择。
  • --mode flight(默认)运行旋翼控制栈,--mode ground 运行差速地面控制栈。
  • 使用 uv run lav2 --mode ground --gamepad 启动地面手柄驾驶。左摇杆纵轴控制前向速度,右摇杆横轴控制偏航角速度,A 键在飞行与地面模式间切换。摇杆指令按平台的地面速度和偏航角速度限值缩放,摇杆回中后指令归零。
  • scripts/isaaclab/run.pyscripts/genesis/run.py 支持和 MuJoCo 交互 runner 一致的 --gamepad--mode--control-mode 参数,并共用相同的手柄目标缩放与 A 键陆空切换语义。
  • 飞行手柄映射由 --control-mode 决定:cmd_pos 用左摇杆纵轴增量调整高度、横轴增量调整航向,右摇杆调整水平位置;cmd_velcmd_acc 用左摇杆纵轴控制垂向运动、横轴控制偏航角速度,右摇杆控制水平运动;cmd_ctatt 用左摇杆控制油门/偏航角速度,右摇杆控制横滚/俯仰姿态;cmd_ctbr 保持相同布局,但右摇杆控制横滚/俯仰角速度。
  • 不带 --gamepad 时,地面模式跟踪位置与航向目标:1/2 修改世界坐标 X,3/4 修改世界坐标 Y,7/8 修改航向。
  • uv run lav2 --robot ATMO --mode ground --gamepad 会为 ATMO 复用同一个差速控制器。地面模式向 arm 位置 actuator 渐进下发 90 度目标,飞行模式下发 0 度目标。位置目标受 TiltWheelVehicleParams.arm_tilt_speed 限速,默认约四秒完成一次完整转换。进入地面模式后,两侧 velocity actuator 会在机臂转换过程中立即接收轮速目标,并由 MJCF joint equality 同步同侧前后轮。
  • 如果仿真出现饱和或发散,按以下顺序检查:(1) lav2/assets/LAV2/mjcf/scene.xml 及引用的网格文件是否存在;(2) MuJoCo 渲染后端是否正常;(3) VehicleParams 中的控制器增益(尤其是位置/速度 P 增益和积分限幅);(4) 旋翼参数,如 max_rpm、推力系数与电机时间常数。

下一步阅读