robotology / walking-controllers

Bipedal locomotion software for the humanoid robot platform iCub.
BSD 3-Clause "New" or "Revised" License
113 stars 46 forks source link

`iCubGazeboV3` falls frequently in simulation on gazebo #107

Closed SimoneMic closed 2 years ago

SimoneMic commented 2 years ago

Hello everybody!

I am using in simulation (Gazebo) the iCubGazebo_V3 (no hands) model and it keeps falling after a little while. The best I could do is 4 meters in a straight line. I have followed step-by-step the instructions in https://github.com/robotology/walking-controllers#computer-how-to-run-the-simulation and I'm controlling it via yarp rpc /walking-coordinator/rpc using the command setGoal x y.

I have also tried to wait the robot to reach the setGoal location and to relaunch the command, like a stop-and-go, but it never manages to go after the third command that it falls. So it would seem that in continuous walking it behaves better.

I have also used the pid parameters suggested by @mebbaid in the following link: https://github.com/robotology/icub-models/pull/126/files but to no avail.

I am using the latest build of walking-controllers (master).

Here I attach the terminal output of the walking module.

Maybe I am missing something that I can't see.

Thank you

simone@IITICUBLAP249:~$ YARP_CLOCK=/clock WalkingModule
[INFO] |yarp.os.Port|/IITICUBLAP249/WalkingModule/18816/clock:i| Port /IITICUBLAP249/WalkingModule/18816/clock:i active at tcp://127.0.0.1:10094/
[INFO] |yarp.os.Network| Success: port-to-port persistent connection added.
[INFO] |yarp.os.Time| Waiting for clock server to start broadcasting data ...
[INFO] |yarp.os.impl.PortCoreInputUnit|/IITICUBLAP249/WalkingModule/18816/clock:i| Receiving input from /clock to /IITICUBLAP249/WalkingModule/18816/clock:i using tcp
[DEBUG] |yarp.dev.PolyDriver|remotecontrolboardremapper| Parameters are (REMOTE_CONTROLBOARD_OPTIONS (writeStrict on)) (axesNames (torso_pitch torso_roll torso_yaw l_shoulder_pitch l_shoulder_roll l_shoulder_yaw l_elbow r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow l_hip_pitch l_hip_roll l_hip_yaw l_knee l_ankle_pitch l_ankle_roll r_hip_pitch r_hip_roll r_hip_yaw r_knee r_ankle_pitch r_ankle_roll)) (device remotecontrolboardremapper) (localPortPrefix "/walking-coordinator/remoteControlBoard") (remoteControlBoards ("/icubSim/torso" "/icubSim/left_arm" "/icubSim/right_arm" "/icubSim/left_leg" "/icubSim/right_leg"))
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/walking-coordinator/remoteControlBoard/icubSim/torso") (remote "/icubSim/torso") (writeStrict on)
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o| Port /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o active at tcp://127.0.0.1:10095/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/torso/command:o| Port /walking-coordinator/remoteControlBoard/icubSim/torso/command:o active at tcp://127.0.0.1:10096/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i| Port /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i active at tcp://127.0.0.1:10097/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o to /icubSim/torso/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/command:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/torso/command:o to /icubSim/torso/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i| Receiving input from /icubSim/torso/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/walking-coordinator/remoteControlBoard/icubSim/left_arm") (remote "/icubSim/left_arm") (writeStrict on)
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o active at tcp://127.0.0.1:10098/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o active at tcp://127.0.0.1:10099/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i active at tcp://127.0.0.1:10100/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o to /icubSim/left_arm/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o to /icubSim/left_arm/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i| Receiving input from /icubSim/left_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/walking-coordinator/remoteControlBoard/icubSim/right_arm") (remote "/icubSim/right_arm") (writeStrict on)
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o active at tcp://127.0.0.1:10101/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o active at tcp://127.0.0.1:10102/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i active at tcp://127.0.0.1:10103/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o to /icubSim/right_arm/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o to /icubSim/right_arm/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i| Receiving input from /icubSim/right_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/walking-coordinator/remoteControlBoard/icubSim/left_leg") (remote "/icubSim/left_leg") (writeStrict on)
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o active at tcp://127.0.0.1:10104/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o active at tcp://127.0.0.1:10105/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i active at tcp://127.0.0.1:10106/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o to /icubSim/left_leg/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o to /icubSim/left_leg/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i| Receiving input from /icubSim/left_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/walking-coordinator/remoteControlBoard/icubSim/right_leg") (remote "/icubSim/right_leg") (writeStrict on)
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o active at tcp://127.0.0.1:10107/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o active at tcp://127.0.0.1:10108/
[INFO] |yarp.os.Port|/walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i active at tcp://127.0.0.1:10109/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o to /icubSim/right_leg/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o to /icubSim/right_leg/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i| Receiving input from /icubSim/right_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.dev.PolyDriver|remotecontrolboardremapper| Created device <remotecontrolboardremapper>. See C++ class RemoteControlBoardRemapper for documentation.
[INFO] |yarp.os.Port|/walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i| Port /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i active at tcp://127.0.0.1:10110/
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i| Receiving input from /wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i using tcp
[INFO] |yarp.os.Port|/walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i| Port /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i active at tcp://127.0.0.1:10111/
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i| Receiving input from /wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i using tcp
[INFO] |yarp.os.Port|/walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i| Port /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i active at tcp://127.0.0.1:10112/
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i| Receiving input from /wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i using tcp
[INFO] |yarp.os.Port|/walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i| Port /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i active at tcp://127.0.0.1:10113/
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i| Receiving input from /wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i using tcp
[INFO] [WalkingModule::setRobotModel] The model is found in:  /usr/local/share/iCub/robots/iCubGazeboV3/model.urdf
[WARNING] SensorElement :: setAttributes : iDynTree does not support sensor of type depth
[WARNING] SensorElement :: setAttributes : iDynTree does not support sensor of type camera
[INFO] |yarp.os.Port|/walking-coordinator/rpc| Port /walking-coordinator/rpc active at tcp://127.0.0.1:10114/
[INFO] |yarp.os.Port|/walking-coordinator/goal:i| Port /walking-coordinator/goal:i active at tcp://127.0.0.1:10115/
[INFO] |yarp.os.Port|/walking-coordinator/freeSpaceEllipse:in| Port /walking-coordinator/freeSpaceEllipse:in active at tcp://127.0.0.1:10116/
[INFO] Loading custom PIDs
[INFO] Parsing DEFAULT PID group.
[INFO] DEFAULT PID successfully loaded
[INFO] [WalkingModule::configure] Ready to play!

