Robot Operating System (ROS)

Robot Operating System (ROS) is a framework of tools, libraries, and software to aid in robot software development. It is a flexible system for programming robots and controlling robotic platforms. ROS was developed by an open-source collaborative community to help grow the world of robotics. Applications for working with hardware, robotic simulation models, path planning, localization and mapping, and many other algorithms are available. For an introduction to ROS, see the ROS Introduction on their website.

For more information about ROS and its functionality, see the ROS Website and the ROS Wiki. The wiki contains documentation and tutorials for ROS, software packages, core libraries, and supported robots and hardware.

ROS 2 is the second version of ROS. See ROS 2 Overview for more details about ROS 2 specifically.

ROS Toolbox allows you to access ROS functionality in MATLAB®. Use MATLAB to communicate with a ROS network, interactively explore robot capabilities, and visualize sensor data. You can develop robotics applications by exchanging data with ROS-enabled robots and robot simulators such as Gazebo. You can also create Simulink® models that exchange messages with a ROS network. Verify your model within the Simulink environment by receiving messages from, and sending messages to, ROS-enabled robots and robot simulators. From your model, you can also generate C++ code for a standalone ROS application.

Both MATLAB and Simulink support the TCPROS transport layer (see TCPROS). The UDPROS transport is not supported.

ROS Toolbox supports ROS Indigo and Hydro platforms, but your own ROS installation may have different message versions. If you would like to overwrite our current message catalog, you can utilize ROS Custom Message Support to generate new message definitions. For ROS 2, ROS Toolbox supports the Bouncy Bolson platform.

The first thing to do when working with ROS is to set up or connect to a ROS network. Here is a link to an explanation of the ROS network setup and some examples to get started using ROS in MATLAB and Simulink:

To get started with ROS 2, see: