Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<mujoco model="null_mobile_base">
<actuator>
<!-- Physical limits of the actuator. -->
<velocity ctrllimited="true" ctrlrange="-1.00 1.00" joint="joint_mobile_forward" kv="1000" name="actuator_mobile_forward" forcelimited="true" forcerange="-600 600"/>
<velocity ctrllimited="true" ctrlrange="-1.00 1.00" joint="joint_mobile_side" kv="1000" name="actuator_mobile_side" forcelimited="true" forcerange="-600 600"/>
<velocity ctrllimited="true" ctrlrange="-4.00 4.00" joint="joint_mobile_yaw" kv="1000" name="actuator_mobile_yaw" forcelimited="true" forcerange="-600 600"/>
<position ctrllimited="false" ctrlrange="-1.00 1.00" joint="joint_mobile_vertical" kp="20000" name="actuator_mobile_vertical" forcelimited="true" forcerange="-20000 20000"/>
<!-- specific robots have more specific ranges for the vertical joint -->
</actuator>
<worldbody>
<body name="support" pos="0 0 0">
<!-- <joint name="base_joint_z" pos="0 0 0" axis="0 0 1" type="slide" limited="true" range="0 0.34" damping="0.01" armature="0.0" frictionloss="1000" ref="0"/> -->
<inertial pos="-0.0508888 0.000109183 -0.0455794" quat="0.706855 0.707166 0.0123661 -0.0109307" mass="6.45117" diaginertia="0.0149302 0.0127972 0.00640923"/>

<site name="center" type="sphere" pos="0 0 0" size="0.01" group="1" rgba="0 0 0 0"/>

<joint name="joint_mobile_forward" pos="0 0 0" axis="1 0 0" type="slide" limited="false" damping="0" armature="0.0" frictionloss="250"/>
<joint name="joint_mobile_side" pos="0 0 0" axis="0 1 0" type="slide" limited="false" damping="0" armature="0.0" frictionloss="250"/>
<joint name="joint_mobile_yaw" pos="0 0 0" axis="0 0 1" type="hinge" limited="false" damping="0" armature="0.0" frictionloss="600"/>
<joint name="joint_mobile_vertical" pos="0 0 0" axis="0 0 1" type="slide" limited="false" damping="0" armature="0.0" frictionloss="250"/>
</body>
</worldbody>
</mujoco>
2 changes: 2 additions & 0 deletions robosuite/models/bases/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from .null_mobile_base import NullMobileBase
from .no_actuation_base import NoActuationBase
from .floating_legged_base import FloatingLeggedBase
from .floating_legged_base_with_vertical import FloatingLeggedBaseWithVertical
from .null_base import NullBase
from .spot_base import Spot, SpotFloating

Expand All @@ -24,6 +25,7 @@
"NullMobileBase": NullMobileBase,
"NoActuationBase": NoActuationBase,
"FloatingLeggedBase": FloatingLeggedBase,
"FloatingLeggedBaseWithVertical": FloatingLeggedBaseWithVertical,
"Spot": Spot,
"SpotFloating": SpotFloating,
"NullBase": NullBase,
Expand Down
30 changes: 30 additions & 0 deletions robosuite/models/bases/floating_legged_base_with_vertical.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
"""
Rethink's Generic Mount (Officially used on Sawyer).
"""

import numpy as np

from robosuite.models.bases.mobile_base_model import MobileBaseModel
from robosuite.utils.mjcf_utils import xml_path_completion


class FloatingLeggedBaseWithVertical(MobileBaseModel):
"""
Dummy mobile base to signify no mount.

Args:
idn (int or str): Number or some other unique identification string for this mount instance
"""

def __init__(self, idn=0):
super().__init__(
xml_path_completion("bases/floating_legged_base_with_vertical.xml"), idn=idn
)

@property
def top_offset(self):
return np.array((0, 0, 0))

@property
def horizontal_radius(self):
return 0
Loading