From d8d81f9ca494b8218fb0e06d1d28268f69c05969 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 17 Aug 2020 16:22:31 -0700 Subject: [PATCH 1/5] laikago_toes_zup.urdf: fill in inertia values, computed as PyBullet does internally (from mass and collision volumes) --- .../laikago/laikago_toes_zup.urdf | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/pybullet/gym/pybullet_data/laikago/laikago_toes_zup.urdf b/examples/pybullet/gym/pybullet_data/laikago/laikago_toes_zup.urdf index d051affb8..8ebab9123 100644 --- a/examples/pybullet/gym/pybullet_data/laikago/laikago_toes_zup.urdf +++ b/examples/pybullet/gym/pybullet_data/laikago/laikago_toes_zup.urdf @@ -7,7 +7,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -326,7 +326,7 @@ - + @@ -362,7 +362,7 @@ - + @@ -398,7 +398,7 @@ - + @@ -435,7 +435,7 @@ - + From bbb66370c6b215f925570304f402928f6088f87a Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Thu, 20 Aug 2020 08:35:24 -0700 Subject: [PATCH 2/5] reset camera in the rendering thread to avoid artifacts --- .../SharedMemory/PhysicsServerExample.cpp | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/examples/SharedMemory/PhysicsServerExample.cpp b/examples/SharedMemory/PhysicsServerExample.cpp index 3a159f581..bd93ce3f3 100644 --- a/examples/SharedMemory/PhysicsServerExample.cpp +++ b/examples/SharedMemory/PhysicsServerExample.cpp @@ -130,6 +130,7 @@ enum MultiThreadedGUIHelperCommunicationEnums eGUIHelperUpdateShape, eGUIHelperChangeGraphicsInstanceScaling, eGUIUserDebugRemoveAllParameters, + eGUIHelperResetCamera, }; #include @@ -1086,9 +1087,23 @@ public: { m_childGuiHelper->setUpAxis(axis); } + float m_resetCameraCamDist; + float m_resetCameraYaw; + float m_resetCameraPitch; + float m_resetCameraCamPosX; + float m_resetCameraCamPosY; + float m_resetCameraCamPosZ; + virtual void resetCamera(float camDist, float yaw, float pitch, float camPosX, float camPosY, float camPosZ) { - m_childGuiHelper->resetCamera(camDist, yaw, pitch, camPosX, camPosY, camPosZ); + m_resetCameraCamDist = camDist; + m_resetCameraYaw = yaw; + m_resetCameraPitch = pitch; + m_resetCameraCamPosX = camPosX; + m_resetCameraCamPosY = camPosY; + m_resetCameraCamPosZ = camPosZ; + m_cs->setSharedParam(1, eGUIHelperResetCamera); + workerThreadWait(); } virtual bool getCameraInfo(int* width, int* height, float viewMatrix[16], float projectionMatrix[16], float camUp[3], float camForward[3], float hor[3], float vert[3], float* yaw, float* pitch, float* camDist, float camTarget[3]) const @@ -2360,6 +2375,18 @@ void PhysicsServerExample::updateGraphics() m_multiThreadedHelper->mainThreadRelease(); break; } + case eGUIHelperResetCamera: + { + m_multiThreadedHelper->m_childGuiHelper->resetCamera( + m_multiThreadedHelper->m_resetCameraCamDist, + m_multiThreadedHelper->m_resetCameraYaw, + m_multiThreadedHelper->m_resetCameraPitch, + m_multiThreadedHelper->m_resetCameraCamPosX, + m_multiThreadedHelper->m_resetCameraCamPosY, + m_multiThreadedHelper->m_resetCameraCamPosZ); + m_multiThreadedHelper->mainThreadRelease(); + } + case eGUIHelperAutogenerateGraphicsObjects: { B3_PROFILE("eGUIHelperAutogenerateGraphicsObjects"); From 9888e7b5a5ebefcd7b86a46c245cbba580b1b3a6 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Thu, 20 Aug 2020 09:08:37 -0700 Subject: [PATCH 3/5] reset camera in the rendering thread to avoid artifacts --- examples/SharedMemory/PhysicsServerExample.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/SharedMemory/PhysicsServerExample.cpp b/examples/SharedMemory/PhysicsServerExample.cpp index bd93ce3f3..264ff7542 100644 --- a/examples/SharedMemory/PhysicsServerExample.cpp +++ b/examples/SharedMemory/PhysicsServerExample.cpp @@ -1096,6 +1096,7 @@ public: virtual void resetCamera(float camDist, float yaw, float pitch, float camPosX, float camPosY, float camPosZ) { + m_cs->lock(); m_resetCameraCamDist = camDist; m_resetCameraYaw = yaw; m_resetCameraPitch = pitch; @@ -1104,6 +1105,7 @@ public: m_resetCameraCamPosZ = camPosZ; m_cs->setSharedParam(1, eGUIHelperResetCamera); workerThreadWait(); + //m_childGuiHelper->resetCamera(camDist, yaw, pitch, camPosX, camPosY, camPosZ); } virtual bool getCameraInfo(int* width, int* height, float viewMatrix[16], float projectionMatrix[16], float camUp[3], float camForward[3], float hor[3], float vert[3], float* yaw, float* pitch, float* camDist, float camTarget[3]) const @@ -1439,7 +1441,7 @@ public: float pitch = -35; float yaw = 50; float targetPos[3] = {0, 0, 0}; //-3,2.8,-2.5}; - m_guiHelper->resetCamera(dist, yaw, pitch, targetPos[0], targetPos[1], targetPos[2]); + m_multiThreadedHelper->m_childGuiHelper->resetCamera(dist, yaw, pitch, targetPos[0], targetPos[1], targetPos[2]); } virtual bool wantsTermination(); @@ -2385,6 +2387,7 @@ void PhysicsServerExample::updateGraphics() m_multiThreadedHelper->m_resetCameraCamPosY, m_multiThreadedHelper->m_resetCameraCamPosZ); m_multiThreadedHelper->mainThreadRelease(); + break; } case eGUIHelperAutogenerateGraphicsObjects: From f0352ee69269dbd453ce860851d368aea0f5727c Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 31 Aug 2020 20:33:38 +0000 Subject: [PATCH 4/5] try to fix travis error --- .ci/script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/script.sh b/.ci/script.sh index 7fff323bf..f213df283 100755 --- a/.ci/script.sh +++ b/.ci/script.sh @@ -9,7 +9,7 @@ if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then $SUDO apt-get install -y python3-pip $SUDO pip3 install -U wheel $SUDO pip3 install -U setuptools - $SUDO python3 setup.py install + python3 setup.py install --user python3 examples/pybullet/unittests/unittests.py --verbose python3 examples/pybullet/unittests/userDataTest.py --verbose python3 examples/pybullet/unittests/saveRestoreStateTest.py --verbose From 692888732169f0bb1722ec668b36dc3213eb3d81 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 31 Aug 2020 18:58:11 -0700 Subject: [PATCH 5/5] try to fix travis builds --- .ci/docker/ubuntu-bionic | 1 + .ci/docker/ubuntu-xenial | 1 + .ci/script.sh | 1 + 3 files changed, 3 insertions(+) diff --git a/.ci/docker/ubuntu-bionic b/.ci/docker/ubuntu-bionic index b7643438e..9b389a42c 100644 --- a/.ci/docker/ubuntu-bionic +++ b/.ci/docker/ubuntu-bionic @@ -13,6 +13,7 @@ RUN apt-get install -y \ lsb-release \ pkg-config \ python3 \ + python3-dev \ python3-distutils \ software-properties-common \ sudo diff --git a/.ci/docker/ubuntu-xenial b/.ci/docker/ubuntu-xenial index 693e8a1fd..bce1f2b75 100644 --- a/.ci/docker/ubuntu-xenial +++ b/.ci/docker/ubuntu-xenial @@ -13,5 +13,6 @@ RUN apt-get install -y \ lsb-release \ pkg-config \ python3 \ + python3-dev \ software-properties-common \ sudo diff --git a/.ci/script.sh b/.ci/script.sh index f213df283..66b814ed6 100755 --- a/.ci/script.sh +++ b/.ci/script.sh @@ -7,6 +7,7 @@ if [[ "$TRAVIS_OS_NAME" == "linux" && "$CXX" = "g++" ]]; then $SUDO apt-get update $SUDO apt-get install -y python3 $SUDO apt-get install -y python3-pip + $SUDO apt-get install python3-dev $SUDO pip3 install -U wheel $SUDO pip3 install -U setuptools python3 setup.py install --user