Commit Graph

205 Commits

Author SHA1 Message Date
erwincoumans
a929e8f2e5 Merge pull request #2203 from erwincoumans/master
implement stablePD control version of testLaikago,  fix getCameraImage in VR,  only report solver analytics if enabled using setPhysicsEngineParameter
2019-04-15 08:52:03 -07:00
erwincoumans
e97a7d77af only report solver analytics if enabled using setPhysicsEngineParameter(reportSolverAnalytics=1) 2019-04-14 18:20:20 -07:00
erwincoumans
5ff52e47d9 report constraint solver analytics data, currently for each island the number of solver iterations used and remaining residual error. 2019-04-11 22:19:02 -07:00
Steven
bdf0553077 don't need to call the computeAccelerationsArticulatedBodyAlgorithmMultiDof() the second pass if the m_internalNeedsJointFeedback is false. 2019-04-09 20:13:54 +08:00
erwincoumans
a9e350b0fb Merge pull request #2141 from erwincoumans/blocksolver
solver experiment
2019-03-06 22:02:44 -08:00
erwincoumans
04441a29cc Implement 'cone friction' for the rolling friction, to avoid curved trajectories for contact with rolling friction enabled.
(and separate spinning friction from rolling friction)
Fixes Issue 2117
2019-03-03 17:10:01 -08:00
erwincoumans
36a9dcf368 remove src/BulletDynamics/Featherstone/btMultiBodyBlockConstraintSolver.cpp and examples/ConstraintSolvers/* code
revert changes to btMultiBodyConstraintSolver/btSequentialImpulseConstraintSolver related to btMultiBodyBlockConstraintSolver
2019-02-27 17:10:17 -08:00
erwincoumans
48d84e7899 revert experiment not passing the constraint solver back down from btMultiBodyDynamicsWorld to btDiscreteDynamicsWorld. 2019-02-27 16:00:56 -08:00
erwincoumans
d7e087de16 prepare small experiment with block solver 2019-02-26 23:27:05 -08:00
erwincoumans
c44471c38c preparation for block solver btRigidBody. 2019-02-26 20:24:15 -08:00
erwincoumans
bdf9b10246 more work on pybullet_envs.deep_mimic.
allow btMultiBody to not wakeup (for some RL experiments)
move deep_mimic motion files to data/motions folder, so we can use the args files unmodified.
2019-02-18 17:57:02 -08:00
erwincoumans
014c68388e fix createVisualShape.py ray vertical/horizontal and retina scale, fixes Issue 2085
fix memory leak in removeBody, fixes issue 2086
2019-01-30 15:29:43 -08:00
erwincoumans
93087f36df avoid conflicts when using a unity build (single cpp file including many other cpp) 2019-01-23 13:35:58 -08:00
erwincoumans
ae8e83988b Add preliminary PhysX 4.0 backend for PyBullet
Add inverse dynamics / mass matrix code from DeepMimic, thanks to Xue Bin (Jason) Peng
Add example how to use stable PD control for humanoid with spherical joints (see humanoidMotionCapture.py)
Fix related to TinyRenderer object transforms not updating when using collision filtering
2019-01-22 21:08:37 -08:00
Erwin Coumans
19aafd5221 PyBullet: handle the switch from fixed base to floating base when changing mass from zero to non-zero 2019-01-03 17:35:12 -08:00
erwincoumans
8e8c3fb315 few fixes in inverse dynamics 2018-12-19 20:15:30 -08:00
erwincoumans
7dd524075c Implement btMultiBodySphericalJointMotor, able to track a quaternion position target.
Expose this btMultiBodySphericalJointMotor through PyBullet.setJointMotorControlMultiDof
Expose PyBullet.getQuaternionSlerp
Improve PyBullet.setJointMotorControlMultiDof
Improve humanoidMotionCapture.py with slerp and using setJointMotorControlMultiDof
Expose  btMultiBody::spatialTransform
Fix btMultiBody::setupPlanar from DeepMimic codebase
Add support for multidof joints in btMultiBody::compTreeLinkVelocities, thanks to DeepMimic codebase @xbpeng
2018-11-13 14:32:18 -08:00
erwincoumans
0b2142414d fix usage of btMultiBody::setJointPosMultiDof/setJointVelMultiDof 2018-11-11 19:04:07 -08:00
erwincoumans
17219f84c6 make setJointPosMultiDof and setJointVelMultiDof argument const.
add PyBullet.resetJointStateMultiDof / getJointStateMultiDof, for preliminary support for spherical and planar joints
2018-11-10 14:26:31 -08:00
Erwin Coumans
882252f8c0 move global from btMultiBody into dynamicsWorld.getSolverInfo 2018-11-05 10:50:03 -08:00
Erwin Coumans
dc2d54df2c remove 32bit build ARCH from xcode4 generated files (premake4)
optimization in btMultiBody::fillConstraintJacobianMultiDof:
only compute links between current link and root
2018-10-20 10:44:43 -07:00
erwincoumans
332cbfa609 fix typo in previous commit 2018-10-06 18:37:51 -07:00
erwincoumans
71d4a90c98 btMultiBody: fix indexing issue causing wrong friction to be reported (has no effect, since we don't use warmstarting for multibody) 2018-10-06 15:25:22 -07:00
erwincoumans
ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
Erwin Coumans
2668b89740 fix another island issue 2018-08-26 22:25:39 -07:00
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