Commit Graph

968 Commits

Author SHA1 Message Date
erwincoumans
97c6937388 Simplify GJK. Still needs double precision for large differences of feature scales.
Extract faces directly from btConvexHullComputer (in initializePolyhedralFeatures), instead of reconstructing them, thanks to Josh Klint in #1654
PyBullet: use initializePolyhedralFeatures for convex hulls and boxes (to allow SAT)
PyBullet: expose setPhysicsEngineParameter(enableSAT=0 or 1) to enable Separating Axis Test based collision detection for convex vs convex/box and convex versus concave triangles (in a triangle mesh).
2018-06-12 16:08:46 -07:00
erwincoumans
a342af0382 remove getLinkState from API, it automatically calculated forwardKinematics and propagates velocities, which is very expensive. 2018-06-11 23:49:34 -07:00
erwincoumans
3eebcd40ca exposed a few more methods in the C++ b3RobotSimulatorClientAPI (_NoDirect base class) 2018-06-09 19:40:12 -07:00
erwincoumans
7ac3e263ab add saveStateToMemory/restoreStateFromMemory/setAdditionalSearchPath/getAPIVersion to Bullet Robotics API. 2018-06-09 13:54:22 -07:00
Erwin Coumans
6ca3fe18f5 fix previous commit 2018-06-06 16:33:52 -07:00
Erwin Coumans
1bcb54dc29 remove some warnings 2018-06-06 16:10:20 -07:00
Erwin Coumans
dd444fc6c4 reshuffle args 2018-06-05 21:09:00 -07:00
erwincoumans
cb6d76d6b5 fix another parameter name in header, in enableJointForceTorqueSensor 2018-06-05 19:59:00 -07:00
erwincoumans
dff04c7f59 fix parameter name in header, computeForwardKinematics 2018-06-05 19:57:21 -07:00
erwincoumans
4083088a3a people are actually using this internal API, add a new one and keep old one backward compatible
b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect3 is the new one,
b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect2 old
2018-06-05 19:44:33 -07:00
Erwin Coumans
ad35beb61f fix typo 2018-06-05 16:25:43 -07:00
erwincoumans
b6f5cb4c34 enable pdControlPlugin by default (requires pdControlPlugin.cpp and b3RobotSimulatorClientAPI_NoDirect.cpp)
add pdControl.py example, make pdControlPlugin functional
reduce memory usage
fix examples/pybullet/gym/pybullet_data/random_urdfs/948/948.urdf, fixes issue #1704
2018-06-05 15:59:01 -07:00
erwincoumans
d7cbe8dd26 Merge remote-tracking branch 'bp/master' 2018-06-05 08:15:11 -07:00
Erwin Coumans
7bd84740d7 PyBullet / BulletRobotics: prepare for pdControlPlugin and collisionFilterPlugin
Split examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.* and move to examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.cpp and examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp
2018-06-05 11:41:41 +10:00
Erwin Coumans
e4cd88e24f PyBullet: allow to choose the shared memory key when starting SHARED_MEMORY_SERVER 2018-06-05 11:36:54 +10:00
Tigran Gasparian
bb72a91080 Clears the user data cache when syncUserData is called.
Adds unit test for the UserData functons.
Changes the char pointer in btHashString to std::string. There were
problems where the object owning the string memory would deallocate the
string, making the btHashString object invalid.
2018-06-04 15:10:48 +02:00
erwincoumans
4997eb8da2 add new file related to PyBullet userData 2018-06-02 13:52:00 -07:00
erwincoumans
b6120e760a PyBullet.addUserData / getUserData / removeUserData / getUserDataId / getNumUserData / getUserDataInfo
See examples/pybullet/examples/userData.py how to use it. TODO: add to PyBullet Quickstart Guide.
Thanks to Tigran Gasparian for the contribution!
2018-06-02 13:40:08 -07:00
erwincoumans
cb6b7a7c38 PyBullet: expose flags to createMultiBody 2018-06-02 11:37:14 -07:00
erwincoumans
68ea22bfd0 undo git merge conflict mess-up with IK 2018-06-01 22:50:06 -07:00
erwincoumans
92579f9196 Merge branch 'master' of https://github.com/erwincoumans/bullet3
# Conflicts:
#	examples/SharedMemory/PhysicsServerCommandProcessor.cpp
2018-06-01 09:35:15 -07:00
erwincoumans
2d40a18315 picking shouldn't activate (wakeup) sleeping objects 2018-06-01 09:34:18 -07:00
erwincoumans
3463d0a879 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-31 16:06:33 -07:00
erwincoumans
edc70582dd implement accurate inverse kinematics in C++. PyBullet.calculateInverseKinematics gets "maxNumIterations=20", "residualThreshold=1.04" to tune
allow to provide current joint positions in IK, overriding the body joint positions, also IK target will be in local coordinates.
expose b3ComputeDofCount in C-API
2018-05-31 16:06:15 -07:00
erwincoumans
150a0e050e Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-30 19:47:47 -07:00
Erwin Coumans
491ecf2a20 export object auto-deactivation (sleeping) to pybullet (needs some more testing/configuring) 2018-05-30 18:37:08 -07:00
Erwin Coumans
14c6dee6a3 const char* for path 2018-05-30 14:37:49 -07:00
erwincoumans
1dec33d44b move default linearslop to 0 2018-05-30 12:31:29 -07:00
Erwin Coumans
8ace9251aa pass by pointer instead of reference to satisy compiler 2018-05-23 14:22:22 +10:00
Erwin Coumans
77c332bd88 PyBullet: add option to cache graphics shapes for URDF files, handy for benchmarks with many duplicate robots
See https://github.com/erwincoumans/pybullet_robots ANYmal.py for an example.
PyBullet: Expose p.setPhysicsEngineParameter(solverResidualThreshold=1e-2) (b3PhysicsParamSetSolverResidualThreshold), increases solver performance a lot
PyBullet: Expose p.setPhysicsEngineParameter(contactSlop) Set it to zero, to avoid issues with restitution.
PyBullet: Expose isNumpyEnabled, return True is PyBullet was compiled with NUMPY support for 'getCameraImage'.
PyBullet: Expose p.ChangeDynamics(objectUid, linkIndex, contactProcessingThreshold), to avoid issues of speculative/predictive contacts with restitution.
See also http://twvideo01.ubm-us.net/o1/vault/gdc2012/slides/Programming%20Track/Vincent_ROBERT_Track_ADifferentApproach.pdf
2018-05-23 13:26:00 +10:00
Erwin Coumans
0b2c9ea645 PyBullet: avoid a crash in SHARED_MEMORY_SERVER 2018-05-20 12:20:06 +10:00
erwincoumans
8f4d1e722e Merge pull request #1686 from yuchenericwu2/master
Expose CFM parameters
2018-05-16 16:18:45 -07:00
Yuchen Wu
f03ae5a857 Expose CFM parameters in PhysicsClient.
Add b3PhysicsParamSetDefaultGlobalCFM() and
b3PhysicsParamSetDefaultFrictionCFM().
2018-05-16 13:46:19 -07:00
erwincoumans
b432daed65 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-16 12:11:29 -07:00
erwincoumans
0ca2c5f925 use Bullet3Common/b3AlignedObjectArray.h instead of LinearMath version in SharedMemory/PhysicsClientSharedMemory 2018-05-16 12:10:34 -07:00
Erwin Coumans
28b86ba0a4 fix some tsan issues (thread sanitizer) 2018-05-16 08:32:21 -07:00
Erwin Coumans
d17d496f97 fix potential asan/tsan issue 2018-05-15 13:24:28 -07:00
erwincoumans
e5a9b42f9a expose PyBullet.setPhysicsEngineParameter(jointFeedbackMode)
use p.JOINT_FEEDBACK_IN_JOINT_FRAME if you want the joint feedback expressed in joint frame (instead of link inertial frame)
use p.JOINT_FEEDBACK_IN_WORLD_SPACE if you want the joint feedback in world space coordinates, instead of local link/joint coordinates.
Example: p.setPhysicsEngineParameter(jointFeedbackMode=p.JOINT_FEEDBACK_IN_WORLD_SPACE+p.JOINT_FEEDBACK_IN_JOINT_FRAME)
2018-05-11 19:52:06 -07:00
erwincoumans
06a23ecd6d PyBullet TinyRenderer, fix cylinder (don't add caps like a capsule), also convert colors stored in visual shapes, if needed. 2018-05-10 18:37:48 -07:00
Erwin Coumans
414b3ef9bb PyBullet urdfEditor improvements: saveUrdf mesh scale, fix incorrect index, add getCameraImage in examples/combineUrdf.py 2018-05-09 10:28:12 -07:00
Erwin Coumans
0b5785421b PyBullet: re-add API to header 2018-05-07 16:59:06 -07:00
Erwin Coumans
7bc85c7d43 PyBullet.SHARED_MEMORY_SERVER, use secondary key for server 2018-05-07 16:01:38 -07:00
Erwin Coumans
7383843b24 expose PyBullet.SHARED_MEMORY_SERVER
connect from 1 different PyBullet client using PyBullet.SHARED_MEMORY)
(don't use more than 1 other client to submit commands in parallel)
2018-05-07 15:57:36 -07:00
Erwin Coumans
84b20bda80 don't use the URDF inertia element, unless flag CUF_USE_URDF_INERTIA is set, not for the diagonal and also not for the inertial frame shift. 2018-05-03 14:24:16 -07:00
Erwin Coumans
4a8ad1a54e fix posix memory release issues
fix compile problems on Mac OSX
reduce shared memory size on Mac (>512*1024 fails to allocate)
2018-05-02 15:39:16 -07:00
erwincoumans
1f6afcda30 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-02 14:32:59 -07:00
erwincoumans
3a5f778b70 expose lsMemory destroy function to release thread memory 2018-05-02 14:32:43 -07:00
erwincoumans
cee3ecde2b Merge pull request #1664 from erwincoumans/master
PyBullet: fix some memory leaks
2018-05-02 13:54:07 -07:00
erwincoumans
d7e81590b5 fix a memory leak 2018-05-02 12:24:31 -07:00
Jan Matas
b1f85268f0 Check for null 2018-04-30 19:01:53 +01:00