Main Content

Scenario Simulation

Author scenes, generate sensor data, test algorithms in simulated environments

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 distinct 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 uavScenario object.

  • In the Unreal Engine® simulation environment (requires Simulink 3D Animation™), 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.

Acknowledgements

Apps

UAV Scenario DesignerDesign UAV scenarios with terrain, platforms, and sensors (Since R2022a)

Functions

expand all

uavScenarioGenerate UAV simulation scenario (Since R2020b)
uavSensorSensor for UAV scenario (Since R2020b)
uavPlatformUAV platform for sensors and winds in scenarios (Since R2020b)
extendedObjectMeshMesh representation of extended object (Since R2020b)
uavMissionMission data for UAV flight (Since R2022b)
uavCoveragePlannerPath planner for UAV space coverage (Since R2023a)
uavCoverageSpace2D coverage area for coverage planner (Since R2023a)
coverageDecompositionDecompose concave polygon into convex polygons (Since R2023a)
multirotorMissionParserGenerate trajectory for multirotor UAV from mission (Since R2022b)
multirotorFlightTrajectoryMultirotor UAV trajectory (Since R2022b)
fixedwingMissionParserGenerate trajectory for fixed-wing UAV from mission (Since R2022b)
fixedwingFlightTrajectoryFixed-wing UAV trajectory (Since R2022b)
waypointTrajectoryWaypoint trajectory generator
polynomialTrajectoryPiecewise-polynomial trajectory generator (Since R2023a)
gpsSensorGPS receiver simulation model (Since R2020b)
insSensorInertial navigation system and GNSS/GPS simulation model (Since R2020b)
uavLidarPointCloudGeneratorGenerate point clouds from meshes (Since R2020b)
createCustomSensorTemplateCreate sample implementation for UAV custom sensor interface (Since R2021a)
uav.SensorAdaptorCustom UAV sensor interface (Since R2021a)
targetPosesFind positions, orientations, velocities, angular velocities, and accelerations of targets relative to ego UAV platform (Since R2023b)
uavWindSteadyGenerate steady wind for UAV platform (Since R2024a)
uavWindGustGenerate wind gust for UAV platform (Since R2024a)
uavWindTurbulenceGenerate wind turbulence for UAV platform with discretized Von Kármán velocity spectra (Since R2024a)
transformTreeDefine coordinate frames and relative transformations (Since R2020b)
getGraphGraph object representing tree structure (Since R2020b)
getTransformGet relative transform between frames (Since R2020b)
infoList all frame names and stored timestamps (Since R2020b)
removeTransformRemove frame transform relative to its parent (Since R2020b)
showShow transform tree (Since R2020b)
updateTransformUpdate frame transform relative to its parent (Since R2020b)
copyExampleSim3dProjectCopy support package files and plugins to specified folders (Since R2022b)
sim3d.EditorInterface to the Unreal Engine project (Since R2020b)
sim3d.maps.MapAccess additional scenes from the server (Since R2022b)
sim3d.environment.GeospatialConfigurationCreate 3D environment in Unreal Engine (Since R2024b)

Blocks

expand all

Guidance ModelReduced-order model for UAV
UAV AnimationAnimate UAV flight path using translations and rotations
Path ManagerCompute and execute a UAV autonomous mission (Since R2020b)
Simulation 3D UAV VehiclePlace UAV vehicle in 3D visualization (Since R2020b)
Simulation 3D Scene ConfigurationScene configuration for 3D simulation environment (Since R2020b)
Simulation 3D CameraCamera sensor model with lens in 3D simulation environment (Since R2020b)
Simulation 3D Fisheye CameraFisheye camera sensor model in 3D simulation environment
Simulation 3D LidarLidar sensor model in 3D simulation environment (Since R2020b)
Simulation 3D Ultrasonic SensorUltrasonic sensor model in 3D simulation environment (Since R2023a)
Video SendSend video stream to remote hardware (Since R2021b)
GPSSimulate GPS sensor readings with noise (Since R2021b)
INSSimulate INS sensor (Since R2021b)
UAV Scenario ConfigurationConfigure and simulate UAV scenarios (Since R2021b)
UAV Scenario Get TransformGet transforms from UAV scenario platforms (Since R2021b)
UAV Scenario LidarSimulate lidar measurements based on meshes in scenario (Since R2021b)
UAV Scenario Motion ReadRead platform and sensor motions from UAV scenario simulation (Since R2021b)
UAV Scenario Motion WriteUpdate platform motion in UAV scenario simulation (Since R2021b)
UAV Scenario ScopeVisualize UAV scenario and lidar point clouds (Since R2021b)

Scenes and Vehicle Dimensions

expand all

US City BlockUS city block Unreal Engine environment
Suburban sceneSuburban Unreal Engine environment
QuadrotorQuadrotor vehicle dimensions
Fixed Wing AircraftFixed wing aircraft dimensions

Topics

Simulation Basics

Simulation with Sensors

Scene Customization

Featured Examples