College FRC Mentor Training at UNLV

Hi all, I’ve been given the opportunity to help build and teach a set of courses for the Mechanical Engineering Department at UNLV. The aim is to teach college students about FRC (some of which may not have been involved in any robotics programs previously) to deploy more college mentors around Las Vegas in the upcoming seasons. The current structure has students in the Fall learn about the organization, game history, general FRC robot platform and design and development, and get introduced to local teams. Then in the Spring which lines up with build/comp season, we pair students with local teams to be college mentors. The hope being to provide support for our local teams with quality technical mentorship and inspire students to go into engineering at university, either at UNLV or wherever makes sense for them.

My questions are:
For mentors, what are some things you’d like college mentors to come into your shops knowing? How could they be most helpful to you and your teams?

For students, what are your expectations of your mentors? What could they do to support you and ensure that you have a good experience in FRC?

As the course continues, the goal is to have a more balanced workload for mentors with a consistent influx of college student support (hopefully students enjoy it enough to continue even after they’ve gotten credit for the class), and for HS students who have experienced having UNLV students mentors to want to take the class when they’re in college and get credit for continuing participation in FIRST.

Appreciate the support and insight!

28 Likes

Coming from the bias of a team that’s reasonably well established, and with some existing mentor and student capacity, I’m looking for folks who can demonstrate to new students how to learn. To me what this concretely means:

The first is leadership skills. Knowing how to integrate into a technical team where they lead others to get work done, but also “report” to a next higher level - especially if a student hasn’t worked on this type of team before, having them at least be aware of what will be asked of them is what I’d be looking for primarily.

The second is research skills. There’s a heck of a lot of documentation out there for FIRST teams, and a very valuable skill is having someone who can help parse through it, and point students to the right spot. From there, both sides can do the learning to solve the problem at hand.

Third is specific technical skills. Whether that’s how to use a programming language, do some circuit analysis, design a mechanism with a CAD tool… being able to enable students with domain-specific knowledge will also be very useful.

Forth is general design skills and knowledge. If a person hasn’t seen a FIRST season yet, it’s unlikely they’ll be able to design something that’s well suited to the game AND meets all the constraints in the rules. However, someone just bringing lots of design ideas and the ability to prototype and iterate them quickly will help the team.

6 Likes

Some generic pedagogy skills would be good - partner up with your school of ed for a crash course in effective teaching. Being a knowledge holder doesn’t make one an effective teacher and it’s the non-knowledge specific content that is arguably more important - think things like bias training, building relationships, and supporting students where they’re at.

From a technical knowledge perspective, FRC has some “standard” solutions to problems that would be good for incoming mentors to know. There are times when custom solutions are great but for most teams, most of the time a kit-like solution is the better use of resources. It’s great for mentors to be aware of things like “how to do computer vision with a limelight” and “vexpro, rev, wcp, thriftybot, etc exist.”

Lastly, have a way for all the student-mentors to communicate with each other and get help in real-time (ie slack or discord). Throw in some seasoned mentors with a variety of skills and you have an incredibly valuable network for problem solving and exchanging ideas.

20 Likes

Excited to follow along with this thread and hear others input/suggestions.

One thing stood out to me when reading the initial post/question(s) was this:

I’d encourage maybe trying to start this process towards the end of the 1st semester/fall (the sooner the better frankly IMO). Introducing and building relationships with local teams can take a bit of time, and the last thing I (as an already current mentor/team lead) want to be doing my first week of build season is introducing new mentors and figuring out where to put them.

Sure throwing a new mentor into the mix on kickoff can be done, but for an annual program/class like this, it would be nice to plan to connect these new mentors as soon as reasonably possible to the local teams.

7 Likes

Too add to what was listed above.

  1. Where the line is between working with the students and doing it for the students.

  2. Understanding the physics and math behind the design calculators to prevent those issues from the beginning. (And of course teaching it to the students)

  3. General electrical troubleshooting as most teams lack in this subteam. We’re talking about preventing magic smoke, fires, battery mishaps, can issues, and un strain reliefed wires.

  4. Jerry-rigging for emergencies.

6 Likes

