ISTE | Robotics Demystified in 4 Steps
Robotics is popular in many schools and is a great tool for teaching kids the most fundamental engineering design (ED) and programming skills, while allowing them to see and interpret the results of their build and program in real time. Also, through building and programming robots, kids of all ages can learn about computer science (CS), mechatronics, coding, literacy, physical science, mathematics, healthy competitiveness, teamwork and perseverance.
Learning robotics and participating in competitive events also serves as the backdrop for helping students understand the use of robots in more authentic contexts. In the real-world, robots help in space, in manufacturing, on military missions and the list goes on. Artificial intelligence (AI) also makes it possible for intelligent robots to interact with humans in their homes by helping with household chores, providing security and even entertainment.
Unfortunately, in-depth learning of high-level robotics is not highly accessible to all students, and often when it is, the necessary rigor is not always applied during instruction. That means students are getting only part of the learning and not the bigger picture or the rich interdisciplinary and integrative nature of mechatronics — which is the intersection between electrical and mechanical engineering and CS.
For teachers wishing to engage their students in building and programming with high-level robotics, I highly recommend using VEX Robotics. Although deeper learning with a tool like VEX takes time, any learner can achieve mastery through precise and consistent practice. I recently led an Egineering Design course training for the International Technology and Engineering Educators Association (ITEEA), where I had the privilege of coaching educators through the process by using the VEX EDR. I used the following four steps — which is how I recommend teachers proceed with students.
Step 1: Begin with the end in mind and know your hardware.No one appreciates being asked to do something their instructor hasn't done. For this reason, it is essential for teachers who are coaching students through their first robot build to arrive in class with their own built working model. This synergizes the classroom by giving students the confidence that the learning is not just for them, and that their teachers are just as invested in the process as they are. Providing some guiding questions is also helpful for beginning with the end in mind:
How can we use our VEX Clawbot kit to build and program a robot that runs an autonomous figure eight?
How can we use our VEX Clawbot kit to build and program a robot that is controlled by a human operator using the VEXnet joystick and VEXnet keys to interface with the microcontroller?
Once students have their learning goals, guide them in unboxing their kit. Don't let kids who are new to VEX robotics do this alone or in groups. A VEX robot has many moving parts and deals with several complex systems. Someone with prior experience must lead this part.
I highly recommend having students categorize each of the parts (along with an explanation of each) into the following four groups:
Tools (or other)
Step 2: Build your robot.
Typically, I do not recommend having students follow a tutorial step-by-step, but due to the complexity of an initial VEX build — I would in this case! The VEX guide for building the Clawbot is an excellent introduction to the robot build and for learning the uses of most of the parts categorized by students in Step 1.
And although their first build will not be open-ended, using a guiding question (like those in Step 1) will enable students to tap into their creativity and resourcefulness when programming their bot.
Students already familiar with electronics or robotics suchas littleBits or LEGO Mindstorms will already be familiar with the concepts and functions of motors, sensors, gears and system development. However, the metal/aluminum structures and configuration of the VEXnet system or the new V5 system will most likely be very new to them. For the others, everything they encounter will be new and perhaps be intimidating. So give your learners time to explore and learn through guided practice and gradual release of responsibility.
Note to teachers: Although this step could be carried out independently by an experienced and patient builder, I recommend pairing your students for the initial build. Uniting the structural and motion components is not an easy task. By working cooperatively, the students will realize the need for teamwork.
Whenever I encounter learners in my workshop with significant expertise in VEX EDR, I assign them an open-ended robot build and program that must adhere to specific criteria and constraints. That keeps them engaged, allows them to expand on their creativity and prevents them from doing all of the heavy mental lifting in a group that often deprives less experienced learners of the vital toil necessary for more in-depth learning.
Step 3: Learn the functions of gears, motors, sensors and other components.
Students will also need to understand that magic doesn’t make robots work or move efficiently. Instead it's an amalgamation of systems working in concert — that rely on electronic controls (such as sensors and microcontrollers) and programming software for instructions.
Even before programming (Step 4) students should learn that motors, wheels, gears, shafts and also pneumatics (among other accessories) is what enables motion in robot mechanism. For helping them make some of these connections, offer a couple of the learning targets (LTs) that I constructed for the Clawbot build:
I can hear each motor grind when I move the gears behind the wheels on both sides of my robot.
I can seat the shafts (axles) all the way into each motor.
Try these sample troubleshooting questions whenever students get stuck. Bear in mind that you’ll most likely need to help them make visual connections by using your teacher-created model (see Step 1).
Does moving one wheel move the entire system? Do they drive one another? Are they interconnected?
Does your axle turn but your wheel doesn’t? Are you using the correct inserts in the wheels?
Are your wheels hopping? Are there inserts in the wheels?
Step 4: Learn to program your bot.
Luckily VEX Robotics provides preloaded default code on the VEX Cortex Microcontroller. After your students have completed a successful Clawbot build and have successfully paired their joystick to the cortex, allow them to run the default program (Note: they won’t be able to see the code). For many students seeing the robot they built move forward and backward, lift and lower its arm, and open and close the claw will make them feel like superstars! Allow them this moment of celebration and be sure to engage them in reflection. Also advise them that they will need to learn programming skills to make their robots move beyond the default program.
Now it’s time to really learn how to program. These are the steps I use to coach my students and simplify the process:
Create a user account with VEX Robotics.
Go to the ROBOTC for VEX Robotics 4.x page to explore your options and you’ll be pleased to see, that there’s a fun and easy-to-use graphical option that will keep your students engaged.
Note: I love using ROBOTC because it assists students with learning real-world C programming skills that are used by both engineers and computer scientists. Therefore, I highly recommend using the ROBOTC Natural Language Library on the Carnegie Mellon Robotics Academy website.
Download ROBOTC. I would consult your IT department for this step as there are options for either individual or multiuser installs (Note: Mac users will need to need to take a few extra steps).
After your software is installed correctly, update the firmware on both the Cortexand Joystick. Note: Due to the many intricate steps, these are tasks that I prefer students use video tutorials rather than following my verbal instructions.
Learners new to C-based programming should start with downloading sample programs.
Be sure that your programs match your robot’s physical configuration. This step is very important otherwise your setup for motors and sensors will not be correct.
To get students grounded in the basics, I tend to start them with five sample programs. I think it’s important for them to see how code manipulates basic movements — primarily autonomously and in both arcade and tank modes with the joystick.
As students develop capacity for understanding how to program their robots, allow them to write their own code commands to assign their robots more complex tasks. They can use a ROBOTC syntax reference guide for assistance with either ROBOTC Graphical, ROBOTC NL and ROBOTC through the process. Also teach them the value of code to reuse for making their work easier.
Every Journey begins with a single step — well maybe 4.
No doubt, learning and teaching to build and program high-level robotics is not easy and is a time-consuming process. However, this is part of the labor that is required for developing students who will become great engineers and computer scientists. Unfortunately, we can’t pass the buck and keep our fingers crossed that they’ll learn it in college. It starts in K-12 and is ongoing lifelong process. A.P.J. Abdul Kalam once said, “Great teachers emanate out of knowledge, passion and compassion.” And I believe that great students need great teachers who are willing to expand their knowledge base (see the ISTE Standards for CS Educators) for no other reason than it’s what our kids need.
My sincerest gratitude to Tim Oltman, James Westmoreland and Kenyatta White-Lewis for guiding my learning by helping me connect my CS previous knowledge with new skills in robotics.