Simulation using realistic unmanned aerial vehicle (UAV) scenarios and sensor models is a crucial part of testing UAV algorithms. UAV Toolbox provides two simulation environments in which to test these algorithms. Both environments have their uses, and one environment is not a replacement for the other.
In the cuboid simulation environment, vehicles and other platforms in the scenario are represented as simple box shapes, or for lidar applications, as polygon meshes. Use this environment to rapidly author scenarios or generate sensor data. Test controllers, tracking algorithms, and sensor fusion algorithms in both MATLAB® and Simulink®. To get started authoring a scenario, use the
In the Unreal Engine® simulation environment, scenarios are rendered using the Unreal Engine from Epic Games®. Use this environment to visualize scenarios using more realistic graphics; to generate high-fidelity radar, camera, and lidar sensor data; and to test perception-in-the-loop systems. This environment is available in Simulink and runs on Windows® only. To learn more, see Unreal Engine Simulation for Unmanned Aerial Vehicles.
|UAV Scenario Designer||Design UAV scenarios with terrain, platforms, and sensors (Since R2022a)|
UAV Cuboid Scenarios
|Mission data for UAV flight (Since R2022b)|
|Path planner for UAV space coverage (Since R2023a)|
|2D coverage area for coverage planner (Since R2023a)|
|Decompose concave polygon into convex polygons (Since R2023a)|
|Generate trajectory for multirotor UAV from mission (Since R2022b)|
|Multirotor UAV trajectory (Since R2022b)|
|Generate trajectory for fixed-wing UAV from mission (Since R2022b)|
|Fixed-wing UAV trajectory (Since R2022b)|
|Waypoint trajectory generator (Since R2019b)|
|Piecewise-polynomial trajectory generator (Since R2023a)|
|GPS receiver simulation model (Since R2020b)|
|Inertial navigation system and GNSS/GPS simulation model (Since R2020b)|
|Generate point clouds from meshes (Since R2020b)|
|Create sample implementation for UAV custom sensor interface (Since R2021a)|
|Custom UAV sensor interface (Since R2021a)|
|Find positions, orientations, velocities, angular velocities, and accelerations of targets relative to ego UAV platform (Since R2023b)|
|Define coordinate frames and relative transformations (Since R2020b)|
|Graph object representing tree structure (Since R2020b)|
|Get relative transform between frames (Since R2020b)|
|List all frame names and stored timestamps (Since R2020b)|
|Remove frame transform relative to its parent (Since R2020b)|
|Show transform tree (Since R2020b)|
|Update frame transform relative to its parent (Since R2020b)|
Unreal Engine Projects
|Interface to the Unreal Engine project (Since R2020b)|
|Access additional scenes from the server (Since R2022b)|
|Delete local maps downloaded from the server (Since R2022b)|
|Download maps from the server (Since R2022b)|
|List of locally available maps (Since R2022b)|
|List of maps available for download from the server (Since R2022b)|
|Copy support package files and plugins to specified folders (Since R2022b)|
UAV Mission Control and Visualization
Unreal Engine 3-D Simulation
|Simulation 3D UAV Vehicle||Place UAV vehicle in 3D visualization (Since R2020b)|
|Simulation 3D Scene Configuration||Scene configuration for 3D simulation environment (Since R2020b)|
|Simulation 3D Camera||Camera sensor model with lens in 3D simulation environment (Since R2020b)|
|Simulation 3D Lidar||Lidar sensor model in 3D simulation environment (Since R2020b)|
|Simulation 3D Fisheye Camera||Fisheye camera sensor model in 3D simulation environment (Since R2019b)|
|Simulation 3D Ultrasonic Sensor||Ultrasonic sensor model in 3D simulation environment (Since R2023a)|
|Video Send||Send video stream to remote hardware (Since R2021b)|
UAV Cuboid Scenario Simulation
|UAV Scenario Configuration||Configure and simulate UAV scenarios (Since R2021b)|
|UAV Scenario Get Transform||Get transforms from UAV scenario platforms (Since R2021b)|
|UAV Scenario Lidar||Simulate lidar measurements based on meshes in scenario (Since R2021b)|
|UAV Scenario Motion Read||Read platform and sensor motions from UAV scenario simulation (Since R2021b)|
|UAV Scenario Motion Write||Update platform motion in UAV scenario simulation (Since R2021b)|
|UAV Scenario Scope||Visualize UAV scenario and lidar point clouds (Since R2021b)|
Scenes and Vehicle Dimensions
- Unreal Engine Simulation for Unmanned Aerial Vehicles
Learn how to use unmanned aerial vehicle algorithms in Simulink and visualize their performance in a virtual environment using the Unreal Engine from Epic Games.
- Unreal Engine Simulation Environment Requirements and Limitations
When simulating in the Unreal Engine environment, keep these software requirements, minimum hardware requirements, and limitations in mind.
- How Unreal Engine Simulation for UAVs Works
Learn about the co-simulation framework between Simulink and the Unreal Engine and how block execution order affects simulation.
- Coordinate Systems for Unreal Engine Simulation in UAV Toolbox
Understand the world and UAV coordinate systems when simulating in the Unreal Engine environment.
Simulation with Sensors
- Simulate UAV Mission in Urban Environment
This example shows how to create and simulate a UAV mission in an urban environment in MATLAB® and Simulink® using the
uavScenarioobjects, as well as OpenStreetMap® (OSM) data from Manhattan, New York.
- Simulate IMU Sensor Mounted on UAV
Create a sensor adaptor for an
imuSensorfrom Navigation Toolbox™ and gather readings for a simulated UAV flight scenario.
- Simulate Radar Sensor Mounted On UAV
The radar sensor enables a UAV to detect other vehicles in the airspace, so that the UAV can predict other vehicle motion and make decisions to ensure clearance from other vehicles.
- Choose a Sensor for Unreal Engine Simulation
Decide which camera, or lidar sensors to use during 3D simulation with the Unreal Engine.
- Simulate Simple Flight Scenario and Sensor in Unreal Engine Environment
Visualize sensors in a simulation environment that uses Unreal Engine® from Epic Games®.
- Depth and Semantic Segmentation Visualization Using Unreal Engine Simulation
This example shows how to visualize depth and semantic segmentation data captured from a camera sensor in a simulation environment.
- Stream Camera, Depth and Semantic Segmentation Data from Unreal Engine to NVIDIA Jetson
This example shows how to stream simulated camera, depth, and semantic segmentation label data from an Unreal Engine® scene to NVIDIA® Jetson™ hardware using the Video Send block in Simulink®.
- Customize Unreal Engine Scenes for UAVs
Customize Unreal Engine scenes for UAV flight applications.
- Apply Semantic Segmentation Labels to Custom Scenes
Apply labels to objects in a scene so that you can obtain semantic segmentation data from a camera sensor.
- Prepare Custom UAV Vehicle Mesh for the Unreal Editor
Create custom vehicle mesh for the Simulation 3D UAV Vehicle block.