ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A
Ask Your Question

Ros node does not recognize Haptic device

asked 2015-10-19 07:52:06 -0500

mrslvgg gravatar image

updated 2015-10-20 04:19:58 -0500

I am developing a ros node for reading Force Dimension Omega.x haptic device input. I downloaded the Force Dimension SDK, compiled the libraries and exported them in /usr/local/lib while copied the headers in /usr/local/include. Then I modified CMakeLists.txt and package.xml to link those files. My code is building correctly now, but I can't connect to my haptic device. Since with other non-ros packages (e.g. Chai3D) I had to specify "sudo" for running a bin and for connecting to the haptic device properly, my question is: How I can run a ros node and connect to my device? I am developing my code in QtCreator.

Looking forward for your help. Thanks

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2015-10-20 04:20:13 -0500

mrslvgg gravatar image

updated 2016-05-14 07:19:21 -0500

I finally find out how to access to usb without typing sudo. First of all, I create a new file in /etc/udev/rules.d named 10-mydevice.rules and added this line inside:

ATTRS{idProduct}=="[PRODUCT_ID]", ATTRS{idVendor}=="[VENDOR ID]", MODE="666", GROUP="plugdev"

where VENDOR_ID and PRODUCT_ID are specified by

lsusb -v

Then I simply checked if my user was part of plugdev group by typing


Finally I saved and closed my file and entered the following in the terminal window for refreshing the rules:

sudo udevadm trigger

Right now I can run my node by using rosrun without root privileges or run the node from inside QtCreator!!! Hope this could help other people!

edit flag offensive delete link more

answered 2015-10-19 09:00:05 -0500

gvdhoorn gravatar image

You most likely need to give your user access to the Linux device file that is used to communicate with the haptic device.

See Rosrun as super user and replace /dev/ttyUSB0 with the device file that is used by your haptic device driver.

edit flag offensive delete link more


Sorry but this does not help me. I changed the owner of the bin file but it does not work with rosrun. In addition, I noticed that I don't have /dev/ttyUSB0.

mrslvgg gravatar imagemrslvgg ( 2015-10-19 10:20:51 -0500 )edit

Did you read the answer I linked to? Cause what you posted as an update to your question is exactly what those answers tell you to do.

gvdhoorn gravatar imagegvdhoorn ( 2015-10-20 03:18:34 -0500 )edit

Yes, I went through your links, but it took a while for understanding udev rules stuff. Anyway, your answer helped a lot. Thanks!!

p.s. Sorry I am new to ros and linux and also to this forum. I edited my post but I cannot accept my answer.

mrslvgg gravatar imagemrslvgg ( 2015-10-20 04:24:58 -0500 )edit

answered 2016-05-11 08:28:06 -0500

updated 2016-05-12 04:49:00 -0500

gvdhoorn gravatar image

In particular, I added this line

ATTRS{idProduct}=="cb48", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"

Without the "0x" before the number, inverting also idVendor number to the idProduct and it worked.


edit flag offensive delete link more


I edited my answer, thank you for the suggestion ;)

mrslvgg gravatar imagemrslvgg ( 2016-05-14 07:20:16 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-10-19 07:52:06 -0500

Seen: 534 times

Last updated: May 14 '16