Gray bands are racks, blue dots are AGVs, green dots are charging, red haloes mark congestion. Paths and charging stations are drawn live.
$$\text{cycleTime} = \frac{\bar d}{v} + t_{\text{pick}}, \qquad \bar d = 0.5\sqrt{A}$$
Average travel distance $\bar d$ scales with the square root of floor area $A$. $v$ is AGV speed, $t_{\text{pick}}=30\,\text{s}$ is the pick/drop overhead.
$$Q_{\text{hr}} = \frac{3600}{\text{cycleTime}}\cdot N \cdot 0.85 \cdot \eta_{\text{batt}} \cdot L_{\text{order}}$$
$N$: AGV count, $0.85$: traffic-control loss, $\eta_{\text{batt}} = T_{\text{run}}/(T_{\text{run}}+T_{\text{chg}})$: utilization, $L_{\text{order}}$: lines per order.
$$\rho = \frac{N}{A}\times 1000\;[\text{AGV}/1000\text{m}^2], \quad \text{ROI}_{\text{yr}} = Q_{\text{day}}\cdot 250\cdot 0.5 - 0.2\cdot C_{\text{fleet}}$$
$\rho\gt 8$ triggers the overcrowded verdict. $C_{\text{fleet}} = 35{,}000\,\text{USD}\times N$ is the fleet capex; the annual gain assumes 250 working days at 0.5 USD/item with a 20% allowance for maintenance.