Skip to content
Merged
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
2 changes: 2 additions & 0 deletions v2/cell/articulated_cell_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ defaults.
<mujoco model="openarm_v20_articulated_cell">
<compiler angle="radian"/>

<option cone="elliptic" impratio="10"/>

<default>
<default class="fixture">
<geom type="box" contype="1" conaffinity="1" friction="1 0.01 0.01" rgba="0.55 0.45 0.32 1"/>
Expand Down
2 changes: 2 additions & 0 deletions v2/cell/bottle_cell_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ cell table top z=1.005). The cell provides floor, lights, cameras and the
<mujoco model="openarm_v20_bottle_cell">
<compiler angle="radian"/>

<option cone="elliptic" impratio="10"/>

<default>
<default class="visual">
<geom contype="0" conaffinity="0" group="2"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/cell/cell.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ limitations under the License.
</default>

<statistic center="1.3 0 0.6" extent="3.5" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/cell/demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ limitations under the License.
<compiler angle="radian"/>

<statistic center="1.3 0 0.6" extent="3.5" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/cell/move_puck_cell_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ cell table top z=1.005). The cell provides floor, lights, cameras and the
<compiler angle="radian"/>

<statistic center="1.3 0 0.6" extent="3.5" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/cell/peg_socket_cell_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ the "home" keyframe via <attach>; the peg starts at its body-pos default.
<compiler angle="radian"/>

<statistic center="1.3 0 0.6" extent="3.5" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/cell/tool_cell_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ at their body-pos defaults.
<compiler angle="radian"/>

<statistic center="1.3 0 0.6" extent="3.5" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 2 additions & 0 deletions v2/cell/valve_cell_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ cell table top z=1.005). The cell provides floor, lights, cameras and the
<mujoco model="openarm_v20_valve_cell">
<compiler angle="radian"/>

<option cone="elliptic" impratio="10"/>

<default>
<default class="fixture">
<geom type="box" contype="1" conaffinity="1" friction="1 0.01 0.01" rgba="0.55 0.45 0.32 1"/>
Expand Down
54 changes: 37 additions & 17 deletions v2/openarm_bimanual.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ limitations under the License.
<motor forcelimited="true" forcerange="-7 7" />
</default>
<default class="motor_finger">
<joint limited="true" type="hinge" damping="2" />
<!-- The finger joints are the only driven joints without rotor inertia;
holding an object with a partly closed jaw made them ring against
the contact at ~11 Hz. Matches the DM4310 armature the finger
actuator is tuned as. -->
<joint limited="true" type="hinge" damping="2" armature="0.01" />
<position forcelimited="true" forcerange="-333 333" ctrllimited="true" ctrlrange="0 0.7854" />
</default>
<default class="lifter">
Expand All @@ -61,13 +65,29 @@ limitations under the License.
<default class="collision">
<geom material="collision_material" condim="3" conaffinity="1" priority="1" group="3" solref="0.005 1" friction="1 0.01 0.01" />
<equality solimp="0.99 0.999 1e-05" solref="0.005 1" />
<!-- The fingertips grip with condim=4, which activates the torsional
friction coefficient (the second entry of friction) so a pinched
object cannot spin about the pinch axis. 0.01 m is the effective
radius of the pad's contact patch; rolling friction stays off. -->
<default class="fingertip">
<geom condim="4" />
</default>
</default>
<default class="visual">
<geom material="visualgeom" contype="0" conaffinity="0" group="2" />
</default>
</default>
</default>
<compiler angle="radian" meshdir="assets" />

<!-- Grasping needs the elliptic friction cone: under the default pyramidal
cone a pinched object creeps out of the jaws under load however high the
friction coefficients are, and impratio raises the stiffness of the
friction constraints relative to the normal ones so a firmly held object
stops sliding on the pads. <option> does not carry across <attach>, so
every scene repeats these two settings. -->
<option cone="elliptic" impratio="10"/>

