Skip to content
Merged
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
dc6e7bb
MuJoCo 智能体神经决策
Vortex444 Sep 23, 2025
2c5063f
MuJoCo 智能体神经决策
Vortex444 Sep 23, 2025
4f98dd9
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Sep 23, 2025
bccc27f
MuJoCo 智能体神经决策
Vortex444 Sep 24, 2025
c57a219
Mujoco智能体神经决策
Vortex444 Sep 24, 2025
ed5c91f
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Sep 24, 2025
3bd54cd
Revert "Mujoco智能体神经决策"
Vortex444 Sep 24, 2025
756f7e8
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Sep 24, 2025
c69928c
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco …
Vortex444 Sep 24, 2025
4a4b8be
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Sep 24, 2025
395c0f0
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Sep 25, 2025
20113e5
基于 MuJoCo 的神经网络代理实现
Vortex444 Sep 25, 2025
134d51d
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Sep 25, 2025
9dc57ef
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Sep 29, 2025
615ef40
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Oct 13, 2025
c0f3a6b
优化代码结构:改用ThreadPoolExecutor、添加类型注解和日志系统
Vortex444 Oct 13, 2025
b567d78
忽略 mujoco_menagerie 目录
Vortex444 Oct 13, 2025
2b11544
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Oct 13, 2025
3f2e254
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Oct 13, 2025
24a1873
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Oct 13, 2025
c3ef47c
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Oct 14, 2025
26881be
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Oct 20, 2025
014316d
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Oct 27, 2025
cc36b9d
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Nov 17, 2025
e5e9e65
修复convert_model函数XML导出bug:正确传递MjData实例
Vortex444 Nov 17, 2025
2f0072e
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Nov 17, 2025
def716f
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Nov 17, 2025
372dc90
修复convert_model函数XML导出bug:正确传递MjData实例
Vortex444 Nov 18, 2025
0733d26
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Nov 18, 2025
cda7baa
feat: 完善ROS集成配置,添加仿真启动流程
Vortex444 Dec 1, 2025
2133e11
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 1, 2025
226de2b
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 1, 2025
a3a7ece
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 2, 2025
d6246fc
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 8, 2025
214d487
修改了README.md文件
Vortex444 Dec 8, 2025
da48709
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 8, 2025
74878c0
新增了 ROSManager 类,将 ROS 功能封装为独立模块
Vortex444 Dec 8, 2025
191005d
新增了 ROSManager 类,将 ROS 功能封装为独立模块
Vortex444 Dec 8, 2025
90117c5
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 8, 2025
7c45df1
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 8, 2025
e5e9900
提交感知模块和控制模块ros封装
Vortex444 Dec 11, 2025
dc20865
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 11, 2025
c1d0623
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 14, 2025
8f1bc5d
添加 mujoco_ros 相关启动/脚本文件,添加控制和感知模块
Vortex444 Dec 14, 2025
3d0450d
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 14, 2025
a8473e2
feat: 优化ROS关节状态发布逻辑,支持多自由度关节
Vortex444 Dec 15, 2025
3456741
删除提交的感知模块的临时文件
Vortex444 Dec 15, 2025
ab47944
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 15, 2025
eb7efb1
删除提交的感知模块的临时文件
Vortex444 Dec 15, 2025
b11f752
feat: 优化ROS关节状态发布逻辑,支持多自由度关节
Vortex444 Dec 15, 2025
bf06da2
新增ros感知模块和控制模块文件
Vortex444 Dec 15, 2025
4408689
优化visualize命令模型路径处理+通用化参数提示
Vortex444 Dec 15, 2025
3aa92a6
Merge branch 'main' into mujoco
Vortex444 Dec 15, 2025
3b751b6
新增强化学习策略控制功能到MuJoCo可视化工具
Vortex444 Dec 16, 2025
15ce163
新增强化学习策略控制功能到MuJoCo可视化工具
Vortex444 Dec 16, 2025
2f9b8c3
Merge branch 'main' into mujoco
Vortex444 Dec 16, 2025
249cca9
修改了README.md文件,新增一些修改过的内容
Vortex444 Dec 16, 2025
472169b
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 16, 2025
20fd735
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 16, 2025
8122294
添加一个重要注释在策略指令映射的核心行
Vortex444 Dec 16, 2025
ab7ac5d
Merge branch 'mujoco' of https://github.com/Vortex444/nn into mujoco
Vortex444 Dec 16, 2025
230d011
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 16, 2025
ab496dc
Merge branch 'OpenHUTB:main' into mujoco
Vortex444 Dec 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 7 additions & 42 deletions src/Neuro_Mujoco/main.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
MuJoCo功能整合工具(支持强化学习策略控制 + ROS 1通信)
优化点:新增基于PyTorch的策略网络推理,自动生成控制指令
"""
import os
import sys
import time
Expand Down Expand Up @@ -189,29 +183,8 @@ def visualize(model_path: str, use_ros: bool = False, policy_path: Optional[str]
:param model_path: 模型文件/目录路径
:param use_ros: 是否启用ROS模式
:param policy_path: 预训练策略模型路径(.pth)
可视化模型并运行模拟(支持ROS 1模式)

参数:
model_path: 模型文件/目录路径
use_ros: 是否启用ROS模式(默认False)
"""
# 新增:模型路径智能校验(支持目录自动找XML/MJB文件)
if os.path.isdir(model_path):
# 遍历目录找第一个XML/MJB文件
model_files = []
for file in os.listdir(model_path):
if file.endswith(('.xml', '.mjb')):
model_files.append(os.path.join(model_path, file))
if not model_files:
logger.error(f"目录 {model_path} 中未找到.xml/.mjb模型文件")
return
model_path = model_files[0]
logger.info(f"自动选择目录中的模型文件: {model_path}")

