¿Puedo aplicar potencial primer método de campo / profundidad para evitar obstáculos usando el gráfico impulso?

StackOverflow https://stackoverflow.com/questions/4173306

Pregunta

Me implementado un algoritmo de evitación de obstáculos en Matlab que asigna cada nodo en un gráfico de un potencial y trata de descender este potencial (el objetivo de la pathplanning está en el mínimo global). Ahora podría aparecer mínimos locales, por lo que la planificación (global) necesita una manera de salir de ellos. He utilizado la estrategia para tener una lista de nodos abiertos que son accesibles desde los nodos ya visitados. Visito el nodo abierto, que tiene el potencial más pequeño al lado.

Quiero aplicar esto en C ++ y me pregunto si Boost Graph tiene este tipo de algoritmos ya. Si no es así - ¿Hay algún beneficio del uso de esta biblioteca si tengo que escribir el algoritmo de mí mismo y también voy a tener que crear mi propia clase gráfico porque el gráfico es demasiado grande para ser almacenado como lista de adyacencia / lista de aristas en la memoria

Cualquier consejo apreció!

¿Fue útil?

Solución

boost::graph proporciona una lista de href="http://live.boost.org/doc/libs/1_44_0/libs/graph/doc/table_of_contents.html" rel="nofollow"> de más corta caminos / minimización de costes Algoritmos. Quizás se encuentre interesado en lo siguiente: , a * .
Los algoritmos se pueden personalizar fácilmente. Si eso no se ajusta exactamente a sus necesidades, echar un vistazo a la conceptos visitantes . Se le permite personalizar su algoritmo en algún momento evento predefinido.

Finalmente asas distribuidos BGL enorme gráfico (potencialmente millones de nodos). Se trabajará para usted si su gráfica no cabe en la memoria.

Se puede encontrar un buen resumen de la Boost Graph Library aquí . Y, por supuesto, no dude en hacer una pregunta más específica acerca de BGL en StackOverflow.

Otros consejos

A mi entender, boost::graph es realmente impresionante para la implementación de nuevos algoritmos, ya que proporciona diversos titulares de los datos, los adaptadores y material comúnmente utilizado (que obviamente puede ser utilizado como parte de los algoritmos de nueva construcción).

los Últimos también son personalizables debido al uso de visitantes y otros patrones inteligentes.

En realidad, boost::graph puede tomar algún tiempo para acostumbrarse, pero en mi opinión es realmente vale la pena.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top