Skip to main content
Teacher Portal

Background

In this coding unit, students will learn how to work with VEXcode GO and the Code Base robot to solve authentic challenges for coding robots in the workplace. Students will learn how to plan, create, and start VEXcode GO projects with the Code Base robot based on four real-world scenarios.

What Kinds of Jobs Do Robots Do?

Robots can do jobs that are too dirty, dull, or dangerous for humans to do. Many of these jobs also don't pay well. For example, humans are putting their lives at risk when performing tasks such as fighting fires or diving deep in the ocean. Robots have the hardware to be able to sustain in these types of environments, making them the more suitable and safer choice. Industries implement robots in the workplace to do these dirty, dull, or dangerous jobs to protect people, while also freeing up human resources to work on more complex or interactive processes. Humans still have plenty to do if robots take these dirty, dangerous, and dull jobs. Technology advances have brought change throughout the history of industry. Robots are no different.

Underwater robot examining a coral reef.

Each lesson in this unit investigates a real-world scenario in which robots perform dirty, dangerous, and dull jobs in various industries. Students can be innovative problem solvers by creating solutions to real-life challenges, such as how to code robots to perform dirty, dull, and dangerous tasks. While using VEX GO Kits, students will analyze the capabilities of how the Code Base robot can move using VEXcode GO, and use this knowledge to brainstorm different jobs, scenarios, or problems that can be solved using the Code Base robot.

Dirty Jobs

Dirty jobs are unsanitary or hazardous work that can impact human health. Robots can do these unfavorable jobs and limit human exposure to unsanitary conditions. View the video below for an example of a robot working in a dirty tunnel setting.

