Niveles de autonomía en coches


Estamos sin duda todos familiarizados a la conducción autónoma gracias al carismático Elon Musk y sus famosa marca Tesla Motors, pero como vamos a ver en este humilde post no todos los coches autónomos son fabricados por Tesla y además existen hasta seis niveles de automoción, lo cual sin duda nos da esperanza que en un futuro cercano desde este momento podremos adquirir un vehículo con cierto grado de atomía en pro de mejorar entre todos la seguridad en la carretera.

La conducción autónoma ha sido clasificada en seis niveles por la Sociedad de Ingenieros de Automoción (SAE, por sus siglas en inglés). La actualización más reciente es el estándar J3016.

Los tres primeros niveles de la SAE para los vehículos autónomos (0 al 2) incluyen características de asistencia al conductor. Mientras tanto, los tres últimos (3 al 5) incluyen características reales de automatización.

Nivel 0

No hay conducción autónoma, no hay control continuo del vehículo. Aquí englobamos aquellos sistemas que proporcionan un aviso al conductor (por ejemplo, un sistema de detección de objetos en el ángulo muerto o asistente al cambio de carril), un sistema de frenado automático de emergencia… hablamos, por lo tanto, de sistemas de seguridad. Por tanto en este nivel 0 de los vehículos autónomos es aplicable a los coches más comunes en la actualidad, ya que no se automatizan las acciones del conductor.

Características:

  • El conductor realiza todas las tareas y maniobras.
  • El vehículo puede incluir sensores o radares que notifican al conductor de eventos y objetos cercanos.

Limitaciones:

  • Los coches en este nivel no incluyen ningún tipo de control autónomo.

Nivel 1

Los primeros sistemas de asistencia a la conducción que han ayudado al conductor de forma continua se encuentran englobados en este Nivel 1. Son aquellos capaces de controlar el vehículo bien longitudinal o lateralmente, pero nunca las dos cosas a la vez.

La diferencia con las tecnologías consideradas de nivel 0 es que las del nivel 1 el coche realiza cambios por su cuenta. Un ejemplo son los sistemas de frenada de emergencia automática (AEB) que cuando detectan la presencia de un obstáculo moderan la velocidad sin necesidad de que el conductor presione el pedal.

Los vehículos autónomos de nivel 1 pues incluyen sistemas que controlan la dirección, la velocidad y el frenado. Muchos modelos disponibles en la actualidad incluyen funciones de este nivel, entre otras:

  • Piloto automático adaptativo (control de crucero).
  • Sistema de control de carril.
  • Asistencia de estacionamiento.
  • Control de distancia y anticolisión.
  • Sistema automático de frenado de emergencia.

Características:

  • VhAsistencia autónoma en sistemas de dirección o de velocidad.
  • El conductor sigue controlando la mayoría de las funciones del coche.
  • Se mantienen las manos en el volante.

Limitaciones:

  • Solo hay asistencia autónoma en un sistema a la vez. Asistencia en la dirección o en la velocidad, pero no en ambos en simultáneo.

MODELOS

  • El ejemplo más claro, y el primero de estos sistemas en ver la luz (1998) es el ACC – Adaptive Cruise Control. 
  • Ha habido intentos previos que solo controlaban motor (Mitsubishi)
  • Mercedes en 1998 lanzó en el Clase S un sistema capaz de ajustar la velocidad de forma automática al vehículo precedente, usando información de un radar situado en la parte frontal. Controlaba sistema de gestión de motor y sistema de frenado, liberando al conductor de la necesidad de pisar pedal alguno (dentro de unos límites) cuando el ACC se activaba.  Así, solo debía controlar la dirección, haciendo los viajes más relajados y seguros.

En un sistema ACC, como en el resto de sistemas de Nivel 1, el conductor es siempre responsable de la conducción y no puede embarcarse en ninguna actividad paralela. El sistema, simplemente, ayuda a que la conducción sea más confortable. Hoy día sistemas como ACC son legión y se pueden encontrar desde los segmentos más bajos del mercado.

NIVEL 2

