Rosanswers logo

Hi, guys, I saw that this Imu_node worked with 3dm-gx3-25 in fuerte, now I am trying to use it with indigo, under Ubuntu 1404, but doesn't work. when I run roslaunch microstrain_3dmgx2_imu microstrain_3dmgx2.launch

error is :

* /microstrain_3dmgx2_node/angular_velocity_stdev: 0.00017
* /microstrain_3dmgx2_node/autocalibrate: True
* /microstrain_3dmgx2_node/autostart: True
* /microstrain_3dmgx2_node/frameid: imu
* /microstrain_3dmgx2_node/port: /dev/tty0
* /microstrain_3dmgx2_node/time_offset: -0.04
* /rosdistro: indigo
* /rosversion: 1.11.16

[ERROR] [1462778064.984122077]: Exception thrown while starting IMU. This sometimes happens if you are not connected to an IMU or if another process is trying to access the IMU port. You may try 'lsof|grep /dev/tty0' to see if other processes have the port open. timeout reached (in microstrain_3dmgx2_imu::IMU:read_with_timeout) You may find further details at http://www.ros.org/wiki/microstrain_3dmgx2_imu/Troubleshooting

I tried to run lsof|grep /dev/tty0, and it shows:

mech-user@test1-pc:~$ lsof | grep /dev/tty0
imu_node  7344       mech-user    9uW     CHR                4,0      0t0     1038 /dev/tty0
imu_node  7344 7360  mech-user    9uW     CHR                4,0      0t0     1038 /dev/tty0
imu_node  7344 7361  mech-user    9uW     CHR                4,0      0t0     1038 /dev/tty0
imu_node  7344 7362  mech-user    9uW     CHR                4,0      0t0     1038 /dev/tty0
imu_node  7344 7367  mech-user    9uW     CHR                4,0      0t0     1038 /dev/tty0

and if I kill one of these 5, the node will be killed, so the solution in troubleshooting doesn't match this problem. any helps?

Originally posted by Wine on ROS Answers with karma: 43 on 2016-05-09

Post score: 0


1 Answer 1


Rosanswers logo

For me, the 3dm-gx3-25 showed up on /dev/ttyACM0 by defualt. Try typing ls -l /dev/ttyACM0 (assuming the imu is the only usb sensor you have connected), or you can try with process of elimination by disconnecting the sensor (wait about 5-10 seconds for the usb device to unregister), typing ls -l /dev/tty to view the whole list. Then connect the sensor, and view the list again. You should either see a new /dev/ttyACM or a new /dev/ttyUSB .

Id also recommend that you set up some udev rules. You can use this one

Originally posted by l0g1x with karma: 1526 on 2016-05-09

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by Wine on 2016-05-10:
3ks a lot! it works man, how stupid am I, tty0 is my keyboard........ but I am still not clear why there are 5 processings on my keyboard ?

Comment by Wine on 2016-05-10:
BTW, after setting the right port, I met the gyro calibration error, same as this : link text , do you have any suggestions? thanks again!

Comment by l0g1x on 2016-05-28:
I actually ended up disabling it after i set a calibration from the microstrain utility application on windows


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.