Video file
Natural Resources Wales / CC BY (https://creativecommons.org/licenses/by/3.0)

Robots have been implemented in dirty jobs such as mine exploration and sewer reconnaissance. When there is a problem with a sewer pipe, a crew shuts it off, digs to access the pipe, then fixes the infrastructure. But a robot can clean, map, and inspect pipes before the problems arise.

Dull Jobs

Jobs that require repetitive functions require little human thought are considered dull. They often include processes that have the sole objective of efficiency and output. Robots can work around the clock to streamline dull jobs, which frees up human capital for tasks that have an element of variety and a need for critical thinking.

Several numbered warehouse fulfillment robots navigating a warehouse full of products.
Warehouse Fulfillment Robot

For example, with the growth of e-commerce, there’s an increasing need for fulfillment centers. Robots increase order-to-delivery times, reduce errors, and minimize the burden on human workers.

Dangerous Jobs

Dangerous jobs put humans in harmful situations. Robots can be used in these jobs to prevent injury. Robots can defuse bombs, traverse distant planets, inspect unstable structures, and help fight fires. Robots don’t necessarily remove humans from the equation, but they can be programmed or controlled remotely keeping workers out of the most dangerous situations.

illustration of a firefighting robot.
Firefighting Robot

Robots can help firefighters assess burning buildings. The SmokeBot creates interior maps that firefighters can use later to find their way around a burning building. The Thermite Robot has a hose that is capable of pumping 1,893 liters (~500 gallons) of water per minute. The Thermite Robot uses mounted cameras, so it can travel into extremely hazardous fires while being controlled from up to a quarter mile away.

What is a Drivetrain?

A drivetrain allows a robot to move forward, reverse, left, or right using wheels or other methods.

The Code Base robot has a 2-motor drivetrain because there are two motors (one on the left and one on the right side) that are being powered. Even though there are four wheels on the Code Base robot, only two of them are powered by motors. The Blue Wheels help the Code Base robot remain stable, so that it does not fall over. Could you imagine if the Code Base tried to move with only two wheels? It would likely fall over as soon as it drives forward or backward.

Bottom up view of the Code Base 2.0 showing which wheels are powered by which motors. On the left side, the wheel is labeled as "wheel powered by Motor 1", and on the right side, the wheel is labeled as "wheel powered by motor 2".

How Does the Code Base Robot Turn Using a Drivetrain?

The Code Base robot makes turns by spinning the wheels in opposite directions. To make a left turn, the Code Base robot’s left front wheel will spin backward, while the front right wheel will spin forward.

Top down view of the Code Base 2.0 showing arrows to indicate that when the robot turns to the left, the right wheel drives forward and the left wheel drives backwards.

To make a right turn, the Code Base robot’s left front wheel will spin forward, while the front right wheel will spin backward.

A top down view of the Code Base 2.0 with arrows to indicate that as the robot turns right, the left wheel drives forward and the right wheel moves backwards.

What is VEXcode GO?

VEXcode GO is a coding environment that is used to communicate with VEX GO Robots. Students use the drag and drop interface to create VEXcode projects that control their robots actions. Each block’s purpose can be identified using visual cues such as its shape, color, and label.

The following VEXcode blocks will be introduced in this unit:

{When started} - starts the attached stack of blocks when the project is started.

When Started When Started block with a drive for block attached and the parameters set to drive forward for 200 millimeters.

[Drive for] - moves the Drivetrain either forward or in reverse for a given distance. Choose which direction the Drivetrain will move, and set how far it will move by entering a value in the oval.

Drive For block with the parameters set to drive forward for 1 millimeter. Drive For block with the dropdown menu open illustrating the forward and reverse options.

[Turn for] - rotates the Drivetrain left or right for a given number of degrees. Choose the direction the Drivetrain will turn, and set how far it will move by entering a number of degrees in the oval.

Turn for block with right for 90 degrees in the parameters. Turn for block with the drop down for direction open showing how to change the parameter from left to right.

What is Decomposition and Sequencing in Programming?

In order to tell a robot exactly and precisely how to move, both decomposition and sequencing are needed. First, the problem, such as how to navigate in a challenge, will be decomposed into smaller increments and behaviors. Then, once these behaviors are identified, they need to be organized into the correct sequence. This is important, because the robot will only move exactly as it is programmed to.

Decomposition

Decomposition involves breaking down a complex problem into behaviors that are more manageable and easier to understand. Breaking the problem down into smaller parts means that each part can be examined in more detail and solved with greater ease. For example, if a student wants their robot to move in a square, they would need to break it down into smaller commands. Refining the breakdown process is important for students to practice, as they may not break down the commands into smaller components at first:

Move in a square breakdown 1 Move in a square breakdown 2 Move in a square breakdown 3
  1. Move forward and turn right four times
  1. Move forward and turn right
  2. Move forward and turn right
  3. Move forward and turn right
  4. Move forward and turn right
  1. Move forward 50mm
  2. Turn right 90˚
  3. Move forward 50mm
  4. Turn right 90˚
  5. Move forward 50mm
  6. Turn right 90˚
  7. Move forward 50mm
  8. Turn right 90˚

Sequencing

Sequencing is the specific order in which behaviors are performed. An action or event leads to the next ordered action in a sequence. Sequencing is important so students can program their robots to correctly perform a task.

Students will program their Code Base robot to complete a variety of tasks that mimic authentic jobs that robots perform. They will need to sequence the commands in their program so that their Code Base robot moves forward, backward, left and right in the correct order to navigate the challenges.

  1. Move forward
  2. Turn right
  3. Move forward
The Code Base 2.0 sits on a GO Field, with red arrows showing the sequence of movements needed to complete a task. The first arrow extends from the front of the robot approximately 2 squares forward, then an arrow points to the right, showing the next movements.

VEX GO Pieces

The following VEX GO pieces are essential parts of the Code Base robot build. The VEX GO Poster illustrates all VEX GO pieces and organizes them according to their function in a build. More information about the VEX GO pieces can be found in the Pieces in the VEX GO Kit VEX Library article.

VEX GO Parts poster showing all the GO Pieces.
VEX GO Kit Pieces

Electronics

Electronic components are used to power and control VEX GO build functions.

The Battery is essential for any VEX GO build that includes electronics. The Battery provides power to VEX GO electronic components.

The Brain is essential for any VEX GO build that is started by a VEXcode GO project. The Brain executes user projects and controls the devices connected to the Brain.

The Motor changes energy into movement that can be used in a build. The Motor can be connected to the Brain and controlled by a VEXcode GO project.