File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed
include/WalkingControllers/WalkingModule Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -200,6 +200,8 @@ namespace WalkingControllers
200
200
*/
201
201
iDynTree::Rotation computeAverageYawRotationFromPlannedFeet () const ;
202
202
203
+ iDynTree::Twist computeAverageTwistFromPlannedFeet () const ;
204
+
203
205
/* *
204
206
* Generate the first trajectory.
205
207
* This method has to be called before updateTrajectories() method.
Original file line number Diff line number Diff line change @@ -903,8 +903,8 @@ bool WalkingModule::updateModule()
903
903
modifiedInertial = yawRotation * m_inertial_R_worldFrame;
904
904
905
905
// compute the desired torso velocity
906
- auto torsoVelocity = m_BLFIKSolver-> getDesiredTorsoVelocity ();
907
- auto centroidalMomentumDesired = m_FKSolver->getKinDyn ()->getCentroidalRobotLockedInertia () * torsoVelocity ;
906
+ const iDynTree::Twist desiredTorsoVelocity = this -> computeAverageTwistFromPlannedFeet ();
907
+ auto centroidalMomentumDesired = m_FKSolver->getKinDyn ()->getCentroidalRobotLockedInertia () * desiredTorsoVelocity ;
908
908
909
909
if (m_useQPIK)
910
910
{
@@ -1127,6 +1127,21 @@ iDynTree::Rotation WalkingModule::computeAverageYawRotationFromPlannedFeet() con
1127
1127
return iDynTree::Rotation::RotZ (meanYaw);
1128
1128
}
1129
1129
1130
+ iDynTree::Twist WalkingModule::computeAverageTwistFromPlannedFeet () const
1131
+ {
1132
+ iDynTree::Twist twist;
1133
+ iDynTree::Vector3 meanLinearVelocity, meanAngularVelocity;
1134
+ iDynTree::toEigen (meanLinearVelocity) = (iDynTree::toEigen (m_leftTwistTrajectory.front ().getLinearVec3 ()) +
1135
+ iDynTree::toEigen (m_rightTwistTrajectory.front ().getLinearVec3 ())) / 2.0 ;
1136
+ iDynTree::toEigen (meanAngularVelocity) = (iDynTree::toEigen (m_leftTwistTrajectory.front ().getAngularVec3 ()) +
1137
+ iDynTree::toEigen (m_rightTwistTrajectory.front ().getAngularVec3 ())) / 2.0 ;
1138
+
1139
+ twist.setLinearVec3 (meanLinearVelocity);
1140
+ twist.setAngularVec3 (meanAngularVelocity);
1141
+
1142
+ return twist;
1143
+ }
1144
+
1130
1145
bool WalkingModule::prepareRobot (bool onTheFly)
1131
1146
{
1132
1147
if (m_robotState != WalkingFSM::Configured && m_robotState != WalkingFSM::Stopped)
You can’t perform that action at this time.
0 commit comments