ROS Toolbox enables you to connect to ROS and ROS 2 in Simulink and send messages over the network. See Get Started with ROS in Simulink®.
You can also generate and deploy code to a target system. For an advanced example on creating a standalone ROS node, see Generate a Standalone ROS 2 Node from Simulink®.
To run, stop, or check the status of deployed ROS nodes available on a ROS device,
use the MATLAB® functions listed. Create a connection to a ROS device using rosdevice
.
ROS Simulink Support and Limitations
The ROS Toolbox does not support the following ROS features in Simulink:
Get Started with ROS in Simulink®
This example shows how to use Simulink blocks for ROS to send and receive messages from a local ROS network.
Configure ROS Network Addresses
Configure ROS Network Addresses Dialog
Connect to a ROS-enabled Robot from Simulink®
You can use Simulink to connect to a ROS-enabled physical robot or to a ROS-enabled robot simulator such as Gazebo.
Details for setting ROS parameters in Simulink.
Parameters for connecting to a ROS device.
Simulink and ROS Interaction Overview
Work with ROS Messages in Simulink®
This example illustrates how to work with complex ROS messages in Simulink, such as messages with nested sub-messages and variable-length arrays.
Select ROS Topics, Messages, and Parameters
Dialog box descriptions for selection ROS topics and messages.
Manage Array Sizes for ROS Messages in Simulink
Description of dialog box for managing array sizes in Simulink ROS
Get Started with ROS 2 in Simulink®
This example shows how to use Simulink blocks for ROS 2 to send and receive messages from a local ROS 2 network.
Publish and Subscribe to ROS 2 Messages in Simulink
This model shows how to publish and subscribe to a ROS 2 topic using Simulink®.
Connect to a ROS-enabled Robot from Simulink® over ROS 2
This example shows you how to configure a Simulink model to send and receive information from a separate ROS-based simulator such as Gazebo® over ROS 2.
Generate a Standalone ROS Node from Simulink®
This example shows you how to generate and build a standalone ROS node from a Simulink model.
Generate a Standalone ROS 2 Node from Simulink®
This example shows you how to generate and build a standalone ROS 2 node from a Simulink® model.
Feedback Control of a ROS-enabled Robot over ROS 2
This example shows you how to use Simulink® to control a simulated robot running in a Gazebo® robot simulator over ROS 2 network.
Sign Following Robot with ROS in MATLAB
This example shows you how to use MATLAB® to control a simulated robot running on a separate ROS-based simulator over a ROS network.
Automated Parking Valet with ROS in MATLAB
This example shows how to distribute the Automated Parking Valet (Automated Driving Toolbox) application among various nodes in a ROS network.
Generate Code to Manually Deploy a ROS Node from Simulink
This example shows you how to generate C++ code from a Simulink model to deploy as a standalone ROS node.
Generate Code to Manually Deploy a ROS 2 Node from Simulink®
This example shows you how to generate C++ code from a Simulink® model to deploy as a standalone ROS 2 node.
Enable External Mode for ROS Toolbox Models
External mode enables Simulink on your host computer to communicate with a deployed model on your robotics hardware during runtime.
Enable ROS Time Model Stepping for Deployed ROS Nodes
You can enable a deployed ROS node to execute based on the time published on the
/clock
topic on a ROS network.
Tune Parameters and View Signals on Deployed Robot Models Using External Mode
External mode enables Simulink models on your host computer to communicate with a deployed model on your robot hardware during runtime.