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), enabling you to create a network of ROS nodes. The toolbox includes MATLAB functions and Simulink blocks to import, analyze, and play back ROS data recorded in 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. ROS Toolbox supports C++ code generation (with Simulink Coder™), enabling you to automatically generate ROS nodes from a 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

Network Connection and Exploration

Set up and interact with ROS networks

Publishers and Subscribers

Create, send, and receive messages, topics, and network information

Services and Actions

Send requests, perform tasks, and get feedback for services and actions

ROS Log Files and Transformations

Analyze rosbags, transformation trees, and time series data

ROS Specialized Messages

Access messages from specialized sensors and inputs

ROS Custom Message Support

Create ROS custom messages

Code Generation and Deployment

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

ROS in Simulink

Access ROS networks and messages using Simulink

ROS Application Examples

Simulate ROS and Gazebo applications, connect to TurtleBot® hardware

ROS Toolbox Supported Hardware

Support for third-party hardware