26 June 2019 at 22 h 22 min #13854
I am new to Sofa and I’m trying to test my Geomagic Touch on the Geomagic-FEMLiver scene (all other geomagic scenes give the same result).
The Geomagic_Touch_Setup detects my device and I can test it with the Geomagic_Touch_Diagnostic. It appears that the device is working fine.
When I try to load the scene Sofa fails to initialize the device.
[ERROR] [GeomagicDriver(GeomagicDevice)] Failed to initialize the device ID: 4294967295 | Name: 'Default Device' | Error code returned: 771
The device’s name is indeed “Default Device” according to the Geomagic Touch Setup.
I have the plugins added with cmake-gui and the Geomagic plugin is also available in Sofa’s plugin manager menu.
Is there something I am missing to get the haptic device to work? Where exactly can I find the driver name and device name?
[DEPRECATED] [MechanicalObject(DOFs)] The deprecated template 'Rigid' has been replaced by Rigid3d. As they have different precisions this may result in undefined behavior. To remove this message, please update your scene to use the generic 'Vec3' templates or one of 'Vec3f/Vec3d' that match your the precision of your Sofa binary. [DEPRECATED] [MechanicalStateController(mechanicalStateController1)] The deprecated template 'Rigid' has been replaced by Rigid3d. As they have different precisions this may result in undefined behavior. To remove this message, please update your scene to use the generic 'Vec3' templates or one of 'Vec3f/Vec3d' that match your the precision of your Sofa binary. [DEPRECATED] [MechanicalObject(instrumentState)] The deprecated template 'Rigid' has been replaced by Rigid3d. As they have different precisions this may result in undefined behavior. To remove this message, please update your scene to use the generic 'Vec3' templates or one of 'Vec3f/Vec3d' that match your the precision of your Sofa binary. [INFO] [SceneCheckerVisitor] Validating node "root" with checks: [SceneCheckAPIChange, SceneCheckDuplicatedName, SceneCheckMissingRequiredPlugin, SceneCheckUsingAlias] [INFO] [SceneCheckAPIChange] No 'APIVersion' component in scene. Using the default APIVersion level: 17.06 [WARNING] [SceneCheckDuplicatedName] - Found duplicated names ['instrument', ] in node '/Instrument/CollisionModel' Nodes with similar names at the same level in your scene can crash certain operations, please rename them [WARNING] [SceneCheckMissingRequiredPlugin] This scene is using component defined in plugins but is not importing the required plugins. Your scene may not work on a sofa environment with different pre-loaded plugins. To fix your scene and remove this warning you just need to cut & paste the following lines at the begining of your scene (if it is a .scn): <RequiredPlugin pluginName='SofaHaptics'/> <!-- Needed to use components [LCPForceFeedback, ]--> [WARNING] [SceneCheckUsingAlias] This scene is using hard coded aliases. Aliases can be very confusing, use with caution. - DefaultContactManager: 1 created with alias "CollisionResponse" - DefaultPipeline: 1 created with alias "CollisionPipeline" - MeshTopology: 6 created with alias "Mesh" [INFO] [SceneCheckerVisitor] Finished validating node "root". [WARNING] [OglModel(VisualModel)] Loading obj mesh file directly inside the VisualModel will be deprecated soon. Use a MeshObjLoader and link the Data to the VisualModel. E.g: <MeshObjLoader name='myLoader' filename='myFilePath.obj'/> <OglModel src='@myLoader'/> [WARNING] [OglModel(InstrumentVisualModel)] Loading obj mesh file directly inside the VisualModel will be deprecated soon. Use a MeshObjLoader and link the Data to the VisualModel. E.g: <MeshObjLoader name='myLoader' filename='myFilePath.obj'/> <OglModel src='@myLoader'/> Config directory not set correctly.: No such file or directory Config directory not set correctly.: No such file or directory [ERROR] [GeomagicDriver(GeomagicDevice)] Failed to initialize the device ID: 4294967295 | Name: 'Default Device' | Error code returned: 77128 June 2019 at 12 h 37 min #13868
Thank you for your interest in SOFA and welcome in the SOFA forum!
You apparently did all good steps and I don’t see the issue:
– your device seems to be well setup
– the name is the same in the scene and in the configuration
Have you tried to re-setup and configure your Geomagic device?
I will try the plugin myself next week when I get back from a business trip.
Hugo2 July 2019 at 10 h 53 min #13885
Thank you for your response, unfortunately the error remains after I tried to reinstalling Sofa and the drivers. I am afraid there might be something wrong with the setup process itself or that I have messed up configuring the device on Sofa, although the geomagic diagnostic detects the device and works perfectly.
Appreciate any assistance on this.2 July 2019 at 13 h 56 min #13887
Can you maybe share your scene so that I can test it locally?
Hugo2 July 2019 at 14 h 02 min #13888
I’m running the default scenes, for example, the FEMLiver scene in the geomagic plugin folder.
application/plugins/geomagic/scenes2 July 2019 at 14 h 51 min #13889
the driver error 771 if I well remember means that your device is busy.
Be sure before starting the scene that you have closed all touch app. like the demo or Touch Setup.
If none, also check in your task manager that there is no zombie task like an old exec of runSofa or touch app.
best regards,2 July 2019 at 16 h 54 min #138912 July 2019 at 17 h 23 min #13893
Thanks for the suggestion! I am unable to remote connect to my machine at the moment, so I’ll check tomorrow first thing in the morning and update you guys.
Regards,3 July 2019 at 8 h 33 min #13895
Unfortunately, I have killed all the running applications, restarted Ubuntu, and tried to run the scene, I still get the same error.
I get the same error whether the device is connected or not. The device is not getting recognized on Sofa for some reason, whether its a mismatch in the naming or plugin configuration.
Regards,3 July 2019 at 9 h 16 min #13896
sorry my hexadecimal is a bit rusty.
771 correspond to:
#define HD_COMM_CONFIG_ERROR 0x0303
in openHaptics: hdDefines.h
Just to be sure, when you are using the touch setup, is the device well detected?
Are you able to run touch demo ? (I’m on windows, so not sure it exists on linux)
best,3 July 2019 at 15 h 30 min #138994 July 2019 at 10 h 43 min #13902
ok I don’t think it is a problem from SOFA.
As it is using OpenHaptics to communicate with the touch, be sure to have an up to date version and if you can try to run the example from the lib as well.10 July 2019 at 15 h 26 min #13926
any update on your problem?
regards,11 July 2019 at 14 h 40 min #13930
I tried to setup SOFA and the Geomagic Touch on another Ubuntu system, got the exact same error, even though the diagnostic tool works fine.
Gonna try to build on Windows for now to see if it works.
Will update you if it works or not.11 July 2019 at 15 h 26 min #13931
ok, but were you able to run the OpenHaptics example? Sofa is using this lib to control the geomagic. So if there example do not work, maybe you need to update your version of OH.
best,14 July 2019 at 11 h 00 min #13948
I have got openhaptics developer version 3.4 and geomagic_touch_device_driver_2016.1-1, downloaded by following the link on SOFA. Just tried AnchoredSpringForce and Calibration console examples from the OpenHaptics folder and they work fine.
Regards,30 July 2019 at 9 h 38 min #14036
I have managed to get it working on Windows 10 for now. The geomagic plug was successfully added and the demo examples are working perfectly.
I have replicated my configuration from Ubuntu, didn’t change a thing. It might be an openhaptics drivers compatibility issue with Ubuntu 18.04 and 16.04.
Here is my current working configuration:
– Windows 10 Pro
– SOFA v19.06
– Visual Studio Community 2015
– CMake 3.10.2
– Boost 1.65.1
– Qt 5.12.2 LTS
– OpenHaptics Developer Edition v3.4.0
– Geomagic Touch Device Driver 2016.10.13
If anyone has an idea on how to resolve it on Ubuntu 18.04, I would be grateful.
Thats all for now, thanks everyone!13 August 2019 at 17 h 52 min #14097
I know on Linux I got issues since environment variables need to be set and are conflicting, in my case, with QtCreator.
Just to check could you run this command in your Linux terminal:
Hugo25 August 2019 at 13 h 19 min #14157
Here is the result of the command above:
echo $QT_PLUGIN_PATH /opt/geomagic_touch_device_driver/lib/plugins2 September 2019 at 15 h 52 min #14172
Sorry for the silence, we’ve been busy. Your echo seems normal.
Can you also test this:
echo $GTDD_HOME echo $LD_LIBRARY_PATH
Hugo3 September 2019 at 9 h 40 min #14181
No worries at all, thanks for all your hard work!
Here’s the results:
echo $GTDD_HOME /opt/geomagic_touch_device_driver echo $LD_LIBRARY_PATH /opt/ros/melodic/lib3 September 2019 at 9 h 51 min #14182
Your $QT_PLUGIN_PATH and $GTDD_HOME are fine.
However, the $LD_LIBRARY_PATH should also include : /opt/geomagic_touch_device_driver/lib
Could you try running :
And try again running your simulation?
Hugo3 September 2019 at 10 h 18 min #14183
You must be logged in to reply to this topic.