by Jonathan Spalten
Participating in RoboJackets involves a great deal of hands-on engineering knowledge and an intense desire to learn. Because RoboJackets accepts members regardless of prior experience in robotics, we created a training program to help our members quickly learn what they need to know to contribute to the teams. Even experienced members can find value in the training because of the breadth and depth of topics covered. This training is created and run by our own members, leveraging the experience they’ve gained in RoboJackets to iterate on the training they also participated in.
To keep our members safe and healthy, all our training content is being delivered using virtual lectures that are recorded so they can be viewed later on the RoboJackets Training YouTube channel. These virtual lectures are supplemented by video guides and practice exercises. Additionally, the training material is filled with practical examples from RoboJackets projects to help students understand the contexts in which they’ll be able to use their newfound skills.
The training program has a wide breadth of topics, divided up into disciplines, which roughly correlate to each subteam in RoboJackets. The disciplines are mechanical, electrical, software, and, the newest discipline, firmware.
Mechanical training covers a wide range of topics, including basics of robot design and material selection, the basics of AutoDesk Inventor (3D CAD), and an understanding of designing parts for manufacture using the manufacturing processes available in RoboJackets’ shop spaces. Sam Walters, the mech training lead, gave a brief statement on how he thinks training is coming along this year:
[Training is] going well so far! The team I worked with over the summer prepared us very well, so it’s easy for all of the trainers to quickly review our material and then convey it each week to all of the new members. We’ve added some video guides to supplement the sessions and help make up for the online format, and I feel like they’ve been a very helpful asset thus far. From time to time I’ll send a survey to the members to try and gauge how well things are going, and try to adjust accordingly.
Electrical training is focused on the design and prototyping of printed circuit boards (PCBs). It covers the basics of electrical circuits, prototyping with breadboards, and circuit design concepts including component selection, and AutoDesk EAGLE, the software we use to design our PCBs. Asha Bhandarker had this to say about how the program is progressing this year:
It is going well given that we decided to make training completely virtual. A big part of electrical training is interactive labs where we have new members work with hardware. So this semester we found a simulation environment (TinkerCAD) to be able to simulate breadboarding and Arduino code. Along with the resources we post on GitHub we have been uploading our lectures on YouTube so in the future people can follow training later in the year.
Software training is focused on the software we use to make our robots autonomous. This year, the software training program underwent some major changes, as described by Kyle Stachowicz, the software training lead: “This year, we overhauled our software curriculum to teach not only the practical aspects of robot software – using C++ and ROS [Robot Operating System] – but also an overview of a broad array of fundamental topics in robotics. Students in software training learn how to work with sensors, write their own algorithms for computer vision and motion planning, and experiment with machine learning.” This enables students that may already have experience with practical programming to stay engaged by learning the newer topics in robotics. In previous years, software training used custom robots designed by RoboJackets so new members could see how their programming decisions affect robot behavior. This year, the team opted for using simulated robots in a virtual environment to provide practical experience with debugging. Kyle points out the success of this change: “Despite [not being able to use our standard robots], we’re going strong with more than 40 members continuing through the program.”
The final discipline, firmware training, is new this year. We talked with Arvind Srinivasan to explain the motivation behind the new discipline: “firmware training was not a new idea. As our robots got more complex (and have more firmware), we realized we can’t wait for the 2+ years it usually took to get people comfortable with doing both the EAGLE PCB design side (which was in training) and the firmware code side (which never was).” Previously, we didn’t have the time or people resources to add a new training discipline, but this year the stars aligned in a lack of other bigger projects in training, such as the design and manufacture of software training robots, and the larger need for firmware developers for RoboWrestling. In terms of structure, firmware training shares 3 weeks’ worth of content with electrical training: basics of electronics, introduction to prototyping and Arduino, and design choices. The other content includes low level program topics, including state machines, bitwise operations and registers, and communication protocols for transmitting data between components. The newest training discipline has hit the ground running, as Arvind highlights: “We readily adapted our training from in-person to online through the use of TinkerCAD to basically build full simulations of what the trainees would have used [in real life]. With the occasional issue as we try this new paradigm, we have made pretty good content that should be good to go for next year (with minor polish of course) and can easily adapt back to in-person training.”
This training has a major impact in helping our members learn the basics of their chosen discipline to fast-track contributing to their team. It also gives our experienced members the opportunity to develop soft skills in teaching and mentoring that will continue to pay dividends in their educational and professional lives.