This is a ROS meta-package for both Sensable Phantom Omni (IEEE1394 connection) and Geomagic Touch (Ethernet and USB connection). Included in this meta-package is the omni_driver package, which contains the omni_driver node.
There are a number of different device types supported by the Openhaptics SDKs. The current focus is on the touch device but there is no reason that this cannot be broadened. To this end there should be support for the different kinematics and URDF/CAD models of the devices. The universal robots repository provides a good idea of how this can be handled.
Environment
Ubuntu 16.04 LTS 64-bit
ROS-Kinetic
Openhaptics_3.4-0-developer-edition
geomagic_touch_device_driver_2016.1-1 Equipment
Geomagic Touch(Phantom Omni) -Ethernet connection Description
Hi, I encountered some errors while running the posted package. I followed the steps in the readme file to configure, connected the Geomagic Touch, and used set-up to configure, and the device was detected in diagnostics. But when I ran roslaunch omni_driver ethernet.launch, it came with the following error:
HD Error: HD_COMM_ERROR
Communication Error: Check the device connection and configuration.
HHD: 0
Error Code: 302
Internal Error Code: -28
Message: Error during main scheduler callback
I wonder if you have encountered similar problems and can you provide me with some solutions. Thanks!
Best,
Jin
The force feedback for the device should be able to take a TCP wench message and traslate this into the haptic feedback. This would align it with many the apis of cobots and tcp sensors available:
Hi, I am trying to build the image of the phantom omni but I can not see the Dockerfile to build it in my local machine. I can pull the image from the docker hub but I don't know how to build it in my local ubuntu machine. Could you help me?, i am not an expert at using Docker.
The are a number of different builds that need to be taken into account. Not all versions of each combination will need to be supported. Ideally we would maintain a single openhaptics/driver combination (most recent per device) and then have a build per ros/ubuntu/arch combination. Some of it will be as simple as an ENV flag, others may be more involved. It might be a good idea to break out the legacy device and have them in different branches/repositories?
Wonder if these need to be tested against vanilla ubuntu and ones with the Xenomai or PREEMPT_RT kernel patches? The current UR ROS drives when used with the e-series are meant to use the PREEMPT_RT patch for realtime communication.
The documentation will need to be updated to cover this.
https://github.com/jdrew1303/ros_duckie (uses cross compiling for arm builds. this might need tweaking for libs and cpp support. also need to checkout NEON and VFP(v2, v3, v4))