Use this page to learn more about creating a program for a SPHERES satellite using the Zero Robotics web interface.

Learning C

Competitors in Zero Robotics program the satellites in the C programming language. Although knowing C is not a requirement at the beginning of the competition, more knowledge will help your performance. For beginners in C, we have compiled a brief C tutorial to help you get started: Learning C

Using the ZR IDE

Competitors use an online Integrated Development Environment (IDE) for programming the satellites and simulating their code.  This document will teach you how to use the IDE: Using the Zero Robotics IDE

Background Knowledge

Zero Robotics provides a flexible Application Programming Interface (API) for controlling the SPHERES satellites.  Before programming the satellites, read an overview of the SPHERES satellites' Coordinate Systems and of the API functions.

  1. SPHERES Overview and Coordinate Systems to learn about the SPHERES satellites
  2. ZR API overview learn about the special functions for controlling SPHERES satellites

First Steps

The following tutorials will use the Zero Robotics IDE and API to perform simple maneuvers that will be important in the competition.  Once you have mastered these tutorials move on to one of the game scenarios or try out your own interesting maneuvers.

  1. Move A simple tutorial that will show you how to use "position control" to move from point "A" to point "B". We recommend starting here.
  2. Square This tutorial will introduce you to the Square Game, a simple tutorial where your objective is to move the satellite in a square.
  3. Rotate This tutorial will show you how to use "attitude control" to rotate the satellite in C code. Note: Zero Robotics attitude control uses some vector math.  You may wish to review vector addition and unit vectors before proceeding. You can use the resources below:

http://hyperphysics.phy-astr.gsu.edu/hbase/vbas.html (basic vector definition)
http://hyperphysics.phy-astr.gsu.edu/hbase/vect.html (general vector operations)
http://hyperphysics.phy-astr.gsu.edu/hbase/vect.html#vec7 (vector addition)
http://hyperphysics.phy-astr.gsu.edu/hbase/vbas.html#c2 (unit vectors)