Skip to content

Conversation

RonaldEnsing
Copy link

This PR makes the advanced navigation driver conform to ROS conventions:

  • REP103 [1] (ENU coordinate system)
  • REP145 [2] (IMU frame conventions)

This work is partially created using the fork of @kylerlaird [3]

In addition, the DiagnosticStatus message is replaced by a DiagnosticArray message, to allow the use of a Diagnostic Analyzer.

[1] http://www.ros.org/reps/rep-0103.html
[2] http://www.ros.org/reps/rep-0145.html
[3] https://github.com/kylerlaird/advanced_navigation_driver
[4] http://wiki.ros.org/diagnostics/Tutorials/Creating%20a%20Diagnostic%20Analyzer

kylerlaird and others added 12 commits February 9, 2018 11:04
The driver is now configured using standard ROS parameters.
If a ROS topic is provided via the "rtcm" parameter, Strings on this topic will be passed to the device as RTCM corrections (packet ID 55).
Yaw has been corrected to conform with REP 103.
ros-drivers#3

RTCM corrections can be passed from a topic (as Strings).

A UTM-based transform can be generated.
I uploaded the wrong file last time.  See previous commit.
added instructions for RTCM and TF usage, notification of REP 103 compliance
I changed the parameter names again.

I added a note about the new Odometry feature.
I'm trying to standardize the parameter names (to be more like Robotnik's).

I added Odometry message output if utm_zone is provided.
Even at only 20 Hz, the driver always consumed 100% CPU time.  I found that it was polling without any delay/throttling.

I configured the Linux version of OpenComport() for blocking reads.  CPU time dropped to 5%.
I added a note about blocking serial port reads for Linux.
Rather than specify topic and frame names using parameters, I named them relative to the current namespace.
@gavanderhoorn
Copy link

gavanderhoorn commented Aug 27, 2018

@an-scott: what would be needed to get this PR merged? I realise it could break setups of users that are using the current version of the driver, but adherence to REP-103 and REP-145 seems of critical importance for IMU / INS drivers to me.

#5 by @kylerlaird that this is based on has been around for a bit as well, so it would be really nice if we could get this all merged.

@RonaldEnsing
Copy link
Author

This work is based on Pull Request (PR) #5, which has conflicts with master branch. Therefore, I had to resolve merge conflicts for this PR (#9). Please review to make sure that you agree with the merge, to make sure that nothing is lost that should be kept.

@edoreshef
Copy link

As someone who uses this driver, I'm looking forward for this to be merged.

@edoreshef
Copy link

btw, did you leave 'imu_msg.linear_acceleration' and 'imu_msg.angular_velocity' as REP145 on purpose?

@RonaldEnsing
Copy link
Author

@edoreshef I think I don't understand your question. The goal is to make it conform to REP145 indeed. Is there something with imu_msg.linear_acceleration and imu_msg.angular_velocity that is not?

@edoreshef
Copy link

@RonaldEnsing, you are right, I got confused there :)

@gavanderhoorn
Copy link

🛎️

@edoreshef
Copy link

An update, in the end I found that REP103 conversions to be more accurate in this branch https://github.com/lbl-anp/advanced_navigation_driver/commit/f594142841a1e1d8d889a6fa51a98908e956d6bb

@GrantDare
Copy link

Hi @RonaldEnsing I am interested in using this driver with ROS and was directed to the fork of @kylerlaird. Upon seeing this PR I would like to get confirmation that this fork conforms to REP-103 and REP-145

@RonaldEnsing
Copy link
Author

RonaldEnsing commented Feb 7, 2019

@GrantDare I created this PR to make the driver conform to REP-103 and REP-145, because there was no REP-103 and REP145 compatible driver as far as I know.

@nznobody
Copy link

Note: This repository is abandoned by Advanced Navigation Support [email protected]. When asking them about this, they pointed me to:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants