Mujoco仿真【xml文件的学习 3】

        在学习Mujoco仿真的过程中,为了与时俱进,之前的mujoco210版本不再使用,改用了mujoco-3.1.4版本,下面继续mujoco仿真的学习!


先前关于mujoco的学习博客汇总如下:

强化学习:MuJoCo机器人强化学习仿真入门(1)_mujoco仿真-CSDN博客

Mujoco仿真【将urdf文件转化为xml文件】-CSDN博客

Mujoco仿真【xml文件的学习 1】-CSDN博客

Mujoco仿真【xml文件的学习 2】-CSDN博客

关于error while loading shared libraries的错误解决方法-CSDN博客


        闲话少说,直接进入xml的文件学习。这次借助mujoco-3.1.4自带的模型文件与我自己的机器人xml模型来做一些展示,充分可视化xml模型的三维效果~


关于mujoco-3.1.4的版本下载,直接进入官网下载mujoco-3.1.4:https://mujoco.org/

进入官网后点击Download,下载 mujoco-3.1.4-linux-x86_64.tar.gz

 将下载后的mujoco-3.1.4文件夹放在/home/.mujoco/的目录中,做好对应的环境配置

进入上图的文件夹后,可以发现如下文件,简单介绍一下:

在bin目录中可以将自己机器人的urdf文件转换为xml文件,方便后续的mujoco仿真,详情见:

Mujoco仿真【将urdf文件转化为xml文件】-CSDN博客

在lib目录中存放着libmujoco.so.3.1.4文件,这个需要将该路径配置于.bashrc文件中,详情见:

关于error while loading shared libraries的错误解决方法-CSDN博客


在model目录中可以存放模型文件,下面借助mujoco-3.1.4自带的模型文件与我自己的机器人xml模型来做一些展示:

在xml模型打开前,需要先进入cd到mujoco-3.1.4的bin目录中,开启一个终端

案例【car】启动指令:

./simulate ../model/car/car.xml

出现了迷你版小车:

其中Control可以控制car的运动,左右转向与前进后退:

案例【cards】启动指令:

./simulate ../model/cards/cards.xml

出现了一堆牌:

案例【humanoid】启动指令:

./simulate ../model/humanoid/humanoid.xml

年轻真好,倒头就睡:

案例【mug】启动指令:

./simulate ../model/mug/mug.xml

到了喝下午茶的时候了:

案例【balloons】启动指令:

./simulate ../model/balloons/balloons.xml

出现了一个慢慢下滑的方块(4个气球都拉不动):

案例【hammock】启动指令:

./simulate ../model/hammock/hammock.xml

累了就睡吧:

        好了,我们就先展示这6个mujoco-3.1.4中的自带案例,还有许多xml模型案例就不全部观看了。下面将我自己的xml模型保存到model目录中,同样可视化一下,观看xml模型的效果如何:

案例【aloha】启动指令:

./simulate ../model/aloha/bimanual_viperx_transfer_cube.xml

斯坦福的aloha双臂,我后面将在这个基础上去优化或更改仿真环境:

案例【airbot_play_v3_0】启动指令:

./simulate ../model/airbot_play_v3_0/airbot_play_v3_0/airbot_play_v3_0.xml 

求之科技(无锡)的airbot play机械臂,不带末端执行器的版本:

案例【unitree_a1】启动指令:

./simulate ../model/unitree_a1/scene.xml

宇树的四足狗A1(我给pause了):

案例【trossen_vx300s】启动指令:

./simulate ../model/trossen_vx300s/scene.xml

被aloha带火的机械臂:

案例【shadow_hand】启动指令:

./simulate ../model/shadow_hand/scene_left.xml

仿人灵巧手:

案例【aloha2】启动指令:

./simulate ../model/aloha2/scene.xml

斯坦福的aloha双臂(升级版):

好了,xml模型的展示暂且就先到这


题外话:我个人认为xml模型决定了mujoco仿真好坏的一大半,学好xml语法与模型的环境搭建是十分有必要的!在Mujoco中,XML模型是定义仿真环境和物体属性的核心。通过学习XML语法和模型设置,可以更好地控制仿真场景的各个方面,包括物体的几何形状、质量、摩擦力、碰撞检测等。这对于确保仿真的准确性和真实性至关重要。有了扎实的XML编程基础,才能够更灵活地调整仿真环境,以满足robot仿真的需求,并更有效地进行仿真实验和研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024最新(PC+WEB+IOS+Android)即时通讯系统客户端仿默往IM源码下载

2024最新(PCWEBIOSAndroid)即时通讯系统客户端仿默往IM源码下载(总大小约2.4G) 系统功能配置灵活、海量并发、稳定可靠、数据安全,2小时快速部署、数据安全、单聊群聊、系统通知等通信功能,支持App、PC、Web等多端快速接入。 群功能&#xf…

Linux 软件包管理器 yum的下载、功能介绍及使用

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 Linux下的三种软件安装方…

panic对defer语句的执行的影响

1.主线程中的panic会直接导致所有正在运行的go协程无法执行,还会导致声明在它之后的defer语句无法执行。 package mainimport ("fmt""time" )func main() {defer fmt.Println("defer1") //声明在panic之前的defer会执行go func() {defer fmt.Pri…

蓝桥杯Web开发【大赛大纲】15届

一、 组别 Web应用开发分为:大学组和职业院校组。 每位选手只能申请参加其中一个组别的竞赛。各个组别单独评奖。 研究生和本科生只能报大学组。 其它高职高专院校可自行选择报任意组别。 二. 竞赛赛程 省赛时长:4小时。 决赛时长:4小…

LeetCode:279.完全平方数

class Solution:def numSquares(self, n: int) -> int:dp[i for i in range(n1)]for i in range(2,n1):for j in range(1,int(i**(0.5))1):dp[i]min(dp[i],dp[i-j*j]1)return dp[-1]代码解释 初始化 DP 数组: dp [i for i in range(n1)] 这里,dp[i]…

五分钟”手撕“图书管理系统

前言: 图书馆管理系统需要结合JavaSE的绝大部分知识,是一个很好的训练项目。 为了让大家更加方便的查阅与学习,我把代码放开头,供大家查询。 还有对代码的分析,我将以类为单位分开讲解。 目录 全部代码 Main类 Us…

如何排查hpet导致的CPU高负载——《OceanBase诊断系列》之十

1. 前言 我在OceanBase问答社区协助用户排查了一个CPU占用率过高的问题,帖子原文是: 《刚刚新安装的OceanBase集群,没有任何数据,CPU占用非常高,这正常吗?》。从这个场景出发,来分享相关的诊断…

Rabbitmq-Windows 安装

第一步:下载并安装erlang 1.原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang 2.下载地址:http://www.erlang.org/downloads 3.双击,点next就可以 4.选…

Android 观察者模式(OBSERVER)应用详解

文章目录 1、观察者模式设计初衷1.1. 解耦对象之间的依赖关系1.2. 允许动态的依赖关系1.3. 自动通知和更新1.4 设计初衷的详细说明1. 对象之间的解耦2. 动态依赖关系3. 自动更新 2、实现细节2.1. Subject 接口和实现2.2. Observer 接口和实现2.3. 主类 3、主要角色4、关系示意图…

【minio】minio文件访问不到问题记录

问题描述: 项目上上传了logo,但是无法回写logo,但是文件minio路径已经返回,并且到minio服务器上也能下载文件; 解决方案: 1.排查Nginx的代理的minio是否正确 2.登录minio服务查一下文件路径policy是否设置访…

AI预测福彩3D采取888=3策略+杀断组+杀和尾缩水测试5月24日预测第1弹

哈喽,各位亲爱的小伙伴,在发布本期预测结果之前,先对最近的这套算法测试做一下总结。 最近的一套算法采用了88723的容差策略,关于容差策略相信大家都比较清楚:容差可以最大限度的保证初始大底中包含中奖号码&#xff0…

揭秘Python:对象类型打印

哈喽,大家好,我是木头左! 一、Python数据类型简介 在Python的世界中,了解你正在处理的数据类型是至关重要的。Python提供了多种内置数据类型,包括数字(整数和浮点数)、字符串、列表、元组、字典…

解决:error: failed to push some refs to ‘https://gitee.com/***/***.git‘(高效快速)

解决方案: git pull --rebase origin master 具体原因: 主要原因是gitee(github)中的README.md文件不在本地代码目录中 要执行git pull --rebase origin master命令将README.md拉到本地 然后就可以执行git push啦 写在最后: 要是问题得到…

51-指针_野指针,指针运算

51-1 野指针 51-1-1 什么是野指针 概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的) 没有初始化 int main() {int* p;//p没有初始化,就意味着没有明确的指向//一个局部变量不初始化的话,放的是随机…

MySQL 插入数据的时候自动忽略重复数据

MySQL中插入数据,如果插入的数据在表中已经存在(主键或者唯一键已存在),使用insert into语法的时候,如果遇到重复数据,会直接报错,导致事务回滚,所有插入数据,全部失败。…

03-01-Vue组件的定义和注册

前言 我们接着上一篇文章02-Vue实例的生命周期函数 来讲。 下一篇文章 03-02-Vue组件之间的传值 什么是组件 组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们…

Java_网络编程

网络编程 定义: 网络编程就是计算机跟计算机之间通过网络进行数据传输 常见的软件架构: 1.C/S(Client/Server):客户端/服务器模式 2.B/S(Browser/Server):浏览器/服务器模式 区别…

C++: 多态

目录 一、多态的概念 二、多态的定义及实现 2.1虚函数 2.2虚函数的重写 2.3多态的构成条件 2.4虚函数重写的两个例外 1.协变 2.析构函数的重写 2.5虚函数重写的实质 2.6override 和 final(C11) 1.final 2.override 2.7重载、覆盖&#xff0…

http协议报文头部结构解释

http协议报文头部结构 请求报文 报文解释 请求报文由三部分组成:开始行、首部行、实体主体 开始行:请求方法(get、post)url版本 CRLE 方法描述GET请求指定页面信息,并返回实体主体HEAD类似get要求,只不…

504 Gateway Time-out

问题描述 做Excel导入的功能,由于Excel的数据比较多,需要做处理然后入库,数据量大概200万,所以毫无悬念的导入Excel接口调用超过了一分钟,并且报错:504 gateway timeout。 解决方案 nginx超时限制。路径…