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
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