首页/新闻资讯/正文详情

二、Mujoco-建模与仿真

发布时间:2026/11/9 21:38:43 来源:云帆数科 栏目:资讯中心
二、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/9/13 18:12:16

函数堆栈图
函数堆栈图

进入函数之前 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/11/7 11:56:30

PDF视觉差异检测终极指南:diff-pdf工具深度解析
PDF视觉差异检测终极指南:diff-pdf工具深度解析

PDF视觉差异检测终极指南:diff-pdf工具深度解析 【免费下载链接】diff-pdf A simple tool for visually comparing two PDF files 项目地址: https://gitcode.com/gh_mirrors/di/diff-pdf 在文档管理和版本控制工作中,PDF文件的差异检测常常令人头… · 2026/11/9 14:17:59

低压电工证等级查询有效期多久 内部消息告诉你怎么续期不被罚
低压电工证等级查询有效期多久 内部消息告诉你怎么续期不被罚

低压电工证等级查询有效期多久 内部消息告诉你怎么续期不被罚 证书过期了不知道怎么复审延期,这事儿真不是闹着玩的。前几天,我接到一个驻马店市水利工程项目的电工老王电话,他说低压电工证快到期了,想着找熟人走个后门续个期,结果被当地安监部门直接罚… · 2026/11/9 21:37:54

工信部特种装备报考太忙没时间复习?官方报名入口这样用才不踩坑
工信部特种装备报考太忙没时间复习?官方报名入口这样用才不踩坑

工信部特种装备报考太忙没时间复习?官方报名入口这样用才不踩坑 工地太忙根本没时间复习考试,这是很多特种作业操作证持证人的真实写照。尤其是在安阳这样的工地集中地区,时间就像流水一样,一不留神就过去了。但如果你正在备考【工信部特种装备】相关的证… · 2026/11/9 21:37:54

蒋利飞的电工证编码怎么查?全国通用证书怎么考?
蒋利飞的电工证编码怎么查?全国通用证书怎么考?

蒋利飞的电工证编码怎么查?全国通用证书怎么考? 工地太忙根本没时间复习考试,特别是像你这样刚入行的电工,每天在工地忙得连轴转,根本抽不出时间准备考试。但你知道吗,现在全国通用的电工证不仅关系到你能否继续在工地干活,还直接决定了你的职业发展路… · 2026/11/9 21:37:54

电工证异地可以审核吗?工地太忙根本没时间复习考试,含金量怎么保障?
电工证异地可以审核吗?工地太忙根本没时间复习考试,含金量怎么保障?

电工证异地可以审核吗?工地太忙根本没时间复习考试,含金量怎么保障? 工地太忙根本没时间复习考试,很多电工证持有者都在问, 电工证异地可以审核吗 ,尤其是在南阳水利这样的工程现场,人员流动性大,时间紧张。但别小看这本证书的 含金量… · 2026/11/9 21:37:54

心脏病考电工证能过吗?电子证书怎么领?培训费别白交
心脏病考电工证能过吗?电子证书怎么领?培训费别白交

心脏病考电工证能过吗?电子证书怎么领?培训费别白交 怕考不过白交培训费,这是很多报考电工证的学员最担心的事,尤其是本身有心脏病的考生,更是焦虑。你可能担心: 心脏病考电工证 会不会影响考试结果? 电子证书… · 2026/11/9 21:37:54

衢州电工证怎么考千万别踩坑
衢州电工证怎么考千万别踩坑

衢州电工证怎么考千万别踩坑 怕考不过白交培训费?衢州电工证怎么考千万别踩坑,别再盲目花钱走弯路。很多电工朋友在准备考证时,担心培训费打水漂,或者考试不通过白白浪费时间和金钱,其实只要掌握正确的方法和信息,完全能顺利拿到证书。下面我们就来聊一… · 2026/11/9 21:36:54

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/9 2:05:04

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/9 3:11:26

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/9 5:24:17

电工证不需要考复审延期怎么办理 通过率揭秘
电工证不需要考复审延期怎么办理 通过率揭秘

电工证不需要考复审延期怎么办理 通过率揭秘 不知道去哪报名怕被中介坑?电工证不需要考复审延期怎么办理?最近不少学员都在问这个问题,尤其是刚拿到证的新手,对复审流程一知半解,生怕被培训机构套路。别担心,今天咱们就来聊聊电工证复审的真相,尤其是… · 2026/11/9 0:00:54

砀山哪里考电工证的多 电工证报考别踩坑 郑州报考避坑指南
砀山哪里考电工证的多 电工证报考别踩坑 郑州报考避坑指南

砀山哪里考电工证的多 电工证报考别踩坑 郑州报考避坑指南 工地太忙根本没时间复习考试,这几乎是所有一线施工人员的共同心声。尤其是像电工这样的特种作业,操作证不仅关系到能不能上工,还直接关系到工资高低和职业发展。可偏偏,很多人连怎么报名、去哪… · 2026/11/9 0:00:54

南方电网电工作业含金量高吗?应届生怎么考怎么干?
南方电网电工作业含金量高吗?应届生怎么考怎么干?

南方电网电工作业含金量高吗?应届生怎么考怎么干? 工地太忙根本没时间复习考试,这不是个别现象,而是很多刚毕业的工程类学生面临的现实。南方电网电工作业的证书,听起来门槛不低,但 含金量… · 2026/11/9 0:00:54

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/9 11:23:35

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/9 11:23:58

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/9 11:25:08

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码