Merge branch 'master' of https://github.com/erwincoumans/bullet3
This commit is contained in:
@@ -49,30 +49,30 @@
|
|||||||
</visual>
|
</visual>
|
||||||
|
|
||||||
<asset>
|
<asset>
|
||||||
<mesh name="index0" file="index0.stl"/>
|
<mesh name="index0" file="index0_collision.stl"/>
|
||||||
<mesh name="index1" file="index1.stl"/>
|
<mesh name="index1" file="index1_collision.stl"/>
|
||||||
<mesh name="index2" file="index2.stl"/>
|
<mesh name="index2" file="index2_collision.stl"/>
|
||||||
<mesh name="index3" file="index3.stl"/>
|
<mesh name="index3" file="index3_collision.stl"/>
|
||||||
<mesh name="middle0" file="middle0.stl"/>
|
<mesh name="middle0" file="middle0_collision.stl"/>
|
||||||
<mesh name="middle1" file="middle1.stl"/>
|
<mesh name="middle1" file="middle1_collision.stl"/>
|
||||||
<mesh name="middle2" file="middle2.stl"/>
|
<mesh name="middle2" file="middle2_collision.stl"/>
|
||||||
<mesh name="middle3" file="middle3.stl"/>
|
<mesh name="middle3" file="middle3_collision.stl"/>
|
||||||
<mesh name="palm" file="palm.stl"/>
|
<mesh name="palm" file="palm.stl"/>
|
||||||
<mesh name="pinky0" file="pinky0.stl"/>
|
<mesh name="pinky0" file="pinky0_collision.stl"/>
|
||||||
<mesh name="pinky1" file="pinky1.stl"/>
|
<mesh name="pinky1" file="pinky1_collision.stl"/>
|
||||||
<mesh name="pinky2" file="pinky2.stl"/>
|
<mesh name="pinky2" file="pinky2_collision.stl"/>
|
||||||
<mesh name="pinky3" file="pinky3.stl"/>
|
<mesh name="pinky3" file="pinky3_collision.stl"/>
|
||||||
<mesh name="ring0" file="ring0.stl"/>
|
<mesh name="ring0" file="ring0_collision.stl"/>
|
||||||
<mesh name="ring1" file="ring1.stl"/>
|
<mesh name="ring1" file="ring1_collision.stl"/>
|
||||||
<mesh name="ring2" file="ring2.stl"/>
|
<mesh name="ring2" file="ring2_collision.stl"/>
|
||||||
<mesh name="ring3" file="ring3.stl"/>
|
<mesh name="ring3" file="ring3_collision.stl"/>
|
||||||
<mesh name="thumb0" file="thumb0.stl"/>
|
<mesh name="thumb0" file="thumb0_collision.stl"/>
|
||||||
<mesh name="thumb1" file="thumb1.stl"/>
|
<mesh name="thumb1" file="thumb1_collision.stl"/>
|
||||||
<mesh name="thumb2" file="thumb2.stl"/>
|
<mesh name="thumb2" file="thumb2_collision.stl"/>
|
||||||
<mesh name="thumb3" file="thumb3.stl"/>
|
<mesh name="thumb3" file="thumb3_collision.stl"/>
|
||||||
<mesh name="wristx" file="wristx.stl"/>
|
<mesh name="wristx" file="wristx_collision.stl"/>
|
||||||
<mesh name="wristy" file="wristy.stl"/>
|
<mesh name="wristy" file="wristy_collision.stl"/>
|
||||||
<mesh name="wristz" file="wristz.stl"/>
|
<mesh name="wristz" file="wristz_collision.stl"/>
|
||||||
|
|
||||||
<texture type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0"
|
<texture type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0"
|
||||||
width="100" height="100"/>
|
width="100" height="100"/>
|
||||||
|
|||||||
BIN
data/MPL/mesh/index0_collision.STL
Normal file
BIN
data/MPL/mesh/index0_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/index1_collision.STL
Normal file
BIN
data/MPL/mesh/index1_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/index2_collision.STL
Normal file
BIN
data/MPL/mesh/index2_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/index3_collision.STL
Normal file
BIN
data/MPL/mesh/index3_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/middle0_collision.STL
Normal file
BIN
data/MPL/mesh/middle0_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/middle1_collision.STL
Normal file
BIN
data/MPL/mesh/middle1_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/middle2_collision.STL
Normal file
BIN
data/MPL/mesh/middle2_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/middle3_collision.STL
Normal file
BIN
data/MPL/mesh/middle3_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/palm_collision.STL
Normal file
BIN
data/MPL/mesh/palm_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/pinky0_collision.STL
Normal file
BIN
data/MPL/mesh/pinky0_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/pinky1_collision.STL
Normal file
BIN
data/MPL/mesh/pinky1_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/pinky2_collision.STL
Normal file
BIN
data/MPL/mesh/pinky2_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/pinky3_collision.STL
Normal file
BIN
data/MPL/mesh/pinky3_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/ring0_collision.STL
Normal file
BIN
data/MPL/mesh/ring0_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/ring1_collision.STL
Normal file
BIN
data/MPL/mesh/ring1_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/ring2_collision.STL
Normal file
BIN
data/MPL/mesh/ring2_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/ring3_collision.STL
Normal file
BIN
data/MPL/mesh/ring3_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/thumb0_collision.STL
Normal file
BIN
data/MPL/mesh/thumb0_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/thumb1_collision.STL
Normal file
BIN
data/MPL/mesh/thumb1_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/thumb2_collision.STL
Normal file
BIN
data/MPL/mesh/thumb2_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/thumb3_collision.STL
Normal file
BIN
data/MPL/mesh/thumb3_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/wristx_collision.STL
Normal file
BIN
data/MPL/mesh/wristx_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/wristy_collision.STL
Normal file
BIN
data/MPL/mesh/wristy_collision.STL
Normal file
Binary file not shown.
BIN
data/MPL/mesh/wristz_collision.STL
Normal file
BIN
data/MPL/mesh/wristz_collision.STL
Normal file
Binary file not shown.
@@ -49,30 +49,30 @@
|
|||||||
</visual>
|
</visual>
|
||||||
|
|
||||||
<asset>
|
<asset>
|
||||||
<mesh name="index0" file="index0.stl"/>
|
<mesh name="index0" file="index0_collision.stl"/>
|
||||||
<mesh name="index1" file="index1.stl"/>
|
<mesh name="index1" file="index1_collision.stl"/>
|
||||||
<mesh name="index2" file="index2.stl"/>
|
<mesh name="index2" file="index2_collision.stl"/>
|
||||||
<mesh name="index3" file="index3.stl"/>
|
<mesh name="index3" file="index3_collision.stl"/>
|
||||||
<mesh name="middle0" file="middle0.stl"/>
|
<mesh name="middle0" file="middle0_collision.stl"/>
|
||||||
<mesh name="middle1" file="middle1.stl"/>
|
<mesh name="middle1" file="middle1_collision.stl"/>
|
||||||
<mesh name="middle2" file="middle2.stl"/>
|
<mesh name="middle2" file="middle2_collision.stl"/>
|
||||||
<mesh name="middle3" file="middle3.stl"/>
|
<mesh name="middle3" file="middle3_collision.stl"/>
|
||||||
<mesh name="palm" file="palm.stl"/>
|
<mesh name="palm" file="palm_collision.stl"/>
|
||||||
<mesh name="pinky0" file="pinky0.stl"/>
|
<mesh name="pinky0" file="pinky0_collision.stl"/>
|
||||||
<mesh name="pinky1" file="pinky1.stl"/>
|
<mesh name="pinky1" file="pinky1_collision.stl"/>
|
||||||
<mesh name="pinky2" file="pinky2.stl"/>
|
<mesh name="pinky2" file="pinky2_collision.stl"/>
|
||||||
<mesh name="pinky3" file="pinky3.stl"/>
|
<mesh name="pinky3" file="pinky3_collision.stl"/>
|
||||||
<mesh name="ring0" file="ring0.stl"/>
|
<mesh name="ring0" file="ring0_collision.stl"/>
|
||||||
<mesh name="ring1" file="ring1.stl"/>
|
<mesh name="ring1" file="ring1_collision.stl"/>
|
||||||
<mesh name="ring2" file="ring2.stl"/>
|
<mesh name="ring2" file="ring2_collision.stl"/>
|
||||||
<mesh name="ring3" file="ring3.stl"/>
|
<mesh name="ring3" file="ring3_collision.stl"/>
|
||||||
<mesh name="thumb0" file="thumb0.stl"/>
|
<mesh name="thumb0" file="thumb0_collision.stl"/>
|
||||||
<mesh name="thumb1" file="thumb1.stl"/>
|
<mesh name="thumb1" file="thumb1_collision.stl"/>
|
||||||
<mesh name="thumb2" file="thumb2.stl"/>
|
<mesh name="thumb2" file="thumb2_collision.stl"/>
|
||||||
<mesh name="thumb3" file="thumb3.stl"/>
|
<mesh name="thumb3" file="thumb3_collision.stl"/>
|
||||||
<mesh name="wristx" file="wristx.stl"/>
|
<mesh name="wristx" file="wristx_collision.stl"/>
|
||||||
<mesh name="wristy" file="wristy.stl"/>
|
<mesh name="wristy" file="wristy_collision.stl"/>
|
||||||
<mesh name="wristz" file="wristz.stl"/>
|
<mesh name="wristz" file="wristz_collision.stl"/>
|
||||||
|
|
||||||
<texture type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0"
|
<texture type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0"
|
||||||
width="100" height="100"/>
|
width="100" height="100"/>
|
||||||
|
|||||||
@@ -98,8 +98,11 @@ static GLInstanceGraphicsShape* LoadMeshFromSTL(const char* relativeFileName)
|
|||||||
}
|
}
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
shape->m_numIndices = shape->m_indices->size();
|
if (shape)
|
||||||
shape->m_numvertices = shape->m_vertices->size();
|
{
|
||||||
|
shape->m_numIndices = shape->m_indices->size();
|
||||||
|
shape->m_numvertices = shape->m_vertices->size();
|
||||||
|
}
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
49
examples/pybullet/vrminitaur.py
Normal file
49
examples/pybullet/vrminitaur.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#script to track a robot with a VR controller attached to it.
|
||||||
|
|
||||||
|
import time
|
||||||
|
import pybullet as p
|
||||||
|
|
||||||
|
#first try to connect to shared memory (VR), if it fails use local GUI
|
||||||
|
c = p.connect(p.SHARED_MEMORY)
|
||||||
|
if (c<0):
|
||||||
|
c = p.connect(p.GUI)
|
||||||
|
p.resetSimulation()
|
||||||
|
p.setGravity(0,0,0)
|
||||||
|
print(c)
|
||||||
|
if (c<0):
|
||||||
|
p.connect(p.GUI)
|
||||||
|
|
||||||
|
#load the MuJoCo MJCF hand
|
||||||
|
minitaur = p.loadURDF("quadruped/minitaur.urdf")
|
||||||
|
robot_cid = -1
|
||||||
|
|
||||||
|
POSITION=1
|
||||||
|
ORIENTATION=2
|
||||||
|
BUTTONS=6
|
||||||
|
|
||||||
|
p.setRealTimeSimulation(1)
|
||||||
|
|
||||||
|
controllerId = -1
|
||||||
|
|
||||||
|
while True:
|
||||||
|
events = p.getVREvents()
|
||||||
|
for e in (events):
|
||||||
|
#print (e[BUTTONS])
|
||||||
|
if (e[BUTTONS][33]&p.VR_BUTTON_WAS_TRIGGERED ):
|
||||||
|
if (controllerId >= 0):
|
||||||
|
controllerId = -1
|
||||||
|
else:
|
||||||
|
controllerId = e[0]
|
||||||
|
if (e[0] == controllerId):
|
||||||
|
if (robot_cid>=0):
|
||||||
|
p.changeConstraint(robot_cid,e[POSITION],e[ORIENTATION], maxForce=5000)
|
||||||
|
if (e[BUTTONS][32]&p.VR_BUTTON_WAS_TRIGGERED ):
|
||||||
|
if (robot_cid>=0):
|
||||||
|
p.removeConstraint(robot_cid)
|
||||||
|
|
||||||
|
#q = [0,0,0,1]
|
||||||
|
euler = p.getEulerFromQuaternion(e[ORIENTATION])
|
||||||
|
q = p.getQuaternionFromEuler([euler[0],euler[1],0]) #-euler[0],-euler[1],-euler[2]])
|
||||||
|
robot_cid = p.createConstraint(minitaur,-1,-1,-1,p.JOINT_FIXED,[0,0,0],[0.1,0,0],e[POSITION],q,e[ORIENTATION])
|
||||||
|
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ inline int btGetVersion()
|
|||||||
#define ATTRIBUTE_ALIGNED16(a) a
|
#define ATTRIBUTE_ALIGNED16(a) a
|
||||||
#define ATTRIBUTE_ALIGNED64(a) a
|
#define ATTRIBUTE_ALIGNED64(a) a
|
||||||
#define ATTRIBUTE_ALIGNED128(a) a
|
#define ATTRIBUTE_ALIGNED128(a) a
|
||||||
#elif (_M_ARM)
|
#elif defined(_M_ARM)
|
||||||
#define SIMD_FORCE_INLINE __forceinline
|
#define SIMD_FORCE_INLINE __forceinline
|
||||||
#define ATTRIBUTE_ALIGNED16(a) __declspec() a
|
#define ATTRIBUTE_ALIGNED16(a) __declspec() a
|
||||||
#define ATTRIBUTE_ALIGNED64(a) __declspec() a
|
#define ATTRIBUTE_ALIGNED64(a) __declspec() a
|
||||||
|
|||||||
Reference in New Issue
Block a user