Mientras en un Nivel 1 el sistema controla el vehículo longitudinal o lateralmente, en un Nivel 2 el control es longitudinal y transversal, de forma simultánea. Este pequeño matiz, sin embargo, hace que la percepción del conductor en cuanto a autonomía sea mucho may

Los vehículos autónomos nivel 2 son POR TANTO capaces de tomar el control de algunos sistemas, aunque el conductor debe estar alerta por si se necesita su intervención.

Al sistema ACC añaden un control de posición en el carril (centrado). El conductor no ha de tener los pies en los pedales (como en un sistema ACC), pero además existe un par de fuerza inducido en el volante que “guía” al vehículo al centro del carril. En ocasiones, se pueden soltar las manos del volante, y el vehículo seguirá en el centro del carril en vías de curvas amplias. 

Características:

  • Al menos dos funciones están automatizadas al mismo tiempo.
  • El coche autoconducido se mantiene en el carril y a una distancia segura de los otros elementos en la vía.
  • Se permite que el conductor deje de controlar el volante y el acelerador (conducción manos libres).
  • Estos vehículos autónomos detectan los límites del carril y de la carretera. Incluso sin necesidad de líneas o señalización en el pavimento.

Limitaciones:

  • El coche toma el control por períodos cortos de tiempo, solo de algunas funciones y bajo ciertas condiciones .
  • El conductor debe estar alerta para retomar el control si fuera necesario.

MODELOS

  • La lista de modelos que se encuentran ya en el nivel 2 de conducción autónoma es larga: son los llamados coches semiautónomos
  • Aquí hablamos de sistemas relativamente populares y que se pueden encontrar en utilitarios como un Peugeot 208
  • Mercedes en 1998 lanzó en el Clase S un sistema capaz de ajustar la velocidad de forma automática al vehículo precedente, usando información de un radar situado en la parte frontal. Controlaba sistema de gestión de motor y sistema de frenado, liberando al conductor de la necesidad de pisar pedal alguno (dentro de unos límites) cuando el ACC se activaba.  Así, solo debía controlar la dirección, haciendo los viajes más relajados y seguros.
  • Otros ejemplos reales ProPilot de Nissan
  • EL Mercedes-Benz Clase E.
  • El BMW Serie 7
  • Volvo, Mercedes, Audi y BMW son las más avanzadas en este terreno.

NIVEL 2+

Para complicar aún más las cosas, existe algo llamado Nivel 2+. No está registrado per se en la SAE, pero es un estándar de facto en la industria. ¿Y que es un Nivel 2+? Pues un Nivel 2 en el cual no se obliga al conductor a tener las manos en el volante. Sin embargo, el conductor sigue siendo responsable total de la conducción, y como tal no puede hacer ninguna tarea adicional.

Siguen siendo sistemas de asistencia. No son conducción autónoma. El conductor es responsable siempre, y para validar que está prestando atención a la conducción aun estando las manos fuera del volante, se suele usar una cámara que monitoriza al conductor (todos los mencionados arriba salvo Tesla, de momento). Si no hay atención, el sistema le recordará al conductor de hacerlo. En caso de ignorar el aviso, pasaremos al modo “parar en modo seguro”.

Estos sistemas Nivel 2+, por lo general, solo funcionan en zonas determinadas (por ejemplo, autopistas). Serían capaces de hacer más cosas (adelantamientos con o sin confirmación del conductor, etc). Pero seguirán siendo Nivel 2+… por mucho que los llevemos hasta el extremo, como Tesla con su FSD. En principio, con el FSD se podría disponer de un sistema de Nivel 2+ funcionando en aquellas zonas que Tesla haya “desbloqueado” primero, mediante el uso de mapas crowd-sourced. Y están en ello, basándose en la gran cantidad de vehículos grabando datos (vehículos de cliente). Pero seguirá siendo un Nivel 2. Por mucho que haya videos de Tesla gestionando rotondas, cruces e intersecciones en la versión beta de FSD, el conductor sigue siendo el único responsable. Es un nivel 2

