本地仿真
对 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.py与scripts/genesis/run.py支持和 MuJoCo 交互 runner 一致的--gamepad、--mode和--control-mode参数,并共用相同的手柄目标缩放与 A 键陆空切换语义。- 飞行手柄映射由
--control-mode决定:cmd_pos用左摇杆纵轴增量调整高度、横轴增量调整航向,右摇杆调整水平位置;cmd_vel与cmd_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、推力系数与电机时间常数。
下一步阅读
- 阅读 资产,了解 MuJoCo 场景、MJCF 机体文件、网格与 USD 资源的组织方式。
- 阅读 动力学,了解 VehicleParams、RotorDynamics 与关节 actuator 如何定义模拟行为。
- 阅读 控制器,了解围绕 FlightController、DifferentialDriveController 与 Mixer 组织起来的控制闭环。