La historia de c贸mo buscaron en el hackathon AR SDK, pero recogieron sus propios

En el reino de Far Far Away ... Comenc茅 mi historia sobre el hackathon en Wrike porque el Hackathon es como un cuento de hadas: los entusiastas se re煤nen para dar vida a sus ideas. Se est谩 lanzando una idea, como una flecha fabulosa, y luego puede caer en el patio del boyardo, o puede desaparecer en el pantano de la vida cotidiana. Y, como en un cuento de hadas, siempre es emocionante. No es f谩cil reunir un equipo en muy poco tiempo, y hacer un producto a partir de una idea, e incluso mostrarlo de tal manera que la gente honesta lo sorprenda.

Cirilo

Pero en serio, quiero compartir la experiencia de participar en el hackathon, donde desarrollamos nuestra realidad aumentada (AR). Te contar茅 c贸mo tratamos de encontrar un SDK AR listo para nuestra tarea, pero no pudimos. Como resultado, decidieron escribir AR ellos mismos y result贸.

El dicho


Me encantan los hackatones: particip茅 en varios, tuve que hacerlo yo mismo y, si es posible, participar茅.

Buscando la felicidad

Los hackatones a menudo est谩n en manos de organizaciones espec铆ficas, y esto funciona para la marca de recursos humanos de la compa帽铆a. Los objetivos pueden ser diferentes: una historia sobre una empresa o producto, contratar un grado variable de agresividad, organizar una comunidad tem谩tica, buscar nuevas ideas (a pesar de los ej茅rcitos de sus propios expertos en productos, puede ser 煤til obtener un mont贸n de ideas de los so帽adores con una visi贸n clara del tema ), etc. d.

Para los participantes, esta es una oportunidad para familiarizarse con la empresa, porque a menudo un hackathon es su reflejo, y de 茅l se pueden sacar conclusiones sobre la cocina interna. Para comprender los procesos en la empresa, puede ver c贸mo organiza el hackathon: cu谩les son las restricciones para los proyectos que participan en el hackathon ( alcance de las tareas, 谩rea tem谩tica, tecnolog铆a, herramientas, etc. ); nivel del evento; criterios y transparencia de la parte competitiva; arbitraje - composici贸n y calidad; 驴Cu谩les son las reglas y m茅todos para formar equipos? En general, las empresas se dividen en las que realizan hackatones ( internos o p煤blicos ) y las que no. Prefiero a los que gastan, porque Estas son empresas m谩s abiertas.

Yo mismo voy a los hackathons no por la victoria, sino por la participaci贸n. Me pregunto

  • Prueba nuevas tecnolog铆as. En un hackathon de "comida", tomamos Flutter y escribimos una aplicaci贸n para iOS y Android. Aunque ninguno de nosotros hab铆a probado Flutter antes, sab铆amos c贸mo lanzarse .
  • Para conocer y trabajar con gente nueva , as铆 que despu茅s de uno de los hackathons de la "ciudad", llam茅 a un c贸mplice del proyecto de hackathon para trabajar en mi equipo para el trabajo principal, del cual nunca me arrepent铆. Hackathon es una excelente manera de probar a un compa帽ero en acci贸n.
  • Para hacer algo que realmente me necesito. En el hackathon interno, cortaron la aplicaci贸n, que luego se utiliz贸 en el trabajo.
  • Solo obt茅n emociones positivas de la creaci贸n. 隆Realmente me gusta el ambiente de hackathon!

Por lo tanto, estoy feliz de participar en los hackathons de wrike ( este a帽o fue el tercer hackathon interno ), donde creamos y hacemos que wrike sea a煤n mejor: algunos de los proyectos de hackathon anteriores ya viven en nuestro producto, y algunos est谩n en la cartera de pedidos de los equipos. La escala tambi茅n es inspiradora, a pesar del hecho de que el hackathon es interno, se reclutan alrededor de 30 equipos ( m谩s de 100 personas ), todos con ideas frescas y geniales.