MODELOS

  • El pionero fue Cadillac con su SuperCruise en US, que hoy día se encuentra hasta en un Chevrolet Bolt.
  • Después otras muchas le han seguido: BMW, NIO, Nissan (ProPilot II),
  • Próximamente Ford, Jeep, Lexus, Hyundai… y Tesla, claro.

NIVEL 3

El sistema controla el vehículo longitudinal y lateralmente, como en un nivel 2. Pero la diferencia estriba en que aquí el sistema es el que conduce el coche mientras se encuentre activado. Es decir – y aquí está la gran ventaja de un nivel 3 – el conductor podría dedicarse a realizar alguna actividad secundaria mientras esté en el coche. Pero (porque tiene que haber un pero), esta actividad secundaria no puede ser de una naturaleza tal que no le permita volver a retomar el control del vehículo en unos segundos si el sistema se lo pide

En este nivel 3, los vehículos autónomos comienzan a analizar su entorno y son capaces de tomar decisiones. Utilizan sensores LIDAR para registrar lo que ocurre alrededor. Estos sensores combinan visión computarizada, cámaras, radar y localización.

Características:

  • Los coches son capaces de controlar funciones críticas de conducción circular en una autopista, adelantar un coche o tomar una salida.
  • El vehículo activa automáticamente ajustes de seguridad al detectar determinadas situaciones de tráfico, en la vía o ambientales.
  • El conductor puede dejar de supervisar al coche en períodos extendidos de tiempo.

Limitaciones:

  • Se permite al conductor soltar el volante, pero solo en tramos con tráfico lento, inferior a 60 km/h.
  • Se requiere que el conductor esté detrás del volante de estos vehículos autónomos si se conduce en carreteras públicas.
  • En muchos países, todavía no se ha definido o actualizado el marco legal, limitando su uso.
  • En España se trabaja en la modificación del marco legislativo que afecta a los vehículos autónomos.

MODELOS:

  • Los vehículos autónomos en este nivel son: el clásico Tesla Model S, con el sistema piloto automático,
  • Honda como Mercedes comercializarán Nivel 3 este 2021, tras el intento frustrado de Audi con su actual A8.
  • Otros vendrán – véanse las plataformas de BMW (iX), Lexus o NIO.
  • Otro ejemplo de conducción autónoma de nivel 3 es el Audi A8.

Dado que ahora el sistema es el responsable de la conducción, es necesario un salto tecnológico importante para ofrecer Nivel 3. En primer lugar, es necesaria una redundancia de sistemas (sensores, plataformas de control, actuadores, redes de datos, fuentes de alimentación…), para garantizar que no existen fuentes únicas de error. Después, a nivel de sensórica, es preciso tener información mucho más robusta del entorno (también de forma redundante). Y aquí es donde, casi toda la industria parece estar de acuerdo que el lidar es una solución adecuada para solucionar alguno de los problemas de detección de objetos en nuestro carril en circunstancias donde cámaras o radar tendrían más dificultades. Los mapas de alta resolución también juegan un papel muy importante.

Esto tiene un precio. Los sistemas de Nivel 3 no van a ser baratos, ni para el fabricante ni para el público. Un lidar, por ejemplo, tendrá un precio de entre $700-$1000. Para comparar, un radar de los que se vienen usando en múltiples aplicaciones a día de hoy se puede conseguir por poco más de $30 en grandes volúmenes.

Y finalmente, la polémica. Hay fabricantes que dicen que el Nivel 3 es una trampa mortal.

NIVEL 4 Alta Automatización

En un nivel 4, el conductor no es responsable de la conducción, pero es que tampoco se le reclamara para que tome el control si es necesario. El vehículo funcionará de forma totalmente autónoma dentro de un ODD específico, y antes de llegar al final de ese ODD – con bastante antelación, si es que el destino final cae fuera de ese ODD – podrá informar de que será necesaria intervención humana para llegar al final del trayecto. Si no se consigue que el conductor retome el control, se estacionara de forma segura.

Los vehículos autónomos en este nivel 4 se conducen sin necesidad de intervención de un conductor. Utilizan algoritmos de IA para entrenarse en las distintas condiciones y escenarios de manejo. Hay conexión mediante sistema WiFi en el coche.

