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

Not seeing topic data using microstrain_3dm_gx3_45 with a 3DM-GX3-35

asked 2015-11-11 19:44:00 -0500

PeteMakesThings gravatar image

updated 2015-11-11 20:06:03 -0500

I am attempting to use the microstrain_3dm_gx3_45 driver. I have a microstrain 3DM-GX3-35, connected via USB. It shows up as port ttyACM0. I'm running ROS indigo on Ubuntu 14.04 LTS. I have made sure to include the ROS master URI in the setup file.

So far I've made some progress by figuring out that I had to set the permissions with this command:

sudo chmod a+rw /dev/ttyACM0

This solved the failure due to permission being denied. When attempting to run it I go through these steps:

  • Start roscore

  • Open a terminal and go to rosbuild_ws and source setup.bash (imu_driver doesn't show up in the next step if I don't, I normally use the source.bash for catkin)

  • type: rosrun microstrain_3dm_gx3_45 imu_driver

At this point I get this output

[ INFO] [1447290658.417420942]: Initializing.
[ INFO] [1447290658.417651570]: Pinging device
[ INFO] [1447290658.417942970]: Setting to idle
[ INFO] [1447290658.419018936]: Checking status

It doesn't move on from there, I'm not sure if it's supposed to do more. So, leaving that terminal open, I try to echo the topic by doing the following:

  • Open another terminal
  • command: rostopic list
  • Several topics show up
  • try to display one by typing: rostopic echo /imu3dmgx3/imu/data
  • the command doesn't fail, but nothing displays, and the imu_driver window doesn't show anything beyond Checking Status either, it also won't exit if I press ctrl+c or anything else.

I can also roslaunch this: ~/rosbuild_ws/microstrain_3dm_gx3_45/launch/roslaunch imu.launch

that gives me this output

> core service [/rosout] found
> process[imu_3dm_node-1]: started with
> pid [5324] [ INFO]
> [1447293625.027313438]: Initializing.
> [ INFO] [1447293625.027628687]:
> Pinging device

which also doesn't fail, but seems to stop at that point. But it will (with a delay) end the process without closing the terminal. imu_test.launch gives me a similar output.

So that's where I'm stuck for now. The errors I know of are solved but I don't seem to be getting any output. I've taken a screenshot of the spot where it stops in case it adds any clairity.

Thank you for any help or suggestions!


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-11-16 14:08:24 -0500

PeteMakesThings gravatar image

updated 2015-11-16 14:10:44 -0500

I found out paulbovbel had created a branch of the code just for the 35 model.

After installing that these were the steps to get it to run:

  1. If you haven started roscore start it by typing roscore in a terminal
  2. in another terminal (may be specific to my case) go into the devel folder of the workspace where you installed the package and source the setup.bash file there. Command: . setup.bash
  3. Make sure your sensor is plugged in and the LED is lit, then check the permissions by typing ls -l /dev/ttyACM0 your device may not be ttyACM0, in which case type as far as the tty then tab twice to see the list. If there are no USB or ACM devices it may be missing. You can plug and unplug to see if any change to determine if your port is showing up and what it is.
  4. If your permissions read "crw-rw----" you need to add RW by typing sudo chmod a+rw /dev/ttyACM0 it should now read "crw-rw-rw-" if you check again
  5. start the driver by typing rosrun microstrain_3dm_gx3_35 imu_driver
  6. If that works, to see the data in another terminal type: rostopic echo /imu3dmgx3/imu/data

Hope this helps if anyone is stuck as I was.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-11-11 19:44:00 -0500

Seen: 429 times

Last updated: Nov 16 '15