robotology / wearables

Code moved to https://github.com/robotology/human-dynamics-estimation
https://github.com/robotology/human-dynamics-estimation
BSD 3-Clause "New" or "Revised" License
19 stars 11 forks source link

HapticGlove device fails to start #149

Closed S-Dafarra closed 2 years ago

S-Dafarra commented 2 years ago

Describe the bug

I have enabled HapticGlove on wearables, but when I try to launch

yarprobotinterface --config HapticGlove.xml

I get the following output

(robsub) D:\Windows>yarprobotinterface --config HapticGlove.xml
[DEBUG] Reading file D:\Windows\robotology-superbuild\build\install\share\Wearables\HapticGlove.xml
[DEBUG] yarprobotinterface: using xml parser for DTD v3.x
[DEBUG] Reading file D:\Windows\robotology-superbuild\build\install\share\Wearables\HapticGlove.xml
[DEBUG] Preprocessor complete in:  7.5e-06 s
[INFO] |yarp.os.Port|//yarprobotinterface| Port //yarprobotinterface active at tcp://10.0.0.127:10012/
[INFO] startup phase starting...
[INFO] Opening device LeftHapticGloveWearableDevice with parameters [("robotName" = ""), ("period" = "0.01"), ("rightHand" = "false"), ("human_joint_list" = "( "l_thumb_oppose", "l_thumb_proximal", "l_thumb_middle", "l_thumb_distal", "l_index_abduction", "l_index_proximal", "l_index_middle", "l_index_distal", "l_middle_abduction", "l_middle_proximal", "l_middle_middle", "l_middle_distal", "l_ring_abduction", "l_ring_proximal", "l_ring_middle", "l_ring_distal", "l_pinky_abduction", "l_pinky_proximal", "l_pinky_middle", "l_pinky_distal" )"), ("human_finger_list" = "( "l_thumb_finger", "l_index_finger", "l_middle_finger", "l_ring_finger", "l_little_finger" )"), ("hand_link" = "l_hand")]
[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[WARNING] |yarp.os.YarpPluginSettings| Cannot load plugin from shared library (HapticGlove)
[WARNING] |yarp.os.YarpPluginSettings| (The specified module could not be found.

The specified module could not be found.

The specified module could not be found.
)
[ERROR] |yarp.dev.PolyDriver|LeftHapticGloveWearableDevice| Could not find device <hapticGlove>
[WARNING] Cannot open device LeftHapticGloveWearableDevice
[WARNING] Cannot open device LeftHapticGloveWearableDevice
[INFO] Opening device LeftHapticGloveWearableDeviceWrapper with parameters [("robotName" = ""), ("period" = "0.01"), ("dataPortName" = "/WearableData/HapticGlove/LeftHand/data:o"), ("rpcPortName" = "/WearableData/HapticGlove/LeftHand/metadataRpc:o")]
[DEBUG] |yarp.dev.PolyDriver|LeftHapticGloveWearableDeviceWrapper| Parameters are (dataPortName "/WearableData/HapticGlove/LeftHand/data:o") (device iwear_wrapper) (id LeftHapticGloveWearableDeviceWrapper) (period 0.01) (robotName) (rpcPortName "/WearableData/HapticGlove/LeftHand/metadataRpc:o")
[INFO] |yarp.dev.PolyDriver|LeftHapticGloveWearableDeviceWrapper| Created device <iwear_wrapper>. See C++ class wearable::wrappers::IWearWrapper for documentation.
[INFO] Opening device LeftHapticGloveWearableDeviceActuatorsWrapper with parameters [("robotName" = ""), ("period" = "0.01"), ("actuatorCommandInputPortName" = "/WearableData/HapticGlove/LeftHand/Actuators/input:i")]
[DEBUG] |yarp.dev.PolyDriver|LeftHapticGloveWearableDeviceActuatorsWrapper| Parameters are (actuatorCommandInputPortName "/WearableData/HapticGlove/LeftHand/Actuators/input:i") (device iwearactuators_wrapper) (id LeftHapticGloveWearableDeviceActuatorsWrapper) (period 0.01) (robotName)
[INFO] |yarp.os.Port|/WearableData/HapticGlove/LeftHand/Actuators/input:i| Port /WearableData/HapticGlove/LeftHand/Actuators/input:i active at tcp://10.0.0.127:10318/
[INFO] |yarp.dev.PolyDriver|LeftHapticGloveWearableDeviceActuatorsWrapper| Created device <iwearactuators_wrapper>. See C++ class wearable::wrappers::IWearActuatorsWrapper for documentation.
[INFO] Opening device RightHapticGloveWearableDevice with parameters [("robotName" = ""), ("period" = "0.01"), ("rightHand" = "true"), ("human_joint_list" = "( "r_thumb_oppose", "r_thumb_proximal", "r_thumb_middle", "r_thumb_distal", "r_index_abduction", "r_index_proximal", "r_index_middle", "r_index_distal", "r_middle_abduction", "r_middle_proximal", "r_middle_middle", "r_middle_distal", "r_ring_abduction", "r_ring_proximal", "r_ring_middle", "r_ring_distal", "r_pinky_abduction", "r_pinky_proximal", "r_pinky_middle", "r_pinky_distal" )"), ("human_finger_list" = "( "r_thumb_finger", "r_index_finger", "r_middle_finger", "r_ring_finger", "r_little_finger" )"), ("hand_link" = "r_hand")]
[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

[WARNING] |yarp.os.YarpPluginSettings| Cannot load plugin from shared library (HapticGlove)
[WARNING] |yarp.os.YarpPluginSettings| (The specified module could not be found.

The specified module could not be found.

The specified module could not be found.
)
[ERROR] |yarp.dev.PolyDriver|RightHapticGloveWearableDevice| Could not find device <hapticGlove>
[WARNING] Cannot open device RightHapticGloveWearableDevice
[WARNING] Cannot open device RightHapticGloveWearableDevice
[INFO] Opening device RightHapticGloveWearableDeviceWrapper with parameters [("robotName" = ""), ("period" = "0.01"), ("dataPortName" = "/WearableData/HapticGlove/RightHand/data:o"), ("rpcPortName" = "/WearableData/HapticGlove/RightHand/metadataRpc:o")]
[DEBUG] |yarp.dev.PolyDriver|RightHapticGloveWearableDeviceWrapper| Parameters are (dataPortName "/WearableData/HapticGlove/RightHand/data:o") (device iwear_wrapper) (id RightHapticGloveWearableDeviceWrapper) (period 0.01) (robotName) (rpcPortName "/WearableData/HapticGlove/RightHand/metadataRpc:o")
[INFO] |yarp.dev.PolyDriver|RightHapticGloveWearableDeviceWrapper| Created device <iwear_wrapper>. See C++ class wearable::wrappers::IWearWrapper for documentation.
[INFO] Opening device RightHapticGloveWearableDeviceActuatorsWrapper with parameters [("robotName" = ""), ("period" = "0.01"), ("actuatorCommandInputPortName" = "/WearableData/HapticGlove/RightHand/Actuators/input:i")]
[DEBUG] |yarp.dev.PolyDriver|RightHapticGloveWearableDeviceActuatorsWrapper| Parameters are (actuatorCommandInputPortName "/WearableData/HapticGlove/RightHand/Actuators/input:i") (device iwearactuators_wrapper) (id RightHapticGloveWearableDeviceActuatorsWrapper) (period 0.01) (robotName)
[INFO] |yarp.os.Port|/WearableData/HapticGlove/RightHand/Actuators/input:i| Port /WearableData/HapticGlove/RightHand/Actuators/input:i active at tcp://10.0.0.127:10321/
[INFO] |yarp.dev.PolyDriver|RightHapticGloveWearableDeviceActuatorsWrapper| Created device <iwearactuators_wrapper>. See C++ class wearable::wrappers::IWearActuatorsWrapper for documentation.
[WARNING] There was some problem opening one or more devices. Please check the log and your configuration
[ERROR] One or more devices failed opening... see previous log messages for more info
[INFO] Closing device RightHapticGloveWearableDeviceActuatorsWrapper
[INFO] Closing device RightHapticGloveWearableDeviceWrapper
[INFO] Closing device RightHapticGloveWearableDevice
[INFO] Closing device LeftHapticGloveWearableDeviceActuatorsWrapper
[INFO] Closing device LeftHapticGloveWearableDeviceWrapper
[INFO] Closing device LeftHapticGloveWearableDevice
[ERROR] Error in startup phase... see previous messages for more info
[WARNING] Interrupt # 1 # received.
[INFO] Interrupt received. Stopping all running threads.
[INFO] interrupt1 phase starting...
[INFO] interrupt1 phase finished.
[INFO] shutdown phase starting...
[INFO] Entering action level 4 of phase shutdown
[INFO] Executing detach action, level 4 on device LeftHapticGloveWearableDeviceWrapper with parameters []
[ERROR] LeftHapticGloveWearableDeviceWrapper is neither a wrapper nor a multiplewrapper, therefore it cannot have detach actions
[ERROR] Cannot run detach action on device LeftHapticGloveWearableDeviceWrapper
[INFO] Executing detach action, level 4 on device LeftHapticGloveWearableDeviceActuatorsWrapper with parameters []
[ERROR] LeftHapticGloveWearableDeviceActuatorsWrapper is neither a wrapper nor a multiplewrapper, therefore it cannot have detach actions
[ERROR] Cannot run detach action on device LeftHapticGloveWearableDeviceActuatorsWrapper
[INFO] Executing detach action, level 4 on device RightHapticGloveWearableDeviceWrapper with parameters []
[ERROR] RightHapticGloveWearableDeviceWrapper is neither a wrapper nor a multiplewrapper, therefore it cannot have detach actions
[ERROR] Cannot run detach action on device RightHapticGloveWearableDeviceWrapper
[INFO] Executing detach action, level 4 on device RightHapticGloveWearableDeviceActuatorsWrapper with parameters []
[ERROR] RightHapticGloveWearableDeviceActuatorsWrapper is neither a wrapper nor a multiplewrapper, therefore it cannot have detach actions
[ERROR] Cannot run detach action on device RightHapticGloveWearableDeviceActuatorsWrapper
[INFO] All actions for action level 4 of shutdown phase started. Waiting for unfinished actions.
[INFO] All actions for action level 4 of shutdown phase finished.
[WARNING] There was some problem running actions for shutdown phase . Please check the log and your configuration
[INFO] Closing device RightHapticGloveWearableDeviceActuatorsWrapper
[INFO] Closing device RightHapticGloveWearableDeviceWrapper
[INFO] Closing device RightHapticGloveWearableDevice
[INFO] Closing device LeftHapticGloveWearableDeviceActuatorsWrapper
[INFO] Closing device LeftHapticGloveWearableDeviceWrapper
[INFO] Closing device LeftHapticGloveWearableDevice
[INFO] shutdown phase finished.
[ERROR] Error in shutdown phase... see previous messages for more info
[INFO] |yarp.os.RFModule| RFModule failed to open.

To Reproduce I have enabled HapticGlove and then compiled and installed. I am using the robotology-superbuild.

Expected behavior The error

 [ERROR] |yarp.os.YarpPluginSettings| Error while opening D:/Windows/robotology-superbuild/build/install/lib/yarp/HapticGlove.dll:
  The specified module could not be found.

should not occur. The library seems to be there image

Screenshots See abive

Desktop (please complete the following information):

Additional context I am using robotology-superbuild with conda dependencies

cc @kouroshD @lrapetti @isorrentino

S-Dafarra commented 2 years ago

The problem seems that the SGCoreCpp.dll is not found: image

kouroshD commented 2 years ago

@S-Dafarra please follow the documentation in https://github.com/robotology/wearables/blob/master/doc/How-to-compile-and-run-HapticGlove.md as indicated. This should solve your problem.

S-Dafarra commented 2 years ago

Yes, I forgot to add D:\Windows\SenseGlove-API\Core\SGCoreCpp\lib\win\Release to the PATH. Fixed, thanks