<asset>
<material name="collision_material" rgba="0.8 0.2 0.2 0.5" />
<material name="visualgeom" rgba="0.7 0.7 0.7 1" />
Expand Down Expand Up @@ -239,21 +259,21 @@ limitations under the License.
<geom name="finger_inner_left_00" type="mesh" mesh="finger_inner_left_00" class="visual" material="matte_black" />
<geom name="finger_inner_left_01" type="mesh" mesh="finger_inner_left_01" class="visual" material="matte_black" />
<geom name="finger_inner_left_02" type="mesh" mesh="finger_inner_left_02" class="visual" material="pale_silver" />
<geom name="finger_inner_left_collision_00" type="mesh" mesh="finger_inner_left_collision_00" class="collision" />
<geom name="finger_inner_left_collision_01" type="mesh" mesh="finger_inner_left_collision_01" class="collision" />
<geom name="finger_inner_left_collision_02" type="mesh" mesh="finger_inner_left_collision_02" class="collision" />
<geom name="finger_inner_left_collision_03" type="mesh" mesh="finger_inner_left_collision_03" class="collision" />
<geom name="finger_inner_left_collision_00" type="mesh" mesh="finger_inner_left_collision_00" class="fingertip" />
<geom name="finger_inner_left_collision_01" type="mesh" mesh="finger_inner_left_collision_01" class="fingertip" />
<geom name="finger_inner_left_collision_02" type="mesh" mesh="finger_inner_left_collision_02" class="fingertip" />
<geom name="finger_inner_left_collision_03" type="mesh" mesh="finger_inner_left_collision_03" class="fingertip" />
</body>
<body name="openarm_left_ee_outer_finger" pos="-0.00143 0.018 -0.068">
<inertial pos="-0.012796 0.0020183 -0.026792" quat="0.982097 -0.0906989 -0.165079 0.00294117" mass="0.11372" diaginertia="3.70662e-05 3.60159e-05 1.33599e-05" />
<joint name="openarm_left_finger_joint2" pos="0 0 0" axis="1 0 0" range="0 0.7854" actuatorfrcrange="-10 10" class="motor_finger" />
<geom name="finger_outer_left_00" type="mesh" mesh="finger_outer_left_00" class="visual" material="matte_black" />
<geom name="finger_outer_left_01" type="mesh" mesh="finger_outer_left_01" class="visual" material="matte_black" />
<geom name="finger_outer_left_02" type="mesh" mesh="finger_outer_left_02" class="visual" material="pale_silver" />
<geom name="finger_outer_left_collision_00" type="mesh" mesh="finger_outer_left_collision_00" class="collision" />
<geom name="finger_outer_left_collision_01" type="mesh" mesh="finger_outer_left_collision_01" class="collision" />
<geom name="finger_outer_left_collision_02" type="mesh" mesh="finger_outer_left_collision_02" class="collision" />
<geom name="finger_outer_left_collision_03" type="mesh" mesh="finger_outer_left_collision_03" class="collision" />
<geom name="finger_outer_left_collision_00" type="mesh" mesh="finger_outer_left_collision_00" class="fingertip" />
<geom name="finger_outer_left_collision_01" type="mesh" mesh="finger_outer_left_collision_01" class="fingertip" />
<geom name="finger_outer_left_collision_02" type="mesh" mesh="finger_outer_left_collision_02" class="fingertip" />
<geom name="finger_outer_left_collision_03" type="mesh" mesh="finger_outer_left_collision_03" class="fingertip" />
</body>
</body>
</body>
Expand Down Expand Up @@ -327,21 +347,21 @@ limitations under the License.
<geom name="finger_inner_right_00" type="mesh" mesh="finger_inner_right_00" class="visual" material="matte_black" />
<geom name="finger_inner_right_01" type="mesh" mesh="finger_inner_right_01" class="visual" material="matte_black" />
<geom name="finger_inner_right_02" type="mesh" mesh="finger_inner_right_02" class="visual" material="pale_silver" />
<geom name="finger_inner_right_collision_00" type="mesh" mesh="finger_inner_right_collision_00" class="collision" />
<geom name="finger_inner_right_collision_01" type="mesh" mesh="finger_inner_right_collision_01" class="collision" />
<geom name="finger_inner_right_collision_02" type="mesh" mesh="finger_inner_right_collision_02" class="collision" />
<geom name="finger_inner_right_collision_03" type="mesh" mesh="finger_inner_right_collision_03" class="collision" />
<geom name="finger_inner_right_collision_00" type="mesh" mesh="finger_inner_right_collision_00" class="fingertip" />
<geom name="finger_inner_right_collision_01" type="mesh" mesh="finger_inner_right_collision_01" class="fingertip" />
<geom name="finger_inner_right_collision_02" type="mesh" mesh="finger_inner_right_collision_02" class="fingertip" />
<geom name="finger_inner_right_collision_03" type="mesh" mesh="finger_inner_right_collision_03" class="fingertip" />
</body>
<body name="openarm_right_ee_outer_finger" pos="-0.00143 -0.018 -0.068">
<inertial pos="-0.012796 -0.0020183 -0.026792" quat="0.982097 0.0906989 -0.165079 -0.00294117" mass="0.11372" diaginertia="3.70662e-05 3.60159e-05 1.33599e-05" />
<joint name="openarm_right_finger_joint2" pos="0 0 0" axis="1 0 0" range="-0.7854 0" actuatorfrcrange="-10 10" class="motor_finger" />
<geom name="finger_outer_right_00" type="mesh" mesh="finger_outer_right_00" class="visual" material="matte_black" />
<geom name="finger_outer_right_01" type="mesh" mesh="finger_outer_right_01" class="visual" material="matte_black" />
<geom name="finger_outer_right_02" type="mesh" mesh="finger_outer_right_02" class="visual" material="pale_silver" />
<geom name="finger_outer_right_collision_00" type="mesh" mesh="finger_outer_right_collision_00" class="collision" />
<geom name="finger_outer_right_collision_01" type="mesh" mesh="finger_outer_right_collision_01" class="collision" />
<geom name="finger_outer_right_collision_02" type="mesh" mesh="finger_outer_right_collision_02" class="collision" />
<geom name="finger_outer_right_collision_03" type="mesh" mesh="finger_outer_right_collision_03" class="collision" />
<geom name="finger_outer_right_collision_00" type="mesh" mesh="finger_outer_right_collision_00" class="fingertip" />
<geom name="finger_outer_right_collision_01" type="mesh" mesh="finger_outer_right_collision_01" class="fingertip" />
<geom name="finger_outer_right_collision_02" type="mesh" mesh="finger_outer_right_collision_02" class="fingertip" />
<geom name="finger_outer_right_collision_03" type="mesh" mesh="finger_outer_right_collision_03" class="fingertip" />
</body>
</body>
</body>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/articulated_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ for either arm. (The turnable valve lives in valve_scene.xml.)
</default>

<statistic center="0.30 0 0.55" extent="1.2" meansize="0.05"/>
<option timestep="0.001"/>
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/balance_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ it at runtime after posing the arm.
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0.30 -0.05 0.60" extent="1.1" meansize="0.05"/>
<option timestep="0.001"/>
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/bottle_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ the cap let either arm grasp and unscrew it.
</default>

<statistic center="0.30 0 0.55" extent="1.2" meansize="0.05"/>
<option timestep="0.001"/>
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/catch_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ two-ball catch.
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0.3 -0.2 0.9" extent="1.4" meansize="0.05"/>
<option timestep="0.001"/>
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/move_puck_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ puck can be pushed to a goal with the closed gripper, or grasped and placed
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0 0 0.6" extent="1.1" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 2 additions & 0 deletions v2/pedestal/openarm_pedestal.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ Scene furniture (floor, lights, cameras, keyframes) stays in the scenes.
<mujoco model="openarm_pedestal">
<compiler meshdir="../assets" angle="radian"/>

<option cone="elliptic" impratio="10"/>

<default>
<default class="pedestal_visual">
<geom contype="0" conaffinity="0" group="2" />
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/pedestal.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ limitations under the License.
<compiler meshdir="../assets" angle="radian"/>

<statistic center="1.3 0 0.6" extent="3.5" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/peg_socket_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ it needs no yaw alignment.
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0 0 0.6" extent="1.1" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/throw_multi_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ cell table. The "throw_ready" keyframe is a wind-up-adjacent start pose.
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0.4 -0.1 0.5" extent="1.4" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/throw_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ table - the large tabletop would cover the bin's landing area. The
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0.4 -0.1 0.5" extent="1.4" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/tool_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ even farther goal marker.
<compiler meshdir="../assets" angle="radian"/>

<statistic center="0 0 0.6" extent="1.2" meansize="0.05"/>
<option timestep="0.001" />
<option timestep="0.001" cone="elliptic" impratio="10" />

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
2 changes: 1 addition & 1 deletion v2/pedestal/valve_scene.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ graspable knob at the lever tip and inactive grasp welds for either arm.
</default>

<statistic center="0.30 0 0.55" extent="1.2" meansize="0.05"/>
<option timestep="0.001"/>
<option timestep="0.001" cone="elliptic" impratio="10"/>

<visual>
<headlight diffuse="0.6 0.6 0.6" ambient="0.3 0.3 0.3" specular="0 0 0"/>
Expand Down
4 changes: 4 additions & 0 deletions web/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,10 @@ class App {

async loadScene(scenePath) {
this.disposeScene();
// The scene-switch handler writes "loading…" straight into the status
// element behind updateStatus's cache; drop the cache, or a scene that
// settles to the exact same status text would never repaint over it.
this.lastStatus = null;
this.scenePath = scenePath;
this.teleop.reset();
this.lifterHeight = 0;
Expand Down