Board 61: Work in Progress: Introductory Mobile Robotics and Computer Vision Laboratories Using ROS and MATLAB
Robert L. Avanzato, Culllen G. Wilcox · 2020
Abstract Introductory Mobile Robotics and Computer Vision Laboratories Using ROS and MATLAB Robot Operating System (ROS) is an open source, Linux-based robotics development and deployment system which supports many commercial and research and development robots, including the Turtlebot, Husky, PR2, Baxter and a variety of industrial robots. ROS provides a distributed, networked, message-passing system that provides a standard development and deployment software architecture across a variety of sensor and hardware platforms, but the learning curve for implementing ROS solutions is steep for undergraduate engineering students who possess diverse backgrounds and skills in software development. Recently, MATLAB has released the Robotics System Toolbox which provides a ROS interface and associated robotics algorithms. This MATLAB product enables engineering students, especially in an introductory course, to more easily communicate with ROS-enabled robots from standard Windows OS and/or Mac OS workstations running MATLAB. The advantage of this MATLAB solution is to provide students with a more intuitive and interactive programming environment, visualization tools, and integration of other MATLAB toolboxes such as computer vision and control. This paper describes a multi-year study in which the MATLAB Robotics Toolbox ROS interface was integrated into a senior-level introductory robotics course and a computer vision course. Laboratory exercises were developed and tested using MATLAB Robotics Systems Toolbox and ROS-enabled Turtlebot 2 robots from Clearpath, as well as low-cost autonomous indoor quadcopters. Topics covered in the laboratories were primarily in the areas of robot navigation, feature detection and object tracking. The primary significance of this case study is that, based on our experiences, development and deployment of algorithms for robot navigation and computer vision using ROS were accomplished with a less steep learning curve and less coding using the MATLAB-based approach than in the C++/Python/Linux environment. A matrix comparing algorithm development in C++ versus Python versus MATLAB illustrates the benefits of using the MATLAB/ROS environment. Student reaction to the use of the MATLAB ROS interface was positive overall. A description of the labs, sample code and best practices will be discussed and also the use of the Gazebo 3D simulation to supplement the robotics activities. Laboratories involving the control of autonomous indoor quadcopters will be presented as well. It is anticipated these results will be of interest to educators introducing advanced robotics labs into a diverse range of undergraduate engineering courses. These results also have significance to the introduction of modern robotics concepts in K-12 and STEM activities.