Design, simulate, and deploy algorithms for planning and navigation
Navigation Toolbox™ provides algorithms and analysis tools for designing motion planning and navigation systems. The toolbox contains customizable search and sampling-based path-planners. It also contains sensor models and algorithms for multi-sensor pose estimation. You can create 2D and 3D map representations using your own data or generate maps using the simultaneous localization and mapping (SLAM) algorithms included in the toolbox. Reference examples are provided for self-driving and robotics applications.
You can generate metrics for comparing path optimality, smoothness, and performance benchmarks. The SLAM map builder app lets you interactively visualize and debug map generation. You can test your algorithms by deploying them directly to hardware (with MATLAB Coder™ or Simulink Coder™).
Simultaneous Localization and Mapping (SLAM)
Implement SLAM algorithms with lidar scans using pose graph optimization. Use SLAM Map Builder app to find and modify loop closures. Build and export the resulting map as an occupancy grid.
Localization and Pose Estimation
Apply Monte Carlo Localization (MCL) to estimate the position and orientation of a vehicle using sensor data and a map of the environment.
Estimate pose of nonholonomic and aerial vehicles using inertial sensors and GPS. Determine pose without GPS by fusing inertial sensors with altimeters or visual odometry.
2D and 3D Map Representations
Create a binary or probabilistic occupancy grid using real or simulated sensor readings. Use egocentric maps that are fast to query and memory efficient.
Use sampling-based path planners such as Rapidly-Exploring Random Tree (RRT) and RRT* to find a path from start to goal locations. Adapt the planner interface to your application’s state space. Use Dubins and Reeds-Shepp motion primitives to create smooth, drivable paths.
Metrics for Path Planning
Use metrics to validate paths for smoothness and clearance from obstacles. Choose the best path using numerical and visual comparisons.
Path Following and Controls
Tune control algorithms to follow a planned path. Compute steering and velocity commands using vehicle motion models. Avoid obstacles with algorithms such as vector field histogram.
Model IMU, GPS, and INS sensors. Tune parameters such as temperature and noise to emulate real-world conditions. Estimate distances to objects using range sensors and measure vehicle motion with odometry sensors.
Sensor Motion Simulation
Plot a vehicle’s orientation, velocity, trajectories, and sensor measurements. Generate trajectories to emulate sensors traveling through the world. Export trajectories to external simulators or to a scenario designer.
Generate C/C++ code for Monte Carlo Localization, Trajectory Optimization (trajectoryOptimalFrenet object) and Sampling-based planners such as RRT, RRT* and Hybrid A*
IMU and AHRS Simulink Blocks
Model inertial measurement unit using IMU Simulink block and estimate device orientation using AHRS Simulink block
Ray Intersections for 3-D Maps
Calculate ray intersections, import, and export with a 3-D occupancy map
New Time Scope object
Visualize real- and complex-valued floating-point and fixed-point signals in the time domain
Trajectory Optimization Improvements
Specify longitudinal segments, deviation offsets, and additional waypoint parameters
Contact Mihir, Navigation Toolbox Technical Expert