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...