******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Eclipse Public License (EPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

q desired IK   18.5369  0.236021  -0.05871  -1.91926   16.7715  -12.6683   39.7101  -1.95081    16.789  -12.6609   39.7137   2.59106  0.623582 -0.289821  -58.3052  -33.6794 -0.731743   2.62289  0.494828 -0.223192  -58.3616  -33.7034 -0.498707
[ERROR] [WalkingModule::startWalking] Unable to start walking if the robot is not prepared or paused.
[INFO] [WalkingModule::updateModule] The robot is prepared.
IK: 1.248600 ms Total: 2.111100 ms 
IK: 0.861100 ms Total: 1.603700 ms 
IK: 1.310200 ms Total: 2.373300 ms 
IK: 0.736500 ms Total: 1.266700 ms 
IK: 1.488100 ms Total: 2.488200 ms 
IK: 0.962800 ms Total: 1.726200 ms 
IK: 1.321800 ms Total: 2.434500 ms 
IK: 0.653900 ms Total: 1.059500 ms 
IK: 1.167900 ms Total: 2.030300 ms 
IK: 1.222200 ms Total: 2.120500 ms 
IK: 0.930900 ms Total: 1.732800 ms 
IK: 1.288800 ms Total: 2.102500 ms 
IK: 0.829700 ms Total: 1.726900 ms 
IK: 1.097000 ms Total: 2.029900 ms 
IK: 1.054500 ms Total: 1.828400 ms 
IK: 1.016000 ms Total: 1.846900 ms 
IK: 1.253300 ms Total: 2.201100 ms 
IK: 1.211600 ms Total: 2.222900 ms 
IK: 1.085500 ms Total: 1.877400 ms 
IK: 0.971300 ms Total: 1.814100 ms 
IK: 0.865300 ms Total: 1.687600 ms 
IK: 1.033900 ms Total: 1.795600 ms 
IK: 0.891900 ms Total: 1.647000 ms 
IK: 1.070300 ms Total: 2.115600 ms 
IK: 1.242400 ms Total: 2.052500 ms 
IK: 0.935200 ms Total: 1.697000 ms 
IK: 0.951300 ms Total: 1.629600 ms 
IK: 0.990100 ms Total: 1.606700 ms 
IK: 1.040300 ms Total: 1.650800 ms 
IK: 1.062500 ms Total: 1.822400 ms 
IK: 0.810200 ms Total: 1.441000 ms 
IK: 0.891100 ms Total: 1.565200 ms 
IK: 0.870200 ms Total: 1.846700 ms 
IK: 1.180800 ms Total: 1.981400 ms 
IK: 1.008500 ms Total: 1.976200 ms 
IK: 0.954100 ms Total: 1.751000 ms 
IK: 0.930600 ms Total: 1.708500 ms 
IK: 1.369200 ms Total: 2.165400 ms 
IK: 1.107200 ms Total: 1.862700 ms 
IK: 1.214800 ms Total: 2.083400 ms 
IK: 1.303500 ms Total: 2.152500 ms 
IK: 1.278400 ms Total: 2.462900 ms 
IK: 1.212300 ms Total: 2.327300 ms 
IK: 0.834400 ms Total: 1.532100 ms 
IK: 0.923200 ms Total: 1.708400 ms 
IK: 0.456500 ms Total: 2.155700 ms 
IK: 0.435600 ms Total: 1.798500 ms 
IK: 0.491500 ms Total: 2.192200 ms 
IK: 0.507200 ms Total: 2.839500 ms 
IK: 0.438900 ms Total: 2.123800 ms 
IK: 0.439800 ms Total: 2.339600 ms 
IK: 0.560100 ms Total: 2.298200 ms 
IK: 0.520500 ms Total: 2.051400 ms 
IK: 0.562700 ms Total: 2.628100 ms 
IK: 0.396100 ms Total: 2.610400 ms 
IK: 0.422900 ms Total: 2.220900 ms 
IK: 0.459600 ms Total: 2.105600 ms 
IK: 0.445900 ms Total: 2.411600 ms 
IK: 0.591400 ms Total: 2.395200 ms 
IK: 0.418600 ms Total: 2.011200 ms 
IK: 0.387300 ms Total: 1.818800 ms 
IK: 0.401700 ms Total: 2.191500 ms 
IK: 0.587600 ms Total: 2.942500 ms 
IK: 0.561600 ms Total: 2.804300 ms 
IK: 0.450400 ms Total: 2.121900 ms 
IK: 0.523400 ms Total: 2.709700 ms 
IK: 0.513100 ms Total: 2.355100 ms 
IK: 0.367200 ms Total: 2.301200 ms 
IK: 0.439200 ms Total: 2.384400 ms 
IK: 0.405700 ms Total: 2.127200 ms 
IK: 0.477500 ms Total: 2.127900 ms 
IK: 0.553000 ms Total: 2.657700 ms 
IK: 0.452800 ms Total: 1.803200 ms 
IK: 0.573200 ms Total: 2.841900 ms 
IK: 0.454400 ms Total: 2.252500 ms 
IK: 0.508500 ms Total: 2.032400 ms 
IK: 0.507800 ms Total: 2.877100 ms 
IK: 0.359800 ms Total: 2.248000 ms 
IK: 0.462300 ms Total: 2.463900 ms 
IK: 0.391800 ms Total: 1.950500 ms 
IK: 0.392700 ms Total: 2.217900 ms 
IK: 0.576400 ms Total: 3.052500 ms 
IK: 0.458700 ms Total: 2.403600 ms 
IK: 0.476600 ms Total: 3.009200 ms 
IK: 0.494300 ms Total: 2.861700 ms 
IK: 0.537700 ms Total: 2.466400 ms 
IK: 0.448000 ms Total: 2.887400 ms 
IK: 0.432400 ms Total: 2.392300 ms 
IK: 0.512400 ms Total: 2.688500 ms 
IK: 0.399500 ms Total: 2.243800 ms 
IK: 0.518100 ms Total: 2.741400 ms 
IK: 0.459900 ms Total: 2.388300 ms 
IK: 0.573200 ms Total: 2.603900 ms 
IK: 0.514300 ms Total: 2.745800 ms 
IK: 0.456800 ms Total: 2.378100 ms 
IK: 0.516700 ms Total: 2.417200 ms 
IK: 0.394100 ms Total: 2.548300 ms 
IK: 0.442000 ms Total: 2.557900 ms 
IK: 0.484700 ms Total: 2.511500 ms 
IK: 0.450700 ms Total: 2.696700 ms 
IK: 0.399100 ms Total: 2.356500 ms 
IK: 0.580600 ms Total: 2.566700 ms 
IK: 0.473500 ms Total: 2.501100 ms 
IK: 0.450200 ms Total: 2.485300 ms 
IK: 0.429900 ms Total: 2.273300 ms 
IK: 0.538800 ms Total: 2.480800 ms 
IK: 0.466900 ms Total: 2.303000 ms 
IK: 0.484700 ms Total: 2.824000 ms 
IK: 0.419700 ms Total: 2.139800 ms 
IK: 0.505300 ms Total: 3.053300 ms 
IK: 0.376900 ms Total: 2.269400 ms 
IK: 0.366900 ms Total: 2.259100 ms 
IK: 0.571200 ms Total: 3.160300 ms 
IK: 0.416300 ms Total: 2.191900 ms 
IK: 0.458400 ms Total: 2.546000 ms 
IK: 0.521700 ms Total: 2.619800 ms 
IK: 0.461200 ms Total: 2.304900 ms 
IK: 0.489500 ms Total: 2.748300 ms 
IK: 0.441600 ms Total: 2.298500 ms 
IK: 0.384100 ms Total: 2.137100 ms 
IK: 0.445900 ms Total: 2.928300 ms 
IK: 0.429200 ms Total: 2.670200 ms 
IK: 0.448800 ms Total: 2.743900 ms 
IK: 0.387200 ms Total: 2.412500 ms 
IK: 0.419200 ms Total: 2.747000 ms 
IK: 0.463100 ms Total: 2.394500 ms 
IK: 0.489800 ms Total: 2.791600 ms 
IK: 0.434100 ms Total: 2.394500 ms 
IK: 0.386700 ms Total: 2.175500 ms 
IK: 0.361600 ms Total: 2.211800 ms 
IK: 0.540100 ms Total: 2.806300 ms 
IK: 0.454900 ms Total: 2.824800 ms 
IK: 0.461000 ms Total: 2.578600 ms 
IK: 0.335100 ms Total: 2.136500 ms 
IK: 0.443000 ms Total: 2.227000 ms 
IK: 0.364800 ms Total: 2.580900 ms 
IK: 0.439600 ms Total: 2.495500 ms 
IK: 0.440100 ms Total: 2.848700 ms 
IK: 0.474300 ms Total: 2.606400 ms 
IK: 0.416600 ms Total: 2.261600 ms 
IK: 0.421300 ms Total: 2.277400 ms 
IK: 0.522400 ms Total: 2.569900 ms 
IK: 0.496700 ms Total: 3.194200 ms 
IK: 0.602800 ms Total: 2.621800 ms 
IK: 0.521300 ms Total: 3.023800 ms 
IK: 0.472000 ms Total: 2.553400 ms 
IK: 0.420300 ms Total: 2.198300 ms 
IK: 0.419000 ms Total: 2.312300 ms 
IK: 0.509600 ms Total: 3.194100 ms 
IK: 0.403500 ms Total: 2.422600 ms 
IK: 0.417000 ms Total: 2.178000 ms 
IK: 0.424200 ms Total: 2.347700 ms 
IK: 0.418300 ms Total: 2.580800 ms 
IK: 0.410700 ms Total: 2.473800 ms 
IK: 0.493300 ms Total: 2.156500 ms 
IK: 0.391000 ms Total: 2.448600 ms 
IK: 0.450900 ms Total: 2.811700 ms 
IK: 0.525800 ms Total: 2.821900 ms 
IK: 0.504900 ms Total: 2.741500 ms 
IK: 0.477400 ms Total: 2.579600 ms 
IK: 0.560500 ms Total: 2.542000 ms 
IK: 0.449100 ms Total: 2.315100 ms 
IK: 0.494900 ms Total: 2.267100 ms 
IK: 0.434500 ms Total: 2.284500 ms 
IK: 0.409700 ms Total: 2.691500 ms 
IK: 0.454400 ms Total: 2.923100 ms 
IK: 0.438400 ms Total: 2.652100 ms 
IK: 0.599300 ms Total: 2.840600 ms 
IK: 0.486400 ms Total: 2.905700 ms 
IK: 0.403300 ms Total: 2.798000 ms 
IK: 0.516100 ms Total: 2.768300 ms 
IK: 0.405400 ms Total: 2.920500 ms 
IK: 0.426400 ms Total: 2.633800 ms 
IK: 0.507400 ms Total: 2.857700 ms 
IK: 0.428900 ms Total: 2.495100 ms 
IK: 0.545600 ms Total: 3.245800 ms 
IK: 0.466700 ms Total: 3.027700 ms 
IK: 0.456700 ms Total: 2.939800 ms 
IK: 0.472200 ms Total: 2.571900 ms 
IK: 0.530000 ms Total: 2.737100 ms 
IK: 0.397600 ms Total: 2.466300 ms 
IK: 0.471400 ms Total: 2.538900 ms 
IK: 0.450600 ms Total: 2.634300 ms 
IK: 0.436300 ms Total: 2.734000 ms 
IK: 0.420600 ms Total: 2.505100 ms 
IK: 0.424600 ms Total: 2.428200 ms 
IK: 0.443400 ms Total: 2.623400 ms 
IK: 0.477600 ms Total: 3.100900 ms 
IK: 0.499600 ms Total: 2.556800 ms 
IK: 0.465600 ms Total: 2.533200 ms 
IK: 0.458600 ms Total: 2.600000 ms 
IK: 0.536400 ms Total: 2.753900 ms 
IK: 0.376800 ms Total: 2.394800 ms 
IK: 0.488100 ms Total: 2.480100 ms 
IK: 0.524000 ms Total: 2.844000 ms 
IK: 0.473900 ms Total: 2.486700 ms 
IK: 0.513000 ms Total: 3.280500 ms 
IK: 0.472700 ms Total: 2.819100 ms 
IK: 0.634400 ms Total: 3.360600 ms 
IK: 0.478500 ms Total: 2.955100 ms 
IK: 0.435600 ms Total: 2.559100 ms 
IK: 0.440700 ms Total: 2.309900 ms 
IK: 0.425300 ms Total: 2.614600 ms 
IK: 0.579200 ms Total: 2.773000 ms 
IK: 0.492900 ms Total: 2.649200 ms 
IK: 0.554800 ms Total: 3.017700 ms 
IK: 0.477000 ms Total: 2.767000 ms 
IK: 0.388800 ms Total: 2.608300 ms 
IK: 0.524800 ms Total: 2.919200 ms 
IK: 0.502700 ms Total: 2.619700 ms 
IK: 0.576900 ms Total: 2.926600 ms 
IK: 0.437200 ms Total: 2.410500 ms 
IK: 0.545000 ms Total: 2.782900 ms 
IK: 0.477300 ms Total: 3.101000 ms 
IK: 0.465000 ms Total: 2.480000 ms 
IK: 0.409500 ms Total: 2.346900 ms 
IK: 0.567800 ms Total: 2.453400 ms 
IK: 0.491200 ms Total: 2.963000 ms 
IK: 0.471300 ms Total: 2.619300 ms 
IK: 0.603300 ms Total: 3.010500 ms 
IK: 0.409800 ms Total: 2.679100 ms 
IK: 0.510400 ms Total: 2.997900 ms 
IK: 0.500300 ms Total: 2.760200 ms 
IK: 0.446500 ms Total: 2.520000 ms 
IK: 0.560400 ms Total: 2.520900 ms 
IK: 0.512600 ms Total: 2.932400 ms 
IK: 0.513800 ms Total: 2.720000 ms 
IK: 0.443400 ms Total: 2.502000 ms 
IK: 0.406600 ms Total: 2.380200 ms 
IK: 0.411300 ms Total: 3.129400 ms 
IK: 0.436400 ms Total: 2.689000 ms 
IK: 0.348300 ms Total: 2.242100 ms 
IK: 0.539400 ms Total: 3.273400 ms 
IK: 0.423600 ms Total: 2.260000 ms 
IK: 0.577300 ms Total: 2.813300 ms 
IK: 0.412600 ms Total: 2.674000 ms 
IK: 0.431800 ms Total: 2.459700 ms 
IK: 0.434000 ms Total: 2.485500 ms 
IK: 0.458700 ms Total: 2.726900 ms 
IK: 0.489200 ms Total: 2.711300 ms 
IK: 0.538700 ms Total: 2.799500 ms 
IK: 0.530800 ms Total: 2.854100 ms 
IK: 0.467400 ms Total: 3.037000 ms 
IK: 0.434500 ms Total: 2.616300 ms 
IK: 0.483400 ms Total: 2.625100 ms 
IK: 0.410200 ms Total: 2.533200 ms 
IK: 0.613000 ms Total: 2.822800 ms 
IK: 0.443700 ms Total: 2.374000 ms 
IK: 0.394200 ms Total: 2.502900 ms 
IK: 0.543600 ms Total: 2.764800 ms 
IK: 0.475000 ms Total: 2.573700 ms 
IK: 0.367600 ms Total: 2.577400 ms 
IK: 0.453300 ms Total: 2.688200 ms 
IK: 0.445100 ms Total: 2.533100 ms 
IK: 0.507200 ms Total: 2.745900 ms 
IK: 0.493700 ms Total: 2.915500 ms 
IK: 0.650900 ms Total: 3.060900 ms 
IK: 0.536800 ms Total: 3.074600 ms 
IK: 0.435300 ms Total: 2.497700 ms 
IK: 0.469700 ms Total: 2.952800 ms 
IK: 0.493700 ms Total: 2.552100 ms 
IK: 0.464700 ms Total: 2.635300 ms 
IK: 0.426000 ms Total: 2.529100 ms 
IK: 0.459300 ms Total: 3.242300 ms 
IK: 0.580200 ms Total: 3.527400 ms 
IK: 0.469900 ms Total: 2.774400 ms 
IK: 0.472000 ms Total: 2.478500 ms 
IK: 0.676500 ms Total: 2.942600 ms 
IK: 0.398800 ms Total: 2.469200 ms 
IK: 0.451600 ms Total: 2.730600 ms 
IK: 0.515700 ms Total: 2.965100 ms 
IK: 0.473000 ms Total: 2.701000 ms 
IK: 0.485700 ms Total: 2.713400 ms 
IK: 0.522000 ms Total: 2.771900 ms 
IK: 0.408800 ms Total: 2.557700 ms 
IK: 0.536800 ms Total: 2.806700 ms 
IK: 0.472400 ms Total: 2.876000 ms 
IK: 0.443500 ms Total: 2.644200 ms 
IK: 0.424400 ms Total: 2.604700 ms 
IK: 0.514700 ms Total: 2.706800 ms 
IK: 0.426600 ms Total: 2.729400 ms 
IK: 0.494400 ms Total: 3.156600 ms 
IK: 0.397200 ms Total: 2.269400 ms 
IK: 0.430400 ms Total: 3.012400 ms 
IK: 0.443100 ms Total: 3.097400 ms 
IK: 0.429400 ms Total: 2.780900 ms 
IK: 0.515600 ms Total: 3.061700 ms 
IK: 0.444700 ms Total: 2.789300 ms 
IK: 0.442100 ms Total: 2.590900 ms 
IK: 0.532000 ms Total: 2.633700 ms 
IK: 0.595500 ms Total: 3.166300 ms 
IK: 0.430500 ms Total: 3.163100 ms 
IK: 0.556100 ms Total: 3.068400 ms 
IK: 0.490100 ms Total: 3.121600 ms 
IK: 0.458700 ms Total: 2.946900 ms 
IK: 0.458000 ms Total: 2.997900 ms 
IK: 0.526000 ms Total: 2.936800 ms 
IK: 0.457800 ms Total: 2.943500 ms 
IK: 0.486000 ms Total: 2.820500 ms 
IK: 0.468500 ms Total: 2.949500 ms 
IK: 0.553300 ms Total: 2.970700 ms 
IK: 0.403300 ms Total: 2.520400 ms 
IK: 0.458200 ms Total: 3.027500 ms 
IK: 0.408800 ms Total: 2.833500 ms 
IK: 0.464700 ms Total: 3.089600 ms 
IK: 0.491600 ms Total: 3.003300 ms 
IK: 0.436700 ms Total: 3.051300 ms 
IK: 0.426900 ms Total: 2.762100 ms 
IK: 0.496200 ms Total: 2.755500 ms 
IK: 0.458800 ms Total: 2.867200 ms 
IK: 0.543700 ms Total: 2.851600 ms 
IK: 0.522000 ms Total: 3.186600 ms 
IK: 0.464500 ms Total: 3.084000 ms 
IK: 0.527600 ms Total: 2.983400 ms 
IK: 0.541100 ms Total: 3.057600 ms 
IK: 0.422100 ms Total: 2.861600 ms 
IK: 0.386100 ms Total: 2.922900 ms 
IK: 0.397800 ms Total: 2.724400 ms 
IK: 0.514800 ms Total: 3.249000 ms 
IK: 0.553400 ms Total: 3.159300 ms 
IK: 0.471200 ms Total: 3.088800 ms 
IK: 0.514300 ms Total: 3.010900 ms 
IK: 0.453800 ms Total: 2.647200 ms 
IK: 0.439300 ms Total: 2.631600 ms 
IK: 0.529900 ms Total: 3.054900 ms 
IK: 0.496200 ms Total: 2.911300 ms 
IK: 0.421600 ms Total: 2.872400 ms 
IK: 0.463000 ms Total: 2.823800 ms 
IK: 0.504600 ms Total: 3.218000 ms 
IK: 0.442100 ms Total: 3.375900 ms 
IK: 0.479500 ms Total: 3.189900 ms 
IK: 0.415400 ms Total: 3.088300 ms 
IK: 0.578100 ms Total: 3.309800 ms 
IK: 0.590200 ms Total: 2.904300 ms 
IK: 0.492200 ms Total: 3.098600 ms 
IK: 0.551200 ms Total: 3.231600 ms 
IK: 0.440500 ms Total: 2.882900 ms 
IK: 0.413300 ms Total: 3.230200 ms 
IK: 0.523200 ms Total: 3.137500 ms 
IK: 0.480200 ms Total: 3.329000 ms 
IK: 0.428100 ms Total: 3.014600 ms 
IK: 0.405600 ms Total: 3.086300 ms 
IK: 0.475600 ms Total: 3.099400 ms 
IK: 0.487300 ms Total: 3.091300 ms 
IK: 0.446800 ms Total: 2.826400 ms 
IK: 0.449600 ms Total: 3.074500 ms 
IK: 0.483500 ms Total: 3.065100 ms 
IK: 0.458900 ms Total: 2.982500 ms 
IK: 0.382900 ms Total: 2.848200 ms 
IK: 0.492600 ms Total: 2.882100 ms 
IK: 0.551700 ms Total: 3.679000 ms 
IK: 0.484100 ms Total: 2.998600 ms 
IK: 0.416100 ms Total: 2.863300 ms 
IK: 0.405300 ms Total: 2.817300 ms 
IK: 0.396000 ms Total: 2.739400 ms 
IK: 0.442600 ms Total: 3.285700 ms 
IK: 0.495300 ms Total: 3.272900 ms 
IK: 0.472700 ms Total: 3.095700 ms 
IK: 0.498000 ms Total: 3.004000 ms 
IK: 0.470900 ms Total: 3.096900 ms 
IK: 0.513500 ms Total: 3.223700 ms 
IK: 0.439200 ms Total: 2.987900 ms 
IK: 0.361100 ms Total: 3.135800 ms 
IK: 0.436500 ms Total: 2.852400 ms 
IK: 0.412700 ms Total: 2.987000 ms 
IK: 0.470300 ms Total: 2.885900 ms 
IK: 0.497400 ms Total: 3.685100 ms 
IK: 0.573000 ms Total: 3.386900 ms 
IK: 0.463700 ms Total: 3.180600 ms 
IK: 0.387100 ms Total: 2.808100 ms 
IK: 0.460800 ms Total: 2.907800 ms 
IK: 0.486600 ms Total: 3.453600 ms 
IK: 0.469500 ms Total: 3.104500 ms 
IK: 0.544600 ms Total: 3.413200 ms 
IK: 0.497600 ms Total: 2.940500 ms 
IK: 0.471600 ms Total: 3.099000 ms 
IK: 0.367000 ms Total: 2.792500 ms 
IK: 0.424000 ms Total: 2.802100 ms 
IK: 0.449400 ms Total: 3.355800 ms 
IK: 0.471100 ms Total: 2.972400 ms 
IK: 0.501400 ms Total: 3.335400 ms 
IK: 0.386500 ms Total: 3.178300 ms 
IK: 0.553200 ms Total: 3.374300 ms 
IK: 0.527600 ms Total: 3.181800 ms 
IK: 0.518100 ms Total: 3.293700 ms 
IK: 0.463900 ms Total: 3.044500 ms 
IK: 0.435800 ms Total: 3.051000 ms 
IK: 0.366300 ms Total: 2.898700 ms 
IK: 0.410900 ms Total: 2.988700 ms 
IK: 0.508700 ms Total: 3.267500 ms 
IK: 0.464300 ms Total: 3.146600 ms 
IK: 0.423200 ms Total: 3.165200 ms 
IK: 0.420800 ms Total: 3.239700 ms 
IK: 0.483300 ms Total: 2.927000 ms 
IK: 0.429000 ms Total: 3.003600 ms 
IK: 0.440000 ms Total: 3.030200 ms 
IK: 0.545500 ms Total: 3.222800 ms 
IK: 0.424500 ms Total: 3.262800 ms 
IK: 0.464700 ms Total: 3.049200 ms 
IK: 0.556000 ms Total: 3.116700 ms 
IK: 0.406800 ms Total: 3.216200 ms 
IK: 0.539600 ms Total: 3.538800 ms 
IK: 0.468200 ms Total: 3.468900 ms 
IK: 0.559100 ms Total: 3.254800 ms 
IK: 0.489500 ms Total: 3.169300 ms 
IK: 0.440400 ms Total: 3.139600 ms 
IK: 0.410500 ms Total: 2.984400 ms 
IK: 0.426700 ms Total: 2.835300 ms 
IK: 0.463900 ms Total: 3.222500 ms 
IK: 0.477000 ms Total: 3.374900 ms 
IK: 0.369800 ms Total: 2.897500 ms 
IK: 0.474500 ms Total: 2.999000 ms 
IK: 0.430200 ms Total: 2.985700 ms 
IK: 0.518500 ms Total: 3.171300 ms 
IK: 0.484400 ms Total: 3.149200 ms 
IK: 0.511700 ms Total: 3.035100 ms 
IK: 0.488400 ms Total: 2.979100 ms 
IK: 0.461800 ms Total: 2.902800 ms 
IK: 0.589700 ms Total: 3.457200 ms 
IK: 0.402700 ms Total: 2.953500 ms 
IK: 0.642600 ms Total: 3.847200 ms 
IK: 0.464000 ms Total: 3.687000 ms 
IK: 0.417200 ms Total: 2.759600 ms 
IK: 0.491900 ms Total: 3.272500 ms 
IK: 0.477000 ms Total: 2.817000 ms 
IK: 0.509900 ms Total: 3.156900 ms 
IK: 0.495200 ms Total: 3.118300 ms 
IK: 0.498400 ms Total: 3.023500 ms 
IK: 0.547300 ms Total: 3.443100 ms 
IK: 0.475800 ms Total: 3.029200 ms 
IK: 0.457600 ms Total: 3.060800 ms 
IK: 0.492200 ms Total: 2.969000 ms 
IK: 0.506600 ms Total: 2.987800 ms 
IK: 0.471000 ms Total: 2.889600 ms 
IK: 0.422500 ms Total: 2.894000 ms 
IK: 0.506400 ms Total: 3.179700 ms 
IK: 0.476100 ms Total: 3.090800 ms 
IK: 0.485600 ms Total: 3.059100 ms 
IK: 0.430300 ms Total: 3.099800 ms 
IK: 0.427800 ms Total: 2.736200 ms 
IK: 0.506000 ms Total: 3.194400 ms 
IK: 0.600000 ms Total: 3.425800 ms 
IK: 0.552800 ms Total: 3.235000 ms 
IK: 0.370300 ms Total: 2.679100 ms 
IK: 0.525900 ms Total: 3.362400 ms 
IK: 0.504000 ms Total: 3.446200 ms 
IK: 0.526100 ms Total: 3.204400 ms 
IK: 0.550300 ms Total: 3.715200 ms 
IK: 0.457300 ms Total: 3.326200 ms 
IK: 0.528300 ms Total: 3.248300 ms 
IK: 0.570400 ms Total: 3.025900 ms 
IK: 0.519800 ms Total: 3.314900 ms 
IK: 0.597500 ms Total: 3.398100 ms 
IK: 0.518200 ms Total: 3.078000 ms 
IK: 0.533700 ms Total: 3.508100 ms 
IK: 0.562200 ms Total: 3.565400 ms 
IK: 0.604500 ms Total: 3.795400 ms 
IK: 0.444700 ms Total: 2.922600 ms 
IK: 0.559500 ms Total: 3.175900 ms 
IK: 0.540700 ms Total: 3.447600 ms 
IK: 0.446200 ms Total: 2.771200 ms 
IK: 0.394600 ms Total: 3.285000 ms 
IK: 0.359200 ms Total: 2.634500 ms 
IK: 0.515900 ms Total: 3.123600 ms 
IK: 0.578400 ms Total: 3.211300 ms 
IK: 0.522300 ms Total: 3.291200 ms 
IK: 0.497600 ms Total: 3.225900 ms 
IK: 0.532400 ms Total: 2.997000 ms 
IK: 0.520800 ms Total: 3.169900 ms 
IK: 0.544200 ms Total: 3.175500 ms 
IK: 0.370900 ms Total: 2.786900 ms 
IK: 0.628300 ms Total: 3.280600 ms 
IK: 0.438700 ms Total: 3.105500 ms 
IK: 0.557000 ms Total: 3.321000 ms 
IK: 0.440000 ms Total: 3.137700 ms 
IK: 0.475900 ms Total: 3.091500 ms 
IK: 0.422900 ms Total: 3.744400 ms 
IK: 0.460100 ms Total: 2.907600 ms 
IK: 0.444100 ms Total: 3.266600 ms 
IK: 0.468000 ms Total: 3.184600 ms 
IK: 0.540300 ms Total: 3.598600 ms 
IK: 0.431400 ms Total: 3.043800 ms 
IK: 0.493000 ms Total: 3.287500 ms 
IK: 0.436700 ms Total: 3.138200 ms 
IK: 0.477000 ms Total: 3.517400 ms 
IK: 0.330200 ms Total: 3.081900 ms 
IK: 0.490700 ms Total: 3.451100 ms 
IK: 0.381400 ms Total: 2.997300 ms 
IK: 0.519200 ms Total: 3.401300 ms 
IK: 0.489000 ms Total: 3.508500 ms 
IK: 0.414500 ms Total: 3.525100 ms 
IK: 0.475300 ms Total: 3.410400 ms 
IK: 0.419700 ms Total: 3.332700 ms 
IK: 0.493000 ms Total: 3.445800 ms 
IK: 0.400300 ms Total: 2.965300 ms 
IK: 0.497900 ms Total: 3.232800 ms 
IK: 0.488000 ms Total: 3.253700 ms 
IK: 0.397400 ms Total: 3.282000 ms 
IK: 0.521700 ms Total: 3.345400 ms 
IK: 0.472200 ms Total: 3.436900 ms 
IK: 0.408600 ms Total: 3.155500 ms 
IK: 0.479200 ms Total: 3.205500 ms 
IK: 0.382600 ms Total: 3.206400 ms 
IK: 0.432100 ms Total: 3.071200 ms 
IK: 0.440200 ms Total: 3.477700 ms 
IK: 0.533800 ms Total: 3.556300 ms 
IK: 0.441100 ms Total: 3.330000 ms 
IK: 0.460000 ms Total: 3.280300 ms 
IK: 0.502600 ms Total: 3.046300 ms 
IK: 0.527200 ms Total: 3.421200 ms 
IK: 0.381100 ms Total: 3.395100 ms 
IK: 0.501300 ms Total: 3.472900 ms 
IK: 0.533800 ms Total: 3.412000 ms 
IK: 0.386800 ms Total: 3.227800 ms 
IK: 0.451300 ms Total: 3.459300 ms 
IK: 0.442000 ms Total: 2.930000 ms 
IK: 0.540100 ms Total: 3.423100 ms 
IK: 0.488100 ms Total: 3.290500 ms 
IK: 0.481600 ms Total: 4.025400 ms 
IK: 0.416300 ms Total: 3.311400 ms 
IK: 0.477800 ms Total: 3.112700 ms 
IK: 0.459700 ms Total: 3.215900 ms 
IK: 0.555400 ms Total: 3.236800 ms 
IK: 0.431700 ms Total: 3.120600 ms 
IK: 0.486300 ms Total: 3.620700 ms 
IK: 0.508500 ms Total: 3.315900 ms 
[ERROR] [evaluateZMP] None of the two contacts is valid.
[ERROR] [WalkingModule::updateModule] Unable to evaluate the ZMP.
[INFO] |yarp.os.RFModule| RFModule closing.
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o to /icubSim/torso/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/torso/command:o->udp->/icubSim/torso/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/torso/command:o to /icubSim/torso/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i| Removing input from /icubSim/torso/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o to /icubSim/left_arm/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o->udp->/icubSim/left_arm/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o to /icubSim/left_arm/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i| Removing input from /icubSim/left_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o to /icubSim/right_arm/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o->udp->/icubSim/right_arm/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o to /icubSim/right_arm/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i| Removing input from /icubSim/right_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o to /icubSim/left_leg/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o->udp->/icubSim/left_leg/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o to /icubSim/left_leg/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i| Removing input from /icubSim/left_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o to /icubSim/right_leg/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o->udp->/icubSim/right_leg/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o to /icubSim/right_leg/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i| Removing input from /icubSim/right_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i
[INFO] |yarp.os.RFModule| RFModule finished.
[WARNING] |yarp.os.NetworkClock| Destroying network clock
[INFO] |yarp.os.Network| Success: port-to-port persistent connection added.
[INFO] |yarp.os.impl.PortCoreInputUnit|/IITICUBLAP249/WalkingModule/18816/clock:i| Removing input from /clock to /IITICUBLAP249/WalkingModule/18816/clock:i

FallenICUB

cc @lrapetti @randaz81

mebbaid commented 2 years ago

ciao @SimoneMic , are you available tomorrow in IIT for a f2f (preferably after 14:00) ? so that we can compare our set-ups to see if there is any difference and try to debug/iterate.

SimoneMic commented 2 years ago

ciao @SimoneMic , are you available tomorrow in IIT for a f2f (preferably after 14:00) ? so that we can compare our set-ups to see if there is any difference and try to debug/iterate.

Unfortunately this week I'm not in Genova, but the next one I'll be there.

mebbaid commented 2 years ago

ok, we can arrange a ms-teams meeting tomorrow, because (at least to me, others can be more helpful here) it is difficult to debug without going through the set-up thoroughly.

SimoneMic commented 2 years ago

Ok, thanks, fine by me.


From: Mohamed Elobaid @.> Sent: Monday, February 14, 2022 6:53:06 PM To: robotology/walking-controllers @.> Cc: Simone Micheletti @.>; Mention @.> Subject: Re: [robotology/walking-controllers] iCubGazebo_V3 Falls Frequently in Simulation on Gazebo (Issue #107)

ok, we can arrange a ms-teams meeting tomorrow, because (at least to me, others can be more helpful here) it is difficult to debug without going through the set-up thoroughly.

— Reply to this email directly, view it on GitHubhttps://github.com/robotology/walking-controllers/issues/107#issuecomment-1039379512, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUXEKH4RZIULPO44LWZAHULU3E6QFANCNFSM5OMCWNHA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.Message ID: @.***>

SimoneMic commented 2 years ago

Hello,

Me and @mebbaid saw that the gazebo real time factor fell pretty low in simulation,around 0.40 - 0.45 after spawning the model. I was streaming on Teams, so the computational load of the application was slowing a bit the simulation, but - without any other applications - during the walking is around 0.6 (still not great either).

This is compliant to the error that gives the walking module when the robot falls:

[ERROR] [evaluateZMP] None of the two contacts is valid.
[ERROR] [WalkingModule::updateModule] Unable to evaluate the ZMP.

It seems that the robot doesn't perceive the contacts on its feets.

We did the following tests on my configuration (iCubGazeboV3):

  1. Tried old PID gains and new ones, with the same results
  2. Tried to improve the real time factor by modifying the physical solver parameters, setting the real_time_update_rate to 0 to make it run as fast as it can. This led to a real time factor of 1.25 in simulation. But we found out that the prepareRobot phase failed when having a real time factor > 1. Here's the error code.
    q desired IK   18.5369  0.236021  -0.05871  -1.91926   16.7715  -12.6683   39.7101  -1.95081    16.789  -12.6609   39.7137   2.59106  0.623582 -0.289821  -58.3052  -33.6794 -0.731743   2.62289  0.494828 -0.223192  -58.3616  -33.7034 -0.498707
    [ERROR] [RobotInterface::checkMotionDone] The timer is expired but the joint  r_knee  has an error of  1.01871  radians
    [ERROR] [WalkingModule::updateModule] Unable to check if the motion is done
    [INFO] [WalkingModule::updateModule] Try to prepare again

    Note: this doesn't happen when real_time_update_rate is set to 1000 Hz, but when is at 0.

  3. We also tried to avoid using the GUI by using gzserver, with a world file (see attachment), with real time factor of 1. But the simulation kept having a small real time factor of 0.3/0.4 and the robot fell in a short while.
  4. We also tried to launch everything from script but to no avail.

Other information: I have the latest versions of walking-controllers, unicycle footstep planner. Also I have gazebo 11 and the latest version of YARP (3.6).

Anyone has any suggestions? Thanks

world_icubV3.txt

icubV3_script.sh.txt

mebbaid commented 2 years ago

Other information: I have the latest versions of walking-controllers, unicycle footstep planner. Also I have gazebo 11 and the latest version of YARP (3.6).

yeah, I should start by saying that, apart from using the super-build , the individual relevant repositories were aligned in both our machines. Alas, I was not able to reproduce the errors and constant falls/failure upon startup of the WalkingModule.

lrapetti commented 2 years ago

@SimoneMic probably a video of the failure might also be of help for debugging your issue

SimoneMic commented 2 years ago

Here's a video iCubGazebo_Fall.zip

Let me know if you need something else.

SimoneMic commented 2 years ago

I've also tried to run the configuration presented in https://github.com/robotology/walking-controllers/blob/fc74f101e1e933ac6b89e28ca52559ef18d4cd9a/src/WalkingModule/app/robots/iCubGenova09/dcm_walking/joypad_control/robotControl.ini#L21-L25 running the ankle joints in compliant mode (as suggested by @lrapetti ). But the robot fell forward right after the startWalking command. Here's the log:

q desired IK   18.5369  0.236021  -0.05871  -1.91926   16.7715  -12.6683   39.7101  -1.95081    16.789  -12.6609   39.7137   2.59106  0.623582 -0.289821  -58.3052  -33.6794 -0.731743   2.62289  0.494828 -0.223192  -58.3616  -33.7034 -0.498707
[INFO] [WalkingModule::updateModule] The robot is prepared.
IK: 1.475400 ms Total: 2.669100 ms 
IK: 0.965000 ms Total: 2.098400 ms 
IK: 1.008600 ms Total: 2.024900 ms 
IK: 1.129500 ms Total: 2.342200 ms 
IK: 0.954300 ms Total: 1.771800 ms 
IK: 0.814500 ms Total: 1.600900 ms 
IK: 1.162400 ms Total: 2.243900 ms 
IK: 0.945400 ms Total: 1.495000 ms 
IK: 1.126000 ms Total: 2.373200 ms 
IK: 0.799600 ms Total: 1.718600 ms 
IK: 0.978500 ms Total: 1.764800 ms 
IK: 1.428200 ms Total: 2.525300 ms 
[ERROR] [RobotInterface::setDirectPositionReferences] The worst error between the current and the  desired position of the  l_shoulder_roll  joint is greater than 0.5 rad.
[ERROR] [WalkingModule::updateModule] Error while setting the reference position to iCub.
[INFO] |yarp.os.RFModule| RFModule closing.
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i| Removing input from /wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o to /icubSim/torso/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/torso/command:o->udp->/icubSim/torso/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/torso/command:o to /icubSim/torso/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i| Removing input from /icubSim/torso/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o to /icubSim/left_arm/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o->udp->/icubSim/left_arm/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o to /icubSim/left_arm/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i| Removing input from /icubSim/left_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o to /icubSim/right_arm/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o->udp->/icubSim/right_arm/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o to /icubSim/right_arm/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i| Removing input from /icubSim/right_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o to /icubSim/left_leg/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o->udp->/icubSim/left_leg/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o to /icubSim/left_leg/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i| Removing input from /icubSim/left_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o to /icubSim/right_leg/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o| output for route /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o->udp->/icubSim/right_leg/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o| Removing output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o to /icubSim/right_leg/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i| Removing input from /icubSim/right_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i
[INFO] |yarp.os.RFModule| RFModule finished.
[WARNING] |yarp.os.NetworkClock| Destroying network clock
[INFO] |yarp.os.Network| Success: port-to-port persistent connection added.
[INFO] |yarp.os.impl.PortCoreInputUnit|/IITICUBLAP249/WalkingModule/8465/clock:i| Removing input from /clock to /IITICUBLAP249/WalkingModule/8465/clock:i

I didn't even issued a setGoal command.

mebbaid commented 2 years ago

@S-Dafarra @GiulioRomualdi

GiulioRomualdi commented 2 years ago

Hi @SimoneMic, the long story short is that I never spent a lot of time tuning the controller in simulation for iCubGazeboV3. For this reason, the set of gains may not be optimal. Here are some hints:

  1. The contacts are not stable. It may happen that at the impact the contact is continuously activated and deactivated. This causes
    [ERROR] [evaluateZMP] None of the two contacts is valid.
    [ERROR] [WalkingModule::updateModule] Unable to evaluate the ZMP.
  2. This error [ERROR] [RobotInterface::setDirectPositionReferences] The worst error between the current and the desired position of the l_shoulder_roll joint is greater than 0.5 rad. appears if the position tracking error of a joint, in this case, the l_shoulder_roll, is pretty high. This is due to the low-level position control.
  3. running the ankle joints in compliant mode

    The compliant mode has been tested only on the real robot as a consequence I've never tuned the low-level gains for the compliant mode in simulation. Furthermore, the walking does not provide any interface to set them. If you want to change them you should open a pr in icub-models-generator

S-Dafarra commented 2 years ago

@GiulioRomualdi @SimoneMic @mebbaid maybe it would be also worth to drop here some data saved with the (new) logger. Maybe we manage to find something suspicious

lrapetti commented 2 years ago

running the ankle joints in compliant mode

The compliant mode has been tested only on the real robot as a consequence I've never tuned the low-level gains for the compliant mode in simulation. Furthermore, the walking does not provide any interface to set them. If you want to change them you should open a pr in icub-models-generator

Concerning this point, all the parameters for complaint mode are actually set to zero in iCubGazeboV3 (and same for iCubGazeboV2_5). Just as reference, we could try the parameters tuned on the real robot (that can be found here)

SimoneMic commented 2 years ago

Hello

Today me and @mebbaid tried using a docker to see if the simulation has the same behavior and presents the same issues. We had the following results:

  1. iCubGazeboV3 falls on both computer and has a similar behavior, although on @mebbaid PC the RTF is higher - around 0.9 vs mine at 0.65 (same laptop model).
  2. The error is always the same - as listed in the issue: [ERROR] [evaluateZMP] None of the two contacts is valid. [ERROR] [WalkingModule::updateModule] Unable to evaluate the ZMP.
  3. We tried using the same git commits present on @mebbaid laptop, but still the robot fell after a short while (maximum distance is around 6 meters).
  4. We still tried original and new PID values to no avail.
  5. Also the stickBot model (for the ErgoCub project) presents this issue (further tuning needed, since some parameters change).

If you want to use the same docker you can pull it with the following command: sudo docker pull simonemiche/ergocub_simulation:test1 To run it: sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix${DISPLAY} --device /dev/dri/card0:/dev/dri/card0 --network=host --privileged simonemiche/ergocub_simulation:test1 bash

The docker has a clean installation of the robotology superbuild using cmake.

mebbaid commented 2 years ago

As per our last discussion, me and @SimoneMic have arrived at a new set of gains for the low level position-control pid that works OK for the stickBot in both our machines. Additionally those gains seems to work as well, in my machine, for the iCubGazeboV3. These gains will update the icub-model-generator repo.

SimoneMic commented 2 years ago

I think that we can close this issue. With @mebbaid pid parameters there's a stable improvement and the simulations are more reliable. The robot still falls after a while, but lasts enough for testing localization algorithms and motion planning. For mapping it could be another topic, but that could be a separate issue for future plans.

Thanks all!