Commit Graph

1873 Commits

Author SHA1 Message Date
Erwin Coumans
3b5d0f444b various fixes
move btSimulationIslandManagerMt.cpp from BulletCollision to BulletDynamics
2016-11-10 16:18:20 -08:00
erwincoumans
4c2c2bf74b Merge pull request #858 from erwincoumans/master
pybullet getClosestPoints collision query. center gripper (1 version)
2016-11-10 12:08:17 -08:00
erwincoumans
b16d9abddd center the gripper
fix collision issue, introduced in previous commit (uninitialized new variable)
2016-11-09 22:14:04 -08:00
erwincoumans
0d47d61007 pybullet getClosestPoints 2016-11-09 21:01:04 -08:00
erwincoumans
dced3521a2 Merge pull request #848 from Kotolegokot/master
Fix a little typo
2016-11-06 13:45:13 -08:00
erwincoumans
214930922d make sure m_uniqueIdGenerator in btSerializer is initialized to zero, it can cause issues if not. 2016-11-05 12:53:40 -07:00
erwincoumans
5d66ce20e0 network UDP: transmit structural DNA to deal with version/platform differences.
pybullet: allow to specify shared memory key and hostname/port for UDP.
2016-11-04 17:06:55 -07:00
yunfeibai
ff2c79e6bc Fix a bug in softbody contact handling. 2016-11-03 12:14:39 -07:00
yunfeibai
e8635932cf Merge remote-tracking branch 'upstream/master' 2016-11-03 10:26:52 -07:00
erwincoumans
908cb2def2 Merge pull request #851 from erwincoumans/master
serialization structures update, needed to be done since
2016-11-03 09:11:36 -07:00
erwin coumans
f74a35bacb serialization structures update, needed to be done since
recent addition of src/BulletCollision/CollisionDispatch/btCollisionObject.h
recent (since august 26, 2016) serialization dumps my be corrupt.
2016-11-03 07:11:31 -07:00
yunfeibai
479497997c Add grasp bunny example with multibody gripper. 2016-11-02 14:53:28 -07:00
yunfeibai
ab6ce65abe Add contact handling between multibody and softbody. 2016-11-02 13:21:01 -07:00
yunfeibai
3c37db0804 Add API to set bunny properties. Add example to show coupling between softbody and multibody. 2016-11-01 16:45:10 -07:00
Kotik Andreev
bc34d0129e Fix a little typo 2016-10-31 01:45:44 +03:00
Lunkhound
1c3686ca51 MultiThreaded Demo:
- fixing various race conditions throughout (usage of static vars, etc)
 - addition of a few lightweight mutexes (which are compiled out by default)
 - slight code rearrangement in discreteDynamicsWorld to facilitate multithreading
 - PoolAllocator::allocate() can now be called when pool is full without
     crashing (null pointer returned)
 - PoolAllocator allocate and freeMemory, are OPTIONALLY threadsafe
     (default is un-threadsafe)
 - CollisionDispatcher no longer checks if the pool allocator is full
     before calling allocate(), instead it just calls allocate() and
     checks if the return is null -- this avoids a race condition
 - SequentialImpulseConstraintSolver OPTIONALLY uses different logic in
     getOrInitSolverBody() to avoid a race condition with kinematic bodies
 - addition of 2 classes which together allow simulation islands to be run
   in parallel:
    - btSimulationIslandManagerMt
    - btDiscreteDynamicsWorldMt
 - MultiThreadedDemo example in the example browser demonstrating use of
   OpenMP, Microsoft PPL, and Intel TBB
 - use multithreading for other demos
 - benchmark demo: add parallel raycasting
2016-10-30 12:47:27 -07:00
yunfeibai
3dc56d7e92 Add files. 2016-10-17 23:46:56 -07:00
yunfeibai
e112b15281 Move btSoftMultiBodyDynamicsWorld to BulletSoftBody. 2016-10-17 23:40:38 -07:00
yunfeibai
3ffd95fbab Merge remote-tracking branch 'origin/master' 2016-10-17 13:20:31 -07:00
erwin coumans
29f3afe2a4 don't use GL_LINEAR_MIPMAP_LINEAR for shadow maps
optimize gpu upload (use glBufferSubData instead of glMapBuffer
Avoid checking char array against zero.
2016-10-14 15:06:09 -07:00
yunfeibai
4fe86d2a1d Add btSoftMultiBodyDynamicsWorld. 2016-10-11 16:15:44 -07:00
erwin coumans
ddff1bcdc0 remove some useless global constants, move them right into the constructor 2016-10-07 09:00:49 -07:00
erwin coumans
b81eb79ef5 ping-pong back/forward in PGS solving iterations to reduce bias in constraint order
add experimental rhs clamp in btMultiBodyJointMotor to control maximum error resolution.
2016-09-28 11:17:11 -07:00
Erwin Coumans
96c1ee4256 revert default contact 'erp' (error-reduction-parameter) from 0.8 to 0.2
as it used to be.
2016-09-26 07:55:30 -07:00
Erwin Coumans
6563c9c821 add btVector3::safeNorm to avoid/workaround certain clang/g++ issue or returning -INF
when taking sqrtf(0.0000000000000000000000000000000000000108333558)
2016-09-25 23:13:23 -07:00
erwincoumans
c979f147e6 Update btQuaternion.h
add missing ; after btAssert
2016-09-25 15:12:19 -07:00
erwincoumans
0dfe20c036 Merge pull request #759 from MichaelMcDonnell/warnings
Two bugs
2016-09-23 22:15:16 -07:00
erwincoumans
278a89f7c3 Merge pull request #804 from erwincoumans/master
fix uninitialized variable in btMultiBody
2016-09-23 22:13:36 -07:00
erwincoumans
d3bf740c50 Merge pull request #446 from T4Larson/slerpfix
fix: btQuaternion.slerp() may result in NaN-quaternions
2016-09-23 22:03:01 -07:00
erwincoumans
fe6c8775da fix uninitialized variable in btMultiBody
use btAssert to detect 0 determinant in btMatrix3x3 inverse
Remove obsolete comment in PosixSharedMemory, the Windows shared memory implementation was done over a year ago
2016-09-23 21:59:38 -07:00
erwincoumans
5c1d2f9a0e Merge pull request #789 from mwoehlke-kitware/remove-useless-const
Remove useless const qualifiers from returns
2016-09-21 08:12:11 -07:00
erwincoumans
e4e12828ca Merge pull request #790 from mwoehlke-kitware/fix-dl-link-errors
Fix clew.c link errors
2016-09-21 08:11:00 -07:00
erwincoumans
5a6db80d01 Merge pull request #788 from mwoehlke-kitware/fix-missing-virtual-dtor
Add "missing" virtual dtor
2016-09-21 08:09:14 -07:00
erwin coumans
0a628f06cc decrease some gjk/epa tolerance to improve collision detection using very small collision margins (0.001/1mm)
tweak pr2 gripper.
2016-09-20 12:37:13 -07:00
erwin coumans
db3122233f remove that odd triangle in the origin of samurai castle (VR)
add rolling/spinning friction to cube, remove it from plane/samurai.urdf
URDF2Bullet: support joint limits for revolute and prismatic, only if defined (if upper < lower, disable limit)
add some profiling markers to improve performance
2016-09-19 07:02:43 -07:00
Matthew Woehlke
7e1d72dfe4 Remove useless const qualifiers from returns
Remove const qualifiers applied to POD return values, as these are
meaningless and ignored by the compiler and are therefore potentially
misleading. (They also trip -Wignored-qualifiers.)
2016-09-16 11:01:03 -04:00
Erwin Coumans
567b003654 separate spinning and rolling friction coefficients, exposed in URDF as spinning_friction / m_rolling_friction
improvements in VR demo, add grasper etc.
2016-09-16 00:57:00 +01:00
Erwin Coumans
1d88cf71e4 separate spinning friction (torsional friction around contact normal) from
rolling friction (orthogonal to contact normal)
2016-09-16 00:04:33 +01:00
Matthew Woehlke
ba3a1dcc98 Fix clew.c link errors
Add missing link to CMAKE_DL_LIBS to resolve link errors from clew.c
using dlopen and friends but failing to link to libdl.

Fixes #787.
2016-09-15 12:58:31 -04:00
Matthew Woehlke
ef943bdcf0 Add "missing" virtual dtor
Make the dtor of b3DynamicBvhBroadphase virtual, to match that the type
has other virtual methods. This silences a -Wvirtual-dtor warning.
2016-09-15 12:17:23 -04:00
erwincoumans
e5a8eb2425 rolling friction -> combine using rolling*normal friction, add for both objects.
rolling friction -> only along the normal, until we have separate rolling friction coefficients on normal and non-normal directions
Don't teleport with grasping controller (VR)
Tune VR grasping a bit.
2016-09-12 19:10:20 +01:00
Erwin Coumans
82661d98cd init ERP for second btMultiBodyJointMotor,
comment-out debug printf in Kuka IK example
2016-09-11 05:54:47 +01:00
erwin coumans
3c706306cd add experimental pr2-gripper support in VR physics server
add setErp to btMultiBodyJointMotor
2016-09-09 14:30:37 -07:00
erwin coumans
4ab02a07e5 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-09-08 15:22:41 -07:00
erwin coumans
32eccdff61 Create project file for BussIK inverse kinematics library (premake, cmake)
URDF/SDF: add a flag to force concave mesh collisiofor static objects. <collision concave="yes" name="pod_collision">
VR: support teleporting using buttong, allow multiple controllers to be used, fast wireframe rendering,
Turn off warnings about deprecated C routine in btScalar.h/b3Scalar.h
Add a dummy return to stop a warning
Expose defaultContactERP in shared memory api/pybullet.
First start to expose IK in shared memory api/pybullet (not working yet)
2016-09-08 15:15:58 -07:00
erwincoumans
d5ec5ca9a0 Update IDConfig.hpp 2016-09-06 13:07:06 -07:00
Erwin Coumans
ecd814c9c5 export contact friction/damping through URDF and API
convert from contact friction/damping to cfm/erp
btCollisionObject::setContactFrictionAndDamping
2016-09-02 16:40:56 -07:00
Erwin Coumans
e98fca1e5e implement pybullet.getContactPointData(), two optional object unique ids as filter
returns a pylist of contact points. Each point has the following data:

	0     int m_contactFlags;//unused for now
         1     int m_bodyUniqueIdA;
         2     int m_bodyUniqueIdB;
         3     int m_linkIndexA;
         4     int m_linkIndexB;
         5-6-7     double m_positionOnAInWS[3];//contact point location on object A, in world space coordinates
         8-9-10     double m_positionOnBInWS[3];//contact point location on object A, in world space coordinates
         11-12-13     double m_contactNormalOnBInWS[3];//the separating contact normal, pointing from object B towards object A
         14     double m_contactDistance;//negative number is penetration, positive is distance.

         15    double m_normalForce;
2016-09-01 18:28:39 -07:00
erwincoumans
a370c3bbac Merge pull request #765 from YunfeiBai/master
Torsional and rolling friction for btMultiBody
2016-09-01 14:57:46 -07:00
erwincoumans
85fd7f560c add first draft of contact point query in shared memory API
b3SharedMemoryCommandHandle b3InitRequestContactPointInformation(b3PhysicsClientHandle physClient);
void b3SetContactFilterBodyA(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdA);
void b3SetContactFilterBodyB(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdB);
void b3GetContactPointInformation(b3PhysicsClientHandle physClient, struct b3ContactInformation* contactPointData);
Implemented for PhysicsClientSharedMemory, not for PhysicsDirect yet.
Add btCollisionObject::setUserIndex2
2016-09-01 13:30:07 -07:00