Erwin Coumans
cfb06f9cd3
make GLUT optional in cmake
...
fix for btMultiBody to avoid extreme energy gain
2014-03-17 23:58:03 -07:00
erwin coumans
d485f2b272
btMultiBodyConstraintSolver writes back the applied impulse for contact points
...
(added some debugging output for this in the demos, commented-out by default)
2014-02-24 16:55:54 -08:00
erwin coumans
dfa738c13a
Properly propagate the applied impulse for the MLCP solvers, so it will be available for contact and non-contact constraints.
...
Use real-time clock in AllBullet2Demos, rather than hard-coded 1./60.
2014-02-24 13:24:49 -08:00
erwincoumans
122ceacb6d
move OpenCL initialization for the unit tests in a shared header file, and support some basic command-line arguments
...
--cl_device=1 --cl_platform=1 --allow_opencl_cpu
add chaindemo, test for mass ratios
restore sleeping/activation mode in featherstone demo
Use _VARIADIC_MAX=10 to avoid Google Test issues with Visual Studio 2012, thanks to Mobeen for the report
Enable verbose printf for unit tests
2014-02-11 10:33:00 -08:00
erwincoumans
51036713f0
Initialize 64bit user pointer, thanks to AndresTraks
...
See https://github.com/erwincoumans/bullet3/issues/33
2014-01-29 05:47:45 -08:00
Erwin Coumans
7e4b1c1c8a
add MultiDofDemo (Featherstone 3DOF spherical joint)
...
minor prettify of BasicDemo,RagdollDemo.
require 'multiDof' argument in btMultiBody.h (not default=false)
2014-01-10 16:34:39 -08:00
kubas
876293ac95
minor: replaced convenience lambda functions
2014-01-09 01:15:51 +01:00
kubas
aa87e47d2d
preparing for stabilization investigation: useRK4 is now a btMultiBody flag (not world's), reenabled global velocities (as a flag-controlled option), made the test application easier to handle for multiple multibodiez and added a max coordinate multibody (created from btMultiBody)
2014-01-09 01:14:48 +01:00
kubas
2cbcd86de9
fixed a btMultiBody ctor bug
2014-01-09 01:13:22 +01:00
kubas
cbf2d915d1
fixed the multibody jitter issue + several friction-related fixes
2014-01-09 01:12:02 +01:00
kubas
736ba01423
minor clean-up
2014-01-09 01:10:45 +01:00
kubas
ef6abf6490
unified btMultiBodyConstrained::fillMultiBodyConstraint..(...) mtds + cleaned some of the earlier dirty changes (6DoF grabbing constraint stuff mainly)
2014-01-09 01:09:44 +01:00
kubas
0ba7d69f86
fixed a jacobian sizing bug (m_jacSizeBoth)
2014-01-09 01:07:53 +01:00
kubas
eb66b22034
dirty commit: starting to unify btMultiBoydConstraint::fillMultiBodyConstraint..(..)
2014-01-09 01:06:58 +01:00
kubas
87a98939eb
tighter packing in btMultiBodySolverConstraint
2014-01-09 01:04:39 +01:00
kubas
81447aa7c5
dirty commit: experimenting with the 6DoF grabbing/p2p constraint
2014-01-09 01:03:20 +01:00
kubas
c0530d31ec
minor naming chamge
2014-01-09 01:02:11 +01:00
kubas
66fdc1704b
RK4 for floating systems too
2014-01-09 01:01:03 +01:00
kubas
c5594a5826
a bit of rk4 clean-up
2014-01-09 00:59:48 +01:00
kubas
4eac9a11f3
made the multiDof-singleDof disctinction a bit cleaner
2014-01-09 00:58:31 +01:00
kubas
e5372f3712
first experiments with RK4
2014-01-09 00:56:46 +01:00
kubas
cb556f9525
dirty changes - stabilization hacks
2014-01-09 00:51:42 +01:00
kubas
96ff69276f
multidof4 patch
2014-01-09 00:26:24 +01:00
erwin coumans
69e5454d18
Add the old Bullet 2.x obsolete demos, and CMake buildsystem files, and gradually move them to newer Bullet 3.x structure
...
Use statically linked freeglut, instead of dynamic glut for the obsolete Bullet 2.x demos
Add the 'reset' method to b3GpuDynamicsWorld, and use it in the BasicGpuDemo (pretty slow in debug mode, use release mode)
Don't crash in btCollisionWorld, if there is no collision dispatcher
2013-12-19 12:40:59 -08:00
erwincoumans
fca6d11381
created new Bullet 2 CPU BasicDemo, using the OpenGL 3 rendering. I will add picking soon. Hold ctrl/alt + mouse to move/zoom camera
...
remove reference to btGImpact (it is removed now)
2013-12-06 17:48:58 -08:00
Erwin Coumans
f06312c632
remove most clutter (todo)
2013-12-06 15:29:13 -07:00
erwin.coumans@gmail.com
d48e2c717c
fix rotation correction in btFixedConstraint, see Issue 769
2013-12-04 19:06:28 +00:00
erwin.coumans@gmail.com
439ab03940
fix Mac OSX build (there is no such member called e.m128_f32[0]
2013-11-03 19:55:08 +00:00
erwin.coumans@gmail.com
218d4d1394
use a separate default cfm for the MLCP solver, it is a very sensitive value for Dantzig (and Lemke)
2013-10-31 16:52:32 +00:00
erwin.coumans@gmail.com
644d01d231
added the btNNCGConstraintSolver, based on the paper "Nonsmooth Nonlinear Conjugate Gradient Method for interactive
...
contact force problems". The solver needs a lot of iterations, before the quality goes up (~ 1000)
Thanks to Gabor PUHR for the contribution!
Improved the btLemkeSolver.
Remove the sparse optimizations from the btMatrixX.h, replace it with explicit call to rowComputeNonZeroElements (only used in the btSolveProjectedGaussSeidel), it was likely slowing things down, without being useful.
Re-enable SIMD in the solver (was accidently disabled in Bullet 2.82 release)
2013-10-31 06:17:08 +00:00
erwin.coumans@gmail.com
6ca948e22f
make Lemke work with lower/upper bounds, using the BLCP to LCP conversion (using a dog-slow matrix inversion etc)
...
for this conversion, see also https://github.com/erwincoumans/num4lcp/blob/master/matlab/test_lcp_bounds.m and
appendix A1 in http://www.cs.duke.edu/~parr/nips10.pdf , thanks to Kenny Erleben and Evan Drumwright for the tips!
(friction is not coupled to normal forces yet)
2013-10-30 00:02:13 +00:00
erwin.coumans
1a2c3c0ee9
Added a Lemke MLCP solver, extracted from the MBSim project, and re-licensed under the zlib license
...
with permission of the original author.
The Lemke implementation is not fully working yet:
1) we need to convert the lo-high LCP problem into a problem without the lo/high
2) we need to sort out the remaining instabilities, and report a failure if the max loopcount is reached etc.
We replaced the fmatvec library with our own LinearMath/btMatrixX.h, and STL std::vector with btAlignedObjectArray
Removed some warnings/potential issues: use fuzzyZero instead of isZero, and some warnings,
related to this issue 756
2013-10-26 18:45:25 +00:00
erwin.coumans@gmail.com
19f999ac08
fix double precision, and remove alloca
...
increase mass of the load, to show benefits of direct MLCP solver
move damping back to original location
2013-10-24 18:31:27 +00:00
erwin.coumans@gmail.com
f5320e4106
add "latency motion state interpolation", using previous frame/current, instead of current->next
...
See Demos/ForkLiftDemo for example (F7 to toggle, use single-frame stepping, press 'i' and 's' to see the effect)
2013-10-24 00:13:43 +00:00
erwin.coumans@gmail.com
a1c962192c
Allow the ForkLiftDemo to toggle between MLCP and SI solver, using F6 key.
...
Apply patch for CMake config, see Issue 754 (Issue 753)
Fix a few issue with the MLCP solver: allow split impulse, and fix offset in friction dependencies
2013-10-23 23:35:13 +00:00
erwin.coumans
0024c87316
move the m_maxAppliedImpulse into base class, and use it for motor strength/point to point constraint strength
2013-10-22 21:49:52 +00:00
erwin.coumans
f22ceecb82
Fix Featherstone btMultiBodyPoint2Point constraint and picking: don't assume body 0 is the fixed body!
2013-10-22 21:06:47 +00:00
erwin.coumans@gmail.com
cf7f5436e4
apply CMake patch in Issue 748
...
thanks to Julien Schueller for the contribution!
2013-10-22 18:34:17 +00:00
erwin.coumans@gmail.com
23f612bbb5
fix Linux build
...
by default, only enable 64bit build when using ./premake4_linux64 and only 32bit build when using ./premake4_linux
remove some warning
2013-10-22 18:10:45 +00:00
erwin.coumans@gmail.com
a21480c8ca
Attempt to fix "Regression in friction and damping behaviour" , see issue 752
...
Thanks to Sergej Reich for the report and narrowing down the breaking revision!
2013-10-22 09:26:08 +00:00
erwin.coumans@gmail.com
5e372d6ac5
fix compile errors
2013-10-21 23:33:01 +00:00
erwin.coumans@gmail.com
379f0079e0
Added Dantzig MLCP solver option from Open Dynamics Engine (trying to avoid naming/linking conflicts in case ODE and Bullet is used together)
...
If an MLCP solver fails, use PGS/SI fallback, add a boolean return value for 'solve' method
2013-10-21 23:27:09 +00:00
erwin.coumans@gmail.com
1ca0493dc4
Build full A matrix and b vector for a MLCP solver interface, to explore Lemke, Dantzig, Newton and other MLCP solvers. The A matrix contains sparsity information.
...
Added a PGS solver that uses the sparsity of the A matrix, just for testing (the equivalent sequential impulse solver is much faster, not having to allocate the big matrices)
2013-10-20 17:38:14 +00:00
erwin.coumans@gmail.com
d4640227ce
add option to disable btMultiBody self-collision (for the entire hierarchy) or to disable parent-child collision for jointed links.
2013-10-08 00:50:40 +00:00
erwin.coumans@gmail.com
34d975143e
expose maximum applied impulse for btMultiBody, introduced to reduce/avoid 'exploding' simulations
...
use btScalar instead of float, to enable double precision build, fix for Issue 744
2013-10-06 17:13:08 +00:00
erwin.coumans@gmail.com
488dd44835
Added btMultiBodyPoint2Point, it can be used between btMultiBody vs btMultiBody or btMultiBody vs btRigidBody
...
Allow picking of btMultiBody, using a btMultiBodyPoint2Point constraint, with limited strength to avoid adding too much energy to the system (= blowup)
Add btMultiBodyJointMotor, it can be used in combination with joint limit (just add the joint limit after the motor, to avoid jitter)
2013-10-05 01:46:32 +00:00
erwin.coumans@gmail.com
2fb686b937
change btMultiBody to allow removal/changing of links
...
(still not easy to modify the link structure of a btMultiBody -> You have to manually re-link parents, copying links around etc)
2013-10-03 05:13:41 +00:00
erwin.coumans@gmail.com
88b8ae552b
add a btFixedConstraint with toggle between btGeneric6DofConsraint and btFixedConstraint in VoronoiFractureDemo
2013-10-02 21:50:50 +00:00
erwin.coumans
75f17509cc
Add a virtual createConstraintRows method, to easier experiment with different kinds of btMultiBodyConstraint
2013-10-02 21:38:40 +00:00
erwin.coumans
c2bece5280
Enable btMultiBodyJointLimitConstraint, seems to be working for the prismatic joint
...
Fix case sensitive issue, thanks to Martin Felis
Fix crash/bug in btMultiBodyConstraint computation
2013-10-02 20:14:48 +00:00