ROS Toolbox

 

ROS Toolbox

Design, simulate, and deploy ROS-based applications

Video length is 2:04

ROS and ROS 2 Networks

Connect to existing ROS or ROS 2 networks to prototype ROS-based applications. Design a network of ROS nodes for desktop simulation. Communicate with hardware using ROS messaging in MATLAB and Simulink.

Communication and Messaging

Send and receive ROS messages with publish-subscribe semantics. Use a client-server architecture to send requests, perform tasks, and receive feedback. Configure ROS nodes dynamically with ROS parameter servers.

Custom Messages

Create custom message definitions and use them to transmit information. Use your custom messages with publishers, subscribers, actions, and services. View, plot, and log custom message contents directly in MATLAB. Use ROS specialized messages to create and access sensor and data types using specific ROS and ROS 2 message types.

The Rosbag Viewer app showing six viewers in use to visualize different ROS messages simultaneously.

Rosbag Visualization

Use the ROS Bag Viewer app to playback and visualize multiple messages in a rosbag file simultaneously from MATLAB. Use the rosbag command line interface to write logs or to access, filter, visualize, and analyze logged data. Use rosbag files for simulation in MATLAB and Simulink.

Node Deployment

­Generate C++ code and deploy it to local or remote device targets as standalone ROS and ROS 2 nodes. Use CUDA-compatible ROS node generation to accelerate ROS-based AI applications. Generate C++ code for real-time ros_control plugins from controllers designed in Simulink.

Application Examples

Use reference application examples for ground robots, robot manipulators, UAVs, and autonomous vehicles to jumpstart the design, simulation, and deployment of your ROS-based systems.

ROS Toolbox FAQs

ROS Toolbox provides an interface connecting MATLAB and Simulink with the Robot Operating System (ROS and ROS 2) for designing, simulating, and deploying ROS-based applications – without requiring a separate ROS installation.

Yes, ROS Toolbox supports both ROS and ROS 2 networks, allowing you to connect to existing networks, design ROS nodes, and communicate with hardware or simulators.

Yes, ROS Toolbox supports C++ and CUDA code generation with MATLAB Coder, Simulink Coder, and GPU Coder to automatically generate deployable ROS nodes from MATLAB scripts or Simulink models. These nodes can be deployed and executed locally on the host machine or remotely on ROS-enabled hardware.

ROS Toolbox includes MATLAB functions, Simulink blocks, and the ROS Date Analyzer app to record, import, play back, visualize, and analyze data from rosbag files.

Yes, you can create custom message definitions and use them with publishers, subscribers, actions, and services, and view, plot, or log their contents directly in MATLAB.

You can connect to live ROS networks, external simulators like Gazebo and Nvidia Omniverse, or physical hardware to send and receive ROS messages and verify nodes. Simulink external mode lets you view messages and change parameters while your model runs on hardware.

ROS Toolbox supports publish-subscribe messaging, client-server architecture for requests and feedback, actions, and dynamic parameter configuration with ROS parameter servers.