diff --git a/examples/MultiThreading/MultiThreadingExample.cpp b/examples/MultiThreading/MultiThreadingExample.cpp index c63a0b363..b9701fb7e 100644 --- a/examples/MultiThreading/MultiThreadingExample.cpp +++ b/examples/MultiThreading/MultiThreadingExample.cpp @@ -29,13 +29,14 @@ void SamplelsMemoryReleaseFunc(void* ptr); #ifndef _WIN32 #include "b3PosixThreadSupport.h" + b3ThreadSupportInterface* createThreadSupport(int numThreads) { b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads", - SampleThreadFunc, - SamplelsMemoryFunc, - SamplelsMemoryReleaseFunc, - numThreads); + SampleThreadFunc, + SamplelsMemoryFunc, + SamplelsMemoryReleaseFunc, + numThreads); b3ThreadSupportInterface* threadSupport = new b3PosixThreadSupport(constructionInfo); return threadSupport; diff --git a/examples/MultiThreading/main.cpp b/examples/MultiThreading/main.cpp index f2dcd13dc..561f17c21 100644 --- a/examples/MultiThreading/main.cpp +++ b/examples/MultiThreading/main.cpp @@ -22,7 +22,7 @@ subject to the following restrictions: void SampleThreadFunc(void* userPtr, void* lsMemory); void* SamplelsMemoryFunc(); - +void SamplelsMemoryReleaseFunc(void* ptr); #include //#include "BulletMultiThreaded/PlatformDefinitions.h" @@ -34,6 +34,7 @@ b3ThreadSupportInterface* createThreadSupport(int numThreads) b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads", SampleThreadFunc, SamplelsMemoryFunc, +SamplelsMemoryReleaseFunc, numThreads); b3ThreadSupportInterface* threadSupport = new b3PosixThreadSupport(constructionInfo); @@ -99,6 +100,13 @@ void* SamplelsMemoryFunc() return new SampleThreadLocalStorage; } +void SamplelsMemoryReleaseFunc(void* ptr) +{ + SampleThreadLocalStorage* p = (SampleThreadLocalStorage*)ptr; + delete p; +} + + int main(int argc, char** argv) { int numThreads = 8; diff --git a/examples/SharedMemory/PhysicsClientC_API.cpp b/examples/SharedMemory/PhysicsClientC_API.cpp index ee506c143..e6c5aeecc 100644 --- a/examples/SharedMemory/PhysicsClientC_API.cpp +++ b/examples/SharedMemory/PhysicsClientC_API.cpp @@ -404,7 +404,7 @@ B3_SHARED_API int b3LoadSoftBodySetCollisionHardness(b3SharedMemoryCommandHandle return 0; } -B3_SHARED_API int b3LoadSoftBodyUseSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision) +B3_SHARED_API int b3LoadSoftBodySetSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision) { struct SharedMemoryCommand* command = (struct SharedMemoryCommand*)commandHandle; b3Assert(command->m_type == CMD_LOAD_SOFT_BODY); diff --git a/examples/SharedMemory/PhysicsClientC_API.h b/examples/SharedMemory/PhysicsClientC_API.h index c67f79d9c..856fa2cc4 100644 --- a/examples/SharedMemory/PhysicsClientC_API.h +++ b/examples/SharedMemory/PhysicsClientC_API.h @@ -640,7 +640,7 @@ extern "C" B3_SHARED_API int b3LoadSoftBodyAddMassSpringForce(b3SharedMemoryCommandHandle commandHandle, double springElasticStiffness , double springDampingStiffness); B3_SHARED_API int b3LoadSoftBodyAddGravityForce(b3SharedMemoryCommandHandle commandHandle, double gravityX, double gravityY, double gravityZ); B3_SHARED_API int b3LoadSoftBodySetCollisionHardness(b3SharedMemoryCommandHandle commandHandle, double collisionHardness); - B3_SHARED_API int b3LoadSoftBodyUseSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision); + B3_SHARED_API int b3LoadSoftBodySetSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision); B3_SHARED_API int b3LoadSoftBodyUseFaceContact(b3SharedMemoryCommandHandle commandHandle, int useFaceContact); B3_SHARED_API int b3LoadSoftBodySetFrictionCoefficient(b3SharedMemoryCommandHandle commandHandle, double frictionCoefficient); B3_SHARED_API int b3LoadSoftBodyUseBendingSprings(b3SharedMemoryCommandHandle commandHandle, int useBendingSprings); diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd.py index cbdf9d191..5a07d70a6 100644 --- a/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd.py +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd.py @@ -807,7 +807,10 @@ class HumanoidStablePD(object): rootPosSim, rootOrnSim = self._pybullet_client.getBasePositionAndOrientation(self._sim_model) rootPosKin, rootOrnKin = self._pybullet_client.getBasePositionAndOrientation(self._kin_model) linVelSim, angVelSim = self._pybullet_client.getBaseVelocity(self._sim_model) - linVelKin, angVelKin = self._pybullet_client.getBaseVelocity(self._kin_model) + #don't read the velocities from the kinematic model (they are zero), use the pose interpolator velocity + #see also issue https://github.com/bulletphysics/bullet3/issues/2401 + linVelKin = self._poseInterpolator._baseLinVel + angVelKin = self._poseInterpolator._baseAngVel root_rot_err = self.calcRootRotDiff(rootOrnSim, rootOrnKin) pose_err += root_rot_w * root_rot_err diff --git a/setup.py b/setup.py index b84bc9385..ae78e4690 100644 --- a/setup.py +++ b/setup.py @@ -491,7 +491,7 @@ if 'BT_USE_EGL' in EGL_CXX_FLAGS: setup( name='pybullet', - version='2.5.7', + version='2.5.8', description= 'Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning', long_description=