Dear enn0x and colleagues
I have two questions on ERP (Error Reduction Parameter) in the hinge constraint using Bullet.
Is the definition of ERP originally from ODE (Open Dynamics Engine) ?
Of course, the bullet with Panda3d is from Bullet and the ERP is defined in bullet web site;
bulletphysics.org/mediawiki-1.5. … efinitions
bulletphysics.org/Bullet/phpBB3/ … f=9&t=6792
But the detail of ERP is not described in the URL above.
Here, I found the definition, which is the document of ODE written by Dr. Russell Smith and may be original
Would you think it is the original definition of ERP ?
ERP in BulletHingeConstraint is not changeable
I tried to set ERP using the code described below , according to the references
panda3d.org/reference/devel … embers.php
And examined the change of ERP using joint.getParam().
Then I found ERP can not be changed.
I guess you have converted the code in C++
github.com/panda3d/panda3d/blob … nt.cxx#L46
into Python, and I refer to the source code.
Is my code wrong ?
joint = BulletHingeConstraint( jointA.node(), jointB.node(), pivotA2B, pivotB2A, Vec3(0,1,0), Vec3(0,1,0) , True ) # parameters erp = 0.1 stoperp = 0.2 cfm = 0.3 stopcfm = 0.4 # set each parameter joint.setParam(BulletHingeConstraint.CPErp, erp) joint.setParam(BulletHingeConstraint.CPStopErp, stoperp) joint.setParam(BulletHingeConstraint.CPCfm, cfm) joint.setParam(BulletHingeConstraint.CPStopCfm, stopcfm) erp = joint.getParam(BulletHingeConstraint.CPErp) stoperp = joint.getParam(BulletHingeConstraint.CPStopErp) cfm = joint.getParam(BulletHingeConstraint.CPCfm) stopcfm = joint.getParam(BulletHingeConstraint.CPStopCfm) print "Erp = %f, StopErp = %f, Cfm = %f, StopCfm = %f" % (erp,stoperp, cfm, stopcfm) bpWorld.attachConstraint(joint)