Primero, debemos comprender los conceptos básicos y las cuestiones clave en la programación de AGV y luego analizar las características de los métodos de programación existentes.
El funcionamiento de un AGV por sí solo no es complejo. Por ejemplo, cuando una máquina herramienta necesita procesar una pieza, el sistema de control MES-de nivel superior envía una solicitud al sistema de programación AGV, que luego envía un AGV para transportar las materias primas desde el almacén a la máquina herramienta. Este proceso puede denominarse trabajo, y consiste en moverse entre un par de lugares de trabajo. En este ejemplo, la máquina herramienta solo proporciona una solicitud ("¿Qué pieza quiero procesar y en qué momento?"). El sistema de programación maneja la selección del AGV para transportar las piezas y materias primas y la ruta que debe seguir el AGV.

Una vez que el sistema de programación especifica una ruta para el AGV, el controlador a bordo del AGV realiza tareas específicas de control de movimiento de acuerdo con las instrucciones, como mantener una cierta velocidad y determinar qué ruedas usar al girar en una intersección. Por lo tanto, en un sistema completo, el sistema de programación AGV se ubica entre los sistemas de control de nivel superior-y inferior-, actuando como un administrador.
Sin embargo, con varios AGV, la programación se vuelve significativamente más desafiante y cuanto mayor es el número de AGV, mayor es la dificultad. Por tanto, los sistemas de programación se han convertido en una tecnología clave en la industria de AGV. El práctico software del sistema de programación AGV normalmente ofrece una amplia gama de funciones, que incluyen gestión de tareas, monitoreo del estado del vehículo, planificación de rutas, edición de mapas y consultas de bases de datos.
En primer lugar, deberíamos poder distinguir si un problema es un problema de programación o no. Supongamos que sólo hay un AGV funcionando en una fábrica. El problema de programación degenera en un simple problema de planificación de rutas. Esto se debe a que no es necesario considerar a qué AGV asignar tareas, ni requiere considerar quién va primero o quién va último en una intersección. Por lo tanto, el problema de programación presupone que varios AGV comparten una red de rutas. En otras palabras, existe competencia por los recursos entre los AGV. Al igual que los coches en la carretera, todo el mundo quiere conducir lo más rápido posible. Si cada conductor sólo se considera a sí mismo e ignora a los demás, es probable que el resultado sea un atasco en el que nadie pueda moverse (congestión).
En consecuencia, las personas que buscan su propia solución óptima local pueden terminar en el peor-caso. Por lo tanto, la programación es necesaria y, a veces, crucial (los semáforos y la policía de tránsito desempeñan un papel en la "programación").
Con la diversificación de las demandas del mercado, los procesos de producción se vuelven cada vez más complejos y dinámicos. Esto a menudo requiere la programación y planificación simultánea de varios AGV para coordinar y completar las tareas de manipulación. El sistema de programación juega un papel crucial en la ejecución de esta compleja tarea de despacho. Aprovechando un sistema de programación integral y confiable, las empresas pueden realmente lograr un modelo de operación de almacenamiento inteligente "de bienes-a-personas", lo que permitirá a numerosas empresas transformarse en una fabricación "inteligente".

