Dispatching AGVs with battery constraints using deep reinforcement learning