In 2020 Hongming (Harry) Yu began studying on our MSc Robotics and Autonomous Systems with three-month placement. In June 2021 he started his three-month placement with Benedex Ltd, who are developing modular drive systems. Looking back at his placement, Harry tells us what he learnt during his placement and how he applied his theoretical knowledge in industry.
Developing a navigation system
During my placement, I worked for Benedex as an electrical engineering intern developing a navigation system based on ROS (Robot Operating System) using open-source packages. At Benedex, the prototype platform’s navigation stack produces a 2D map of its surroundings while autonomously traveling to the target point and avoiding obstacles. I was responsible for not just the development, but also for debugging, creating installation and configuration documentation, and launching navigation stack files.
A course that prepares you for the workplace
In my first semester, the robotics software unit focused on the Robot Operating System (ROS), including Linux basics, virtual machine, developing ROS node. Most of my work at Benedex was done on a virtual machine that I had learnt how to set up in this unit. I had to develop an ROS node to navigate a simulated robot through an obstacle course, which is similar to the navigation system I worked on at Benedex. The great thing was being able to use and even improve some of my code from this unit and apply it on placement.
Another unit that was helpful in my role was the autonomous systems navigation, mapping and communications unit. This introduced key concepts needed to understand, design and critically appraise navigation, guidance and communication for autonomous systems. Here, I was introduced to dead reckoning, pathfinding, localisation, mapping and SLAM algorithms, all of which I used on placement.
Taking my skills into the real world
Because the course teaches you ROS, I was able to use what I learnt in the first 12 months of my master's in the navigation stack’s development process at Benedex. And my placement in return gave me more experience working with distributed systems, Linux remote servers and embedded controllers with Raspberry Pi. The robot platform’s onboard controller was a Linux server running on a Raspberry Pi, while the navigation system was running on a separate computer, with several nodes running onboard on the platform together.
I now have such a better understanding of robot navigation algorithms because of my time at Benedex. I have learnt more about dead reckoning, pathfinding, SLAM (Simultaneous Localisation and Mapping) and how the platform hardware is used for navigation, like Lidar and wheel encoder.
On top of the many technical skills I gained, I also was able to work on the transferable skills needed to collaborate with the rest of the team on the project. I got better at communicating with colleagues and at getting used to being part of a team. Plus, remote working during my placement and personal time management equipped me for the new normal post-pandemic world.