Skip to main content
Teacher Portal

Teacher Toolbox icon Teacher Toolbox - The Purpose of this Activity

Using the Vision Sensor effectively requires the students to be able to configure it and tune it depending on the environment that it is in. In the following activity, the students will learn how to do both.
For more information about programming the Vision Sensor with VEXcode V5, visit the help information for C++ within the VEX Library.

The following is an outline of what your students will do in this activity:

  • Open the Detecting Objects (Vision) example project.

  • Configure the Vision Sensor.

  • Run the Detecting Objects (Vision) example project.

  • Discuss and Reflect.

  • Tune the Vision Sensor.

Teacher Tips icon Teacher Tips

If this is the student's first time using VEXcode V5, they can access may help articles in the VEX Library.

Teacher Tips icon Teacher Tips - Using Autocomplete

Autocomplete is a feature in VEXcode V5 that predicts the rest of the command you are typing. As students are working in VEXcode V5, encourage them to use the Autocomplete feature to help with the syntax.

VEXcode V5 with the Drivetrain portion of a command typed to the left, and to the right, a scrollable list of autocomplete options for that command is shown.

The Autocomplete articles for C++ cover how to use the Autocomplete feature.

Get the hardware required, your engineering notebook, and open VEXcode V5.

Materials Required:
Quantity Materials Needed
1

VEX V5 Classroom Starter Kit

1

VEXcode V5 (latest version, Windows, MacOS)

1

Engineering Notebook

1

Configuring a Vision Sensor (VEX Library)

1

Tuning the Vision Sensor (VEX Library)

1

Detecting Objects (Vision) example project

This activity will give you the tools to use the Vision Sensor.

You can use the Help (C++) information inside of VEXcode V5 to learn about the instructions.

VEXcode V5 is shown with the Toolbox open on the far left, and the Help for the Drive for command open on the far right. The Help shows the definition of the command and information about how it is used.

 

Step 1: Open an Example Project

VEXcode V5 contains many different example projects. You'll use one of them in this exploration.

Open the Detecting Objects (Vision) example project by completing the following steps:

  • Open the File menu.
  • Select Open Examples.

VEXcode V5 Toolbar with the File menu open and Open Examples highlighted in a red box. Open Examples is the fourth menu item beneath New Blocks Project, New Text Project, and Open.

  • Use the filter bar at the top of the application and select "Sensing."

VEXcode V5 Example Project selection window with the Sensing filter selected at the top, and highlighted in a red box. Below there are six example project icons showing.

Select and open the Detecting Objects (Vision) example project.

Example project icon reads Detecting Objects Vision at the bottom and shows a blue diagram of a robot with a sensor indicating object detection above.

Save your project as Detecting Objects.

  • Check to make sure the project name Detecting Objects is now in the window in the center of the toolbar.

Project name dialog box in the VEXcode V5 Toolbar reads Detecting Objects and shows that slot 1 is selected to the left, and reads Saved to the right.

Teacher Tips icon Teacher Tips

  • Make sure that the students have selected Open Examples from the File menu.

  • Make sure that the students have selected the Detecting Objects (Vision) Example project. You can point out to students that there are several selections to choose from on the Open Examples page.

  • You can ask students to add their initials or the name of their group to the project name. This will help differentiate the programs if you ask the students to submit them.

  • Since VEXcode V5 has autosave, there is no need to save the project again after it has been saved for the first time.

  • If students need help saving, direct them to the one of these articles: 

Step 2: Configuring and Using the Vision Sensor

Vision Sensor configuration window shows an image of a hand holding a red cube to the left, with an overlay on the cube and the words REDBOX and W142 H142 above it. To the right, 3 Color signatures are set for BlueBox, Redbox, and Greenbox.

Open the previously saved Detecting Objects (Vision) example project.

How is the Vision Sensor being used in this project? Predict what will happen when the project is run and write down the predictions in your engineering notebook.

The image shows a VEXcode program written in C++ for a robot that uses events to check for the presence of blue, red, and green objects using a vision sensor. The code imports the necessary VEX library and sets up three events: checkBlue, checkRed, and checkGreen. Three callback functions are defined: hasBlueCallback, hasRedCallback, and hasGreenCallback. Each function checks for the presence of its respective color by taking a snapshot using the vision sensor and then displaying the result on the V5 Brain's screen. The results are printed on different lines, with blue on line 1, red on line 3, and green on line 5. If an object of the respective color is found, the message

  • Download and run the project. Place different colored objects in front of the Vision Sensor and observe the robot's behavior. Record in your engineering notebook how your prediction was different or correct compared to what you actually observed from the project.

