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 @@ -909,8 +909,8 @@ bool WalkingModule::updateModule()
909
909
modifiedInertial = yawRotation * m_inertial_R_worldFrame;
910
910
911
911
// compute the desired torso velocity
912
- auto torsoVelocity = m_BLFIKSolver-> getDesiredTorsoVelocity ();
913
- auto centroidalMomentumDesired = m_FKSolver->getKinDyn ()->getCentroidalRobotLockedInertia () * torsoVelocity ;
912
+ const iDynTree::Twist desiredTorsoVelocity = this -> computeAverageTwistFromPlannedFeet ();
913
+ auto centroidalMomentumDesired = m_FKSolver->getKinDyn ()->getCentroidalRobotLockedInertia () * desiredTorsoVelocity ;
914
914
915
915
if (m_useQPIK)
916
916
{
@@ -1140,6 +1140,21 @@ iDynTree::Rotation WalkingModule::computeAverageYawRotationFromPlannedFeet() con
1140
1140
return iDynTree::Rotation::RotZ (meanYaw);
1141
1141
}
1142
1142
1143
+ iDynTree::Twist WalkingModule::computeAverageTwistFromPlannedFeet () const
1144
+ {
1145
+ iDynTree::Twist twist;
1146
+ iDynTree::Vector3 meanLinearVelocity, meanAngularVelocity;
1147
+ iDynTree::toEigen (meanLinearVelocity) = (iDynTree::toEigen (m_leftTwistTrajectory.front ().getLinearVec3 ()) +
1148
+ iDynTree::toEigen (m_rightTwistTrajectory.front ().getLinearVec3 ())) / 2.0 ;
1149
+ iDynTree::toEigen (meanAngularVelocity) = (iDynTree::toEigen (m_leftTwistTrajectory.front ().getAngularVec3 ()) +
1150
+ iDynTree::toEigen (m_rightTwistTrajectory.front ().getAngularVec3 ())) / 2.0 ;
1151
+
1152
+ twist.setLinearVec3 (meanLinearVelocity);
1153
+ twist.setAngularVec3 (meanAngularVelocity);
1154
+
1155
+ return twist;
1156
+ }
1157
+
1143
1158
bool WalkingModule::prepareRobot (bool onTheFly)
1144
1159
{
1145
1160
if (m_robotState != WalkingFSM::Configured && m_robotState != WalkingFSM::Stopped)
You can’t perform that action at this time.
0 commit comments