Plans de leçon

Let’s Train Virtual Robots

Unreal Engine
Physical robotic systems can be expensive and difficult to maintain. So why not go virtual? In this course, you can learn how to code and train virtual robots for sumo battles, autonomous decisions, and more all from the comfort of your home, as you get a grasp on the same engineering and physics concepts that make robotics such a powerful teaching tool.



Grade level

Grades 8-12 (Ages 13+)

Lesson 1: Robot Vehicles

In this activity, you will learn how to code a two-wheeled robot to use tank movement for navigating to specific targets with a minimal number of commands. The virtual robot in this activity will perform like a robotic vacuum used in your home, in that it can move forward, backward, turn right, turn left, and spin around, all while being designed to not tip over. We will also explore the engineering and physics principles of a well-designed robot, regarding its weight, the location of its wheels, and a gliding ball for a stable robot that can produce consistent results.

In order to program a robot to accomplish a task, one must understand and communicate output actions. This communication must be accomplished using a specific software language that both the student and the robotic device will understand. Students will understand how to use the Blueprint node-based coding in the Unreal Engine Robotics Learning Kit to control their robot’s movement.

Students will construct program commands, test their robot, and then return to their coding to adjust any instruction setting that did not accomplish their given goal. They will execute their code on the virtual robot until the goal is accomplished.

Learning Objectives
  • Understand the basic navigation of the Unreal Engine platform, tools, and dashboard.
  • Open a project in Unreal Engine.
  • Edit and duplicate a blueprint in Unreal Engine.
  • Edit the motor settings to drive and turn the robot.
  • Understand the design benefits of a two-wheeled robot vehicle with a third touchpoint.
  • Predict and calculate the code and settings needed, based on known robot design factors, prior to running the program.

View the Lesson Plan
View the Student Guide

Lesson 2: Sumo Robots

This lesson will explain why robots need sensors, how to use one to receive information, and how robots can make decisions based on that information.

Driving robots without any input leads to varied or unreliable results. How can we make driving more accurate and consistent?

Adding sensors provides information that can be used to help a robot decide which particular action must be taken to accomplish a goal.

Understanding the type of information provided by a sensor can help students discern how that information is used to make a decision. The sensor used in this lesson will return a single value to identify the current feedback within a range of possible values. Our lesson will work with a sensor-controlled robot moving to, but not over a line. The robot’s ability to detect the line is impacted by reflected light. The student will establish a sensor feedback threshold number to identify when the robot should respond differently. Consider a threshold of 46 for a sensor that returns a range of 0 to 100. Any feedback below 46 will cause one action, while feedback of 46 to 100 will cause a different action. Using a threshold allows us to convert a range of numbers into a Boolean. 

Our sandbox for this lesson will be a sumo-bot challenge. If you’re new to sumo, the goal is to stay in the circle, as you push your opponent out of it. Let’s see how your robots do!

Learning Objectives
  • Recognize the value of movement based on sensor-driven “sight,” which helps the accuracy and dependability of a robot.
  • Use a light sensor, process settings for input, and control how that information is interpreted.
  • Use the current sensor value to determine whether the robot is in the arena or on the out-of-bounds line.
  • Assign movement instructions to the robot when it detects the arena floor.
  • Assign movement instructions to the robot when it detects the out-of-bounds line.
  • Use the Blueprint programming language to implement a loop and conditional statements that make the robot constantly look for a line on the ground/surface.

View the Lesson Plan
View the Student Guide

Lesson 3: Self-Driving Car

In this lesson, students will learn how to turn a robot away from a guiding line, find the line again, and ultimately continue following the line as it continues to move forward.

If the robot sees the line, it will move away from the line. When it no longer sees the line, it will turn back the other direction to look for the line again.

This process must be repeated continuously to have the robot stay “on” the line.

Learning Objectives
  • Configure the robot using a light sensor to detect the difference between a dark or light surface.
  • Convert the range of input from the light sensor to a Boolean by setting a threshold number.
  • Drive the robot forward by making it turn away when seeing the line, and turn back when not seeing the line.
  • Make a copy of a robot and add it to the environment in the Viewport.
  • Use the Blueprint programming language to implement a loop and conditional statements that make the robot constantly follow a line on the ground/surface.

View the Lesson Plan
View the Student Guide

Lesson 4: Collision Avoidance Robot

In this activity, students will learn how to use a distance sensor to detect objects in the path of our robot. The robot will be programmed to follow a line, just like in Robotics Learning Kit lesson three. But this activity will upgrade our robot to stop if an object gets in its path. Capabilities like this could save lives while advancing technology!

All the functions of a LiDAR sensor are beyond the scope of our activities, so we have created a simplified version that measures distance. The distance sensor in the Robotics Learning Kit acts like a laser distance measuring device and will return the distance of the first object in its direct line of sight.

For the collision avoidance task, when the distance sensor detects an object in the path of the robot it will stop until the object is cleared. When the robot no longer sees an object in its path, it will resume moving forward.

Deliver the pizza or package, but don’t run into anything or drop the delivery!

Learning Objectives
  • Code a robot to “see” an object with a laser distance sensor.
  • Code a robot to drive forward continuously while looking for an object in front of it. 
  • Code how a distance sensor provides feedback, and how that information is interpreted by the robot.
  • Use the Blueprint programming language to implement a loop and conditional statements that make the robot avoid collisions while constantly following a line on the ground/surface. 

View the Lesson Plan
View the Student Guide

Lesson 5: Remote-Controlled Soccer Bots 

In this lesson students will learn how to map their motors to keyboard key presses, making a virtual remote control from their keyboard input. This will enable them to drive and control the robot’s movement from their keyboard.

Remote controls are used daily in video games, televisions, projectors, drones, model vehicles, and many other devices. Using a remote control enables a person to quickly and easily direct an object to change its settings or move to their desired specifications. Developers must code the actions that a remote control will be able to direct.

Our goal is to be able to drive the robot to move forward, stop, back up, or turn in any direction based on our keyboard input.

The robot must have each motor control “mapped” to specific keyboard keys. The flow of code will use events to detect a keyboard key press and execute code that will turn the motors in a specific speed and direction.

Learning Objectives
  • Add a remote-control sensor to a robot in the Robotics Learning Kit.
  • Code the robot to use the keyboard as a virtual remote control to move upon command.
  • Implement events to issue commands to the motors upon a key press and release.
  • Use math functions to calculate the final result of multiple simultaneous inputs.
  • Use the Blueprint programming language to create code to have a robot follow the user’s directions from a remote control.
  • Discuss real-world applications currently using this method of coding, and other new applications that would be beneficial to design.

View the Lesson Plan
View the Student Guide

Explore more lesson plans
  • Longueur du cours :5 heures 0 minutes
  • Auteur :Brian Dickman, Cleverlike Studios Rebecca Parrent, Cleverlike Studios Ian Southwell, Cleverlike Studios
  • Date de publication :04-2022