Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transformation between gps frame and imu_link #72

Open
chinitaberrio opened this issue May 4, 2023 · 3 comments
Open

Transformation between gps frame and imu_link #72

chinitaberrio opened this issue May 4, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@chinitaberrio
Copy link

The ROS driver publishes /gps/fix data in the gps frame and gps/imu data in the imu_link frame; however, there is an absence of any topic between these two reference frames (tf_static). Should this transformation come from the INSCONFIG?

@novatel-applications-engineering
Copy link
Contributor

Hi @chinitaberrio, thank you for reaching out to us.

I have passed your request to engineering. We will work on providing a set of instructions for you to work with tf_static. I will update you once I learn more.

@novatel-applications-engineering
Copy link
Contributor

Hi @chinitaberrio, will you be using the SPAN INS solution? or will you be performing your own GNSS and IMU solution fusion? I would like to understand your application first before providing a recommendation.

/gps/fix topic can take position source from BESTPOS (INS position solution translated to the antenna phase center if position type has INS in it) and INSPVAS (INS position solution at default IMU center of navigation location unless SETINSTRANSLATION USER command is used). Reference: https://wiki.ros.org/novatel_oem7_driver/ros1_topic_mapping

User can select which position source that the ROS driver uses, by defining the position source parameter to 'BESTPOS' or 'INSPVAS'. In ROS1, use 'position_source' parameter in launch file. In ROS2 (humble), use 'oem7_position_source' parameter in launch file.

INSCONFIG provides the lever arm translations and rotations. There could be multiple of them depending on user application. At minimum, in a correctly configured system, you will see at least the lever arm from IMU center of navigation to antenna phase center (this can be in the vehicle frame or the IMU body frame, depending on the command used) and RBV (rotation from IMU body frame to vehicle frame).

Frame definition can be found at: https://docs.novatel.com/OEM7/Content/SPAN_Operation/Definition_Reference_Frames.htm

We can also set up for a brief call if this does not provide clear guidance. Please let me know.

@chinitaberrio
Copy link
Author

chinitaberrio commented Jun 30, 2023

Hi @novatel-applications-engineering

We're using the SPAN INS solution. We are still a bit confused about the /gps/fix frame's context. In our current configuration, we have not set up the position_source. Therefore, based on the driver's information:
position_source = "BESTPOS or INSPVAS based on quality"

According to the information provided, when the position_source is set to BESTPOS, the frame for /gps/fix should be 'gps'. However, when INSPVAS is used in GPS-denied areas, the frame should be 'imu'. However, we examined a recorded rosbag that captured an RTK signal at the beginning and entering a tunnel afterwards. We were expecting to observe a switch from the 'gps' frame to the 'imu' frame (in the header of gps/fix) when entering the tunnel, and it doesn’t happen. It is confusing when the driver does not provide the static transformation between all the frames, especially when it should have this information already. Furthermore, it does not make much sense to have a topic switching between different reference frames when the ROS driver already has knowledge of the transformations between them.

I'll be more than happy to jump on a video call :)! That would be very useful! please use my email: stephany.berrioperez@sydney.edu.au

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

No branches or pull requests

2 participants