act仿真,任务层
整体分层任务与环境层sim_env.py关节空间控制、ee_sim_env.py末端位姿控制、scripted_policy.py脚本策略、assetsMuJoCo XML 场景。数据层record_sim_episodes.py 采集并保存hdf5utils.py 负责 Dataset/DataLoader 与归一化统计visualize_episodes.py 可视化数据集。训练/评估层imitate_episodes.py 是主入口训练 --eval 评估 生成 rollout 视频policy.py 是策略适配器ACTPolicy / CNNMLPPolicy。模型层detr 是 ACT 的网络实现backbone、transformer、VAE/decoder 等main.py 负责构建模型和优化器。配置层constants.py 定义任务配置数据目录、episode 长度、相机名和仿真常量。关键执行链路采集record_sim_episodes.py → data/episode_*.hdf5训练imitate_episodes.py → 读取 constants.py 中任务数据目录 → 训练并保存policy_best.ckpt评估可视化imitate_episodes.py --eval→ 加载policy_best.ckpt→ 输出 video*.mp4sim_env为仿真环境层def make_sim_env(task_name):用于生成关节空间的环境通过字符串导入xml文件把物理引擎和任务组合成 dm_control 标准环境。有插入和传递两个任务。class BimanualViperXEETask(base.Task):def before_step(self, action, physics):每步执行前把动作写入physics物理引擎def initialize_robots(self, physics):重置双臂到初始位姿def get_qpos(physics):读取位姿def get_qvel(physics):读取速度def get_env_state(physics):定义环境状态接口这里没有实现要求子类实现def get_observation(self, physics):获得观测形状为obs[qpos]: (14,)左臂6 左夹爪1 右臂6 右夹爪1obs[qvel]: (14,)结构同上速度obs[env_state]:TransferCubeEETask: (7,)一个物体 poseInsertionEETask: (14,)pegsocket 两个物体 poseobs[images][top]: (480, 640, 3) uint8obs[images][angle]: (480, 640, 3) uint8obs[images][vis]: (480, 640, 3) uint8obs[mocap_pose_left]: (7,)xyz quatobs[mocap_pose_right]: (7,)xyz quatobs[gripper_ctrl]: (4,)左右夹爪控制量 [L, -L, R, -R]class TransferCubeTask(BimanualViperXTask):为传递方块的子类def initialize_episode(self, physics):初始化所有关节位置和方块位置def get_env_state(physics):获得关节位置def get_reward(self, physics):根据接触情况返回当前 step 的奖励。遍历当前物理步的所有接触点取出该接触的两个几何体 id把几何体 id 转成可读名称。如果右夹爪接触方块奖励至少 1右夹爪接触且方块离开桌面被抬起奖励升到 2左夹爪接触方块表示开始交接奖励升到 3左夹爪接触且方块不在桌上认为交接成功奖励最高 4。class InsertionTask(BimanualViperXTask):插入的子类def get_reward(self, physics):如果左右夹爪都接触到了各自应该拿的物体左手 socket右手 peg奖励为1。表示“双手都接触目标”。如果双手都接触目标而且 peg 和 socket 都离开了桌子奖励升级为2。表示“双手都真正抓起了物体”。如果 peg 和 socket 已经碰到一起并且二者都不在桌上奖励为3。表示“插销和插孔已经对接上”。如果 peg 碰到了 pin奖励设为4。表示“插入成功”这是最高奖励。def get_action(master_bot_left, master_bot_right):动作变为14维动作向量、def test_sim_teleop():把真实臂的数据送入仿真ee_sim_env.py实现了末端位姿控制def make_ee_sim_env(task_name):左臂动作里有7维末端位姿3维位置 x, y, z4维四元数姿态 quat左夹爪再加1维开合量。一共16维度scripted_policy.py作用是手动写出专家策略完成方块传递任务整体结构BasePolicy脚本策略基类负责轨迹插值和按时间输出动作。PickAndTransferPolicy传方块任务的手工策略。InsertionPolicy插销插孔任务的手工策略。test_policy测试这些脚本策略能不能在仿真里跑通。class BasePolicy:父类def interpolate(curr_waypoint, next_waypoint, t):定义线性插值def __call__(self, ts):把类实例变成可调用对象在每一步时调用取出waypoint进行插值得到当前时间步的轨迹。class PickAndTransferPolicy(BasePolicy):继承basepolicy实现def generate_trajectory(self, ts_first):先在第一次读取observation的机械臂位置和物块位置直接定义交接点通过打点控制机械臂def test_policy(task_name):变运行边显示摄像头数据观察是否正确运行

相关新闻

英伟达RTX Spark超级芯片深度解析:AI PC如何重塑个人计算与工作流