Características:

  • El coche puede controlar todas las funciones críticas de conducción.
  • Los vehículos autónomos nivel 4 modifican su respuesta en función de condiciones externas.
  • Si las condiciones son adversas, busca un lugar apropiado y se detiene.
  • Ya no hay conductor, solo pasajeros, los cuales pueden viajar dormidos.

Limitaciones:

  • Se espera estén disponibles entre 2021 y 2030.
  • Inicialmente estarán operativos bajo supervisión (no conducción) y en determinados escenarios.

MODELOS

  • Tesla tiene una variante del Model S,
  • Google el Proyecto Waymo 
  • Audi el Elaine Concept.
  • Mientras tanto, Ford y Volvo anuncian modelos nivel 4 para 2021.

NIVEL 5: Automatización Completa

En este nivel , los vehículos robotizados no requieren ningún tipo de control de conducción (ni volante ni pedales). Ya no hay conductor y las instrucciones se dan por comando de voz o mediante aplicaciones móviles.

Los coches en los niveles 4 y 5 funcionan intercambiando información con su entorno. Aprovechan de compartir y utilizar los datos generados por las telecomunicaciones de las ciudades inteligentes y el IOT. El Audi Aicon es un ejemplo de coche conceptual nivel 5 que solo es posible con tecnología 5G. El Parlamento Europeo espera que estos vehículos autónomos estén disponibles hacia el año 2030.

Características:

  • No requieren interacción humana alguna.
  • Varios prototipos adelantados son coches eléctricos.
  • Utilizan reconocimiento de 360°, en un rango mayor que los humanos.

Limitaciones:

  • Se requiere definir una estructura legal para su uso.
  • Hay que realizar inversiones para la adaptación tecnológica de la infraestructura vial.

EXTRACTO DE LOS NIVELES DE AUTOMTIZACION

  • Hoy estamos entre el nivel 2 y un ‘poquito’ del 3
  • El conductor es SIEMPRE el responsable hasta Nivel 2. A partir de Nivel 3 el sistema es responsable.
  • Hay nivel 2 y nivel 2+. Este último representa un sistema más avanzado que permite circular con las manos fuera del volante. Incluso dentro del nivel 2+ hay diferencias – Tesla por ejemplo, con su FSD, lo lleva al extremo y permitiría conducir “manos libres” pero con responsabilidad del conductor en entornos urbanos.
  • La conducción autónoma comienza en Nivel 3. Hasta nivel 2 es asistida.
  • Nivel 3 se confía en que llegue PRONTO, pero en todo el mundo. Japón y Alemania serán los primeros.
  • Nivel 4, para uso privado, no se espera hasta bien entrada la década.
  • Nivel 5 ni está ni se le espera en el medio plazo. Si alguien dice que es capaz de solucionar el nivel 5 de conducción autónoma, o viene de un futuro muy lejano o miente.

Reconocimiento de colores con Pixy


En efecto, si no tenemos demasiado tiempo  para experimentar con algoritmos de reconocimiento de imágenes con opencv o similares ,por ejemplo para integrar  la visión artificial en un robot que siga una linea, hay un producto llamado   Pixy2    que puede hacer todo eso y mas. Además, esta segunda version,  es más rápida, más pequeña y más potente que el Pixy original, agregando algoritmos de seguimiento / seguimiento de línea, así como otras características  (de  hecho la velocidad de procesamiento  en tiempo real   se ha mejorado en 60 fotogramas por segundo)

Como  puede  suponer  Pixy2  incorpora una cámara  y  una fuente de luz , y con todo  este hw puede detectar líneas, intersecciones y pequeños códigos de barras, diseñados para robots que siguen líneas.

Precisamente  por la utilidad de integrarlo en pequeños robots ,se han agregado algoritmos de seguimiento a la detección de objetos basada en color. Ademas tampoco descuidan su conexión con otras placas pues proporcionan bibliotecas mejoradas y simplificadas para Arduino, Raspberry Pi.

Veamos a continuación   mas detalles sobre esta interesante  placa

 

