https://github.com/ccrpRepo/RoboMimic_Deploy?open_in_browsertrue上面的就是机器人的部署代码框架。首先感谢作者的辛苦劳动感谢作者的开源。作者对应的是的g1的29关节的机器人部署。由于工作原因我需要对程序进行修改以达成moya的28关节部署。初步安装作者的安装流程非常详细按照流程进行安装就行。创建虚拟环境conda create-nrobomimicpython3.8启动虚拟环境conda activate robomimic安装pytorch:condainstallpytorch2.3.1torchvision0.18.1torchaudio2.3.1 pytorch-cuda12.1-cpytorch-cnvidia安装RoboMimic_Deploy从官方网站克隆程序内容gitclone https://github.com/ccrpRepo/RoboMimic_Deploy.git安装组件cdRoboMimic_Deploy pipinstallnumpy1.20.0 pipinstallonnx onnxruntime安装unitree_sdk2_pythongitclone https://github.com/unitreerobotics/unitree_sdk2_python.gitcdunitree_sdk2_python pipinstall-e.运行代码启动Mujoco仿真python deploy_mujoco/deploy_mujoco.py模拟操作说明连接Xbox手柄运行代码python deploy_mujoco/deploy_mujoco.py下面省略。。。。因为暂时是在电脑上进行模拟所以应该会改成键盘控制。等到后面进行手柄控制的时候再来完善这一部分。真实机器人操作启动机器人并且使其悬浮。按住L2R2运行真机部署代码python deploy_real/deploy_real.py按开始键进入位置控制模式。后续操作与仿真相同。内容修改下面就是部分的对程序的修改啦首先其实在初始安装当中是缺少一些依赖的比如最重要的mujoco包之类的在初次使用的时候按照缺失进行安装就可以了。然后是关于holomotion里面的onnx文件查找失败可以直接将FSM.py这个的文件的self.holomotion_policyHoloMotion(state_cmd, policy_output)注释掉也就是跳过这个技能库等到后面要使用的时候再取消注释就好了。手柄改键盘目前我手中没有手柄所以需要把对机器人的操作改成使用键盘进行操作。所以会作出一些改动。首先备份原本的文件cd/home/zww/RoboMimic_Deploycpcommon/joystick.py common/joystick_joypad_backup.py将原本文件内容覆盖原本内容备份到了joystick_joypad_backup.py。python deploy_mujoco/deploy_mujoco.py进入界面后先点一下 MuJoCo 窗口按回车键是机器人进入fixed_mood按住右 Shift按 1然后松开 1松开右 Shift用 W/A/S/D/Q/E 控制移动虚拟按钮键盘按键A1X2Y3B4L1QR1ESELECTBackspaceSTARTEnter主键盘和小键盘均可L3ZR3CHOMEHUPW或↑DOWNS或↓LEFTA或←RIGHTD或→文件修改想要修改成moya的文件需要进行一系列的修改首先将moya01_V2.xml的模型文件进行放置。与G1的文件位置类似moya的文件是moya_description其下存放meshes、Moya01_V2.xml、scence.xml。其中scence.xml仿照G1的书写在deploy_mujoco/config/mujoco.yaml中讲对应路径更改为moya的正常来说就可以使用moya的模型了文件修改暂时调试使用到的只有policy的四个动作策略分别是dance\fixedpose\loco_mode\passive。所以就要去对应的文件下面的yaml去修改关节数量因为G1的是29个关节但是moya是28个关节。将FSM/FSM.py 里的这些策略先注释掉self.loco_policyLocoMode(state_cmd, policy_output)self.kungfu_policyKungFu(state_cmd, policy_output)self.skill_cooldown_policySkillCooldown(state_cmd, policy_output)self.skill_cast_policySkillCast(state_cmd, policy_output)self.kick_policyKick(state_cmd, policy_output)self.kungfu2_policyKungFu2(state_cmd, policy_output)self.beyond_mimic_policyBeyondMimic(state_cmd, policy_output)self.holomotion_policyHoloMotion(state_cmd, policy_output)get_next_policy() 里也先只保留部分其余的注释掉