二、Mujoco-建模与仿真
一、基础术语解释刚体Body仿真中的基本运动单元具有质量、惯性、位置、姿态等属性默认不可变形关节Joint约束两个刚体相对运动的组件通过「限制自由度」实现特定运动如铰链关节仅允许旋转自由度DOF刚体在空间的独立运动数量3 平移 3 旋转 6 DOF关节本质是「减少自由度」几何体Geom刚体的碰撞/可视化表征如球、立方体、胶囊体用于计算接触力MJCF/URDF模型描述文件XML 格式定义仿真场景的刚体、关节、约束等所有元素世界坐标系Worldbody仿真世界的全局坐标系所有刚体都直接/间接关联于此二、建模标签介绍建模文件格式为XML格式1、世界根节点mujoco model模型名称 /mujoco2、仿真计算配置compiler节点compiler angleradian/degree autolimitstrue compiler节点中定义的包括angle角度单位/radian(弧度单位)autolimits受力限制等常用的就像上面这样写就行规定角度单位为弧度制受力限制开启。角度单位为弧度制是机器人开发的常用单位制。option节点设置场景中的属性选项option timestep0.002 gravity0 0 -9.81 integratorimplicitfast density1.225 viscosity1.8e-5/timestep代表仿真走一步的时间也就是运行一次之后仿真计算出timestep时长后的世界单位秒。timestep是一定要规定的不然仿真不知道如何计算gravity 重力加速度wind 风在三个方向的速度magnetic0 -0.5 0世界磁场影响磁力传感器density 介质密度水空气等单位kg/m³viscosity介质粘度integrator[Euler/RK4/implicit/implicitfast]积分器默认欧拉用于仿真世界每步就求解计算各个优势见下图影响仿真的精度solver[PGS, CG, Newton]求解器配置默认牛顿iterations100 约束求解器最大迭代次数,按需配置。 求解器其他配置积分器比较3、可视化配置visual节点visual global realtime1/ quality shadowsize16384 numslices28 offsamples4 / headlight diffuse1 1 1 specular0.5 0.5 0.5 active1 / rgba fog0 1 0 1 haze1 0 0 1/ /visualglobal:realtime仿真速度比例在simulate中可以使用大于1的按1计算quality:画面质量shadowsize: 阴影效果数值越大渲染越精细headlight和simulate中自由相机相同方向的光源 diffuse头灯的亮度 specular反射的光的颜色map鼠标影响操作scale渲染缩放rgba:fog 迷雾颜色haze 地平线颜色4、资源配置配置接下来场景中的资源文件asset mesh nametetrahedron vertex0 0 0 1 0 0 0 1 0 0 0 1 / mesh filecard.obj / texture type2d file./king_of_clubs.png / material nameking_of_clubs textureking_of_clubs / hfield nameagent_eval_gym fileagent_eval_gym.png size10 10 1 1 / texture typeskybox file../asset/desert.png gridsize3 4 gridlayout.U..LFRB.D.. / texture nameplane type2d builtinchecker rgb1.1 .1 .1 rgb2.9 .9 .9 width512 height512 markcross markrgb.8 .8 .8 / material nameplane reflectance0.3 textureplane texrepeat1 1 texuniformtrue/ material namebox rgba0 0.5 0 1 emission0/ /asset几何资源 mesh默认长度单位是米meters, m对应的质量单位是千克kgvertex通过坐标点构造几何体file加载obj或者stl模型文件不指定name默认为文件名 scale 缩放默认为以m为单位hfield通过高度图加载几何体高度场通过图片加载 size:缩放纹理/材质资源texture 可以通过加载png对物体进行贴图使用方法texture-materialmaterial 材质可以指定纹理颜色反射发光等skybox texture的类型直接加载即可 天空盒演示texture typeskybox builtingradient rgb11 1 1 rgb20.6 0.8 1 width256 height256/5、worldbody场景中的根节点所有之前配置的属性或者资源文件可以在这里进行配置从而交给mujoco渲染geomtype[plane/hfield/sphere/capsule/ellipsoid/cylinder/box/mesh/sdf]size0 0 0三个参数根据type选择填写pos0 0 0位置priority0碰撞优先级materialxxx材质名rgba0 0 0 0几何体颜色比材质省资源friction1 0.005 0.0001滑动扭矩滚动摩擦系数mass质量单位kg它和密度只能有一个density0密度单位kg/m³它和质量拼了shellinertia[true/false]开了就是质量集中在边缘关了就是均匀密度fromto0 0 0 0 0 0类似旋转通常代替旋转长度只能用于胶囊、盒子、圆柱体和椭球体前三个是point1后三个point2几何体的Z轴正方向为point2-point1quat, axisangle, xyaxes, zaxis, eulerquat:wxyz,isaac gym:xyzweuler:xyz地板(plane)演示texture namegrid type2d builtinchecker width2048 height2048 rgb1.3 .4 .8 rgb2.9 .9 .9 / geom nameground typeplane size100 100 .01 materialgrid /site简易版geom不作为碰撞体积和质量计算只能使用简易几何体适用于在某些小部位安装传感器或者小结构渲染等其属性和geom非常相近body在运动仿真过程中我们要实现整个机器人模型也就是身体骨骼关节拼接出来及对应bodygemo和joint多个body嵌套就是机器人整体整体也是呈树状嵌套。在添加joint之前我们先学习一下mujoco中body的坐标树规则这个和ros的tf树很像可以类比。机器人对于世界有一个坐标机器人每个坐标系都是基于上一个坐标系的相对位置其中body在循环嵌套每一层中的gemo都是对于这一层的body的相对位置每个body的坐标都是对于上一个body的相对位置。这和tf树模式几乎差不多就如下图一样joint定义关节连接将body之间连接在一起使其可以进行活动。这么说吧body中的所有geom为一个整体然后joint是连接这些整体的。就是body和body靠joint活动body中只能有一个joint用来连接当前body和上一层body。再根本一点就是joint对于上一层body是相对静止的当前body与joint是在运动。!-- 支撑柱 -- body namesupport pos0 0 0.1 geom typecylinder mass100 size0.05 0.5 rgba0.2 0.2 0.2 1/ !-- 水平杆 -- body namerotay_am pos0 0 0.51 joint typehinge namepivot pos0 0 0 axis0 0 1 damping0.001 frictionloss0.0 stiffness0.5/ geom typecapsule mass0.01 fromto0 0 0 0.2 0 0 size0.01 rgba0.8 0.2 0.2 0.5/ !-- 摆 -- body namependulum pos0.2 0 0 joint typehinge nameph pos0 0 0 axis1 0 0 damping0.001 frictionloss0.0 / geom typecapsule mass0.005 fromto0 0 0 0 0 -0.3 size0.01 rgba0.8 0.2 0.2 1 / !-- 配重 -- geom typesphere mass0.01 size0.03 pos0 0 -0.3 rgba0.2 0.8 0.2 1 / /body /body /bodyfrictionfriction有三个参数分别是滑动摩擦转动摩擦滚动摩擦系数option椭圆/金字塔cone[pyramidal, elliptic]摩擦力近似计算方法,默认pyramidal计算速度快elliptic效果更好 impratio1 椭圆摩擦的比例更高的数值摩擦力会更硬一些防止打滑不建议在使用pyramidal的时候调大适合机械臂抓取打滑时调整参数actuator是连接控制指令与机器人关节 / 刚体的 驱动桥梁用于将外部控制信号如ctrl数组中的数值转换为仿真中的力 / 扭矩 / 位置约束驱动模型运动如关节旋转、机械臂伸缩。输入控制信号范围通常可通过ctrlrange限制输出力、扭矩或位置 / 速度约束依执行器类型而定常用简洁类型motor最常用输出扭矩驱动关节适用于旋转 / 平移关节position位置伺服执行器驱动关节跟踪目标位置velocity速度伺服执行器驱动关节保持目标速度light 灯光节点节点用于在仿真场景中定义光源核心作用是照亮场景、增强 3D 视觉效果让模型和几何形状的轮廓、细节更清晰可见不影响物理仿真过程仅作用于视觉渲染。通常嵌套在 节点下全局光源也可嵌套在其他 节点下随刚体运动的局部光源。核心作用提供视觉渲染的光照支持无物理仿真相关影响。常用光源类型通过type属性指定默认类型为directional平行光。directional平行光如太阳光无衰减光线沿指定方向均匀照射整个场景。point点光源如灯泡从某一点向所有方向发射光线光线强度随距离衰减。spot聚光灯从某一点向指定方向发射锥形光束仅照亮锥形区域。pos光源的位置适用于point/spot类型directional类型无需指定仅需方向。dir光源的照射方向适用于directional/spot类型格式为x y z。rgba光源的颜色与强度格式为r g b a取值范围[0,1]a通道此处通常对应光照强度。castshadow是否投射阴影true/false默认通常为false开启后视觉效果更真实但略耗渲染性能。!-- 1. 平行光directional模拟太阳光照亮整个场景 -- light namesun_light typedirectional dir-1 -1 -1 !-- 从右上方向左下方照射 -- rgba1 0.9 0.8 1 !-- 暖白色光强度1 -- castshadowtrue/ !-- 开启阴影 --tendon 肌腱tendon用于模拟柔性肌腱 / 绳索 / 缆线的力学行为核心作用是传递力而非直接产生力连接模型中的多个关节、刚体或站点site实现类似人体肌腱、机器人钢缆的联动效果如通过肌腱拉动多个关节协同运动或约束刚体间的相对运动。力学属性柔性为主可设置刚度、阻尼、长度限制等不具备刚体的刚性约束受力时会产生微小变形并传递张力。核心作用传递张力、实现多部件联动、约束部件运动范围不直接驱动模型需配合 actuator 执行器提供驱动力。归属直接在 mujoco 根节点下配置与 、 同级通过 标签定义。常用类型通过type属性指定spatial最常用空间肌腱可连接任意数量的站点site、关节支持复杂空间路径。muscle肌肉肌腱模拟骨骼肌的主动收缩特性可直接接收控制信号产生张力无需额外 motor 执行器。wire线缆肌腱简化版空间肌腱适用于直线传递张力的场景。spatial使用tendon组合关节驱动的时候要使用tendon下面的spatial节点。spatial是类似一种像肌肉一样的驱动方式比如线驱灵巧手等。如下图所示的驱动方式通过每个site来拉住关节驱动。传感器常见有相机传感器关节角度传感器关节速度传感器激光测距传感器等三、核心架构静态模型MjModel存储仿真场景的静态结构一旦加载不再变化内容包括机器人几何形状、关节类型旋转 / 平移 / 球铰等、材质参数密度 / 摩擦系数、约束关节限位 / 力约束、传感器力 / 位置 / 视觉传感器、灯光 / 相机等加载方式从 XML/URDF 文件加载推荐 XMLMuJoCo 原生格式或通过 API 动态构建。动态数据MjData存储仿真过程中的动态状态每一步仿真都会更新内容包括关节位置qpos、关节速度qvel、控制输入ctrl、接触力contact、传感器数据sensordata、物体位姿等是用户交互的核心读取仿真状态、设置控制指令如关节力矩都通过MjData实现。

