Add sleep related data structures
PiperOrigin-RevId: 829055431 Change-Id: I1ccbd77a57044a754ae7db611b4c2c0010fbda53
This commit is contained in:
committed by
Copybara-Service
parent
3080e3424f
commit
252a0d73df
@@ -950,7 +950,7 @@ Euler integrator, semi-implicit in velocity.
|
||||
self.assertEqual(mujoco.mjtEnableBit.mjENBL_OVERRIDE, 1 << 0)
|
||||
self.assertEqual(mujoco.mjtEnableBit.mjENBL_ENERGY, 1 << 1)
|
||||
self.assertEqual(mujoco.mjtEnableBit.mjENBL_FWDINV, 1 << 2)
|
||||
self.assertEqual(mujoco.mjtEnableBit.mjNENABLE, 5)
|
||||
self.assertEqual(mujoco.mjtEnableBit.mjNENABLE, 6)
|
||||
self.assertEqual(mujoco.mjtGeom.mjGEOM_PLANE, 0)
|
||||
self.assertEqual(mujoco.mjtGeom.mjGEOM_HFIELD, 1)
|
||||
self.assertEqual(mujoco.mjtGeom.mjGEOM_SPHERE, 2)
|
||||
|
||||
@@ -59,7 +59,8 @@ ENUMS: Mapping[str, EnumDecl] = dict([
|
||||
('mjENBL_FWDINV', 4),
|
||||
('mjENBL_INVDISCRETE', 8),
|
||||
('mjENBL_MULTICCD', 16),
|
||||
('mjNENABLE', 5),
|
||||
('mjENBL_SLEEP', 32),
|
||||
('mjNENABLE', 6),
|
||||
]),
|
||||
)),
|
||||
('mjtJoint',
|
||||
@@ -418,6 +419,19 @@ ENUMS: Mapping[str, EnumDecl] = dict([
|
||||
('mjSAMEFRAME_INERTIAROT', 4),
|
||||
]),
|
||||
)),
|
||||
('mjtSleepPolicy',
|
||||
EnumDecl(
|
||||
name='mjtSleepPolicy',
|
||||
declname='enum mjtSleepPolicy_',
|
||||
values=dict([
|
||||
('mjSLEEP_AUTO', 0),
|
||||
('mjSLEEP_AUTO_NEVER', 1),
|
||||
('mjSLEEP_AUTO_ALLOWED', 2),
|
||||
('mjSLEEP_NEVER', 3),
|
||||
('mjSLEEP_ALLOWED', 4),
|
||||
('mjSLEEP_INIT', 5),
|
||||
]),
|
||||
)),
|
||||
('mjtLRMode',
|
||||
EnumDecl(
|
||||
name='mjtLRMode',
|
||||
@@ -553,6 +567,16 @@ ENUMS: Mapping[str, EnumDecl] = dict([
|
||||
('mjNTIMER', 15),
|
||||
]),
|
||||
)),
|
||||
('mjtSleepState',
|
||||
EnumDecl(
|
||||
name='mjtSleepState',
|
||||
declname='enum mjtSleepState_',
|
||||
values=dict([
|
||||
('mjS_STATIC', -1),
|
||||
('mjS_ASLEEP', 0),
|
||||
('mjS_AWAKE', 1),
|
||||
]),
|
||||
)),
|
||||
('mjtGeomInertia',
|
||||
EnumDecl(
|
||||
name='mjtGeomInertia',
|
||||
|
||||
@@ -43,7 +43,8 @@ class EnumsTest(absltest.TestCase):
|
||||
('mjENBL_FWDINV', 1<<2),
|
||||
('mjENBL_INVDISCRETE', 1<<3),
|
||||
('mjENBL_MULTICCD', 1<<4),
|
||||
('mjNENABLE', 5)))
|
||||
('mjENBL_SLEEP', 1<<5),
|
||||
('mjNENABLE', 6)))
|
||||
|
||||
# values mostly increment by one with occasional overrides
|
||||
def test_mjtGeom(self): # pylint: disable=invalid-name
|
||||
|
||||
@@ -148,6 +148,11 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
type=ValueType(name='mjtNum'),
|
||||
doc='convex collision solver tolerance',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='sleep_tolerance',
|
||||
type=ValueType(name='mjtNum'),
|
||||
doc='sleep velocity tolerance',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='gravity',
|
||||
type=ArrayType(
|
||||
@@ -1846,6 +1851,54 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
doc='diag. inertia in qpos0',
|
||||
array_extent=('nv',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='dof_length',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='mjtNum'),
|
||||
),
|
||||
doc='linear: 1; angular: approx. length scale',
|
||||
array_extent=('nv',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_bodyadr',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='start addr of bodies',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_bodynum',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='number of bodies in tree',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_dofadr',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='start addr of dofs',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_dofnum',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='number of dofs in tree',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_sleep_policy',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='sleep policy (mjtSleepPolicy)',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='geom_type',
|
||||
type=PointerType(
|
||||
@@ -3742,6 +3795,22 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
doc='group for visibility',
|
||||
array_extent=('ntendon',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tendon_treenum',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc="number of trees along tendon's path",
|
||||
array_extent=('ntendon',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tendon_treeid',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc="first two trees along tendon's path",
|
||||
array_extent=('ntendon', 2),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tendon_limited',
|
||||
type=PointerType(
|
||||
@@ -5136,6 +5205,26 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
type=ValueType(name='int'),
|
||||
doc='number of dofs in all islands',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='ntree_awake',
|
||||
type=ValueType(name='int'),
|
||||
doc='number of awake trees',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='nbody_awake',
|
||||
type=ValueType(name='int'),
|
||||
doc='number of awake dynamic and static bodies',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='nparent_awake',
|
||||
type=ValueType(name='int'),
|
||||
doc='number of bodies with awake parents',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='nv_awake',
|
||||
type=ValueType(name='int'),
|
||||
doc='number of awake dofs',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='time',
|
||||
type=ValueType(name='mjtNum'),
|
||||
@@ -5283,6 +5372,14 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
doc='sensor data array',
|
||||
array_extent=('nsensordata',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_asleep',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='<0: awake; >=0: index cycle of sleeping trees',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='plugin',
|
||||
type=PointerType(
|
||||
@@ -5667,6 +5764,46 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
doc='was bounding volume checked for collision',
|
||||
array_extent=('nbvh',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_awake',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='is tree awake; 0: asleep; 1: awake',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='body_awake',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='body sleep state (mjtSleepState)',
|
||||
array_extent=('nbody',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='body_awake_ind',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='indices of awake and static bodies',
|
||||
array_extent=('nbody',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='parent_awake_ind',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='indices of bodies with awake or static parents',
|
||||
array_extent=('nbody',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='dof_awake_ind',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='indices of awake dofs',
|
||||
array_extent=('nv',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='flexedge_velocity',
|
||||
type=PointerType(
|
||||
@@ -6003,6 +6140,38 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
doc='first efc address involving tendon; -1: none',
|
||||
array_extent=('ntendon',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='tree_island',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='island id of this tree; -1: none',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='island_ntree',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='number of trees in this island',
|
||||
array_extent=('nisland',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='island_itreeadr',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='island start address in itree vector',
|
||||
array_extent=('nisland',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='map_itree2tree',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='int'),
|
||||
),
|
||||
doc='map from itree to tree',
|
||||
array_extent=('ntree',),
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='dof_island',
|
||||
type=PointerType(
|
||||
@@ -6815,6 +6984,11 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
type=ValueType(name='double'),
|
||||
doc='gravity compensation',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='sleep',
|
||||
type=ValueType(name='mjtSleepPolicy'),
|
||||
doc='sleep policy',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='userdata',
|
||||
type=PointerType(
|
||||
|
||||
Reference in New Issue
Block a user