¿Cómo posicionar el robot al agarrar? ¿Qué sensor se utiliza para detectar?
Los movimientos del robot se comparan y corrigen en función de la señal enviada al centro de procesamiento de la computadora de control industrial por el codificador del servomotor y la cotización preestablecida, y luego se envía al servo. Motor para un posicionamiento preciso. Es decir, se determina mediante programación previa en lugar de posicionamiento del sensor. La programación puede resolver la dirección, la velocidad y el tiempo de ejecución precisos del movimiento espacial tridimensional del robot. ............
Basándose en el punto de posicionamiento y la posición del punto cero, el robot corrige periódicamente el error acumulado. El agarre de más alto nivel es la aplicación de tecnología de imágenes y el. Captura de materiales de alto nivel. La forma se toma mediante tecnología de imagen y puntos de posicionamiento de material coincidentes.
Generalmente para posicionamiento fotográfico.
El sensor utiliza COMS o CCD.
El codificador al final del eje del servomotor devuelve la señal al centro de computación, que utiliza un diseño preprogramado y su ejecución para ajustar con precisión la desviación de posicionamiento.
Cualquiera que se dedique a la investigación en robótica sabe que la visión del robot (visión artificial) es algo diferente de la visión por computadora (visión por computadora): el propósito de la visión artificial es proporcionar información al robot. información sobre los objetos con los que opera. Por lo tanto, existen varias áreas de investigación en visión artificial:
Reconocimiento de objetos: detección de tipos de objetos en imágenes, etc., que tiene una gran superposición con la investigación en visión por computadora
Estimación de posición: Calcule la posición y actitud de un objeto en el sistema de coordenadas de la cámara, que es una parte muy importante de la investigación en robótica.
Calibración de la cámara: debido a que lo que hicimos arriba es solo calcular las coordenadas del objeto en el sistema de coordenadas de la cámara, también necesitamos determinar la posición relativa y la actitud de la cámara y el robot, de modo que la La actitud máxima del objeto que se puede convertir es la postura del robot.
Por supuesto, me concentro aquí en la visión artificial en el campo de la captura de objetos, y otros campos (como SLAM) no se discutirán por el momento.
Dado que la visión es una parte muy importante de la percepción de los robots, se están realizando muchas investigaciones. A continuación, presentaré algo de lo que sé en orden de simple a complejo:
0. Calibración de la cámara
Este es en realidad un campo relativamente maduro. Porque todo lo que hacemos en el reconocimiento de objetos es calcular la posición del objeto en el sistema de coordenadas de la cámara, pero el robot que manipula el objeto necesita conocer la posición del objeto en el sistema de coordenadas del robot. Por lo tanto, primero necesitamos calibrar la posición de la cámara. Para la calibración de referencia interna, puede consultar el documento de Zhang Zhengyou o varios kits de herramientas de calibración. Para la calibración de referencia externa, existen dos métodos según la posición de instalación de la cámara:
ojo a mano: la cámara y El sistema de coordenadas polares del robot está firmemente conectado, sin seguir el movimiento del brazo robótico.
Ojo en mano: la cámara está firmemente conectada al brazo robótico y sigue el movimiento del brazo robótico. Los dos métodos son similares, empezando por el ojo y la mano
Simplemente fija un tablero de ajedrez en el extremo del brazo robótico y muévelo en varias poses en el campo de visión de la cámara. Dado que la cámara puede calcular la actitud del tablero de ajedrez con respecto al sistema de coordenadas de la cámara, una solución ortogonal a la cinemática del robot puede calcular el cambio de actitud desde la base del robot hasta la pinza final, cuya actitud con respecto al tablero de ajedrez es relativamente constante. De esta manera, podemos obtener un anillo del sistema de coordenadas.
Para el caso de "coordinación mano-ojo", de manera similar, coloque un tablero de ajedrez aleatorio en el suelo (mientras la base del robot está fija) y luego deje que La máquina El brazo lleva la cámara en varias posturas para formar un anillo de coordenadas.
1. Detección de objetos planos
Este es, con diferencia, el escenario más común en las líneas de montaje industriales. Actualmente, los requisitos para este campo de visión son: rápido, preciso y estable. Por lo tanto, generalmente se utilizan los métodos más simples de extracción de bordes y coincidencia de formas/bordes y, para mejorar la estabilidad, las variables del sistema generalmente se reducen mediante la fuente de luz principal y el uso de fondos de gran contraste;
Actualmente, muchas cámaras inteligentes (como Cognex) tienen estas funciones directamente integradas, además, los objetos generalmente se colocan en un plano y la cámara solo necesita calcular la posición de tres grados de libertad; del objeto. Además, este escenario de aplicación se utiliza generalmente para procesar piezas de trabajo específicas, lo que equivale únicamente a una estimación de posición sin reconocimiento de objetos. Por supuesto, es comprensible buscar estabilidad en el campo industrial, pero con la mejora continua de los requisitos de automatización de la producción y el aumento de los robots de servicios. La estimación completa de la posición de objetos más complejos también se ha convertido en un tema candente en la investigación de la visión artificial.
2. Objetos texturizados
El campo de visión de los robots comenzó a estudiar objetos texturizados, como botellas de bebidas, cajas de bocadillos y otros objetos con ricas texturas superficiales. Por supuesto, estos objetos aún se pueden extraer utilizando métodos similares de coincidencia de plantillas. Sin embargo, durante la operación real del robot, el entorno será más complejo: las condiciones de iluminación son inciertas (iluminación), la distancia entre el objeto y la cámara es incierta (escala) y el ángulo en el que la cámara ve el objeto es incierto ( rotación, afín), o incluso oscurecido (ocluido) por otros objetos.
Afortunadamente, un maestro llamado Lowe propuso un punto característico superregional llamado SIFT (Transformación de características invariantes de escala): Lowe, David G. "Características de imagen distintivas a partir de puntos clave invariantes de escala". Revista internacional de visión por computadora 60.2 (2004): 91-110. Para obtener detalles sobre el principio, puede consultar los 40.000 artículos citados anteriormente o varios blogs. En resumen, este método extrae Los puntos característicos solo están relacionados con la textura de una determinada parte de la superficie del objeto. En pocas palabras, los puntos característicos extraídos por este método solo están relacionados con la textura de una determinada parte de la superficie del objeto y no tienen nada que ver con los cambios de iluminación, los cambios de escala, la transformación afín y todo el objeto. Por lo tanto, con los puntos característicos de SIFT, los mismos puntos característicos que en la biblioteca se pueden encontrar directamente en la imagen de la cámara, lo que le permite determinar cuál es el objeto en la cámara (reconocimiento de objetos).
Para un objeto no deformable, la posición del punto característico se fija en el sistema de coordenadas del objeto. Por lo tanto, después de obtener una gran cantidad de pares de puntos, podemos resolver directamente la matriz lineal única entre los objetos de la cámara y los objetos del banco de memoria. Si utilizamos una cámara de profundidad (como Kinect) o un método de visión binocular, podemos determinar la posición tridimensional de cada punto característico. Luego puede resolver directamente este problema de PnP y calcular la posición del objeto en el sistema de coordenadas de la cámara actual.
↑ Este es un resultado de graduación anterior del laboratorio. Por supuesto, todavía quedan muchos detalles para que realmente funcione en la práctica, como el uso de la segmentación de nubes de puntos y la distancia euclidiana para eliminar la influencia del fondo. , seleccione objetos con características estables (a veces cambios SIFT) y utilice métodos bayesianos para acelerar la coincidencia. Además, además de SIFT, más tarde aparecieron muchos puntos característicos similares, como SURF, ORB, etc.
3. Objetos sin textura
Bueno, los objetos problemáticos son fáciles de resolver, pero todavía hay muchos objetos en la vida o la industria que no tienen texturas:
Los La pregunta más fácil de pensar es: ¿Existe un punto característico que describa la forma de un objeto, cuya invariancia sea similar a SIFT? Desafortunadamente, hasta donde yo sé, no existe tal característica. Por lo tanto, una gran clase de métodos anteriores todavía utilizan la comparación basada en plantillas, pero requieren la selección de características especializadas para la comparación (no solo características simples como bordes).
En resumen, este artículo utiliza gradientes de imágenes en color y normales de superficie de imágenes de profundidad como características para compararlas con las plantillas del repositorio. Dado que las plantillas de la biblioteca de recursos se generan a partir de múltiples vistas del objeto fotografiado, la pose final del objeto obtenida mediante esta comparación sólo puede considerarse como una estimación preliminar y no es precisa.
Sin embargo, con una estimación inicial de la pose del objeto, podemos utilizar el algoritmo ICP (Punto más cercano iterativo) para hacer coincidir el modelo del objeto y la nube de puntos 3D para obtener la posición precisa del objeto en el sistema de coordenadas de la cámara.
Por supuesto, hay muchos detalles en la implementación de este algoritmo: cómo crear plantillas, cómo expresar degradados de color, etc. Además, este método no puede manejar la situación en la que el objeto está ocluido. (Por supuesto, al reducir el umbral de coincidencia, se puede solucionar la oclusión parcial, pero provocará errores de reconocimiento). Para el caso de oclusión parcial, el Dr. Zhang de nuestro laboratorio mejoró LineMod el año pasado, pero como el artículo aún no se ha publicado, no lo presentaremos en detalle.
4. Aprendizaje profundo
Dado que el aprendizaje profundo ha logrado muy buenos resultados en el campo de la visión por computadora, es natural que nosotros, en el campo de la robótica, también intentemos utilizar el aprendizaje profundo. para el reconocimiento de objetos robóticos.
En primer lugar, para el reconocimiento de objetos, puede copiar los resultados de la investigación de DL y utilizar varias CNN. ¿Existe algún intento de incorporar el aprendizaje profundo a la robótica? ¿Cuál es la dificultad? - En esta respuesta, mencioné que en la competencia de rastreo de Amazon de 2016, muchos equipos usaron DL como algoritmo de reconocimiento de objetos. Sin embargo, en esta competencia, aunque muchas personas usan DL para el reconocimiento de objetos, todavía usan algoritmos simples o tradicionales para estimar la pose de los objetos. Parece que la DL no se utiliza mucho. Como dijo @zhoubolei, utilice neork de segmentación semántica para segmentar objetos en imágenes en color y luego haga coincidir las partes segmentadas de la nube de puntos con el modelo 3D del objeto a través de ICP.
Por supuesto, también se está trabajando en el uso directo de redes neuronales para la estimación de actitudes
El proceso es el siguiente: para un objeto, se obtiene una gran cantidad de pequeñas piezas de RGB-D información (solo se trata de un parche, las características regionales se pueden usar para manejar la oclusión), para cada pieza de información, hay una coordenada (en relación con el sistema de coordenadas del objeto, primero se usa el codificador automático); dimensión de la información; después de eso, se utilizan las características reducidas. Ven a entrenar a Hough Forest.
5. Integración con la planificación de tareas/movimientos
Esta también es una parte interesante del estudio. Dado que el propósito de la visión artificial es proporcionar al robot información para manipular objetos, no se limita a identificar y ubicar objetos en la cámara, sino que a menudo debe combinarse con otros módulos del robot.
Le pedimos al robot que sacara una botella de Sprite del frigorífico, pero Minute Maid bloqueó el Sprite. Todo lo que los humanos tenemos que hacer es quitar el Minute Maid del camino y alcanzar al Sprite. Por lo tanto, para el robot, debe determinar visualmente que el Sprite está detrás de Mirinda, y también debe determinar que Mirinda es móvil, en lugar de un objeto fijo e inaccesible como la puerta de un refrigerador. Por supuesto, combinar la visión con la robótica dará como resultado muchas otras cosas nuevas e interesantes. Dado que esta no es mi área de investigación, no presumiré.
Cuando se posiciona la máquina, las vacantes delantera, izquierda y derecha se determinan primero mediante el diseño de ingeniería. La precisión del posicionamiento se determina mediante la señal enviada por el codificador en el extremo coaxial del servomotor y. enviado a la máquina para su procesamiento a través de la tarjeta de accionamiento del servomotor antes de ser emitido. Realizar el autoajuste
Las acciones de múltiples estaciones del robot y su decisión de realizar el posicionamiento se operan mediante programación manual, que se realiza. temporalmente inconsistente con los límites del sensor. Si desea realizar mejoras basadas en el proceso de producción, debe reescribir el programa o modificar el programa original para realizar ajustes.
El agarre y posicionamiento del robot están preprogramados, y la salida de la computadora industrial impulsa el servomotor para un posicionamiento preciso. La señal de retroalimentación del codificador del servomotor se transmite a través de la tarjeta de control del motor hasta el industrial. La computadora hace más ajustes. Si el error de posicionamiento detectado mediante el sensor es muy grande, la precisión del posicionamiento no se puede ajustar.
El método más utilizado para agarrar robots es el posicionamiento visual. El sensor CCD/CMOS captura el campo de visión actual, encuentra el punto MARCA, calcula las coordenadas de desplazamiento y el ángulo, y luego transmite la información a través del. puerto de red o puerto serie al robot, y el robot hará las correcciones correspondientes
---------- Zhonghe Hengxun Technology Co., Ltd. (------ ----) es una empresa integral de alta tecnología que integra I + D, producción y ventas.
El posicionamiento del movimiento del robot se determina mediante programación manual para determinar sus posiciones en el aire hacia adelante, atrás, izquierda y derecha, arriba y abajo. La precisión del posicionamiento está determinada por la señal de retroalimentación enviada desde el sensor codificador al final de la tarjeta de accionamiento coaxial del servomotor al centro de procesamiento, que luego se emite para el ajuste automático de micromedición.