ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Phantom_Omni with Ros

asked 2013-07-24 01:23:31 -0600

jalvarofa gravatar image

updated 2014-01-28 17:17:24 -0600

ngrennan gravatar image


I'm trying to use a Phantom Omni device with ROS, but when I run the omni node terminal shows next message and nothing happens more, the prompt doesn't return and the cursor keeps flashing.

INFO 1374828811.829641606: Found PHANTOM Omni.

INFO 1374828811.881649887: HD_CALIBRATION_INKWELL..

INFO 1374828811.883714328: Calibrating.. (put stylus in well)

INFO 1374828811.883780678:

Calibration complete.


edit retag flag offensive close merge delete


Seems error message got lost. Please update the question.

Boris gravatar image Boris  ( 2013-07-24 01:43:34 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2013-07-26 05:22:02 -0600

updated 2013-08-22 23:58:56 -0600

That is correct behavior. The messages are showing that device was found and successfully calibrated.

To read coordinates and buttons states you have to subscribe to omni1_pose and omni1_button topics respectively. To command force to Omni use omni1_force_feedback topic.

If you are not sure how to do aforementioned, please go through beginner tutorials.

For a quick test you also may want to try:

$ rostopic echo omni1_pose

This will output current pose (position + orientation) of Omni end-effector to the terminal.

EDIT: (summarizing comments below)

On Ubuntu 12.04 and higher a JUJU Phantom Device Drivers (PDD) have to be used. The necessary files can be found on SensAble Developer Support Center.

Since original phantom_omni package seems to be broken a more generic sensable_phantom can be used instead, both on Fuerte and Groovy. The package suppose to work with any Phantom models (Omni, Premium 1.5, Premium 3.0 etc).

To install the latter on Fuerte:

# Go to sandbox directory in the rosbuild workspace
$ roscd && cd sandbox

# Clone `rosbuild' branch of package
$ git clone -b rosbuild <a href=""></a>

# Update rospack cache
$ rospack profile

# Compile the package
$ rosmake sensable_phantom

P.S. Something wrong with AskBot. The link on the git clone line should be without surrounding HTML-tags.

edit flag offensive delete link more


When I try omni1_button and I press the buttons works good. But when I try omni1_pose and I move the phantom's omni stylus the coordenates don't change, always it is 0.0 header: seq: 122795 stamp: secs: 1375096548 nsecs: 228468035 frame_id: omni1_link6 pose: position: x: 0.0 y: 0.0 z: 0.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0

jalvarofa gravatar image jalvarofa  ( 2013-07-29 01:35:14 -0600 )edit

What version of the OpenHaptics do you use? Does the `PHANToMTest` utility works on your system?

Boris gravatar image Boris  ( 2013-07-29 01:38:14 -0600 )edit

I use v3.0 in Ubuntu 12.04, Linux JUJU PDD 32-bits and ROS Fuerte. PHANToMTest works good.

jalvarofa gravatar image jalvarofa  ( 2013-07-30 22:49:34 -0600 )edit

What about Phantom Device Drivers (PDD)? I'm using PDD v4.3 and OpenHaptics v3.0, but 64-bit version... And with this PDD 4.3 I cannot run PHANToMTest at all, so I guess you have previous version of PDD.

Boris gravatar image Boris  ( 2013-07-31 01:42:43 -0600 )edit

... As far as I know new version was never released officially, but you can download it from [SensAble Developer Support Center]( (don't remember exact link).

Boris gravatar image Boris  ( 2013-07-31 01:44:36 -0600 )edit

Yes, I use this "unofficial" version called Linux JUJU PDD 32-bits and all works good (PHANToMTest, omni1_button, some examples, etc) but omni1_pose doesn't work

jalvarofa gravatar image jalvarofa  ( 2013-08-18 23:38:05 -0600 )edit

Honestly I didn't use original `phantom_omni` for a long time, but my own [reimplemented version]( If you do not need specific features of original package you maybe interested to try that one. For Fuerte checkout `rosbuild` branch.

Boris gravatar image Boris  ( 2013-08-18 23:57:23 -0600 )edit

ok, I'll try to use your version to see how works, thank you very much. EDIT: Your version works in ROS Fuerte or ROS Groovy?

jalvarofa gravatar image jalvarofa  ( 2013-08-19 00:05:11 -0600 )edit

answered 2013-08-21 00:10:42 -0600

jalvarofa gravatar image

New problem, in version of bgromov sensable_phantom, when I raise the node and try to use button's topic shows with rostopic echo /button this error:

ERROR: Cannot load message class for [sensable_phantom/PhantomButtonEvent]. Are your messages built?

edit flag offensive delete link more


Did you do the `rospack profile` after cloning the package?

Boris gravatar image Boris  ( 2013-08-21 02:10:05 -0600 )edit

No, as I do? `rospack profile sensable_phantom` before of rosmake?

jalvarofa gravatar image jalvarofa  ( 2013-08-21 22:25:05 -0600 )edit

Just `rospack profile`. You have to do it right after adding new package to your rosbuild workspace.

Boris gravatar image Boris  ( 2013-08-21 22:27:52 -0600 )edit

ok, I'll remove it all and add the package again.

jalvarofa gravatar image jalvarofa  ( 2013-08-21 22:31:05 -0600 )edit

That is not necessary. Just do `rospack profile && rosmake --pre-clean sensable_phantom`.

Boris gravatar image Boris  ( 2013-08-21 22:32:56 -0600 )edit

Boris, you are a genious ;), works perfectly. Thank you very much again.

jalvarofa gravatar image jalvarofa  ( 2013-08-21 22:38:44 -0600 )edit

Question Tools



Asked: 2013-07-24 01:23:31 -0600

Seen: 1,351 times

Last updated: Aug 22 '13