ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

What is the best way to replace ndt localization with gps localization in AutowareAuto?

asked 2021-07-10 08:53:17 -0500

asobhy gravatar image

updated 2021-07-18 19:22:57 -0500

I am planning on replacing ndt localization with rtk corrected gps localization for AutowareAuto release 1.0.0.

I see that there is a new package called gnss_conversion_nodes which is not in 1.0.0 and it converts WGS84 coordinates to ECEF then fills up a autoware_auto_msgs::msg::RelativePositionWithCovarianceStamped and publishes it. https://gitlab.com/autowarefoundation.... The published message contains position in 3D in ECEF earth coordinates but no orientation.

Also I have noticed that ndt based localization publishes pose as a geometry_msgs::msg::PoseWithCovarianceStamped which is not the same as autoware_auto_msgs::msg::RelativePositionWithCovarianceStamped which gnss_conversion_node publishes. Shouldnt the two msg types be the same so that gnss_conversion_nodes be a direct replacement of ndt_nodes?

Assuming we get gnss_conversion_nodes running, next step is to provide a static_transform_publisher to provide the conversion from ECEF earth coordinates to map coordinates similar to PCD map loader.

ros2 run tf2_ros static_transform_publisher x y z r p y earth map

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-07-15 07:18:50 -0500

asobhy gravatar image

updated 2021-07-16 11:39:34 -0500

Here is what I have done:

create a gps imu node. the node combines gps position and imu orientation into a geometry_msgs::msg::PoseWithCovarianceStamped then publishes this data. In addition to that the node also needs to publish the map to odom transform in order for the tf tree to be complete. the map to odom transform can be achieved through this set of transformations: map to earth then earth to base link then base link to odom, which are all already available through tf2_ros::BufferClient::lookupTransform

Additionally a static earth to map publisher needs to publish the tf, which is done from command line for now.

Just a heads up for anyone doing the same project the GPS data on LGSVL is not aligned properly and I have created an issue for it here https://github.com/lgsvl/simulator/is...

edit flag offensive delete link more

Comments

Hi, I had implemented the node according to your suggestions, it was really helpful. But one thing is not clear to me, is the lookupTransform capable of finding the /map->/odom transform by itself? Because in my implementaiton /earth->/base_link is not readily available as you have mentioned in your answer. Should I publish that transform using the GNSS data we get, if so would the orientation be IMU data directly received? It would be really helpful if you can shed some more light on the transforms part. Thank you.

sujithvemi gravatar image sujithvemi  ( 2021-12-28 09:14:51 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2021-07-10 08:53:17 -0500

Seen: 286 times

Last updated: Jul 16 '21