How would you implement a priority queue to manage task allocation among heterogeneous robots with varying capabilities at Foundation Robotics Labs?