0
$\begingroup$

Rosanswers logo

Until now, only the 3DM-GX2 protocol is supported for microstrain IMUs.

Is anybody working on the 3DM-GX3 procol?


Originally posted by Antonio Franchi on ROS Answers with karma: 11 on 2011-04-11

Post score: 1


Original comments

Comment by mmwise on 2011-04-26:
if you supply a patch I can push it into the existing released ROS driver

Comment by William on 2011-04-14:
Was a solution ever found here? If not I am going to write/modify an existing package to support the 3DM-GX3 series, specifically our new 3DM-GX3-25 unit.

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

I have released the patch for the 3DM-GX3 protocol into diamondback and unstable under imu_drivers 1.2.4


Originally posted by mmwise with karma: 8372 on 2011-06-08

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$
0
$\begingroup$

Rosanswers logo

The "stop continuous mode" message has changed between the GX2 and GX3 versions to include two user confirm bytes. If you add these to microstrain_3dmgx2_imu::IMU::stopContinuous() it should work.

uint8_t cmd[3];

cmd[0] = CMD_STOP_CONTINUOUS;

cmd[1] = 0x75; // gx3 - confirms user intent

cmd[2] = 0xb4; // gx3 - confirms user intent


Originally posted by robz with karma: 31 on 2011-04-14

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by robz on 2011-05-18:
Sorry, didn't notice this was responded to a couple days ago. Please see my additional comment on this gx3 thread for a more complete description of the required patch, including a critical update to the imu timer.

Comment by mmwise on 2011-05-16:
And released into diamondback and unstable under imu_drivers 1.2.3

Comment by tfoote on 2011-05-16:
This has been patched into the existing driver. https://code.ros.org/trac/ros-pkg/ticket/4955

Comment by robz on 2011-05-04:
mwise_wg: The 4 lines above should suffice as a patch. If you want to make the driver general, then just grab the device ID string when you initialize and check whether it is a gx2 or gx3, then wrap an if statement to choose between the 4 lines above for gx3 or the existing 2 lines for gx2.

$\endgroup$

Your Answer

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