This paper describes three MATLAB-ROS-based simulation projects developed for an undergraduate robotics course. The Robot Operating System (ROS) is an open-source framework that helps researchers and developers build and reuse code between robotics applications. Adoption of ROS in the undergraduate curricula is still rare due to its demanding requirements of C++/Python/Java programming skills and familiarity with Linux. Recently, MathWorks released its ROS Toolbox, making it easier to interact with simulators like the Gazebo and ROS-supported physical robots. The MATLAB-ROS-Gazebo simulation platform allows students to utilize other MATLAB Toolboxes, such as Image Processing, Computer Vision, Visualization, and Navigation Toolboxes, for fast algorithm development and testing.
The paper presents three projects for autonomous mobile robots on the MATLAB-ROS-Gazebo simulation platform. The first project is on sensing and perception of laser scan data and its post-processing of model-based fitting. The second project is on the path planning of an autonomous mobile robot implementing the Wavefront algorithm. The third project obtains closed-loop control of the robot's behavior based on visual hints. These three projects cover the fundamental components of controlling an autonomous mobile robot, including sensing, perception, decision-making, and low-level motion control. We believe these projects will help other educators develop ROS-based simulation projects as part of a course or a stand-alone course for teaching robotics.