imu_3dm_gx4
imu_3dm_gx4 copied to clipboard
Enabling Filter Causes NACK with Error Code
Hi,
I am working with a 3DM-GX4-25 IMU connected via a motherboard serial port. Everything seems to work fine except when attempting to run with enable_filter:=true
after which the node receives a NACK with error code. I have checked the hex code from the output of the packet against the protocol documentation and cannot see any issues as the sent command corresponds exactly to one of the examples.
The following is the output from the supplied launch file. I have tried all four combinations of enable_accel_update and enable_mag_update but the error is the same.
$ roslaunch imu_3dm_gx4 imu.launch device:=/dev/ttyS0 enable_filter:=true verbose:=true
... logging to /home/aslab/.ros/log/321372e2-a9cf-11e5-8bc4-000af781c6f3/roslaunch-Axiom-ph-22286.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://Axiom-ph:34936/
SUMMARY
========
PARAMETERS
* /imu/baudrate: 115200
* /imu/device: /dev/ttyS0
* /imu/enable_accel_update: False
* /imu/enable_filter: True
* /imu/enable_mag_update: False
* /imu/filter_rate: 100
* /imu/frame_id: imu
* /imu/imu_rate: 100
* /imu/verbose: True
* /rosdistro: indigo
* /rosversion: 1.11.13
NODES
/
imu (imu_3dm_gx4/imu_3dm_gx4)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
process[imu-1]: started with pid [22304]
[ INFO] [1450914402.202223335]: Selecting baud rate 115200
Switching to baud rate 9600
Switched baud rate to 9600
Sending a ping packet.
Timed out reading response to:
SyncMSB: 75
SyncLSB: 65
Descriptor: 1
Length: 2
Payload: 2 1
Check MSB: e0
Check LSB: c6
Timed out waiting for ping response.
Switching to baud rate 19200
Switched baud rate to 19200
Sending a ping packet.
Timed out reading response to:
SyncMSB: 75
SyncLSB: 65
Descriptor: 1
Length: 2
Payload: 2 1
Check MSB: e0
Check LSB: c6
Timed out waiting for ping response.
Switching to baud rate 115200
Switched baud rate to 115200
Sending a ping packet.
Handling read : 75 65 1 4 4 f1 1 0
Handling read : d5 6a
Found correct baudrate.
Instructing device to change to 115200
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 7
Payload: 7 40 1 0 1 c2 0
Check MSB: f8
Check LSB: da
Handling read : 75 65 c 4 4 f1 40 0 1f
Handling read : 2a
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: 1
Length: 2
Payload: 2 1
Check MSB: e0
Check LSB: c6
Handling read : 75 65 1 4 4 f1 1 0
Handling read : d5 6a
[ INFO] [1450914404.060063334]: Fetching device info.
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: 1
Length: 2
Payload: 2 3
Check MSB: e2
Check LSB: c8
Handling read : 75 65 1 58 4 f1 3 0
Handling read : 54 81 4 50 20 20 20 20
Handling read : 20 20 33 44 4d 2d 47 58
Handling read : 34 2d 32 35 20 20 20 20 20
Handling read : 20 20 36 32 33 34 2d 34 32
Handling read : 32 30 20 20 20 20 20 20
Handling read : 36 32 33 34 2e 34 34 30 38
Handling read : 32 20 20 20 20 20 20 20
Handling read : 20 31 31 34 37 38 30 30 35
Handling read : 20 20 20 20 20 20 20 35
Handling read : 67 2c 33 30 30 64 70 73 eb
Handling read : 3
[ INFO] [1450914404.089724302]: Device options: 5g,300dps
[ INFO] [1450914404.089769312]: Firmware version: 1104
[ INFO] [1450914404.089790396]: Model name: 3DM-GX4-25
[ INFO] [1450914404.089816258]: Model number: 6234-4220
[ INFO] [1450914404.089834172]: Serial number: 6234.44082
[ INFO] [1450914404.089856956]: Idling the device
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: 1
Length: 2
Payload: 2 2
Check MSB: e1
Check LSB: c7
Handling read : 75 65 1 4 4 f1 2 0 d6
Handling read : 6c
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 2
Payload: 2 6
Check MSB: f0
Check LSB: f7
Handling read : 75 65 c 8 4 f1 6 0
Handling read : 4 83 1 f4 65 fd
[ INFO] [1450914404.094481405]: IMU data base rate: 500 Hz
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 2
Payload: 2 b
Check MSB: f5
Check LSB: fc
Handling read : 75 65 c 8 4 f1 b 0
Handling read : 4 8a 1 f4 71 30
[ INFO] [1450914404.098480652]: Filter data base rate: 500 Hz
[ INFO] [1450914404.098522506]: Selecting IMU decimation: 5
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 10
Payload: 10 8 1 4 4 0 5 5 0 5 6 0 5 17 0 5
Check MSB: 4d
Check LSB: 79
Handling read : 75 65 c 4 4 f1 8 0
Handling read : e7 ba
[ INFO] [1450914404.102037952]: Selecting filter decimation: 5
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 10
Payload: 10 a 1 4 3 0 5 6 0 5 a 0 5 b 0 5
Check MSB: 47
Check LSB: 88
Handling read : 75 65 c 4 4 f1 a 0
Handling read : e9 be
[ INFO] [1450914404.105584564]: Enabling IMU data stream
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 5
Payload: 5 11 1 1 1
Check MSB: 4
Check LSB: 1a
Handling read : 75 65 c 4 4 f1 11 0
Handling read : f0 cc
[ INFO] [1450914404.107993960]: Enabling filter data stream
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: c
Length: 5
Payload: 5 11 1 3 1
Check MSB: 6
Check LSB: 1e
Handling read : 75 65 80 30 e 4 bc 6
Handling read : a6 2a 3c 21 da fe bf 7f
Handling read : 15 24 e 5 3a f 73 4c
Handling read : ba 72 10 aa 3a 56 73 f4
Handling read : e 6 bd 91 2c 40 3e 6b
Handling read : 31 9 be ec 69 90 6 17
Handling read : 44 7e bf 6f 33 18 75 65
Not interested in this [N]ACK!
SyncMSB: 75
SyncLSB: 65
Descriptor: 80
Length: 30
Payload: e 4 bc 6 a6 2a 3c 21 da fe bf 7f 15 24 e 5 3a f 73 4c ba 72 10 aa 3a 56 73 f4 e 6 bd 91 2c 40 3e 6b 31 9 be ec 69 90 6 17 44 7e bf 6f
Check MSB: 33
Check LSB: 18
Handling read : c 4 4 f1 11 0 f0 cc
[ INFO] [1450914404.114917457]: Enabling filter measurements
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: d
Length: 5
Payload: 5 41 1 0 0
Check MSB: 33
Check LSB: de
Handling read : 75 65 d 4 4 f1 41 1
Handling read : 22 33
Received NACK packet (class, command, code): d, 41, 1
[ERROR] [1450914404.117418666]: Exception: Received NACK with error code 1. Command Packet:
SyncMSB: 75
SyncLSB: 65
Descriptor: d
Length: 5
Payload: 5 41 1 0 0
Check MSB: 33
Check LSB: de
Sending command:
SyncMSB: 75
SyncLSB: 65
Descriptor: 1
Length: 2
Payload: 2 2
Check MSB: e1
Check LSB: c7
[imu-1] process has finished cleanly
log file: /home/aslab/.ros/log/321372e2-a9cf-11e5-8bc4-000af781c6f3/imu-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
hi,jakeanq, i meet the same problem , do you solve it ?