It’s November, which means RoboJackets has almost completed one of its most important annual projects: training new members. Engineering a robot requires a lot of knowledge and experience that many new members do not have when they first enter RoboJackets. The training program is designed to bridge that gap and help new members contribute to their team’s work sooner. With RoboJackets returning to in-person meetings, in-person training sessions have returned better than ever following the work of the team in 2020 and this past summer.
Last year training was delivered through virtual lectures with exercises that members could do on their own time. Now that in person sessions are possible, new members benefit from the best of both worlds. Trainers can provide more personalized feedback on the topics during sessions while giving new members resources to access later or as needed. In this article, we’ll take a look at how the training program has been going so far this year.
There are four main disciplines in the program, which correspond to the different subteams in the competition teams. Mechanical training focuses on the mechanical design process and how to use CAD programs (specifically Autodesk Inventor) to design components and robots. Electrical training teaches about different electrical components and how to use them in PCB design. Software training covers writing code with C++ and ROS and learning some of the fundamental theoretical concepts needed to write code for robots. Firmware training connects software and electrical training by teaching microcontroller programming and prototyping.
Mechanical training is led by Keertik Bacon. The main goal for the training team this year was to make the content easier to understand. The team revised the lesson order to be a more logical progression. The curriculum started with looking at making individual parts, in CAD and manufacturing, and then expanded to assemblies, designing in CAD and assembling in real life. Each lesson builds on the previous. A typical training session is roughly an hour of lecture on the week’s topic and then an hour of practice CAD projects. But another priority for Keertik was to make training less like a formal class or lecture. Students would be attending sessions in the evening after a long day of classes, so he didn’t want it to continue to follow that pattern. “I don’t want to bore people with content that can be dense,” he said. Keertik and the other trainers try to make the session more informal, and each session ends with a Kahoot (online game quiz) as a fun recap of the content. “My favorite part of training [is] interacting with new members,” said Mesum Zaidi, a mechanical trainer. He says that this year has been a lot more interactive than when he went through mechanical training.
Firmware and electrical training have also been going well according to firmware lead Maanas Purushothapu and electrical lead Andrew Rocco. Like mechanical training, firmware and electrical start with a presentation on some new concepts followed by a practice project. But this year they were able to return to in-person labs. “We have had a great turnout,” said Andrew, seeing over 60 new members each week split between electrical and firmware training. The curriculum for each program was mainly based on the curriculum from last year. Last year’s program received positive feedback from the new members who went through it, so it was mainly adapted to be done in in-person sessions. This also means all the video lessons from last year stay pretty consistent with the current content, so members that miss a session can easily get caught up or reference them later.
Software training has seen the biggest changes of the disciplines. If you’ve been following the newsletter, you may know that the Alumni Association has started supporting RoboJackets through different projects, including creating the software training curriculum. There are two goals with this new approach. First it makes training easier for the trainers by letting them focus on delivering the content to new members instead of developing and delivering the content while also working on their team projects. Second, the curriculum fits the needs of the teams better by teaching robotics theory and programming at the same time. This would allow software members to get better acquainted with theory they might not encounter until their third or fourth year at Tech.
Jason Gibson and Matt Barulic have been working hard throughout the past year to create this new training program. Both of them led software training when they were students, and they had big ideas for where the program could go. “It’s been a pretty massive undertaking,” said Matt. They have made slides, lecture videos, and significant improvements to the simulator for projects. Each session is a hybrid of virtual and in-person content. Each week there are videos covering different topics in the three main categories: robotics theory, C++, and ROS. Students can watch the videos on their own time and come to a training session with any questions they may have. The trainers will give a recap on the content, answer any questions, and help the new members through the practice projects that incorporate the learned content.
The catalyst for this shift came in Fall 2020, when RoboJackets had to adapt to the restrictions for COVID-19. The training curriculum before then was focused on teaching C++ and there was much greater variance in technology across teams. Each competition team would train new members on their specific technology stack and related robotics theory during their team meetings. Pandemic restrictions pushed the software teams to create a common curriculum so the training efforts would not be duplicated across teams. The common foundation of concepts allowed software leads more time to teach new members about the projects they were working on and actually work on them. Essentially, this turned training from having two lectures per week to one lecture per week, with more time writing code and contributing to the teams’ code stacks. This shift was the perfect way for alumni to get involved since software training was no longer heavily team-dependent.
Navaneet Kadaba is leading software training this year, and he thinks the new software training program has yielded great results. “I’m just excited overall that we have alumni helping us make content,” he said, “It is very well thought out compared to anything that us students could make.” Both Navaneet and Vivek Mhatre, another trainer, agree that the program has actually helped them understand the material they are teaching better. “I feel like I’m learning even more,” said Vivek. He said that new members ask great questions during the session, thanks to the in-depth curriculum. Matt thinks this is because they are coming at this project as alumni, and not active students. It reframes it as an act of service and “puts pressure [to] deliver a program better than what we’d done for ourselves in the past.”
Matt and Jason still have big ideas for software training. The next big project is reintroducing the physical robots used in training previously. While running code in a simulation has advantages, it’s just not as satisfying seeing a robot interact with the real world using code you wrote yourself. A lot of upcoming work is also focused on polishing what was built this year, improving the lecture visuals and additional resources. If you want to help contribute to next year’s training program, you can reach out to Jason and Matt on the alumni Slack.
You can find more about software training on the software training repo. Additional training resources can be found on the Training page.