英伟达RTX Spark超级芯片深度解析:AI PC如何重塑个人计算与工作流

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 英伟达和微软联手,这次真的把“AI PC”这个概念给做实了。不是那种在现有硬件上跑个AI助手就宣称自己是AI PC的“贴牌”…

2026/7/3 18:28:38 阅读更多 →
Google Colab数据加载全路径指南:从upload到云存储集成

Google Colab数据加载全路径指南:从upload到云存储集成

1. 项目概述:在Colab里拿数据,远不止upload一个按钮那么简单 “Various Ways to Get Data on Google Colab”——这个标题看似平实,但背后藏着每个用Colab做实验的人每天都在面对的真实困境:你刚写完模型代码,准备喂数…

2026/7/3 18:28:38 阅读更多 →
性能测试核心指标全解析:从用户感知到系统瓶颈的实战指南

性能测试核心指标全解析:从用户感知到系统瓶颈的实战指南

1. 项目概述:为什么我们需要一份“吐血整理”的性能指标清单?干了这么多年性能测试,最怕听到的一句话就是:“系统卡了,是不是性能有问题?” 然后就是一场鸡飞狗跳的排查。开发说数据库慢,运维说…

2026/7/3 18:24:16 阅读更多 →

最新新闻

【Skywalking从入门到精通】第02篇:APM和可观测性到底是啥——写给所有被这两个词搞懵的开发者

【Skywalking从入门到精通】第02篇:APM和可观测性到底是啥——写给所有被这两个词搞懵的开发者

<!- title: “APM和可观测性到底是啥——写给所有被这两个词搞懵的开发者” series: “Apache SkyWalking实战全解析” episode: 002 publish_date: “2026-07-02” author: “技术博客作者” tags: [“APM”, “可观测性”, “Observability”, “分布式追踪”, “Metrics”…

2026/7/3 19:28:58 阅读更多 →
STM32与TI降压转换器的嵌入式电源系统设计

STM32与TI降压转换器的嵌入式电源系统设计

1. 项目背景与硬件选型解析在嵌入式电源系统设计中&#xff0c;DC-DC降压转换是一个基础但至关重要的环节。我们选用STM32F217ZG作为主控芯片搭配171010550电源管理IC的方案&#xff0c;主要基于以下工程考量&#xff1a;STM32F217ZG这颗Cortex-M3内核的MCU具备&#xff1a;120…

2026/7/3 19:26:57 阅读更多 →
DDrawCompat:Windows 10/11经典游戏兼容性修复终极指南

DDrawCompat:Windows 10/11经典游戏兼容性修复终极指南

DDrawCompat&#xff1a;Windows 10/11经典游戏兼容性修复终极指南 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDraw…

2026/7/3 19:24:57 阅读更多 →
4-20mA电流环技术与工业自动化应用解析

4-20mA电流环技术与工业自动化应用解析

1. 4-20mA电流环基础与行业应用场景工业自动化领域广泛采用4-20mA电流环作为标准信号传输方式&#xff0c;这种看似简单的技术背后蕴含着深厚的工程智慧。电流环之所以成为工业控制领域的"普通话"&#xff0c;主要基于三个核心优势&#xff1a;抗干扰能力、远距离传输…

2026/7/3 19:22:57 阅读更多 →
如何用ChanlunX插件在通达信中实现缠论自动化分析:新手终极指南

如何用ChanlunX插件在通达信中实现缠论自动化分析:新手终极指南

如何用ChanlunX插件在通达信中实现缠论自动化分析&#xff1a;新手终极指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾在股票K线图中迷失方向&#xff0c;面对复杂的缠论理论不知从何下手&a…

2026/7/3 19:22:57 阅读更多 →
ICM-42688-P与STM32F031C6的高精度运动感知方案解析

ICM-42688-P与STM32F031C6的高精度运动感知方案解析

1. 高精度运动感知方案的核心器件解析在机器人技术、工业自动化和振动监测领域&#xff0c;精确的运动感知是实现智能控制的基础。ICM-42688-P作为TDK InvenSense推出的6轴MEMS运动跟踪设备&#xff0c;配合STM32F031C6微控制器&#xff0c;构成了一个高性价比的嵌入式运动感知…

2026/7/3 19:22:57 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述&#xff1a;为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473&#xff0c;一个关于TLS/SSL协议重协商机制的漏洞&#xff0c;现在提起来还有必要吗&#xff1f;很多运维和开发朋友可能会觉得&#xff0c;这都老掉牙了&#xff0c;现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述&#xff1a;为什么需要双通道远程管理防火墙&#xff1f;在任何一个稍具规模的企业网络里&#xff0c;防火墙都是那个默默守护在边界的关键角色。作为网络工程师&#xff0c;我们不可能每次都跑到机房&#xff0c;插上console线去配置它。远程管理能力&#xff0c;…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述&#xff1a;AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域&#xff0c;同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件&#xff0c;与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