Skip to main content
Teacher Portal

Diagram illustrating a range of robot behaviors from simple (to the right) to complex (to the left). From simplest to most complex the behaviors read 'spin motor', to move robot arm, open/close robot claw, move robot wheels, to grab object, move forward for 5 seconds, turn robot 90 degrees, to travel to location and pick up object, to deliver medicine throughout hospital and operate self driving vehicle as the most complex.

A flowchart illustrating the progression from simple to complex tasks in robotics. The chart begins on the left with a blue oval labeled Spin motor, which branches into four paths leading to blue rectangles: Move robot arm, Open/Close robot claw, Move robot wheels, and Wait a period of time. These blue rectangles represent simple tasks. The flow continues to the right, showing more complex actions in purple rectangles, such as Grab object, Move forward for 5 seconds, Turn robot 90 degrees, and Travel to location and pick up object. These actions further connect to the most complex tasks in red rectangles on the far right, labeled Deliver medicine throughout hospital and Operate self-driving vehicle. The entire flowchart is underlined by a gradient arrow, with Simple on the left in blue and Complex on the right in red, indicating the increasing complexity of tasks as you move across the diagram

Programming Complexity

Robots can be designed to perform a wide range of tasks. Some of these tasks are very simple, like opening an automatic door. Others can be far more complex, like an autonomous car navigating an urban environment. No matter how complex the task is, it can be broken down into simpler tasks. These tasks are known as behaviors and are the building blocks of robotics programming.

A behavior is a way that a robot acts, and can range in complexity depending on how the robot is built or programmed. A simple mobile robot like the VEX V5 Speedbot only has two motors, while the Clawbot has four motors, including two additional motors for the Arm and Claw. Behaviors for both robots will involve turning those motors to accomplish set goals. With more design and programming, you can start from this simple behavior and do more complex behaviors.

Below is a list of robot behaviors increasing from simple to complex for both the Speedbot and the Clawbot. In parentheses, you can see the simpler behaviors that compose each one.

  • Rotate a motor assigned to a certain port
  • Drive forward (rotate both the left and right motors using the Drivetrain)
  • Travel 5 meters (drive forward, then stop)
  • Grab a distant object (travel 2 meters, rotate the claw motor to grab it)
  • Retrieve an object and put it on a high shelf (grab a distant object, turn around, travel 2 meters, use the arm and claw motors to raise and release the object)

You can see how you can deconstruct any of the more complex behaviors into simpler behaviors. These become the building blocks of any complex task.

Teacher Tips icon Teacher Tips

  • Instruct students to break down the complex robot behaviors into smaller, simple steps. This process is known as decomposition.

  • Explain to students that decomposing (breaking down) complex behaviors into simpler tasks is an important part of planning and programming.

  • Allow students to run their autonomous projects if there is enough class time.

Extend Your Learning icon Extend Your Learning

To connect this activity to computational thinking and decomposition, ask students to map out, or list, the behavioral steps that a robot would carry out to complete the activities below:

  • Activity One: Travel 1 meter and return to the starting spot.

  • Activity Two: Flip a box located 60 cm in front of the robot.

  • Activity Three: Pick up an object, shake it, travel 30 cm, place the object down on the ground, and return to the starting point.

Motivate Discussion icon Motivate Discussion

Students should share the behavioral steps that they listed for the activities from the Extend Your Learning above. Each of the following questions can be asked after any or all of the activities.

Q: Which steps or behaviors did each group list to successfully complete this activity?
A: Students will need to consider the length the robot must travel and the movement and speed of the arm, in addition to listing the simple robot behaviors required to complete the activity or task (driving forward, in reverse, turning left or right). Students should create their lists of behaviors so that each step is represented.

Q: What were the similarities and differences between the solutions (lists of steps) for this activity?
A: Students will make comparisons based on their solutions. A Venn diagram might be a good way to organize the steps students share. If the majority of students name a particular step, add it to the center where the circles overlap. If only one or a few students name a particular step, add it to one circle or the other. When done, the steps in the center should be reliably simple and unable to be broken down further whereas the steps listed in only one of the circles are likely not as simple as they could be. However, this pattern might be reversed depending on the class's experience in breaking down complex behaviors into their simplest steps.

Q: Were there similarities to the successful solutions? If so, what were they?
A: The most successful solutions were those that included the most detail and specificity. The robot is programmed in a language with very specific behaviors that have been broken down into their smallest components. For example, it might be common to say a robot "travels 1 meter and returns to the starting spot" but that high-level description does not easily translate when programming. You have to break it down further: drives forward for 1 meter, turns 180 degrees, and drives forward for 1 meter. But even that might not be precise enough and you need this level of detail to be programming-ready: set the drive and turning velocities to 40%, drive forward for 1 meter, wait 3 seconds, turn left for 180 degrees, wait 1 second, and drive forward for 1 meter. The further we break down complex behaviors to make them programming-ready robot behaviors, the better prepared we are to complete a project.