Support edge contacts with multiccd in nativeccd.
PiperOrigin-RevId: 730489114 Change-Id: I02847d84bbc15a1526391d5e1b7109ab83ea4a59
This commit is contained in:
committed by
Copybara-Service
parent
a6f1dc5e9e
commit
024616345d
@@ -1167,6 +1167,237 @@ TEST_F(MjGjkTest, MeshMeshPrune) {
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
TEST_F(MjGjkTest, BoxEdge) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<option>
|
||||
<flag nativeccd="enable" multiccd="enable"/>
|
||||
</option>
|
||||
|
||||
<worldbody>
|
||||
<geom type="box" name="box1" size="5 5 .1" pos="0 0 0"/>
|
||||
<body pos="0 0 2">
|
||||
<freejoint/>
|
||||
<geom type="box" name="box2" size="1 1 1"/>
|
||||
</body>
|
||||
<body pos="0 0 4.4" euler="0 90 40">
|
||||
<freejoint/>
|
||||
<geom type="box" name="box3" size="1 1 1"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
</mujoco>)";
|
||||
|
||||
std::array<char, 1000> error;
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data();
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
mj_forward(model, data);
|
||||
|
||||
int geom1 = mj_name2id(model, mjOBJ_GEOM, "box2");
|
||||
int geom2 = mj_name2id(model, mjOBJ_GEOM, "box3");
|
||||
std::vector<mjtNum> dir, pos;
|
||||
mjtNum dist;
|
||||
int ncons = Penetration(dist, dir, pos, model, data, geom1, geom2, 0, 4);
|
||||
|
||||
EXPECT_EQ(ncons, 2);
|
||||
mj_deleteData(data);
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
TEST_F(MjGjkTest, BoxEdge2) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<option>
|
||||
<flag nativeccd="enable" multiccd="enable"/>
|
||||
</option>
|
||||
|
||||
<worldbody>
|
||||
<geom type="box" name="box1" size="5 5 .1" pos="0 0 0"/>
|
||||
<body pos="0 0 2">
|
||||
<freejoint/>
|
||||
<geom type="box" name="box2" size="1 1 1"/>
|
||||
</body>
|
||||
|
||||
<body pos="0 0 4.4" euler="0 90 40">
|
||||
<freejoint/>
|
||||
<geom type="box" name="box3" size="1 1 1"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
</mujoco>)";
|
||||
|
||||
std::array<char, 1000> error;
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data();
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
mj_forward(model, data);
|
||||
|
||||
mjtNum* xmat = data->geom_xmat + 9;
|
||||
mjtNum* xpos = data->geom_xpos + 3;
|
||||
|
||||
xmat[0] = 0.9999979704374094557906005320546682924032;
|
||||
xmat[1] = -0.0017789363449516469497385662279498319549;
|
||||
xmat[2] = -0.0009457835609818190025430140188689165370;
|
||||
xmat[3] = 0.0017817418144636251123996695255868871755;
|
||||
xmat[4] = 0.9999939910254954655854930933855939656496;
|
||||
xmat[5] = 0.0029737701675293876438233020564894104609;
|
||||
xmat[6] = 0.0009404877299599626429629783963548561587;
|
||||
xmat[7] = -0.0029754492741947335607277658198199787876;
|
||||
xmat[8] = 0.9999951310803708581786963804916013032198;
|
||||
|
||||
xpos[0] = 0.0005578602979296120537716641152314878127;
|
||||
xpos[1] = 0.0098645950089783600300830102014515432529;
|
||||
xpos[2] = 1.1037596929447945903746131079969927668571;
|
||||
|
||||
xmat = data->geom_xmat + 18;
|
||||
xpos = data->geom_xpos + 6;
|
||||
|
||||
xmat[0] = 0.0006737475542006746490053537002040684456;
|
||||
xmat[1] = -0.0095603689585630827196816028390458086506;
|
||||
xmat[2] = 0.9999540716500983084102927023195661604404;
|
||||
xmat[3] = -0.1095658134726250898527410981841967441142;
|
||||
xmat[4] = 0.9939334085756179604231874691322445869446;
|
||||
xmat[5] = 0.0095766296438734854756802405972848646343;
|
||||
xmat[6] = -0.9939793149670246297233688892447389662266;
|
||||
xmat[7] = -0.1095672335264066821203243762283818796277;
|
||||
xmat[8] = -0.0003778293989772788311065632171903416747;
|
||||
|
||||
xpos[0] = -0.0218119359455731035013492657981259981170;
|
||||
xpos[1] = 0.9828851949225971829093850828940048813820;
|
||||
xpos[2] = 3.0930077345364814789263618877157568931580;
|
||||
|
||||
int geom1 = mj_name2id(model, mjOBJ_GEOM, "box2");
|
||||
int geom2 = mj_name2id(model, mjOBJ_GEOM, "box3");
|
||||
std::vector<mjtNum> dir, pos;
|
||||
mjtNum dist;
|
||||
int ncons = Penetration(dist, dir, pos, model, data, geom1, geom2, 0, 4);
|
||||
|
||||
EXPECT_EQ(ncons, 2);
|
||||
mj_deleteData(data);
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
TEST_F(MjGjkTest, BoxEdgeEdge) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<option>
|
||||
<flag nativeccd="enable" multiccd="enable"/>
|
||||
</option>
|
||||
|
||||
<worldbody>
|
||||
<geom type="box" name="box1" size="5 5 .1" pos="0 0 -.1"/>
|
||||
<body pos="-2 0 2.99" euler="0 10 0">
|
||||
<freejoint/>
|
||||
<geom type="box" name="box2" size=".15 1 3"/>
|
||||
</body>
|
||||
<body pos="2 0 2.99" euler="0 -10 0">
|
||||
<freejoint/>
|
||||
<geom type="box" name="box3" size=".15 1 3"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
</mujoco>)";
|
||||
|
||||
std::array<char, 1000> error;
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data();
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
mj_forward(model, data);
|
||||
|
||||
mjtNum* xmat = data->geom_xmat + 9;
|
||||
mjtNum* xpos = data->geom_xpos + 3;
|
||||
|
||||
xmat[0] = 0.9182779243587342321575306414160877466202;
|
||||
xmat[1] = -0.0000000000000000000364268564068890756444;
|
||||
xmat[2] = 0.3959364262547898638544552341045346111059;
|
||||
xmat[3] = -0.0000000000000000000591321577502441383525;
|
||||
xmat[4] = 1.0000000000000000000000000000000000000000;
|
||||
xmat[5] = 0.0000000000000000002291443915550544102718;
|
||||
xmat[6] = -0.3959364262547898638544552341045346111059;
|
||||
xmat[7] = -0.0000000000000000002338308114719865891040;
|
||||
xmat[8] = 0.9182779243587342321575306414160877466202;
|
||||
|
||||
xpos[0] = -1.3241298058948087756903078116010874509811;
|
||||
xpos[1] = 0.0000000000000000007148993364299687318184;
|
||||
xpos[2] = 2.8141526153588731773425024584867060184479;
|
||||
|
||||
xmat = data->geom_xmat + 18;
|
||||
xpos = data->geom_xpos + 6;
|
||||
|
||||
xmat[0] = 0.9182779243587342321575306414160877466202;
|
||||
xmat[1] = 0.0000000000000000000728398144756416399722;
|
||||
xmat[2] = -0.3959364262547898638544552341045346111059;
|
||||
xmat[3] = -0.0000000000000000001674060251593158490713;
|
||||
xmat[4] = 1.0000000000000000000000000000000000000000;
|
||||
xmat[5] = -0.0000000000000000002042889652712837518138;
|
||||
xmat[6] = 0.3959364262547898638544552341045346111059;
|
||||
xmat[7] = 0.0000000000000000002538761903338069406631;
|
||||
xmat[8] = 0.9182779243587342321575306414160877466202;
|
||||
|
||||
xpos[0] = 1.3241298058948089977349127366323955357075;
|
||||
xpos[1] = -0.0000000000000000008679606505055748997840;
|
||||
xpos[2] = 2.8141526153588731773425024584867060184479;
|
||||
|
||||
int geom1 = mj_name2id(model, mjOBJ_GEOM, "box2");
|
||||
int geom2 = mj_name2id(model, mjOBJ_GEOM, "box3");
|
||||
std::vector<mjtNum> dir, pos;
|
||||
mjtNum dist;
|
||||
int ncons = Penetration(dist, dir, pos, model, data, geom1, geom2, 0, 4);
|
||||
|
||||
EXPECT_EQ(ncons, 2);
|
||||
mj_deleteData(data);
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
TEST_F(MjGjkTest, MeshEdge) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<option>
|
||||
<flag nativeccd="enable" multiccd="enable"/>
|
||||
</option>
|
||||
<asset>
|
||||
<mesh name="smallbox"
|
||||
vertex="-1 -1 -1 1 -1 -1 1 1 -1
|
||||
1 1 1 1 -1 1 -1 1 -1
|
||||
-1 1 1 -1 -1 1"/>
|
||||
<mesh name="floor"
|
||||
vertex="-1 -1 -1 1 -1 -1 1 1 -1
|
||||
1 1 1 1 -1 1 -1 1 -1
|
||||
-1 1 1 -1 -1 1"
|
||||
scale="5 5 1"/>
|
||||
</asset>
|
||||
<worldbody>
|
||||
<geom type="mesh" name="box1" mesh="floor" pos="0 0 0"/>
|
||||
<body pos="0 0 2">
|
||||
<freejoint/>
|
||||
<geom type="mesh" mesh="smallbox" name="box2" size="1 1 1"/>
|
||||
</body>
|
||||
<body pos="0 0 4.4" euler="0 90 40">
|
||||
<freejoint/>
|
||||
<geom type="mesh" mesh="smallbox" name="box3" size="1 1 1"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
</mujoco>)";
|
||||
|
||||
std::array<char, 1000> error;
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data();
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
mj_forward(model, data);
|
||||
|
||||
int geom1 = mj_name2id(model, mjOBJ_GEOM, "box2");
|
||||
int geom2 = mj_name2id(model, mjOBJ_GEOM, "box3");
|
||||
std::vector<mjtNum> dir, pos;
|
||||
mjtNum dist;
|
||||
int ncons = Penetration(dist, dir, pos, model, data, geom1, geom2, 0, 4);
|
||||
|
||||
EXPECT_EQ(ncons, 2);
|
||||
mj_deleteData(data);
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
TEST_F(MjGjkTest, EllipsoidEllipsoidPenetrating) {
|
||||
std::array<char, 1000> error;
|
||||
mjModel* model = LoadModelFromString(kEllipoid, error.data(), error.size());
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
<mujoco>
|
||||
<option>
|
||||
<flag multiccd="enable"/>
|
||||
</option>
|
||||
|
||||
<visual>
|
||||
<scale forcewidth="0.01" contactwidth="0.05" contactheight="0.05"/>
|
||||
<map force="0.1"/>
|
||||
</visual>
|
||||
|
||||
<asset>
|
||||
<mesh name="die" file="die.obj" scale=".02 .02 .02"/>
|
||||
</asset>
|
||||
|
||||
<default>
|
||||
<geom condim="1" type="mesh" solref="2e-5 1"/>
|
||||
<default class="wall">
|
||||
<geom type="box" rgba="0.1 0.2 1 .2"/>
|
||||
</default>
|
||||
<default class="floor">
|
||||
<geom type="box" rgba="0.1 0.2 1 1"/>
|
||||
</default>
|
||||
</default>
|
||||
|
||||
<worldbody>
|
||||
<light pos="0 0 1" dir="0 0 -1" castshadow="false"/>
|
||||
<body name="container" pos="0 0 -0.11">
|
||||
<geom class="floor" size="0.27 0.27 0.01"/>>
|
||||
<geom class="wall" size="0.26 0.01 0.10" pos="0.01 0.26 0.11"/>
|
||||
<geom class="wall" size="0.26 0.01 0.10" pos="-0.01 -0.26 0.11"/>
|
||||
<geom class="wall" size="0.01 0.26 0.10" pos="0.26 -0.01 0.11"/>
|
||||
<geom class="wall" size="0.01 0.26 0.10" pos="-0.26 0.01 0.11"/>
|
||||
</body>
|
||||
|
||||
<replicate count="5" offset=".1 0 0">
|
||||
<replicate count="5" offset="0 .1 0">
|
||||
<replicate count="4" offset="0 0 .1">
|
||||
<body pos="-.2 -.2 0.15">
|
||||
<freejoint/>
|
||||
<geom size=".02 .02 .02" type="mesh" mesh="die"/>
|
||||
</body>
|
||||
</replicate>
|
||||
</replicate>
|
||||
</replicate>
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
+296
@@ -0,0 +1,296 @@
|
||||
v 0.740000 0.740000 -1.000000
|
||||
v 0.740000 1.000000 -0.740000
|
||||
v 1.000000 0.740000 -0.740000
|
||||
v 0.740000 0.807269 -0.991147
|
||||
v 0.740000 0.870021 -0.965154
|
||||
v 0.740000 0.923848 -0.923848
|
||||
v 0.807269 0.740000 -0.991147
|
||||
v 0.809387 0.809958 -0.980606
|
||||
v 0.808254 0.870420 -0.954318
|
||||
v 0.806858 0.917583 -0.917748
|
||||
v 0.870021 0.740000 -0.965154
|
||||
v 0.870490 0.808646 -0.954150
|
||||
v 0.863847 0.863908 -0.932116
|
||||
v 0.858399 0.903670 -0.903688
|
||||
v 0.890111 0.890111 -0.890111
|
||||
v 0.807269 0.991147 -0.740000
|
||||
v 0.870021 0.965154 -0.740000
|
||||
v 0.923848 0.923848 -0.740000
|
||||
v 0.740000 0.991147 -0.807269
|
||||
v 0.809958 0.980606 -0.809387
|
||||
v 0.870420 0.954318 -0.808254
|
||||
v 0.917583 0.917748 -0.806858
|
||||
v 0.740000 0.965154 -0.870021
|
||||
v 0.808646 0.954150 -0.870490
|
||||
v 0.863908 0.932116 -0.863847
|
||||
v 0.903670 0.903688 -0.858399
|
||||
v 0.991147 0.740000 -0.807269
|
||||
v 0.965154 0.740000 -0.870021
|
||||
v 0.923848 0.740000 -0.923848
|
||||
v 0.991147 0.807269 -0.740000
|
||||
v 0.980606 0.809387 -0.809958
|
||||
v 0.954318 0.808254 -0.870420
|
||||
v 0.917748 0.806858 -0.917583
|
||||
v 0.965154 0.870021 -0.740000
|
||||
v 0.954150 0.870490 -0.808646
|
||||
v 0.932116 0.863847 -0.863908
|
||||
v 0.903688 0.858399 -0.903670
|
||||
v 0.740000 -1.000000 -0.740000
|
||||
v 0.740000 -0.740000 -1.000000
|
||||
v 1.000000 -0.740000 -0.740000
|
||||
v 0.740000 -0.991147 -0.807269
|
||||
v 0.740000 -0.965154 -0.870021
|
||||
v 0.740000 -0.923848 -0.923848
|
||||
v 0.807269 -0.991147 -0.740000
|
||||
v 0.809387 -0.980606 -0.809958
|
||||
v 0.808254 -0.954318 -0.870420
|
||||
v 0.806858 -0.917748 -0.917583
|
||||
v 0.870021 -0.965154 -0.740000
|
||||
v 0.870490 -0.954150 -0.808646
|
||||
v 0.863847 -0.932116 -0.863908
|
||||
v 0.858399 -0.903688 -0.903670
|
||||
v 0.890111 -0.890111 -0.890111
|
||||
v 0.807269 -0.740000 -0.991147
|
||||
v 0.870021 -0.740000 -0.965154
|
||||
v 0.923848 -0.740000 -0.923848
|
||||
v 0.740000 -0.807269 -0.991147
|
||||
v 0.809958 -0.809387 -0.980606
|
||||
v 0.870420 -0.808254 -0.954318
|
||||
v 0.917583 -0.806858 -0.917748
|
||||
v 0.740000 -0.870021 -0.965154
|
||||
v 0.808646 -0.870490 -0.954150
|
||||
v 0.863908 -0.863847 -0.932116
|
||||
v 0.903670 -0.858399 -0.903688
|
||||
v 0.991147 -0.807269 -0.740000
|
||||
v 0.965154 -0.870021 -0.740000
|
||||
v 0.923848 -0.923848 -0.740000
|
||||
v 0.991147 -0.740000 -0.807269
|
||||
v 0.980606 -0.809958 -0.809387
|
||||
v 0.954318 -0.870420 -0.808254
|
||||
v 0.917748 -0.917583 -0.806858
|
||||
v 0.965154 -0.740000 -0.870021
|
||||
v 0.954150 -0.808646 -0.870490
|
||||
v 0.932116 -0.863908 -0.863847
|
||||
v 0.903688 -0.903670 -0.858399
|
||||
v 1.000000 0.740000 0.740000
|
||||
v 0.740000 1.000000 0.740000
|
||||
v 0.740000 0.740000 1.000000
|
||||
v 0.991147 0.807269 0.740000
|
||||
v 0.965154 0.870021 0.740000
|
||||
v 0.923848 0.923848 0.740000
|
||||
v 0.991147 0.740000 0.807269
|
||||
v 0.980606 0.809958 0.809387
|
||||
v 0.954318 0.870420 0.808254
|
||||
v 0.917748 0.917583 0.806858
|
||||
v 0.965154 0.740000 0.870021
|
||||
v 0.954150 0.808646 0.870490
|
||||
v 0.932116 0.863908 0.863847
|
||||
v 0.903688 0.903670 0.858399
|
||||
v 0.890111 0.890111 0.890111
|
||||
v 0.740000 0.991147 0.807269
|
||||
v 0.740000 0.965154 0.870021
|
||||
v 0.740000 0.923848 0.923848
|
||||
v 0.807269 0.991147 0.740000
|
||||
v 0.809387 0.980606 0.809958
|
||||
v 0.808254 0.954318 0.870420
|
||||
v 0.806858 0.917748 0.917583
|
||||
v 0.870021 0.965154 0.740000
|
||||
v 0.870490 0.954150 0.808646
|
||||
v 0.863847 0.932116 0.863908
|
||||
v 0.858399 0.903688 0.903670
|
||||
v 0.807269 0.740000 0.991147
|
||||
v 0.870021 0.740000 0.965154
|
||||
v 0.923848 0.740000 0.923848
|
||||
v 0.740000 0.807269 0.991147
|
||||
v 0.809958 0.809387 0.980606
|
||||
v 0.870420 0.808254 0.954318
|
||||
v 0.917583 0.806858 0.917748
|
||||
v 0.740000 0.870021 0.965154
|
||||
v 0.808646 0.870490 0.954150
|
||||
v 0.863908 0.863847 0.932116
|
||||
v 0.903670 0.858399 0.903688
|
||||
v 1.000000 -0.740000 0.740000
|
||||
v 0.740000 -0.740000 1.000000
|
||||
v 0.740000 -1.000000 0.740000
|
||||
v 0.991147 -0.740000 0.807269
|
||||
v 0.965154 -0.740000 0.870021
|
||||
v 0.923848 -0.740000 0.923848
|
||||
v 0.991147 -0.807269 0.740000
|
||||
v 0.980606 -0.809387 0.809958
|
||||
v 0.954318 -0.808254 0.870420
|
||||
v 0.917748 -0.806858 0.917583
|
||||
v 0.965154 -0.870021 0.740000
|
||||
v 0.954150 -0.870490 0.808646
|
||||
v 0.932116 -0.863847 0.863908
|
||||
v 0.903688 -0.858399 0.903670
|
||||
v 0.890111 -0.890111 0.890111
|
||||
v 0.740000 -0.807269 0.991147
|
||||
v 0.740000 -0.870021 0.965154
|
||||
v 0.740000 -0.923848 0.923848
|
||||
v 0.807269 -0.740000 0.991147
|
||||
v 0.809387 -0.809958 0.980606
|
||||
v 0.808254 -0.870420 0.954318
|
||||
v 0.806858 -0.917583 0.917748
|
||||
v 0.870021 -0.740000 0.965154
|
||||
v 0.870490 -0.808646 0.954150
|
||||
v 0.863847 -0.863908 0.932116
|
||||
v 0.858399 -0.903670 0.903688
|
||||
v 0.807269 -0.991147 0.740000
|
||||
v 0.870021 -0.965154 0.740000
|
||||
v 0.923848 -0.923848 0.740000
|
||||
v 0.740000 -0.991147 0.807269
|
||||
v 0.809958 -0.980606 0.809387
|
||||
v 0.870420 -0.954318 0.808254
|
||||
v 0.917583 -0.917748 0.806858
|
||||
v 0.740000 -0.965154 0.870021
|
||||
v 0.808646 -0.954150 0.870490
|
||||
v 0.863908 -0.932116 0.863847
|
||||
v 0.903670 -0.903688 0.858399
|
||||
v -0.740000 0.740000 -1.000000
|
||||
v -1.000000 0.740000 -0.740000
|
||||
v -0.740000 1.000000 -0.740000
|
||||
v -0.807269 0.740000 -0.991147
|
||||
v -0.870021 0.740000 -0.965154
|
||||
v -0.923848 0.740000 -0.923848
|
||||
v -0.740000 0.807269 -0.991147
|
||||
v -0.809958 0.809387 -0.980606
|
||||
v -0.870420 0.808254 -0.954318
|
||||
v -0.917583 0.806858 -0.917748
|
||||
v -0.740000 0.870021 -0.965154
|
||||
v -0.808646 0.870490 -0.954150
|
||||
v -0.863908 0.863847 -0.932116
|
||||
v -0.903670 0.858399 -0.903688
|
||||
v -0.890111 0.890111 -0.890111
|
||||
v -0.991147 0.807269 -0.740000
|
||||
v -0.965154 0.870021 -0.740000
|
||||
v -0.923848 0.923848 -0.740000
|
||||
v -0.991147 0.740000 -0.807269
|
||||
v -0.980606 0.809958 -0.809387
|
||||
v -0.954318 0.870420 -0.808254
|
||||
v -0.917748 0.917583 -0.806858
|
||||
v -0.965154 0.740000 -0.870021
|
||||
v -0.954150 0.808646 -0.870490
|
||||
v -0.932116 0.863908 -0.863847
|
||||
v -0.903688 0.903670 -0.858399
|
||||
v -0.740000 0.991147 -0.807269
|
||||
v -0.740000 0.965154 -0.870021
|
||||
v -0.740000 0.923848 -0.923848
|
||||
v -0.807269 0.991147 -0.740000
|
||||
v -0.809387 0.980606 -0.809958
|
||||
v -0.808254 0.954318 -0.870420
|
||||
v -0.806858 0.917748 -0.917583
|
||||
v -0.870021 0.965154 -0.740000
|
||||
v -0.870490 0.954150 -0.808646
|
||||
v -0.863847 0.932116 -0.863908
|
||||
v -0.858399 0.903688 -0.903670
|
||||
v -1.000000 -0.740000 -0.740000
|
||||
v -0.740000 -0.740000 -1.000000
|
||||
v -0.740000 -1.000000 -0.740000
|
||||
v -0.991147 -0.740000 -0.807269
|
||||
v -0.965154 -0.740000 -0.870021
|
||||
v -0.923848 -0.740000 -0.923848
|
||||
v -0.991147 -0.807269 -0.740000
|
||||
v -0.980606 -0.809387 -0.809958
|
||||
v -0.954318 -0.808254 -0.870420
|
||||
v -0.917748 -0.806858 -0.917583
|
||||
v -0.965154 -0.870021 -0.740000
|
||||
v -0.954150 -0.870490 -0.808646
|
||||
v -0.932116 -0.863847 -0.863908
|
||||
v -0.903688 -0.858399 -0.903670
|
||||
v -0.890111 -0.890111 -0.890111
|
||||
v -0.740000 -0.807269 -0.991147
|
||||
v -0.740000 -0.870021 -0.965154
|
||||
v -0.740000 -0.923848 -0.923848
|
||||
v -0.807269 -0.740000 -0.991147
|
||||
v -0.809387 -0.809958 -0.980606
|
||||
v -0.808254 -0.870420 -0.954318
|
||||
v -0.806858 -0.917583 -0.917748
|
||||
v -0.870021 -0.740000 -0.965154
|
||||
v -0.870490 -0.808646 -0.954150
|
||||
v -0.863847 -0.863908 -0.932116
|
||||
v -0.858399 -0.903670 -0.903688
|
||||
v -0.807269 -0.991147 -0.740000
|
||||
v -0.870021 -0.965154 -0.740000
|
||||
v -0.923848 -0.923848 -0.740000
|
||||
v -0.740000 -0.991147 -0.807269
|
||||
v -0.809958 -0.980606 -0.809387
|
||||
v -0.870420 -0.954318 -0.808254
|
||||
v -0.917583 -0.917748 -0.806858
|
||||
v -0.740000 -0.965154 -0.870021
|
||||
v -0.808646 -0.954150 -0.870490
|
||||
v -0.863908 -0.932116 -0.863847
|
||||
v -0.903670 -0.903688 -0.858399
|
||||
v -1.000000 0.740000 0.740000
|
||||
v -0.740000 0.740000 1.000000
|
||||
v -0.740000 1.000000 0.740000
|
||||
v -0.991147 0.740000 0.807269
|
||||
v -0.965154 0.740000 0.870021
|
||||
v -0.923848 0.740000 0.923848
|
||||
v -0.991147 0.807269 0.740000
|
||||
v -0.980606 0.809387 0.809958
|
||||
v -0.954318 0.808254 0.870420
|
||||
v -0.917748 0.806858 0.917583
|
||||
v -0.965154 0.870021 0.740000
|
||||
v -0.954150 0.870490 0.808646
|
||||
v -0.932116 0.863847 0.863908
|
||||
v -0.903688 0.858399 0.903670
|
||||
v -0.890111 0.890111 0.890111
|
||||
v -0.740000 0.807269 0.991147
|
||||
v -0.740000 0.870021 0.965154
|
||||
v -0.740000 0.923848 0.923848
|
||||
v -0.807269 0.740000 0.991147
|
||||
v -0.809387 0.809958 0.980606
|
||||
v -0.808254 0.870420 0.954318
|
||||
v -0.806858 0.917583 0.917748
|
||||
v -0.870021 0.740000 0.965154
|
||||
v -0.870490 0.808646 0.954150
|
||||
v -0.863847 0.863908 0.932116
|
||||
v -0.858399 0.903670 0.903688
|
||||
v -0.807269 0.991147 0.740000
|
||||
v -0.870021 0.965154 0.740000
|
||||
v -0.923848 0.923848 0.740000
|
||||
v -0.740000 0.991147 0.807269
|
||||
v -0.809958 0.980606 0.809387
|
||||
v -0.870420 0.954318 0.808254
|
||||
v -0.917583 0.917748 0.806858
|
||||
v -0.740000 0.965154 0.870021
|
||||
v -0.808646 0.954150 0.870490
|
||||
v -0.863908 0.932116 0.863847
|
||||
v -0.903670 0.903688 0.858399
|
||||
v -0.740000 -1.000000 0.740000
|
||||
v -0.740000 -0.740000 1.000000
|
||||
v -1.000000 -0.740000 0.740000
|
||||
v -0.740000 -0.991147 0.807269
|
||||
v -0.740000 -0.965154 0.870021
|
||||
v -0.740000 -0.923848 0.923848
|
||||
v -0.807269 -0.991147 0.740000
|
||||
v -0.809387 -0.980606 0.809958
|
||||
v -0.808254 -0.954318 0.870420
|
||||
v -0.806858 -0.917748 0.917583
|
||||
v -0.870021 -0.965154 0.740000
|
||||
v -0.870490 -0.954150 0.808646
|
||||
v -0.863847 -0.932116 0.863908
|
||||
v -0.858399 -0.903688 0.903670
|
||||
v -0.890111 -0.890111 0.890111
|
||||
v -0.807269 -0.740000 0.991147
|
||||
v -0.870021 -0.740000 0.965154
|
||||
v -0.923848 -0.740000 0.923848
|
||||
v -0.740000 -0.807269 0.991147
|
||||
v -0.809958 -0.809387 0.980606
|
||||
v -0.870420 -0.808254 0.954318
|
||||
v -0.917583 -0.806858 0.917748
|
||||
v -0.740000 -0.870021 0.965154
|
||||
v -0.808646 -0.870490 0.954150
|
||||
v -0.863908 -0.863847 0.932116
|
||||
v -0.903670 -0.858399 0.903688
|
||||
v -0.991147 -0.807269 0.740000
|
||||
v -0.965154 -0.870021 0.740000
|
||||
v -0.923848 -0.923848 0.740000
|
||||
v -0.991147 -0.740000 0.807269
|
||||
v -0.980606 -0.809958 0.809387
|
||||
v -0.954318 -0.870420 0.808254
|
||||
v -0.917748 -0.917583 0.806858
|
||||
v -0.965154 -0.740000 0.870021
|
||||
v -0.954150 -0.808646 0.870490
|
||||
v -0.932116 -0.863908 0.863847
|
||||
v -0.903688 -0.903670 0.858399
|
||||
@@ -0,0 +1,24 @@
|
||||
<mujoco>
|
||||
<option>
|
||||
<flag multiccd="enable"/>
|
||||
</option>
|
||||
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" width="512" height="512"
|
||||
rgb1="1 1 1" rgb2="1 1 1"/>
|
||||
<mesh name="domino" vertex="-1 -1 -1 1 -1 -1 1 1 -1 1 1 1 1 -1 1 -1 1 -1 -1 1 1 -1 -1 1"
|
||||
scale=".15 1 3"/>
|
||||
</asset>
|
||||
|
||||
<worldbody>
|
||||
<geom type="box" size="5 5 .1" pos="0 0 -.1"/>
|
||||
<body pos="-2 0 2.99" euler="0 10 0">
|
||||
<freejoint/>
|
||||
<geom type="mesh" name="domino1" mesh="domino" rgba=".1 .1 .1 1"/>
|
||||
</body>
|
||||
<body pos="2 0 2.99" euler="0 -10 0">
|
||||
<freejoint/>
|
||||
<geom type="mesh" name="domino2" mesh="domino" rgba=".1 .1 .1 1"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -0,0 +1,32 @@
|
||||
<mujoco model="Capsule-Ellipsoid Distance">
|
||||
<visual>
|
||||
<headlight ambient=".7 .7 .7"/>
|
||||
<rgba rangefinder="1 .2 .1 1"/>
|
||||
</visual>
|
||||
<option>
|
||||
<flag gravity="disable"/>
|
||||
</option>
|
||||
<asset>
|
||||
<texture type="skybox" builtin="gradient" width="512" height="512" rgb1="1 1 1" rgb2="1 1 1"/>
|
||||
</asset>
|
||||
|
||||
<default>
|
||||
<geom rgba=".1 .1 .1 1"/>
|
||||
</default>
|
||||
|
||||
<worldbody>
|
||||
<body pos="-.5 0 0">
|
||||
<freejoint/>
|
||||
<geom name="capsule" type="capsule" size=".15 .30"/>
|
||||
</body>
|
||||
|
||||
<body pos=".5 0 0">
|
||||
<freejoint/>
|
||||
<geom name="ellipsoid" type="ellipsoid" size=".10 .10 .15"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
|
||||
<sensor>
|
||||
<fromto geom1="capsule" geom2="ellipsoid" cutoff="15"/>
|
||||
</sensor>
|
||||
</mujoco>
|
||||
Reference in New Issue
Block a user