Using the Vision Sensor - Blocks-based
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 Sensing blocks, visit the help information within VEXcode V5.
The following is an outline of what your students will do in this activity:
-
Open the Detecting Objects (Vision) example project.
-
Watch the Configuring a Vision Sensor tutorial video.
-
Configure the Vision Sensor.
-
Run the Detecting Objects (Vision) example project.
-
Discuss and Reflect.
-
Watch the Tuning the Vision Sensor tutorial video.
-
Tune the Vision Sensor.
Teacher Tips
If this is the student's first time using VEXcode V5, they can also see the Tutorials in the toolbar to learn other basic skills.
Get the hardware required, your engineering notebook, and open VEXcode V5.
Quantity | Materials Needed |
---|---|
1 |
VEX V5 Classroom Starter Kit |
1 |
VEXcode V5 (latest version, Windows, macOS, Chromebook) |
1 |
Engineering Notebook |
1 |
Configuring a Vision Sensor (Tutorial) |
1 |
Tuning the Vision Sensor (Tutorial) |
1 |
Detecting Objects (Vision) example project |
This activity will give you the tools to use the Vision Sensor.
You can use the Help information inside of VEXcode V5 to learn about the blocks. For guidance in using the Help feature, see the Using Help tutorial.
Step 1: Open an Example Project.
VEXcode V5 contains many different example projects. You’ll use one of them in this exploration. For help and tips on using example projects, check out the Using Examples and Templates tutorial.
Then, open the Detecting Objects (Vision) example project by completing the following steps:
- Open the File menu.
- Select Open Examples.
- Use the filter bar at the top of the application and select "Sensing."
Select and open the Detecting Objects (Vision) example project.
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.
- For addition help, view the Use Example Projects and Templates tutorial video.
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. Remind students that they can refer to the Using Examples and Templates tutorial at any time.
-
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 Naming and Saving Your Project tutorial video.
Step 2: Configuring and Using the Vision Sensor
- Begin by watching the Configuring a Vision Sensor tutorial video.
- Next, configure the Vision Sensor for three colored objects: red, green, and blue.
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.
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.
For additional help, view the Download and Run a Project tutorial video.
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 - 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:
-
What are the steps for configuring the Vision Sensor?
-
What does the <Object exists> block do?
-
What does the [If then else] block do?
-
What would happen to how the Vision Sensor detects objects if we changed rooms?
Answers will vary:
-
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 as well as the steps listed in the Configuring a Vision Sensor tutorial video.
-
The <Object exists> block reports if the Vision Sensor detects a configured object. More information on how to use this block can be found in the Help information.
-
The [If then else] block runs the blocks inside the first or second parts of the [If then else] based on the Boolean value reported. More information on how to use this block can be found in the Help information.
-
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.
Teacher Toolbox - The Broadcast Blocks
In the Detecting Objects (Vision) example project, the project is organized using the [Broadcast and wait] blocks. The project could be altered to remove the [Broadcast and wait] blocks and place all of the stacks inside the [Forever] block. Both projects would allow the robot to perform the same actions. Using the [Broadcast and wait] blocks allows for better organization of the blocks and programming flow.
For more information about broadcast blocks, visit the Help information. See the Using Help tutorial within VEXcode V5 as needed.
Extend Your Learning - Configure more objects
Choose two other colored objects to configure, possibly white, purple, yellow, etc...
If the students need help with configuring, refer them to the Help information or tutorial.
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.
- Begin by watching the Tuning the Vision Sensor tutorial video.
- Next, Tune the Vision Sensor for the three colored objects: red, green, and blue.
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.
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?
For additional help, view the Download and Run a Project tutorial video.
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 - 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 - Multiple Objects
Ask the students to run the Detecting Objects 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.
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?