Размещено 4 года назад по предмету
Информатика
от sasha29012007rodiono
После тестов «ECO-2035» в ветреную погоду и с разными настройками скорости полета были выявлена необходимость в расчете/подборе времени ожидания (rospy.sleep) достижения целевой точки. Для решение данной проблемы вам необходимо написать программу которая не использует константное/расчетное время полета, а ожидает прибытие в целевую точку.
На вход программе подается в стандартный поток ввода (input()) координаты целевой точки в которую «ECO-2035» должен будет прилететь и ожидать прибытие до этой точки.
Для ожидания завершения полета робота до целевой точки нельзя использовать функции rospy.sleep и time.sleep (функция rospy.sleep может быть использована в одном цикле вместе с get_telemetry для уменьшения частоты вызова get_telemetry).
Можно использовать только систему координат map.
Библиотеки math, rospy и time уже импортированы.
Формат ввода:
На одной строке вводиться 3 числа (x, y, z).
Пример:
0.8 -0.4 2.1
Описание сервисов робота для выполнения данной задачи:
get_telemetry
Параметры:
frame_id – система координат
Формат ответа:
x, y, z – локальная позиция коптера (м);
navigate
Параметры:
x, y, z – координаты (м);
yaw – угол по рысканью (радианы);
speed – скорость полета (скорость движения setpoint) (м/с);
frame_id – система координат, в которой заданы x, y, z и yaw.
Напишите программу. Тестируется через stdin → stdout
Верно решили 9 учащихся
Из всех попыток 8% верных
Time Limit: 15 секунд
Memory Limit: 256 MB
1
### Service proxy уже объявлены
2
3
4
5
6