ami-iit/yarp-openmct

Upgrade the used simulation model to iCubGazebo_V3

Closed this issue · 5 comments

Since the telexistence team is using iCubGenova09 (iCub V3) for the experiements, we should use iCubGazeboV3 in simulation instead of iCubGazeboV2_5.

Setup

Reproduce the setup steps 1 to 6 from https://github.com/ami-iit/yarp-openmct#prior-testing-the-visualization-tool-on-gazebo, except that YARP_ROBOT_NAME is set to iCubGazeboV3 instead of iCubGazeboV2_5.

  • Steps 1 to 5 were successful.

  • Step 6 fails with the console output:

    [ERROR] Unable to connect the ports  /walking-coordinator/logger/data:o and /yarp-robot-logger/exogenous_signals/walking:i
    [INFO] |yarp.os.RFModule| RFModule failed to open.
    Illegal instruction: 4
    
    Full log
    [INFO] |yarp.os.Port| Port /iiticublap199/WalkingModule/82509/clock:i active at tcp://192.168.1.70:10158/
    [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| Receiving input from /clock to /iiticublap199/WalkingModule/82509/clock:i using tcp
    [INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o active at tcp://192.168.1.70:10102/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/torso/command:o active at tcp://192.168.1.70:10103/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i active at tcp://192.168.1.70:10104/
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o to /icubSim/torso/rpc:i using tcp
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/torso/command:o to /icubSim/torso/command:i using udp
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/torso/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i using udp
    [INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
    [INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o active at tcp://192.168.1.70:10105/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o active at tcp://192.168.1.70:10106/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i active at tcp://192.168.1.70:10107/
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o to /icubSim/left_arm/rpc:i using tcp
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o to /icubSim/left_arm/command:i using udp
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/left_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i using udp
    [INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
    [INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o active at tcp://192.168.1.70:10108/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o active at tcp://192.168.1.70:10109/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i active at tcp://192.168.1.70:10110/
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o to /icubSim/right_arm/rpc:i using tcp
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o to /icubSim/right_arm/command:i using udp
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/right_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i using udp
    [INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
    [INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o active at tcp://192.168.1.70:10111/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o active at tcp://192.168.1.70:10112/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i active at tcp://192.168.1.70:10113/
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o to /icubSim/left_leg/rpc:i using tcp
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o to /icubSim/left_leg/command:i using udp
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/left_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i using udp
    [INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
    [INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o active at tcp://192.168.1.70:10114/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o active at tcp://192.168.1.70:10115/
    [INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i active at tcp://192.168.1.70:10116/
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o to /icubSim/right_leg/rpc:i using tcp
    [INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o to /icubSim/right_leg/command:i using udp
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/right_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i using udp
    [INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
    [INFO] |yarp.dev.PolyDriver| Created device <remotecontrolboardremapper>. See C++ class RemoteControlBoardRemapper for documentation.
    [INFO] |yarp.os.Port| Port /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10159/
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i using tcp
    [INFO] |yarp.os.Port| Port /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10160/
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i using tcp
    [INFO] |yarp.os.Port| Port /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10161/
    [INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i using tcp
    [INFO] |yarp.os.Port| Port /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10162/
    [INFO] |yarp.os.impl.PortCoreInputUnit| 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:  /Users/nunoguedelha/dev/superbuild-soft-eng/robotology-superbuild/build/install/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| Port /walking-coordinator/rpc active at tcp://192.168.1.70:10119/
    [INFO] |yarp.os.Port| Port /walking-coordinator/goal:i active at tcp://192.168.1.70:10120/
    [INFO] |yarp.os.Port| Port /walking-coordinator/freeSpaceEllipse:in active at tcp://192.168.1.70:10121/
    [INFO] Loading custom PIDs
    [INFO] Parsing DEFAULT PID group.
    [INFO] DEFAULT PID successfully loaded
    [INFO] |yarp.os.Port| Port /walking-coordinator/logger/data:o active at tcp://192.168.1.70:10122/
    [ERROR] Unable to connect the ports  /walking-coordinator/logger/data:o and /yarp-robot-logger/exogenous_signals/walking:i
    [INFO] |yarp.os.RFModule| RFModule failed to open.
    Illegal instruction: 4
    
  • Step 6 fails with the console output:

this was due to iCbGazeboV3 configuration issues in my local setup.

this was due to iCbGazeboV3 configuration issues in my local setup.

Actually, either there is a bug in the logger module, either something is missing in the documentation https://github.com/robotology/walking-controllers#how-to-dump-data.

I opened the issue robotology/walking-controllers#109.

Meanwhile, I edited directly the installed configuration file for iCubGazeboV3.

Apart from the issue mentioned above, everything is working as expected.
image

We can consider this action completed.

Super cool @nunoguedelha !