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

ROS Network Access

Connect to ROS networks with MATLAB and Simulink

ROS 2 Network Access

Connect to ROS 2 networks with MATLAB and Simulink

ROS Bag File Logging and Analysis

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

ROS Specialized Messages

Access messages from specialized sensors and inputs

ROS Custom Message Support

Create ROS and ROS 2 custom messages

ROS Node Generation and Deployment

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

ROS 2 Node Generation and Deployment

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

ROS Application Examples

Simulate ROS and Gazebo applications, connect to TurtleBot® hardware

ROS Toolbox Supported Hardware

Support for third-party hardware