No estoy seguro de las estructuras de datos involucradas, pero esta es mi opinión sobre los algoritmos.
Como se trata de un robot móvil y mencionan “planificación de movimiento”, algunos algoritmos relevantes probablemente incluirían un uso extenso de los filtros bayesianos . La regla de Bayes tiene algunas aplicaciones muy interesantes para la robótica; implica comprender lo que está sucediendo aquí:
Aquí está resolviendo una creencia en cierta cantidad, que podría ser un mapa o una ubicación. Es más fácil de entender si divide la expresión anterior en 2 partes.
- El primer paso es todo después, e incluso, la integral. Básicamente significa “Toma lo que ya sabemos y tratemos de adivinar cómo se verá en un momento”.
- El segundo paso es todo antes de la integral. Básicamente significa “Hagamos nuestra conjetura de la última vez y hagámoslo un poco mejor leyendo los datos de nuestro sensor”
Este algoritmo simple tiene muchas extensiones muy importantes. Dado que esa publicación de trabajo menciona moverse a través del terreno irregular, el robot necesita una forma de identificar ese terreno. Los algoritmos relevantes, que pueden derivarse de la Regla de Bayes anterior (¿qué tan genial es eso?) Pueden ser:
- Cómo derivar el mecanismo de conversión de convertir decimal a binario y viceversa
- ¿Por qué razón se prefieren los operadores de asignación compuesta aritmética al escribir códigos profesionalmente en Java?
- ¿Cómo contar el número de todos los tipos topológicos en un DAG dado? ¿Puedes dar algún ejemplo en este gráfico?
- ¿Puede una computadora de agujero negro resolver todos los problemas de NP-Complete en tiempo polinómico?
- Cómo obtener una carrera en el desarrollo de mejores estructuras de datos y algoritmos
- Filtros lineales de Kalman (algoritmo para un sistema lineal)
- Filtros Kalman extendidos (algoritmo para un sistema no lineal)
- Filtros Kalman sin perfume (algoritmo para un sistema no lineal)
- Filtros de información (funciona mejor que el filtro de Kalman en el paso 2 anterior, más lento en el paso 1, pero hace lo mismo básico)
- Filtros de histograma (haga un histograma 2D, 3D, 4D, etc. de algo)
- Filtros de partículas (use los métodos de Monte Carlo, también conocidos como material aleatorio; el algoritmo más popular)
Todos estos son algoritmos que pueden ayudar a resolver el enorme problema SLAM general, que puede ser una gran parte de la publicación de ese trabajo. SLAM es como un catch-22. Considere esto: cuando un robot intenta construir un mapa, usa información sobre dónde está o localización. Cuando un robot intenta localizar, utiliza un mapa. Pero, ¿cómo puedes hacerlo sin el otro? Ese es el problema de SLAM, y con eso ayudan todos estos algoritmos.
Resolviendo la mitad de SLAM usando un filtro de partículas
Aquí trabajan en la primera mitad de SLAM: averiguar dónde está el robot.
Resolviendo la otra mitad de SLAM usando un filtro Kalman
Aquí trabajan en la segunda mitad de SLAM: mapeo.
Sensores
Para algunos tipos de sensores, un PID (Controlador Derivado Integral Proporcional) puede ser ideal. Es un controlador que mejora las lecturas de sus sensores, consulte wikipedia: (http://en.wikipedia.org/wiki/PID…).
Texto
Si realmente está interesado en aprender más sobre esto, entonces el texto Probabilistic Robotics (http://mitpress.mit.edu/catalog/…) de Sebastian Thrun es prácticamente todo lo relacionado con la robótica móvil. Pero tenga en cuenta que SLAM es probablemente solo una parte de lo que se trata la publicación de trabajo; Probablemente haya un montón de cinemática, sistemas de control, etc.
La persona que obtiene ese trabajo probablemente tendrá una base sólida en todas estas áreas y mucho más. Las personas que trabajan en Boston Dynamics son bastante inteligentes.