model_path: 模型文件路径
use_ros: 是否启用ROS模式(默认False)
"""
# 智能校验模型路径(支持目录自动找XML/MJB
# 模型路径智能校验(支持目录自动找XML/MJB文件
if os.path.isdir(model_path):
model_files = []
for file in os.listdir(model_path):
Expand Down Expand Up @@ -332,7 +305,7 @@ def ctrl_callback(msg: Float32MultiArray):

# 映射到实际控制范围
if ctrl_range is not None:
action = ctrl_range[:, 0] + (ctrl_range[:, 1] - ctrl_range[:, 0]) * (action + 1) / 2
action = ctrl_range[:, 0] + (ctrl_range[:, 1] - ctrl_range[:, 0]) * (action + 1) / 2 # 核心映射:[-1,1]→[ctrl_min,ctrl_max] 线性缩放,保证指令符合执行器物理极限

data.ctrl[:] = action

Expand Down Expand Up @@ -388,29 +361,21 @@ def ctrl_callback(msg: Float32MultiArray):
logger.error(f"可视化过程出错: {str(e)}", exc_info=True)

# ===================== 主函数(命令行入口) =====================
# ===================== 主函数(仅优化model参数help+保持其他逻辑不变)=====================
# ===================== 主函数(完全保持原有逻辑不变)=====================
def main() -> None:
parser = argparse.ArgumentParser(
description="MuJoCo功能整合工具(支持强化学习策略控制 + ROS 1通信)",
formatter_class=argparse.ArgumentDefaultsHelpFormatter
)
subparsers = parser.add_subparsers(dest="command", required=True)

# 1. 可视化命令
viz_parser = subparsers.add_parser("visualize", help="可视化模型并运行模拟")
viz_parser.add_argument("model", help="模型文件路径/目录(支持.xml/.mjb)")
viz_parser.add_argument("--ros", action="store_true", help="启用ROS 1模式")
viz_parser.add_argument("--policy", help="预训练策略模型路径(.pth文件)")
# 1. 可视化命令(优化model参数help为通用提示,移除硬编码路径)
# 1. 可视化命令(修复重复添加model参数问题)
viz_parser = subparsers.add_parser("visualize", help="可视化模型并运行模拟")
viz_parser.add_argument("model", help="模型文件路径或包含模型的目录(支持.xml/.mjb格式)")
viz_parser.add_argument("model", help="/home/lan/桌面/nn/mujoco_menagerie/anybotics_anymal_b")
viz_parser.add_argument(
"--ros",
action="store_true",
help="启用ROS模式(发布关节状态/基座姿态,订阅控制指令)"
"model",
help="模型文件路径/目录(示例:/home/lan/桌面/nn/mujoco_menagerie/anybotics_anymal_b)"
)
viz_parser.add_argument("--ros", action="store_true", help="启用ROS 1模式(发布/订阅关节控制话题)")
viz_parser.add_argument("--policy", help="预训练策略模型路径(.pth文件)")

# 2. 速度测试命令
speed_parser = subparsers.add_parser("testspeed", help="测试模型模拟速度(多线程)")
Expand Down
Loading