In previous chapters, we discussed how to simulate and control robots implementing ROS nodes in C++. In this chapter, we will learn how to create ROS nodes using MATLAB, a powerful piece of software that provides several toolboxes with algorithms and hardware connectivity, for developing autonomous robotic applications for ground vehicles, manipulators, and humanoid robots. In addition, MATLAB integrates Simulink: a block diagram environment for model-based design, allowing the implementation of our control programs through a graphical editor. In this chapter, we will also discuss how to implement robotic applications using Simulink.
The first part of this chapter is dedicated to a brief introduction to MATLAB and the Robotic System Toolbox. After we have learned how to exchange data between ROS and MATLAB, we will implement an obstacle avoidance system for the differential drive mobile robot, Turtlebot, showing how simple it is to use components...