mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 07:34:45 +00:00
update bullet so it actually works
Moved the addSourceDirectory for physics/Bullet into the Engine/Source/CMakeLists.txt file that way it can actually appear where we expect it to in the solution explorer.
This commit is contained in:
parent
c7be48130a
commit
13fa178cf6
5986 changed files with 1811270 additions and 453803 deletions
65
Engine/lib/bullet/data/Base_1.urdf
Normal file
65
Engine/lib/bullet/data/Base_1.urdf
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--https://valerolab.org/-->
|
||||
<!--
|
||||
Code used for PID control of an inverted pendulum actuated by strings.
|
||||
-->
|
||||
<robot name="myfirst">
|
||||
<material name="blue">
|
||||
<color rgba="0 0 0.8 1"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
<material name="other">
|
||||
<color rgba="1 0 0.8 1"/>
|
||||
</material>
|
||||
<velocity name="vel">
|
||||
<speed spd="50"/>
|
||||
</velocity>
|
||||
|
||||
|
||||
<link name="Base">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.3 0.3 1.5"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.3 0.3 1.5"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="100"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<link name="pulley1">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".5"/>
|
||||
</geometry>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".5"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="2"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="Base_pulley1" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="Base"/>
|
||||
<child link="pulley1"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="-1.57075 0 0" xyz="0 .35 .15"/>
|
||||
</joint>
|
||||
<!---->
|
||||
</robot>
|
||||
415
Engine/lib/bullet/data/Base_2.urdf
Normal file
415
Engine/lib/bullet/data/Base_2.urdf
Normal file
|
|
@ -0,0 +1,415 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--https://valerolab.org/-->
|
||||
<!--
|
||||
Code used for PID control of an inverted pendulum actuated by strings.
|
||||
-->
|
||||
<robot name="myfirst">
|
||||
<material name="blue">
|
||||
<color rgba="0 0 0.8 1"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
<material name="other">
|
||||
<color rgba="1 0 0.8 1"/>
|
||||
</material>
|
||||
<velocity name="vel">
|
||||
<speed spd="50"/>
|
||||
</velocity>
|
||||
|
||||
|
||||
<link name="Base">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.3 0.3 1.5"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.3 0.3 1.5"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="100"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<link name="pulley1">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".5"/>
|
||||
</geometry>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".5"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="2"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="Base_pulley1" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="Base"/>
|
||||
<child link="pulley1"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="-1.57075 1.57075 0" xyz="0 .35 .15"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_1">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="pulley1_tendon1_1" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="pulley1"/>
|
||||
<child link="tendon1_1"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 3.1416" xyz="0 .55 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_2">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_1_tendon1_2" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_1"/>
|
||||
<child link="tendon1_2"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_3">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_2_tendon1_3" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_2"/>
|
||||
<child link="tendon1_3"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_4">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_3_tendon1_4" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_3"/>
|
||||
<child link="tendon1_4"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 1" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_5">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_4_tendon1_5" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_4"/>
|
||||
<child link="tendon1_5"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 1" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_6">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_5_tendon1_6" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_5"/>
|
||||
<child link="tendon1_6"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_7">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_6_tendon1_7" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_6"/>
|
||||
<child link="tendon1_7"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_8">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_7_tendon1_8" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_7"/>
|
||||
<child link="tendon1_8"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_9">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_8_tendon1_9" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_8"/>
|
||||
<child link="tendon1_9"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_10">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_9_tendon1_10" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_9"/>
|
||||
<child link="tendon1_10"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_11">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_10_tendon1_11" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_10"/>
|
||||
<child link="tendon1_11"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_12">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_11_tendon1_12" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_11"/>
|
||||
<child link="tendon1_12"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_13">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_12_tendon1_13" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_12"/>
|
||||
<child link="tendon1_13"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_14">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_13_tendon1_14" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_13"/>
|
||||
<child link="tendon1_14"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz=".2 0 0"/>
|
||||
</joint>
|
||||
|
||||
</robot>
|
||||
15
Engine/lib/bullet/data/LICENSE.txt
Normal file
15
Engine/lib/bullet/data/LICENSE.txt
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
URDF files in this directory were created by Erwin Coumans
|
||||
Check the subdirectories for various license files.
|
||||
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
http://bulletphysics.org
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it freely,
|
||||
subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
19
Engine/lib/bullet/data/MPL/LICENSE.txt
Normal file
19
Engine/lib/bullet/data/MPL/LICENSE.txt
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
This file and the .stl mesh files referenced from it have been derived by Roboti LLC from the model of the Modular Prosthetic Limb developed by The Johns Hopkins University / Applied Physics Laboratory. The modifications are as follows: the original meshes have been replaced with their convex hulls; the original URDF model has been converted to the MJCF format and a number of MJCF-specific fields have been added.
|
||||
|
||||
The Johns Hopkins University / Applied Physics Laboratory has given Roboti LLC permission to distribute the modified model under the following license:
|
||||
|
||||
=========================
|
||||
|
||||
(C) 2013 The Johns Hopkins University / Applied Physics Laboratory All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
========================
|
||||
|
||||
The modifications made by Roboti LLC are also licensed under the Apache License version 2.0.
|
||||
-->
|
||||
473
Engine/lib/bullet/data/MPL/MPL.xml
Normal file
473
Engine/lib/bullet/data/MPL/MPL.xml
Normal file
|
|
@ -0,0 +1,473 @@
|
|||
<mujoco model="MPL">
|
||||
<!--
|
||||
This file and the .stl mesh files referenced from it have been derived by Roboti LLC from the model of the Modular Prosthetic Limb developed by The Johns Hopkins University / Applied Physics Laboratory. The modifications are as follows: the original meshes have been replaced with their convex hulls; the original URDF model has been converted to the MJCF format and a number of MJCF-specific fields have been added.
|
||||
|
||||
The Johns Hopkins University / Applied Physics Laboratory has given Roboti LLC permission to distribute the modified model under the following license:
|
||||
|
||||
=========================
|
||||
|
||||
(C) 2013 The Johns Hopkins University / Applied Physics Laboratory All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
========================
|
||||
|
||||
The modifications made by Roboti LLC are also licensed under the Apache License version 2.0.
|
||||
-->
|
||||
|
||||
<compiler angle="radian" meshdir="mesh/" texturedir="texture/"/>
|
||||
<option timestep="0.002" iterations="50" apirate="50"/>
|
||||
<size njmax="600" nconmax="150" nstack="300000"/>
|
||||
|
||||
<default>
|
||||
<default class="MPL">
|
||||
<geom material="MatMesh" contype="1" conaffinity="1" condim="4" margin="0.001"/>
|
||||
<joint limited="true" damping="0.2" armature=".01"/>
|
||||
<site material="MatTouch" type="ellipsoid" group="3"/>
|
||||
<position ctrllimited="true" kp="10"/>
|
||||
</default>
|
||||
|
||||
<default class="IMU">
|
||||
<site material="MatIMU" type="box" group="4"/>
|
||||
</default>
|
||||
|
||||
<default class="free">
|
||||
<joint type="free" damping="0" armature="0" limited="false"/>
|
||||
</default>
|
||||
</default>
|
||||
|
||||
<statistic extent="1" center="0 -0.2 0.2"/>
|
||||
|
||||
<visual>
|
||||
<quality shadowsize="2048"/>
|
||||
<map fogstart="6" fogend="10"/>
|
||||
<headlight diffuse=".6 .6 .6" specular="0 0 0"/>
|
||||
</visual>
|
||||
|
||||
<asset>
|
||||
<mesh name="index0" file="index0_collision.stl"/>
|
||||
<mesh name="index1" file="index1_collision.stl"/>
|
||||
<mesh name="index2" file="index2_collision.stl"/>
|
||||
<mesh name="index3" file="index3_collision.stl"/>
|
||||
<mesh name="middle0" file="middle0_collision.stl"/>
|
||||
<mesh name="middle1" file="middle1_collision.stl"/>
|
||||
<mesh name="middle2" file="middle2_collision.stl"/>
|
||||
<mesh name="middle3" file="middle3_collision.stl"/>
|
||||
<mesh name="palm" file="palm.stl"/>
|
||||
<mesh name="pinky0" file="pinky0_collision.stl"/>
|
||||
<mesh name="pinky1" file="pinky1_collision.stl"/>
|
||||
<mesh name="pinky2" file="pinky2_collision.stl"/>
|
||||
<mesh name="pinky3" file="pinky3_collision.stl"/>
|
||||
<mesh name="ring0" file="ring0_collision.stl"/>
|
||||
<mesh name="ring1" file="ring1_collision.stl"/>
|
||||
<mesh name="ring2" file="ring2_collision.stl"/>
|
||||
<mesh name="ring3" file="ring3_collision.stl"/>
|
||||
<mesh name="thumb0" file="thumb0_collision.stl"/>
|
||||
<mesh name="thumb1" file="thumb1_collision.stl"/>
|
||||
<mesh name="thumb2" file="thumb2_collision.stl"/>
|
||||
<mesh name="thumb3" file="thumb3_collision.stl"/>
|
||||
<mesh name="wristx" file="wristx_collision.stl"/>
|
||||
<mesh name="wristy" file="wristy_collision.stl"/>
|
||||
<mesh name="wristz" file="wristz_collision.stl"/>
|
||||
|
||||
<texture type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0"
|
||||
width="100" height="100"/>
|
||||
<texture name="groundplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 .2 .3"
|
||||
width="100" height="100"/>
|
||||
<texture name="skin" type="cube" file="skin.png"/>
|
||||
<texture name="marble2d" type="2d" file="marble.png"/>
|
||||
<texture name="marblecube" type="cube" file="marble.png"/>
|
||||
|
||||
<material name="groundplane" texture="groundplane" texrepeat="10 10"/>
|
||||
<material name="table2d" texture="marble2d" reflectance="0.3" rgba=".8 .8 .8 1"/>
|
||||
<material name="tablecube" texture="marblecube" rgba=".8 .8 .8 1"/>
|
||||
<material name="MatTouch" rgba=".3 .9 .3 .3"/>
|
||||
<material name="MatIMU" rgba=".1 .1 .9 1"/>
|
||||
<material name="MatMesh" texture="skin"/>
|
||||
</asset>
|
||||
|
||||
<contact>
|
||||
<exclude body1="wristz" body2="wristy"/>
|
||||
<exclude body1="wristx" body2="thumb0"/>
|
||||
<exclude body1="palm" body2="thumb1"/>
|
||||
<exclude body1="palm" body2="index1"/>
|
||||
<exclude body1="palm" body2="middle1"/>
|
||||
<exclude body1="palm" body2="ring1"/>
|
||||
<exclude body1="palm" body2="pinky1"/>
|
||||
</contact>
|
||||
|
||||
<worldbody>
|
||||
|
||||
|
||||
<!-- ======= ROBOT ======= -->
|
||||
<body childclass="MPL" name="forearm" pos="0 -0.35 0.2" axisangle="0 0 1 3.141592">
|
||||
<geom type="cylinder" size="0.02 0.01" zaxis="0 1 0"/>
|
||||
<body name="wristy" pos="0 0 0">
|
||||
<inertial pos="-7.08369e-005 -0.0217787 -0.000286168" quat="0.707488 0.00581744 -0.0107421 0.70662" mass="0.0272932" diaginertia="2.46813e-005 1.77029e-005 1.71079e-005" />
|
||||
<geom type="mesh" mesh="wristy"/>
|
||||
<joint name="wrist_PRO" type="hinge" damping="0.4" pos="0 0 0" axis="0 1 0" range="-1.57 1.57"/>
|
||||
<body name="wristx" pos="-3.36826e-005 -0.0476452 0.00203763">
|
||||
<inertial pos="0.00139174 -0.00975189 -0.00252668" quat="-0.0729226 0.705959 0.0352732 0.703605" mass="0.010691" diaginertia="5.04455e-006 4.25035e-006 3.25677e-006" />
|
||||
<joint name="wrist_UDEV" damping="0.4" type="hinge" pos="0 0 0" axis="0 0 -1" range="-0.261 0.785"/>
|
||||
<geom type="mesh" mesh="wristx"/>
|
||||
<body name="wristz" pos="0.0001872 -0.03 -0.002094">
|
||||
<inertial pos="0.000579016 -0.00125952 0.000455968" quat="0.527723 0.475346 0.521597 0.472749" mass="0.00602247" diaginertia="1.58133e-006 1.43102e-006 1.26861e-006" />
|
||||
<joint name="wrist_FLEX" damping="0.4" type="hinge" pos="0 0 0" axis="1 0 0" range="-1.04 1.04"/>
|
||||
<geom type="mesh" mesh="wristz"/>
|
||||
|
||||
<!-- ======= PALM ======= -->
|
||||
<body name="palm" pos="0.025625 0 0">
|
||||
<inertial pos="-0.0217876 -0.0376147 0.00276997" quat="-0.146373 0.723094 0.0985561 0.66783" mass="0.119867" diaginertia="0.000123088 0.000100082 6.89467e-005" />
|
||||
<geom type="mesh" mesh="palm"/>
|
||||
<site name="palm_thumb" pos="-0.0052 -0.0438 -0.0182" size=".017 .03 .01"/>
|
||||
<site name="palm_pinky" pos="-0.0358 -0.0401 -0.0183" size=".017 .03 .01"/>
|
||||
<site name="palm_side" pos="-0.0604 -0.0329 -0.0048" size=".01 .03 .015"/>
|
||||
<site name="palm_back" pos="-0.0246 -0.0446 0.018" size=".03 .035 .015"/>
|
||||
|
||||
<!-- ======= THUMB ======= -->
|
||||
<body name="thumb0" pos="0.00835752 -0.0206978 -0.010093" quat="0.990237 0.0412644 -0.0209178 -0.13149">
|
||||
<inertial pos="0.00863339 -0.000156884 -0.000945846" quat="0.408795 0.551643 0.541079 0.485602" mass="0.00336696" diaginertia="4.50769e-007 4.48758e-007 2.35017e-007" />
|
||||
<joint name="thumb_ABD" type="hinge" pos="0 0 0" axis="0 1 0" range="0 2.07"/>
|
||||
<geom type="mesh" mesh="thumb0"/>
|
||||
<body name="thumb1" pos="0.0209172 -0.00084 0.0014476">
|
||||
<inertial pos="0.019024 0.000361131 -0.000186763" quat="0.5208 0.469572 0.484571 0.522934" mass="0.00596213" diaginertia="9.88001e-007 9.45125e-007 5.32989e-007" />
|
||||
<joint name="thumb_MCP" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 1.03"/>
|
||||
<geom type="mesh" mesh="thumb1"/>
|
||||
<site name="thumb_proximal" pos="0.0173 -0.008 0.0009" size=".015 .0075 .01"/>
|
||||
<body name="thumb2" pos="0.0335 0 -0.0007426">
|
||||
<inertial pos="0.0188965 0.000375725 0.00065381" quat="0.502274 0.484638 0.475673 0.535333" mass="0.00599792" diaginertia="9.96692e-007 9.64948e-007 5.14416e-007" />
|
||||
<joint name="thumb_PIP" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 1.03"/>
|
||||
<geom type="mesh" mesh="thumb2"/>
|
||||
<site name="thumb_medial" pos="0.0182 -0.008 0.0015" size=".015 .0075 .01"/>
|
||||
<body name="thumb3" pos="0.0335 0 0.0010854">
|
||||
<inertial pos="0.0188965 0.000375725 0.00065381" quat="0.502274 0.484638 0.475673 0.535333" mass="0.00599792" diaginertia="9.96692e-007 9.64948e-007 5.14416e-007" />
|
||||
<joint name="thumb_DIP" type="hinge" pos="0 0 0" axis="0 0 -1" range="-0.819 1.28"/>
|
||||
<geom type="mesh" mesh="thumb3"/>
|
||||
<site name="thumb_distal" pos="0.0156 -0.007 0.0003" size=".015 .0075 .01" axisangle="0 0 1 0.2"/>
|
||||
<site class="IMU" name="thumb_IMU" pos="0.0099 -0.00052 0" quat=".5 .5 .5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= INDEX ======= -->
|
||||
<body name="index0" pos="0.00986485 -0.0658 0.00101221" quat="0.996195 0 0.0871557 0">
|
||||
<inertial pos="-0.000142572 -0.00548494 0.000206145" quat="0.699132 0.714861 -0.000723869 0.013694" mass="0.00295579" diaginertia="4.22462e-007 4.02281e-007 1.93868e-007" />
|
||||
<joint name="index_ABD" type="hinge" pos="0 0 0" axis="0 0 1" range="0 0.345"/>
|
||||
<geom type="mesh" mesh="index0"/>
|
||||
<body name="index1" pos="6.26e-005 -0.018 0">
|
||||
<inertial pos="0.000406487 -0.0213125 0.000655609" quat="0.698452 0.715642 -0.00415384 0.0023049" mass="0.00478235" diaginertia="8.18599e-007 7.95693e-007 3.06254e-007" />
|
||||
<joint name="index_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="index1"/>
|
||||
<site name="index_proximal" pos="0 -0.0235 -0.007" size=".009 .015 .0075"/>
|
||||
<body name="index2" pos="0.001086 -0.0435 0.0005">
|
||||
<inertial pos="-0.000841462 -0.012689 0.000572665" quat="0.734882 0.677481 -0.028511 0.0124827" mass="0.00344764" diaginertia="3.63962e-007 3.59059e-007 1.05304e-007" />
|
||||
<joint name="index_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.72"/>
|
||||
<geom type="mesh" mesh="index2"/>
|
||||
<site name="index_medial" pos="0 -0.009 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="index3" pos="-0.000635 -0.0245 0">
|
||||
<inertial pos="4.32004e-005 -0.0125318 0.000903476" quat="0.516251 0.4829 -0.483241 0.516498" mass="0.00274415" diaginertia="1.19635e-007 1.09202e-007 7.77873e-008" />
|
||||
<joint name="index_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="index3"/>
|
||||
<site name="index_distal" pos="0 -0.0132 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="index_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= MIDDLE ======= -->
|
||||
<body name="middle0" pos="-0.012814 -0.0779014 0.00544608" quat="-3.14 0.0436194 0 0">
|
||||
<inertial pos="-0.000142567 -0.00548493 0.000206162" quat="0.699131 0.714862 -0.000723874 0.013694" mass="0.00295579" diaginertia="4.22461e-007 4.02281e-007 1.93868e-007" />
|
||||
<!--<joint name="middle0" type="hinge" pos="0 0 0" range="-0.345 0" axis="0 0 -1" />-->
|
||||
<geom type="mesh" mesh="middle0"/>
|
||||
<body name="middle1" pos="6.26e-005 -0.018 0">
|
||||
<inertial pos="0.000406411 -0.0213125 0.00065565" quat="0.698451 0.715642 -0.00415503 0.00230486" mass="0.00478229" diaginertia="8.18595e-007 7.9569e-007 3.06253e-007" />
|
||||
<joint name="middle_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="middle1"/>
|
||||
<site name="middle_proximal" pos="0 -0.025 -0.007" size=".009 .015 .0075"/>
|
||||
<body name="middle2" pos="0.001086 -0.0435 0.0005">
|
||||
<inertial pos="-0.000841444 -0.012689 0.00057266" quat="0.734883 0.677482 -0.0284727 0.0124412" mass="0.00344765" diaginertia="3.63962e-007 3.5906e-007 1.05304e-007" />
|
||||
<joint name="middle_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.73"/>
|
||||
<geom type="mesh" mesh="middle2"/>
|
||||
<site name="middle_medial" pos="0 -0.0146 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="middle3" pos="-0.000635 -0.0245 0">
|
||||
<inertial pos="4.31236e-005 -0.0125318 0.000903446" quat="0.516263 0.482913 -0.483228 0.516487" mass="0.00274417" diaginertia="1.19635e-007 1.09202e-007 7.77884e-008" />
|
||||
<joint name="middle_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="middle3"/>
|
||||
<site name="middle_distal" pos="0 -0.0129 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="middle_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= RING ======= -->
|
||||
<body name="ring0" pos="-0.0354928 -0.0666999 0.00151221" quat="0.996195 0 -0.0871557 0">
|
||||
<inertial pos="-0.000142559 -0.00548494 0.000206147" quat="0.699132 0.714861 -0.000720946 0.013691" mass="0.00295579" diaginertia="4.22462e-007 4.02281e-007 1.93868e-007" />
|
||||
<joint name="ring_ABD" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 0.345"/>
|
||||
<geom type="mesh" mesh="ring0"/>
|
||||
<body name="ring1" pos="6.26e-005 -0.018 0">
|
||||
<inertial pos="0.000406447 -0.0213125 0.00065563" quat="0.698451 0.715642 -0.00415675 0.00230715" mass="0.00478232" diaginertia="8.18597e-007 7.95692e-007 3.06254e-007" />
|
||||
<joint name="ring_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="ring1"/>
|
||||
<site name="ring_proximal" pos="0 -0.0259 -0.007" size=".009 .015 .0075"/>
|
||||
<body name="ring2" pos="0.001086 -0.0435 0.0005">
|
||||
<inertial pos="-0.000841518 -0.012689 0.000572674" quat="0.73488 0.677478 -0.0285773 0.0125557" mass="0.00344767" diaginertia="3.63963e-007 3.59061e-007 1.05305e-007" />
|
||||
<joint name="ring_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.72"/>
|
||||
<geom type="mesh" mesh="ring2"/>
|
||||
<site name="ring_medial" pos="0 -0.0137 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="ring3" pos="-0.000635 -0.0245 0">
|
||||
<inertial pos="4.31973e-005 -0.0125318 0.000903457" quat="0.516255 0.482902 -0.483238 0.516495" mass="0.00274416" diaginertia="1.19635e-007 1.09202e-007 7.77877e-008" />
|
||||
<joint name="ring_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="ring3"/>
|
||||
<site name="ring_distal" pos="0 -0.0117 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="ring_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= LITTLE ======= -->
|
||||
<body name="pinky0" pos="-0.0562459 -0.0554001 -0.00563858" quat="0.996195 0 -0.0871557 0">
|
||||
<inertial pos="-0.000142559 -0.00538484 0.000206147" quat="0.699132 0.714861 -0.000721037 0.0136911" mass="0.00295579" diaginertia="4.22462e-007 4.02281e-007 1.93868e-007" />
|
||||
<joint name="pinky_ABD" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 0.345"/>
|
||||
<geom type="mesh" mesh="pinky0"/>
|
||||
<body name="pinky1" pos="6.26e-005 -0.0178999 0">
|
||||
<inertial pos="0.000458624 -0.0160478 0.000924735" quat="0.685529 0.72723 0.021252 -0.0270914" mass="0.0034099" diaginertia="4.03391e-007 3.84061e-007 2.19866e-007" />
|
||||
<joint name="pinky_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="pinky1"/>
|
||||
<site name="pinky_proximal" pos="0 -0.021 -0.0066" size=".009 .013 .0075"/>
|
||||
<body name="pinky2" pos="0.000578 -0.033 0.0005">
|
||||
<inertial pos="-0.000270832 -0.00914628 0.000738493" quat="0.746786 0.664476 -4.11065e-005 -0.0279675" mass="0.00250622" diaginertia="1.79089e-007 1.75934e-007 7.44543e-008" />
|
||||
<joint name="pinky_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.72"/>
|
||||
<geom type="mesh" mesh="pinky2"/>
|
||||
<site name="pinky_medial" pos="0 -0.0117 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="pinky3" pos="-4.78e-005 -0.0175 0">
|
||||
<inertial pos="3.85026e-005 -0.0125047 0.000912295" quat="0.516037 0.484447 -0.483043 0.515448" mass="0.00273265" diaginertia="1.19141e-007 1.08629e-007 7.77271e-008" />
|
||||
<joint name="pinky_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="pinky3"/>
|
||||
<site name="pinky_distal" pos="0 -0.0121 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="pinky_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</worldbody>
|
||||
|
||||
|
||||
<sensor>
|
||||
<jointpos name="Sjp_wrist_PRO" joint="wrist_PRO"/>
|
||||
<jointpos name="Sjp_wrist_UDEV" joint="wrist_UDEV"/>
|
||||
<jointpos name="Sjp_wrist_FLEX" joint="wrist_FLEX"/>
|
||||
<jointpos name="Sjp_thumb_ABD" joint="thumb_ABD"/>
|
||||
<jointpos name="Sjp_thumb_MCP" joint="thumb_MCP"/>
|
||||
<jointpos name="Sjp_thumb_PIP" joint="thumb_PIP"/>
|
||||
<jointpos name="Sjp_thumb_DIP" joint="thumb_DIP"/>
|
||||
<jointpos name="Sjp_index_ABD" joint="index_ABD"/>
|
||||
<jointpos name="Sjp_index_MCP" joint="index_MCP"/>
|
||||
<jointpos name="Sjp_index_PIP" joint="index_PIP"/>
|
||||
<jointpos name="Sjp_index_DIP" joint="index_DIP"/>
|
||||
<jointpos name="Sjp_middle_MCP" joint="middle_MCP"/>
|
||||
<jointpos name="Sjp_middle_PIP" joint="middle_PIP"/>
|
||||
<jointpos name="Sjp_middle_DIP" joint="middle_DIP"/>
|
||||
<jointpos name="Sjp_ring_ABD" joint="ring_ABD"/>
|
||||
<jointpos name="Sjp_ring_MCP" joint="ring_MCP"/>
|
||||
<jointpos name="Sjp_ring_PIP" joint="ring_PIP"/>
|
||||
<jointpos name="Sjp_ring_DIP" joint="ring_DIP"/>
|
||||
<jointpos name="Sjp_pinky_ABD" joint="pinky_ABD"/>
|
||||
<jointpos name="Sjp_pinky_MCP" joint="pinky_MCP"/>
|
||||
<jointpos name="Sjp_pinky_PIP" joint="pinky_PIP"/>
|
||||
<jointpos name="Sjp_pinky_DIP" joint="pinky_DIP"/>
|
||||
|
||||
<jointvel name="Sjv_wrist_PRO" joint="wrist_PRO"/>
|
||||
<jointvel name="Sjv_wrist_UDEV" joint="wrist_UDEV"/>
|
||||
<jointvel name="Sjv_wrist_FLEX" joint="wrist_FLEX"/>
|
||||
<jointvel name="Sjv_thumb_ABD" joint="thumb_ABD"/>
|
||||
<jointvel name="Sjv_thumb_MCP" joint="thumb_MCP"/>
|
||||
<jointvel name="Sjv_thumb_PIP" joint="thumb_PIP"/>
|
||||
<jointvel name="Sjv_thumb_DIP" joint="thumb_DIP"/>
|
||||
<jointvel name="Sjv_index_ABD" joint="index_ABD"/>
|
||||
<jointvel name="Sjv_index_MCP" joint="index_MCP"/>
|
||||
<jointvel name="Sjv_index_PIP" joint="index_PIP"/>
|
||||
<jointvel name="Sjv_index_DIP" joint="index_DIP"/>
|
||||
<jointvel name="Sjv_middle_MCP" joint="middle_MCP"/>
|
||||
<jointvel name="Sjv_middle_PIP" joint="middle_PIP"/>
|
||||
<jointvel name="Sjv_middle_DIP" joint="middle_DIP"/>
|
||||
<jointvel name="Sjv_ring_ABD" joint="ring_ABD"/>
|
||||
<jointvel name="Sjv_ring_MCP" joint="ring_MCP"/>
|
||||
<jointvel name="Sjv_ring_PIP" joint="ring_PIP"/>
|
||||
<jointvel name="Sjv_ring_DIP" joint="ring_DIP"/>
|
||||
<jointvel name="Sjv_pinky_ABD" joint="pinky_ABD"/>
|
||||
<jointvel name="Sjv_pinky_MCP" joint="pinky_MCP"/>
|
||||
<jointvel name="Sjv_pinky_PIP" joint="pinky_PIP"/>
|
||||
<jointvel name="Sjv_pinky_DIP" joint="pinky_DIP"/>
|
||||
|
||||
<actuatorpos name="Sap_wrist_PRO" actuator="A_wrist_PRO" />
|
||||
<actuatorpos name="Sap_wrist_UDEV" actuator="A_wrist_UDEV" />
|
||||
<actuatorpos name="Sap_wrist_FLEX" actuator="A_wrist_FLEX" />
|
||||
<actuatorpos name="Sap_thumb_ABD" actuator="A_thumb_ABD" />
|
||||
<actuatorpos name="Sap_thumb_MCP" actuator="A_thumb_MCP" />
|
||||
<actuatorpos name="Sap_thumb_PIP" actuator="A_thumb_PIP" />
|
||||
<actuatorpos name="Sap_thumb_DIP" actuator="A_thumb_DIP" />
|
||||
<actuatorpos name="Sap_index_ABD" actuator="A_index_ABD" />
|
||||
<actuatorpos name="Sap_index_MCP" actuator="A_index_MCP" />
|
||||
<actuatorpos name="Sap_middle_MCP" actuator="A_middle_MCP"/>
|
||||
<actuatorpos name="Sap_ring_MCP" actuator="A_ring_MCP" />
|
||||
<actuatorpos name="Sap_pinky_ABD" actuator="A_pinky_ABD" />
|
||||
<actuatorpos name="Sap_pinky_MCP" actuator="A_pinky_MCP" />
|
||||
|
||||
<actuatorvel name="Sav_wrist_PRO" actuator="A_wrist_PRO" />
|
||||
<actuatorvel name="Sav_wrist_UDEV" actuator="A_wrist_UDEV"/>
|
||||
<actuatorvel name="Sav_wrist_FLEX" actuator="A_wrist_FLEX"/>
|
||||
<actuatorvel name="Sav_thumb_ABD" actuator="A_thumb_ABD" />
|
||||
<actuatorvel name="Sav_thumb_MCP" actuator="A_thumb_MCP" />
|
||||
<actuatorvel name="Sav_thumb_PIP" actuator="A_thumb_PIP" />
|
||||
<actuatorvel name="Sav_thumb_DIP" actuator="A_thumb_DIP" />
|
||||
<actuatorvel name="Sav_index_ABD" actuator="A_index_ABD" />
|
||||
<actuatorvel name="Sav_index_MCP" actuator="A_index_MCP" />
|
||||
<actuatorvel name="Sav_middle_MCP" actuator="A_middle_MCP"/>
|
||||
<actuatorvel name="Sav_ring_MCP" actuator="A_ring_MCP" />
|
||||
<actuatorvel name="Sav_pinky_ABD" actuator="A_pinky_ABD" />
|
||||
<actuatorvel name="Sav_pinky_MCP" actuator="A_pinky_MCP" />
|
||||
|
||||
<actuatorfrc name="Saf_wrist_PRO" actuator="A_wrist_PRO"/>
|
||||
<actuatorfrc name="Saf_wrist_UDEV" actuator="A_wrist_UDEV"/>
|
||||
<actuatorfrc name="Saf_wrist_FLEX" actuator="A_wrist_FLEX"/>
|
||||
<actuatorfrc name="Saf_thumb_ABD" actuator="A_thumb_ABD"/>
|
||||
<actuatorfrc name="Saf_thumb_MCP" actuator="A_thumb_MCP"/>
|
||||
<actuatorfrc name="Saf_thumb_PIP" actuator="A_thumb_PIP"/>
|
||||
<actuatorfrc name="Saf_thumb_DIP" actuator="A_thumb_DIP"/>
|
||||
<actuatorfrc name="Saf_index_ABD" actuator="A_index_ABD"/>
|
||||
<actuatorfrc name="Saf_index_MCP" actuator="A_index_MCP"/>
|
||||
<actuatorfrc name="Saf_middle_MCP" actuator="A_middle_MCP"/>
|
||||
<actuatorfrc name="Saf_ring_MCP" actuator="A_ring_MCP"/>
|
||||
<actuatorfrc name="Saf_pinky_ABD" actuator="A_pinky_ABD"/>
|
||||
<actuatorfrc name="Saf_pinky_MCP" actuator="A_pinky_MCP"/>
|
||||
|
||||
<accelerometer name="S_thumb_IMU" site="thumb_IMU"/>
|
||||
<accelerometer name="S_index_IMU" site="index_IMU"/>
|
||||
<accelerometer name="S_middle_IMU" site="middle_IMU"/>
|
||||
<accelerometer name="S_ring_IMU" site="ring_IMU"/>
|
||||
<accelerometer name="S_pinky_IMU" site="pinky_IMU"/>
|
||||
|
||||
<gyro site="thumb_IMU"/>
|
||||
<gyro site="index_IMU"/>
|
||||
<gyro site="middle_IMU"/>
|
||||
<gyro site="ring_IMU"/>
|
||||
<gyro site="pinky_IMU"/>
|
||||
|
||||
<touch name="S_palm_thumb" site="palm_thumb"/>
|
||||
<touch name="S_palm_pinky" site="palm_pinky"/>
|
||||
<touch name="S_palm_side" site="palm_side"/>
|
||||
<touch name="S_palm_back" site="palm_back"/>
|
||||
<touch name="S_thumb_proximal" site="thumb_proximal"/>
|
||||
<touch name="S_thumb_medial" site="thumb_medial"/>
|
||||
<touch name="S_thumb_distal" site="thumb_distal"/>
|
||||
<touch name="S_index_proximal" site="index_proximal"/>
|
||||
<touch name="S_index_medial" site="index_medial"/>
|
||||
<touch name="S_index_distal" site="index_distal"/>
|
||||
<touch name="S_middle_proximal" site="middle_proximal"/>
|
||||
<touch name="S_middle_medial" site="middle_medial"/>
|
||||
<touch name="S_middle_distal" site="middle_distal"/>
|
||||
<touch name="S_ring_proximal" site="ring_proximal"/>
|
||||
<touch name="S_ring_medial" site="ring_medial"/>
|
||||
<touch name="S_ring_distal" site="ring_distal"/>
|
||||
<touch name="S_pinky_proximal" site="pinky_proximal"/>
|
||||
<touch name="S_pinky_medial" site="pinky_medial"/>
|
||||
<touch name="S_pinky_distal" site="pinky_distal"/>
|
||||
</sensor>
|
||||
|
||||
|
||||
<tendon>
|
||||
<!--Index coupler tendons-->
|
||||
<fixed name="T_index32_cpl" range="0 1">
|
||||
<joint joint="index_DIP" coef="0.00705"/>
|
||||
<joint joint="index_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_index21_cpl" range="0 1">
|
||||
<joint joint="index_PIP" coef="0.010"/>
|
||||
<joint joint="index_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
<!--Middle coupler tendons-->
|
||||
<fixed name="T_middle32_cpl">
|
||||
<joint joint="middle_DIP" coef="0.00705"/>
|
||||
<joint joint="middle_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_middle21_cpl">
|
||||
<joint joint="middle_PIP" coef="0.010"/>
|
||||
<joint joint="middle_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
<!--Ring coupler tendons-->
|
||||
<fixed name="T_ring32_cpl">
|
||||
<joint joint="ring_DIP" coef="0.00705"/>
|
||||
<joint joint="ring_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_ring21_cpl">
|
||||
<joint joint="ring_PIP" coef="0.010"/>
|
||||
<joint joint="ring_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
<!--Little coupler tendons-->
|
||||
<fixed name="T_pinky32_cpl">
|
||||
<joint joint="pinky_DIP" coef="0.00705"/>
|
||||
<joint joint="pinky_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_pinky21_cpl">
|
||||
<joint joint="pinky_PIP" coef="0.010"/>
|
||||
<joint joint="pinky_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
</tendon>
|
||||
|
||||
|
||||
<equality>
|
||||
<weld body1="mocap" body2="forearm" solref="0.01 1" solimp=".9 .9 0.01"/>
|
||||
|
||||
<!-- DIP-PIP-MCP Couplings -->
|
||||
<tendon name="E_index32_cpl" tendon1="T_index32_cpl"/>
|
||||
<tendon name="E_index21_cpl" tendon1="T_index21_cpl"/>
|
||||
<tendon name="E_middle32_cpl" tendon1="T_middle32_cpl"/>
|
||||
<tendon name="E_middle21_cpl" tendon1="T_middle21_cpl"/>
|
||||
<tendon name="E_ring32_cpl" tendon1="T_ring32_cpl"/>
|
||||
<tendon name="E_ring21_cpl" tendon1="T_ring21_cpl"/>
|
||||
<tendon name="E_pinky32_cpl" tendon1="T_pinky32_cpl"/>
|
||||
<tendon name="E_pinky21_cpl" tendon1="T_pinky21_cpl"/>
|
||||
|
||||
<!-- AD-AB Coupling -->
|
||||
<joint name="ring_pinky_cpl" joint1="ring_ABD" joint2="pinky_ABD" polycoef="0 0.5 0 0 0"/>
|
||||
</equality>
|
||||
|
||||
|
||||
<actuator>
|
||||
<!-- Wrist -->
|
||||
<position name="A_wrist_PRO" class="MPL" joint="wrist_PRO" ctrlrange="-1.57 1.57"/>
|
||||
<position name="A_wrist_UDEV" class="MPL" joint="wrist_UDEV" ctrlrange="-0.26 0.79"/>
|
||||
<position name="A_wrist_FLEX" class="MPL" joint="wrist_FLEX" ctrlrange="-1 1"/>
|
||||
|
||||
<!-- Thumb -->
|
||||
<position name="A_thumb_ABD" class="MPL" joint="thumb_ABD" ctrlrange="0 2.1"/>
|
||||
<position name="A_thumb_MCP" class="MPL" joint="thumb_MCP" ctrlrange="0 1.0"/>
|
||||
<position name="A_thumb_PIP" class="MPL" joint="thumb_PIP" ctrlrange="0 1.0"/>
|
||||
<position name="A_thumb_DIP" class="MPL" joint="thumb_DIP" ctrlrange="-0.82 1.3"/>
|
||||
|
||||
<!-- Fingers -->
|
||||
<position name="A_index_ABD" class="MPL" joint="index_ABD" ctrlrange="0 0.34"/>
|
||||
<position name="A_index_MCP" class="MPL" joint="index_MCP" ctrlrange="0 1.6"/>
|
||||
<position name="A_middle_MCP" class="MPL" joint="middle_MCP" ctrlrange="0 1.6"/>
|
||||
<position name="A_ring_MCP" class="MPL" joint="ring_MCP" ctrlrange="0 1.6"/>
|
||||
<position name="A_pinky_ABD" class="MPL" joint="pinky_ABD" ctrlrange="0 0.34"/>
|
||||
<position name="A_pinky_MCP" class="MPL" joint="pinky_MCP" ctrlrange="0 1.6"/>
|
||||
</actuator>
|
||||
</mujoco>
|
||||
BIN
Engine/lib/bullet/data/MPL/mesh/index0.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index0.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index0_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index0_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index1.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index1.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index1_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index1_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index2.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index2.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index2_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index2_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index3.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index3.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/index3_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/index3_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle0.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle0.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle0_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle0_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle1.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle1.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle1_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle1_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle2.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle2.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle2_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle2_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle3.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle3.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/middle3_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/middle3_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/palm.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/palm.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/palm_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/palm_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky0.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky0.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky0_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky0_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky1.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky1.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky1_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky1_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky2.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky2.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky2_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky2_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky3.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky3.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/pinky3_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/pinky3_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring0.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring0.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring0_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring0_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring1.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring1.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring1_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring1_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring2.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring2.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring2_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring2_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring3.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring3.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/ring3_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/ring3_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb0.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb0.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb0_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb0_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb1.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb1.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb1_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb1_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb2.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb2.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb2_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb2_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb3.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb3.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/thumb3_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/thumb3_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/wristx.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/wristx.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/wristx_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/wristx_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/wristy.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/wristy.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/wristy_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/wristy_collision.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/wristz.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/wristz.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/MPL/mesh/wristz_collision.stl
Normal file
BIN
Engine/lib/bullet/data/MPL/mesh/wristz_collision.stl
Normal file
Binary file not shown.
471
Engine/lib/bullet/data/MPL/mpl2.xml
Normal file
471
Engine/lib/bullet/data/MPL/mpl2.xml
Normal file
|
|
@ -0,0 +1,471 @@
|
|||
<mujoco model="MPL">
|
||||
<!--
|
||||
This file and the .stl mesh files referenced from it have been derived by Roboti LLC from the model of the Modular Prosthetic Limb developed by The Johns Hopkins University / Applied Physics Laboratory. The modifications are as follows: the original meshes have been replaced with their convex hulls; the original URDF model has been converted to the MJCF format and a number of MJCF-specific fields have been added.
|
||||
|
||||
The Johns Hopkins University / Applied Physics Laboratory has given Roboti LLC permission to distribute the modified model under the following license:
|
||||
|
||||
=========================
|
||||
|
||||
(C) 2013 The Johns Hopkins University / Applied Physics Laboratory All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
========================
|
||||
|
||||
The modifications made by Roboti LLC are also licensed under the Apache License version 2.0.
|
||||
-->
|
||||
|
||||
<compiler angle="radian" meshdir="mesh/" texturedir="texture/"/>
|
||||
<option timestep="0.002" iterations="50" apirate="50"/>
|
||||
<size njmax="600" nconmax="150" nstack="300000"/>
|
||||
|
||||
<default>
|
||||
<default class="MPL">
|
||||
<geom material="MatMesh" contype="1" conaffinity="1" condim="4" friction="1 .5 0.5" margin="0.001"/>
|
||||
<joint limited="true" damping="0.2" armature=".01"/>
|
||||
<site material="MatTouch" type="ellipsoid" group="3"/>
|
||||
<position ctrllimited="true" kp="10"/>
|
||||
</default>
|
||||
|
||||
<default class="IMU">
|
||||
<site material="MatIMU" type="box" group="4"/>
|
||||
</default>
|
||||
|
||||
<default class="free">
|
||||
<joint type="free" damping="0" armature="0" limited="false"/>
|
||||
</default>
|
||||
</default>
|
||||
|
||||
<statistic extent="1" center="0 -0.2 0.2"/>
|
||||
|
||||
<visual>
|
||||
<quality shadowsize="2048"/>
|
||||
<map fogstart="6" fogend="10"/>
|
||||
<headlight diffuse=".6 .6 .6" specular="0 0 0"/>
|
||||
</visual>
|
||||
|
||||
<asset>
|
||||
<mesh name="index0" file="index0_collision.stl"/>
|
||||
<mesh name="index1" file="index1_collision.stl"/>
|
||||
<mesh name="index2" file="index2_collision.stl"/>
|
||||
<mesh name="index3" file="index3_collision.stl"/>
|
||||
<mesh name="middle0" file="middle0_collision.stl"/>
|
||||
<mesh name="middle1" file="middle1_collision.stl"/>
|
||||
<mesh name="middle2" file="middle2_collision.stl"/>
|
||||
<mesh name="middle3" file="middle3_collision.stl"/>
|
||||
<mesh name="palm" file="palm_collision.stl"/>
|
||||
<mesh name="pinky0" file="pinky0_collision.stl"/>
|
||||
<mesh name="pinky1" file="pinky1_collision.stl"/>
|
||||
<mesh name="pinky2" file="pinky2_collision.stl"/>
|
||||
<mesh name="pinky3" file="pinky3_collision.stl"/>
|
||||
<mesh name="ring0" file="ring0_collision.stl"/>
|
||||
<mesh name="ring1" file="ring1_collision.stl"/>
|
||||
<mesh name="ring2" file="ring2_collision.stl"/>
|
||||
<mesh name="ring3" file="ring3_collision.stl"/>
|
||||
<mesh name="thumb0" file="thumb0_collision.stl"/>
|
||||
<mesh name="thumb1" file="thumb1_collision.stl"/>
|
||||
<mesh name="thumb2" file="thumb2_collision.stl"/>
|
||||
<mesh name="thumb3" file="thumb3_collision.stl"/>
|
||||
<mesh name="wristx" file="wristx_collision.stl"/>
|
||||
<mesh name="wristy" file="wristy_collision.stl"/>
|
||||
<mesh name="wristz" file="wristz_collision.stl"/>
|
||||
|
||||
<texture type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0"
|
||||
width="100" height="100"/>
|
||||
<texture name="groundplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 .2 .3"
|
||||
width="100" height="100"/>
|
||||
<texture name="skin" type="cube" file="skin.png"/>
|
||||
<texture name="marble2d" type="2d" file="marble.png"/>
|
||||
<texture name="marblecube" type="cube" file="marble.png"/>
|
||||
|
||||
<material name="groundplane" texture="groundplane" texrepeat="10 10"/>
|
||||
<material name="table2d" texture="marble2d" reflectance="0.3" rgba=".8 .8 .8 1"/>
|
||||
<material name="tablecube" texture="marblecube" rgba=".8 .8 .8 1"/>
|
||||
<material name="MatTouch" rgba=".3 .9 .3 .3"/>
|
||||
<material name="MatIMU" rgba=".1 .1 .9 1"/>
|
||||
<material name="MatMesh" texture="skin"/>
|
||||
</asset>
|
||||
|
||||
<contact>
|
||||
<exclude body1="wristz" body2="wristy"/>
|
||||
<exclude body1="wristx" body2="thumb0"/>
|
||||
<exclude body1="palm" body2="thumb1"/>
|
||||
<exclude body1="palm" body2="index1"/>
|
||||
<exclude body1="palm" body2="middle1"/>
|
||||
<exclude body1="palm" body2="ring1"/>
|
||||
<exclude body1="palm" body2="pinky1"/>
|
||||
</contact>
|
||||
|
||||
<worldbody>
|
||||
|
||||
|
||||
<!-- ======= ROBOT ======= -->
|
||||
<body childclass="MPL" name="wristy" pos="0 0 0">
|
||||
<inertial pos="-7.08369e-005 -0.0217787 -0.000286168" quat="0.707488 0.00581744 -0.0107421 0.70662" mass="0.0272932" diaginertia="2.46813e-005 1.77029e-005 1.71079e-005" />
|
||||
<geom type="mesh" mesh="wristy"/>
|
||||
<joint type="free"/>
|
||||
<body name="wristx" pos="-3.36826e-005 -0.0476452 0.00203763">
|
||||
<inertial pos="0.00139174 -0.00975189 -0.00252668" quat="-0.0729226 0.705959 0.0352732 0.703605" mass="0.010691" diaginertia="5.04455e-006 4.25035e-006 3.25677e-006" />
|
||||
<joint name="wrist_UDEV" damping="0.4" type="hinge" pos="0 0 0" axis="0 0 -1" range="-0.261 0.785"/>
|
||||
<geom type="mesh" mesh="wristx"/>
|
||||
<body name="wristz" pos="0.0001872 -0.03 -0.002094">
|
||||
<inertial pos="0.000579016 -0.00125952 0.000455968" quat="0.527723 0.475346 0.521597 0.472749" mass="0.00602247" diaginertia="1.58133e-006 1.43102e-006 1.26861e-006" />
|
||||
<joint name="wrist_FLEX" damping="0.4" type="hinge" pos="0 0 0" axis="1 0 0" range="-1.04 1.04"/>
|
||||
<geom type="mesh" mesh="wristz"/>
|
||||
|
||||
<!-- ======= PALM ======= -->
|
||||
<body name="palm" pos="0.025625 0 0">
|
||||
<inertial pos="-0.0217876 -0.0376147 0.00276997" quat="-0.146373 0.723094 0.0985561 0.66783" mass="0.119867" diaginertia="0.000123088 0.000100082 6.89467e-005" />
|
||||
<geom type="mesh" mesh="palm"/>
|
||||
<site name="palm_thumb" pos="-0.0052 -0.0438 -0.0182" size=".017 .03 .01"/>
|
||||
<site name="palm_pinky" pos="-0.0358 -0.0401 -0.0183" size=".017 .03 .01"/>
|
||||
<site name="palm_side" pos="-0.0604 -0.0329 -0.0048" size=".01 .03 .015"/>
|
||||
<site name="palm_back" pos="-0.0246 -0.0446 0.018" size=".03 .035 .015"/>
|
||||
|
||||
<!-- ======= THUMB ======= -->
|
||||
<body name="thumb0" pos="0.00835752 -0.0206978 -0.010093" quat="0.990237 0.0412644 -0.0209178 -0.13149">
|
||||
<inertial pos="0.00863339 -0.000156884 -0.000945846" quat="0.408795 0.551643 0.541079 0.485602" mass="0.00336696" diaginertia="4.50769e-007 4.48758e-007 2.35017e-007" />
|
||||
<joint name="thumb_ABD" type="hinge" pos="0 0 0" axis="0 1 0" range="0 2.07"/>
|
||||
<geom type="mesh" mesh="thumb0"/>
|
||||
<body name="thumb1" pos="0.0209172 -0.00084 0.0014476">
|
||||
<inertial pos="0.019024 0.000361131 -0.000186763" quat="0.5208 0.469572 0.484571 0.522934" mass="0.00596213" diaginertia="9.88001e-007 9.45125e-007 5.32989e-007" />
|
||||
<joint name="thumb_MCP" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 1.03"/>
|
||||
<geom type="mesh" mesh="thumb1"/>
|
||||
<site name="thumb_proximal" pos="0.0173 -0.008 0.0009" size=".015 .0075 .01"/>
|
||||
<body name="thumb2" pos="0.0335 0 -0.0007426">
|
||||
<inertial pos="0.0188965 0.000375725 0.00065381" quat="0.502274 0.484638 0.475673 0.535333" mass="0.00599792" diaginertia="9.96692e-007 9.64948e-007 5.14416e-007" />
|
||||
<joint name="thumb_PIP" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 1.03"/>
|
||||
<geom type="mesh" mesh="thumb2"/>
|
||||
<site name="thumb_medial" pos="0.0182 -0.008 0.0015" size=".015 .0075 .01"/>
|
||||
<body name="thumb3" pos="0.0335 0 0.0010854">
|
||||
<inertial pos="0.0188965 0.000375725 0.00065381" quat="0.502274 0.484638 0.475673 0.535333" mass="0.00599792" diaginertia="9.96692e-007 9.64948e-007 5.14416e-007" />
|
||||
<joint name="thumb_DIP" type="hinge" pos="0 0 0" axis="0 0 -1" range="-0.819 1.28"/>
|
||||
<geom type="mesh" mesh="thumb3"/>
|
||||
<site name="thumb_distal" pos="0.0156 -0.007 0.0003" size=".015 .0075 .01" axisangle="0 0 1 0.2"/>
|
||||
<site class="IMU" name="thumb_IMU" pos="0.0099 -0.00052 0" quat=".5 .5 .5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= INDEX ======= -->
|
||||
<body name="index0" pos="0.00986485 -0.0658 0.00101221" quat="0.996195 0 0.0871557 0">
|
||||
<inertial pos="-0.000142572 -0.00548494 0.000206145" quat="0.699132 0.714861 -0.000723869 0.013694" mass="0.00295579" diaginertia="4.22462e-007 4.02281e-007 1.93868e-007" />
|
||||
<joint name="index_ABD" type="hinge" pos="0 0 0" axis="0 0 1" range="0 0.345"/>
|
||||
<geom type="mesh" mesh="index0"/>
|
||||
<body name="index1" pos="6.26e-005 -0.018 0">
|
||||
<inertial pos="0.000406487 -0.0213125 0.000655609" quat="0.698452 0.715642 -0.00415384 0.0023049" mass="0.00478235" diaginertia="8.18599e-007 7.95693e-007 3.06254e-007" />
|
||||
<joint name="index_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="index1"/>
|
||||
<site name="index_proximal" pos="0 -0.0235 -0.007" size=".009 .015 .0075"/>
|
||||
<body name="index2" pos="0.001086 -0.0435 0.0005">
|
||||
<inertial pos="-0.000841462 -0.012689 0.000572665" quat="0.734882 0.677481 -0.028511 0.0124827" mass="0.00344764" diaginertia="3.63962e-007 3.59059e-007 1.05304e-007" />
|
||||
<joint name="index_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.72"/>
|
||||
<geom type="mesh" mesh="index2"/>
|
||||
<site name="index_medial" pos="0 -0.009 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="index3" pos="-0.000635 -0.0245 0">
|
||||
<inertial pos="4.32004e-005 -0.0125318 0.000903476" quat="0.516251 0.4829 -0.483241 0.516498" mass="0.00274415" diaginertia="1.19635e-007 1.09202e-007 7.77873e-008" />
|
||||
<joint name="index_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="index3"/>
|
||||
<site name="index_distal" pos="0 -0.0132 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="index_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= MIDDLE ======= -->
|
||||
<body name="middle0" pos="-0.012814 -0.0779014 0.00544608" quat="-3.14 0.0436194 0 0">
|
||||
<inertial pos="-0.000142567 -0.00548493 0.000206162" quat="0.699131 0.714862 -0.000723874 0.013694" mass="0.00295579" diaginertia="4.22461e-007 4.02281e-007 1.93868e-007" />
|
||||
<!--<joint name="middle0" type="hinge" pos="0 0 0" range="-0.345 0" axis="0 0 -1" />-->
|
||||
<geom type="mesh" mesh="middle0"/>
|
||||
<body name="middle1" pos="6.26e-005 -0.018 0">
|
||||
<inertial pos="0.000406411 -0.0213125 0.00065565" quat="0.698451 0.715642 -0.00415503 0.00230486" mass="0.00478229" diaginertia="8.18595e-007 7.9569e-007 3.06253e-007" />
|
||||
<joint name="middle_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="middle1"/>
|
||||
<site name="middle_proximal" pos="0 -0.025 -0.007" size=".009 .015 .0075"/>
|
||||
<body name="middle2" pos="0.001086 -0.0435 0.0005">
|
||||
<inertial pos="-0.000841444 -0.012689 0.00057266" quat="0.734883 0.677482 -0.0284727 0.0124412" mass="0.00344765" diaginertia="3.63962e-007 3.5906e-007 1.05304e-007" />
|
||||
<joint name="middle_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.73"/>
|
||||
<geom type="mesh" mesh="middle2"/>
|
||||
<site name="middle_medial" pos="0 -0.0146 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="middle3" pos="-0.000635 -0.0245 0">
|
||||
<inertial pos="4.31236e-005 -0.0125318 0.000903446" quat="0.516263 0.482913 -0.483228 0.516487" mass="0.00274417" diaginertia="1.19635e-007 1.09202e-007 7.77884e-008" />
|
||||
<joint name="middle_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="middle3"/>
|
||||
<site name="middle_distal" pos="0 -0.0129 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="middle_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= RING ======= -->
|
||||
<body name="ring0" pos="-0.0354928 -0.0666999 0.00151221" quat="0.996195 0 -0.0871557 0">
|
||||
<inertial pos="-0.000142559 -0.00548494 0.000206147" quat="0.699132 0.714861 -0.000720946 0.013691" mass="0.00295579" diaginertia="4.22462e-007 4.02281e-007 1.93868e-007" />
|
||||
<joint name="ring_ABD" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 0.345"/>
|
||||
<geom type="mesh" mesh="ring0"/>
|
||||
<body name="ring1" pos="6.26e-005 -0.018 0">
|
||||
<inertial pos="0.000406447 -0.0213125 0.00065563" quat="0.698451 0.715642 -0.00415675 0.00230715" mass="0.00478232" diaginertia="8.18597e-007 7.95692e-007 3.06254e-007" />
|
||||
<joint name="ring_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="ring1"/>
|
||||
<site name="ring_proximal" pos="0 -0.0259 -0.007" size=".009 .015 .0075"/>
|
||||
<body name="ring2" pos="0.001086 -0.0435 0.0005">
|
||||
<inertial pos="-0.000841518 -0.012689 0.000572674" quat="0.73488 0.677478 -0.0285773 0.0125557" mass="0.00344767" diaginertia="3.63963e-007 3.59061e-007 1.05305e-007" />
|
||||
<joint name="ring_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.72"/>
|
||||
<geom type="mesh" mesh="ring2"/>
|
||||
<site name="ring_medial" pos="0 -0.0137 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="ring3" pos="-0.000635 -0.0245 0">
|
||||
<inertial pos="4.31973e-005 -0.0125318 0.000903457" quat="0.516255 0.482902 -0.483238 0.516495" mass="0.00274416" diaginertia="1.19635e-007 1.09202e-007 7.77877e-008" />
|
||||
<joint name="ring_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="ring3"/>
|
||||
<site name="ring_distal" pos="0 -0.0117 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="ring_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<!-- ======= LITTLE ======= -->
|
||||
<body name="pinky0" pos="-0.0562459 -0.0554001 -0.00563858" quat="0.996195 0 -0.0871557 0">
|
||||
<inertial pos="-0.000142559 -0.00538484 0.000206147" quat="0.699132 0.714861 -0.000721037 0.0136911" mass="0.00295579" diaginertia="4.22462e-007 4.02281e-007 1.93868e-007" />
|
||||
<joint name="pinky_ABD" type="hinge" pos="0 0 0" axis="0 0 -1" range="0 0.345"/>
|
||||
<geom type="mesh" mesh="pinky0"/>
|
||||
<body name="pinky1" pos="6.26e-005 -0.0178999 0">
|
||||
<inertial pos="0.000458624 -0.0160478 0.000924735" quat="0.685529 0.72723 0.021252 -0.0270914" mass="0.0034099" diaginertia="4.03391e-007 3.84061e-007 2.19866e-007" />
|
||||
<joint name="pinky_MCP" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.785 1.57"/>
|
||||
<geom type="mesh" mesh="pinky1"/>
|
||||
<site name="pinky_proximal" pos="0 -0.021 -0.0066" size=".009 .013 .0075"/>
|
||||
<body name="pinky2" pos="0.000578 -0.033 0.0005">
|
||||
<inertial pos="-0.000270832 -0.00914628 0.000738493" quat="0.746786 0.664476 -4.11065e-005 -0.0279675" mass="0.00250622" diaginertia="1.79089e-007 1.75934e-007 7.44543e-008" />
|
||||
<joint name="pinky_PIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.72"/>
|
||||
<geom type="mesh" mesh="pinky2"/>
|
||||
<site name="pinky_medial" pos="0 -0.0117 -0.0047" size=".0075 .01 .006"/>
|
||||
<body name="pinky3" pos="-4.78e-005 -0.0175 0">
|
||||
<inertial pos="3.85026e-005 -0.0125047 0.000912295" quat="0.516037 0.484447 -0.483043 0.515448" mass="0.00273265" diaginertia="1.19141e-007 1.08629e-007 7.77271e-008" />
|
||||
<joint name="pinky_DIP" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.38"/>
|
||||
<geom type="mesh" mesh="pinky3"/>
|
||||
<site name="pinky_distal" pos="0 -0.0121 -0.0038" size=".0075 .01 .006"/>
|
||||
<site class="IMU" name="pinky_IMU" pos="0 -0.0093 0.00063" quat=".5 .5 -.5 .5" size=".003 .003 .003"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
</worldbody>
|
||||
|
||||
|
||||
<sensor>
|
||||
<jointpos name="Sjp_wrist_PRO" joint="wrist_PRO"/>
|
||||
<jointpos name="Sjp_wrist_UDEV" joint="wrist_UDEV"/>
|
||||
<jointpos name="Sjp_wrist_FLEX" joint="wrist_FLEX"/>
|
||||
<jointpos name="Sjp_thumb_ABD" joint="thumb_ABD"/>
|
||||
<jointpos name="Sjp_thumb_MCP" joint="thumb_MCP"/>
|
||||
<jointpos name="Sjp_thumb_PIP" joint="thumb_PIP"/>
|
||||
<jointpos name="Sjp_thumb_DIP" joint="thumb_DIP"/>
|
||||
<jointpos name="Sjp_index_ABD" joint="index_ABD"/>
|
||||
<jointpos name="Sjp_index_MCP" joint="index_MCP"/>
|
||||
<jointpos name="Sjp_index_PIP" joint="index_PIP"/>
|
||||
<jointpos name="Sjp_index_DIP" joint="index_DIP"/>
|
||||
<jointpos name="Sjp_middle_MCP" joint="middle_MCP"/>
|
||||
<jointpos name="Sjp_middle_PIP" joint="middle_PIP"/>
|
||||
<jointpos name="Sjp_middle_DIP" joint="middle_DIP"/>
|
||||
<jointpos name="Sjp_ring_ABD" joint="ring_ABD"/>
|
||||
<jointpos name="Sjp_ring_MCP" joint="ring_MCP"/>
|
||||
<jointpos name="Sjp_ring_PIP" joint="ring_PIP"/>
|
||||
<jointpos name="Sjp_ring_DIP" joint="ring_DIP"/>
|
||||
<jointpos name="Sjp_pinky_ABD" joint="pinky_ABD"/>
|
||||
<jointpos name="Sjp_pinky_MCP" joint="pinky_MCP"/>
|
||||
<jointpos name="Sjp_pinky_PIP" joint="pinky_PIP"/>
|
||||
<jointpos name="Sjp_pinky_DIP" joint="pinky_DIP"/>
|
||||
|
||||
<jointvel name="Sjv_wrist_PRO" joint="wrist_PRO"/>
|
||||
<jointvel name="Sjv_wrist_UDEV" joint="wrist_UDEV"/>
|
||||
<jointvel name="Sjv_wrist_FLEX" joint="wrist_FLEX"/>
|
||||
<jointvel name="Sjv_thumb_ABD" joint="thumb_ABD"/>
|
||||
<jointvel name="Sjv_thumb_MCP" joint="thumb_MCP"/>
|
||||
<jointvel name="Sjv_thumb_PIP" joint="thumb_PIP"/>
|
||||
<jointvel name="Sjv_thumb_DIP" joint="thumb_DIP"/>
|
||||
<jointvel name="Sjv_index_ABD" joint="index_ABD"/>
|
||||
<jointvel name="Sjv_index_MCP" joint="index_MCP"/>
|
||||
<jointvel name="Sjv_index_PIP" joint="index_PIP"/>
|
||||
<jointvel name="Sjv_index_DIP" joint="index_DIP"/>
|
||||
<jointvel name="Sjv_middle_MCP" joint="middle_MCP"/>
|
||||
<jointvel name="Sjv_middle_PIP" joint="middle_PIP"/>
|
||||
<jointvel name="Sjv_middle_DIP" joint="middle_DIP"/>
|
||||
<jointvel name="Sjv_ring_ABD" joint="ring_ABD"/>
|
||||
<jointvel name="Sjv_ring_MCP" joint="ring_MCP"/>
|
||||
<jointvel name="Sjv_ring_PIP" joint="ring_PIP"/>
|
||||
<jointvel name="Sjv_ring_DIP" joint="ring_DIP"/>
|
||||
<jointvel name="Sjv_pinky_ABD" joint="pinky_ABD"/>
|
||||
<jointvel name="Sjv_pinky_MCP" joint="pinky_MCP"/>
|
||||
<jointvel name="Sjv_pinky_PIP" joint="pinky_PIP"/>
|
||||
<jointvel name="Sjv_pinky_DIP" joint="pinky_DIP"/>
|
||||
|
||||
<actuatorpos name="Sap_wrist_PRO" actuator="A_wrist_PRO" />
|
||||
<actuatorpos name="Sap_wrist_UDEV" actuator="A_wrist_UDEV" />
|
||||
<actuatorpos name="Sap_wrist_FLEX" actuator="A_wrist_FLEX" />
|
||||
<actuatorpos name="Sap_thumb_ABD" actuator="A_thumb_ABD" />
|
||||
<actuatorpos name="Sap_thumb_MCP" actuator="A_thumb_MCP" />
|
||||
<actuatorpos name="Sap_thumb_PIP" actuator="A_thumb_PIP" />
|
||||
<actuatorpos name="Sap_thumb_DIP" actuator="A_thumb_DIP" />
|
||||
<actuatorpos name="Sap_index_ABD" actuator="A_index_ABD" />
|
||||
<actuatorpos name="Sap_index_MCP" actuator="A_index_MCP" />
|
||||
<actuatorpos name="Sap_middle_MCP" actuator="A_middle_MCP"/>
|
||||
<actuatorpos name="Sap_ring_MCP" actuator="A_ring_MCP" />
|
||||
<actuatorpos name="Sap_pinky_ABD" actuator="A_pinky_ABD" />
|
||||
<actuatorpos name="Sap_pinky_MCP" actuator="A_pinky_MCP" />
|
||||
|
||||
<actuatorvel name="Sav_wrist_PRO" actuator="A_wrist_PRO" />
|
||||
<actuatorvel name="Sav_wrist_UDEV" actuator="A_wrist_UDEV"/>
|
||||
<actuatorvel name="Sav_wrist_FLEX" actuator="A_wrist_FLEX"/>
|
||||
<actuatorvel name="Sav_thumb_ABD" actuator="A_thumb_ABD" />
|
||||
<actuatorvel name="Sav_thumb_MCP" actuator="A_thumb_MCP" />
|
||||
<actuatorvel name="Sav_thumb_PIP" actuator="A_thumb_PIP" />
|
||||
<actuatorvel name="Sav_thumb_DIP" actuator="A_thumb_DIP" />
|
||||
<actuatorvel name="Sav_index_ABD" actuator="A_index_ABD" />
|
||||
<actuatorvel name="Sav_index_MCP" actuator="A_index_MCP" />
|
||||
<actuatorvel name="Sav_middle_MCP" actuator="A_middle_MCP"/>
|
||||
<actuatorvel name="Sav_ring_MCP" actuator="A_ring_MCP" />
|
||||
<actuatorvel name="Sav_pinky_ABD" actuator="A_pinky_ABD" />
|
||||
<actuatorvel name="Sav_pinky_MCP" actuator="A_pinky_MCP" />
|
||||
|
||||
<actuatorfrc name="Saf_wrist_PRO" actuator="A_wrist_PRO"/>
|
||||
<actuatorfrc name="Saf_wrist_UDEV" actuator="A_wrist_UDEV"/>
|
||||
<actuatorfrc name="Saf_wrist_FLEX" actuator="A_wrist_FLEX"/>
|
||||
<actuatorfrc name="Saf_thumb_ABD" actuator="A_thumb_ABD"/>
|
||||
<actuatorfrc name="Saf_thumb_MCP" actuator="A_thumb_MCP"/>
|
||||
<actuatorfrc name="Saf_thumb_PIP" actuator="A_thumb_PIP"/>
|
||||
<actuatorfrc name="Saf_thumb_DIP" actuator="A_thumb_DIP"/>
|
||||
<actuatorfrc name="Saf_index_ABD" actuator="A_index_ABD"/>
|
||||
<actuatorfrc name="Saf_index_MCP" actuator="A_index_MCP"/>
|
||||
<actuatorfrc name="Saf_middle_MCP" actuator="A_middle_MCP"/>
|
||||
<actuatorfrc name="Saf_ring_MCP" actuator="A_ring_MCP"/>
|
||||
<actuatorfrc name="Saf_pinky_ABD" actuator="A_pinky_ABD"/>
|
||||
<actuatorfrc name="Saf_pinky_MCP" actuator="A_pinky_MCP"/>
|
||||
|
||||
<accelerometer name="S_thumb_IMU" site="thumb_IMU"/>
|
||||
<accelerometer name="S_index_IMU" site="index_IMU"/>
|
||||
<accelerometer name="S_middle_IMU" site="middle_IMU"/>
|
||||
<accelerometer name="S_ring_IMU" site="ring_IMU"/>
|
||||
<accelerometer name="S_pinky_IMU" site="pinky_IMU"/>
|
||||
|
||||
<gyro site="thumb_IMU"/>
|
||||
<gyro site="index_IMU"/>
|
||||
<gyro site="middle_IMU"/>
|
||||
<gyro site="ring_IMU"/>
|
||||
<gyro site="pinky_IMU"/>
|
||||
|
||||
<touch name="S_palm_thumb" site="palm_thumb"/>
|
||||
<touch name="S_palm_pinky" site="palm_pinky"/>
|
||||
<touch name="S_palm_side" site="palm_side"/>
|
||||
<touch name="S_palm_back" site="palm_back"/>
|
||||
<touch name="S_thumb_proximal" site="thumb_proximal"/>
|
||||
<touch name="S_thumb_medial" site="thumb_medial"/>
|
||||
<touch name="S_thumb_distal" site="thumb_distal"/>
|
||||
<touch name="S_index_proximal" site="index_proximal"/>
|
||||
<touch name="S_index_medial" site="index_medial"/>
|
||||
<touch name="S_index_distal" site="index_distal"/>
|
||||
<touch name="S_middle_proximal" site="middle_proximal"/>
|
||||
<touch name="S_middle_medial" site="middle_medial"/>
|
||||
<touch name="S_middle_distal" site="middle_distal"/>
|
||||
<touch name="S_ring_proximal" site="ring_proximal"/>
|
||||
<touch name="S_ring_medial" site="ring_medial"/>
|
||||
<touch name="S_ring_distal" site="ring_distal"/>
|
||||
<touch name="S_pinky_proximal" site="pinky_proximal"/>
|
||||
<touch name="S_pinky_medial" site="pinky_medial"/>
|
||||
<touch name="S_pinky_distal" site="pinky_distal"/>
|
||||
</sensor>
|
||||
|
||||
|
||||
<tendon>
|
||||
<!--Index coupler tendons-->
|
||||
<fixed name="T_index32_cpl" range="0 1">
|
||||
<joint joint="index_DIP" coef="0.00705"/>
|
||||
<joint joint="index_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_index21_cpl" range="0 1">
|
||||
<joint joint="index_PIP" coef="0.010"/>
|
||||
<joint joint="index_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
<!--Middle coupler tendons-->
|
||||
<fixed name="T_middle32_cpl">
|
||||
<joint joint="middle_DIP" coef="0.00705"/>
|
||||
<joint joint="middle_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_middle21_cpl">
|
||||
<joint joint="middle_PIP" coef="0.010"/>
|
||||
<joint joint="middle_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
<!--Ring coupler tendons-->
|
||||
<fixed name="T_ring32_cpl">
|
||||
<joint joint="ring_DIP" coef="0.00705"/>
|
||||
<joint joint="ring_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_ring21_cpl">
|
||||
<joint joint="ring_PIP" coef="0.010"/>
|
||||
<joint joint="ring_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
<!--Little coupler tendons-->
|
||||
<fixed name="T_pinky32_cpl">
|
||||
<joint joint="pinky_DIP" coef="0.00705"/>
|
||||
<joint joint="pinky_PIP" coef="-0.00805"/>
|
||||
</fixed>
|
||||
<fixed name="T_pinky21_cpl">
|
||||
<joint joint="pinky_PIP" coef="0.010"/>
|
||||
<joint joint="pinky_MCP" coef="-0.010"/>
|
||||
</fixed>
|
||||
|
||||
</tendon>
|
||||
|
||||
|
||||
<equality>
|
||||
<weld body1="mocap" body2="forearm" solref="0.01 1" solimp=".9 .9 0.01"/>
|
||||
|
||||
<!-- DIP-PIP-MCP Couplings -->
|
||||
<tendon name="E_index32_cpl" tendon1="T_index32_cpl"/>
|
||||
<tendon name="E_index21_cpl" tendon1="T_index21_cpl"/>
|
||||
<tendon name="E_middle32_cpl" tendon1="T_middle32_cpl"/>
|
||||
<tendon name="E_middle21_cpl" tendon1="T_middle21_cpl"/>
|
||||
<tendon name="E_ring32_cpl" tendon1="T_ring32_cpl"/>
|
||||
<tendon name="E_ring21_cpl" tendon1="T_ring21_cpl"/>
|
||||
<tendon name="E_pinky32_cpl" tendon1="T_pinky32_cpl"/>
|
||||
<tendon name="E_pinky21_cpl" tendon1="T_pinky21_cpl"/>
|
||||
|
||||
<!-- AD-AB Coupling -->
|
||||
<joint name="ring_pinky_cpl" joint1="ring_ABD" joint2="pinky_ABD" polycoef="0 0.5 0 0 0"/>
|
||||
</equality>
|
||||
|
||||
|
||||
<actuator>
|
||||
<!-- Wrist -->
|
||||
<position name="A_wrist_PRO" class="MPL" joint="wrist_PRO" ctrlrange="-1.57 1.57"/>
|
||||
<position name="A_wrist_UDEV" class="MPL" joint="wrist_UDEV" ctrlrange="-0.26 0.79"/>
|
||||
<position name="A_wrist_FLEX" class="MPL" joint="wrist_FLEX" ctrlrange="-1 1"/>
|
||||
|
||||
<!-- Thumb -->
|
||||
<position name="A_thumb_ABD" class="MPL" joint="thumb_ABD" ctrlrange="0 2.1"/>
|
||||
<position name="A_thumb_MCP" class="MPL" joint="thumb_MCP" ctrlrange="0 1.0"/>
|
||||
<position name="A_thumb_PIP" class="MPL" joint="thumb_PIP" ctrlrange="0 1.0"/>
|
||||
<position name="A_thumb_DIP" class="MPL" joint="thumb_DIP" ctrlrange="-0.82 1.3"/>
|
||||
|
||||
<!-- Fingers -->
|
||||
<position name="A_index_ABD" class="MPL" joint="index_ABD" ctrlrange="0 0.34"/>
|
||||
<position name="A_index_MCP" class="MPL" joint="index_MCP" ctrlrange="0 1.6"/>
|
||||
<position name="A_middle_MCP" class="MPL" joint="middle_MCP" ctrlrange="0 1.6"/>
|
||||
<position name="A_ring_MCP" class="MPL" joint="ring_MCP" ctrlrange="0 1.6"/>
|
||||
<position name="A_pinky_ABD" class="MPL" joint="pinky_ABD" ctrlrange="0 0.34"/>
|
||||
<position name="A_pinky_MCP" class="MPL" joint="pinky_MCP" ctrlrange="0 1.6"/>
|
||||
</actuator>
|
||||
</mujoco>
|
||||
485
Engine/lib/bullet/data/Pendulum_Tendon_1_Cart_Rail.urdf
Normal file
485
Engine/lib/bullet/data/Pendulum_Tendon_1_Cart_Rail.urdf
Normal file
|
|
@ -0,0 +1,485 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--https://valerolab.org/-->
|
||||
<!--
|
||||
Code used for PID control of an inverted pendulum actuated by strings.
|
||||
-->
|
||||
<robot name="myfirst">
|
||||
<material name="blue">
|
||||
<color rgba="0 0 0.8 1"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
<material name="other">
|
||||
<color rgba="1 0 0.8 1"/>
|
||||
</material>
|
||||
<velocity name="vel">
|
||||
<speed spd="50"/>
|
||||
</velocity>
|
||||
|
||||
|
||||
<link name="Rail">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="4" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="4" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="100"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<link name="slider">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.1 0.6 0.3"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.1 0.6 0.3"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="100"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="rail_slider" type="prismatic">
|
||||
<axis xyz="0 1 0"/>
|
||||
<parent link="Rail"/>
|
||||
<child link="slider"/>
|
||||
<limit effort="0" lower="-2" upper="2" velocity="25"/>
|
||||
<origin rpy="-1.570796 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="cart">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.1 0.6 0.3"/>
|
||||
</geometry>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.1 0.6 0.3"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="100"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="slider_cart" type="fixed">
|
||||
<parent link="slider"/>
|
||||
<child link="cart"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.3"/>
|
||||
</joint>
|
||||
<!--*****************************************-->
|
||||
|
||||
<link name="pendulumAxis">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.1 0.1 .1"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.1 0.1 .1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="cart_pendulumAxis" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="cart"/>
|
||||
<child link="pendulumAxis"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="205"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 .21"/>
|
||||
</joint>
|
||||
|
||||
<link name="pendulum">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.1 2 .1"/>
|
||||
</geometry>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.1 2 .1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="1"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="pendulumAxis_pendulum" type="fixed">
|
||||
<parent link="pendulumAxis"/>
|
||||
<child link="pendulum"/>
|
||||
<origin rpy="0 0 1.570796" xyz="1 0 0"/>
|
||||
</joint>
|
||||
|
||||
<!--*****************************************-->
|
||||
<link name="tendon1_1">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="cart_tendon1_1" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="cart"/>
|
||||
<child link="tendon1_1"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .55 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="tendon1_2">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_1_tendon1_2" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_1"/>
|
||||
<child link="tendon1_2"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_3">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_2_tendon1_3" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_2"/>
|
||||
<child link="tendon1_3"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_4">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_3_tendon1_4" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_3"/>
|
||||
<child link="tendon1_4"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_5">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_4_tendon1_5" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_4"/>
|
||||
<child link="tendon1_5"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_6">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_5_tendon1_6" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_5"/>
|
||||
<child link="tendon1_6"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_7">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_6_tendon1_7" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_6"/>
|
||||
<child link="tendon1_7"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_8">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_7_tendon1_8" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_7"/>
|
||||
<child link="tendon1_8"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_9">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_8_tendon1_9" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_8"/>
|
||||
<child link="tendon1_9"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_10">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_9_tendon1_10" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_9"/>
|
||||
<child link="tendon1_10"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_11">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_10_tendon1_11" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_10"/>
|
||||
<child link="tendon1_11"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_12">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_11_tendon1_12" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_11"/>
|
||||
<child link="tendon1_12"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_13">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="other"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_12_tendon1_13" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_12"/>
|
||||
<child link="tendon1_13"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
<link name="tendon1_14">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length=".1" radius=".05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="tendon1_13_tendon1_14" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<parent link="tendon1_13"/>
|
||||
<child link="tendon1_14"/>
|
||||
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
||||
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
||||
</joint>
|
||||
|
||||
<!---->
|
||||
</robot>
|
||||
14
Engine/lib/bullet/data/Quadrotor/LICENSE.txt
Normal file
14
Engine/lib/bullet/data/Quadrotor/LICENSE.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
URDF created by Erwin Coumans
|
||||
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
http://bulletphysics.org
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it freely,
|
||||
subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
182
Engine/lib/bullet/data/TwoJointRobot_w_fixedJoints.urdf
Normal file
182
Engine/lib/bullet/data/TwoJointRobot_w_fixedJoints.urdf
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from TwoJointRobot.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<robot name="TwoJointRobot" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<material name="blue">
|
||||
<color rgba="0 0 0.8 1"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
<link name="base_link">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.025"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.025"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_01_cyl">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_12_cyl">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_21_cyl">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_23_cyl">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_1">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.5"/>
|
||||
<inertia ixx="0.00208333333333" ixy="0.0125" ixz="0.00625" iyy="0.167083333333" iyz="0.000625" izz="0.168333333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_2">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.5"/>
|
||||
<inertia ixx="0.00208333333333" ixy="0.0125" ixz="0.00625" iyy="0.167083333333" iyz="0.000625" izz="0.168333333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="link_01" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="link_01_cyl"/>
|
||||
<child link="link_1"/>
|
||||
</joint>
|
||||
<joint name="link_12" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="1.0 0 0"/>
|
||||
<parent link="link_1"/>
|
||||
<child link="link_12_cyl"/>
|
||||
</joint>
|
||||
<joint name="link_21" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="link_21_cyl"/>
|
||||
<child link="link_2"/>
|
||||
</joint>
|
||||
<joint name="link_23" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="1.0 0 0"/>
|
||||
<parent link="link_2"/>
|
||||
<child link="link_23_cyl"/>
|
||||
</joint>
|
||||
<joint name="joint_1" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="10000" lower="-3" upper="+3" velocity="5"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.075"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="link_01_cyl"/>
|
||||
</joint>
|
||||
<joint name="joint_2" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="10000" lower="-3" upper="+3" velocity="5"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<origin rpy="0 0 0" xyz="0.0 0. 0.05"/>
|
||||
<parent link="link_12_cyl"/>
|
||||
<child link="link_21_cyl"/>
|
||||
</joint>
|
||||
</robot>
|
||||
|
||||
110
Engine/lib/bullet/data/TwoJointRobot_wo_fixedJoints.urdf
Normal file
110
Engine/lib/bullet/data/TwoJointRobot_wo_fixedJoints.urdf
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from TwoJointRobot_woCyl.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<robot name="TwoJointRobot" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<material name="blue">
|
||||
<color rgba="0 0 0.8 1"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
<link name="base_link">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.025"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.025"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_23_cyl">
|
||||
<visual>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<cylinder length="0.05" radius="0.075"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.2"/>
|
||||
<inertia ixx="0.000322916666667" ixy="0.0" ixz="0.0" iyy="0.000322916666667" iyz="0.0" izz="0.0005625"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_1">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
<material name="blue"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.5"/>
|
||||
<inertia ixx="0.00208333333333" ixy="0.0125" ixz="0.00625" iyy="0.167083333333" iyz="0.000625" izz="0.168333333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="link_2">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
<material name="white"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="1.0 0.1 0.05"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0.5 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.5"/>
|
||||
<inertia ixx="0.00208333333333" ixy="0.0125" ixz="0.00625" iyy="0.167083333333" iyz="0.000625" izz="0.168333333333"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="joint_1" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="10000" lower="-3.14" upper="3.14" velocity="5"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.075"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="link_1"/>
|
||||
</joint>
|
||||
<joint name="joint_2" type="revolute">
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="10000" lower="-3.14" upper="3.14" velocity="5"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<origin rpy="0 0 0" xyz="1.0 0. 0.05"/>
|
||||
<parent link="link_1"/>
|
||||
<child link="link_2"/>
|
||||
</joint>
|
||||
<joint name="link_23" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="1.0 0 0"/>
|
||||
<parent link="link_2"/>
|
||||
<child link="link_23_cyl"/>
|
||||
</joint>
|
||||
</robot>
|
||||
|
||||
11
Engine/lib/bullet/data/ball.mtl
Normal file
11
Engine/lib/bullet/data/ball.mtl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
map_Kd uvmap.png
|
||||
5681
Engine/lib/bullet/data/ball.vtk
Normal file
5681
Engine/lib/bullet/data/ball.vtk
Normal file
File diff suppressed because it is too large
Load diff
11
Engine/lib/bullet/data/banana.mtl
Normal file
11
Engine/lib/bullet/data/banana.mtl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
map_Kd banana.png
|
||||
BIN
Engine/lib/bullet/data/banana.png
Normal file
BIN
Engine/lib/bullet/data/banana.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 114 KiB |
5524
Engine/lib/bullet/data/banana.vtk
Normal file
5524
Engine/lib/bullet/data/banana.vtk
Normal file
File diff suppressed because it is too large
Load diff
29
Engine/lib/bullet/data/block.urdf
Normal file
29
Engine/lib/bullet/data/block.urdf
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot name="block_2">
|
||||
<link name="block_2_base_link">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<spinning_friction value=".001"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.02"/>
|
||||
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
|
||||
<geometry>
|
||||
<box size="0.10 0.018 0.018"/>
|
||||
</geometry>
|
||||
<material name="blockmat">
|
||||
<color rgba="0.1 0.7 0.1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
|
||||
<geometry>
|
||||
<box size="0.10 0.018 0.018"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
5457
Engine/lib/bullet/data/boot.vtk
Normal file
5457
Engine/lib/bullet/data/boot.vtk
Normal file
File diff suppressed because it is too large
Load diff
5459
Engine/lib/bullet/data/bread.vtk
Normal file
5459
Engine/lib/bullet/data/bread.vtk
Normal file
File diff suppressed because it is too large
Load diff
23
Engine/lib/bullet/data/capsule.urdf
Normal file
23
Engine/lib/bullet/data/capsule.urdf
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="urdf_robot">
|
||||
<link name="base_link">
|
||||
<contact>
|
||||
<rolling_friction value="0.001"/>
|
||||
<spinning_friction value="0.001"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value=".1"/>
|
||||
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
|
||||
</inertial>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<capsule length="0.1" radius="0.02"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
|
||||
|
||||
|
||||
80
Engine/lib/bullet/data/cartpole.urdf
Normal file
80
Engine/lib/bullet/data/cartpole.urdf
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot name="physics">
|
||||
|
||||
<link name="slideBar">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="30 0.05 0.05"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 0"/>
|
||||
<material name="green">
|
||||
<color rgba="0 0.8 .8 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<inertial>
|
||||
<mass value="0"/>
|
||||
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<link name="cart">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.5 0.5 0.2"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 0"/>
|
||||
<material name="blue">
|
||||
<color rgba="0 0 .8 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.5 0.5 0.2"/>
|
||||
</geometry>
|
||||
<origin xyz="0 0 0"/>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="slider_to_cart" type="prismatic">
|
||||
<axis xyz="1 0 0"/>
|
||||
<origin xyz="0.0 0.0 0.0"/>
|
||||
<parent link="slideBar"/>
|
||||
<child link="cart"/>
|
||||
<limit effort="1000.0" lower="-15" upper="15" velocity="5"/>
|
||||
</joint>
|
||||
|
||||
<link name="pole">
|
||||
<visual>
|
||||
<geometry>
|
||||
<box size="0.05 0.05 1.0"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.5"/>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.5"/>
|
||||
<mass value="10"/>
|
||||
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
|
||||
</inertial>
|
||||
<collision>
|
||||
<geometry>
|
||||
<box size="0.05 0.05 1.0"/>
|
||||
</geometry>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.5"/>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="cart_to_pole" type="continuous">
|
||||
<axis xyz="0 1 0"/>
|
||||
<origin xyz="0.0 0.0 0"/>
|
||||
<parent link="cart"/>
|
||||
<child link="pole"/>
|
||||
</joint>
|
||||
|
||||
</robot>
|
||||
13
Engine/lib/bullet/data/cloth_z_up.mtl
Normal file
13
Engine/lib/bullet/data/cloth_z_up.mtl
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 94.117647
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
map_Kd cube.png
|
||||
32
Engine/lib/bullet/data/cloth_z_up.urdf
Normal file
32
Engine/lib/bullet/data/cloth_z_up.urdf
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="cube">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<contact_cfm value="0.0"/>
|
||||
<contact_erp value="1.0"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="1.0"/>
|
||||
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="cloth_z_up.obj" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="1 1 1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="0.0" ?>
|
||||
<robot name="cube.urdf">
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="cube">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
|
|
|
|||
29
Engine/lib/bullet/data/cube_collisionfilter.urdf
Normal file
29
Engine/lib/bullet/data/cube_collisionfilter.urdf
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="cube">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="1.0"/>
|
||||
<inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="cube.obj" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision group="0" mask="0">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="1 1 1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
|
||||
32
Engine/lib/bullet/data/cube_concave.urdf
Normal file
32
Engine/lib/bullet/data/cube_concave.urdf
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="cube">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<contact_cfm value="0.0"/>
|
||||
<contact_erp value="1.0"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="1.0"/>
|
||||
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="cube.obj" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision concave="yes">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="cube.obj" scale="1 1 1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
|
||||
32
Engine/lib/bullet/data/cube_convex.urdf
Normal file
32
Engine/lib/bullet/data/cube_convex.urdf
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="cube">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<contact_cfm value="0.0"/>
|
||||
<contact_erp value="1.0"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="1.0"/>
|
||||
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="cube.obj" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="cube.obj" scale="1 1 1"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="0.0" ?>
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="cube_gripper_left.urdf">
|
||||
<link name="world">
|
||||
</link>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="0.0" ?>
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="cube_gripper_right.urdf">
|
||||
<link name="world">
|
||||
</link>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="0.0" ?>
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="cube.urdf">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="0.0" ?>
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="cube.urdf">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<inertia_scaling value="3.0"/>
|
||||
<friction_anchor/>
|
||||
<lateral_friction value="1.0"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
<?xml version="0.0" ?>
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="cube.urdf">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<friction_anchor/>
|
||||
<lateral_friction value="1.3"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<stiffness value="300"/>
|
||||
<damping value="10"/>
|
||||
|
|
|
|||
14
Engine/lib/bullet/data/differential/LICENSE.txt
Normal file
14
Engine/lib/bullet/data/differential/LICENSE.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
URDF created by Erwin Coumans
|
||||
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
http://bulletphysics.org
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it freely,
|
||||
subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
BIN
Engine/lib/bullet/data/differential/diff_arm.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_arm.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_carrier.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_carrier.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_carrier_cover.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_carrier_cover.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_leftshaft.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_leftshaft.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_motor_cover.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_motor_cover.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_pinion.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_pinion.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_rightshaft.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_rightshaft.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_ring.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_ring.stl
Normal file
Binary file not shown.
198
Engine/lib/bullet/data/differential/diff_ring.urdf
Normal file
198
Engine/lib/bullet/data/differential/diff_ring.urdf
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
|
||||
<?xml version="1.0" ?>
|
||||
<robot name="husky_robot" xmlns:xacro="http://ros.org/wiki/xacro">
|
||||
<material name="White">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
<link name="world"/>
|
||||
<link name="diff_ring">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<stiffness value="30000"/>
|
||||
<damping value="1000"/>
|
||||
</contact>
|
||||
|
||||
<inertial>
|
||||
<mass value="2.637"/>
|
||||
<origin xyz="0 0 0"/>
|
||||
<inertia ixx="0.02467" ixy="0" ixz="0" iyy="0.02467" iyz="0" izz="0.04411"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh scale="0.001 0.001 0.001" filename="differential/diff_ring.stl"/>
|
||||
</geometry>
|
||||
<material name="DarkGrey"/>
|
||||
</visual>
|
||||
<visual>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh scale="0.001 0.001 0.001" filename="differential/diff_carrier.stl"/>
|
||||
</geometry>
|
||||
<material name="DarkGrey"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.570795 0 0" xyz="0 0.025 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.01" radius="0.05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="diff_ring_world" type="continuous">
|
||||
<parent link="world"/>
|
||||
<child link="diff_ring"/>
|
||||
<origin rpy="0 0 0" xyz="0.256 0.2854 0.03282"/>
|
||||
<axis rpy="0 0 0" xyz="0 1 0"/>
|
||||
</joint>
|
||||
<link name="diff_spiderA">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<stiffness value="30000"/>
|
||||
<damping value="1000"/>
|
||||
</contact>
|
||||
|
||||
<inertial>
|
||||
<mass value="2.637"/>
|
||||
<origin xyz="0 0 0"/>
|
||||
<inertia ixx="0.02467" ixy="0" ixz="0" iyy="0.02467" iyz="0" izz="0.04411"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh scale="0.001 0.001 0.001" filename="differential/diff_spider.stl"/>
|
||||
</geometry>
|
||||
<material name="DarkGrey"/>
|
||||
</visual>
|
||||
|
||||
|
||||
|
||||
|
||||
<collision>
|
||||
<origin rpy="1.570795 0 0" xyz="0 0.01 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.01" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="diff_spiderA_ring" type="continuous">
|
||||
<parent link="diff_ring"/>
|
||||
<child link="diff_spiderA"/>
|
||||
<origin rpy="0 0 1.570795" xyz="0.0 0.0 0.0"/>
|
||||
<axis rpy="0 0 0" xyz="0 1 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="diff_spiderB">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<stiffness value="30000"/>
|
||||
<damping value="1000"/>
|
||||
</contact>
|
||||
|
||||
<inertial>
|
||||
<mass value="2.637"/>
|
||||
<origin xyz="0 0 0"/>
|
||||
<inertia ixx="0.02467" ixy="0" ixz="0" iyy="0.02467" iyz="0" izz="0.04411"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh scale="0.001 0.001 0.001" filename="differential/diff_spider.stl"/>
|
||||
</geometry>
|
||||
<material name="DarkGrey"/>
|
||||
</visual>
|
||||
|
||||
|
||||
|
||||
|
||||
<collision>
|
||||
<origin rpy="1.570795 0 0" xyz="0 0.01 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.01" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="diff_spiderB_ring" type="continuous">
|
||||
<parent link="diff_ring"/>
|
||||
<child link="diff_spiderB"/>
|
||||
<origin rpy="0 0 -1.570795" xyz="0.0 0.0 0.0"/>
|
||||
<axis rpy="0 0 0" xyz="0 1 0"/>
|
||||
</joint>
|
||||
|
||||
|
||||
<link name="diff_sideA">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<stiffness value="30000"/>
|
||||
<damping value="1000"/>
|
||||
</contact>
|
||||
|
||||
<inertial>
|
||||
<mass value="2.637"/>
|
||||
<origin xyz="0 0 0"/>
|
||||
<inertia ixx="0.02467" ixy="0" ixz="0" iyy="0.02467" iyz="0" izz="0.04411"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="1.570795 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh scale="0.001 0.001 0.001" filename="differential/diff_side.stl"/>
|
||||
</geometry>
|
||||
<material name="DarkGrey"/>
|
||||
</visual>
|
||||
|
||||
<collision>
|
||||
<origin rpy="1.570795 0 0" xyz="0 0.01 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.01" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="diff_sideA_ring" type="continuous">
|
||||
<parent link="diff_ring"/>
|
||||
<child link="diff_sideA"/>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
|
||||
<axis rpy="0 0 0" xyz="0 1 0"/>
|
||||
</joint>
|
||||
|
||||
<link name="diff_sideB">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<rolling_friction value="0.0"/>
|
||||
<stiffness value="30000"/>
|
||||
<damping value="1000"/>
|
||||
</contact>
|
||||
|
||||
<inertial>
|
||||
<mass value="2.637"/>
|
||||
<origin xyz="0 0 0"/>
|
||||
<inertia ixx="0.02467" ixy="0" ixz="0" iyy="0.02467" iyz="0" izz="0.04411"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="-1.570795 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh scale="0.001 0.001 0.001" filename="differential/diff_side.stl"/>
|
||||
</geometry>
|
||||
<material name="DarkGrey"/>
|
||||
</visual>
|
||||
|
||||
<collision>
|
||||
<origin rpy="-1.570795 0 0" xyz="0 -0.01 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.01" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="diff_sideB_ring" type="continuous">
|
||||
<parent link="diff_ring"/>
|
||||
<child link="diff_sideB"/>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
|
||||
<axis rpy="0 0 0" xyz="0 1 0"/>
|
||||
</joint>
|
||||
</robot>
|
||||
BIN
Engine/lib/bullet/data/differential/diff_side.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_side.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_spider.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_spider.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_spider_shaft.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_spider_shaft.stl
Normal file
Binary file not shown.
BIN
Engine/lib/bullet/data/differential/diff_stand.stl
Normal file
BIN
Engine/lib/bullet/data/differential/diff_stand.stl
Normal file
Binary file not shown.
2
Engine/lib/bullet/data/differential/modelorigin.txt
Normal file
2
Engine/lib/bullet/data/differential/modelorigin.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
stl files were copied from http://www.otvinta.com/download09.html
|
||||
URDF file was manually created, along with mimicJointConstraint.py
|
||||
128
Engine/lib/bullet/data/dinnerware/cup/Cup/cup_vhacd.mtl
Normal file
128
Engine/lib/bullet/data/dinnerware/cup/Cup/cup_vhacd.mtl
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
# Blender MTL File: 'None'
|
||||
# Material Count: 14
|
||||
|
||||
newmtl Shape.014
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.664000 0.688000 0.616000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.015
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.120000 0.744000 0.280000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.016
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.688000 0.736000 0.392000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.017
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.168000 0.496000 0.216000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.018
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.720000 0.472000 0.504000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.019
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.576000 0.288000 0.088000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.020
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.544000 0.536000 0.232000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.021
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.656000 0.240000 0.496000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.022
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.184000 0.536000 0.280000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.023
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.232000 0.016000 0.176000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.024
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.464000 0.552000 0.536000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.025
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.744000 0.448000 0.088000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.026
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.336000 0.232000 0.584000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
|
||||
newmtl Shape.027
|
||||
Ns 400.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.168000 0.152000 0.672000
|
||||
Ks 0.250000 0.250000 0.250000
|
||||
Ni 1.000000
|
||||
d 0.500000
|
||||
illum 2
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 626 KiB |
|
|
@ -0,0 +1,4 @@
|
|||
newmtl material_0
|
||||
# shader_type beckmann
|
||||
map_Kd textured-0008192-diffuse_map.jpg
|
||||
|
||||
30
Engine/lib/bullet/data/dinnerware/cup/cup_small.urdf
Normal file
30
Engine/lib/bullet/data/dinnerware/cup/cup_small.urdf
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="cube.urdf">
|
||||
<link name="baseLink">
|
||||
<contact>
|
||||
<lateral_friction value="1.0"/>
|
||||
<inertia_scaling value="3.0"/>
|
||||
</contact>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.01 0 0.02"/>
|
||||
<mass value=".1"/>
|
||||
<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="Cup/textured-0008192.obj" scale="0.5 0.5 0.5"/>
|
||||
</geometry>
|
||||
<material name="white">
|
||||
<color rgba="1 1 1 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="Cup/cup_vhacd.obj" scale="0.5 0.5 0.5"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
||||
|
||||
21
Engine/lib/bullet/data/dinnerware/dinnerware.mtl
Normal file
21
Engine/lib/bullet/data/dinnerware/dinnerware.mtl
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
newmtl porcelain
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 0.200000 0.200000 0.200000
|
||||
d 1.000000
|
||||
illum 2
|
||||
Ns 0.000000
|
||||
|
||||
newmtl solid_color
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 0.200000 0.200000 0.200000
|
||||
d 1.000000
|
||||
illum 2
|
||||
Ns 0.000000
|
||||
|
||||
newmtl pan_tefal
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.609804 0.494118 0.486275
|
||||
Ks 0.330000 0.330000 0.330000
|
||||
map_Kd pan_tefal.jpg
|
||||
253
Engine/lib/bullet/data/dinnerware/generate.py
Normal file
253
Engine/lib/bullet/data/dinnerware/generate.py
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
from __future__ import print_function
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Obj:
|
||||
|
||||
def __init__(self, fn):
|
||||
self.ind_v = 0
|
||||
self.ind_vt = 0
|
||||
self.ind_vn = 0
|
||||
self.fn = fn
|
||||
self.out = open(fn + ".tmp", "w")
|
||||
self.out.write("mtllib dinnerware.mtl\n")
|
||||
|
||||
def __del__(self):
|
||||
self.out.close()
|
||||
import shutil
|
||||
shutil.move(self.fn + ".tmp", self.fn)
|
||||
|
||||
def push_v(self, v):
|
||||
self.out.write("v %f %f %f\n" % (v[0], v[1], v[2]))
|
||||
self.ind_v += 1
|
||||
return self.ind_v
|
||||
|
||||
def push_vt(self, vt):
|
||||
self.out.write("vt %f %f\n" % (vt[0], vt[1]))
|
||||
self.ind_vt += 1
|
||||
return self.ind_vt
|
||||
|
||||
def push_vn(self, vn):
|
||||
vn /= np.linalg.norm(vn)
|
||||
self.out.write("vn %f %f %f\n" % (vn[0], vn[1], vn[2]))
|
||||
self.ind_vn += 1
|
||||
return self.ind_vn
|
||||
|
||||
|
||||
def convex_hull(points, vind, nind, tind, obj):
|
||||
"super ineffective"
|
||||
cnt = len(points)
|
||||
for a in range(cnt):
|
||||
for b in range(a + 1, cnt):
|
||||
for c in range(b + 1, cnt):
|
||||
vec1 = points[a] - points[b]
|
||||
vec2 = points[a] - points[c]
|
||||
n = np.cross(vec1, vec2)
|
||||
n /= np.linalg.norm(n)
|
||||
C = np.dot(n, points[a])
|
||||
inner = np.inner(n, points)
|
||||
pos = (inner <= C + 0.0001).all()
|
||||
neg = (inner >= C - 0.0001).all()
|
||||
if not pos and not neg: continue
|
||||
obj.out.write("f %i//%i %i//%i %i//%i\n" %
|
||||
((vind[a], nind[a], vind[b], nind[b], vind[c], nind[c]) if
|
||||
(inner - C).sum() < 0 else
|
||||
(vind[a], nind[a], vind[c], nind[c], vind[b], nind[b])))
|
||||
#obj.out.write("f %i/%i/%i %i/%i/%i %i/%i/%i\n" % (
|
||||
# (vind[a], tind[a], nind[a], vind[b], tind[b], nind[b], vind[c], tind[c], nind[c])
|
||||
# if (inner - C).sum() < 0 else
|
||||
# (vind[a], tind[a], nind[a], vind[c], tind[c], nind[c], vind[b], tind[b], nind[b]) ) )
|
||||
|
||||
|
||||
def test_convex_hull():
|
||||
obj = Obj("convex_test.obj")
|
||||
vlist = np.random.uniform(low=-0.1, high=+0.1, size=(100, 3))
|
||||
nlist = vlist.copy()
|
||||
tlist = np.random.uniform(low=0, high=+1, size=(100, 2))
|
||||
vind = [obj.push_v(xyz) for xyz in vlist]
|
||||
nind = [obj.push_vn(xyz) for xyz in nlist]
|
||||
tind = [obj.push_vt(uv) for uv in tlist]
|
||||
convex_hull(vlist, vind, nind, tind, obj)
|
||||
|
||||
|
||||
class Contour:
|
||||
|
||||
def __init__(self):
|
||||
self.vprev_vind = None
|
||||
|
||||
def f(self, obj, vlist_vind, vlist_tind, vlist_nind):
|
||||
cnt = len(vlist_vind)
|
||||
for i1 in range(cnt):
|
||||
i2 = i1 - 1
|
||||
obj.out.write("f %i/%i/%i %i/%i/%i %i/%i/%i\n" % (
|
||||
vlist_vind[i2],
|
||||
vlist_tind[i2],
|
||||
vlist_nind[i2],
|
||||
vlist_vind[i1],
|
||||
vlist_tind[i1],
|
||||
vlist_nind[i1],
|
||||
self.vprev_vind[i1],
|
||||
self.vprev_tind[i1],
|
||||
self.vprev_nind[i1],
|
||||
))
|
||||
obj.out.write("f %i/%i/%i %i/%i/%i %i/%i/%i\n" % (
|
||||
vlist_vind[i2],
|
||||
vlist_tind[i2],
|
||||
vlist_nind[i2],
|
||||
self.vprev_vind[i1],
|
||||
self.vprev_tind[i1],
|
||||
self.vprev_nind[i1],
|
||||
self.vprev_vind[i2],
|
||||
self.vprev_tind[i2],
|
||||
self.vprev_nind[i2],
|
||||
))
|
||||
|
||||
def belt(self, obj, vlist, nlist, tlist):
|
||||
vlist_vind = [obj.push_v(xyz) for xyz in vlist]
|
||||
vlist_tind = [obj.push_vt(xyz) for xyz in tlist]
|
||||
vlist_nind = [obj.push_vn(xyz) for xyz in nlist]
|
||||
if self.vprev_vind:
|
||||
self.f(obj, vlist_vind, vlist_tind, vlist_nind)
|
||||
else:
|
||||
self.first_vind = vlist_vind
|
||||
self.first_tind = vlist_tind
|
||||
self.first_nind = vlist_nind
|
||||
self.vprev_vind = vlist_vind
|
||||
self.vprev_tind = vlist_tind
|
||||
self.vprev_nind = vlist_nind
|
||||
|
||||
def finish(self, obj):
|
||||
self.f(obj, self.first_vind, self.first_tind, self.first_nind)
|
||||
|
||||
|
||||
def test_contour():
|
||||
RAD1 = 2.0
|
||||
RAD2 = 1.5
|
||||
obj = Obj("torus.obj")
|
||||
obj.out.write("usemtl porcelain\n")
|
||||
contour = Contour()
|
||||
for step in range(100):
|
||||
angle = step / 100.0 * 2 * np.pi
|
||||
belt_v = []
|
||||
belt_n = []
|
||||
belt_t = []
|
||||
for b in range(50):
|
||||
beta = b / 50.0 * 2 * np.pi
|
||||
r = RAD2 * np.cos(beta) + RAD1
|
||||
z = RAD2 * np.sin(beta)
|
||||
belt_v.append(np.array([np.cos(angle) * r, np.sin(angle) * r, z]))
|
||||
belt_n.append(
|
||||
np.array([np.cos(angle) * np.cos(beta),
|
||||
np.sin(angle) * np.cos(beta),
|
||||
np.sin(beta)]))
|
||||
belt_t.append((0, 0))
|
||||
contour.belt(obj, belt_v, belt_n, belt_t)
|
||||
contour.finish(obj)
|
||||
|
||||
|
||||
#test_convex_hull()
|
||||
#test_contour()
|
||||
|
||||
|
||||
class RotationFigureParams:
|
||||
pass
|
||||
|
||||
|
||||
def generate_plate(p, obj, collision_prefix):
|
||||
contour = Contour()
|
||||
belt_vlist_3d_prev = None
|
||||
|
||||
for step in range(p.N_VIZ + 1):
|
||||
angle = step / float(p.N_VIZ) * 2 * np.pi
|
||||
|
||||
if step % p.COLLISION_EVERY == 0:
|
||||
vlist_3d = []
|
||||
for x, y in p.belt_simple:
|
||||
vlist_3d.append([np.cos(angle) * x * 1.06, np.sin(angle) * x * 1.06, y])
|
||||
if belt_vlist_3d_prev:
|
||||
obj2 = Obj(collision_prefix % (step / p.COLLISION_EVERY))
|
||||
obj2.out.write("usemtl pan_tefal\n")
|
||||
vlist = np.array(vlist_3d + belt_vlist_3d_prev)
|
||||
vlist[len(vlist_3d):] *= 1.01 # break points on one plane
|
||||
vlist[0, 0:2] += 0.01 * vlist[len(vlist_3d), 0:2]
|
||||
vlist[len(vlist_3d), 0:2] += 0.01 * vlist[0, 0:2]
|
||||
nlist = np.random.uniform(low=-1, high=+1, size=vlist.shape)
|
||||
tlist = np.random.uniform(low=0, high=+1, size=(len(vlist), 2))
|
||||
vind = [obj2.push_v(xyz) for xyz in vlist]
|
||||
nind = [obj2.push_vn(xyz) for xyz in nlist]
|
||||
convex_hull(vlist, vind, nind, None, obj2)
|
||||
belt_vlist_3d_prev = vlist_3d
|
||||
if step == p.N_VIZ: break
|
||||
|
||||
belt_v = []
|
||||
belt_n = []
|
||||
belt_t = []
|
||||
for x, y, nx, ny in p.belt:
|
||||
belt_v.append(np.array([np.cos(angle) * x, np.sin(angle) * x, y]))
|
||||
belt_n.append(np.array([np.cos(angle) * nx, np.sin(angle) * nx, ny]))
|
||||
if ny - nx >= 0:
|
||||
belt_t.append((127.0 / 512 + np.cos(angle) * x / p.RAD_HIGH * 105 / 512,
|
||||
(512 - 135.0) / 512 + np.sin(angle) * x / p.RAD_HIGH * 105 / 512))
|
||||
else:
|
||||
belt_t.append((382.0 / 512 + np.cos(angle) * x / p.RAD_HIGH * 125 / 512,
|
||||
(512 - 380.0) / 512 + np.sin(angle) * x / p.RAD_HIGH * 125 / 512))
|
||||
contour.belt(obj, belt_v, belt_n, belt_t)
|
||||
|
||||
contour.finish(obj)
|
||||
|
||||
|
||||
def tefal():
|
||||
p = RotationFigureParams()
|
||||
p.RAD_LOW = 0.240 / 2
|
||||
p.RAD_HIGH = 0.255 / 2
|
||||
p.H = 0.075
|
||||
p.THICK = 0.005
|
||||
p.N_VIZ = 30
|
||||
p.COLLISION_EVERY = 5
|
||||
p.belt = [
|
||||
(p.RAD_HIGH - p.THICK, p.H, -1, 0), # x y norm
|
||||
(p.RAD_HIGH, p.H, 0, 1),
|
||||
(p.RAD_HIGH + p.THICK, p.H, +1, 0),
|
||||
(p.RAD_LOW + p.THICK, p.THICK, +1, 0),
|
||||
(p.RAD_LOW, 0, 0, -1),
|
||||
(0, 0, 0, -1),
|
||||
(0, p.THICK, 0, 1),
|
||||
(p.RAD_LOW - p.THICK, p.THICK, 0, 1),
|
||||
(p.RAD_LOW - p.THICK, 3 * p.THICK, -1, 0),
|
||||
]
|
||||
p.belt.reverse()
|
||||
p.belt_simple = [(p.RAD_HIGH - p.THICK, p.H), (p.RAD_HIGH + p.THICK, p.H), (p.RAD_LOW, 0),
|
||||
(p.RAD_LOW - p.THICK, 0)]
|
||||
obj = Obj("pan_tefal.obj")
|
||||
obj.out.write("usemtl pan_tefal\n")
|
||||
generate_plate(p, obj, "pan_tefal-collision%02i.obj")
|
||||
|
||||
|
||||
def plate():
|
||||
p = RotationFigureParams()
|
||||
p.RAD_LOW = 0.110 / 2
|
||||
p.RAD_HIGH = 0.190 / 2
|
||||
p.H = 0.060
|
||||
p.THICK = 0.003
|
||||
p.N_VIZ = 30
|
||||
p.COLLISION_EVERY = 5
|
||||
p.belt = [
|
||||
(p.RAD_HIGH - p.THICK, p.H, -0.9, 0.5), # x y norm
|
||||
(p.RAD_HIGH, p.H, 0, 1),
|
||||
(p.RAD_HIGH + p.THICK, p.H, +1, 0),
|
||||
(p.RAD_LOW + p.THICK, p.THICK, +1, 0),
|
||||
(p.RAD_LOW, 0, 0, -1),
|
||||
(0, 0, 0, -1),
|
||||
(0, p.THICK, 0, 1),
|
||||
(p.RAD_LOW - 3 * p.THICK, p.THICK, 0, 1),
|
||||
(p.RAD_LOW - p.THICK, 3 * p.THICK, -0.5, 1.0),
|
||||
]
|
||||
p.belt.reverse()
|
||||
p.belt_simple = [(p.RAD_HIGH - p.THICK, p.H), (p.RAD_HIGH + p.THICK, p.H), (p.RAD_LOW, 0),
|
||||
(p.RAD_LOW - p.THICK, 0)]
|
||||
obj = Obj("plate.obj")
|
||||
obj.out.write("usemtl solid_color\n")
|
||||
generate_plate(p, obj, "plate-collision%02i.obj")
|
||||
|
||||
|
||||
plate()
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue