Teacher Guide
Teacher Guide
Test your code with a virtual robot then use the same code on your physical robot!
Work on code for a VEX competition, new competitions are modeled each year
www.robotvirtualworlds.com
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 3
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 4
Table of Contents
Table of Contents
Table of Contents
35 Navigating the
3 Things to Consider When
Teaching Robotics Curriculum
5 FAQ 35 The Fundamentals Chapter
6 Checklist/How do I use this 44 The Setup Chapter
teacher’s guide?
56 The Movement Chapter
7 Introduction 68
74
The Remote Control Chapter
The Sensing Chapter
7 VEX Video Trainer Lesson Structure 93 The Engineering Chapter
8 Classroom Setup & System
Requirements Important Resources!
9 What does the VEX Cortex Video
Trainer Teach/Differentiated Instruction 94 Safety
10 How do I use the Curriculum in 112 Breaking Programs into Behaviors
my classroom? 113 Sense Plan Act
11 What topics are covered in each Unit? 114 Teaching Pseudocode & Flowcharts
12-13 General Layout of the Curriculum 115-119 Introduction to Pseudocode
120-122 Introduction to Flowcharts
14 Scope and 124 Introduction to Robot Programming
Sequence 125 Teaching How to Troubleshoot Programs
45-46 Building Your Robot
14 Class Rules and Organization
33 & 98 Engineering Process
First Assignment
100 Project Planning
Safety
102 Assessment Rubrics
The Rube Goldberg Machine™
15 Your First Robot
Teaching Robot Math
Online Resources
Teaching Programming Using 104 www.vexteacher.com
Simulation Software 105 Teaching Engineering Design Process
The Movement Chapter 107 Planning Your Project: Technical Sketching
16 The Remote Control Chapter 110 VEX Robotics Competitions
The Sensing Chapter 110-111 VEX In-School Design Problems
The Engineering Chapter
17 Chapter Overview
17 The Fundamentals Chapter
18 The Setup Chapter
19 The Movement Chapter
25 The Remote Control Chapter
27 The Sensing Chapter
32 The Engineering Chapter
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 5
Before starting
►► Will the VEX Cortex Video Trainer help me teach to Standards?
Yes! See Appendix
►► What do I need to prepare for class?
See Checklist, page 6; Lesson Structure, page 7; and Classroom Setup page 8.
►► What general topics are covered with the curriculum?
See Topics Covered, page 9 and 11 and the Chapter Overview on pages 17-34.
►► How do I use the VEX Cortex Video Trainer in the classroom?
See Using the VEX Cortex Video Trainer in Class, page 10.
►► I want to know what’s in each Chapter and Unit, where to I go?
See Chapter Overview Fundamentals page 17; Setup pages 18-19; movement, pages 19 - 24;
Remote Control, pages 25 - 26; Sensing pages 27 - 31; and Engineering pages 32 - 34.
During class
►► How do I teach kids to think about programming?
See “Breaking Programs into Behaviors” and “Sense Plan Act” pages 112 - 113.
►► What should I teach and when should I teach it?
See the Scope and Sequence section, pages 17 - 34.
►► What do I do about students who go faster/slower than the others?
See Differentiated Instruction, page 9.
After class
►► How do I prepare my kids for competitions?
See Robotics Competitions: see the Engineering Section pages 32 - 34 and pages 98 - 101.
►► Are there quizzes or homework?
Each sub unit page includes a series of “Check your understanding” questions that can be used to
develop a unit quiz. See Rubrics, pages 102 - 103. Robots are hard to take home, but there are
many ways to incorporate research assignments or Robot Virtual World assignments into home-
work assignments.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 6
(Highly Recommended) Get involved with the RECF Foundation’s annual VEX
competition challenge. The challenge changes every year and provides teachers
with a brilliant engineering problem for their class to solve each year.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 7
Each unit comprises a unit level programming challenge that students will to solve by the
end of the unit.
►► ROBOTC RBC Files RBC files are starter programs that will automatically open once your
software is installed and configured, click the file and the starter program will open. Some
browsers will require uses to save and then open the file using ROBOTC software.
►► Step-by-step guided video instruction that introduces key lesson concepts (e.g. Loops).
Students are taught programming using a step-by-step process; foundational programming
concepts are integrated into each unit and repeated in subsequent units.
►► Built-in “Check your understanding” questions designed to provide students with in-
stant feedback on whether they understood the big ideas in each lesson.
►► Reference Guides that are designed to support the lesson (e.g. white space, comments,
loops, conditional statements, Boolean logic, etc.)
►► Robot Virtual World extension activities. The RVW activities are designed to significantly
enhance student’s programming opportunities allowing them to program robots underwater,
on an island, in outer space, and via a VEX Cortex international competition. Students are
able to use the same programming commands on their virtual solution as they do on their
physical robot.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 8
Classroom Setup
What is the best setup for student workstations?
Ideally, pairs of students will work together at one computer, with one VEX robot.
Set up each workstation with:
a. ROBOTC 4 for VEX Software installed on each computer.
• Check each computer to see that the software works
• Check each computer to see that Robot Virtual World software works
b. Access to the The VEX Cortex Video Trainer Curriculum software
• This can be installed locally or on a local network server with proper licensing
• This may also be accessed remotely via Internet, if your school’s network
infrastructure and policies allow
c. Two pairs of headphones with headphone splitters
• One pair for each student
• Avoid using speakers, as multiple workstations in the same classroom will
generate too much overlapping noise
d. One VEX Cortex robot kit per work station
e. ROBOT Virtual World Software This software is not required to use the curriculum
and complete the lessons, but research shows that it is a very effective tool to
teach programming.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 9
Differentiated Instruction
One of the biggest challenges facing teachers today is meeting the needs of each
individual student in their classroom; that is the core of differentiated instruction. Differentiated
instruction asks teachers to approach students at their instructional level, and requires
students to show evidence of growth from their instructional level. Differentiated instruction
encompasses more than just assessment. It involves all aspects of instruction: classroom
delivery, overall learning environment, learning content, and assessment. The VEX Cortex
Video Trainer provides many opportunities for students of all abilities:
►► Programming - the unit challenges are supported by step-by-step instructional videos that
students can work through at their own pace.
►► Solving the open-ended programming challenges embedded into the units that make up the
Movement, Remote Control, Sensing, and Engineering Units.
►► Completing the virtual programming challenges found in the Robot Virtual World games
(Ruins of Atlantis, Palm Island, Operation Reset, Highrise): attempt to complete the entire
world, or choose to program different robots within a Virtual World.
►► Challenging gifted students to iteratively improve their engineering and programming solu-
tions using ROBOTC.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 10
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 11
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 12
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 13
Sub-Page Example
Sub-Pages
Each sub page within the main navigation
opens to a sub-page. Pictured at the right is
the ROBOTC Rules Part 1 sub-page. The
majority of the pages contain one short video.
As set of “check your understandings” questions
that asks students questions about the video
that they just watched, and additional reference
materials if they are important to the lesson.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 14
The RGM project also provides the teacher with the opportunity to introduce students to
the assessment tools that they will use throughout the course.
IMPORTANT Begin the chapter by introducing the challenge and explain to students that they will
learn to program the Labyrinth Challenge multiple ways, from using very simple timing
to using feedback from encoders, to developing their own automated straightening
algorithm, to using PID. The curriculum uses this “simple to efficient” way to introduce
programming concepts to students in all of the chapters. For students to truly learn
programming, they should complete all methods of solving the challenge.
FUNDAMENTALS Begin with the “Moving Forward” unit in the Movement Chapter before you spend
CHAPTER time in the Fundamentals Chapter. Once students complete the Moving Forward
unit they will have context that they can relate to when the learn what is taught in the
Fundamentals Chapter. The Fundamental Chapter teaches students: how machines
think, what behaviors are, and what comments, whitespace , reserved words,
compiler errors, and general rules around syntax are. Students can begin by using
pseudocode in the Movement Chapter and flowcharts in the Remote Control and
Sensor’s Chapter when the programming logic becomes more complex.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 16
It is common for beginning programmers to write programs that compile and that
Pseudocode they believe that the logic is correct, but then the robot doesn’t do what they think
and that it should do. Starting with the Remote Control chapter, require students write
Flowcharts their program using pseudocode and then develop a flowchart that illustrates the
robot’s decision making. You will find classroom resources to teach these important
processes on pages 17 - 25 of this teacher’s guide.
Minefield The Minefield Competition is and end of chapter activity that provides a game like
environment that is motivating to many students. Feel free to modify the game.
Competition
Provide opportunities for student to write the rules for the game.
The programming unit teaches students how to write functions and pass parameters,
about variable types, if/else statements, switch cases, and all of the VEX Cortex
sensors. The curriculum continues to use many challenges that the students have
seen before, but requires them to solve the challenge using a different, more
advanced programming strategy. Feel free to allow the students to modify the
programming challenges as long as they teach the same foundational concepts.
Second
The Engineering Chapter - pages 32-34 and pages 93-103
Semester The VEX Cortex Video Trainer is intended to be used to teach students introductory
90 Days programming. To truly learn engineering, students must be engaged in multiple
engineering problems. We strongly suggest that you enroll your students in a
Robotics Education and Competition Foundation (RECF) competition. The RECF
sponsors a new competition each year and provides teachers with a great tool to
teach engineering with. When students are given a problem have them begin by
conducting research to see how others solved the problem. Require them to use all of
the engineering tools found in the Engineering Chapter: the Engineering Journal, time
management tools like PERT and Gantt Charts, and Design Reviews.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 17
Chapter Overview
What topics are covered in each Unit?
Chapter: Fundamentals - 10 days
1. Introduction to Programming - 5 days, then ongoing
a. Programmer and Machine - an instructional video that introduces the new programmer
to how they need to think to translate their ideas into a language that a machine can
understand.
b. Planning and Behaviors - an instructional video that introduces the new programmer
to the idea of robot behaviors. This sub-unit also includes three reference PDFs:
Behaviors, Pseudocode and Flowchards, and Thinking about Programming.
c. ROBOTC Rules Part 1 - an instructional video that introduces students to C program-
ming syntax and how ROBOTC uses color to indicate reserved words. The sub-unit
also includes two reference PDFs: Whitespace and Reserved Words.
d. ROBOTC Rules Part 2 - a followup instructional video that continues to teach students
about syntax, comments, and error messages. This sub-unit also includes three
reference PDFs: Comments, ROBOTC Error Messages, and ROBOTC Rules.
e. In this teacher guide you will find several introduction to programming guides:
• Breaking Programs into behaviors, page 14
• Sense Plan Act, page 15
• Introduction to pseudocode, pages 16 - 21
• Introduction to flowcharts, pages 22 - 25
2. Natural Language Programming
a. Natural Language programming places code segments into functions and is intended
to make it easier to enable new programmers to program simple code. Natural
Language provides a bridge between ROBOTC Graphical and full ROBOTC.
It is our recommendation that teachers and students learn to program using full
ROBOTC and use the Movement, Remote Control, and Sensing units as they are
currently written and supported to teach and learn VEX robot programming.
The Natural Language programming unit contains a large number of reference guides
that have been added as a resource for teachers.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 18
Chapter: Setup
The Setup Unit contains resources that you and your students can use the first time that they
are starting with their robots.
1. Lesson: Build
The build section includes building instructions for four robot types.
a. Recbot Building Instructions
b. Squarebot 4 Building Instructions for use with ProtoBot kits
c. Clawbot with Sensors Building Instructions (recommended build for this curriculum)
d. Swervebot Building Instructions
2. Wireless System Configuration
a. Update Cortex Firmware (Wireless) - an instructional video that guides the new user
how to update the Cortex firmware with the Master CPU Firmware and the ROBOTC
Firmware. This unit also includes Check your Understanding questions and a VEX
Cortex Driver Installation guide produced by VEX robotics.
b. Updating VEXnet Joystick Firmware - an instructional video that shows the new user
how to update the VEXnet Joystick with the latest firmware using ROBOTC. The
lesson also includes Check Your Understanding questions and two PDFs:
Establishing a VEXnet Link and VEXnet Joystick Calibration
3. Wired System Configuration
a. Update Cortex Firmware (Wired) - an instructional video that guides the new user
how to update the Cortex firmware with the Master CPU Firmware and the ROBOTC
Firmware. This unit also includes Check Your Understanding questions and a VEX
Cortex Driver Installation guide produced by VEX robotics.
4. Download Sample Programs
a. Download a Sample Program Part 1 - An instructional video that shows how to
download a sample program over VEXnet. The lesson also includes a USB-to-Serial
Cable Driver Installation instructional PDF.
b. Download a Sample Program Part 2 - The second part of the Download Sample
Program video. This lesson also includes Check Your Understanding questions.
c. Download a Sample Program over USB - and instructional PDF that takes the new
programmer step-by-ste through the download sample program over USB proce-
dure.
b. Reversing Motor Polarity - This lesson shows the student how to program
their robot to move backward by changing the polarity of their motors. The
lesson set includes: an instructional video, RBC files, and Check Your
Understanding questions.
c. Renaming Motors - This lesson teaches students how to use the Motors
and Sensors setup window to give custom names to individual robot
motors. The lesson set includes: an instructional video, RBC files, and
Check Your Understanding questions.
d. Timing - This lesson teaches students how to adjust how long a motor is
turned on and off using timing. The lesson set includes: an instructional
video, RBC files, and Check Your Understanding questions.
b. Turn and Reverse - This lesson is designed to show students how to make
different types of turns. The lesson includes an instructional video, RBC files,
Check Your Understanding questions, and two programming investigations: the
Turning Investigation and the Sentry Simulation Level 1.
d. The Sensor Debug Window - The debugger is an incredible tool that is included
within ROBOTC. MAKE SURE YOUR STUDENTS KNOW HOW TO USE THE
DEBUGGER! This lesson includes an instructional video, RBC files, Check Your
Understanding questions, and two programming challenges: Basketball Drills and
Power Levels with Encoders.
e. Forward and Turning - This lesson completes the introduction to shaft encoders
lesson and includes a summary video, Check Your Understanding questions,
RBC files, and an additional Engineer Investigation called Turning with Encoders.
Driving Straight 2 challenges students to solve the same course that they solved
earlier, but this time they are using feedback from sensors and an algorithm that
they just developed. Hopefully they see that using sensors and programming is
much better than motors and timing.
Seeing the Difference requires students to use the built in debugger. The debugger
is a programmer’s best friend and this investigation is designed to give students
practice using the debugger.
c. Values and Variables Part 1- This teaches students about variables and the
power of using variables when writing code. This lesson includes an instruc-
tional video, RBC files, Check Your Understanding questions, and two refer-
ence PDFs: Variables and Global Variables.
Variables are very important in programming. These two reference guides teach
students about variable types, how to declare variables, and provide commented
examples of variables being used in code.
Students completed this challenge several units ago using only timing, now they can
use motor encoders and PID and they should see that they can program their robot
to move more accurately this time.
c. Mapping Values Part 1 - This lesson set teaches students which joystick button and
stick maps to which values.
d. Mapping Values Part 2 - This video completes the Joystick Mapping lesson and
teaches students how to adjust the speed of the motors. The lesson includes: instruc-
tional videos, RBC files, Check Your Understanding questions, and several program-
ming challenges: Robo-Slalom and Race to the Finish.
b. Using Timers - In this lesson students learn to implement timers in their programs.
This lesson includes an instructional video, RBC file, Check Your Understanding
questions, and two programming challenges: Round Up, and Bull In the Ring.
d. Controlling the Arm Part 1, Part 2, & Part 3 - This lesson provides a step-by-step set
of instructions to program their robot’s arm to be controlled by the remote control.
The lesson set includes three instructional videos, RBC files, Check Your Under-
standing questions, and three practice programming challenges.
b. Limiting the Arm Part 1 and Part 2 - In this lesson students will learn how to use both
the touch sensor and the potentiometer to control the arm on the robot. This lesson
set includes an instructional video, RBC files, Check Your Understanding questions,
several additional programming challenges and reference handouts.
b. Passing Parameters Part 1 and Part 2 - In this lesson set students learn about the
power of using parameters in functions. The lesson set includes: two instructional
videos, RBC files, Check Your Understanding questions, and four programming
challenges.
b. Forward until Near - In this lesson student will learn how to write a program that uses
the ultrasonic rangefinder. This lesson set includes an instructional video, RBC files,
Check Your Understanding questions, several additional programming challenges and
a Thresholds reference handout.
e. Straight Until Near (Fine Tuning) - In this lesson student will complete their Forward
Until Near coding. This lesson set includes an instructional video, RBC files, Check
Your Understanding questions, an additional programming challenge and the Boolean
Logic reference guide.
Note: Linetracking is difficult with some robot types. You may want to have a
specially built robot specifically for this lesson because it takes a very long time
for students to take apart and build a new robot. Another option is to complete the
lesson using the Robot Virtual World simulation software.
c. Basic Line Tracking - This lesson teaches students how to write a program that will
complete a basic line tracking behavior. The lesson includes an instructional video,
RBC files, Check Your Understanding questions, and two programming challenges.
d. Line Tracking for Distance - In this lesson students will learn how to use feedback from
multiple sensors to track a line and stop at a specific distance. The lesson includes: an
instructional video, RBC files, Check Your Understanding questions, a programming
challenge.
e. Optimized Line Tracking - In this lesson students will learn how to optimize their
motor speeds in order to track lines more efficiently. The lesson includes: an
instructional video, RBC files, Check Your Understanding questions, and two
programming challenges.
Note: Students have seen variants of these robot challenges before. The difference
now is that they have more programming tools to work with. Encourage students to
modify the programming challenges to make them more interesting.
7. Intro to the LCD - 5 days
a. The VEX LCD - In this lesson students will learn about the many uses of the VEX
LCD. This lesson set includes an instructional video, Check Your Understanding ques-
tions, and the VEX LCD reference guide.
b. Displaying Text - In this lesson teaches students how to use the VEX LCD as an
output device. The lesson includes an instructional video, RBC files, and Check Your
Understanding questions.
c. Displaying Sensor Values - In this lesson teaches students how to continually update
the values on the LCD and to display current robot sensor values. The lesson includes
an instructional video, RBC files, and Check Your Understanding questions.
Note: Have students go back to several previous programming challenges and to
modify the programming challenges so that students can see real time sensing
feedback on the LCD.
.
b. Project Planning - In this instructional video students learn the importance of project
planning. The handouts provide insight on how to build a team, plan time, organize
ideas, record project progress, and prepare for a competition.
•
•
b. The VEXnet Competition Switch - When you get to the competition, you will be using
a VEXnet Competition Switch, not all schools have one. This instructional video and
Check Your Understanding questions are designed to prepare you to use the VEXnet
competition switch.
c. The Programming Hardware Kit - This lesson will show you how you can test your
competition program using the Programming Hardware kit.
5. Rubrics
a. Assessment rubrics are common tools used for project based courses. These
rubrics may not fit everything that you are doing in your classroom, but can
be used as a guide to develop your own rubrics, or can be used as they are.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 35
Fundamentals/Introduction to Programming
The Fundamentals Unit is divided into two Lesson Sets: Introduction to Programming and Natural Language Programming
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 36
Fundamentals/Introduction to Programming
The Programmer and the Machine
The “Programmer and Machine” video
explains to students the role of the programmer
and the machine, and how the programmer
must learn to think like a machine in order to
program robots. The video is are designed to
explain programming concepts to beginners.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 37
Fundamentals/Introduction to Programming
The Planning and Behaviors Video
The Planning and Behaviors introductory
video explains behavior based program-
ming to students. The lesson also includes:
check your understandings questions, three
handouts, and two additional videos which
are shown below.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 38
Fundamentals/Introduction to Programming
The ROBOTC Rules Part One includes:
The introductory video, check your under-
standing questions, and the two Whitespace
and Reserved Words handouts shown below.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 39
Fundamentals/Introduction to Programming
The ROBOTC Rules Part Two includes:
The introductory video, check your under-
standing questions, and the three handouts
shown below.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 40
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 41
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 42
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 43
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 44
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 45
Setup/Build
Note: the Clawbot with Sensors build on the next page is the recommended build
for schools that purchased Clawbot kits.
Robot Building instructions come in PDF format allowing you to either print them or use them directly from the screen.
Additional instructions and updates will always live on the VEX Building Link at the Robotics Academy website.
RECBOT is the robot used most Squarebot 4.0 is an excellent Swervebot is a significantly
in the curriculum. It can be built alternative to the RECBOT, and smaller robot model that
out of the VEX Protobot kits with takes up a little less space. It requires significant cutting to
plus sensor kits. requires very little adjustment the VEX metal to create. It’s
to make it work with the videos, smaller form factor make it
and is also buildable using ideal for storage and for robot
Protobot kits plus sensor kits. applications that require sharp
turns such as line following.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 46
www.vexteacher.com
The Test Bed works well with Tumbler and Protobot are
Natural Language programming, excellent robots but are not
and allows the system to recommended for use with the
be learned in a controlled curriculum.
environment.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 47
Updating the VEX Joystick Firmware Video - Guides students step-by-step as they update the VEXnet Joystick firmware.
Establishing a VEXnet Link, VEXnet Joystick Calibration, and VEX Programming Drivers Reference Guides - Step-by-
step instructions that guide students through the VEXnet setup and configuration process.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 48
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 49
Downloading a Sample Program over VEXnet Videos - Guides students step-by-step through the process of down-
loading a ROBOTC program. The first video tells them how to setup their hardware. The second video shows them how
to powerup their VEX Cortex and VEXnet Joystick, confirm their settings, and then download their program. Once this
process is complete the Cortex remembers all of the settings and so setup only need to be done once.
USB to Serial Driver Installation and Downloading a Sample Program over USB Reference Guides - Step-by-step
instructions that guide students through installing drivers.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 50
1. Select “File”
2. Select “Open Sample
Program”
3. Navigate to the folder that
you want to open
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 51
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 52
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 53
The current VEX Robotics The Level Builder and Model Importer allow student to build their
Engineering Challenge. Students own levels and import their own models into their new worlds. RVW
can begin developing code and is compatible with any modeling software that can generate a .STL
strategies before they build their file, including Autodesk, SolidWorks, and Google Sketchup.
robots
The Palm Island, Operation Reset, and Atlantis Robot-To-The-Rescue programming games take kids to yet to
be discovered worlds where their robots need to be programmed to solve challenges!
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 54
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 55
The Guided Programming and Engineering Lessons are designed to be “learner centered”.
Students work through the lessons in a step-by-step fashion. The first three units: Movement, Remote
Control, and Sensing contain Lesson Sets teach a particular programming concept and include
several programming and engineering challenges (see below). The last lesson set is “Engineering”,
This section includes resources that students will use as they solve their engineering design challenges.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 56
The Movement Unit also includes fourteen programming challenges where students are challenged to solve
simple movement programming challenges. Although some of the challenges appear to be repetitive, the
extra challenges enable the teacher to differentiate instruction, it will be up to the teacher to decide which
students do which challenges. The extra challenges give the teacher to differentiate the instruction based on
student’s ability.
Note: It will be important to remind students that although the initial work may seam easy, that the skills that
they learn in the movement unit are foundational pieces that they must understand before they move to the
Remote Control and Sensing Units.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 57
Movement/Challenge Description
Each of the large units, Movement; Remote Control, and Sensing, has a unit
programming challenge that students will be guided step-by-step toward a solution.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 58
Movement/Moving Forward
Program Dissection Video - Students are given a line by line description of the code used in the first sample program.
Reversing Polarity Video - This video shows students how to make their robot change directions and turn.
Renaming Motors Video - ROBOTC provides a very handy utility that allows the programmer to rename their motors
using names that make sense to them (i.e. leftMotorArm, or RightWheel). This video shows how it works.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 59
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 60
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 61
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 62
Movement/Shaft Encoders
The Shaft Encoder Video - This video teaches students how shaft encoders work and how they are used to control
distance.
The Motor and Sensors Setup, Forward for Distance 1 Video - This video teaches students how to configure the shaft
encoders using the Motors and Setup wizard.
The Encoder, Forward for Distance 2 Video - This video teaches students why clearing the values in the encoder is
important and introduces them to how “While Loops” work.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 63
The While Loop Handout - Shows students the code that controls
a while loop.
Shaft Encoders, Forward and Turning Video- Teaches students how to use encoders in path planning.
The BasketBall Challenge - A programming challenge designed to give student’s practice with the shaft encoders.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 64
Basketball Drills, Power Levels with Encoders, and Turning with Encoders are available as RVW Challenges.
Movement/Automated Straightening
Automated Straightening Part 1 Video - This video teaches students will learn how to use feedback from encoders and
conditional statements to develop an algorithm that allows the robot to self-correct its forward movements.
Automated Straightening Part 2 Video - This video teaches students how to implement the automated straightening
algorithm on their robot.
if-else Statement Handout - This handout can be used as a study guide that shows students how the if-else Statement
can be used with a while loop to help a robot make a decision.
Movement/Automated Straightening resources continued next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 65
Boolean Logic Part 1 & Part 2 Videos - Boolean Logic enables robots to
make decisions. The first video teaches students how conditional statements
work. The second teaches them about logical operators. There is also a
Boolean Logic 3 page PDF that complements the videos.
Variables and Values Video Part 2 - This teaches students about variable
names and types, how to initialize a variable, and how to use variables in their
program.
Variable and Global Variables Reference Guide - This PDF can be used as
a study guide and covers everything taught in the two variable videos.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 66
Integrated Encoders
This lesson set contains four videos designed to introduce students to the Integrated Motor Encoders and PID.
Forward for Distance IME Video - This video teaches students will learn how to use feedback from encoders and condi-
tional statements to develop an algorithm that allows the robot to self-correct its forward movements.
Principles of PID Video - This video teaches students how PID enabled robots can automate the ability to track how far
each motor spins and make automated adjustments as the robot moves.
Forward for Distance PID Video - This video shows how to setup your motors programmatically to use PID and how to
observe the values of the motors using the debug window.
Forward for Target Distance PID Video - This video teaches how to use the moveMotorTarget and getMotorEncoder
commands eliminating the robot drifting past the target location.
Integrated Encoder resources continued next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 67
The VEX Cortex Integrated Motor Encoders need to be installed. This lesson set
includes a step-by-step set of instructions that you will need to install your IMEs.
Now that you know how to use IMEs these lessons are designed to provide practice.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 68
Note: the VEXnet Joystick does not communicate its values to the PC,
only to a VEX Cortex, so it cannot be used to control the Virtual Robot.
A USB Logitech Joystick is recommended for use with the virtual worlds.
There are resources at the ROBOTC Wiki for using any USB joystick and
also directly in ROBOTC’s Help Documentation.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 69
Introduction to Remote Control Video - Students will learn how the VEXnet Remote Control works and be able to
describe the range of values that the joystick provides. Additionally, they will learn which ROBOTC commands allow them
to access the Remote Control.
Real Time Control Video - Students will learn how loops work and the difference between and infinite loop and a loop
controlled by a conditional statement, they will also learn new ROBOTC reserved words that allow them to control the
different remote controller channels.
VEXnet Joystick Calibration Guide - Initially, calibrating the Joystick may appear
complicated to students. This is a four page guide with lots of pictures that takes
them step-by-step through Joystick calibration.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 70
While Loops PDF - A simple example that shows how While Loops work.
Boolean Logic Part 1 & Part 2 Videos - The Boolean Logic videos are included in multiple lessons and are intended for
review. These videos teach foundational principles that all programmers need to know.
The first video teaches students how conditional statements work. The second teaches
them about logical operators. There is also a Boolean Logic 3 page PDF that
complements the videos.
Mapping Values Videos Part 1 & 2 - These videos teach students how to map motor ports to the VEX joystick. By the
end of the videos students will be able to change the motor speeds assigned by the remote control and will be able to
optimize the joystick values to suit their needs.
Race to the Finish and Robo-Slalom Challenges - These are two relatively simple challenges that students will have
fun with. They are designed to give the student practice optimizing the value and configuration of the VEX joystick.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 71
Remote Control/Timers
Time and Timers Video - In this video students will learn the difference
between using the Wait1Msec command and using Timers to control
behaviors, they will also learn how many Timers are available, how to reset
Timers, and how to access the value of a timer programmatically.
The Using Timers Video - This video teaches students how to use
the reserved words built into ROBOTC to control timers.
The Timers PDF Reference Guide - is a one page handout that can
be used as a study guide for using Timers.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 72
Remote Control/Buttons
Buttons provide a very powerful input enabling students to control their robot’s behaviors. This unit teaches students how
to develop code that uses feedback from the remote control’s buttons to control their robot’s movements.
The Remote Control Buttons Video - This video teaches students the numbering systems for buttons on the VEX remote
control. It also shows them how to access the value of a button, and the values that buttons send to the controller.
The Remote Start Video - This video teaches students how to develop competition ready code and how an idle loop can
be used to control the start of a program.
The Controlling the Arm Video Part 1 - This video introduces students to programming an arm for the Minefield Challenge,
how to use the Motors and Sensors Setup Wizard to rename motors, and how they can use an if statements to control the
up and down motion for the arm.
Controlling the Arm Video Part 2 - This video teaches students how the else branch can be used to complete their arm
control algorithm.
Controlling the Arm Video Part 3 - The final video shows students how to integrate a while loop and several if-else
statements to control the robot’s arm.
Additional Remote Control labs - The Remote Control Engineering Lab provides students with code and a set of activities
designed to take them step-by-step through a remote control lab. Robo-Dunk, RoboWriter, and Turn Buttons are additional
labs designed to provide a set of hands on activities to check a student’s understanding of programming buttons.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 73
Controlling the Arm - Broken into 3 videos due to the complexity and length of the topic.
Button Labs - Available in PDF format and as a Robot Virtual World programming challenge.
Note: the VEXnet Joystick does not communicate its values to the PC,
only to a VEX Cortex, so it cannot be used to control the Virtual Robot.
A USB Logitech Joystick is recommended for use with the virtual worlds.
There are resources at the ROBOTC Wiki for using any USB joystick and
also directly in ROBOTC’s Help Documentation.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 74
Sensing
Sensing/Additional Resources
Since the release of the VEX Cortex robot VEX Robotics has
added the Gyro, Accelerometer, and Integrated Motor Encod-
ers. There are four places that you can find help with new
sensors or ROBOTC features.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 75
Example Robot Behaviors/Functions - The list below are example behaviors and functions that students might use to
solve the Grand Challenge.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 76
The Robot Virtual World Grand Challenge Design Specification - This world is designed
so that it can be solved many ways allowing the teacher to assign student challenges
based on ability. Below, at the left is a picture of the home screen for the RVW Grand
Challenge, it is found in the Utility Tables section, in the center is a screen shot of the
RVW, and at the right is the RVW Grand Challenge programming description PDF.
The Robot Virtual World Robotics Academy Grand Challenge Design Specification -
This world is also designed so that it can be solved many ways allowing the teacher to
assign student challenges based on ability. This world is a little easier than the RVW
Grand Challenge above. Below, at the left is a picture of the home screen for the RVW
Grand Challenge, it is found in the Utility Tables section, in the center is a screen shot
of the RVW, and at the right is the Robotics Academy RVW Grand Challenge program-
ming description PDF.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 77
The Configuring Sensors Video - The video explains how to configure sensors using ROBOTC’s Motors and Sensors
Setup wizard and reviews the rules for naming sensors.
The Sensors Reference Guide PDF - A 12 page reference guide that describes the Analog and Digital ports found on
VEX Controllers and describes how touch sensors work.
Servo Motors Reference Guide PDF - A 2 page reference guide that shows students how to control servo motors.
Limiting the Arm Part 1 Video - This video explains how the touch sensor works as a limit switch to control how far the
motor can move. Students will also learn how to apply the AND Logical Operator in their conditional statement enabling
them to check two conditions at the same time.
if-else Statement Reference Guide PDF - Provides students with a review of how the if-else Statement works.
Switch Cases Reference Guide PDF - Provides students with working code that shows how a Switch Case works.
Limiting the Arm Part 2 Video - This video teaches about potentiometers and how they work. Students will learn how to
integrate the potentiometer into the mechanical arm mechanism using ROBOTC’s debug window.
Potentiometer Reference Guides - The reference guides are designed to be used as study guides or teaching tools and
explain how the sensor works.
Lifting the Arm resources are continued on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 78
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 79
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 80
This lesson set will teach students to build their own behaviors by creating functions. They will also learn to pass
parameters that make their functions more portable.
The Behaviors and Functions Part 1 Video - This video introduces students to the power of functions enabling them to
make their programs shorter and easier to read.
The Behaviors and Functions Part 2 Video - In this lesson students will learn to transform their code into functions.
They will learn how to declare a function and what a parameter is.
The Shaft Encoders Reference Guide - This PDF explains how Shaft Encoders work.
VEX Integrated Encoders Module - Video lessons, challenges, and helper pages.
Optimizing Code and Incorporating Functions Challenges - Two challenges that give students the chance to revisit
old code that they wrote and make the code easier to read by incorporating functions into their code.
Passing Parameters Part 1 Video - In this video students learn how to pass parameters allowing them to write more
powerful functions, they will also learn the rules to naming and specifying parameters.
Passing Parameters Part 2 Video - In this lesson students learn how to implement the parameter including the type of
data the parameter will pass and the name of the parameter.
Function Challenges - The Real World Values, RoboDunk2, Seeing the Difference, and Robot Acceleration Program-
ming Challenge enable students to revisit code that they’ve previously written and optimize it by incorporating functions
and parameters.
Additional resources for the Sensing/Behaviors and Functions lesson set can be found on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 81
Instructional Videos
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 82
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 83
This lesson set will teach students how to program the VEX Ultrasonic Rangefinder Sensor
The Ultrasonic Rangefinder Video - This video teaches students about the Ultrasonic Rangefinder.
The Ultrasonic Rangefinder Reference Guide - This guide explains how the Ultrasonic Rangefinder works.
The Forward Until Near Video - Shows students how the code for the Forward Until Near behavior works with the ultra-
sonic rangefinder including: using the Motors and Sensors wizard, the while loop, and the related code.
The Thresholds Reference Guide - A reference guide that explains what a threshold value is.
The Straight Until Near Video - This lesson combines the Forward Until Near behavior with the Automated Straightening
behavior. They will also review how encoders work and why you need to clear them before use.
The Straight Until Near Fine Tuning Video - In this lesson the student will optimize their program using the debugging
window so that it moves to the object and stops when it hits the object.
Forward Until Near Programming Challenges - This lesson set contains four increasingly difficult programming chal-
lenges that use the Ultrasonic Rangefinder: Sentry Simulation Two, The Speed of Sound, Sentry Simulation Level Three,
and the Sonic Scanner programming challenges.
Robot Virtual World Programming Challenges - The RVW simulation software has the Sentry Simulation Level Two,
Sentry Simulation Level Three, Speed of Sound, and the Sonic Scanner programming challenges in simulation.
Additional resources for the Sensing/Behaviors and Functions lesson set can be found on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 84
Instructional Videos
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 85
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 86
Sensing/Line Tracking
This lesson set will teach students how to program the VEX Line Tracking Kit.
The Line Tracker Sensor Video - This video teaches students about the Line Tracker Sensor.
The SwerveBot Building Instructions - The Swervebot tracks lines well and can be used for this challenge.
The Line Follower Kit Reference Guide- This PDF shows students how the light sensor kit works including the values
the light sensor sees and the ports that it connects to.
The Line Tracking Calculating Thresholds Video - This video teaches students how to use ROBOTC’s debugger to
calculate threshold values for the light sensor.
The Thresholds Reference Guide - This reference guide explains what a threshold value is and how to calculate it.
The Variables Reference Guide - This reference guide explains what variables are and how to use them.
The Basic Line Tracking Video - This video teaches students how to build a line tracking behavior.
Line Tracking for Distance Video - This video teaches students how to use a combination of encoder values and the
Line Track kit to track a line for a specific distance.
The Optimized Line Tracking Video - Line tracking can be slow, this video shows how you can modify the motor powers
to significantly increase the speed your robot tracks a line.
Programming Challenges - This unit has the Forward Until Dark, TableBot, Robo500, Robo Slalom Level 2, Minefield
Traversal and Robo Slalom Level three programming challenges to give students practice programming.
Additional resources for the Line Tracking lesson set can be found on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 87
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 88
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 89
This lesson set will teach students how to program the VEX Gyro Sensor
The Gyro Sensor Video - This video introduces the student to how the Gyro Sensor works.
Sensing Turn for Angle Part 1 - Part one of a video set that teaches how to reset and program the gyro sensor to work
with your VEX robot.
Sensing Turn for Angle Part 2 - Part two of a video set that teaches how to reset and program the gyro sensor.
The ROBOT 500 Challenge PDF and RVW - This challenge comes in both a physical and virtual version.
The Minefield Challenge PDF and RVW - This challenge comes in both a physical and virtual version.
Additional resources for the Sensing Turn for Angle lesson set can be found on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 90
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 91
This lesson set will teach students how to program the VEX LED Screen
The VEX LCD Video - This video introduces the many features of the LCD screen.
Displaying Sensor Values on the VEX LCD Video - This video teachers the student how to display continually
changing values to the LCD.
Continually Updating the VEX LCD Video - This video teachers the student how to display continually
changing values to the LCD.
The LCD Display Handout PDF - This handout was produced by Innovation First and explains how to connect the LCD
to the VEX controller
Additional resources for the Using the LCD lesson set can be found on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 92
Instructional Videos
LCD Handout
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 93
Engineering
Engineering
The Engineering section is broken into 5 sections and includes lots of handouts, instructional videos, and rubrics for
assessment.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 94
Engineering/Safety
Safety
Any course that involves moving parts, handling and processing materials and students requires safety training. Safety
begins with the development of a safe attitude. Most accidents can be avoided if a student develops a safe and
conscientious attitude. The safety lesson begins by challenging a student’s general beliefs about safety and concludes
with a safety inspection of the robotics lab.
Safety is an Attitude - A one page handout that defines what safety is and what
safety is not, and concludes with statements that support the fact that most
accidents are preventable with the development of a safe attitude.
General Lab Safety - A four page handout that spells out general safety rules,
describes features of a safe classroom, safe storage, material handling, disposal
of materials, tools and equipment, and ends with a list of definitions of terms that
students may not know.
Safety Checklist - A three page handout that contains a safety checklist, rules to
consider when you are moving things around the lab, and a one page
safety poster.
Electrical Safety - A two page handout that describes safety rules when working
with electricity and common causes of electrical accidents, including defective
equipment, unsafe practices, and lack of electrical knowledge.
Power Tool Safety - A one page handout that sets rules and expectations for
when students use power tools in the robotics lab.
Safety continued next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 95
Engineering/Safety continued
Handouts
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 96
Engineering/VEX Hardware
VEX Hardware
The VEX Cortex Robotics System consists of a micro controller, a set of sensors and motors, and lots of parts. The
documents on the next couple of pages contains valuable information about how the system works. These documents
are available online for free student access and can be used as reference documents or assigned as homework
study guides.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 97
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 98
Engineering/Engineering Process
Many schools compete in robotic competitions; other schools are using the VEX Cortex and IQ systems to teach
engineering. The resources in the engineering section provide students with materials that teach how to manage and
solve engineering design problems.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 99
Understanding the Problem PDF - One of the keys to solving any problem is
“Understanding the Problem”. This three page set of handouts consists of: Defin-
ing the Problem, Technical Research, and Creating a Design Specification.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 100
Engineering/Project Planning
Proper planning is very important to solving any design problem - This section provides many resources designed
to help students learn to manage their time.
Project Planning resources can be found on the next page.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 101
Organizational Matrix Ideas PDF - This three page handout graphically shows three methods of organizing projects.
Recording Progress PDF - The recording progress tools offer the project manager three solutions that can be used to
help team members to document the team’s progress toward the project goals.
Gantt Chart PDF - A Gantt chart provides a graphical illustration of a schedule to help plan, coordinate, and track
specific tasks in a project. This one page handout is designed to teach students how Gantt charts work.
PERT Chart PDF - A PERT chart is a tool that graphically illustrates when parts of the project become due. The
advantage of the PERT chart is that it shows which things must be completed in sequence and which things need to be
completed simultaneously. This one page handout is designed to teach students how PERT charts work.
Preparing for a Competition PDF- Robotic competitions offer unique opportunities to teach students about time
management, resource allocation, teamwork, and problem solving, all within a context that they find challenging but fun.
The Preparing for a Competition handout is designed to support robotics teams as they plan for the competition.
Planning Your Time PDF - Time management is a crucial skill to develop. This four page handout uses a simple activity,
planning a birthday party, to describe a critical skill set that everyone should learn: how to manage time.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 102
Engineering/Assessment Rubrics
Assessment Rubrics
Timely assessment is paramount in today’s educational environment. A clear expectation of what is being assessed is a
key to training students. Traditional assessments are provided in the curriculum; ie quizzes. The assessments found in
this section are assessment rubrics for project-based learning. There are many other tools that a teacher may use, but
this section provides some examples. Rubrics allow all stakeholders to see what is being measured.
Writing Criteria Rubric - Writing is a process and good writing requires several steps: brainstorming, outlining,
pre-writing, and editing. This is a simple rubric that check for those steps.
Engineering Journal Rubric - Explains to students what is expected in their engineering journals.
Presentation Rubric - Helps students determine what a good presentation should include.
Request for Proposal Rubric - Helps students to determine what is being evaluated in their RFP submission.
Work Habit Evaluation - This is a great tool for students to use to develop strong work habits.
Workplace Competencies Rubric - This rubric helps students to develop the skills that are valued by industry.
Internal Design Rubric - This evaluation tool helps students understand the expectations and preparation needed for
an internal design review.
External Design Review - This evaluation tool helps students understand the expectations and preparation needed for
an external design review.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 103
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 104
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 105
This process involves a number of steps, and parts of the process may need to be repeated many times
before production of a final product can begin. Engineering design teaches problem solving, brainstorming,
time and resource management, cooperation and collaboration, and the soft skills that today’s workforce
demands. Robotics and robotics competitions provide a high energy organizer to teach the Engineering
Design Process.
VEX Robotics Competitions - Each year the Robotics Education and Competition (REC) Foundation hosts
an International VEX competition, in 2014 there were over 10,000 teams. The Competition is incredibly well
run and can provide a life-changing experience for students. The Robotics Academy is a strong supporter of
the formalized robotics competitions because they are well thought out, provide real deadlines, and provide
students with a high energy 21st century learning experience.
School-based Competitions - Many teachers use school based competitions. They setup classroom design
challenges; some of them are competitive and others are cooperative in nature. There are several examples
of possible school based cooperative design problems like The Rube Goldberg Challenge, and the Hot Dog
Maker and Automated Workcell examples included in this curriculum.
The next couple of pages introduce resources that are available to teach the Engineering Design Process.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 106
2. Introduce students to what the engineering process looks like by providing them with the
Engineering Process PDF found on page 11.
3. Teach students to keep and Engineering Design Journal and require them to document their
project by keeping all notes, sketches, and code snippets. Have them keep all of their handouts
in their Engineering Design Notebook. There is a PDF describing the notebook on page 10.
4. Require students to work in teams. This is a very important skill for students to develop and it
takes practice. Begin by having them review and discuss the “First Team Meeting” handout
found on page 11.
5. Teach students how to brainstorm without offending each other. There is a handout on page 10
called “Brainstorming”. Give students ample opportunities to solve new problems regularly.
6. Require evidence of project planning and “Time Management” by having them develop PERT
and GANTT Charts for various projects. Pass the Gantt and PERT chart handouts found on page
12.
7. Discuss how to break a project into manageable parts, assigning deliverables, and self assigning
due dates. Have them watch the Project Planning Video on page 10.
8. Build prototypes and conduct design reviews. Use the design review handout on page 11.
11. Iteratively test solutions and have students brainstorm how to improve them.
13. Debrief, talk about what worked, what didn’t work, and how to improve the process.
14. Give students other problems to solve - The students will improve each time they participate in
the engineering design process. The first project may be a disaster for some teams. The debrief
session is the most important part of the above process for new learners. Students need to
recognize that this process will be with them in some form for the rest of their lives and so it is
important that they become good at it.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 107
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 108
Drawing Conventions/Dimensioning
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 109
Pictorial Sketching
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 110
The REC Foundation - Each year the Robotics Education and Competition (REC) Foundation hosts an
International VEX competition, in 2012 there were over 7,000 teams. The Competition is incredibly well run
and can provide a life-changing experience for students. There are competitions run in every state and in
most countries in the world. To learn more go here: http://www.roboticseducation.org/
BEST Robotics http://www.bestinc.org/ BEST stands for Boosting Engineering Science and Technology. It
hosts and annual competition each year and has about 1,000 teams. To learn more go here:
http://www.bestinc.org/documents/Competition%20Overview.pdf
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 111
Notes on Projects:
1. Rube Goldberg Challenge – This challenge can be accomplished with or without VEX parts.
Our intention with this design problem is to get the kids engineering early and have them
develop an outside the box solution. We believe that the project can be done without VEX
parts using all recycled parts. The project can be done at home as a homework assignment
over the weekend and then brought to class. There are many examples of Rube Goldberg
Machines on the Internet. There is also a handout below which uses VEX parts.
2. The Hot Dog Maker & Automated Work Cell – The nature and themes of these projects can be
modified however the teacher sees fit (hot dog maker and work cell are just two ideas), and
should be designed to fit available resources. The idea behind the projects is to challenge the
students to develop an automated system that requires every group to be doing something
different, yet integral, to the final solution. The solution to the system is up to the students.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 112
Simple Behaviors
Simple behaviors are small, bite-size behaviors that Contains the Simple Behavior:
allow your robot to perform a simple, yet significant Move Forward until Touch Sensor is
task, like moving forward for a certain amount of Pushed
time. These are perhaps the most useful behav-
iors to think about, because they are big enough
that you can describe useful actions with them, but
small enough that you can program them easily
several lines of code.
Contains the Basic Behavior:
Turn on Left Motor in Forward Direction
Basic Behaviors
At the most basic level, everything in a program
must be broken down into tiny behaviors that your
robot can understand and perform directly. These
are behaviors the size of single lines of code, like
turning on a single motor, or checking a single
sensor port.
Exercises
1. What level of behaviors can your robot perform directly?
2. Why is it useful to think about a robot’s actions in terms of behaviors?
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 113
Sense
Using a variety of available sensors, the
robot gathers data from its surroundings.
Sensors include anything that provides the
robot with information on its environment,
such as the color sensor mounted on the
robot in the picture, which will provide
feedback about the color of the blocks in
front of it.
Plan
The robot will process the information
gathered in the Sense phase, and formulate
an appropriate plan of action to react to what
it saw. This step is most often performed by
software (like your ROBOTC software) that
has been loaded onto the robot in advance.
The program illustrated here tells the robot
to go forward until it sees a color.
Act
The robot acts in the world
through the use of actuators–
any component which allows
the robot to create a change
in its surroundings, such as
motors, which move the robot
through the environment. The
robot in the picture will drive
through the maze.
It is a very good practice to have students begin each programming task by breaking
the task into its smallest parts and develop pseudocode that describes the robot’s behaviors.
You will find much more detail on this practice in the Introduction to Pseudocode lesson.
Example pseudocode
The practice of developing pseudocode is informally intro-
duced on the first day of class when students are asked to write
a program to control a humanoid robot to make a sandwich. See
Introduction to Robot Programming for a full description of that activ-
ity. In that activity, students will not yet know a robot programming
language, but they can begin to write pseudocode to describe the
behaviors the robot will need to complete to make the sandwich.
(E.g., lift the arm, open the hand, reach for the bread, grab the
bread, etc.).
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 115
Page 1 of 4
Introduction to Pseudocode
Overview
In order to plan a program and write efficient code students need to be able to write
clear instructions for the robot. This lesson introduces students to the idea of writing clear in-
structions and then introduces them to pseudocode.
Objectives
Students will be able to:
• Listen carefully and follow instructions
• Communicate clear instructions
• Break tasks down into smaller pieces
• Write pseudocode for a simple maze
• Understand the necessity of planning clear steps
Materials
• Blank paper for each student
• Pencil and a ruler for each student
• A large table top or floor surface to setup a simple maze
• Tape to mark out maze boundaries
• Small box or object to represent a robot
2. Draw a vertical line from the top of your page to the bottom of
your page, passing through the center dot
3. Draw a horizontal line from the top of your page to the bottom of
your page, passing through the center dot
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 116
Choose a student to be the communicator and give them a simple drawing (see examples at
the bottom of this page) making sure no one else sees the picture that you’ve given the stu-
dent communicator. Have the communicator describe the drawing for the others to reproduce
on their paper. The other students may ask questions for clarification and the communicator
may adjust their instructions if they see mistakes being made. Encourage students to see how
quickly and accurately the picture can be reproduced – each drawing should not take more
than 5 minutes.
Repeat the exercise with a new picture and a new communicator student. This time the other
students are not allowed to talk or ask any questions, but the communicator may still adjust
their instructions if they see mistakes being made.
Repeat the exercise one last time with a new picture. Now the communicator must sit behind
a screen or with their back turned and no questions may be asked. The communicator must
clearly give their instructions one time for the others to reproduce the drawing.
Discuss this last exercise with the
class.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 117
Tell students: Behaviors are a very convenient way to talk about what a robot is doing and what it
must do. Every action of a robot can be described as a behavior: move forward, turn on a motor, look
for an obstacle, stop, and solve a maze are all examples of robot behaviors.
Direct students to the simple maze shown below on the left. The goal is for the robot to solve
the maze by following the path below on the right. Tell students: To do this, we will think about the
robot’s actions in terms of behaviors.
Give a student a robot. Have a student volunteer move the object along the path that would
solve the maze. Point out that we can easily see what behavior the robot needs in order to
solve the maze.
Tell students:
Some behaviors are too big to give to the robot as
instructions, so we need to think about breaking them
down into smaller behaviors. “Solve the maze” is
actually a very complex behavior because it involves
many steps and the robot wouldn’t know what to do.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 118
Ask students:
Is your list of behaviors is clear enough to instruct the robot through the maze.
They should realize that we are close, but the robot doesn’t know how far to move forward
each time or how much to turn.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 119
Pseudocode Exercise
What is Pseudocode?
Robots need very detailed and organized instructions in order to perform their tasks. Before a
programmer can begin programming they need to break a robot’s behaviors down into simple
behaviors and figure out when each behavior should run. Some programmers like to use
pseudocode to begin constructing the programming problem.
pseudo
adj : not genuine but having the appearance of;
Source: WordNet ® 1.6, © 1997 Princeton University
Pseudocode is a hybrid language, halfway between English and code. It is not real code yet,
but captures the details that will be important in translating your ideas to code, while still al-
lowing you to think and explain things in plain language. Good pseudocode will make it very
straightforward to write real code afterwards, because all the behaviors and logic will already
be contained in the pseudocode.
Pseudocode example
If you wanted to program a robot to stop when it saw and object and move forward when it
didn’t see and object your pseudocode might look like:
pseudocode
1. Move forward
2. If (sonar sensor detects and object)
stop
3. When the sonar sensor no longer
sees and object move forward.
4. Do this forever
Exercise
1. Convert these instructions to pseudocode and into a flowchart:
a. “If it’s raining, bring an umbrella.”
b. “Keep looking until you find it.”
c. “Take twenty paces, then turn and shoot.”
d. “Go forward until the touch sensor (on port 1) is pressed in.”
e. “Turn on oven. Cook the turkey for 4 hours or until meat thermometer
reaches 180 degrees.”
f. “Crossing the street” Hint, make sure that you look both ways!
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 120
Overview
A flowchart is a visual representation of program flow and is used by programmers to
break down and model robot behaviors. This lesson provides teachers with a guide to
introduce flowcharts in the Remote Control Chapter, and then this lesson should be applied
to all of the subsequent Units. Students have already been introduced to pseudocode and
program flow in the Introduction to Robot Programming activity; this lesson focuses on how to
graphically describe robot decision making. In this lesson the teacher will model how integrate
pseudocode and decision making into a flowchart.
Objectives
Students will be able to: For this lesson, you will need
• Break down a problem into simple components to have programmed a robot
• Organize the components into a proper sequence that moves forward until the
touch sensor is pressed and
• Represent a sequence of behaviors in a flowchart have it ready to demonstrate to
• Use a flowchart to analyze robot behaviors students.
Procedure:
In the example below students will see a program that requires the robot to make a decision
and includes multiple steps. Note: Show all students the picture of the flowchart 1 and flow-
chart 2 below.
Tell students: Now that the robot is using a sensor to make decisions, we can use a flowchart to un-
derstand how our robot’s behavior is broken down into steps within a program. So far, our flowcharts
have just been single steps of pseudocode, but now we will need to add decision blocks which ask a
“yes or no” question.
Show both of the following flowcharts to the class and ask:
Which flowchart best represents a robot that needs to stop when the touch sensor is pressed?
Flowchart 1 Flowchart 2
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 121
When does the robot check the touch sensor to make the decision to move forward or stop?
(The robot continually decides to move forward when the touch sensor is not pushed, and
decides to stop when the touch sensor is pushed)
Which flowchart represents a robot continually making decisions based on the bumper sensor?
(The flowchart on the right requires the robot to keep asking if the touch sensor is pressed)
Read through Flowchart 2 (on the previous page) to the class to show how each robot action
is represented in the flowchart. Teach students the difference between start/stop, action, and
decision blocks. Tell students:
The robot must continually check the value of the touch sensor to decide what to do. If the touch sensor
is not pressed, the robot continues running both motors forward. If the touch sensor is pressed, the
robot stops all motors. The flow of these decisions is given in the flowchart 2 on the right, but missing
from flowchart 2 on the left.
Give them a moment to think, and then ask students to explain their answer to the class using
a flowchart. Tell the students: Use a flowchart to break down each step of the robot’s behavior so
that we can see what actions the robot will perform in any situation.
See the flowchart 3 at the right. Have students copy
it onto their papers and fill in the blanks to properly
represent program flow while a robot is pushing a
box until its touch sensor is released.
If students struggle, ask:
Now when will the robot stop moving forward?
(When the touch sensor is released)
Flowchart 3
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 122
Tell students:
Flowcharts help us understand the decision making
process of a robot. The answer to a “yes or no” decision
will determine what action the robot does. By creating
a properly organized flowchart, we can see the plan a
robot needs to follow to be successful.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 123
Flowchart Exercise
What are Flowcharts?
Robots need very detailed and organized instructions in order to perform their tasks. The
programmer must break things down into simple behaviors and figure out when each
behavior should run. A flowchart is a tool that can be used by programmers to determine
program flow.
Parts of a Flowchart
Start of Program - Marks the beginning of
Start the program, begin here. Follow the line to get
to the next block.
Exercise
1. Make a flowchart organizing the “flow” of getting ready to go to school in the morning. Be sure to
include the following steps in your chart, but don’t be afraid to add other things if you need them!
Select something to wear Look for your shoes Put your shoes on
Take a shower Brush your teeth Hit snooze button
Eat breakfast Put toast in the toaster Get dressed
Walk or get a ride to school Check your alarm clock Comb your hair
Get out of bed Turn on shower Check the time
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 124
Procedure
The teacher says:
Your task is to program a humanoid robot to make a two ingredient sandwich. Begin by making a list of
behaviors your robot needs to perform make a sandwich, then turn that list into pseudocode.
Pseudocode is a simple set of instructions that you want the robot to execute. We will test your “code”
by programming a human to execute your sandwich making program.
Students can begin writing their program individually or in small groups.
Identify one student to assume the role of the robot, they will stand in a place where everyone
can see her/him. The props for making the sandwich can be actual bread, spreads/meats, and a utensil
- or they can be stand-ins (paper for bread and/or meats, a pencil for a knife, cups for jars of spreads). The “robot”
(student) will do exactly what fellow students say to do.
The teacher can ask the class for the first behavior to be programmed, followed by the second,
third, etc. Most times, it quickly becomes apparent that students have not fully considered the level of
detail required for programming. For example, the command “pick up a slice of bread” is inadequate. The
robot needs to know in which direction to move to get the bread, how to detect the bread (use of sen-
sory data), how to pick it up, etc. Those are each individual lines of code. It is not important to continue
this exercise once students recognize why greater detail is required - even for a task as simple as mak-
ing a sandwich.
Additional Lessons
This teacher’s guide provides multiple additional lessons that the teacher can use to introduce
students to pseudocode and flowcharts. It is up to the discretion of the teacher to use or not use these
lessons. For additional lessons go to the Index and find:
• Pseudocode and Flowcharts
• Introduction to Pseudocode
• Introduction to Flowcharts
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy
ROBOTC 125
Trace Together, the student and teacher, need to trace through the program and identify
where the robot’s behavior diverges from the student’s intent.
Analyze The teacher needs to help the student to analyze what they misunderstood.
Revise Help the student to correct their misunderstanding and to fix their program. Often,
correcting a student’s misunderstanding means re-framing the problem or highlighting some
discrepancy in how the student sees the problem.
Analyze If the robot is misbehaving, I need to analyze what parts of the program works and
identify the point where the robot stopped doing what I wanted it to do. Then I need to figure
out what I need to change to fix the problem
Revise I need to scientifically correct the program one step at a time and test each part of the
program and fix the problem.
Note: Teachers might choose to post the student version of STAR somewhere in their class-
rooms and direct students’ attention to it as they begin asking for assistance.
VEX® Cortex® Video Trainer Using ROBOTC® © 2015 Carnegie Mellon Robotics Academy