Robotics Enrichment Program
Middle School “Robot + Game = ?” Majors Schedule
What happens when robots and games collide? In Robot + Game = ?, you’ll step into the role of a robotics engineer and game developer, using a game engine to bring intelligent machines to life in virtual worlds. Design and simulate autonomous robots - like drones that navigate through dynamic environments, avoiding obstacles in real time. Through hands-on projects, you’ll integrate LiDAR-based sensing and learning algorithms to develop robotic behavior.
Learning Outcomes:
- Ability to use a game engine-based simulation to create and test robotic systems.
- Problem-solving and teamwork through iterative development and testing.
Session 5
Goal: Create animated web experiences using block-based coding with Delightex.
Getting Started with Delightex
-
Access Delightex
- Go to delightex.com/edu
- Click on “Try it live” button
- No account needed - start coding immediately!
-
Explore the Interface
- Left side: Click on the list icon and explore various elements (click on three dots -> Code -> Check
Use in CoBlocks) - Center: Canvas where your game appears
- Right side: Click on Code on top right ->
CoBlocks - Bottom: Add elements from the library
- Left side: Click on the list icon and explore various elements (click on three dots -> Code -> Check
-
Create Animations
- Drag a code block from the command palette to the canvas
- Try various code blocks
- Click Run to see your animation!
Session 4
Goal: Experiment with underwater robots using manual control and understand robot movements in aquatic environments.
Underwater Robot Exploration
-
Introduction to Underwater Robotics
- Learn about ROVs (Remotely Operated Vehicles)
- Understand how underwater robots differ from land robots
- Discuss buoyancy, water resistance, and thruster systems
-
Manual Control Practice
- Connect to the underwater robot system
- Practice basic movements: forward, backward, up, down, rotate
- Experiment with thruster control and navigation
-
Movement Challenges
- Navigate through underwater obstacles
- Practice maintaining depth and orientation
- Test different movement patterns and speeds
- Figure out optimal control strategies
-
Observations and Discussion
- Compare underwater robot control to land robots
- Discuss challenges faced during manual control
- Share strategies that worked well
Session 3
Goal: Program and control physical GoPiGo robots to perform autonomous movements.
Getting Started with GoPiGo
-
Connect to Your Robot
- Turn on the GoPiGo robot
- On your computer, connect to the robot’s WiFi network
- Open a web browser and navigate to 10.10.10.10
- You should see the Bloxter programming interface
-
Explore the Bloxter Interface
- Familiarize yourself with the block categories
- Look at Movement, Sensors, and Control blocks
- Try the example programs provided
-
Basic Movement Programming
- Make your robot drive forward for 2 seconds
- Add a turn (left or right)
- Create a simple path (square or triangle)
- Test and debug your code
-
Add Sensor Input
- Use the distance sensor to detect obstacles
- Program the robot to stop when it senses a wall
- Make it turn and continue exploring
-
Challenge: Maze Navigation
- Set up a simple maze with obstacles
- Program your robot to navigate through it
- Use sensors to avoid collisions
- Test and improve your solution
Tips:
- Save your programs frequently
- Start simple and add complexity gradually
- If something doesn’t work, check your block connections
- Test small sections of code before combining them
Session 2
Goal: Create a simple robot game where a robot character navigates a world, senses obstacles, collects goals, and has sound + music.
1. Create Your Robot Character
- Go to MakeCode Arcade.
- Click New Project, name it.
- From the Sprites category, drag out
set mySprite to sprite of kind Player. - Click on the sprite image to draw your own robot character.
- Run the game to see your robot appear.
2. Build a Scene
- From Scene, drag out a
set tilemap toblock. - Create a map with walls (e.g., maze or obstacle area).
- Add a starting area and some open space for the robot to move.
3. Add Autonomous Movement
- From Sprites, drag
set mySprite vx toandset mySprite vy to. - Give your robot an automatic velocity (e.g., vx = 50, vy = 0).
- Run the game — your robot should move on its own.
4. Simulate Sensing (Bumpers)
- From Sprites, use
on sprite of kind Player hits wall. - Inside, change the velocity so the robot turns (e.g., vx = 0, vy = 50).
- Test it — your robot should bounce or turn when it “senses” a wall.
5. Add a Goal
- Create another sprite (goal, treasure, or object).
- Place it on a random tile: use Scene → place sprite on top of random tile.
- Add an overlap event:
on sprite of kind Player overlaps Goal. - Inside, increase score by 1 and move the goal to a new random spot.
6. Add Music and Sound
- From Music, add
play melodyat the start of the game for background music. - Add a
play sound effectinside the overlap event (when robot gets a goal). - Test - you should hear music and effects.
7. Make It a Game
- From Info, add a timer (e.g., 30 seconds).
- Challenge: How many goals can your robot collect before time runs out?
- Optional: Add hazards (enemies) that reduce score when touched.
Session 1
- Introduction to Robotics
- Virtual Robot Movements
- File -> Open Examples, select
Drivetrain Moves and Turns - Study the code blocks, run the example
- SELECT PLAYGROUND -> Wall Maze
- Modify the code to make it to the finish
- Save (Ctrl + S) your program
- File -> Open Examples, select
- Object Sensing
- Open a new project
- File -> Open Examples -> Coral Reef Cleanup 3
- Test the example code
- Improve it