Main Content

ROS Toolbox

Design, simulate, and deploy ROS-based applications

ROS Toolbox provides an interface connecting MATLAB® and Simulink® with the Robot Operating System (ROS and ROS 2). With the toolbox, you can design a network of ROS nodes and combine MATLAB or Simulink generated ROS nodes with your existing ROS network.

The toolbox includes MATLAB functions and Simulink blocks to visualize and analyze ROS data by recording, importing, and playing back rosbag files. You can also connect to a live ROS network to access ROS messages.

The toolbox lets you verify ROS nodes via desktop simulation and by connecting to external robot simulators such as Gazebo or to hardware. ROS Toolbox supports C++ and CUDA® code generation (with MATLAB Coder™, Simulink Coder, and GPU Coder™), enabling you to automatically generate ROS nodes from a MATLAB script or Simulink model and deploy to simulated or physical hardware. Support for Simulink external mode lets you view messages and change parameters while your model is running on hardware.

Get Started

Learn the basics of ROS Toolbox

Applications

Examples for simulation of ROS and ROS 2 applications in ROS-enabled simulators and supported hardware

Network Access

Connect to ROS 2 and ROS networks with MATLAB and Simulink

Custom Message Support

Generate ROS 2 and ROS custom messages and register them to MATLAB

Bag File Logging and Analysis

Import, visualize and analyze ROS 2 bag and ROS bag files

Specialized Messages

Access ROS 2 and ROS messages from specialized sensors and inputs

Node Generation and Deployment

Generate C/C++ and CUDA code for ROS 2 or ROS nodes and deploy to local and remote hardware

ROS Toolbox Supported Hardware

Support for third-party hardware