En el hackathon de 2018, decid铆 intentar trabajar con AR . En MVP, quer铆a que las tareas r谩pidas ( nombre, estado, artistas, etc. ) se mostraran en la pantalla de un tel茅fono m贸vil cuando pasa el cursor sobre un c贸digo gr谩fico con el identificador de tarea encriptado, y tambi茅n agrega la capacidad de cambiar el estado y asignar / eliminar tareas de usted mismo. Hay una idea, hay un hackathon, el equipo tampoco se involucr贸. En el d铆a se帽alado, todo cambi贸.

Le pregunte a ash


No me preparo especialmente para los hackatones en t茅rminos de configuraci贸n del entorno ( b煤squeda de SDK y frameworks; instalaci贸n de software; configuraci贸n, etc. ), escritura de c贸digo por adelantado, etc., sino solo elaboraci贸n de ideas, caracter铆sticas, pensando qu茅 hacer en qu茅 orden etc. Por lo tanto, el equipo consult贸 y decidi贸 que escribir铆amos en Java (escriben de forma nativa para Android ), y exist铆a la hip贸tesis de que probablemente hab铆a muchas bibliotecas AR preparadas. Nuestro plan: tomar un SDK conveniente, agregarle la API de Wrike y luego centrarse en escribir la l贸gica de nuestra aplicaci贸n. Por lo tanto, nuestra primera tarea fue encontrar un SDK de Java AR conveniente, que le permita:

  • Dibuja algo en una superficie virtual dada.
  • Integrar / ya contiene un esc谩ner de elementos gr谩ficos din谩micos ( c贸digo de barras, QR, etc. ).
  • Trabaje con un umbral bajo ( estamos en el hackathon, necesitamos hacerlo r谩pidamente ): hay una demostraci贸n, hay documentaci贸n, hay una versi贸n gratuita / de prueba.

Parece una tarea bastante simple. Y comenzamos a clasificar las opciones basadas en art铆culos como " SDK de realidad aumentada superior en 2018 "

Sol, luna, viento

ARCore de Google


Primero, miramos a Google. Abrieron el " Inicio r谩pido ", hicieron todo de acuerdo con las instrucciones, lo lanzaron y, he aqu铆, todo funciona: los androides aparecen en mi mesa, que tambi茅n se pueden mover. La sensaci贸n de haber encontrado la "base" para nuestra aplicaci贸n. Pero luego sigui贸 la decepci贸n, el reconocimiento de im谩genes no funciona como lo necesitamos: solo puede haber una imagen, debe ser claramente visible, y debe ser de la base de datos de im谩genes previamente conocidas ( y debemos tener nuestro propio marcador 煤nico para cada tarea ). Y lo m谩s triste es la incapacidad de controlar el enfoque, por lo que capturar la imagen que necesitamos para el reconocimiento se convierte en una tarea dif铆cil para el usuario. Es cierto que el problema ahora se ha resuelto con foco, pero tuvimos que continuar la b煤squeda. En general, Google result贸 ser bueno, pero no para nuestra tarea. Y tambi茅n debido a los detalles de OpenGL en OSX, no pudimos hacer que la demostraci贸n funcione en el emulador e hicimos todo en un tel茅fono en vivo.

Vuforia


Le铆mos la documentaci贸n, vimos los videos , se ve impresionante. Hay muchas funciones, por ejemplo, objetivos de imagen . Decidimos probar: registrado, descargado, recopilado, lanzado. Se inici贸 la aplicaci贸n de demostraci贸n, pero no funcion贸 ni en el emulador ni en Android-e en vivo. Intentar probar cualquier caracter铆stica bloque贸 toda la aplicaci贸n. Se decidi贸 no perder el tiempo buscando el problema y solucionarlo, y pasar al siguiente SDK.

Wikitude


