Heterogeneous Multi-robot Task Allocation for Long-Endurance Missions in Dynamic Scenarios