From 83f515ee253cd3f952c6377739136432f33371d8 Mon Sep 17 00:00:00 2001 From: Mansard <nmansard@laas.fr> Date: Wed, 10 Aug 2011 14:42:06 +0200 Subject: [PATCH] With the second formulation of the reduced solver. --- python/dynreduced.py | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/python/dynreduced.py b/python/dynreduced.py index f2c1d03..d44546e 100644 --- a/python/dynreduced.py +++ b/python/dynreduced.py @@ -62,7 +62,7 @@ try: robot.refresh() except: - print "No robot viewer, sorry." + #print "No robot viewer, sorry." robot.viewer = None # --- MAIN LOOP ------------------------------------------ @@ -173,7 +173,8 @@ contactRF.feature.frame('desired') # --- SOT Dyn OpSpaceH -------------------------------------- # SOT controller. -sot = SolverDynReduced('sot') +sot = SolverDynRed2('sot') +#sot = SolverOpSpace('sot') sot.setSize(robotDim-6) #sot.damping.value = 2e-2 sot.breakFactor.value = 10 @@ -194,12 +195,13 @@ tr.start() robot.after.addSignal('tr.triger') tr.add('dyn.position','') -tr.add('sot.forces','') +#tr.add('sot.forces','') tr.add('sot.acceleration','') tr.add('sot.velocity','') -robot.after.addSignal('sot.forces') +#robot.after.addSignal('sot.forces') robot.after.addSignal('sot.acceleration') +tr.add('taskCom.error','com') tr.add('taskCom.task','') tr.add(contactLF.task.name+'.error','lf') @@ -226,7 +228,28 @@ sot.posture.value = ( 0,0,0,0,0,0, -0.009116303, -0.091409964, -0.471978743, matlab.prec=9 matlab.fullPrec=0 - -sot.solution.recompute(1) -sot.acceleration.recompute(1) +for i in range(100): inc() +print sot.velocity.m +print sot.dyndrift.m +print sot.forceGenerator.m +print sot.Jc.m +print sot.freeMotionBase.m +print sot.freeForceBase.m +print sot.inertiaSqroot.m +print sot.inertiaSqrootInv.m +print sot.driftContact.m +print taskCom.jacobian.m +print taskCom.task.m +print taskCom.Jdot.m +print "dq=velocity; X=forceGenerator; V=freeMotionBase; K = freeForceBase; B=inertiaSqrootInv; Bi=inertiaSqroot; Jcom=jacobian; b=dyndrift; A=Bi'*Bi; dc = driftContact; J=X*Jc; G=J*B; Gc=Jc*B;" + +print sot.solution.m +print sot.acceleration.m +sot.forces.recompute(sot.acceleration.time) +print sot.forces.m +print "x=solution; ddq=acceleration; f=forces; phi = X'*f;" +print "u=x(1:24); psi=x(25:end);" + +#sot.solution.recompute(1) +#sot.acceleration.recompute(1) -- GitLab