robotology / gz-sim-yarp-plugins

YARP plugins for Modern Gazebo (gz-sim).
BSD 3-Clause "New" or "Revised" License
8 stars 2 forks source link

Diary: make ergoCub walk in Gazebo #122

Closed xela-95 closed 6 months ago

xela-95 commented 6 months ago

This issue will track all the technical details concerning #94.

Using walking-controllers release v0.8.0 (latest): https://github.com/robotology/walking-controllers/releases/tag/v0.8.0

xela-95 commented 6 months ago

You may want to update your libode package version, during the weekend we fixed some critical bugs (see conda-forge/libode-feedstock#22 and conda-forge/libode-feedstock#23).

is the latest libode version the 0.16.2? https://anaconda.org/conda-forge/libode

traversaro commented 6 months ago

Yes, but the fix is in the latest build, i.e. 14, so make sure to have installed libode==0.16.2=*_14 , just updating libode should install the latest build

xela-95 commented 6 months ago

Can you open an issue in https://github.com/gazebosim/gz-sim to report the issue? Thanks!

Done here: https://github.com/gazebosim/gz-sim/issues/2338

xela-95 commented 6 months ago

One of the major issues now is to guarantee that the Gazebo clock is set as Yarp clock on the /clock port, otherwise the control and the simulator will run at different speed.

Here are my attempts:

traversaro commented 6 months ago

By setting the environment variable YARP_CLOCK when I launch gazebo with gz sim example.workd --verbose Gazebo remains stuck (with a black GUI) logging:

This is probably a bug, ideally if the network clock is set we should avoid requiring the clock in the plugin that publish it, can you open an issue for that?

xela-95 commented 6 months ago

This is probably a bug, ideally if the network clock is set we should avoid requiring the clock in the plugin that publish it, can you open an issue for that?

Sorry I'm not sure to have fully understood, can you rephrase?

xela-95 commented 6 months ago

[ERROR] [configure] Unable to read encoders.

This error comes from https://github.com/robotology/walking-controllers/blob/edc8984998043c98182f726e17822deb2a7b1915/src/RobotInterface/src/Helper.cpp#L391-L401

The strange thing is that when I tried logging when the getEncoders and getEncoderSpeeds method si invoked, the method never logged anything. https://github.com/robotology/gz-sim-yarp-plugins/blob/6b25488fb793743ff90d00d9c9184e7e86f5031c/plugins/controlboard/src/ControlBoardDriver.cpp#L1612-L1629

xela-95 commented 6 months ago

I've also made an attempt by launching the yarprobotinterface using the YARP_CLOCK variable and this is what I got:

Logs ``` [INFO] |yarp.os.Port|/IITICUBLAP218/yarprobotinterface/32264/clock:i| Port /IITICUBLAP218/yarprobotinterface/32264/clock:i active at tcp://10.240.2.19:10045/ [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|/IITICUBLAP218/yarprobotinterface/32264/clock:i| Receiving input from /clock to /IITICUBLAP218/yarprobotinterface/32264/clock:i using tcp [ERROR] |yarp.os.Property| cannot read from yarprobotinterface.ini [DEBUG] Reading file /home/acroci/ergocub_ws/install/share/ergoCub/conf/launch_wholebodydynamics_ecub.xml [WARNING] Invalid syntax while loading /home/acroci/ergocub_ws/install/share/ergoCub/conf/launch_wholebodydynamics_ecub.xml at line 1 . Expected document of type robot . Found devices [DEBUG] yarprobotinterface: using xml parser for DTD v3.x [DEBUG] Reading file /home/acroci/ergocub_ws/install/share/ergoCub/conf/launch_wholebodydynamics_ecub.xml [INFO] Yarprobotinterface was started using the following enable_tags: [INFO] Yarprobotinterface was started using the following disable_tags: [DEBUG] List of all enable attributes found in the include tags: [DEBUG] List of all disable attributes found in the include tags: [DEBUG] Preprocessor complete in: 0 s [WARNING] Invalid syntax while loading at line 4 . "robot" element should contain the "portprefix" attribute. Using "name" attribute [WARNING] ************************************************************************************* * yarprobotinterface 'portprefix' parameter does not follow convention, * * it MUST start with a leading '/' since it is used as the full prefix port name * * name: full port prefix name with leading '/', e.g. /robotName * * A temporary automatic fix will be done for you, but please fix your config file * ************************************************************************************* [INFO] |yarp.os.Port|/ergoCubGazeboV1/yarprobotinterface| Port /ergoCubGazeboV1/yarprobotinterface active at tcp://10.240.2.19:10046/ [INFO] startup phase starting... [INFO] Opening device torso_mc with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/torso"), ("local" = "/wholeBodyDynamics/torso")] [DEBUG] |yarp.dev.PolyDriver|torso_mc| Parameters are (device remote_controlboard) (id torso_mc) (local "/wholeBodyDynamics/torso") (remote "/ergocubSim/torso") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/torso/rpc:o| Port /wholeBodyDynamics/torso/rpc:o active at tcp://10.240.2.19:10047/ [INFO] |yarp.os.Port|/wholeBodyDynamics/torso/command:o| Port /wholeBodyDynamics/torso/command:o active at tcp://10.240.2.19:10048/ [INFO] |yarp.os.Port|/wholeBodyDynamics/torso/stateExt:i| Port /wholeBodyDynamics/torso/stateExt:i active at tcp://10.240.2.19:10049/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/torso/rpc:o| Sending output from /wholeBodyDynamics/torso/rpc:o to /ergocubSim/torso/rpc:i using tcp [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/torso/command:o| Sending output from /wholeBodyDynamics/torso/command:o to /ergocubSim/torso/command:i using udp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/torso/stateExt:i| Receiving input from /ergocubSim/torso/stateExt:o to /wholeBodyDynamics/torso/stateExt:i using udp [INFO] |yarp.dev.PolyDriver|torso_mc| Created device . See C++ class RemoteControlBoard for documentation. [INFO] Opening device left_arm_mc with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/left_arm"), ("local" = "/wholeBodyDynamics/left_arm")] [DEBUG] |yarp.dev.PolyDriver|left_arm_mc| Parameters are (device remote_controlboard) (id left_arm_mc) (local "/wholeBodyDynamics/left_arm") (remote "/ergocubSim/left_arm") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/left_arm/rpc:o| Port /wholeBodyDynamics/left_arm/rpc:o active at tcp://10.240.2.19:10050/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_arm/command:o| Port /wholeBodyDynamics/left_arm/command:o active at tcp://10.240.2.19:10051/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_arm/stateExt:i| Port /wholeBodyDynamics/left_arm/stateExt:i active at tcp://10.240.2.19:10052/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/left_arm/rpc:o| Sending output from /wholeBodyDynamics/left_arm/rpc:o to /ergocubSim/left_arm/rpc:i using tcp [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/left_arm/command:o| Sending output from /wholeBodyDynamics/left_arm/command:o to /ergocubSim/left_arm/command:i using udp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/left_arm/stateExt:i| Receiving input from /ergocubSim/left_arm/stateExt:o to /wholeBodyDynamics/left_arm/stateExt:i using udp [INFO] |yarp.dev.PolyDriver|left_arm_mc| Created device . See C++ class RemoteControlBoard for documentation. [INFO] Opening device right_arm_mc with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/right_arm"), ("local" = "/wholeBodyDynamics/right_arm")] [DEBUG] |yarp.dev.PolyDriver|right_arm_mc| Parameters are (device remote_controlboard) (id right_arm_mc) (local "/wholeBodyDynamics/right_arm") (remote "/ergocubSim/right_arm") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/right_arm/rpc:o| Port /wholeBodyDynamics/right_arm/rpc:o active at tcp://10.240.2.19:10053/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_arm/command:o| Port /wholeBodyDynamics/right_arm/command:o active at tcp://10.240.2.19:10054/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_arm/stateExt:i| Port /wholeBodyDynamics/right_arm/stateExt:i active at tcp://10.240.2.19:10055/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/right_arm/rpc:o| Sending output from /wholeBodyDynamics/right_arm/rpc:o to /ergocubSim/right_arm/rpc:i using tcp [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/right_arm/command:o| Sending output from /wholeBodyDynamics/right_arm/command:o to /ergocubSim/right_arm/command:i using udp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/right_arm/stateExt:i| Receiving input from /ergocubSim/right_arm/stateExt:o to /wholeBodyDynamics/right_arm/stateExt:i using udp [INFO] |yarp.dev.PolyDriver|right_arm_mc| Created device . See C++ class RemoteControlBoard for documentation. [INFO] Opening device left_leg_mc with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/left_leg"), ("local" = "/wholeBodyDynamics/left_leg")] [DEBUG] |yarp.dev.PolyDriver|left_leg_mc| Parameters are (device remote_controlboard) (id left_leg_mc) (local "/wholeBodyDynamics/left_leg") (remote "/ergocubSim/left_leg") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/left_leg/rpc:o| Port /wholeBodyDynamics/left_leg/rpc:o active at tcp://10.240.2.19:10056/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_leg/command:o| Port /wholeBodyDynamics/left_leg/command:o active at tcp://10.240.2.19:10057/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_leg/stateExt:i| Port /wholeBodyDynamics/left_leg/stateExt:i active at tcp://10.240.2.19:10058/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/left_leg/rpc:o| Sending output from /wholeBodyDynamics/left_leg/rpc:o to /ergocubSim/left_leg/rpc:i using tcp [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/left_leg/command:o| Sending output from /wholeBodyDynamics/left_leg/command:o to /ergocubSim/left_leg/command:i using udp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/left_leg/stateExt:i| Receiving input from /ergocubSim/left_leg/stateExt:o to /wholeBodyDynamics/left_leg/stateExt:i using udp [INFO] |yarp.dev.PolyDriver|left_leg_mc| Created device . See C++ class RemoteControlBoard for documentation. [INFO] Opening device right_leg_mc with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/right_leg"), ("local" = "/wholeBodyDynamics/right_leg")] [DEBUG] |yarp.dev.PolyDriver|right_leg_mc| Parameters are (device remote_controlboard) (id right_leg_mc) (local "/wholeBodyDynamics/right_leg") (remote "/ergocubSim/right_leg") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/right_leg/rpc:o| Port /wholeBodyDynamics/right_leg/rpc:o active at tcp://10.240.2.19:10059/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_leg/command:o| Port /wholeBodyDynamics/right_leg/command:o active at tcp://10.240.2.19:10060/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_leg/stateExt:i| Port /wholeBodyDynamics/right_leg/stateExt:i active at tcp://10.240.2.19:10061/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/right_leg/rpc:o| Sending output from /wholeBodyDynamics/right_leg/rpc:o to /ergocubSim/right_leg/rpc:i using tcp [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/right_leg/command:o| Sending output from /wholeBodyDynamics/right_leg/command:o to /ergocubSim/right_leg/command:i using udp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/right_leg/stateExt:i| Receiving input from /ergocubSim/right_leg/stateExt:o to /wholeBodyDynamics/right_leg/stateExt:i using udp [INFO] |yarp.dev.PolyDriver|right_leg_mc| Created device . See C++ class RemoteControlBoard for documentation. [INFO] Opening device head_mc with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/head"), ("local" = "/wholeBodyDynamics/head")] [DEBUG] |yarp.dev.PolyDriver|head_mc| Parameters are (device remote_controlboard) (id head_mc) (local "/wholeBodyDynamics/head") (remote "/ergocubSim/head") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/head/rpc:o| Port /wholeBodyDynamics/head/rpc:o active at tcp://10.240.2.19:10062/ [INFO] |yarp.os.Port|/wholeBodyDynamics/head/command:o| Port /wholeBodyDynamics/head/command:o active at tcp://10.240.2.19:10063/ [INFO] |yarp.os.Port|/wholeBodyDynamics/head/stateExt:i| Port /wholeBodyDynamics/head/stateExt:i active at tcp://10.240.2.19:10064/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/head/rpc:o| Sending output from /wholeBodyDynamics/head/rpc:o to /ergocubSim/head/rpc:i using tcp [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/head/command:o| Sending output from /wholeBodyDynamics/head/command:o to /ergocubSim/head/command:i using udp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/head/stateExt:i| Receiving input from /ergocubSim/head/stateExt:o to /wholeBodyDynamics/head/stateExt:i using udp [INFO] |yarp.dev.PolyDriver|head_mc| Created device . See C++ class RemoteControlBoard for documentation. [INFO] Opening device head_inertial_hardware_device with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/head/inertials"), ("local" = "/wholeBodyDynamics/imu")] [DEBUG] |yarp.dev.PolyDriver|head_inertial_hardware_device| Parameters are (device multipleanalogsensorsclient) (id head_inertial_hardware_device) (local "/wholeBodyDynamics/imu") (remote "/ergocubSim/head/inertials") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/imu/rpc:i| Port /wholeBodyDynamics/imu/rpc:i active at tcp://10.240.2.19:10065/ [INFO] |yarp.os.Port|/wholeBodyDynamics/imu/measures:i| Port /wholeBodyDynamics/imu/measures:i active at tcp://10.240.2.19:10066/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/imu/rpc:i| Sending output from /wholeBodyDynamics/imu/rpc:i to /ergocubSim/head/inertials/rpc:o using tcp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/imu/measures:i| Receiving input from /ergocubSim/head/inertials/measures:o to /wholeBodyDynamics/imu/measures:i using tcp [DEBUG] |yarp.device.multipleanalogsensorsclient| Open complete [INFO] |yarp.dev.PolyDriver|head_inertial_hardware_device| Created device . See C++ class MultipleAnalogSensorsClient for documentation. [INFO] Opening device waist_inertial_hardware_device with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/waist/inertials"), ("local" = "/wholeBodyDynamics/waist_imu")] [DEBUG] |yarp.dev.PolyDriver|waist_inertial_hardware_device| Parameters are (device multipleanalogsensorsclient) (id waist_inertial_hardware_device) (local "/wholeBodyDynamics/waist_imu") (remote "/ergocubSim/waist/inertials") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/waist_imu/rpc:i| Port /wholeBodyDynamics/waist_imu/rpc:i active at tcp://10.240.2.19:10067/ [INFO] |yarp.os.Port|/wholeBodyDynamics/waist_imu/measures:i| Port /wholeBodyDynamics/waist_imu/measures:i active at tcp://10.240.2.19:10068/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/waist_imu/rpc:i| Sending output from /wholeBodyDynamics/waist_imu/rpc:i to /ergocubSim/waist/inertials/rpc:o using tcp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/waist_imu/measures:i| Receiving input from /ergocubSim/waist/inertials/measures:o to /wholeBodyDynamics/waist_imu/measures:i using tcp [DEBUG] |yarp.device.multipleanalogsensorsclient| Open complete [INFO] |yarp.dev.PolyDriver|waist_inertial_hardware_device| Created device . See C++ class MultipleAnalogSensorsClient for documentation. [INFO] Opening device ergocub_left_arm_ft with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/left_arm/FT"), ("local" = "/wholeBodyDynamics/left_arm_ft_sensor")] [DEBUG] |yarp.dev.PolyDriver|ergocub_left_arm_ft| Parameters are (device multipleanalogsensorsclient) (id ergocub_left_arm_ft) (local "/wholeBodyDynamics/left_arm_ft_sensor") (remote "/ergocubSim/left_arm/FT") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/left_arm_ft_sensor/rpc:i| Port /wholeBodyDynamics/left_arm_ft_sensor/rpc:i active at tcp://10.240.2.19:10069/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_arm_ft_sensor/measures:i| Port /wholeBodyDynamics/left_arm_ft_sensor/measures:i active at tcp://10.240.2.19:10070/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/left_arm_ft_sensor/rpc:i| Sending output from /wholeBodyDynamics/left_arm_ft_sensor/rpc:i to /ergocubSim/left_arm/FT/rpc:o using tcp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/left_arm_ft_sensor/measures:i| Receiving input from /ergocubSim/left_arm/FT/measures:o to /wholeBodyDynamics/left_arm_ft_sensor/measures:i using tcp [DEBUG] |yarp.device.multipleanalogsensorsclient| Open complete [INFO] |yarp.dev.PolyDriver|ergocub_left_arm_ft| Created device . See C++ class MultipleAnalogSensorsClient for documentation. [INFO] Opening device ergocub_right_arm_ft with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/right_arm/FT"), ("local" = "/wholeBodyDynamics/right_arm_ft_sensor")] [DEBUG] |yarp.dev.PolyDriver|ergocub_right_arm_ft| Parameters are (device multipleanalogsensorsclient) (id ergocub_right_arm_ft) (local "/wholeBodyDynamics/right_arm_ft_sensor") (remote "/ergocubSim/right_arm/FT") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/right_arm_ft_sensor/rpc:i| Port /wholeBodyDynamics/right_arm_ft_sensor/rpc:i active at tcp://10.240.2.19:10071/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_arm_ft_sensor/measures:i| Port /wholeBodyDynamics/right_arm_ft_sensor/measures:i active at tcp://10.240.2.19:10072/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/right_arm_ft_sensor/rpc:i| Sending output from /wholeBodyDynamics/right_arm_ft_sensor/rpc:i to /ergocubSim/right_arm/FT/rpc:o using tcp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/right_arm_ft_sensor/measures:i| Receiving input from /ergocubSim/right_arm/FT/measures:o to /wholeBodyDynamics/right_arm_ft_sensor/measures:i using tcp [DEBUG] |yarp.device.multipleanalogsensorsclient| Open complete [INFO] |yarp.dev.PolyDriver|ergocub_right_arm_ft| Created device . See C++ class MultipleAnalogSensorsClient for documentation. [INFO] Opening device ergocub_left_leg_ft with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/left_leg/FT"), ("local" = "/wholeBodyDynamics/left_leg_ft_sensor")] [DEBUG] |yarp.dev.PolyDriver|ergocub_left_leg_ft| Parameters are (device multipleanalogsensorsclient) (id ergocub_left_leg_ft) (local "/wholeBodyDynamics/left_leg_ft_sensor") (remote "/ergocubSim/left_leg/FT") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/left_leg_ft_sensor/rpc:i| Port /wholeBodyDynamics/left_leg_ft_sensor/rpc:i active at tcp://10.240.2.19:10073/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_leg_ft_sensor/measures:i| Port /wholeBodyDynamics/left_leg_ft_sensor/measures:i active at tcp://10.240.2.19:10074/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/left_leg_ft_sensor/rpc:i| Sending output from /wholeBodyDynamics/left_leg_ft_sensor/rpc:i to /ergocubSim/left_leg/FT/rpc:o using tcp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/left_leg_ft_sensor/measures:i| Receiving input from /ergocubSim/left_leg/FT/measures:o to /wholeBodyDynamics/left_leg_ft_sensor/measures:i using tcp [DEBUG] |yarp.device.multipleanalogsensorsclient| Open complete [INFO] |yarp.dev.PolyDriver|ergocub_left_leg_ft| Created device . See C++ class MultipleAnalogSensorsClient for documentation. [INFO] Opening device ergocub_right_leg_ft with parameters [("robotName" = "ergoCubGazeboV1"), ("remote" = "/ergocubSim/right_leg/FT"), ("local" = "/wholeBodyDynamics/right_leg_ft_sensor")] [DEBUG] |yarp.dev.PolyDriver|ergocub_right_leg_ft| Parameters are (device multipleanalogsensorsclient) (id ergocub_right_leg_ft) (local "/wholeBodyDynamics/right_leg_ft_sensor") (remote "/ergocubSim/right_leg/FT") (robotName ergoCubGazeboV1) [INFO] |yarp.os.Port|/wholeBodyDynamics/right_leg_ft_sensor/rpc:i| Port /wholeBodyDynamics/right_leg_ft_sensor/rpc:i active at tcp://10.240.2.19:10075/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_leg_ft_sensor/measures:i| Port /wholeBodyDynamics/right_leg_ft_sensor/measures:i active at tcp://10.240.2.19:10076/ [INFO] |yarp.os.impl.PortCoreOutputUnit|/wholeBodyDynamics/right_leg_ft_sensor/rpc:i| Sending output from /wholeBodyDynamics/right_leg_ft_sensor/rpc:i to /ergocubSim/right_leg/FT/rpc:o using tcp [INFO] |yarp.os.impl.PortCoreInputUnit|/wholeBodyDynamics/right_leg_ft_sensor/measures:i| Receiving input from /ergocubSim/right_leg/FT/measures:o to /wholeBodyDynamics/right_leg_ft_sensor/measures:i using tcp [DEBUG] |yarp.device.multipleanalogsensorsclient| Open complete [INFO] |yarp.dev.PolyDriver|ergocub_right_leg_ft| Created device . See C++ class MultipleAnalogSensorsClient for documentation. [INFO] Opening device wholebodydynamics with parameters [("robotName" = "ergoCubGazeboV1"), ("axesNames" = "(torso_roll,torso_pitch,torso_yaw,l_shoulder_pitch,l_shoulder_roll,l_shoulder_yaw,l_elbow,l_wrist_pitch,l_wrist_yaw,r_shoulder_pitch,r_shoulder_roll,r_shoulder_yaw,r_elbow,r_wrist_pitch,r_wrist_yaw,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)"), ("modelFile" = "model.urdf"), ("fixedFrameGravity" = "(0,0,-9.81)"), ("defaultContactFrames" = "(l_hand_palm,r_hand_palm,root_link,l_foot_front,l_foot_rear,r_foot_front,r_foot_rear,l_upper_leg,r_upper_leg)"), ("imuFrameName" = "head_imu_0"), ("useJointVelocity" = "true"), ("useJointAcceleration" = "true"), ("imuFilterCutoffInHz" = "3.0"), ("forceTorqueFilterCutoffInHz" = "3.0"), ("jointVelFilterCutoffInHz" = "3.0"), ("jointAccFilterCutoffInHz" = "3.0"), ("startWithZeroFTSensorOffsets" = "true"), ("useSkinForContacts" = "false"), ("publishNetExternalWrenches" = "true"), ("disableSensorReadCheckAtStartup" = "true"), ("GRAVITY_COMPENSATION" [group] = "(enableGravityCompensation true) (gravityCompensationBaseLink root_link) (gravityCompensationAxesNames (torso_roll,torso_pitch,torso_yaw,l_shoulder_pitch,l_shoulder_roll,l_shoulder_yaw,l_elbow,r_shoulder_pitch,r_shoulder_roll,r_shoulder_yaw,r_elbow))"), ("HW_USE_MAS_IMU" [group] = "(accelerometer head_imu_0) (gyroscope head_imu_0)"), ("WBD_OUTPUT_EXTERNAL_WRENCH_PORTS" [group] = "(/wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o (l_foot_front,l_sole,l_sole)) (/wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o (l_foot_rear,l_sole,l_sole)) (/wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o (r_foot_front,r_sole,r_sole)) (/wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o (r_foot_rear,r_sole,r_sole)) (/wholeBodyDynamics/left_arm/cartesianEndEffectorWrench:o (l_hand_palm,l_hand_palm,root_link)) (/wholeBodyDynamics/right_arm/cartesianEndEffectorWrench:o (r_hand_palm,r_hand_palm,root_link))"), ("multipleAnalogSensorsNames" [group] = "(SixAxisForceTorqueSensorsNames ("l_arm_ft", "r_arm_ft", "l_leg_ft", "r_leg_ft", "l_foot_front_ft", "r_foot_front_ft", "l_foot_rear_ft", "r_foot_rear_ft"))")] [DEBUG] |yarp.dev.PolyDriver|wholebodydynamics| Parameters are (GRAVITY_COMPENSATION (enableGravityCompensation true) (gravityCompensationBaseLink root_link) (gravityCompensationAxesNames (torso_roll torso_pitch torso_yaw l_shoulder_pitch l_shoulder_roll l_shoulder_yaw l_elbow r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow))) (HW_USE_MAS_IMU (accelerometer head_imu_0) (gyroscope head_imu_0)) (WBD_OUTPUT_EXTERNAL_WRENCH_PORTS ("/wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o" (l_foot_front l_sole l_sole)) ("/wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o" (l_foot_rear l_sole l_sole)) ("/wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o" (r_foot_front r_sole r_sole)) ("/wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o" (r_foot_rear r_sole r_sole)) ("/wholeBodyDynamics/left_arm/cartesianEndEffectorWrench:o" (l_hand_palm l_hand_palm root_link)) ("/wholeBodyDynamics/right_arm/cartesianEndEffectorWrench:o" (r_hand_palm r_hand_palm root_link))) (axesNames (torso_roll torso_pitch torso_yaw l_shoulder_pitch l_shoulder_roll l_shoulder_yaw l_elbow l_wrist_pitch l_wrist_yaw r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow r_wrist_pitch r_wrist_yaw 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)) (defaultContactFrames (l_hand_palm r_hand_palm root_link l_foot_front l_foot_rear r_foot_front r_foot_rear l_upper_leg r_upper_leg)) (device wholebodydynamics) (disableSensorReadCheckAtStartup true) (fixedFrameGravity (0 0 -9.81000000000000049738)) (forceTorqueFilterCutoffInHz 3.0) (id wholebodydynamics) (imuFilterCutoffInHz 3.0) (imuFrameName head_imu_0) (jointAccFilterCutoffInHz 3.0) (jointVelFilterCutoffInHz 3.0) (modelFile model.urdf) (multipleAnalogSensorsNames (SixAxisForceTorqueSensorsNames (l_arm_ft r_arm_ft l_leg_ft r_leg_ft l_foot_front_ft r_foot_front_ft l_foot_rear_ft r_foot_rear_ft))) (publishNetExternalWrenches true) (robotName ergoCubGazeboV1) (startWithZeroFTSensorOffsets true) (useJointAcceleration true) (useJointVelocity true) (useSkinForContacts false) [DEBUG] wholeBodyDynamics Statistics: Opening estimator. [INFO] wholeBodyDynamics : Loading model from /home/acroci/ergocub_ws/install/share/ergoCub/robots/ergoCubGazeboV1_1/model.urdf [DEBUG] wholeBodyDynamics Statistics: Estimator opened in 6e+06 s. [DEBUG] wholeBodyDynamics Statistics: Loading settings from configuration files. [WARNING] wholeBodyDynamics : The devicePeriodInSeconds parameter is not found. The default one is used. Period: 0.01 seconds. [WARNING] wholeBodyDynamics: estimateVelocityAccelerationOptionName bool parameter missing, please specify it. [WARNING] wholeBodyDynamics: setting estimateVelocityAccelerationOptionName to the default value of true, but this is a deprecated behaviour that will be removed in the future. [INFO] wholeBodyDynamics : Using the following filter cutoff frequencies, [INFO] wholeBodyDynamics: imuFilterCutoffInHz: 3 Hz. [INFO] wholeBodyDynamics: forceTorqueFilterCutoffInHz: 3 Hz. [INFO] wholeBodyDynamics: jointVelFilterCutoffInHz: 3 Hz. [INFO] wholeBodyDynamics: jointAccFilterCutoffInHz: 3 Hz. [INFO] wholeBodyDynamics: setting startWithZeroFTSensorOffsets was set to true , FT sensor offsets will be automatically reset to zero. [DEBUG] wholeBodyDynamics Statistics: Settings loaded in 0 s. [DEBUG] wholeBodyDynamics Statistics: Opening RPC port. [INFO] |yarp.os.Port|/wholeBodyDynamics/rpc| Port /wholeBodyDynamics/rpc active at tcp://10.240.2.19:10077/ [DEBUG] wholeBodyDynamics Statistics: RPC port opened in 2e+06 s. [DEBUG] wholeBodyDynamics Statistics: Opening settings port. [INFO] |yarp.os.Port|/wholeBodyDynamics/settings| Port /wholeBodyDynamics/settings active at tcp://10.240.2.19:10078/ [DEBUG] wholeBodyDynamics Statistics: Settings port opened in 1e+06 s. [DEBUG] wholeBodyDynamics Statistics: Opening remapper control board. [DEBUG] |yarp.dev.PolyDriver|controlboardremapper| Parameters are (axesNames (torso_roll torso_pitch torso_yaw l_shoulder_pitch l_shoulder_roll l_shoulder_yaw l_elbow l_wrist_pitch l_wrist_yaw r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow r_wrist_pitch r_wrist_yaw 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 controlboardremapper) [INFO] |yarp.dev.PolyDriver|controlboardremapper| Created device . See C++ class ControlBoardRemapper for documentation. [DEBUG] wholeBodyDynamics Statistics: Remapper control board opened in 5e+06 s. [DEBUG] wholeBodyDynamics Statistics: Opening remapper virtual sensors. [DEBUG] |yarp.dev.PolyDriver|virtualAnalogRemapper| Parameters are (axesNames (torso_roll torso_pitch torso_yaw l_shoulder_pitch l_shoulder_roll l_shoulder_yaw l_elbow l_wrist_pitch l_wrist_yaw r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow r_wrist_pitch r_wrist_yaw 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 virtualAnalogRemapper) [INFO] |yarp.dev.PolyDriver|virtualAnalogRemapper| Created device . See C++ class yarp::dev::VirtualAnalogRemapper for documentation. [DEBUG] wholeBodyDynamics Statistics: Remapper virtual sensors opened in 4e+06 s. [DEBUG] wholeBodyDynamics Statistics: Opening contact frames. [DEBUG] wholeBodyDynamics Statistics: Contact frames opened in 0 s. [DEBUG] wholeBodyDynamics Statistics: Opening external wrenches ports. [INFO] |yarp.os.Port|/wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o| Port /wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o active at tcp://10.240.2.19:10079/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o| Port /wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o active at tcp://10.240.2.19:10080/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o| Port /wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o active at tcp://10.240.2.19:10081/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o| Port /wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o active at tcp://10.240.2.19:10082/ [INFO] |yarp.os.Port|/wholeBodyDynamics/left_arm/cartesianEndEffectorWrench:o| Port /wholeBodyDynamics/left_arm/cartesianEndEffectorWrench:o active at tcp://10.240.2.19:10083/ [INFO] |yarp.os.Port|/wholeBodyDynamics/right_arm/cartesianEndEffectorWrench:o| Port /wholeBodyDynamics/right_arm/cartesianEndEffectorWrench:o active at tcp://10.240.2.19:10084/ [INFO] |yarp.os.Port|/wholeBodyDynamics/netExternalWrenches:o| Port /wholeBodyDynamics/netExternalWrenches:o active at tcp://10.240.2.19:10085/ [DEBUG] wholeBodyDynamics Statistics: External port wrenches opened in 1.1e+07 s. [DEBUG] wholeBodyDynamics Statistics: Opening multiple analog sensors remapper. [DEBUG] |yarp.dev.PolyDriver|multipleanalogsensorsremapper| Parameters are (SixAxisForceTorqueSensorsNames (l_arm_ft r_arm_ft l_leg_ft r_leg_ft l_foot_front_ft r_foot_front_ft l_foot_rear_ft r_foot_rear_ft)) (device multipleanalogsensorsremapper) [INFO] |yarp.dev.PolyDriver|multipleanalogsensorsremapper| Created device . See C++ class MultipleAnalogSensorsRemapper for documentation. [DEBUG] wholeBodyDynamics Statistics: Multiple analog sensors remapper opened in 4e+06 s. [DEBUG] wholeBodyDynamics Statistics: Configuration finished. Waiting attachAll to be called. [INFO] |yarp.dev.PolyDriver|wholebodydynamics| Created device . See C++ class yarp::dev::WholeBodyDynamicsDevice for documentation. [INFO] Entering action level 15 of phase startup [INFO] Executing attach action, level 15 on device wholebodydynamics with parameters [("networks" = "(left_leg right_leg torso right_arm left_arm imu waist_imu left_arm_ft_sensor right_arm_ft_sensor left_leg_ft_sensor right_leg_ft_sensor)"), ("left_leg" = "left_leg_mc"), ("right_leg" = "right_leg_mc"), ("torso" = "torso_mc"), ("right_arm" = "right_arm_mc"), ("left_arm" = "left_arm_mc"), ("imu" = "head_inertial_hardware_device"), ("waist_imu" = "waist_inertial_hardware_device"), ("left_arm_ft_sensor" = "ergocub_left_arm_ft"), ("right_arm_ft_sensor" = "ergocub_right_arm_ft"), ("left_leg_ft_sensor" = "ergocub_left_leg_ft"), ("right_leg_ft_sensor" = "ergocub_right_leg_ft")] [DEBUG] wholeBodyDynamics Statistics: attachAll started. Attaching all control board. [DEBUG] wholeBodyDynamics Statistics: Attaching all control board took 1e+06 s. [DEBUG] wholeBodyDynamics Statistics: Attaching all virtual analog sensors. [DEBUG] wholeBodyDynamics Statistics: Attaching all virtual analog sensors took 0 s. [DEBUG] wholeBodyDynamics Statistics: Attaching all FTs. [INFO] Starting attach MAS and analog ft [DEBUG] wholeBodyDynamicsDevice :: number of devices that could contain FT sensors found 4 where analog are 0 and MAS are 4 [DEBUG] wholeBodyDynamics Statistics: Attaching all Fts took 0 s. [DEBUG] wholeBodyDynamics Statistics: Attaching all IMUs. [INFO] wholeBodyDynamics : Found one IMU multipleAnalogSensor device with accelerometer head_imu_0 and gyroscope head_imu_0 [DEBUG] wholeBodyDynamics Statistics: Attaching all IMUs took 0 s. [DEBUG] wholeBodyDynamics Statistics: Calibrating offsets. [DEBUG] wholeBodyDynamics Statistics: Calibrating took 0 s. [DEBUG] wholeBodyDynamics Statistics: Starting [INFO] All actions for action level 15 of startup phase started. Waiting for unfinished actions. [WARNING] wholeBodyDynamics warning : joint positions was not readed correctly [INFO] All actions for action level 15 of startup phase finished. [WARNING] wholeBodyDynamics warning : joint velocities was not readed correctly [WARNING] wholeBodyDynamics warning : joint accelerations was not readed correctly [INFO] startup phase finished. [INFO] run phase starting... [ERROR] |yarp.device.multipleanalogsensorsclient| No data received in the last 3000000.000000 seconds, timeout enabled. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type SixAxisForceTorqueSensors with index 0 has non-MAS_OK status. [ERROR] |yarp.device.multipleanalogsensorsclient| No data received in the last 3000000.000000 seconds, timeout enabled. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type SixAxisForceTorqueSensors with index 2 has non-MAS_OK status. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type SixAxisForceTorqueSensors with index 1 has non-MAS_OK status. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type SixAxisForceTorqueSensors with index 0 has non-MAS_OK status. [ERROR] |yarp.device.multipleanalogsensorsclient| No data received in the last 2000000.000000 seconds, timeout enabled. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type SixAxisForceTorqueSensors with index 0 has non-MAS_OK status. [DEBUG] yarprobotinterface running happily [ERROR] |yarp.device.multipleanalogsensorsclient| No data received in the last 3000000.000000 seconds, timeout enabled. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type ThreeAxisLinearAccelerometers with index 0 has non-MAS_OK status. [ERROR] |yarp.device.multipleanalogsensorsclient| Sensor of type ThreeAxisGyroscopes with index 0 has non-MAS_OK status. [DEBUG] yarprobotinterface running happily ```
xela-95 commented 6 months ago

Thanks to @traversaro we found out that the format of the timestamps published on the /clock port by the clock plugin is not what the Yarp Clock and the other modules were expecting.

We found this by comparing the signal through yarp read ... /clock with a second clock created through:

YARP_CLOCK=/clock2 yarp clock /clock2 

By reading this clock the format is seconds nanoseconds like: 63 936749458

I then updated the clock plugin to use this format and then done the walking tutorial being careful to launch both yarprobotinterface and Walking module with the YARP_CLOCK environment variable set to /clock.

Here's a video of the result 🥳

https://github.com/robotology/gz-sim-yarp-plugins/assets/57228872/03d230e1-5dec-485c-a871-0b7dae804b1e

The simulation is slow (sim2real ratio of 10-30 %) but that's matter for future plugins optimizations :)

xela-95 commented 6 months ago

CC @S-Dafarra @GiulioRomualdi let me know if you note something strange in the simulation or if you want me to try change some simulation settings :)

