Solución de problemas de sensores de CI (2 .ª generación)

Cuando su robot no se comporta según lo previsto mientras usa la retroalimentación del sensor, puede seguir un procedimiento de solución de problemas paso a paso para encontrar y solucionar sus problemas. Este artículo explicará los pasos en un proceso de solución de problemas y proporcionará consejos sobre cómo usar estos pasos. 

Los pasos de este proceso son:

  1. Identificar el problema
  2. Comprobar hardware
  3. Comprobar software
  4. Analizar y aplicar datos

Identificar el problema

El primer paso para solucionar el problema de su sensor es identificar qué sensor está causando el problema. Compare el comportamiento observado del robot con el comportamiento previsto del robot. ¿El comportamiento problemático es causado por un sensor? Si es así, ¿qué sensor? Si necesita más información para determinar qué sensor puede ser el problema, lea los siguientes artículos relacionados con los sensores de su robot.

Sensores VEX IQ (2ª generación):

Una vez que haya identificado qué sensor está causando el comportamiento no deseado, puede avanzar en el proceso.


Comprobar hardware

El segundo paso es verificar el hardware del robot para asegurarse de que el sensor pueda funcionar según lo previsto. Cada una de las siguientes consideraciones de hardware podría estar afectando la funcionalidad de su sensor.

Comprobar la colocación del sensor

Construcción simple de Clawbot conduciendo en un campo. El robot tiene un sensor óptico conectado que está resaltado y apunta hacia un cubo rojo frente a él.

Comience mirando dónde se encuentra el sensor en su robot. ¿El sensor está bloqueado por algo, como otra parte de tu robot? Asegúrese de que el sensor tenga el espacio necesario para funcionar según lo previsto.

Como se muestra aquí, el sensor óptico tiene una línea de visión clara hacia el objeto que está destinado a detectar.

Compruebe la conexión del sensor

La pantalla del cerebro se muestra en el menú Dispositivos con un dispositivo LED táctil seleccionado.

Pruebe la funcionalidad del sensor observando los datos informados en la pantalla de dispositivos en el cerebro VEX IQ (2ª generación). Esto puede ayudarle a validar que el sensor está enchufado y funcionando.

Para acceder a la pantalla de dispositivos, siga los pasos de este artículo.

Diagrama de un cerebro (2da generación) conectado a un sensor de distancia (2da generación).

Una vez que la pantalla de dispositivos esté abierta, verifique si el sensor está informando datos.

Si no es así, asegúrese de que sus sensores estén enchufados correctamente. Al conectar los sensores, debe escuchar un chasquido cuando la lengüeta de bloqueo del sensor esté completamente acoplada a un puerto.

También puedes intentar cambiar el sensor que estás usando por otro para ver si eso resuelve tu problema.

Si cambiaste algo con la ubicación del sensor o la conexión del sensor, vuelve a probar tu proyecto para ver si esto resolvió el problema. Si la ubicación y la conexión de su sensor no cambiaron, continúe con el siguiente paso para continuar con el proceso de solución de problemas.


Comprobar software

Una vez que haya identificado que el sensor se ha colocado y conectado al robot con éxito, puede consultar el proyecto VEXcode IQ a continuación. Iterar en un proyecto puede ayudarlo a garantizar que los datos del sensor se utilicen de manera efectiva en su proyecto. Las siguientes estrategias pueden ayudarte a codificar tu sensor.

Si aplica alguna de estas estrategias a su proyecto VEXcode IQ, pruebe su proyecto nuevamente para ver si esto resolvió el problema.

Compruebe el firmware y la configuración

Menú de dispositivos VEXcode IQ con una larga lista de dispositivos conectados. Este menú se puede utilizar para asegurarse de que cada sensor esté conectado correctamente y para verificar su puerto específico en el cerebro.

Ahora que está seguro de que todos los dispositivos están conectados correctamente al cerebro, compruebe la configuración del dispositivo en VEXcode IQ.

Compruebe que todos los sensores estén presentes en la configuración. Luego, verifique que cada uno esté conectado al puerto correcto.

Cambie cualquier configuración incorrecta del dispositivo.

Ejecutar un proyecto de ejemplo

VEXcode bloquea el menú de proyectos de ejemplo con una variedad de proyectos en diferentes categorías para elegir. La categoría Detección está resaltada.

Abra un proyecto de ejemplo que utilice el sensor que está solucionando. Puede seleccionar la categoría "Detección" para filtrar proyectos de ejemplo.

Para obtener más información sobre los proyectos y plantillas de ejemplo de IQ Blocks, consulta este artículo.