The two things that I always wish for from mentors are any experience in robotics competitions and experience with tools. The students from my old team usually almost always have to learn from the basics, which meant starting with a VEX or FTC kit before moving on to FRC. This is because they have never been exposed to any robotics. I am running a VEX IQ team at a local middle school and when I took over, I created my own simple projects for the students to solve creatively because they were originally just recreating the claw bot from the original kit of parts. This led to them discovering their talents in programming or engineering and then I pushed them heavily into whichever field they gravitated towards. I either created problems that needed to be solved for the sake of the competition robot or just worked with them and helped them come to a solution. However, the most uncommon trait that students possess is the ability to code. I myself, lack in this regard and will commonly refer to the internet, other friends, or use very simple block coding. While my team was able to qualify for VEX worlds last year, we are weak programmers, which leads to weak autonomous skills placement. In summation, the most helpful skill a person could bring to improve my current team would be being an experienced programmer.

I asked students to take a look at the responses provided in this thread and wanted to share their reflections on what was said. One student wrote:

A lesson that I have learned thoroughly in college is that it is imperative to learning that individuals’ complete tasks themselves. Watching something happen is not a good method to truly learn something. Easier said than done, of course, but with a bit of people management skills and understanding what actions may lead to the mentor doing the work instead of mentoring. Secondly, it is important for mentors to understand systems involved with design to help develop the mentee’s intuition and mitigate design issues. This will involve some teaching the mentees, which requires patience and feedback. Problems arise when putting the robot together which will need to be troubleshot, which happen regardless of how well the robot was planned or designed. Lastly, it is important to be able to perform last minute troubleshooting efforts. Something unpredictable has happened and the robot needs to perform for its upcoming event, the bot need to be repaired but the time crunch may not allow for the thorough repair that it requires. In this situation, it is important to analyze the materials available and how these can be used to implement a quick repair. This is a good skill because the real world is full of shortages, and you may not have exactly what you need. I’ve naturally been good at fixing things growing up, and I have professional experience troubleshooting AC and DC power systems as a field engineer. The issues troubleshot are relating to communication failures, wiring failures, and burned PCBs.

In response to this, I’d have feedback for the student that though doing is definitely a more meaningful learning experience than watching, watching plays an important role in making sure things are done safely. This is where I think developing a set of training practices definitely a key to continued success, showing students the standards to which things are done, then allowing students to practice in a non-critical situation prior to performing it autonomously or in higher stakes scenarios.

Troubleshooting on the fly is definitely a good skill to build and I’m curious… What training/tactics do you all employ to build that skill with students??

2 Likes

I had students read through the responses here and write a reflection on one of them.

One student wrote:

Having a mentor with experience in FRC would be extremely valuable to a new FRC team. One of the responses from Katie_UPS mentions partnering with the college of education to learn basic teaching techniques while this could be helpful in advancing the students understanding of robotics since most students going through this program is unlikely to have experience with teaching. Having experience with an FRC team or experience with machining practices or CAD would be useless without having a way to convey that knowledge to a group of students. I don’t know if a way to communicate with students is as helpful as she says since during the build season all the important people are there and involved however when I was in robotics we had remind and that helped coordinate students and mentors so maybe a discord or slack would be valuable to a FRC team. I think going over the solutions available to teams like various gearboxes, swerve modulus, motors (brushless and brushed) as well as vision tracking is important to give a team an edge during competition. If I had to add anything to add to this would be just a warning that unlike teaching you don’t have all the answers, a big part of FRC is the mentors learn more about the challenges then the students do that’s why seasoned mentors are so important because an experienced mentor will be of more use then a smart mentor.

I do think they have an interesting point about the usefulness of communication platforms, and I am of the belief that real-time communication is a great tool for teams to document decisions, ask questions, provide status on things etc, however this largely depends on the culture built within the team of how to use channels of communication effectively.

How do your teams communicate beyond face to face? What do you do to build cultures that create effective communication?

I had students read and write responses to the replies to this thread.

One student wrote:

I agree with the concept of demonstrating to new students how to learn. Learning is a process that essentially builds a specific skill from a zero point to a level of mastery. Leadership skills are one of the most important skills to have in a technical workplace and any workplace of that matter. Part of being a leader includes communicating with colleagues/ team members, understanding every role that each team member is participating in, and respecting the team. During the spring semester, I plan to use my skills and knowledge acquired in the fall semester to effectively mentor a designated FIRST robotics team. I will effectively communicate with students and team leads to facilitate a positive work environment and ensure everyone is comfortable to share thoughts and ideas. As I mentor, I plan on learning a ton of things as well. Whether it be from the students or team leads, learning how to do something can inspire the team to learn.

@Katie_UPS Katie has great points about using standard solutions to problems rather than custom solutions. As a mentor, I’ll try to look out for the standard or common solution rather trying to come up with a new solution. Starting a discord is a great idea!

Especially with a lot of teams in Vegas being new, or have recent mentor turnover, I think starting from a place of more COTs solutions is good, then you really get to hone in on integration and quality build processes and spending less resources on innovating at first. Then as processes and skill deepen within the team, you can start to allocate more resources to custom solutions.

1 Like

I posted an assignment for the students to think through these scenarios and provide responses to how they would handle them. The assignment is posed below if anyone is interested in seeing prompts provided to them. I will post their responses later, but am curious how y’all have successfully navigated some of these situations, or how you responded and then realized a different response may have been more successful.

A list of scenarios are shown below which you may encounter while working with a team. Provide an explanation on your thought process of how you’d handle the situation. What would you say? Why would you do that instead of an alternative? What would be the end goal by making that decisions in terms of the high school students experience and development as well as the team’s?

1. A student has worked on a task for the robot, and they’re really excited about it. They try it out and it doesn’t work as they expect and they have become upset and start feeling doubtful of their ability to contribute to the team. How would you engage this student?

2. It is early in the build season. The students have brainstormed a list of priorities that the robot must be designed to but a mentor (you or another mentor) disagrees with the priority list/general design direction of the robot. What do you do if anything?

3. You’re at a competition and there is a task that needs to be completed before the next match. If you do not complete the task the robot will not perform to the best of its capabilities. It will take you, the mentor, 1 minute to complete the task by yourself. It will take one of the students 3 minutes to complete with your help. You have 2 minutes before the robot needs to be put on the field. What do you do?

4. You notice that there is a group of students who are actively engaged in the robot design/building process and a different group of students who attend shop meetings, but don’t seem to be actively contributing as much. This appears to be creating some tension between the students. How would you propose this situation be handled?

5. A singular student seems to want to own many aspects of the robot design and build process. They are dedicated and constantly want to work on the robot, but don’t make space for some other students to contribute as much. How would you propose this situation be handled?

6. A student has found a video of an awesome robot they saw online. This robot has the capabilities to perform all the tasks of the game. The team wants to implement and copy almost every aspect of this robot, however it is more complex than the team has ever built to. It is a couple weeks into build season, so you’ve already set a direction and have done a few iterations of prototypes that seem to be working for a couple of the game tasks so you’re close to deploying a couple finished subsystems. What do you suggest the team do?

6 Likes

Let me know if any of the following doesn’t make sense. I kind of just ramble and I’m bad at grammar.

I’d like to challenge what the student says about my first point.

To expand on my first point, our team employs heavy amounts of lecture training/machining practice/self-study in the off-season, hybrid prototyping where mentors work with the students, and leave them to make THEIR robot. We’ll assist when necessary of course. (Usually answering questions, holding something, and slow/ repetitive tasks that just need more hands as we historically are a ~10 person team.) This is where we define our team’s line for where our students are at. This line does move occasionally slightly based on time constraints.

In my experience, just having the student watching or just letting them figure it out is rarely the correct thing to do. I’ve found that just letting the student figure it out is very discouraging and they disengage immediately. Often times they don’t come back.

For example, imagine I told a brand new student who has gone through our training to “build me an elevator that achieves the following criteria” and “figure it out”. I guarantee that most students won’t have any progress after a few days. This isn’t because our training was bad. It’s simply too large of a step between having seen it and having them figure it out in its entirety. In this case, I would have failed to set them up for success.

Keep in mind that different people learn in different ways with varying amounts of motivation and grit. We as mentors should be willing to be proactive in finding out who needs help and investing time into each student as best we can with a mix of showing them what to do and giving specific challenges for them to figure out for furthering their knowledge.

It looks like they agree with the rest of my points. So I’ll stop there.

Now onto troubleshooting.
This generally starts during the testing of the robot. As failures appear, they get added to a list of situations to prepare for at a competition, but jerry-rigging implies it’s at a critical moment with not enough time so sometimes we do it for them. Mostly if it’s easy, the mentors will just tell them their options and together we execute. Other than that, the best we can do as a team is reflect and explain what we did so they are prepared for it next time.

Usually, when testing and there is a problem, we’ll have the kids tell us what they think is wrong first. This lets them practice these situations without the time pressure. As one can expect, no one is perfect so their first tries are usually wrong and we usually guide them through glaring issues that the mentors know are clearly wrong and easy to solve and teach.

If and when we the mentors are unsure what’s wrong, we take the time to troubleshoot with the students. For example, here are some common things on our list. (Not a programming mentor so I don’t really know what they do.)

Electrical
Single motor controller/motor issue → phoenix tuner/connect to spark
Power issues → wiggle every connector, hot glue, test cables
CAN issues → case by case kind of really depends on if it’s all red or else it’s really clear which part of the CAN is unhappy

Mechanical
Loose chain → zip tie tensioner/floating sprocket
The spare hex to line up bearings and parts for fast installs
The art of duct tape, electrical tape, and hot glue.
We actually practice and plan for certain parts of the robot for easy swaps.

And every robot has its own issues. For example, this year our team probably wasted 30 bucks on connectors in between every in-season competition for our CAN bus because many of them were crimped wrong or it just failed or our climber ripped it out. Clearly, the students now know exactly when we have a CAN and what to do about it because they did it almost every 10 minutes for about 15 days of meeting time. I did have to step in and make something that solved the climber issue to SHOW them as they weren’t sure of what to do even after providing examples and assistance. And yeah, I’m not proud of this 15-day response time, but both the mentors and the students learned a very important lesson those days. :smile:

So 2 tactics,

  1. Walk them through an easy correction.
  2. Troubleshoot with them and learn together.

And a small note about communication.
In our training, I say one thing “If you’re not talking to someone or asking for help, you’ve already done it wrong”. We encourage the student to ask any questions and collaborate. However, like above the prerequisite is that they at least have a hypothesis of what’s not right or what they think could solve the problem.

Will add more later, class is kind of important to pay attention to. :smile:

I absolutely agree with all the points you’ve made in this response. It applies to me since as a student, I know what it’s like to not only learn, but also how I, and many others, wish to be taught by our professors. Robotics is still new to me, so I want to be able to help guide students the way I am being taught right now.

In terms of leadership skills, I have a tendency of wanting to get things done in the shortest amount of time possible. With that being said, I also like to make sure everyone is on track with their work and does not fall behind with the rest. As a mentor, I would like for students to do their part, so then all the effort is put in equally. If someone is unsure about what their role is, I would help guide them until they find the approach that best suits them.

As for research, that is what we are doing in this class, and it’s coming in handy. I have knowledge of how the older games are and what people are expected to accomplish when building a competition robot. It’s a slow and steady skill I am going to get better at.

Final thing is my technical and design skills are pretty decent. I have a lot of experience with SolidWorks as well as cutting and splitting STL files to 3d print parts. I am currently learning how to code with MATLAB, which I doubt translates well into programming a robot. I also have a little bit of experience playing with circuits boards. I haven’t done anything majorly complex and used preprogrammed code (I can’t code).

Overall, just hoping to be of good use and to learn in my robotics class and especially be able to learn from the students, not only guiding them.

I am J.laz student.

2 Likes

to me, troubleshooting is just an extension of critical thinking. if something doesn’t work, it’s pretty simple to just look and see what the dependencies of the malfunctioning component are. this past meeting, we thought we had burnt out a falcon due to 0 leds. even a can bus break would still have leds so it’s obvious that it was a power issue and we found out that that motor’s leads had been accidentally flipped.

teaching this to students is hard though because learning what relies on what is a whole new topic and one that i would argue takes a decent chunk of experience, especially prioritizing checking what the most likely thing to break versus discarding something that might never happen.

Thanks for your contribution!
One of my students this semester wrote in response to this…

I agree that a mentor having experience with FRC is more than extremely beneficial for a team of students. Inherently, having to start from basics means having to play catch up for most of the season. However, I don’t think this is the end all be all when it comes to mentors. I believe mentors should be adaptable and quick learners as well. A lack of experience could be detrimental, but it could also lead to a more unique perspective with competition and teaching. I liked how Chipillin implemented teaching that went outside the instructions of a model kit. Problem solving and working creative solutions is key to FRC, and working on projects in general. I also see how programming could be a big bottleneck when it comes to competition. Especially when it comes to AUTO. There are a lot of resources if one doesn’t know how to code, but it’s still very limiting to rely on other’s code or help. I myself have been trying to learn JavaScript without much success. Having a proficient programmer would help the actual creation of the robot, but also help the team learn more about the application of code. Good programmers are becoming more common, but more is always better.

Another student wrote…

I understand what you mean. As a mentor, we should be equipped with knowledge and experience when it comes to robotics. It should be more of an opportunity to teach and mentor than to learn about robotics. Also knowing how to use tools and machines are vital to mentoring and supervising high school students. For this semester at UNLV, the hope is that the mentoring students build a robot as if it is competing in FRC 2023. This is a chance to learn about all the aspects of robotics, including planning, building, coding and competing. I like the concept of giving students small projects to expand their skills but also find what they enjoy. That is something I can implement for myself, to learn more about coding, mechanics and other parts of robotics. I can definitely understand the importance of programming knowledge. The majority of the people in the mentoring class at UNLV are studying mechanical engineering so it’s crucial for us to learn programming outside of the classroom. Online and the resources we have available at the university will be our best shot at learning how to code FRC robots. These are all great points for what is to be expected to know and learn before mentoring high school robotics. I will consider all of this as I start to get ready to build a robot with high school students in the beginning of 2024.

I gave this assignment again this year, where I asked students to read through and respond to the mentors’ input below. For the students who opt not to create a CD account and post their text directly to me, I am posting their responses here. Please feel free to keep the dialog rolling, I’ll pull up the posts in class as we discuss mentorship responsibilities. Thanks!

There are a few pieces from separate posts that I would like to highlight.

  1. @gerthworm , who said that they would like to see someone who can demonstrate how to learn. Learning how to properly organize your thoughts on paper is a vital skill not just for something like the FRC, but also for any level of education. High school often has students taking notes to memorize information to recall later for a test. In college you need to have better critical thinking skills and be able to take one concept and apply it to another. If you do not know how to keep your notes and thoughts in a way that allows for quicker reference, you will get lost. I intend to show students that you don’t need to have a ton of notes with every detail written down to have a good idea of what is going on. Using different ways of taking notes can help, especially in brainstorming. Some that I am excited to use is thought bubbles and Pro/Con lists. These should help get a group of students to think about what they want to do before prototyping and have a backup idea ready if the first one fails.

  2. @Attention , who said the line between doing for the students and working with the students. Open ended questions. You may show the students how to do something, but if you ask them why or how it is done that way while you’re showing them will make all the difference. As long as the students are thinking critically about the problem at hand, I believe I am doing my job as a mentor.

  3. @Attention , who said electrical troubleshooting is needed. I have done electrical troubleshooting on several types of systems while I was in the Navy. It can be something that many people have never done because it has its own risks, especially when safety is concerned. Students should learn how to make sure any system is safe to work on before troubleshooting, whether it is electrical or mechanical. Then using a systematic approach is key. Knowing where the signal you are looking at goes and how it should look on whatever tool you are checking with can be done on paper first. This will make the process of testing points easier and quicker.

Overall, I intend to use my skills from my military experience and my tutoring experience to help students create competitive robots that they can build and maintain efficiently. It is my hope that the students I work with will teach me some skills as well, since they will be more knowledgeable on topics like programming than me.

