Sebastian Castro, MathWorks
ROS Toolbox allows you to connect MATLAB® and Simulink® to the Robot Operating System – both ROS and ROS 2 – for design and development of robotics and autonomous systems. You can connect to an existing ROS network to explore available topics, services, and actions. This allows you to send commands to, and receive data from, any simulators, hardware, or software nodes on the ROS network. The toolbox also includes MATLAB functions and Simulink blocks to import, analyze, and play back ROS data recorded in rosbag files.
ROS Toolbox supports C++ code generation (with Simulink Coder™), enabling you to automatically generate ROS nodes from your design and deploy to simulated or physical hardware. Simulink lets you view messages and change parameters while your model is running on hardware.
You can connect to an existing ROS network to explore available topics, services, and actions.
This allows you to send commands to, and receive data from, any simulators, hardware, or software nodes on the ROS network.
ROS Toolbox provides utilities to work with common sensor data types such as laser scans, images, and 3D-point clouds.
If you are using recorded data from a ROS bag file, ROS Toolbox allows you to read these files for post-processing or play back data as simulation input.
MATLAB, Simulink, and various add-on products provide tools for designing and implementing algorithm components for control, perception, logic, and decision-making, and many other applications.
Then, ROS Toolbox allows you to connect to ROS-enabled simulators and hardware for testing these components as desktop prototypes.
After this initial testing, you can automatically generate C++ based executable ROS nodes from your designs. These generated nodes integrate with the ROS and ROS2 build systems so they can be run on your target systems with no dependencies on MATLAB and Simulink.
After deploying algorithm components as part of your overall distributed system, MATLAB and Simulink can remain connected to the ROS network for interactive design tasks such as data visualization and parameter tuning.
With ROS, you can reuse software across different simulation and hardware environments. This way, once you’ve tested your algorithm in simulation, the same MATLAB code and Simulink models can run on your hardware with minor adjustments.
For more information on how ROS Toolbox can help you integrate MATLAB and Simulink into development workflows using ROS, please visit the ROS Toolbox product page on mathworks.com.