Descargamos el SDK, revisamos el tutorial y lanzamos la demostraci贸n. Hay muchas posibilidades de todo tipo, la demostraci贸n es inmediatamente impresionante, un mont贸n de mini ejemplos, jugamos lo suficiente ( por ejemplo, hay reconocimiento facial ) y, he aqu铆, la demostraci贸n ya tiene reconocimiento QR. Pero el problema es que obtenemos lo que est谩 cifrado en el c贸digo, pero no sabemos d贸nde est谩 ubicado. Comenzaron a comprender c贸mo est谩 organizado el esc谩ner QR. Result贸 que se hizo como un complemento sobre ZBar en forma de un complemento positivo para SDK. Al principio tuve la loca idea de descubrir gcc y terminar el complemento para que tambi茅n diera las coordenadas, pero nos detuvimos a tiempo.

Y pelearon 3 d铆as y 3 noches


Al darnos cuenta de que una buena parte del tiempo asignado para el d铆a est谩 retrasado, y todav铆a estamos buscando nuestro SDK (hab铆a muestras de otras soluciones, no solo descritas anteriormente, sino tambi茅n un fiasco all铆 ), decidimos no buscar m谩s la "bala de plata", sino llevar todo para tus manos Un nuevo plan ha madurado: como marcador de tarea, tomamos un c贸digo QR, como simple y com煤n; para su reconocimiento tomamos ZXing , que puede reconocer varios c贸digos al mismo tiempo, y adem谩s del valor, la biblioteca tambi茅n proporciona las coordenadas de 3 puntos de "b煤squeda" del c贸digo QR. Y luego en la parte superior del lector de c贸digo implementaremos nuestro AR. Sube nuestras mangas y listo, tenemos 3 puntos, lo que significa que con la ayuda de transformaciones afines podemos obtener todo lo que necesitamos.

Rana princesa

No comenzaron a buscar una biblioteca para las matem谩ticas, ya que nuestra tarea no es dif铆cil. Lo primero que hicimos fue crear nuestra propia clase para las coordenadas que necesitamos recalcular. El algoritmo final para trabajar con c贸digo QR result贸 ser bastante primitivo:

  • La imagen de la c谩mara se transfiere a ZXing, obtenemos una matriz con las coordenadas de los puntos y los valores del c贸digo QR.
  • A partir de las 3 coordenadas, calculamos la cuarta esquina del cuadrado, aumentamos el cuadrado una vez y media para superponer el c贸digo QR original y obtenemos la base de la tarjeta.
  • Hacemos una solicitud en la API de Wrike para recopilar datos sobre la tarea.
  • Dibujamos una carta, gracias a las transformaciones afines, guardamos todas las distorsiones ( 谩ngulo de visi贸n, rotaci贸n, escala ).

Limpiamos el algoritmo, funciona, probamos, tratamos con p茅rdidas de memoria, agregamos efectos visuales, disfrutamos el hackathon.

Y estuve all铆, beb铆 cerveza de miel


En los hackatones, adem谩s de su producto en s铆, la forma en que lo presenta es muy importante. Todos entienden que tienes plazos muy ajustados y no esperas una soluci贸n t茅cnicamente hermosa de tu parte, por lo que debes mostrar la belleza de tu idea. Siempre me gusta el enfoque de narraci贸n de historias, donde el p煤blico comprende para qui茅n est谩 hecho el producto, en qu茅 condiciones se aplica y qu茅 problema resuelve.

Hackathon de Wrike

Por lo tanto, en nuestra presentaci贸n, adem谩s de demostrar la funcionalidad obtenida, recurrimos al poder de la imaginaci贸n y describimos situaciones en las que dicha realidad aumentada (las gafas AR pronto se convertir谩n en algo com煤n ) pueden mejorar la vida de aquellos que trabajan fuera de la computadora, pero cuyo trabajo est谩 relacionado con el wrike. Por ejemplo, para la interacci贸n entre el dise帽ador-arquitecto que se dedica a la reparaci贸n de la casa y el equipo que implementa directamente el proyecto en la casa misma.

Creo que demostramos honorablemente nuestro MVP y capturamos nuestros rayos de amor. El verano ha terminado y la temporada de picnic y vacaciones est谩 llegando a su fin, y estamos considerando dedicar las tardes de oto帽o al desarrollo de nuestro Wrike AR.

隆Gracias por la ilustraci贸n, Sai Kin !

Source: https://habr.com/ru/post/es421725/


All Articles