traversaro commented 6 months ago

The simulation is slow (sim2real ratio of 10-30 %) but that's matter for future plugins optimizations :)

My guess is that is not something plugin-related, but rather that the model is quite complex. Probably once we integrate the plugin in the ergoCub creo generation pipeline we can also test the minContact model.

xela-95 commented 6 months ago

My guess is that is not something plugin-related, but rather that the model is quite complex.

Why do you think that? Certainly the plugins I've written have large space for optimizations 😅 but I don't know what is their impact on the overall simulation (it will be useful to understand it BTW).

Probably once we integrate the plugin in the ergoCub creo generation pipeline we can also test the minContact model.

Yep that's for sure!

S-Dafarra commented 6 months ago

In my opinion, some possible investigation routes could be:

xela-95 commented 6 months ago

I've tried to change physics engine: in addition to Dartsim, bullet and bullet-featherstone are the ones officially supported.

By launching gazebo with

gz sim example.world --physics-engine gz-physics-bullet-plugin --verbose

Gazebo crashes with the following logs:

Details ``` [Wrn] [Physics.cc:1191] Model's parent entity [8] not found on world / model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1242] Link's parent entity [9] not found on model map. [Wrn] [Physics.cc:1352] Collision's parent entity [10] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [13] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [16] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [19] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [22] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [25] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [28] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [31] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [34] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [38] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [42] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [45] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [48] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [51] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [54] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [57] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [60] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [63] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [67] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [71] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [75] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [78] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [81] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [84] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [87] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [90] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [93] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [96] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [99] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [102] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [105] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [108] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [111] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [114] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [117] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [120] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [123] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [126] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [129] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [132] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [135] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [138] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [141] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [144] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [147] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [152] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [157] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [160] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [163] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [166] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [169] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [172] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [175] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [178] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [181] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [184] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [187] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [190] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [193] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [196] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [199] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [202] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [205] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [208] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [211] not found on link map. [Wrn] [Physics.cc:1352] Collision's parent entity [214] not found on link map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9[GUI] [Msg] Loading plugin [gz-rendering-ogre2] ] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Move to service on [/gui/move_to] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Follow service on [/gui/follow] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Move to pose service on [/gui/move_to/pose] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Follow offset service on [/gui/follow/offset] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [[GUI] [Msg] Loading plugin [gz-rendering-ogre2] 9] not found on model map. [Err] [Physics.cc:1651] Joint's parent model entity [9] not found on model map. [GUI] [Msg] Loading plugin [gz-rendering-ogre2] [Err] [Physics.cc:2930] Internal error: link [10] not in entity map [Err] [Physics.cc:2930] Internal error: link [13] not in entity map [Err] [Physics.cc:2930] Internal error: link [16] not in entity map [Err] [Physics.cc:2930] Internal error: link [19] not in entity map [Err] [Physics.cc:2930] Internal error: link [22] not in entity map [Err] [Physics.cc:2930] Internal error: link [25] not in entity map [Err] [Physics.cc:2930] Internal error: link [28] not in entity map [Err] [Physics.cc:2930] Internal error: link [31] not in entity map [Err] [Physics.cc:2930] Internal error: link [34] not in entity map [Err] [Physics.cc:2930] Internal error: link [38] not in entity map [Err] [Physics.cc:2930] Internal error: link [42] not in entity map [Err] [Physics.cc:2930] Internal error: link [45] not in entity map [Err] [Physics.cc:2930] Internal error: link [48] not in entity map [Err] [Physics.cc:2930] Internal error: link [51] not in entity map [Err] [Physics.cc:2930] Internal error: link [54] not in entity map [Err] [Physics.cc:2930] Internal error: link [57] not in entity map [Err] [Physics.cc:2930] Internal error: link [60] not in entity map [Err] [Physics.cc:2930] Internal error: link [63] not in entity map [Err] [Physics.cc:2930] Internal error: link [67] not in entity map [Err] [Physics.cc:2930] Internal error: link [71] not in entity map [Err] [Physics.cc:2930] Internal error: link [75] not in entity map [Err] [Physics.cc:2930] Internal error: link [78] not in entity map [Err] [Physics.cc:2930] Internal error: link [81] not in entity map [Err] [Physics.cc:2930] Internal error: link [84] not in entity map [Err] [Physics.cc:2930] Internal error: link [87] not in entity map [Err] [Physics.cc:2930] Internal error: link [90] not in entity map [Err] [Physics.cc:2930] Internal error: link [93] not in entity map [Err] [Physics.cc:2930] Internal error: link [96] not in entity map [Err] [Physics.cc:2930] Internal error: link [99] not in entity map [Err] [Physics.cc:2930] Internal error: link [102] not in entity map [Err] [Physics.cc:2930] Internal error: link [105] not in entity map [Err] [Physics.cc:2930] Internal error: link [108] not in entity map [Err] [Physics.cc:2930] Internal error: link [111] not in entity map [Err] [Physics.cc:2930] Internal error: link [114] not in entity map [Err] [Physics.cc:2930] Internal error: link [117] not in entity map [Err] [Physics.cc:2930] Internal error: link [120] not in entity map [Err] [Physics.cc:2930] Internal error: link [123] not in entity map [Err] [Physics.cc:2930] Internal error: link [126] not in entity map [Err] [Physics.cc:2930] Internal error: link [129] not in entity map [Err] [Physics.cc:2930] Internal error: link [132] not in entity map [Err] [Physics.cc:2930] Internal error: link [135] not in entity map [Err] [Physics.cc:2930] Internal error: link [138] not in entity map [Err] [Physics.cc:2930] Internal error: link [141] not in entity map [Err] [Physics.cc:2930] Internal error: link [144] not in entity map [Err] [Physics.cc:2930] Internal error: link [147] not in entity map [Err] [Physics.cc:2930] Internal error: link [152] not in entity map [Err] [Physics.cc:2930] Internal error: link [157] not in entity map [Err] [Physics.cc:2930] Internal error: link [160] not in entity map [Err] [Physics.cc:2930] Internal error: link [163] not in entity map [Err] [Physics.cc:2930] Internal error: link [166] not in entity map [Err] [Physics.cc:2930] Internal error: link [169] not in entity map [Err] [Physics.cc:2930] Internal error: link [172] not in entity map [Err] [Physics.cc:2930] Internal error: link [175] not in entity map [Err] [Physics.cc:2930] Internal error: link [178] not in entity map [Err] [Physics.cc:2930] Internal error: link [181] not in entity map [Err] [Physics.cc:2930] Internal error: link [184] not in entity map [Err] [Physics.cc:2930] Internal error: link [187] not in entity map [Err] [Physics.cc:2930] Internal error: link [190] not in entity map [Err] [Physics.cc:2930] Internal error: link [193] not in entity map [Err] [Physics.cc:2930] Internal error: link [196] not in entity map [Err] [Physics.cc:2930] Internal error: link [199] not in entity map [Err] [Physics.cc:2930] Internal error: link [202] not in entity map [Err] [Physics.cc:2930] Internal error: link [205] not in entity map [Err] [Physics.cc:2930] Internal error: link [208] not in entity map [Err] [Physics.cc:2930] Internal error: link [211] not in entity map [Err] [Physics.cc:2930] Internal error: link [214] not in entity map terminate called recursively [Msg] Loading plugin [gz-rendering-ogre2] terminate called recursively terminate called recursively terminate called recursively Stack trace (most recent call last) in thread 300336: [GUI] [Msg] Loading plugin [gz-rendering-ogre2] ```
traversaro commented 6 months ago

Gazebo crashes with the following logs:

Cool, probably it make sense to check this happens without any plugin, and then report the issue in gz-sim .

xela-95 commented 6 months ago

In my opinion, some possible investigation routes could be:

* how fast does it go without the visualization?

* are the collisions active? If so, what about removing them all manually except those in the feet?

* is it possible to chop away part of the robot (like the head and the forearms) and check how much of an improvement it is?

I think I can close this issue since its acceptance criteria have been met.

I will open a new issue to track how the simulation changes by following these investigation routes.