Uso del sensor de visión - Python
Caja de herramientas para maestros
: el propósito de esta sección
El uso eficaz del sensor de visión requiere que los estudiantes puedan configurarlo y ajustarlo en función del entorno en el que se encuentre. En la siguiente actividad, los estudiantes aprenderán a hacer ambas cosas.
Para obtener más información sobre la programación del sensor de visión con VEXcode V5, visite la información de ayuda en VEXcode V5para Python o consulte la sección V5 de la biblioteca VEX.
El siguiente es un resumen de lo que sus estudiantes harán en esta actividad:
-
Abra el proyecto de ejemplo Detección de objetos (Visión).
-
Configure el sensor de visión.
-
Ejecute el proyecto de ejemplo Detección de objetos (Visión).
-
Discuta y reflexione.
-
Ajuste el sensor de visión.
Consejos para profesores
Si esta es la primera vez que el estudiante usa VEXcode V5, puede acceder a muchos artículos útiles en la Biblioteca VEX.
Consejos para maestros
-
Uso de autocompletar
Autocompletar es una función en VEXcode V5 que predice el resto del comando que está escribiendo. Mientras los estudiantes trabajan en VEXcode V5, anímelos a usar la función Autocompletar para ayudar con la sintaxis de Python. Puede notar una función de autocompletar cuando comience a escribir el comando. Use las teclas "Arriba" y "Abajo" para seleccionar el nombre que desee, luego presione "Tab" o (Intro/Retorno) en su teclado para hacer la selección. Para obtener más información sobre el uso de Autocompletar, consulta este artículo.
Obtenga el hardware necesario, su portátil de ingeniería y abra VEXcode V5.
Cantidad | Materiales necesarios |
---|---|
1 |
Kit de inicio VEX V5 Classroom |
1 |
VEXcode V5 (última versión, Windows, macOS) |
1 |
Cuaderno de ingeniería |
1 |
Configuración de un sensor de visión (biblioteca VEX) |
1 |
Ajuste del sensor de visión (biblioteca VEX) |
1 |
Proyecto de ejemplo Detección de objetos (Visión) |
Esta actividad le dará las herramientas para usar el sensor de visión.
Puede utilizar la información de Ayuda dentro de VEXcode V5 para obtener información sobre los comandos.
Paso 1: abre un proyecto de ejemplo
VEXcode V5 contiene muchos proyectos de ejemplo diferentes. Usarás uno de ellos en esta exploración.
Abra el proyecto de ejemplo Detección de objetos (Visión) completando los siguientes pasos:
- Abra el menú Archivo.
- Selecciona Abrir ejemplos.
- Utilice la barra de filtro en la parte superior de la aplicación y seleccione "Detección".
Seleccione y abra el proyecto de ejemplo Detección de objetos (Visión).
Guarde su proyecto como Detección de objetos.
- Compruebe que el nombre del proyecto Detección de objetos esté ahora en la ventana en el centro de la barra de herramientas.
Consejos para profesores
-
Asegúrese de que los estudiantes hayan seleccionado Abrir ejemplos en el menú Archivo.
-
Asegúrese de que los estudiantes hayan seleccionado el proyecto de ejemplo de detección de objetos (visión). Puede señalar a los estudiantes que hay varias selecciones para elegir en la página Abrir ejemplos.
-
Puede pedir a los estudiantes que añadan sus iniciales o el nombre de su grupo al nombre del proyecto. Esto ayudará a diferenciar los programas si les pides a los estudiantes que los envíen.
-
Dado que VEXcode V5 tiene autoguardado, no es necesario volver a guardar el proyecto después de que se haya guardado por primera vez.
-
Si los estudiantes necesitan ayuda para ahorrar, diríjalos a uno de estos artículos:
Paso 2: Configuración y uso del sensor de visión
- Comience leyendo Sensor de visión - Configuración del robot - VEXcode V5.
- A continuación, lea Vision Sensor Adjustments-Robot Config-VEXcode V5
- A continuación, configure el sensor de visión para tres objetos de color: rojo, verde y azul.
Abra el proyecto de ejemplo Detección de objetos (Visión) previamente guardado.
¿Cómo se utiliza el sensor de visión en este proyecto? Predecir lo que sucederá cuando se ejecute el proyecto y anotar las predicciones en su cuaderno de ingeniería.
# Library imports
from vex import *
# Begin project code
check_red = Event()
check_blue = Event()
check_green = Event()
# Will check to see if there is a blue object in view of the vision
# sensor and display the result on line 1 on the V5 Brain's screen
def has_blue_callback():
brain.screen.clear_row(1)
brain.screen.set_cursor(1, 1)
vexcode_vision_5_objects = vision_5.take_snapshot(vision_5__BLUEBOX)
if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 0:
brain.screen.print("Blue Object Found")
else:
brain.screen.print("No Blue Object")
# Will check to see if there is a red object in view of the vision
# sensor and display the result on line 3 on the V5 Brain's screen
def has_red_callback():
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vexcode_vision_5_objects = vision_5.take_snapshot(vision_5__REDBOX)
if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 0:
brain.screen.print("Red Object Found")
else:
brain.screen.print("No Red Object")
# Will check to see if there is a green object in view of the vision
# sensor and display the result on line 5 on the V5 Brain's screen
def has_green_callback():
brain.screen.clear_row(5)
brain.screen.set_cursor(5, 1)
vexcode_vision_5_objects = vision_5.take_snapshot(vision_5__GREENBOX)
if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 0:
brain.screen.print("Green Object Found")
else:
brain.screen.print("No Green Object")
# register event handlers
check_blue(has_blue_callback)
check_red(has_red_callback)
check_green(has_green_callback)
# small delay to ensure that the event handlers are ready to be used
wait(15, MSEC)
# set the print font for all future prints to the V5 screen
brain.screen.set_font(FontType.MONO40)
# constantly runs to check for new sensor data
while True:
check_blue.broadcast_and_wait()
check_red.broadcast_and_wait()
check_green.broadcast_and_wait()
wait(0.1, SECONDS)
- Descargue y ejecute el proyecto. Coloque objetos de diferentes colores frente al sensor de visión y observe el comportamiento del robot. Registre en su cuaderno de ingeniería cómo su predicción fue diferente o correcta en comparación con lo que realmente observó en el proyecto.
Consejos para profesores
Los objetos de tres colores no tienen que ser cubos, pueden ser cualquier objeto verde, rojo y azul relativamente pequeño.
Motivar la discusión
-
Respuestas
Facilite una discusión en el aula para que los estudiantes compartan lo que predijeron que este proyecto hará en su cuaderno de ingeniería, y también reflexione sobre cómo configurar el sensor de visión.
Facilite la discusión haciendo las siguientes preguntas:
-
¿Cuáles son los pasos para configurar el sensor de visión?
-
¿Qué hace la estructura if else?
-
¿Qué pasaría con la forma en que el sensor de visión detecta objetos si cambiamos de habitación?
Las respuestas variarán:
-
Los estudiantes deben tener en cuenta que el nombre del objeto tendrá que ser decidido. El objeto debe colocarse en el marco del sensor de visión y calmarse con el botón "Congelar". El color se seleccionará y configurará utilizando el botón "Establecer". Los estudiantes deben describir los pasos enumerados en este artículo.
-
La estructura if else ejecuta las instrucciones dentro de la primera o segunda parte del if else en función del valor booleano informado. Puede encontrar más información sobre cómo usar esta instrucción en la información de Ayuda.
-
Si se le pidiera al sensor de visión que detectara objetos en un entorno diferente, la iluminación podría cambiar y los colores de los objetos podrían verse diferentes. Esto puede dificultar que el sensor de visión detecte objetos.
Amplíe su aprendizaje
:
configure más objetos
Elija otros dos objetos de color para configurar, posiblemente blanco, morado, amarillo, etc.
Si los estudiantes necesitan ayuda, consulte la información de ayuda o el artículo Configuración de un sensor de visión V5.
Paso 3: ajuste del sensor de visión
Muchas veces un objeto está configurado para ser reconocido por el sensor de visión en un entorno, por ejemplo, en un aula. Cuando el sensor de visión se lleva a un entorno diferente, como un entorno de competición, es posible que el sensor de visión no reconozca el objeto. Esto a menudo se debe a un cambio en la iluminación después de que el sensor de visión ya se haya configurado. Para resolver este problema, es posible que tenga que ajustar su sensor de visión.
- Comience leyendo Ajuste del sensor de visión V5 en VEXcode V5.
- A continuación, ajuste el sensor de visión para los tres objetos de color: rojo, verde y azul.
Abra el proyecto de ejemplo Detección de objetos (Visión) previamente guardado.
¿Cómo afectará el ajuste del sensor de visión a su capacidad para detectar objetos? Lleva el Clawbot a otra parte de la habitación con más o menos luz.
- Descargue y ejecute el proyecto. Coloque objetos de diferentes colores frente al sensor de visión y observe el comportamiento del robot. Documente en su cuaderno de ingeniería qué tan bien el sensor de visión detecta objetos. ¿Es necesario ajustar el sensor de visión después de cambiar de ubicación?
- Ajuste el sensor de visión según sea necesario. Pruebe el sensor de visión después de que se haya ajustado para determinar si puede detectar mejor los objetos y hacer los ajustes necesarios.
Motivar la discusión
-
Reflexionar sobre la actividad
P: ¿El sensor de visión detectó objetos como esperaba?
R: Las respuestas variarán; sin embargo, el objetivo de esta pregunta es promover el pensamiento cognitivo. Los estudiantes deben tener en cuenta que la capacidad del sensor de visión para detectar objetos puede cambiar dependiendo del entorno y la luz.
P: ¿Por qué es importante poder ajustar el sensor de visión según sea necesario?
R: Si bien las respuestas pueden variar, una respuesta común debe ser que si un robot usa un sensor de visión y es llevado a una competencia o incluso utilizado en un juego o desafío, el rendimiento del robot dependerá de la precisión del sensor de visión. Afinarlo es importante para la precisión.
Amplíe su aprendizaje
-
Múltiples objetos
Pida a los estudiantes que ejecuten el proyecto Detección de objetos (Visión) y coloquen más de uno de los objetos configurados frente al Sensor de visión. ¿Qué pasa? Pídales que documenten sus hallazgos en su cuaderno de ingeniería.
Ahora, pida a los estudiantes que coloquen un objeto configurado y un objeto desconocido o no configurado frente al sensor de visión. ¿Qué pasa? Pídales que documenten sus hallazgos en su cuaderno de ingeniería.
Pregunte a los estudiantes antes de probarlo, ¿qué pasaría si colocaran tres objetos configurados frente al sensor de visión? Pida a los estudiantes que escriban sus predicciones antes de ponerlas a prueba. Pídales que registren sus observaciones después de probarlo.
Facilite una discusión sobre lo que los estudiantes predijeron y observaron.
Facilite la discusión preguntando:
- ¿Cuáles eran las diferencias entre uno, dos y tres objetos?
- ¿Ajustaría el proyecto de alguna manera para reconocer varios objetos?