1 # Copyright (c) 2018-2021 NVIDIA CORPORATION. All rights reserved.
3 @page dwx_samples_section Samples
7 NVIDIA<sup>®</sup> DriveWorks SDK includes samples that you can use as a starting point for
8 developing, porting, and optimizing your applications. These samples are provided
9 as source code that you can modify to meet specific use cases, such as
10 the use of third-party sensors, custom rendering steps, etc.
12 You can use the as-delivered sample applications without compiling or loading them. If you installed DriveWorks on the target, those sample applications are ready to execute. If you need to build the samples from source, please refer to Building DriveWorks Samples.
14 The samples use included data files by default if no other file is specified at execution. These data files are short in length, and the default samples are not to be considered as thorough demonstrations.
16 #### Precompiled samples can be found under:
18 /usr/local/driveworks/bin
20 #### The source code can be found under:
22 /usr/local/driveworks/samples/src
24 @note If you experience a permissions error when entering the
25 command to run a sample, re-enter the command preceded with `sudo`.<br>
26 This generally happens when the sample tries to write an output file under `/usr/local`.
28 In addition to the parameters described in each sample's documentation, the following
29 options are also available:
32 Allows to disable rendering.
36 When set to 1, enables sample profiling.
37 Otherwise, profiling is disabled.
40 @section dwx_introductory_samples_group Introductory Samples
42 | Sample | Description|
43 |--------|-----------|
44 | @ref dwx_hello_world_sample | Initializes the DriveWorks SDK context and accesses GPU properties. |
46 @section dwx_sensor_abstraction_layer Sensor Abstraction Layer Samples
48 @subsection dwx_camera_sensor_samples_group Camera Samples
50 | Sample | Description|
51 |--------|-----------|
52 | @ref dwx_camera_usb_sample | Displays videos captured from generic USB cameras. |
53 | @ref dwx_camera_sample | Displays and records a video setup utilizing the SIPL framework with custom cameras. |
54 | @ref dwx_camera_replay_sample | Uses a hardware decoder to playback and display an H.264 video stream. |
55 | @ref dwx_camera_seek_sample | Demonstrates how to replay a video and seek to any point in the video. |
56 | @ref dwx_cameraserver_client_sample | Displays input from the first camera within the selected camera group on a specific port. |
57 | @ref dwx_cameraserver_client_raw_sample | Displays the raw input from the first camera within the selected camera group on a specific port. |
59 @subsection dwx_other_sensor_samples_group Other Sensor Samples
61 | Sample | Description|
62 |--------|-----------|
63 | @ref dwx_sensor_enum_sample | Enumerates all available sensors drivers in the SDK. |
64 | @ref dwx_canbus_message_sample | Uses a DBC interpreter to decode and display CAN messages. |
65 | @ref dwx_canbus_logger_sample | Displays messages from the CAN bus. |
66 | @ref dwx_canbus_plugin_sample | Implements a driver for a CAN-based CAN sensor. |
67 | @ref dwx_gps_loc_sample | Displays messages from GPS devices. |
68 | @ref dwx_gps_plugin_sample | Implements a driver for a CAN-based GPS sensor. |
69 | @ref dwx_imu_loc_sample | Displays messages from IMU sensor. |
70 | @ref dwx_imu_plugin_sample | Implements a driver for a CAN-based IMU sensor. |
71 | @ref dwx_lidar_replay_sample | Displays the 3D point cloud from the Lidar. |
72 | @ref dwx_radar_replay_sample | Connects to a Radar and displays the generated 3D point cloud. |
73 | @ref dwx_record_sample | Records data from CAN, GPS, Lidar, or Radar sensors. |
74 | @ref dwx_time_sensor_sample | Performs time synchronization on lidar data. |
75 | @ref dwx_data_sensor_sample | Reads time/socket data, printing timestamps and sizes for retrieved packets. |
77 @section dwx_vehicle_samples_group Vehicle and Motion Actuation Samples
79 | Sample | Description|
80 |--------|-----------|
81 | @ref dwx_rig_sample | Reads the rig configuration from the XML file produced by the DriveWorks @ref dwx_calibration_graph_to_rig tool. |
82 | @ref dwx_egomotion_sample | Uses steering angle and velocity CAN measurements to compute the position of the car in the world coordinate system. |
83 | @ref dwx_vehicleio_sample | Controls the vehicle (steering/throttle/brakes) and reads the vehicle's state. |
84 | @ref dwx_vehicleio_plugin_sample | Demonstrates how to write a fully customized drive-by-wire abstraction. |
85 | @ref dwx_dataspeedBridge_sample | Demonstrates how to convert CAN signals sent and received from a dataspeed drive-by-wire system, to a generic NVIDIA-defined CAN bus format. |
87 @section dwx_image_processing_samples_group Image Processing Samples
89 | Sample | Description|
90 |--------|-----------|
91 | @ref dwx_imagetransformation | Demonstrates basic image processing functionalities. |
92 | @ref dwx_camera_color_correction_sample | Demonstrates H.264 video playback with color correction. |
93 | @ref dwx_image_capture_sample | Demonstrates how to record a video from a CUDA image or a rendering video. |
94 | @ref dwx_image_streamer_cross_sample | Demonstrates how to use an image streamer across multiple processes. |
95 | @ref dwx_image_streamer_multi_sample | Demonstrates how to use an image streamer in a multi-thread environment. |
96 | @ref dwx_image_streamer_simple_sample | Demonstrates how to use an image streamer in a simple environment. |
97 | @ref dwx_video_rectifier_sample | Removes fisheye distortion from a video captured on a camera with a fisheye lens using DW's CUDA implementation. |
98 | @ref dwx_video_rectifierLDC_sample | Removes fisheye distortion from a video captured on a camera with a fisheye lens using NvMedia LDC. |
99 | @ref dwx_stereo_disparity_sample | Demonstrates the stereo pipeline, and how to produce a confidence map and final stereo output. |
100 | @ref dwx_stereo_disparity_pva_sample | Demonstrates the stereo pipeline running on multiple hardware engines. |
101 | @ref dwx_connected_components_sample | Demonstrates the connected components labeling algorithm. |
102 | @ref dwx_image_pyramid_pva_sample | Demonstrates the image pyramid creation pipeline on Programmable Vision Accelerator. |
103 | @ref dwx_denseopticalflow_sample | Demonstrates how to estimate motion vectors across different hardware units. |
104 | @ref dwx_feature_tracker_sample | Demonstrates feature detection and feature tracking capabilities using the @ref imageprocessing_features_mainsection module. |
105 | @ref dwx_fast9_feature_detector_sample | Demonstrates feature detection capabilities using the FAST9 algorithm. |
106 | @ref dwx_template_tracker_sample | Demonstrates template tracking capabilities using the @ref imageprocessing_tracking_mainsection module. |
107 | @ref dwx_struct_from_motion_sample | Demonstrates triangulation by estimating a car pose from CAN data using the @ref egomotion_mainsection module. |
109 @section dwx_pcloud_processing_samples_group Point Cloud Processing Samples
111 | Sample | Description|
112 |--------|-----------|
113 | @ref dwx_pointcloudprocessing_sample | Demonstrates how to use point cloud processing APIs for primitive processing. |
114 | @ref dwx_sample_icp | Displays a composite image of sequential ICP transforms derived from Lidar data. |
116 @section dwx_dnn_samples_group Deep Neural Network (DNN) Framework Samples
118 | Sample | Description|
119 |--------|-----------|
120 | @ref dwx_dnn_plugin_sample | Demonstrates DNN inference to classify a hand-written digit, using an MNIST model with a custom layer implemented as a plugin. |
121 | @ref dwx_object_detector_tracker_sample | Demonstrates object detection and tracking for each frame in a video stream. |
122 | @ref dwx_sample_dnn_tensor | Demonstrates object detection using NVIDIA<sup>®</sup> TensorRT<sup>&tm;</sup>. |
124 @section dwx_calibration_samples_group Calibration Samples
126 | Sample | Description|
127 |--------|-----------|
128 | @ref dwx_camera_calibration_sample | Demonstrates the ability to estimate camera extrinsics using the DriveWorks Calibration Engine. |
129 | @ref dwx_imu_calibration_sample | Demonstrates the ability to estimate IMU extrinsics using the DriveWorks Calibration Engine. |
130 | @ref dwx_lidar_calibration_sample | Demonstrates the ability to estimate Lidar extrinsics using the DriveWorks Calibration Engine. |
131 | @ref dwx_radar_calibration_sample | Demonstrates the ability to estimate Radar extrinsics using the DriveWorks Calibration Engine. |
132 | @ref dwx_stereo_calibration_sample | Demonstrates the ability to estimate Stereo extrinsics using the DriveWorks Calibration Engine. |
133 | @ref dwx_vehicle_steering_calibration_sample | Demonstrates the ability to estimate vehicle steering offset using the DriveWorks Calibration Engine. |
135 @section dwx_communication_samples_group Communication Samples
137 | Sample | Description|
138 |--------|-----------|
139 | @ref dwx_ipc_socketclientserver_sample | Demonstrates simple IPC functionalities using network sockets. |
141 @section dwx_utility_samples_group Utility Samples
143 | Sample | Description|
144 |--------|-----------|
145 | @ref dwx_renderer_sample | Demonstrates rendering helpers which help render text, points, lines, triangles, and textures in 2D and 3D for debug visualization. |
146 | @ref dwx_render_engine_sample | Demonstrates how to draw points, lines, triangles, ellipses, boxes, arrows, plots, grids, and images in 2D and 3D. |
149 @section dwx_perception_samples_group Perception Samples
151 | Sample | Description|
152 |--------|-----------|
153 | @ref dwx_drivenet_sample | Demonstrates 2D object tracking with @ref imageprocessing_features_mainsection. |
154 | @ref dwx_freespace_detection_sample | Demonstrates the detection from collision-free space in the road scenario. |
155 | @ref dwx_landmark_detection_sample | Demonstrates landmark detection with MapNet. |
156 | @ref dwx_landmark_perception_sample | Demonstrates landmark detection on the road with MapNet. |
157 | @ref dwx_parknet_sample | Demonstrates parking space detection with ParkNet DNN. |
158 | @ref dwx_path_perception_sample | Demonstrates ego-path, as well as left and right adjacent paths detection. |
159 | @ref dwx_pilotnet_sample | Demonstrates prediction of paths for maneuvers in world space coordinates. |
160 | @ref dwx_roadmark_classification_sample | Demonstrates classification of road markings on the road with RoadMarkNet. |
161 | @ref dwx_light_classification_sample | Demonstrates detection of traffic lights facing the ego car. |
162 | @ref dwx_sample_intersection_detector | Demonstrates detection of intersections using WaitNet. |
163 | @ref dwx_sign_classification_sample | Demonstrates detection of traffic signs facing the ego car. |
164 | @ref dwx_clearsightnet_sample | Demonstrates DNN inference on live camera feed or H.264 videos, evaluating each frame to detect blindness. |
165 | @ref dwx_lightsourceperception_sample | Demonstrates DNN inference on live camera feed or H.264 videos, deciding whether vehicle high beam should be turn on/off. |
167 @section dwx_maps_samples_group Mapping Samples
169 | Sample | Description|
170 |--------|-----------|
171 | @ref dwx_hd_map_access_sample | Demonstrates how to access map data from the maps module. |
172 | @ref dwx_map_tracker_sample | Demonstrates tracking a car pose on an HD map for robust access to the current HD maps lane. |
173 | @ref dwx_maps_localization_sample | Uses the HD map based localization module to update an estimate of the current car location within the map. |
175 @section dwx_planning_control_samples_group Planning Samples
177 | Sample | Description|
178 |--------|-----------|
179 | @ref dwx_lane_planner_sample | Demonstrates how to plan which lanes to follow in order to get from a starting point to a destination. |
180 | @ref dwx_safetyforcefield_sample | Demonstrates how to check and correct a desired control for obstacle avoidance safety. |
182 @note For detailed instructions on building the samples from source, please refer to @ref dwx_samples_building.