AWSIM w/ Openscenario Loads Ego, Npc1, and Route but Does Not Begin Path
Hi,
I am trying to use AWSIM 2.0.0, main branch of Autoware, and Openscenario.
I was successful in running both demos, with and without openscenario and the Shinjuku Map.
I created my own map, and was successful in autonomously driving with the demo without openscenario, but not with openscenario.
I struggled with localization, thus I changed the localization method, now autoware initializes with openscenario. I see the path plan in Rviz, but the SV does not navigate.
Specifically I changed yabloc under tier4 localization xml (seen below):
I am using the demo yaml file, just changing the laneID and S parameter to position it correctly with map.
Here is the yaml file I am using:
Here is a photo of rviz and AWSIM:
Here is the command I am using:
source install/setup.bash
ros2 launch scenario_test_runner scenario_test_runner.launch.py \
architecture_type:=awf/universe/20250130 \
record:=false \
scenario:='/home/vrtc60/Desktop/sample_awsim_trc.yaml' \
sensor_model:=awsim_sensor_kit \
vehicle_model:=sample_vehicle \
launch_simple_sensor_simulator:=false \
autoware_launch_file:="e2e_simulator.launch.xml" \
initialize_duration:=260 \
port:=8080 \
use_custom_centerline:=false
Here is the terminal output after running the above command:
I am also trying to see what ros2 is capturing:
vrtc60@pop-os:~/Desktop/autoware_45/autoware$ ros2 topic list | grep autoware
/api/autoware/get/emergency
/api/autoware/get/engage
/api/autoware/get/map/info/hash
/api/autoware/get/observer
/api/autoware/get/operator
/api/autoware/get/rosbag_logging_mode
/api/autoware/get/velocity_limit
/api/iv_msgs/autoware/state
/autoware/engage
/autoware/state
/awapi/autoware/get/route
/awapi/autoware/get/status
/control/autoware_operation_mode_transition_manager/debug_info
vrtc60@pop-os:~/Desktop/autoware_45/autoware$ ros2 topic echo /autoware/state
stamp:
sec: 1761138112
nanosec: 740268256
state: 3
---
stamp:
sec: 1761138112
nanosec: 840282125
state: 3
---
stamp:
sec: 1761138112
nanosec: 940372800
state: 3
---
If anyone knows any further debugging steps to help address this, please let me know.
Thanks, -Cole
Update: I cloned autoware 0.45.1 and updated simulator/scenario_simulator: version: 16.6.1 and rebuilt. The behavior is the same.
I believe this issue is stemming from poor sensor health. I have changed back to ndt localization to see what the errors are.
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] [INFO] [localization.util.pose_initializer]: EKF triggering service is available! (wait_for_service() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_pose_initializer/src/ekf_localization_trigger_module.cpp:38)
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] [INFO] [localization.util.pose_initializer]: EKF Deactivation succeeded (send_request() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_pose_initializer/src/ekf_localization_trigger_module.cpp:67)
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] [INFO] [localization.util.pose_initializer]: NDT triggering service is available! (wait_for_service() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_pose_initializer/src/ndt_localization_trigger_module.cpp:38)
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] [INFO] [localization.util.pose_initializer]: NDT Deactivation succeeded (send_request() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_pose_initializer/src/ndt_localization_trigger_module.cpp:67)
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] [INFO] [localization.util.pose_initializer]: fit_target: pointcloud_map, frame: map (fit() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/map/autoware_map_height_fitter/src/map_height_fitter.cpp:221)
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] Failed to find match for field 'x'.
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] Failed to find match for field 'y'.
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] Failed to find match for field 'z'.
[openscenario_interpreter_node-2] [autoware_pose_initializer_node-41] [INFO] [localization.util.pose_initializer]: Call align server. (align_pose() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_pose_initializer/src/localization_module.cpp:49)
[openscenario_interpreter_node-2] [autoware_ndt_scan_matcher_node-39] [ERROR] [localization.pose_estimator.ndt_scan_matcher]: update_ndt failed. If this happens with initial position estimation, make sure that(1) the initial position matches the pcd map and (2) the map_loader is working properly. (update_map() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_ndt_scan_matcher/src/map_update_module.cpp:177)
[openscenario_interpreter_node-2] [autoware_ndt_scan_matcher_node-39] [WARN] [localization.pose_estimator.ndt_scan_matcher]: No InputTarget. Please check the map file and the map_loader service (service_ndt_align_main() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_ndt_scan_matcher/src/ndt_scan_matcher_core.cpp:1045)
[openscenario_interpreter_node-2] [service_log_checker_node-6] [ERROR] [system.service_log_checker]: /api/localization/initialize: status code 4 'align server failed.' (/localization/util/default_adapi/helpers/autoware_automatic_pose_initializer) (set_error() at /home/vrtc60/Desktop/autoware_45/autoware/src/universe/autoware_universe/common/autoware_component_interface_tools/src/service_log_checker.cpp:86)
[openscenario_interpreter_node-2] [autoware_ekf_localizer_node-43] [WARN] [localization.pose_twist_fusion_filter.ekf_localizer]: The node is not activated. Provide initial pose to pose_initializer (warn_throttle() at /home/vrtc60/Desktop/autoware_45/autoware/src/core/autoware_core/localization/autoware_ekf_localizer/include/autoware/ekf_localizer/warning.hpp:37)
[openscenario_interpreter_node-2] [component_container_mt-1] [WARN] [sensing.lidar.concatenate_data]: transformed_raw_points[/sensing/lidar/right/pointcloud_before_sync] is nullptr, skipping pointcloud publish. (publish_clouds() at /home/vrtc60/Desktop/autoware_45/autoware/src/universe/autoware_universe/sensing/autoware_pointcloud_preprocessor/include/autoware/pointcloud_preprocessor/concatenate_data/concatenate_and_time_sync_node.ipp:326)
Comparing with the shinjuku map set up for the demo, I am missing the step to import the map like it is provided in the demo. I would really appreciate some guidance on this topic. @mackierx111 please let me know your thoughts. If you need the map files, please send me a message on discord and I will link them. My discord is: ackermann_angle , and I am in the autoware discord as well.
Hi,
I was able to solve this by ensuring my MGRS position was correct and updating to AWSIM 2.0.1.
If you are building your own PCD, ensure the local XYZ values are the same as the MGRS grid zone you are working in. My PCD was only referenced off of a local origin, I had to create a python code to translate the local origin in regards to the MGRS origin for the grid zone my map is in.
Additionally, to fix the many issues with ROS, I had to update to AWSIM 2.0.1, and that permitted my map to work as intended.