Teacher Tips icon Teacher Tips

The three colored objects do not have to be cubes, they can be any relatively small green, red, and blue object.

Motivate Discussion icon Motivate Discussion - Answers

Facilitate a classroom discussion to have the students share what they predicted this project will do in their engineering notebook, and also reflect on how to configure the Vision Sensor.
Facilitate the discussion by asking the following questions:

  1. What are the steps for configuring the Vision Sensor?

  2. What does the if then else structure do?

  3. What would happen to how the Vision Sensor detects objects if we changed rooms?

Answers will vary:

  1. The students should note that the object name will have to be decided. The object should be placed in the frame of the Vision Sensor and stilled using the "Freeze" button. The color will then be selected and configured using the "Set" button. The students should outline the steps listed in this article.

  2. The if then else structure runs the instructions inside the first or second parts of the if then else based on the Boolean value reported. More information on how to use this instruction can be found in the Help information.

  3. If the Vision Sensor was asked to detect objects in a different environment, the lighting could change and the colors of the objects could look different. This may make it difficult for the Vision Sensor to detect objects.

Extend Your Learning icon Extend Your Learning - Configure more objects

Choose two other colored objects to configure, possibly white, purple, yellow, etc...

Vision Sensor configuration window showing the snapshot on the left with a hand holding a yellow gear. There is a square overlay on the yellow gear and the data reads Yellow box, X90 y 62, w102, h 98. TO the right the color signatures for Bluebox, Redbox, Greenbox, and Yellowbox are set.

If the students need help, refer them to the Help information or the Configuring a V5 Vision Sensor article.

Step 3: Tuning the Vision Sensor

Often times an object is configured to be recognized by the Vision Sensor in one environment, for example, in a classroom. When the Vision Sensor is then taken into a different environment, such as a competition setting, the object may not be recognized by the Vision Sensor. This is often due to a change in lighting after the Vision Sensor has already been configured. To solve this problem, you may have to tune your Vision Sensor.

Vision Sensor configuration window with a hand holding a red cube with an overlay over the cube and text reading redbox and x84 y 28 then w 158 h 166. To the right Bluebox, Redbox, and Greenbox color signatures are set with a slider highlighted in a red box with the dial set to 4.4.

Open the previously saved Detecting Objects (Vision) example project.

How will tuning the Vision Sensor affect how well it can detect objects? Take the Clawbot to a different part of the room with more or less light.

V5 Clawbot on a Field with the arm down and the claw open and around a purple cube object.

  • Download and run the project. Place different colored objects in front of the Vision Sensor and observe the robot's behavior. Document in your engineering notebook how well the Vision Sensor detects objects. Does the Vision Sensor need tuned after it changed locations?
  • Tune the Vision Sensor as necessary. Test the Vision Sensor after it has been tuned to determine if it can detect objects better and make adjustments as needed.

Motivate Discussion icon Motivate Discussion - Reflecting on the Activity

Q: Did the Vision Sensor detect objects as you expected it to?
A: Answers will vary; however, the goal of this question is to promote cognitive thinking. Students should note that the Vision Sensor's ability to detect objects can change depending on the environment and light.

Q: Why is it important to be able to tune the Vision Sensor as needed?
A: While answers may vary, a common response should be that if a robot uses a Vision Sensor and is taken to a competition or even used in a game or challenge, how well the robot performs will depend on the accuracy of the Vision Sensor. Tuning it is important for accuracy.

Extend Your Learning icon Extend Your Learning - Multiple Objects

Ask the students to run the Detecting Objects (Vision) project and place more than one of the configured objects in front of the Vision Sensor. What happens? Ask them to document their findings in their engineering notebook.
Now, ask the students to place one configured object and one unknown or not configured object in front of the Vision Sensor. What happens? Ask them to document their findings in their engineering notebook.

Ask the students before testing it, what would happen if they placed three configured objects in front of the Vision Sensor? Ask the students to write down their predictions before testing it. Ask them to record their observations after testing it.

Vision Sensor Utility interface showing two hands holding a Greenbox and a Redbox in the window on the left. Each colored cube has an overlay with data. To the right, the signatures for Bluebox, Redbox, Greenbox, and Yellowbox are all set.

Facilitate a discussion on what the students predicted and observed.

Facilitate the discussion by asking:

  • What were the differences between one, two, and three objects?
  • Would you adjust the project in any way for recognizing multiple objects?