Author: Dr Rob Wortham -
One of the major challenges during the Covid-19 pandemic for those of us teaching in Engineering has been to adapt our teaching to a fully online mode. This is particularly challenging for robotics, where we have traditionally taught using physical robots in lab environments, see my previous posts: MSc Robotics & Autonomous Systems Robot Challenge and MSc Students Collaborate to build Collaborative Robots.
It is important that students are able to work with complete, functional robotic systems; it provides them with a platform to develop control strategies, and to learn about the challenges of operating robots in physical environments. Sensor noise and inaccuracy, wheel slip, computation delay, and the various uncertainties of physical worlds are all important phenomena to experience in practical robot design and testing.
One of the aims of the MSc Robotics & Autonomous systems programme is to support students to develop an applied understanding of robotic systems, such that they can analyse, design and critically appraise robotic and autonomous systems. Access to robot platforms is therefore fundamental.
With the move to fully online teaching two units, Robotics Software and Robotic Platform Engineering, required significant modification to retain learning outcomes whilst working in an online only environment.
For Robotics Software, students learn the basics of using the Linux operating system, and learn how to program in C++ and Python within the Robot Operating System (ROS) environment. A customised set of Linux/ROS build scripts was developed to enable students to build a full Gazebo/ROS simulation environment on their own laptop computer.
We used the VirtualBox virtual machine environment to allow students to run Linux ‘in a window’ on their Windows or Mac laptops. A full simulation of our normal ROSBot robot teaching platform was provided, and this includes simulation of sensor noise, wheel slip and so on. Students developed a control strategy, implementing this in C++ or Python just as they would for the physical robot. They tested their code within the Gazebo simulator, and we ran an online version of the annual MSc Robot Challenge.
Students (~45) were organised into Zoom breakout groups where they each ran their simulations in turn, with performance judged by their peers according to a marking scheme. Marks were entered on a shared spreadsheet, visible to all students.
Here is a video where three of the students demonstrate their work.
Overall students found the simulation approach valuable and rewarding, and the quality of their work was certainly comparable to previous years. This demonstrates that teaching ROS remotely using laptop-based simulation environments is not only achievable but effective.
There remain several challenges with the simulation approach. Firstly, if students have issues with configuration of their environments it can be time consuming to support them remotely. We set up 1-to-1 additional tutorial sessions with a Teaching Assistant to help students resolve configuration and performance issues. It may be that Docker or other container environments may help here.
Secondly, the processing capacity of some students’ laptops is limited. Several found that while they could run the simulation quite well, they could not do this effectively while participating in a Zoom session, due to processor limitations. This makes online support using Zoom more challenging.
Possibilities exist to explore a hybrid approach, where students develop in simulation, and then use lab facilities for testing. This may give students added flexibility for working when the labs are unavailable, and may also allow us to improve the utilisation of our existing robotics hardware. Indeed this is a common model used by industry. It has the added advantage for students that they can experience first-hand the differences between running experiments in simulation and in the physical world.
Read Part 2 of Dr Rob Wortham's blog.