Welcome to the Tutorials page - your resource for getting started with Zero Robotics! The ZR Website tutorials handle the basics of navigating our system; if you're new, start there, then go on to the Beginner section. The programming tutorials are meant to be followed in order, but returning competitors may be able to skip directly to the Intermediate or Advanced section. We are always interested in improving our introductory materials, so if you feel something is missing, please feel free to let us know.

If you are a Middle School Summer Program participant, please use the resources under Middle School Curriculum instead.

Reference Documents

Function Dictionary ZR User API Function interface definitions for generic ZeroRobotics control
Website Basics Create an Account Set up an account on the ZR website
Invite Students to Your Team Invite team members after everyone has made an account (mentors only)
IDE Getting to Know the ZR IDE Intro to the ZR programming environment
Using the Graphical Editor Use the graphical editor as an alternative to writing code
Introduction to Game Mode Select the appropriate Game Mode and test your code against a standard player
Intramural Competitions and Sharing Projects Share code with your team and compete against a teammate.
Collaborative Editing Edit projects as a team.
Submit Code for a Competition Submit code for a competition.
Scoring The Leaderboard Explanation of the leaderboard and the ZR scoring system
User Tools Overview of the features of the leaderboard
Basic SPHERES Controls Variables, Arrays, and the setPositionTarget Function Create variables, arrays, and make the satellite move
More Simple Arrays and setAttitude Target Practice using arrays and make your satellite rotate to face a certain direction
Programming Concepts Conditionals: The Basics of "If-Then" Intro to conditional statements
Conditionals: More Fun with "If-Then", Logic Operators and Debugging Enhance the "if-then" statement with logic operators and learn to print to the debug console
Conditionals: Advanced Logic Operators Use the "and" and "or" logic operators
Conditionals: Else-If Learn about the "else-if" statement, nesting conditionals
For Loops Use a "for" loop to repeat an action a set number of times, as well as find the position of the other satellite.
Applied Conditionals Use getMyZRState in conditional statements
Creating Functions Organize your code with procedural functions
Functions and the Step Counter Model Learn to use a step counter and practice creating functions
Useful Math and Physics Intro to Physics Basic information on weightlessness, translation, and rotation
Kinematics Conceptual fundamentals of motion
Combining Vectors Fundamentals of using and combining vectors
More SPHERES Controls setAttitudeTarget, Revisited Write code to control the SPHERE's direction
Hints about SPHERES Loop Dynamics Get a better understanding of SPHERES dynamics and Newton's first law.
setVelocityTarget Use setVelocityTarget for efficiency
Force Learn Newton's Laws and use setForce
Spinning: Torque Intro to torque and the setTorques function
Spinning: Angular Velocity Make your satellite spin using angular velocity and setAttRateTarget
Spinning: Partial Turns Use dot product to perform partial rotations
Advanced Programming Spinning: Tilted Axis Use cross product to control spinning on a tilted axis
Revolving: Polar Coordinates Use polar coordinates to revolve in 2-D at the origin
Revolving: Tilted Axis Use cross product to revolve on a tilted axis anywhere on the coordinate plane
Recommended Functions Descriptions of functions we recommend you add to your algorithms
SPHERES Make Paper SPHERES Create a 3D SPHERES model
Paper SPHERES Plan Printable plan for Make Paper SPHERES
Label the SPHERES Label the components of a SPHERES satellite
Communications Learn the basic principle of satellite communication
Trilateration Ropes Learn about trilateration and SPHERES positioning
Physics Grids and Coordinates Reinforce basic algebra and explore the coordinate plane
Vector Hunt Underscore the importance of both magnitude and direction
Soccer Ball Demo Use a soccer ball to understand Newton's First Law
Chairs on Wheels Use rolling chairs to understand Newton's Third Law
Thruster Balloons Demonstration to reinforce Newton's Third Law
Free Body Diagrams Visualize forces with free body diagrams
Bottle Rockets Design, build, and launch your own bottle rocket to better understand kinematics and force
Bouncy Balls Understand core elements of physics using bouncy balls
Dry Ice Dynamics Experience frictionless dynamics with dry ice
Speed of Sound Demonstrate that sound travels slower than light
Programming Programming Peanut Butter and Jelly Learn the fundamental principle of programming by making a sandwich
Write it then Do it - Programming Reinforce the concepts of explicitness and thoroughness in programming
Review Jeopardy Test your knowledge with an interactive review game
ZR Team Management FAQs Questions and answers for mentors and competitors
Links Middle School Student Materials Resources for students and educators in the ZR middle school summer program; may also be useful for high school teams using the graphical editor or needing more help with math or physics.
Pope John Workshop A series of videos and problem sets produced by Stephen Pendergrast, Pope John XXIII Regional High School, Sparta, NJ, to train new team members. Complementary to the tutorials on this page.
y0b0tics! Circle Tutorial A text-based tutorial to help new teams get off the ground. Courtesy of Team y0b0tics!, Montclair High School, Montclair, NJ.