Hablamos de una placa  bastante pequeña(de unos 8x7cm) ,  tanto que incluso se puede conectar varios Pixy2 a un microcontrolador pues  Pixy2 es más pequeño, más rápido y más potente que el Pixy original. 

Este sistema de visión inteligente plug-and-play para Arduino-compatibles, Raspberry Pi u otros microcontroladores / sistemas de computadora.

 Al igual que su predecesor, Pixy2 puede aprender a detectar objetos que le enseñe, simplemente presionando un botón. Además, Pixy2  implementa nuevos algoritmos que detectan y rastrean las líneas para su uso con robots de seguimiento de línea (  incluso con  los nuevos algoritmos también pueden detectar intersecciones y «señales de tráfico».)

 

Aunque la nueva cámara puede funcionar hasta 60 fps, se  ejecuta aproximadamente la mitad de esa velocidad y existen múltiples opciones para el ajuste fino del reconocimiento de objetos, todo  ello  para  mejorar la precisión   el reconocimiento de imágenes   ya que la cámara no esta diseñada para la grabación de imágenes pero si  pasará el centro X, Y, y el ancho, la altura de un objeto, y lo hace muy bien.

La nueva version  Pixy2  lleva  modo de seguimiento de línea y fuente de luz LED integrada simplificando  su programación recibiendo solo los objetos que le interesan.

Se puede utilizar el controlador que desee pues incluye bibliotecas de software para Arduino, Raspberry Pi y BeagleBone Black.

Si lo conectamos a  un pc, podemos instalar la utilidad de configuración (se ejecuta en Windows, MacOS y Linux) asi como el sw  Pixy2 CMUCam5, un sensor de imagen para su microcontrolador que puede enseñarle qué buscar.También es una gran mejora con respecto a las versiones anteriores de Pixy CMUCam, que agrega una mayor flexibilidad cuando se trata de cambios de iluminación y exposición. También puede recordar siete firmas de colores diferentes, encuentre cientos de objetos en a visión del robot es fácil: presione el botón para enseñarle a Pixy2 un objeto

Por ello el   Pixy2   es un sensor de imagen con un potente procesador que puede programar para enviar solo la información que está buscando para que su microcontrolador no se vea abrumado por los datos  ya que Pixy2 exporta su información en una variedad de formas útiles (UART serie, SPI, I2C, salida digital o salida analógica) para que su microcontrolador o microcomputadora pueda comunicarse fácilmente mientras realiza otras tareas.

Las coordenadas  enviadas  desde   Pixy2  pueden decirle a su robot qué hacer, como girar a la izquierda, girar a la derecha, disminuir la velocidad, etc. Y Pixy2 hace todo esto a 60 cuadros por segundo, para que su robot también pueda ser rápido. Pixy2 utiliza el tono y la saturación como su principal medio de detección de imágenes, en lugar del RGB normal. Esto significa que la iluminación o la exposición no afectarán la detección de Pixy2 de un elemento, lo cual es un problema frustrante con muchos sensores de imagen. .

 

 

Vamos  a ver un ejemplo publicado en instructables.com  de un interesante  robot seguidor que implementa  esta tecnologia  creado  por chaabani houssem 

