Carma-platform v4.2.0
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
visualize_xodr Namespace Reference

Variables

string xodr_file_path = "xodr_map.xodr"
 
 tree = ET.parse(xodr_file_path)
 
 root = tree.getroot()
 
 fig
 
 ax
 
 figsize
 
 road_name = road.get("name", "")
 
 x = float(geometry.get("x"))
 
 y = float(geometry.get("y"))
 
 hdg = float(geometry.get("hdg"))
 
 length = float(geometry.get("length"))
 
 dx = length * np.cos(hdg)
 
 dy = length * np.sin(hdg)
 
 head_width
 
 length_includes_head
 
 fontsize
 

Detailed Description

Purpose:
This script parses an OpenDRIVE (.xodr) map file and visualizes the basic road geometries using matplotlib.

Key Features:

- Loads and parses an .xodr file using xml.etree.ElementTree.
- Extracts position, heading, and length for each road geometry segment.
- Plots each road segment as an arrow on a 2D plane.
- Optionally overlays road names on the visualization for identification.

Use Case:
Quick inspection and debugging of road layouts from .xodr files in a readable 2D plot.

Variable Documentation

◆ ax

visualize_xodr.ax

Definition at line 31 of file visualize_xodr.py.

◆ dx

visualize_xodr.dx = length * np.cos(hdg)

Definition at line 43 of file visualize_xodr.py.

Referenced by approximate_intersection::LookupGrid< PointT >.LookupGrid(), lci_strategic_plugin::LCIStrategicPlugin.boundary_accel_cruise_maxspeed_decel(), lci_strategic_plugin::LCIStrategicPlugin.boundary_accel_nocruise_maxspeed_decel(), lci_strategic_plugin::LCIStrategicPlugin.boundary_accel_nocruise_notmaxspeed_decel(), lci_strategic_plugin::LCIStrategicPlugin.boundary_accel_or_decel_complete_upper(), lci_strategic_plugin::LCIStrategicPlugin.boundary_accel_or_decel_incomplete_upper(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_cruise_minspeed(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_cruise_minspeed_accel(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_cruise_minspeed_decel(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_incomplete_lower(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_nocruise_minspeed_accel_complete(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_nocruise_minspeed_accel_incomplete(), lci_strategic_plugin::LCIStrategicPlugin.boundary_decel_nocruise_notminspeed_accel(), trajectory_visualizer::TrajectoryVisualizer.callbackPlanTrajectory(), stop_and_wait_plugin::StopandWait.compose_trajectory_from_centerline(), mobilitypath_visualizer::anonymous_namespace{mobilitypath_visualizer.cpp}.compute_2d_distance(), carma_wm_ctrl::WMBroadcaster.createLinearInterpolatingLinestring(), approaching_emergency_vehicle_plugin::ApproachingEmergencyVehiclePlugin.filter_points_ahead(), platooning_strategic_ihp::PlatooningStrategicIHPPlugin.findLaneWidth(), lci_strategic_plugin::LCIStrategicPlugin.get_boundary_traj_params(), yield_plugin::YieldPlugin.get_predicted_velocity_at_time(), yield_plugin::YieldPlugin.get_relative_downtracks(), platooning_control::PlatooningControlPlugin.get_trajectory_speed(), lci_strategic_plugin::LCIStrategicPlugin.get_ts_case(), mobilitypath_visualizer::MobilityPathVisualizer.matchTrajectoryTimestamps(), yield_plugin::YieldPlugin.max_trajectory_speed(), basic_autonomy::waypoint_generation.optimize_speed(), carma_wm::geometry.point_to_point_yaw(), lci_strategic_plugin::LCIStrategicPlugin.ts_case1(), lci_strategic_plugin::LCIStrategicPlugin.ts_case2(), lci_strategic_plugin::LCIStrategicPlugin.ts_case3(), lci_strategic_plugin::LCIStrategicPlugin.ts_case4(), lci_strategic_plugin::LCIStrategicPlugin.ts_case5(), lci_strategic_plugin::LCIStrategicPlugin.ts_case6(), lci_strategic_plugin::LCIStrategicPlugin.ts_case7(), lci_strategic_plugin::LCIStrategicPlugin.ts_case8(), and yield_plugin::YieldPlugin.update_traj_for_cooperative_behavior().

◆ dy

◆ fig

visualize_xodr.fig

Definition at line 31 of file visualize_xodr.py.

◆ figsize

visualize_xodr.figsize

Definition at line 31 of file visualize_xodr.py.

◆ fontsize

visualize_xodr.fontsize

Definition at line 49 of file visualize_xodr.py.

◆ hdg

visualize_xodr.hdg = float(geometry.get("hdg"))

Definition at line 40 of file visualize_xodr.py.

◆ head_width

visualize_xodr.head_width

Definition at line 46 of file visualize_xodr.py.

◆ length

visualize_xodr.length = float(geometry.get("length"))

Definition at line 41 of file visualize_xodr.py.

Referenced by carma_wm::test.buildGuidanceTestMap().

◆ length_includes_head

visualize_xodr.length_includes_head

Definition at line 46 of file visualize_xodr.py.

◆ road_name

visualize_xodr.road_name = road.get("name", "")

Definition at line 35 of file visualize_xodr.py.

◆ root

visualize_xodr.root = tree.getroot()

Definition at line 29 of file visualize_xodr.py.

◆ tree

visualize_xodr.tree = ET.parse(xodr_file_path)

Definition at line 28 of file visualize_xodr.py.

◆ x

visualize_xodr.x = float(geometry.get("x"))

Definition at line 38 of file visualize_xodr.py.

◆ xodr_file_path

string visualize_xodr.xodr_file_path = "xodr_map.xodr"

Definition at line 27 of file visualize_xodr.py.

◆ y

visualize_xodr.y = float(geometry.get("y"))

Definition at line 39 of file visualize_xodr.py.