ethz-asl / ethzasl_xsens_driver

Driver for xsens IMUs
BSD 2-Clause "Simplified" License
102 stars 112 forks source link

Synchronization settings and UTC time extension #46

Closed raymond30031 closed 7 years ago

raymond30031 commented 7 years ago

Adds code and example for setting synchronization settings and UTC time

raymond30031 commented 7 years ago

Hello Francis,

Sorry for the delay, I have finaly got around to address your comments. Please review my latest commit.

Cheers, JC

fcolas commented 7 years ago

Thanks for your work. There are a few small comments but it should be easy to fix.

raymond30031 commented 7 years ago

Hello Francis,

I addressed your comments and extended the functionality for UTCtime settings. We can now either set the current time or a specified time to be the UTCtime for the MTi.

Cheers, JC

fcolas commented 7 years ago

Dear JC,

Thanks again for your efforts. Please fix the typo for the time and the synchronization settings and I'll merge it in.

Best,

raymond30031 commented 7 years ago

Hello Francis,

I have encountered a weird problem with my MTi G 710, and it does not happen to my MTi 300 or MTi 30. Step 1: Setting UTCtime to now and verifies using ./mtdevice -i to check the time is in fact the current time (my computer time) command: ./mtdevice.py -c iu200,oq200fe,aa200fe,wr200fe,sw200 -u now

Step 2: roslaunch the xsens_driver launch file and check the time in the imu_data_str

The problem is that the time in the imu_data_str becomes sometime in 2013 and this is repeatable. The flags is 240 in the time part of the message and the status word is 131 (which means no error)

Do you have any idea why this is happening?

raymond30031 commented 7 years ago

Another odd thing I noticed today is that even though we assign iu and sw to be 200 and it does output at 200 Hz, but the output config from inspection shows that these two fields have the value of 65535 (maxed out for int?)

fcolas commented 7 years ago

Many thanks for your work: it is merged in.

raymond30031 commented 7 years ago

Glad I can contribute. @fcolas Did you get a chance to test -u now with a MTi-G-710 and see if the time gets reset upon startup?

fcolas commented 7 years ago

Oops, I had missed this. I wonder if it shouldn't be in a separate issue. In the documentation, only the last 3 bits are meaningful with 0x04 stating whether it is fully valid or not. In your case it is 0 so it's not inconsistent. My hypothesis would be that it is searching for the GPS and outputting some initial value until it gets a fix. I agree it shouldn't be the case (with the iu option rather than gu), but I believe it's a firmware issue.