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.
Connect to ROS or ROS 2 to prototype autonomous systems applications. Access hardware or simulators over a ROS network.
ROS Network Connection
Connect to and explore ROS or ROS 2 networks. Use introspection to list available topics and types. View a detailed structure of ROS messages.
Connecting to a ROS network
ROS Network Setup
Create and define your own ROS or ROS 2 network to communicate between different devices. Set up multiple ROS nodes to distribute tasks and information.
Example ROS 2 network.
Communicate with ROS nodes by passing messages.
Publishers and Subscribers
Send and receive ROS or ROS 2 messages using a topic with publish-subscribe semantics.
Simulink model for subscribing to sensor data and publishing wheel velocities.
Services and Actions
Use a client-server architecture to send requests, perform tasks, and get feedback in ROS applications.
Client-server interaction using ROS services and actions.
Use ROS parameter servers to store configuration options for multiple nodes and enable the dynamic reconfiguration of nodes.
Simulink model that queries and sets ROS parameters to control vehicle gear selection.
Work with messages to share information between ROS nodes. Use built-in messages or specify custom message definitions.
ROS Log Files (rosbags)
Import rosbag files to filter, visualize, and analyze logged data.
Workflow for ROS data selection from rosbag files.
Use a library of supported ROS message packages for your ROS applications.
Example of supported ROS messages.
Add new message types for your ROS or ROS 2 applications using custom message support.
Generating ROS 2 custom messages.
Deploy standalone ROS and ROS 2 nodes to your network.
Node Generation in Simulink
Generate C++ code for standalone applications that use ROS or ROS 2 functionality.
Generating a standalone ROS 2 node from Simulink. Explore gallery (6 images)
Use application examples to design, simulate, and deploy systems enabled by ROS and ROS 2 communication.