3 Likes

One of my students this semester responded…

I fully agree that there is a huge difference between someone that possesses knowledge and someone that shares knowledge. With sharing knowledge I also believe there are people that instruct, and people that educate. Having been in the USMC for 5 years I’ve gained some valuable leadership skills that I believe can be applied adjacent to what Katie says in her post. Succeeding in leading and mentoring is about helping the ones that depend on you to succeed. This means not only giving them tasks or asking things from them but providing the information on how and why the task needs to be done, showing them the best way you know to do it, being open to new suggestions, and answering any questions to the best of your ability. Also, being that we will be a stranger in these young human’s lives, it becomes ever so important to “break the barrier” as soon as possible. To me this means getting to know the students and how they learn, what they’re interested in and what their particular skills are in order to help apply those skills to the task at hand. I also believe that communication between leaders is just as important. Sharing tricks and traits with your peers is the best way to help yourself succeed, and I plan to stay in contact through the communication channels we have set up this semester.

1 Like

One of the students from this semester reflected on this response:

Taking a look at the courses taken, there have been a few that has required us to work in teams to get a common goal accomplished. Including this class, there are a few chances to learn leaderships skills to communicate how tasks will get done and who will be best to get them done.

From the classes, we are able to see what we would be able to lead and communicate well with the goal we are given, and we would also be able to see what we can learn through others in the course to see how we can lead and communicate other tasks. We won’t be able to know how to do everything, but knowing how to communicate and lead what needs to be done will be a good skill to have so the team can look for solutions on how they can find the answer, whether through others who know the skill or through teaching themselves somehow.

Research is definitely something that will come through the class, as getting shown the history of the competition, we were able to see previous seasons, the basic rules and guild lines for bots, as well as seeing which teams performed well or who had unique designs. Research will be integral to competition, and looking where to find the information, as well as communicate what came from said research will help others see what could be done and help get ideas flowing on how to design the robots and fix common problems. Communication with the other mentors could also help everyone out overall, since everyone should be researching to some extent and we could share research results that could help all the teams get a start on a certain aspect of the design process.

A student commented generally on the thread…

I agree with what the mentors on the posts are saying. Especially that mentors should have experience in robotics and coding. Every if we don’t have the knowledge coming into this course, by the time we are finished with this course, would should be prepared enough to help the local teams. I am a computer science student so I know I could be a big help on the coding side of things.

Communication between the mentors and their teams is important to keep track of things and making sure students understand topics, but also communication with other teams is important. We could help and be helped by other teams for whatever is needed. The exchanging of ideas and maybe also the use of another teams fields, if our own team doesn’t have one, shows how important communication is.

The idea that we could partner with the college of education to learn teaching techniques is good as well, and we can also talk to our current professors and old teachers to get a broader scope of ways to teach and mentor. Every student learns differently and will have varying levels of experience with FRC, so knowing what types of ways we can help them improve themselves without doing the majority of the work for them is ideal.

I agree with the points you made about the points you make as I am currently a student learning the basic components of robotics. It is always great to learn and use that information not only to guide other people but also the experience gained from mentoring. In terms of the points you made, leadership will be one of the few most important skills to have.

In terms of leadership skill, I am always lost because I never had that much experience in leading a group, I am usually the type of person to check dates and make sure everything is in. I am still learning how to actually handle this type of group as there are people with different types of skill and knowledge. It is hard for me to pinpoint what should be the best course of action.

In terms of research, with the class I am taking this semester, we are heavily doing research on previous competitions, teams in our area, and designs which is very helpful. The new knowledge I am getting through these research assignments, it helps me understand my knowledge on how everything works and it shows how unique each team design is.

In terms of technical and design skills, I have worked with solidworks but it’s been 2 years since I opened up the program and I am slowly regaining those skills back this semester. The problem is that I have no experience in programming language and circuit analysis which I hope I can get during this class

Even though this is a new path I want to get into, I want to learn and gain more experience in this current robotics which I can use to help and mentor future teams.

I am J.Laz student