Sensors of type user no longer require objtype and objname. If unspecified, the objtype will be mjOBJ_UNKNOWN. Also, `user sensors datatype default is now "real"`.
PiperOrigin-RevId: 489652972 Change-Id: I0a8f21ee1a2f5292e6bbcfe3785536cfd1498b85
This commit is contained in:
committed by
Copybara-Service
parent
6f2092bef2
commit
221c63d744
@@ -202,6 +202,29 @@ TEST_F(RelativeFrameSensorParsingTest, BadRefType) {
|
||||
EXPECT_THAT(error.data(), HasSubstr("reference frame object must be"));
|
||||
}
|
||||
|
||||
// ------------- sensor compilation --------------------------------------------
|
||||
|
||||
using SensorTest = MujocoTest;
|
||||
TEST_F(SensorTest, OjbtypeParsedButNotRequired) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<sensor>
|
||||
<user dim="3" needstage="vel" datatype="axis"/>
|
||||
<user dim="2" needstage="pos" objtype="body" objname="world"/>
|
||||
</sensor>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, 0, 0);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
EXPECT_EQ(model->sensor_datatype[0], mjDATATYPE_AXIS);
|
||||
EXPECT_EQ(model->sensor_objtype[0], mjOBJ_UNKNOWN);
|
||||
EXPECT_EQ(model->sensor_dim[0], 3);
|
||||
EXPECT_EQ(model->sensor_datatype[1], mjDATATYPE_REAL);
|
||||
EXPECT_EQ(model->sensor_objtype[1], mjOBJ_BODY);
|
||||
EXPECT_EQ(model->sensor_objid[1], 0);
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
// ------------- test capsule inertias -----------------------------------------
|
||||
|
||||
static const char* const kCapsuleInertiaPath =
|
||||
|
||||
Reference in New Issue
Block a user