Я работаю над проектом и написал алгоритм в соответствии с ним.
БПЛА в этом алгоритме должны покрывать необходимые ребра и использовать тупик только для кратчайшего пути, чтобы обеспечить обслуживание необходимых ребер. p>
ограничение по времени — 1800 (секунд), а емкость аккумулятора для каждого БПЛА — 900 Втч.
остальные параметры,
# Set parameters
service_speed = 5 # 5 m/s (18 km/h)
deadhead_speed = 8 # 8 m/s (28.8 km/h)
# Energy consumption per km
service_energy_per_km = 100 # Wh/km
deadhead_energy_per_km = 50 # Wh/km
# Convert energy per km to energy per meter
service_energy_per_m = service_energy_per_km / 1000 # 0.1 Wh/m
deadhead_energy_per_m = deadhead_energy_per_km / 1000 # 0.05 Wh/m
После того, как я запустил этот алгоритм, хотя я определил ограничение по времени и мощности, я получаю этот результат для каждого БПЛА, в то время как, я думаю, например, первый БПЛА использует всю свою энергию и ограничиться, а затем вернуться в депо и следующий БПЛА снова продолжить прикрытие. но здесь у БПЛА быстро заканчивается энергия и они возвращаются в депо раньше, хотя по результату они не использовали всю свою энергию или лимит времени для каждого!
Кто-нибудь может мне помочь, пожалуйста???это часть алгоритма согласно этому:
# Check UAV energy and time constraints
if uav.energy_consumed >= uav.battery_capacity or uav.time_taken >= time_limit:
uav.inactive = True # Mark UAV as inactive
return_to_depot(uav, graph, vertices)
uav_index += 1
continue
Подробнее здесь: https://stackoverflow.com/questions/791 ... coverage-u
Может ли кто-нибудь помочь мне решить эту проблему в соответствии с моим проектом? (Линейное покрытие с использованием Б ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение