I will answer about "how wf_simulator localizes with gnss".
In the wf_simulator
, the GNSS info is used for the initialization as a code, but in fact, it is used to move the vehicle position by GNSS in the simulation.
By connecting the GNSS to the wf_simulator
, the vehicle position is constantly updated when the GNSS data is received. This will drive the simulator and some topics that other Autoware modules need is published (e.g. /current_pose
, current_velocity
, vehicle_status
, and TF from map to base_link).
The following is how to connect the GNSS data to the wf_sinulator
.
- launch the runtime manager.
- setup data (load pcd map, vector map, TF (world_to_map and baselink_to_localizer). Please follow the ROSBAG Demo document.
- run the Rviz and select the autoware config file following the document.
- run the rosbag including the gnss data (the
sample_moriyama_150324.bag
of the ROSBAG demo includes /nmea_sentence
topic) - run the
nmea2tfpose
node in the runtime manager. (with the sample_moriyama_150324.bag
, you need click the [app] button and select the 7
for the Plane number.) Then, the nmea2tfpose
node starts and publishes the /gnss_pose
topic. - run the
wf_simulator
in the runtime manager with initialize source being GNSS
(select on [app] window).
Then, you will see the lidar sensor data is visualized on the Rviz (not as well localized as the NDT).
If you want to use the GNSS data with only for the initialization, you need to stop publishing the /gnss_pose
after initialization is done (just kill the node by clicking the checkbox again).
I hope this would be helpful for you.
@mitsudome-r I know you're familiar with
wf_simulator
- can you help here? I'm pretty sure that localizing using only GNSS is a separate issue fromwf_simulator
but I haven't used AI recently enough to be confident.