Commit Graph

28 Commits

Author SHA1 Message Date
Erwin Coumans
d830681674 add option for rigid body/typed constraint to set target velocity
compare joint feedback between multi body and rigid body. initial results are promising (not exactly the same, but reasonably close)
2015-06-24 23:19:00 -07:00
erwin coumans
b14afba350 more work-in-progress on joint-torque sensor sample and server/client shared memory API 2015-06-22 15:30:57 -07:00
erwin coumans
6e9eb13235 implement joint reaction forces for mobilizer motor/limit, by passing the constraint forces as 'external forces' and going through the Articulated Body Algorithm
minor refactor for forwardKinematics, store the cached world transform in each btMultiBody::link
2015-06-19 15:51:24 -07:00
erwincoumans
89edc40d61 First step in btMultiBody joint force/torque feedback. There is still some work to be done for 'mobilizer limit/motor'.
See examples/MultiBody/TestJointTorqueSetup and examples/Constraints/TestHingeTorque for joint feedback.
2015-06-19 09:18:27 -07:00
erwin coumans
5d40d90bd0 add btMultiBodyConstraint::finalizeMultiDof API: if you add multi-body constraints to a multi-dof btMultiBody, before it has been finalized using the btMultiBody::finalizeMultiDof call,
then you have to manually call the btMultiBodyConstraint::finalizeMultiDof for all multi-dof multi body constraints.
2015-03-03 13:24:06 -08:00
Erwin Coumans
4e02f6673b fix a bug related to gyroscopic forces in btMultiBody 2015-02-13 18:27:01 -08:00
=
27aa959059 fix some btMultiBody URDF conversion issues in ImportURDFSetup
remove various vertex format structures and use GLInstanceVertex from #include "OpenGLWindow/GLInstanceGraphicsShape.h"
btMultiBody::setupPrismatic takes an additional argument to allow a shift of inertia tensor, relative to the joint frame (link frame at q=0)
2015-02-12 09:11:55 -08:00
erwincoumans
a159fbac69 Improved URDF support for btMultiBody and separate graphics/collision/inertial frames and shapes
Fix WinXP GetTickCount64 with a typedef
Expose debug drawing mode/flags in UI (hot keys A,D,L,W for now, buttons later)
GLInstancingRenderer: tweak near/far planes to allow closer approach of camera
btDiscreteDynamicsWorld: enable debug drawing for btGeneric6DofSpring2Constraint
btMultiBodyDynamicsWorld: enable basic debug drawing for btMultiBody
btMultibody: allow center-of-mass shift for prismatic and fixed constraint
2015-01-22 17:56:24 -08:00
erwin coumans
89addd438e add 'fixed' joint for btMultiBody
improve btMultiBody version of URDF reader (still work-in-progress)
enabled planar joint for btMultiBody (untested)
enable loading from relative path for .stl meshes
2014-08-28 18:42:08 -07:00
Erwin Coumans
af5883c6e8 remove a lot of warnings (more todo in demos and serialization code) 2014-08-22 10:29:05 -07:00
=
cac50c1a8e remove a few warnings, fix GLInstancingRenderer::drawLines 2014-07-29 11:08:09 -07:00
Erwin Coumans
cfb06f9cd3 make GLUT optional in cmake
fix for btMultiBody to avoid extreme energy gain
2014-03-17 23:58:03 -07: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
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
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@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
f02dd51597 Added a first version of a Featherstone multi body implementation.
The original version was written by Stephen Thompson.
I replaced Eigen math by Bullet LinearMath, and added a dedicated 6x6 matrix solver. 
Also I integrated support for collisions/contact constraints between btMultiBody and btRigidBody, and de-activation support.
See Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp for example usage.
There is currently only support for contact constraints for btMultiBody. 
Next on the list will be adding support for joint limit constraint for btMultiBody. 
The implementation is still experimental/untested, the quality will improve in upcoming Bullet releases.
2013-10-01 22:50:31 +00:00