- Added passive forces plugins
- Added new `cable` composite type: * The `initial` parameter specifies the joint at the starting boundary: `free`, `ball`, or `none`. * The boundary bodies are exposed with the names:`B_left` and `B_right`. * The vertex initial positions can be specified directly in the XML with the parameter `vertex`. * The orientation of the body frame **is** the orientation of the material frame of the curve. - Added new `cable` passive force plugin: * Twist and bending stiffness can be set separately with the parameters `twist` and `bend`. * The stress-free configuration can be set to be the initial one or flat with the flag `flat`. * New cable example showing the formation of plectoneme. * New coil example. * New belt example showing interaction between twist and anisotropy. * Added test using cantilever exact solution. PiperOrigin-RevId: 480033694 Change-Id: I491271bce8fccb185961477e903e5a72d172c8a3
This commit is contained in:
committed by
Copybara-Service
parent
794ef0b771
commit
e250ff0d5a
@@ -0,0 +1,76 @@
|
||||
<!-- Copyright 2021 DeepMind Technologies Limited
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<mujoco model="Belt">
|
||||
<include file="scene.xml"/>
|
||||
|
||||
<extension>
|
||||
<required plugin="mujoco.elasticity.cable"/>
|
||||
</extension>
|
||||
|
||||
<statistic center="0 0 .2" extent="1"/>
|
||||
|
||||
<visual>
|
||||
<global elevation="-30"/>
|
||||
</visual>
|
||||
|
||||
<option timestep="0.001">
|
||||
<flag gravity="disable"/>
|
||||
</option>
|
||||
<compiler autolimits="true"/>
|
||||
|
||||
<worldbody>
|
||||
<composite type="cable" offset="-.5 0 .05" initial="none"
|
||||
vertex="
|
||||
0. 0. 0.
|
||||
0.05 0. 0.05
|
||||
0.1 0. 0.1
|
||||
0.15 0. 0.15
|
||||
0.2 0. 0.2
|
||||
0.25 0. 0.25
|
||||
0.3 0. 0.3
|
||||
0.35 0. 0.35
|
||||
0.4 0. 0.4
|
||||
0.45 0. 0.45
|
||||
0.5 0. 0.5
|
||||
0.55 0. 0.45
|
||||
0.6 0. 0.4
|
||||
0.65 0. 0.35
|
||||
0.7 0. 0.3
|
||||
0.75 0. 0.25
|
||||
0.8 0. 0.2
|
||||
0.85 0. 0.15
|
||||
0.9 0. 0.1
|
||||
0.95 0. 0.05
|
||||
1.0 0. 0. ">
|
||||
<plugin plugin="mujoco.elasticity.cable">
|
||||
<!--Units are in Pa (SI)-->
|
||||
<config key="twist" value="1e8"/>
|
||||
<config key="bend" value="1e7"/>
|
||||
</plugin>
|
||||
<joint kind="main" damping="0.1"/>
|
||||
<geom type="box" size="0.03535533906 0.02 0.0015" rgba=".8 .2 .1 1" group="3"/>
|
||||
<skin subgrid="3"/>
|
||||
</composite>
|
||||
</worldbody>
|
||||
|
||||
<equality>
|
||||
<connect name="right_boundary" body1="B_last" anchor="0.07 0 0"/>
|
||||
</equality>
|
||||
|
||||
<actuator>
|
||||
<motor site="S_last" gear="0 0 0 1 0 0" ctrlrange="-.2 .2"/>
|
||||
</actuator>
|
||||
</mujoco>
|
||||
@@ -0,0 +1,56 @@
|
||||
<!-- Copyright 2021 DeepMind Technologies Limited
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<mujoco model="Cable">
|
||||
<include file="scene.xml"/>
|
||||
|
||||
<extension>
|
||||
<required plugin="mujoco.elasticity.cable"/>
|
||||
</extension>
|
||||
|
||||
<statistic center="0 0 .3" extent="1"/>
|
||||
<visual>
|
||||
<global elevation="-30"/>
|
||||
</visual>
|
||||
|
||||
<compiler autolimits="true"/>
|
||||
|
||||
<size nconmax="100" njmax="300" nstack="500000"/>
|
||||
|
||||
<worldbody>
|
||||
<composite type="cable" curve="s" count="41 1 1" size="1" offset="-.3 0 .6" initial="none">
|
||||
<plugin plugin="mujoco.elasticity.cable">
|
||||
<!--Units are in Pa (SI)-->
|
||||
<config key="twist" value="1e7"/>
|
||||
<config key="bend" value="4e6"/>
|
||||
</plugin>
|
||||
<joint kind="main" damping=".015"/>
|
||||
<geom type="capsule" size=".005" rgba=".8 .2 .1 1" condim="1"/>
|
||||
</composite>
|
||||
<body name="slider" pos=".7 0 .6">
|
||||
<joint type="slide" axis="1 0 0" damping=".1"/>
|
||||
<geom size=".01"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
<equality>
|
||||
<connect name="right_boundary" body1="B_last" body2="slider" anchor=".025 0 0"/>
|
||||
</equality>
|
||||
<contact>
|
||||
<exclude body1="B_last" body2="slider"/>
|
||||
</contact>
|
||||
<actuator>
|
||||
<motor site="S_last" gear="0 0 0 1 0 0" ctrlrange="-.03 .03"/>
|
||||
</actuator>
|
||||
</mujoco>
|
||||
@@ -0,0 +1,104 @@
|
||||
<!-- Copyright 2021 DeepMind Technologies Limited
|
||||
|
||||
Licensed under the Apache License Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing software
|
||||
distributed under the License is distributed on an "AS IS" BASIS
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<mujoco model="Coil">
|
||||
<include file="scene.xml"/>
|
||||
|
||||
<extension>
|
||||
<required plugin="mujoco.elasticity.cable"/>
|
||||
</extension>
|
||||
|
||||
<statistic center="0 0 .2" extent="1"/>
|
||||
|
||||
<compiler autolimits="true"/>
|
||||
|
||||
<visual>
|
||||
<global elevation="-30"/>
|
||||
</visual>
|
||||
|
||||
<default>
|
||||
<geom solref="0.01 1" solimp=".95 .99 .0001"/>
|
||||
</default>
|
||||
|
||||
<worldbody>
|
||||
<composite prefix="free" type="cable" offset="-.25 0 .3" initial="free"
|
||||
vertex="
|
||||
0.1 0. 0.
|
||||
0.0809017 0.05877853 0.001256637
|
||||
0.0309017 0.09510565 0.002513274
|
||||
-0.0309017 0.09510565 0.003769911
|
||||
-0.0809017 0.05877853 0.005026548
|
||||
-0.1 0. 0.006283185
|
||||
-0.0809017 -0.05877853 0.007539822
|
||||
-0.0309017 -0.09510565 0.008796459
|
||||
0.0309017 -0.09510565 0.010053096
|
||||
0.0809017 -0.05877853 0.011309734
|
||||
0.1 -0. 0.012566371
|
||||
0.0809017 0.05877853 0.01256637
|
||||
0.0309017 0.09510565 0.02513274
|
||||
-0.0309017 0.09510565 0.03769911
|
||||
-0.0809017 0.05877853 0.05026548
|
||||
-0.1 0. 0.06283185
|
||||
-0.0809017 -0.05877853 0.07539822
|
||||
-0.0309017 -0.09510565 0.08796459
|
||||
0.0309017 -0.09510565 0.10053096
|
||||
0.0809017 -0.05877853 0.11309734
|
||||
0.1 -0. 0.12566371
|
||||
0.0809017 0.05877853 0.13823008
|
||||
0.0309017 0.09510565 0.15079645
|
||||
-0.0309017 0.09510565 0.16336282
|
||||
-0.0809017 0.05877853 0.17592919
|
||||
-0.1 0. 0.18849556
|
||||
-0.0809017 -0.05877853 0.20106193
|
||||
-0.0309017 -0.09510565 0.2136283
|
||||
0.0309017 -0.09510565 0.22619467
|
||||
0.0809017 -0.05877853 0.23876104
|
||||
0.1 -0. 0.25132741">
|
||||
<plugin plugin="mujoco.elasticity.cable">
|
||||
<!--Units are in Pa (SI)-->
|
||||
<config key="twist" value="5e8"/>
|
||||
<config key="bend" value="15e8"/>
|
||||
</plugin>
|
||||
<joint kind="main" damping="0.12" armature="0.01"/>
|
||||
<geom type="capsule" size=".005" rgba=".8 .2 .1 1"/>
|
||||
</composite>
|
||||
<composite prefix="actuated" type="cable" curve="cos(s) sin(s) s" count="41 1 1"
|
||||
size="0.251327412 .1 4" offset="0.25 0 .05" initial="fixed">
|
||||
<plugin plugin="mujoco.elasticity.cable">
|
||||
<!--Units are in Pa (SI)-->
|
||||
<config key="twist" value="5e8"/>
|
||||
<config key="bend" value="15e8"/>
|
||||
</plugin>
|
||||
<joint kind="main" damping="0.1" armature="0.01"/>
|
||||
<geom type="capsule" size=".005" rgba=".8 .2 .1 1"/>
|
||||
</composite>
|
||||
<body name="slider" pos="0.35 0 0.301327412">
|
||||
<joint name="slide" type="slide" axis="0 0 1" damping="5"/>
|
||||
<geom size=".01"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
|
||||
<equality>
|
||||
<connect name="right_boundary" body1="actuatedB_last" body2="slider" anchor="0.03 0 0" solref="0.0002 1"/>
|
||||
</equality>
|
||||
|
||||
<contact>
|
||||
<exclude body1="actuatedB_last" body2="slider"/>
|
||||
</contact>
|
||||
|
||||
<actuator>
|
||||
<position joint="slide" name="extend" gear="1 0 0 0 0 0" ctrlrange="-.25 1" kp="100"/>
|
||||
</actuator>
|
||||
</mujoco>
|
||||
@@ -0,0 +1,41 @@
|
||||
<!-- Copyright 2021 DeepMind Technologies Limited
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<mujoco>
|
||||
<compiler meshdir="asset" texturedir="asset"/>
|
||||
|
||||
<statistic meansize=".05"/>
|
||||
|
||||
<visual>
|
||||
<rgba haze="0.15 0.25 0.35 1"/>
|
||||
<quality shadowsize="4096"/>
|
||||
<map stiffness="700" shadowscale="0.5" fogstart="1" fogend="15" zfar="40" haze="1"/>
|
||||
</visual>
|
||||
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="512"/>
|
||||
<texture name="texplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 0.15 0.2"
|
||||
width="512" height="512" mark="cross" markrgb=".8 .8 .8"/>
|
||||
|
||||
<material name="matplane" reflectance="0.3" texture="texplane" texrepeat="10 10" texuniform="true"/>
|
||||
</asset>
|
||||
|
||||
<worldbody>
|
||||
<light diffuse=".4 .4 .4" specular="0.1 0.1 0.1" pos="0 0 2.0" dir="0 0 -1" castshadow="false"/>
|
||||
<light directional="true" diffuse=".8 .8 .8" specular="0.2 0.2 0.2" pos="0 0 4" dir="0 0 -1"/>
|
||||
|
||||
<geom name="ground" type="plane" size="0 0 1" pos="0 0 0" quat="1 0 0 0" material="matplane" condim="1"/>
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
Reference in New Issue
Block a user