Структура fly-файла
Добавлено: 12 май 2010, 10:36
Здравствуйте всем! Руководство поручило разобраться в структуре и командах fly-файла. Часть команд понять получилось, но остались вопросы, в мануале по автопилоту ответа на них не нашла. Ниже привожу текст fly-файла с пояснениями напротив каждой команды, где смогла разобраться, и со знаками вопроса там, где нуждаюсь в помощи.
metric //единицы измерения
takeoff //команда взлета
climb 350 //высота полета 350 метра
waitclimb 50 //ждать наборы высоты 50 метров
flyto (1225,-273) //путевая точка
flyto (1191,-294) //путевая точка
fromto (1123,-337) //путевая точка
fromto (921,-466) //путевая точка
[1239] = 1 //???????
fromto (152,-953) //путевая точка
fromto (-639,-1484) //путевая точка
fromto (-1256,-1917) //путевая точка
fromto (-1592,-2123) //путевая точка
fromto (-1798,-2177) //путевая точка
fromto (-2275,-2166) //путевая точка
fromto (-2914,-2090) //путевая точка
fromto (-3033,-2069) //путевая точка
fromto (-3650,-2015) //путевая точка
[1239] = 0 //??????
flyto (-4010,-2015) //путевая точка
flyto (-3970,-2015) //путевая точка
fromto (-3890,-2015) //путевая точка
fromto (-3650,-2015) //путевая точка
[1239] = 1 //??????
fromto (-3628,-2015) //путевая точка
[1239] = 0 //??????
climb 100 //высота полета 100 метров
flyto [home] //лететь в точку взлета
[1461] = 7 //??????
wait 3 //??????
[fServo8] = 32767 //??????
wait 4 //??????
[fServo8] = 0 //??????
[6505] = 0 //??????
circuit //команда посадки
return //??????
fixed //??????
thread 1 //??????
[1239] = 0 //??????
[1240] = 0 //??????
[1236] = 262 //camera interval (feets) //??????
waitequal [1239], 1 //??????
[1235] = [1453] //assign current distance travelled //??????
waitgreaterthan [1453], [1235] //wait until its time to take a picture //??????
[1461] = 7 //force wings level (time is units) //??????
wait 3 //??????
[fServo8] = 32767 //??????
wait 4 //??????
[fServo8] = 0 //??????
push [1235] //put distance travelled on stack //??????
add [1236] //add camera interval to stack //??????
pop [1235] //put new distance back //??????
push [1240] //??????
add 1 //??????
pop [1240] //??????
skipequal [1239], 0 //??????
repeat -13 //??????
repeat -16 //??????
thread 2 //records flight time //??????
push 0 //??????
pop [1238] //??????
waitlessthan [currentAltitude], 50 //??????
push [1238] //??????
add 1 //??????
pop [1238] //??????
wait 3 //??????
repeat -4 //??????
//land //алгортим посадки
definepattern 0 //
climb 100 //
flyto [home] //
circuit //
return
//manually take a picture //алгоритм получения снимка
definepattern 1 //
[fServo8] = 32767 //
wait 4 //
[fServo8] = 0 //
return //
//perform a right hand circuit //подготовка к посадке
definepattern 2 //
[6505] = 0 //
return //
pattern EngineFailed //алгортим поведения при неисправности двигателя
[elDrivesAlt]=0 //
flyto [home] //
[stopEngine]=1 //
turn [runwayDirection] //
climb 0 //
wait 999999 //
pattern gpsFailed //алгортим поведения при неисправности gps
setControl rollFixed, 0 //
wait 50 //
setControl thFixed, 0 //
wait 999999 //
pattern batVFailed //алгортим поведения при неисправности батарей
[elDrivesAlt]=0 //
flyto [home] //
[stopEngine]=1 //
turn [runwayDirection] //
climb 0 //
wait 999999 //
metric //единицы измерения
takeoff //команда взлета
climb 350 //высота полета 350 метра
waitclimb 50 //ждать наборы высоты 50 метров
flyto (1225,-273) //путевая точка
flyto (1191,-294) //путевая точка
fromto (1123,-337) //путевая точка
fromto (921,-466) //путевая точка
[1239] = 1 //???????
fromto (152,-953) //путевая точка
fromto (-639,-1484) //путевая точка
fromto (-1256,-1917) //путевая точка
fromto (-1592,-2123) //путевая точка
fromto (-1798,-2177) //путевая точка
fromto (-2275,-2166) //путевая точка
fromto (-2914,-2090) //путевая точка
fromto (-3033,-2069) //путевая точка
fromto (-3650,-2015) //путевая точка
[1239] = 0 //??????
flyto (-4010,-2015) //путевая точка
flyto (-3970,-2015) //путевая точка
fromto (-3890,-2015) //путевая точка
fromto (-3650,-2015) //путевая точка
[1239] = 1 //??????
fromto (-3628,-2015) //путевая точка
[1239] = 0 //??????
climb 100 //высота полета 100 метров
flyto [home] //лететь в точку взлета
[1461] = 7 //??????
wait 3 //??????
[fServo8] = 32767 //??????
wait 4 //??????
[fServo8] = 0 //??????
[6505] = 0 //??????
circuit //команда посадки
return //??????
fixed //??????
thread 1 //??????
[1239] = 0 //??????
[1240] = 0 //??????
[1236] = 262 //camera interval (feets) //??????
waitequal [1239], 1 //??????
[1235] = [1453] //assign current distance travelled //??????
waitgreaterthan [1453], [1235] //wait until its time to take a picture //??????
[1461] = 7 //force wings level (time is units) //??????
wait 3 //??????
[fServo8] = 32767 //??????
wait 4 //??????
[fServo8] = 0 //??????
push [1235] //put distance travelled on stack //??????
add [1236] //add camera interval to stack //??????
pop [1235] //put new distance back //??????
push [1240] //??????
add 1 //??????
pop [1240] //??????
skipequal [1239], 0 //??????
repeat -13 //??????
repeat -16 //??????
thread 2 //records flight time //??????
push 0 //??????
pop [1238] //??????
waitlessthan [currentAltitude], 50 //??????
push [1238] //??????
add 1 //??????
pop [1238] //??????
wait 3 //??????
repeat -4 //??????
//land //алгортим посадки
definepattern 0 //
climb 100 //
flyto [home] //
circuit //
return
//manually take a picture //алгоритм получения снимка
definepattern 1 //
[fServo8] = 32767 //
wait 4 //
[fServo8] = 0 //
return //
//perform a right hand circuit //подготовка к посадке
definepattern 2 //
[6505] = 0 //
return //
pattern EngineFailed //алгортим поведения при неисправности двигателя
[elDrivesAlt]=0 //
flyto [home] //
[stopEngine]=1 //
turn [runwayDirection] //
climb 0 //
wait 999999 //
pattern gpsFailed //алгортим поведения при неисправности gps
setControl rollFixed, 0 //
wait 50 //
setControl thFixed, 0 //
wait 999999 //
pattern batVFailed //алгортим поведения при неисправности батарей
[elDrivesAlt]=0 //
flyto [home] //
[stopEngine]=1 //
turn [runwayDirection] //
climb 0 //
wait 999999 //