0
$\begingroup$

Rosanswers logo

I've got a MicroStrain 3DM-GX3-25 (serial) connected to my computer's USB port, via a Keyspan port adapter. dmesg mentions no errors and says that the converter (and thus the IMU) are attached to ttyUSB0. When connected, the lights on the Keyspan and the MicroStrain blink as expected.

[603041.844116] usb 2-1: new full-speed USB device number 3 using uhci_hcd
[603042.048218] keyspan 2-1:1.0: Keyspan 1 port adapter converter detected
[603042.048428] usb 2-1: Keyspan 1 port adapter converter now attached to ttyUSB0

When I install and run the imu_node executable in the microstrain_3dmgx2_imu package, I get the following error:

$ rosrun microstrain_3dmgx2_imu imu_node 
[ERROR] [1349383368.102022439]: error writing to IMU [Resource temporarily unavailable] (in microstrain_3dmgx2_imu::IMU:send) You may find further details at http://www.ros.org/wiki/microstrain_3dmgx2_imu/Troubleshooting

Increasing the log verbosity, setting the level to DEBUG for this component gives no better information:

$ ROSCONSOLE_CONFIG_FILE=./roslog.conf rosrun microstrain_3dmgx2_imu imu_node
[DEBUG] [1349794504.541041200]: Advertising self_test
[ERROR] [1349794504.562833148]: error writing to IMU [Resource temporarily unavailable] (in microstrain_3dmgx2_imu::IMU:send) You may find further details at http://www.ros.org/wiki/microstrain_3dmgx2_imu/Troubleshooting
[DEBUG] [1349794505.675825241]: error writing to IMU [Resource temporarily unavailable] (in microstrain_3dmgx2_imu::IMU:send) You may find further details at http://www.ros.org/wiki/microstrain_3dmgx2_imu/Troubleshooting

Now, I know permissions are set somewhat correctly, because I otherwise get the "Unable to open serial port [/dev/ttyUSB0]. Permission denied." error prior to chown/chmod-ing /dev/ttyUSB0. After that, apparently the device can be opened, but can't be properly accessed.

I've got a USB version of the device ordered and on it's way, but it's a shame this one doesn't work. Do you think the problem is with the serial<->USB converter? Have any suggestions to try?


Originally posted by dustingooding on ROS Answers with karma: 139 on 2012-10-09

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I think the problem is that the sample code that you appear to be using is for the MicroStrain 3DM-GX2 product. The header information that you show (microstrain_3dmgx2_imu imu_node) leads me to believe that. The 3DM-GX3-25 which you have has a different data communications protocol. That protocol can be found on the Documentation tab of the product's web page at: http://www.microstrain.com/inertial/3DM-GX3-25. If the serial number of the unit is less than 9000, use the Single Byte Protocol; if the serial number is 9000 or greater, use the MIP protocol. Sample code may also be found for both the Single Byte and MIP protocols. Please contact me at [email protected] if I can provide you with direct support.


Originally posted by MicroStrain Support with karma: 76 on 2012-10-10

This answer was ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

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