Para obtener más información sobre los proyectos y plantillas de ejemplo de IQ Python, consulta este artículo.

Para obtener más información sobre los proyectos y plantillas de ejemplo de IQ C++, consulta este artículo.

VEXcode IQ con un proyecto de ejemplo abierto desde la categoría Sensing, que incluye una pila de bloques de código y una nota con una descripción del proyecto. La nota está resaltada.

Una vez abierto, lea la Nota para determinar si la funcionalidad en el proyecto de ejemplo se alinea con lo que está tratando de hacer con el sensor.

En el proyecto de ejemplo que se muestra aquí, la nota indica que el sensor de distancia se está utilizando para detectar un objeto para que el robot pueda dejar de conducir una vez que se alcanza el objeto.

Ejecute el proyecto de ejemplo y observe el comportamiento del robot. Luego mire el proyecto para ver cómo se están utilizando los datos del sensor para causar los comportamientos observados. Es posible que desee ejecutar el proyecto de ejemplo varias veces para ayudar con esto.

Es posible que desee intentar crear su propio proyecto simplificado para aplicar lo que ha aprendido del proyecto de ejemplo a su tarea.

Usar otras herramientas VEXcode IQ

También hay herramientas y estrategias que puedes usar para ayudarte a medida que aprendes más sobre la codificación de tu sensor en VEXcode IQ. Puede obtener información sobre los bloques o comandos de la Caja de herramientas de forma individual utilizando la Ayuda. También puede ver los datos del sensor mientras se ejecuta un proyecto para obtener más información sobre lo que informa el sensor.

VEXcode IQ con el menú Ayuda abierto y el bloque de encabezado Drive seleccionado. Las descripciones del bloque y cómo se puede usar se muestran junto con imágenes de usos de ejemplo.

La ayuda

Lea la Ayuda para los bloques o comandos en el proyecto de ejemplo o en su proyecto para obtener información sobre los datos que se utilizan, los valores que informará el comando y ejemplos de cómo usar el comando en un proyecto.

Consulta este artículo para obtener más información sobre cómo acceder a la Ayuda en VEXcode IQ Blocks.

Consulta este artículo para obtener más información sobre cómo acceder a la Ayuda en VEXcode IQ Python.

Consulta este artículo para obtener más información sobre cómo acceder a la Ayuda en VEXcode IQ C++.

Datos de impresión

También puede imprimir datos del sensor mientras se ejecuta el proyecto de ejemplo o su proyecto, para ayudarlo a comprender mejor lo que el sensor informa en tiempo real. Esto puede ayudarte a determinar qué valores informados del sensor se utilizarán como parámetros en tu proyecto. 

Tenga en cuenta que en un proyecto Blocks, se puede usar un bloque {When started} Hat separado para mantener todos los comandos de impresión organizados en su propia pila.

Bloques VEXcode IQ
VEXcode IQ bloquea el proyecto que utiliza un bloque Hat cuando se inicia para imprimir los datos del sensor en vivo mientras el proyecto se está ejecutando. El proyecto tiene un bloque When started seguido de 4 bloques en un bucle Forever. En el bucle, primero hay un bloque de comentarios que dice Imprimir el valor del rodillo del sensor inercial en el cerebro y luego ir a la siguiente fila. A continuación, un bloque de impresión lee imprimir la orientación BrainInertial del rollo en Brain y establecer el cursor en la siguiente fila. A continuación, un bloque de comentarios dice Espere para imprimir el valor y, a continuación, repita el bucle. Por último, un bloque de espera lee espera 0,1 segundos.
VEXcode IQ Python
while (Verdadero):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
brain.screen.next_row()
espera(0.1, SEGUNDOS)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInertial.orientation(roll, degrees));
Brain.Screen.newLine();
wait(0.1, segundos);
} }

Imprimir en el IQ Brain es útil cuando desea ver que los valores cambian a medida que se ejecuta un proyecto VEXcode IQ. Esto puede ayudarte a determinar qué valores informados del sensor se utilizarán como parámetros en tu proyecto. Estos comandos de impresión se pueden integrar en el proyecto VEXcode IQ que ya ha creado para que pueda ver cómo cambian los valores del sensor en momentos específicos mientras el robot se mueve. 

Estos proyectos de ejemplo anteriores muestran cómo imprimir valores desde el Sensor Inercial al Cerebro IQ. Los comentarios en cada proyecto explican el flujo del proyecto y el uso de cada comando.

Bloques VEXcode IQ VEXcode IQ Python

VEXcode IQ bloquea el proyecto que utiliza un bloque Hat cuando se inicia para imprimir los datos del sensor en vivo mientras el proyecto se está ejecutando. El proyecto tiene un bloque When started seguido de 4 bloques en un bucle Forever. En el bucle, primero hay un bloque de comentarios que dice Imprimir el valor del sensor de distancia en la Consola y luego ir a la siguiente fila. A continuación, un bloque de impresión lee la distancia de impresión del objeto Distance5 en mm en la consola y establece el cursor en la siguiente fila. A continuación, un bloque de comentarios dice Espere para imprimir el valor y, a continuación, repita el bucle. Por último, un bloque de espera lee espera 0,1 segundos.

while (True):
print(distance_7.object_distance(MM))
espera(0.1, SEGUNDOS)
VEXcode IQ C++
int main() 
{
while (true)
{
printf(Distance7.objectDistance(mm));
printf("\n");
wait(0.1, segundos);
} }

Se recomienda imprimir en la consola de impresión en VEXcode IQ cuando se está ejecutando un proyecto VEXcode IQ en el que el robot NO se mueve. El IQ Brain debe permanecer conectado durante la ejecución del proyecto para imprimir en la Consola de impresión. Esto es beneficioso porque puede leer los valores de la ventana VEXcode IQ en lugar de intentar leer los datos de la pantalla Brain.

Estos ejemplos muestran los datos de impresión de un proyecto desde el sensor de distancia (2 .ª generación) a la consola en VEXcode IQ. 

Para obtener más información sobre el uso de la Consola de impresión en VEXcode IQ Blocks, consulte este artículo.

Para obtener más información sobre el uso de la Consola de impresión en VEXcode IQ Python, consulte este artículo.


Analizar y aplicar datos

A continuación, usa lo que has aprendido en los pasos anteriores para ajustar tu proyecto original. Puede continuar utilizando herramientas como la Ayuda y los datos de impresión para permitirle utilizar el sensor de manera efectiva para lograr su objetivo.

También puedes hacer preguntas sobre tu proyecto para ayudarte a avanzar. Piensa en cosas como:

  • ¿Estás usando mayor < o menor que > en tu proyecto? ¿El símbolo está orientado en la dirección correcta? Si está usando igual a =, intente reemplazarlo con un mayor o menor que, para usar un rango de valores.
  • ¿Son correctos tus parámetros? ¿Está utilizando los datos del sensor para establecer sus parámetros? ¿Elegiste la opción desplegable que necesitas?
  • ¿Está revisando las condiciones más de una vez? Intente agregar un bucle Forever a su proyecto, de modo que la condición se verifique repetidamente cuando se ejecute el proyecto.
  • ¿Tu proyecto se está atascando? ¿Sus condiciones están establecidas correctamente? Si está utilizando bucles anidados, intente simplificar su proyecto para aislar los comportamientos individuales.
  • ¿Sus condiciones ambientales influyen en el sensor? ¿Es demasiado brillante o demasiado oscuro? ¿Hay objetos o personas en el camino? Intenta ejecutar tu proyecto en una ubicación diferente para ver si eso ayuda.
  • ¿Estás ejecutando la versión más reciente de tu proyecto? ¿Ha descargado su proyecto actualizado en Brain? Asegúrate de volver a descargar el proyecto cada vez que hagas un cambio.
  • ¿Estás detectando el color correcto? ¿El sensor informa un color diferente al que tiene en su proyecto? Intente cambiar el parámetro de color, o usar un rango de valores de tono, para ver si eso ayuda.
  • ¿Está detectando un objeto dentro del campo de visión del sensor? Recuerde que el campo de visión se mueve junto con el movimiento del robot.
  • ¿Está utilizando un bloque de espera mientras verifica una condición? Asegúrese de usar bloques que no esperen en un proyecto al verificar una condición. Consulta este artículo para obtener más información sobre los bloques en espera y los que no en espera en VEXcode IQ.
  • Si está codificando en bloques, ¿toda su pila está unida al bloque {When started} Hat? Los bloques solo se ejecutarán cuando estén conectados. Puede escuchar un sonido de clic cuando arrastra bloques y los conecta.

A medida que responda estas preguntas, asegúrese de cambiar una cosa en su proyecto a la vez, pruébelo y luego evalúe si ese cambio fue efectivo. Probar tu proyecto con frecuencia puede ayudarte a ver más fácilmente cómo tu código está conectado con el comportamiento del robot.  Es posible que tenga que repetir los pasos en el proceso de solución de problemas varias veces para resolver su problema, y eso está bien. Cada iteración le ayudará a aprender más sobre el sensor que está utilizando y cómo codificarlo en VEXcode IQ.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: