Erwin Coumans
ff43cea263
Fix some deactivation issues with btMultiBodyDynamicsWorld, should also improve performance for PyBullet with larger worlds
...
(even when sleeping is disabled, islands are split)
2018-08-26 16:14:36 -07:00
Erwin Coumans
61b7591b8e
expose choice of contraint solver in PyBullet, with switchConstraintSolver example
2018-08-23 23:04:17 -07:00
Jeongseok Lee
340236ee29
Fix copy & paste mistake
2018-08-07 15:16:46 -07:00
Jeongseok Lee
e8e97d39fe
Merge remote-tracking branch 'upstream/master' into multibody_mlcp_solver_v2
2018-08-06 10:34:43 -07:00
Erwin Coumans
684b69f4dd
fix applied too fast
2018-08-03 17:57:09 -07:00
Erwin Coumans
02b0e34bda
v_ptr
2018-08-03 17:53:07 -07:00
Erwin Coumans
97baccd1a5
revert regression in btMultiBody.cpp
2018-08-03 17:38:01 -07:00
Jeongseok Lee
809fb3ed49
Use btAssert instead of assert
2018-08-03 13:46:59 -07:00
Jeongseok Lee
89c6a83ae9
Add MLCP constraint solver for multibody
2018-08-02 22:53:30 -07:00
Erwin Coumans
f0c8bbf1a1
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-07-24 15:21:12 +02:00
Erwin Coumans
f91e5c573c
use the maximum square residual instead of sum
2018-07-24 15:20:34 +02:00
erwincoumans
defd961f60
Merge pull request #1798 from erwincoumans/master
...
Change constraint solver threshold-based termination condition on res…
2018-07-22 12:28:32 +02:00
Erwin Coumans
b5495e789d
Change constraint solver threshold-based termination condition on residual of velocity threshold, not on residual of impulse threshold.
...
This avoids issues with systems with large mass ratios.
Test: add this to BasicDemo/BasicExample.cpp in initPhysics
m_dynamicsWorld->getSolverInfo().m_numIterations = 1000;
m_dynamicsWorld->getSolverInfo().m_leastSquaresResidualThreshold = 1e-4;
2018-07-22 11:30:16 +02:00
Jeongseok Lee
deea2bb411
Use const reference for referencing existing members
2018-07-09 20:59:29 -07:00
Jeongseok Lee
6dbdf02808
Minor code optimization in multibody forward dynamics
2018-07-09 20:54:13 -07:00
Erwin Coumans
fbbd675ed6
expose PyBullet API to wakeup/put objects to sleep, enable/disable deactivation
...
fix wakeup -> reset deactivation clock
2018-06-15 21:26:26 -07:00
Erwin Coumans
134beaf8dc
fix uninitialized m_companionId in btMultiBody (only happens if sleeping is enabled)
2018-06-05 16:40:41 -07:00
erwincoumans
e721a9cdf5
revert testing changes
2018-06-01 22:02:17 -07:00
erwincoumans
54ddbad29f
remove printf
2018-06-01 21:56:34 -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
ec4b3505a4
fix fixed constraint between btMultiBody and btRigidBody
2018-05-29 16:49:07 -07:00
Erwin Coumans
988d78cb61
enable btMultiBodyGearConstraint positional error correction
...
fix multibody debug drawing of joint frames
2018-05-01 17:40:26 -07:00
erwincoumans
9ffb05eb3b
fix double->float issue by cast, fixes issue #1510
...
fix possible out-of-bounds access in btMultiBody
2018-01-15 11:59:00 -08:00
erwincoumans
22b4809891
leave m_useGlobalVelocities to false, until enabled, for backward compatibility
...
use URDF_GLOBAL_VELOCITIES_MB flag in PyBullet loadURDF.
fix robot_bases.py due to new fields in getJointInfo.
backward compabitibility: BulletMJCFImporter, keep creating btMultiSphereShape for MJCF capsules with fromto, instead of shifted btCapsuleShapeZ, unless if CUF_USE_IMPLICIT_CYLINDER is used.
2018-01-10 11:16:50 -08:00
erwincoumans
c4b1b84687
Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis
...
https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
2018-01-09 22:47:56 -08:00
Erwin Coumans
e97b751781
further work on urdfEditor.py, fix some serialization issues
2018-01-08 12:25:56 -08:00
Erwin Coumans
c59a3763e5
tweak ImportMJCFSetup.cpp example MJCF humanoid a bit, clamp target positions to be within joint limits to avoid solver problems (conflicting constraints)
...
add humanoid_manual_control.py PyBullet example which is similar to ImportMJCFSetup.cpp
2018-01-04 13:14:11 -08:00
Erwin Coumans
0326fa93a8
made some progress in saving and restoring the state during the simulation, with identical results.
...
Option to de/serialize btPersistentContactManifolds and fix lossy conversion during btMultiBody de/serialization of base world transform
(serialize the quaternion, not the converted 3x3 matrix)
There are still several caches not taken into account, and btMultiBody links/constraints are not deserialized yet etc.
See examples\pybullet\examples\saveRestoreState.py for an example.
2017-12-30 14:19:13 -08:00
erwincoumans
5ab6a0ad43
Fix issue with cone friction, we had to accumulate squared residual, not just residual.
...
This fixes issue 1473, thanks to Avik De for reporting the issue.
2017-12-14 10:51:43 -08:00
Erwin Coumans
8c0913d96b
Merge remote-tracking branch 'bp/master'
2017-12-01 10:25:43 -08:00
Erwin Coumans
c556ad651d
expose pybullet 'enableConeFriction' to switch between pyramid and cone friction model.
2017-12-01 10:07:07 -08:00
erwincoumans
aa82003174
Update btMultiBodyConstraintSolver.h
2017-11-29 10:53:29 -08:00
erwincoumans
8ff75e11cd
fixes related to torsional friction, due to recent cone friction update.
2017-11-28 20:09:56 -08:00
erwincoumans
e6e3da11e5
Implement true implicit friction cone, instead of friction pyramid, for btMultiBody vs btMultiBody and btMultiBody vs btRigidBody
...
See data/sphere_small_zeroinertia.urdf for an example.
2017-11-23 17:38:23 -08:00
erwincoumans
29aa9cb789
Bullet bump up to version 2.88
...
add preliminary support to import btMultiBody from a .bullet file (will help save/restore state)
fix some Windows char/widechar issues
2017-11-22 18:12:02 -08:00
erwincoumans
d6b3f735b6
fix a bug related to joint reaction forces (clearMultiBodyConstraintForces was clearing forces after they were computed in some cases)
2017-11-09 10:46:13 -08:00
Erwin Coumans
344005a8f0
catch invalid mass/inertia instead of division by zero/nan. also, avoid indexing <0
2017-11-07 19:25:14 -08:00
Erwin Coumans
c480fab9a0
make btMultiBodyFixedConstraint.cpp linear/angular constraint frame consistent
2017-10-18 19:47:32 -07:00
Erwin Coumans
c21e7a8a8e
fix potentially uninitialized data warning
2017-10-14 10:16:33 -07:00
erwincoumans
8a265b8af2
expose gear erp/relative position target to C-API/pybullet
...
finish much better C++ vrSyncPlugin, running in-the-loop with the physics at high frequency, see also vr_kuka_setup_vrSyncPlugin.py
2017-09-26 19:54:36 -07:00
erwincoumans
312e35964f
make some code const correct.
2017-09-22 07:53:21 -07:00
Erwin Coumans
65e22ba3e9
allow auxilary link to be used for gear btMultiBodyGearConstraint.
2017-06-23 20:24:04 -07:00
Erwin Coumans
bb8cfe3c9a
pybullet.getAABB and getAPIVersion
...
fix btMultiBody::getLinkCollider
bump up Bullet C-API version
2017-06-15 19:46:27 -07:00
Erwin Coumans
d17faddff2
fix for b3RequestActualStateCommandComputeLinkVelocity/getLinkState link velocities for static links
2017-06-13 13:51:38 -07:00
Erwin Coumans
46f2f3db4e
implement 'mimic' joint constraint or 'gear' constraint for btMultiBody, add example in pybullet/examples/mimicJointConstraint.py
2017-06-07 16:22:02 -07:00
Erwin Coumans
a7aed37632
work on pybullet/C-API createMultiBody (still preliminary, only sphere/box collision shapes, no links/hierarchies yet, soon)
...
pybullet/C-API, expose linear/angular damping
fix some warnings (param name needs to be same in .h and .cpp)
fix potential startup threading issue (args were deleted in main thread while still possibly use in child thread)
fix for spinning/rolling friction in case of mixing maximal and reduced coordinate btMultiBody+btRigidBody
2017-06-04 22:04:16 -07:00
erwincoumans
3987bdd333
remove pose frame from SDF,
...
allow plane collision shape in SDF
load the Roboschool stadium.sdf in humanoid_knee_position_control.py
2017-06-01 20:13:39 -07:00
Erwin Coumans
b645963879
expose pybullet changeDynamics(spinningFriction=..., rollingFriction=..., restitution=...)
...
Bullet C-API b3ChangeDynamicsInfoSetSpinningFriction/RollingFriction/Resitution
b3PhysicsParamSetRestitutionVelocityThreshold, / pybullet.setPhysicsEngineParameter restitutionVelocityThreshold:
if the velocity is below this threshhold, the restitution is zero (this prevents energy buildup at near-resting state)
pybullet restitution.py example.
2017-05-26 18:14:38 -07:00
Erwin Coumans
433d11d8cf
Add a btIDEbugDraw::clearLines, helps multi-threaded rendering of lines (while updating those lines in a dynamics world in a different thread)
...
Expose COV_ENABLE_VR_RENDER_CONTROLLERS, to enable/disable rendering of controllers (and some frames) in VR
Expose COV_ENABLE_RENDERING to enable/disable rendering.
Fix some multi-threading issues (potential crashes), related to debug drawing/rendering in one thread, while changing the dynamics world/removing/resetSimulation in a different thread.
2017-05-16 12:19:03 -07:00
Oleg Klimov
f4943c3ed5
Fix self-collision code again (in case both flags are set)
2017-05-11 14:30:07 +03:00