From 6bde056541beaf0b66d532112221103ec2647920 Mon Sep 17 00:00:00 2001 From: mnaveau <maximilien.naveau@laas.fr> Date: Thu, 10 Jul 2014 11:32:16 +0200 Subject: [PATCH] adding the upper part posture --- .../AnalyticalMorisawaCompact.cpp | 23 ++++++++++++++++ .../DynamicFilter.cpp | 2 +- tests/TestMorisawa2007.cpp | 27 ++++++++++++++++++- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/ZMPRefTrajectoryGeneration/AnalyticalMorisawaCompact.cpp b/src/ZMPRefTrajectoryGeneration/AnalyticalMorisawaCompact.cpp index 422d4835..25f7a5a7 100644 --- a/src/ZMPRefTrajectoryGeneration/AnalyticalMorisawaCompact.cpp +++ b/src/ZMPRefTrajectoryGeneration/AnalyticalMorisawaCompact.cpp @@ -584,6 +584,29 @@ computing the analytical trajectories. */ lStartingCOMState.z[0], InitLeftFootAbsolutePosition, lStartingCOMState ); + MAL_VECTOR_TYPE(double) UpperConfig = m_kajitaDynamicFilter->getComAndFootRealization() + ->getHumanoidDynamicRobot()->currentConfiguration() ; + UpperConfig(18)= 0.0 ; // CHEST_JOINT0 + UpperConfig(19)= 0.015 ; // CHEST_JOINT1 + UpperConfig(20)= 0.0 ; // HEAD_JOINT0 + UpperConfig(21)= 0.0 ; // HEAD_JOINT1 + UpperConfig(22)= -0.108210414 ; // RARM_JOINT0 + UpperConfig(23)= 0.0383972435 ; // RARM_JOINT1 + UpperConfig(24)= 0.474729557 ; // RARM_JOINT2 + UpperConfig(25)= -1.41720735 ; // RARM_JOINT3 + UpperConfig(26)= 1.45385927 ; // RARM_JOINT4 + UpperConfig(27)= 0.509636142 ; // RARM_JOINT5 + UpperConfig(28)= 0.034906585 ; // RARM_JOINT6 + UpperConfig(29)= -0.200712864 ; // LARM_JOINT0 + UpperConfig(30)= -0.129154365 ; // LARM_JOINT1 + UpperConfig(31)= -0.333357887 ; // LARM_JOINT2 + UpperConfig(32)= -1.39277274 ; // LARM_JOINT3 + UpperConfig(33)= 1.18856922 ; // LARM_JOINT4 + UpperConfig(34)= -0.193731547 ; // LARM_JOINT5 + UpperConfig(35)= 0.034906585 ; // LARM_JOINT6 + + + m_kajitaDynamicFilter->setRobotUpperPart(UpperConfig); /*! Add KajitaPCpreviewWindow second to the buffers for fitering */ ZMPPosition lastZMP = ZMPPositions.back(); diff --git a/src/ZMPRefTrajectoryGeneration/DynamicFilter.cpp b/src/ZMPRefTrajectoryGeneration/DynamicFilter.cpp index 6251d93c..69366fa5 100644 --- a/src/ZMPRefTrajectoryGeneration/DynamicFilter.cpp +++ b/src/ZMPRefTrajectoryGeneration/DynamicFilter.cpp @@ -184,7 +184,7 @@ void DynamicFilter::init( deltay_(j,0) = 0 ; } - upperPartIndex.resize(2+2+6+6); + upperPartIndex.resize(2+2+7+7); for (unsigned int i = 0 ; i < upperPartIndex.size() ; ++i ) { upperPartIndex[i]=i+18; diff --git a/tests/TestMorisawa2007.cpp b/tests/TestMorisawa2007.cpp index 04b49797..4b4964cf 100644 --- a/tests/TestMorisawa2007.cpp +++ b/tests/TestMorisawa2007.cpp @@ -171,6 +171,14 @@ public: /*! Fill the debug files with appropriate information. */ //ComparingZMPs(); + dynamicfilter_->InverseKinematics( + m_OneStep.finalCOMPosition, + m_OneStep.LeftFootPosition, + m_OneStep.RightFootPosition, + m_CurrentConfiguration, + m_CurrentVelocity, + m_CurrentAcceleration, + 0.005,0,m_OneStep.NbOfIt); fillInDebugFiles(); } else @@ -342,7 +350,24 @@ protected: aof.close(); } - + m_CurrentConfiguration(18)= 0.0 ; // CHEST_JOINT0 + m_CurrentConfiguration(19)= 0.0 ; // CHEST_JOINT1 + m_CurrentConfiguration(20)= 0.0 ; // HEAD_JOINT0 + m_CurrentConfiguration(21)= 0.0 ; // HEAD_JOINT1 + m_CurrentConfiguration(22)= -0.108210414 ; // RARM_JOINT0 + m_CurrentConfiguration(23)= 0.0383972435 ; // RARM_JOINT1 + m_CurrentConfiguration(24)= 0.474729557 ; // RARM_JOINT2 + m_CurrentConfiguration(25)= -1.41720735 ; // RARM_JOINT3 + m_CurrentConfiguration(26)= 1.45385927 ; // RARM_JOINT4 + m_CurrentConfiguration(27)= 0.509636142 ; // RARM_JOINT5 + m_CurrentConfiguration(28)= 0.034906585 ; // RARM_JOINT6 + m_CurrentConfiguration(29)= -0.200712864 ; // LARM_JOINT0 + m_CurrentConfiguration(30)= -0.129154365 ; // LARM_JOINT1 + m_CurrentConfiguration(31)= -0.333357887 ; // LARM_JOINT2 + m_CurrentConfiguration(32)= -1.39277274 ; // LARM_JOINT3 + m_CurrentConfiguration(33)= 1.18856922 ; // LARM_JOINT4 + m_CurrentConfiguration(34)= -0.193731547 ; // LARM_JOINT5 + m_CurrentConfiguration(35)= 0.034906585 ; // LARM_JOINT6 /// \brief Create file .hip .pos .zmp /// -------------------- ofstream aof; -- GitLab