Last fall, a friend finally succeeding in getting me to show up at a local high school’s robotics team, where he was the faculty sponsor for a group of students were feverishly working to compete in a FIRST Robotics challenge, a sprawling nationwide competition to draw students into STEM.
Maynard H Jackson High School RoboJags (they’re the “Jaguars”):
– website: mjhsrobojags.godaddysites.com
– Instagram: www.instagram.com/mjhs.robojags
– (not @mjhsrobojags , that was a brief 2020 account)
Below are the suggestions and tips that I presented to the students, following a year of watching and occasionally helping them build their robot.
Notes after a year of observing a high school robotics team
Here is some advice for students starting out in robotics, following my own first year in mentoring a team (really just helping out for a couple hours a week).
Joining a robotics team is not just for people who want to do literally “robotics”! If you’re interested in mechanical stuff or electrical stuff or computing stuff, your school’s robotics team will expose you to so many new ideas. It’ll teach you the early skills you’ll need to become a good engineer, scientist or technician. You just have to show up and “lean in”.
Big Concepts (teamwork and design)
Think twice, act once: Don’t just run ahead with the 1st idea that pops into your head. Keep thinking, because a 2nd (or 3rd) better idea is almost certainly behind that 1st one.
Listen twice, talk once: A conversation doesn’t need to be a race; there’s no prize for replying fast, especially if it turns out you’re wrong. Spending more time listening and thinking, before you talk. Corollary: some people actually can’t do their own work while others are talking, so be respectful of that if they ask for some quiet. This is especially true of people that later become great scientists and engineers!
Don’t be 100% sure of anything. And be gentle when someone else turns out to be wrong because, dude, you’re next. See also listening vs talking above.
Sketch it out. Drawing your design idea (in CAD or on paper), even a quick sketch, isn’t just a homework assignment but is a way to think through your idea and discover problems before you cut metal. Also it’s how you communicate those ideas to others; words usually aren’t enough, because something that sounds right in your head probably won’t in someone else’s. They don’t see the picture in your head. Sketch it out and show them! (and if sketching out on paper, bonus points for taking a minute to do it slowly and carefully)
If FIRST recommends a tutorial, do it. For example, they provide various tutorial videos for new skills, like working with CAD software, for both FTC and FRC. Do them! Don’t just glance at the list and then ignore them and wing it. Actually doing the tutorials should be a requirement for working on CAD for the team, otherwise you will be wasting your own time on wrong usage and bad habits, and wasting others’ time as well.
Set achievable goals. Looks for ways to break up a task into phases that can be accomplished in one work session. When designing the robot, if you have a really complex design idea, look for ways to build it in phases that are useful at intermediate points, like a basic shooter mechanism that works slowly before upgrading to one that works quickly. Take the complexity you ultimately want at the end and break it down into simpler intermediate steps that can actually be completed.
Different people have different skills. Some people don’t like noisy competition halls, or don’t like to talk much. But they can still contribute; organizing the lab/shop, labeling parts and storage locations, and even just cleaning. Study the code that operates the robot, and after they understand it (not before!) then add some comments that explain it. Note: if you find yourself sitting by yourself around the edge of the workshop, consider doing one of those quieter tasks. Just let the team leader or one of the mentors know that you want to help organize or whatever, and we’ll point you at some work! But you need to speak up, and then listen, if just for a minute.
Hold quick “standup” meetings. The team should hold a short (5 minute) meeting at the beginning of each work session, say at 3:45pm after everyone has shown up, to talk about what got done last time and what’s happening today. If time permits, perhaps once a week instead of every session, go around the room and ask each person to talk for just a few seconds about what they’re doing. In real engineering teams this is called a daily “standup” meeting, because it’s so short that you all can stand through it, not sit down around a table and make the meeting last too long. Have a quick meeting and then get to work.
Little Concepts (getting the details right)
Measure twice, cut once: Similar to the first big concept above, before drilling or cutting, measure more than one way. Stop and think if this is really the best way to do this. Do you really have the right tools and parts, or did you just grab the first thing you saw?
Make checklists, add to them as you learn, and show others where they are. An example checklist is “everything we need to bring to a competition event”, and then you list absolutely everything (including the seemingly obvious like “the robot” and “bottles of water”). Then, when you discover something was forgotten anyway, add that to the checklist, so it doesn’t happen again. Everyone makes a mistake once; don’t make it twice. Store the checklist somewhere online / digitally (like a shared notepad or document space) where you can get to it on your phone for quick reference. Show new team members where it is. Put someone in charge of editing it (or show everyone) and then make sure updates (e.g. oops we forgot the controllers …) get to that person and that they reliably edit it in — right away!
Agree on naming and then label it that way. For example, get group agreement on the orientation of the robot, literally front vs back and left vs right, and then use the label maker to label the robot’s corners with FL, FR, BL and BR. If there are multiple controllers that look the same, agree on the names and label them.
After something electro-mechanical finally works, label the parts. After a control system is working right, e.g. drives in right direction and steers OK, label all the wiring (plugs and jacks). Corollary: it’s way easier to trace and label wires before you lace them into the structure.
Coding: store software snapshots. After software works right (e.g. working well enough for competition), take a snapshot* of it, set that snapshot file to read-only, and file it away with the other snapshots. Take a snapshot for every competition. These snapshots will be useful references later, especially when the code breaks and you know “it worked before” and you can go back and look at what changed. Similarly, the CAD software may have a version tracking feature; use that to tag / name intermediate versions of the design. (*Note: “snapshot” here does not mean a literal graphical screenshot — it means making a copy of the actual code file, stored in the code filesystem where you can find it later.)
Coding: define constants / variables at top and use them. Define constants and variables at the beginning of your code (e.g. motor speed factors aka “gain” numbers). Then use only those variables in the code. Don’t put raw numbers into the body of the code! All raw numbers should be defined at the top.
Coding: copious comments! After finally you get something to work, take an extra minute to go back and add comments to the code that you changed that made it finally work; don’t just run off and celebrate! Take the extra minute to document what you did. While doing that, you might come across a temporary hack that you forgot about and need to remove (clean up).
Might doesn’t make right. If something is resisting movement (e.g. two pieces won’t go together), stop and check why, don’t force it. If a motor doesn’t seem strong enough, don’t just think you need a stronger motor. The problem could be the mechanism’s design, or interference in the mechanism, not a weak motor. If a screw won’t go in, recheck the threading. If a drill won’t go, check the bit. Don’t just crank up the power and push your way through it with brute force.
Throw out bad parts, now. If a screw is bad (galled thread, stripped head), throw it straight into the trash can. Don’t just drop it on the bench for someone to try to reuse it. Corollary: keep a trash can nearby, and empty the trash …
Adulting 101: keep tools and parts organized! If a shop is a mess, an enormous amount of time gets wasted looking for things instead of actually doing things. It only takes an extra few seconds to put something back in the right place, so don’t just put it back in the first empty spot you see. See also “think twice, act once” above.
Budget time at the end for cleanup. As you near the end of a work session, stop a few minutes early and take time to put tools and parts back into their right places. Look twice before storing.
Ask your teachers and mentors!
Wondering about something? Ask us! As one of my college professors used to say, there are no stupid questions; the only stupid question is the one you decided not to ask.
– Chris Campbell
P.S. I have been an engineer for 35 years, in the fields of aerospace, mechanical, electrical and computer engineering. I’ve worked for big companies and small companies, and yes at one point I very briefly worked for NASA. I probably have years of experience in whatever you are struggling with, or just curious about. Ask me about mundane things like the purpose of a certain shop tool, or screw thread nomenclature, or wire gauges. Ask me about more academic topics like kinematics, or the periodic table, or about the different kinds of engineering. If you really want to get me going, ask me about space launch vehicles, deep space probes, or the revolution in orbital access that’s about to happen. Ask me anything! Be one of today’s lucky 10,000.