Necesitaremos  al menos los  siguientes componentes:

  • 1 Arduino mega (o en su defecto un Arduno uno o Arduino nano … )
  • Pixy2  
  • 2 motores  paso  a paso
  • 2 ruedas y sus engranajes 
  • Un l293d
  • Una batería de  9v  (o   cualquiera que pueda reciclar 

 

Podemos  enseñar cualquier objeto a pixy a través de este enlace:

http: //cmucam.org/projects/cmucam5/wiki/Teach_Pixy …

Para controlar  los dos motores usaremos un famoso controlador , el CI   l293d

Este circuito integrado     de 16 pines ofrece los siguintes carasterciticas: 

  • Capacidad del canal: 600 mA de corriente de salida / canal.
  • Sistema de activación.
  • Pico de salida de corriente: 1,2 A / canal (no repetitivo).
  • Protección contra sobretemperatura.
  • Entrada lógica «0» a 1,5 V (alta inmunidad al ruido).

Picture of Build the Robot

Conectemos  los pines del L293D   a un  Arduino   de la siguiente manera :

  • Pin  1 al pin Arduino 2.
  • Pin 2 al pin 3 de Arduino.
  • Entrada 3 al pin 4 de Arduino.
  • Entrada 4 al pin Aduino 5.

Con estas conexiones ya  se puede probar el robot como verificar el avance, probar el giro a la izquierda o  el giro a la derecha y la parada.

Si todo va  bien ahora ya puede agregar pixy, pero para que  funcione el robot  antes tendrá que  programar Arduino  para  que  en función de la  salida de  Pixy2   de las  ordenes oportunas a los motores

Como  ejemplo de código  vamos a ver  una demostracion de como podemos  controlar lso dos motores usando  unicamente la informacion apoportada por Pixy2  

 

//definición de  puertos  que se usaran

int mg2 = 4;

int mg1 = 5;

int md1 = 3;

int md2 = 2;

int enag= 6;

//librerias  externas

#include <Wire.h>

#include <Pixy.h>

//llamada a las primitivas de Pixy

Pixy pixy;




//definición de puertos 

void setup()
{
pinMode(enag, OUTPUT);

pinMode(md1, OUTPUT);

pinMode(md2, OUTPUT);

pinMode(mg1, OUTPUT);

pinMode(mg2, OUTPUT);

//sacamos  por consola de Arduino mensajes de depuración

Serial.begin(9600);

Serial.print("Arrancando...\n");

pixy.init();

}







//comienzo del programa  principal

void loop()
{

static int i = 0;

int j;

uint16_t blocks;

char buf[32];


blocks = pixy.getBlocks();

if (blocks)

{
i++;

// Hacer esto cada 50 cuadros porque si se  supero colapsaria Arduino


if (i%50==0)

{
sprintf(buf, "Detected %d:\n", blocks);
Serial.print(buf);


//bucle for que recorre todos lox bloques enviados por Pixy
for (j=0;  j<blocks;    j++) 

{

sprintf(buf, " block %d: ", j);

Serial.print(buf);  //sacamos las salida por consola

pixy.blocks[j].print();

}


}

if((pixy.blocks[0].x>120)&&(pixy.blocks[0].x<190))
{
go();  //avanzar
}

if((pixy.blocks[0].x<120) && (pixy.blocks[0].x>10))
{

gauche();//girar a derecha

}

if(pixy.blocks[0].x>190)
{

droite();} //girar  a izda
}

else
{

o9if();//hacia atras

}
}






//giro a la derecha
void droite()
{
analogWrite(enag,210);
analogWrite(mg1,0);
analogWrite(mg2,0);
analogWrite(md1,255);
analogWrite(md2,0);
delay(30);
}




//giro a al izda

void gauche()
{
analogWrite(enag,210);
analogWrite(mg1,255);
analogWrite(mg2,0);
analogWrite(md1,0);
analogWrite(md2,0);
delay(30);
}




//hacia atras
void o9if()

{
analogWrite(mg1,0);
analogWrite(mg2,0);
analogWrite(md2,0);
analogWrite(md1,0);
delay(30);
}

//avanzar

void go ()
{
analogWrite(enag,210);
analogWrite(mg1,255);
analogWrite(mg2,0);

analogWrite(md1,255);
analogWrite(md2,0);
delay(30);
}

 

Y   ahora en un vídeo podemos ver el robot   funcionando:

 

En general,   Pixy2   es un excelente sistemas de visión inteligente introductorio  pues  podemos dar seguimiento de objetos a un  robot de manera mucho más fácil que usar un pc de una sola placa con OpenCV (más requisitos de menor potencia) pues se conecta fácilmente a un Arduino Nano o Uno (entre otros sistemas)  gracias  a los ejemplos de código que proporcionan que  ayudan a ponerlo en marcha rápidamente .Ademas es  muy fácil configurarlo utilizando las instrucciones en su sitio web pues hay ejemplos integrados en su software.