389|2

487

帖子

0

TA的资源

版主

机械臂如何稳稳上桌?Mujoco场景修改实操 [复制链接]

邀请:@chenzhufly   @wsdymg   @hotsauce1861   @okhxyyo   参与回复

 

get?code=OTAxODY1NjcxOTgwN2M1ZjRlNGQ5NDgyMmNhODdkMzIsMTc0MzA4ODY2OTk0Nw==

 

视频讲解:

前面《常见机械臂模型不用找!Mujoco这儿都有!》中介绍的mujoco-menagerie中机械臂大多都是base_link放在地上的,这些场景往往和真实的场景对应不上,比如机械臂可能是安装在桌子上,或者安装在底盘上,所以就涉及到修改场景模型文件,今天我们就以so-arm100这个机械臂为例,为其添加一个桌子。

首先我们看下so-arm100原有的场景文件

<mujoco model="so_arm100 scene">
  <include file="so_arm100.xml"/>

  <statistic center="0 -0.2 0.1" extent="0.4"/>

  <visual>
    <headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
    <rgba haze="0.15 0.25 0.35 1"/>
    <global azimuth="140" elevation="-30"/>
  </visual>

  <asset>
    <texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072"/>
    <texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3"
      markrgb="0.8 0.8 0.8" width="300" height="300"/>
    <material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.2"/>
  </asset>

  <worldbody>
    <light pos="0 0 1.5" dir="0 0 -1" directional="true"/>
    <geom name="floor" size="0 0 0.05" type="plane" material="groundplane"/>
  </worldbody>
</mujoco>

原有模型只描述了地面、天空等环境

 

get?code=Yzk4MGQ5Yjk3MGE2OTVlOTM0YjViNjIyYjgzYjVmZTgsMTc0MzA4ODY2OTk0Nw==

 

我们可以参考aloha的场景,他是有桌子的,最起码桌子的mesh文件不用自己找了

 

get?code=OGU2ODg3NTYyZWYxMTE1YTU5NWJlY2I4MGZlMzQzM2MsMTc0MzA4ODY2OTk0Nw==

 

然后在so-arm100的scene.xml上做修改,大概如下的步骤:

a. 首先需要把桌子的模型放进assets文件夹中

b. 然后添加路径说明

c. 添加mesh文件以及texture描述

d. 添加位置关系描述

修改后的文件如下,可以重新命名为scene_with_table.xml

<mujoco model="so_arm100 scene">
  <compiler meshdir="assets" texturedir="assets"/>

  <include file="so_arm100.xml"/>

  <statistic center="0 -0.2 0.1" extent="0.4"/>

  <visual>
    <headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
    <rgba haze="0.15 0.25 0.35 1"/>
    <global azimuth="140" elevation="-30"/>
  </visual>

  <asset>
    <mesh file="tablelegs.obj"/>
    <mesh file="tabletop.obj"/>
    <texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072"/>
    <texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3"
      markrgb="0.8 0.8 0.8" width="300" height="300"/>
    <texture type="2d" file="small_meta_table_diffuse.png"/>
    <material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.2"/>
    <material name="table" texture="small_meta_table_diffuse"/>
  </asset>

  <worldbody>
    <light pos="0 0 1.5" dir="0 0 -1" directional="true"/>
    <geom name="floor" size="0 0 0.05" type="plane" material="groundplane" pos="0 0 -.75"/>
    <site name="worldref" pos="0 0 -0.75"/>
    <geom mesh="tabletop" material="table" class="visual" pos="0 0 -0.75" quat="1 0 0 1"/>
    <geom mesh="tablelegs" material="table" class="visual" pos="0 0 -0.75" quat="1 0 0 1"/>
    <geom name="table" pos="0 0 -0.1009" size="0.61 0.37 0.1" type="box" class="collision"/>
    <camera name="overhead_cam" focal="1.93e-3 1.93e-3" resolution="1280 720" sensorsize="3896e-6 2140e-6"
            pos="0 -0.303794 1.02524" mode="fixed" quat="0.976332 0.216277 0 0"/>
    <camera name="worms_eye_cam" focal="1.93e-3 1.93e-3" resolution="1280 720" sensorsize="3896e-6 2140e-6"
            pos="0 -0.377167 0.0316055" mode="fixed" quat="0.672659 0.739953 0 0"/>
  </worldbody>
</mujoco>

simulate trs_so_arm100/scene_with_table.xml

 

get?code=NmQ1ZDU3ZWNiY2I0YmI5ZTFiYWM5NWZjYjkyODVlMzUsMTc0MzA4ODY2OTk0Nw==

 

 

最新回复

愈加的熟练了,主要是这里面的模型如何定义啊     详情 回复 发表于 2025-3-28 11:02

回复
举报

7019

帖子

10

TA的资源

版主

愈加的熟练了,主要是这里面的模型如何定义啊  

点评

跟据实际场景  详情 回复 发表于 2025-3-28 23:27
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引


回复

487

帖子

0

TA的资源

版主

秦天qintian0303 发表于 2025-3-28 11:02 愈加的熟练了,主要是这里面的模型如何定义啊  

跟据实际场景


回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 13

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表