�Welcome & Introductions
Zero Robotics 2023 Summer Program
Educator Training
June 6th & 8th, 2023
Part II - 6/8/23
Group Expectations
HAVE FUN
INTERACT
ASK QUESTIONS
SHARE TIPS AND IDEAS
KEEP FOCUS
CAMERAS ON PLEASE
This training will be recorded
Agenda
Day 1
Day 2
Inviting Students to Your Team
Invite Team Members
To begin:
Invite Team Members cont.
If you are a team lead a window will open with:
Edit the information as desired
If you are NOT a team lead? A window will open with the Team Name only like this:
Invite Team Members cont.
ONLY Team Leads can add new Team Members To add team members:
*Reminder: Each user added as a Team Member must have already created ZR account.
Invite Team Members cont.
Team members can confirm they have been added to the team by navigating from the “Tournaments” menu to “Manage Teams”
For non team-leads a window will open with the Team Name like this:
Team Leaders - Contact
We are asking for two emails for two purposes: Communications and Team Registration. The Team Registration Email - aka ZR Sign In - must be a gmail
Student Account Setup
�What do I do if my student does not have an email account, and does not have parental permission to create an email account?
Check In
�
Questions?
Day 1 Review
INTEGERS are WHOLE NUMBERS
FLOATS are DECIMALS
A VARIABLE is a container that holds a SINGLE piece of data
An ARRAY stores MULTIPLE pieces of same type of data in one place
ASTROBEE rotates using ROLL, PITCH, and YAW
Functions
Booleans
Conditional Statements
The basics of logic statements
If this, then do that
Tell the Astrobee to:
�You can keep track of this in your code by creating a “gameTime” function, which keeps track of how much time has passed in the game.
What are Conditionals?
to do something
Create A New Project and Declare Variables
Programming with Conditionals
NOTE: The Get Time function is currently not available, but when the IDE is complete, the function will return the number of seconds that have passed since the game began.
Programming with Conditionals cont.
What is the 2023
Zero Robotics Challenge?
LUNABEE 2023
Your Mission: Retrieve lunar dust samples for analysis as part of the Artemis Engineering Team.
Your Goal: Program the satellite to receive visual indication of active research sites on the Moon, collect 24 grams of lunar dust, and successfully drop them to the base station!
2023 Game Overview
ZR 2023 MS Game Intro
To prepare for human activities on the Lunar surface, each team needs to control Astrobee and collect 24 grams of Lunar dust samples for analysis.
There are 9 research sites already established on the Lunar surface and are numbered from #1-9. At each site, there are the same site number of grams of Lunar dust samples and the same site number of bottles of sample enhancers.
Due to the power limitation, only 3 research sites will be active and operating at a time.
Potential Game Field Example. Active sites are in blue. Inactive sites are in grey.
ZR 2023 MS Game: Your Mission/Goal
An astronaut will observe the site status from the space station and use hand signals to tell Astrobee which sites are active.
Your task is to control the Astrobee robot, navigate it to the active sites, collect samples and/or mix samples with enhancers, and obtain 24 grams of dust samples to bring back to the base.
Once Astrobee enters the field and start moving, you will only have 3 minutes to navigate and collect and the sites status will change after 3 minutes.
*Relevant topics: Artemis Missions, Lunar Dust, Machine Learning, AI.
ZR 2023 MS Game – Your Task: Phase 1
American Sign Language (ASL)
ZR 2023 MS Game – Your Task: Phase 2
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
Research Sites Map
C
C
D
Base -> 9: Collect 9 samples
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
+
9 g
Site 9 -> 3: Collect 3 more samples
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
+
=
9 g
9 g
3 g
12 g
Site 3 -> 2: Duplicate samples with a power of 2
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
x 2
=
12 g
12 g
24 g
Site 2: Bring 24 samples back to the base station
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
24 g
24 g
Collect V.S. Duplicate
Collect by roll 90 degrees clockwise
Duplicate by roll 90 degrees counterclockwise
Scoring
Teams earn points by:
Teams lose points by:
Total Score: 0.5 * Battery Score (B) + 0.25 * Time Score (T) + 0.25 * Collection Score (C) - Total Penalties
Scoring
Points Earned:
Collection Score: 5 points for each sample (maximum of 24 samples)
Battery Score: 100 - Battery Usage
Time Score = 180 - t
Penalties:
Depletion Penalty (If you use more than 100% battery) = 2 * (Battery Usage - 100)
Sample Penalty (If you exceed 24 gram sample limit) = 5 * (Number of samples dropped - 24)
Check In
�Questions, Feedback, or Best Practices?
Drop in chat
Game API
Intro to 2023 Game API Functions
Block Shapes and Meanings
“Plug” puzzle piece: represents some value or piece of information
Note: “Get Carried Samples” is something called a function. It does a series of operations/actions. In this case, the function also gives you (“returns”) information after it runs. In this case, the function returns the amount of sample the robot is carrying. Not all functions return something, but this one does, so we can treat it as a “plug” piece that holds a value.
“Socket” puzzle piece: represents something that requires information/input
Note: some functions require information input. For example, the “Move to Site” function does the action of moving to a given site, but you must provide it with the input of which site you want to move to. This is when we need to put a “plug” with information into a “socket” that requires information.
“Stackable” puzzle piece: some process to be executed one after the next
plug
socket
stacking
Game API
What is an API?
Long Version:
Application program interface (API) is a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact. Additionally, APIs are used when programming graphical user interface (GUI) components.
Short Version:
Cheat sheet of custom functions pre-created for your convenience.
APIs Get Sites
These set of code blocks will be important for navigating the game board and determining the current status of the game board.
int site
int GetActiveSites()
int GetCurrentSite()
APIs Get Site Status
These set of code blocks will return the status of a site’s samples and power level
int GetSiteSampleStatus()
int GetSitePowerStatus()
APIs Get Battery and Get Time
These set of code blocks will be important for ensuring that you are within the battery and time limits of the game
int GetBattery()
float GetTime()
APIs
Collect
This code block is how Astrobee will collect the samples from the site it is currently at.
When this code block is used Astrobee will collect the sample at the site it is currently at. If the current site is active it will collect samples equal to the site number it is at. Astrobee will collect all the samples at the site if the site is active and add the samples to the total samples Astrobee is currently carrying.
The code block will return either True or False.
If the code block returns True the samples were successfully collected.
If the code block returns False the samples were not collected and the site is either inactive or the samples were already collected.
APIs Duplicate
This code block is how Astrobee will duplicate the samples from the site it is currently at.
The duplicate code block will duplicate the current number of samples that are on Astrobee. How much the samples will be duplicated by will be determined by the power level at the site. The power level is determined by the site number.
For example, if Astrobee is at site 8 the power level is 8. If duplicate is used at this site all of the samples on Astrobee will be duplicated which means the samples will be multiplied by 8. For example, if Astrobee has 2 samples on board and duplicates at site 8, Astrobee will now have 16 samples (2 samples multiplied by power level 8 = 16 samples).
APIs
MoveTo(site)
This code block is how Astrobee will move from site to site.
The MoveTo(site) code block will be used by Astrobee to move from site to site on the game map. Notice how you need two code blocks for Move To Site to work. First you need the code block Move To Site. You can then assign Move To Site another code block that represents the site number that you want Astrobee to move to.
In the example above Astrobee will move to Site 8 but you can enter any number from 1-9 to control which site Astrobee will move to.
APIs
Get Samples
These set of code blocks is how you will find out how many samples you have in total, on Astrobee and at base.
int GetBaseSamples()
int GetCarriedSamples()
int GetTotalSamples()
APIs
MoveToBase
This code block will move Astrobee back to its base site where it can deposit the samples it is currently carrying.
Note that move to base is different from moving to Site 5. While they go to the same square, you cannot deposit your samples if you are at Site 5, you must move back to base to deposit samples.
APIs
DepositSamples
This code block will deposit all of the samples currently carried by Astrobee adding on to the total number of samples currently at the base site. You must be at the base site in order to deposit samples.
APIs
GetScore and EndGame
float GetScore()
void EndGame()
5 Minute Break
Questions or Feedback?
Raise hand button or drop in chat
Tournament
Practice Round
At the end of Week 2 of the summer program, teams will submit their code and a competition will be run. The matches will be averaged to determine rankings. These ranking results will create 10 Alliances, each with ~6 teams.
Alliances Competitions
The Alliances competition will be a round robin for each of the 10 alliances, with every team playing each other at least once within their alliances. The team with the most wins in each alliance will be the champion of their group. All ten champions of the Alliances Competition will advance to the Final ISS Competition.
ISS Final Competition
During the first several days of week 5 of the summer program all teams in each Alliances will have an opportunity to collaborate to try to improve their 1st place Alliance winner’s code prior to Final submittal deadline. Teams from the same alliances are encouraged to try to beat the alliance's winner’s code and then share their solution with the alliance's winner. The alliance's winner will submit the final code from their alliances for the Final Competition to run on the ISS.
Week 1: To Infinity and Beyond
Week 1
June 26 - June 30
Acting Out The Game
Team Building Activities
Game Overview Part 1
Programming Tutorials
Week 2: Developing a Strategy
Week 2
July 3 - July 7
Field Days
Programming Tutorials
Game Overview Part 2
Write Code
Develop Strategy
Week 3: Time to Play
Week 3
July 10 - July 14
Aerospace Career Day
(July 11th)
Code for Practice Round Due
(July 10th - 5:pm)
Code for Round One Due
(July 14th - 5:pm)
Programming Tutorials & Write Code
Week 4: Going The Distance
Week 4
July 17 - July 21
Round One Results Posted
Contact & Collaborate on code with Alliance
Alliances Announced
(July 17th)
Final Code Due
(July 21st - 5:pm)
Week 5: Reach For the Stars
ISS Finals
(August 4th)
Week 5
July 24 - July 29
Explore Future Careers
Strategy Videos & Student Presentations
Contact Media Re: Finals
Week 6: ISS FINALS
Week 6
July 31 - August 4
ISS Finals Week
August 3rd
(Tentative)
2023 Summer Program Suggested Timeline
Guidelines to Consider
10 - 15 hours a week
Frequent breaks or changes
Alternate physical and digital
Concrete v Abstract
Whole Group - Partners - Individual
Best Practices
Best Practices and Activities!!!
Acting Out the Game - LUNABEE
Acting Out the Game
Poster Tracking
Poster or board to track everyone’s issues
Mark as resolved, add notes, leave suggestions, etc.
Code Notebooks
Code Notebooks
Coordinates Craft Activity
Can be found on page 25 in the educator guide
Coordinates Craft Activity
Coordinates Interactive Activity
Simon Says�
Draw +X -X +Y -Y +Z -Z on paper
Tape on walls, ceiling, floor
Tape on chest, back, hands, feet
Call out directions like “roll your local (body) on the X axis”
“pitch your local (body) on the y axis”
“yaw your local (body) on the z axis”
The way you are facing = attitude
IDE Activity
IDE
Init
Main
Variables Activity: Acrylic Box
Curriculum Advisory Team
Would you like to be part of our
Curriculum Adjustments Advisory Team?
The curriculum used in the previous competitions requires revisions that reflect new NASA resources, technologies, missions, as well as new CS and STEM curriculum frameworks and standards.
If you are interested in receiving a stipend to serve on a Curriculum Adjustments Advisory Team
complete THE APPLICATION found on the TUTORIALS Tab of the ZR Website (2023)
Deadline: June 16, 2023
Check In
�Questions, Feedback, or Best Practices to Share?
Drop in chat
2023 T-Shirts - Order Form
Stickers & Pins
Research Consent Forms
To appropriately conduct research of the 2023 season and Zero Robotics 2.0 via surveys and interviews, we need authorization from four groups and ask that you have participants and parents complete these forms electronically or hard copy:
ADULT CONSENT (teachers, mentors, 18+ students): Online - https://forms.gle/CXkLMbFrYapGEMJ27 (Printable PDF)
PARENT CONSENT (guardians of anyone under 18): Online - https://forms.gle/Heotqo6bLsuomzAU9 (Printable PDF)
CHILD ASSENT (participating students and online mentors): Online - https://forms.gle/ThZ1gygddAcrKsca8 (Printable PDF)
If you print documents for signatures, please contact Katie Magrane (Katie@MassILC.com) for instructions on getting forms to MIT. If you require evaluation tools in another language, please contact zerorobotics@mit.edu.
Let’s find our 2023 game documents
Next Steps
Play/Prepare/Explore - Send questions to ZR
Field Day & FINALS locations
Region | Teams | Field Day Coordinator |
Arizona | 2 teams | |
Hopi, Zuni, Navajo Nations | 8 teams | KARMA & NTU |
California (North) | 12 teams | NASA Ames |
California (South) | 15 teams | CSULB |
Connecticut | 2 teams | ILC & MIT |
Florida Area | 2 teams | |
Georgia | 3 teams | |
Illinoi Area | 1 team | |
Kansas Area | 2 teams | |
Massachusetts | 12 teams | ILC & MIT |
Maryland | 2 teams | |
New Jersey | 4 teams | |
Texas | 1 team | |
Virginia | 1 team | |
West Virginia | 1 team | |
Follow Up Q&A
POST TRAINING Q&A
Thursday- June 15, 2023
12:pm - 1:pm (EASTERN)
Registration link to join Post Training Q&A:
https://us02web.zoom.us/meeting/register/tZEkce2spjkjGd0VXdqxTmeUEQyU-CJcrHRr
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
EMAIL QUESTIONS/CONCERNS IN ADVANCE TO:�ZEROROBOTICS@MIT.EDU
This is a brief 1 hour call to check in after training and after playing with the website and game to see if you have questions or are encountering any issues. It is also a time to share some planning and activity highlights for when you start.
Post-Training Survey
PLEASE COMPLETE THE BELOW SURVEY NOW
https://forms.gle/oVYFf62p5PVpAGMQ9
If you are watching a recording of this training,
please pause now to complete the pre-survey.
-> 2023 Middle School
-> Evaluation & Program Surveys
-> Educator Post-Training Survey
Socials
Like us on Facebook: https://www.facebook.com/zerorobotics/
Follow us on Twitter: https://twitter.com/ZeroRobotics
Post to Instagram: https://www.instagram.com/zero.robotics/
Like/Duet TikTok: https://www.tiktok.com/@zerorobotics
�
Please Tag ZR in your posts this summer!
#ZeroRobotics
#WriteCodeForSpace
#MakeSpaceForKids
#Astrobee
#LUNABEE
Thank You!
Good Work!
Now Go Have Fun!