相关新闻

Fast-GitHub:彻底解决国内访问GitHub缓慢问题的终极指南

Fast-GitHub:彻底解决国内访问GitHub缓慢问题的终极指南

Fast-GitHub:彻底解决国内访问GitHub缓慢问题的终极指南 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否经历过这…

2026/7/26 11:36:26 阅读更多 →
函数堆栈图

函数堆栈图

进入函数之前 EAX 0041C077 EBX 002FA000 ECX 0041C077 EDX 00000001 ESI 00411023 EDI 0019FEE8 EIP 004118B6 ESP 0019FE04 EBP 0019FEE8 EFL 00000246 47: int main() { 00411890 push ebp 00411891 mov ebp,esp 00411893 sub esp,…

2026/7/26 11:36:26 阅读更多 →
提示词翻译润色模板已迭代至V4.2:实测降低LLM输出歧义率82%,附3分钟自检清单(失效即删)

提示词翻译润色模板已迭代至V4.2:实测降低LLM输出歧义率82%,附3分钟自检清单(失效即删)

更多请点击: https://intelliparadigm.com 第一章:提示词翻译润色模板已迭代至V4.2:实测降低LLM输出歧义率82%,附3分钟自检清单(失效即删) V4.2版本核心升级聚焦语义锚定与上下文隔离机制,通过…

2026/7/26 11:35:26 阅读更多 →

最新新闻

网盘下载限速破解:从兑换码到高效工作流实践

网盘下载限速破解:从兑换码到高效工作流实践

昨天下午,我帮一个朋友下载一份 3GB 的设计素材包。他用的是某主流网盘,点开下载链接,跳出来的不是进度条,而是一个熟悉的弹窗——“试用加速”或“开通会员”。他叹了口气,问我有没有办法“绕过去”。我看着他屏幕上那…

2026/7/26 11:44:28 阅读更多 →
LLM性能优化实战:从提示词到模型蒸馏

LLM性能优化实战:从提示词到模型蒸馏

1. 为什么LLM性能优化如此重要?去年我在开发一个智能客服系统时,曾遇到一个典型问题:同样的GPT-3.5模型,在测试环境中响应速度飞快,但上线后平均响应时间却从1.2秒骤增到4.5秒。经过两周的排查,最终发现问题…

2026/7/26 11:44:28 阅读更多 →
基于改进YOLO的老年人跌倒实时监测系统设计与优化

基于改进YOLO的老年人跌倒实时监测系统设计与优化

1. 项目背景与核心价值 老年人跌倒监测是智慧养老领域的关键技术痛点。根据临床研究数据,65岁以上老年人每年跌倒发生率超过30%,而跌倒后未能及时救助将导致严重后果。传统监控方案存在响应延迟、隐私泄露等问题,而基于计算机视觉的智能监测系…

2026/7/26 11:44:28 阅读更多 →
开源风扇控制神器:告别噪音困扰的终极解决方案

开源风扇控制神器:告别噪音困扰的终极解决方案

开源风扇控制神器:告别噪音困扰的终极解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanCon…

2026/7/26 11:44:28 阅读更多 →
智能写作工具paperzz提升硕士论文效率全攻略

智能写作工具paperzz提升硕士论文效率全攻略

1. 论文写作的痛点与智能辅助的崛起写硕士论文大概是每个研究生最头疼的事情。去年帮学弟改论文时,他给我看了手机里的备忘录——光是"文献综述怎么写"这个问题就搜索了17次。这种焦虑不是个例,根据我接触过的上百名硕士生,90%的人…

2026/7/26 11:44:28 阅读更多 →
YOLO算法在医疗白细胞检测中的实践与优化

YOLO算法在医疗白细胞检测中的实践与优化

1. 项目概述:当计算机视觉遇上医疗诊断 在医疗影像分析领域,白细胞检测一直是临床诊断的重要环节。传统的人工显微镜计数方法耗时耗力,且结果受主观因素影响较大。这个项目正是为了解决这一痛点,将当前最先进的YOLO系列目标检测算…

2026/7/26 11:43:28 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