Я новичок. Все осваивалось с нуля, но не без консультаций «старших товарищей».
Видео есть, но оно сделано с телефона и в помещении, поэтому качество плохое,
и возможности полетать у вертолетика нету.
Могу выложить, если надо.
По-моему я вижу причину «проседания» — это тангаж. Датчик «стреляет» вниз, а при наклоне «вдруг» по датчику оказывается выше, регулятор отрабатывает и снижает высоту. Нужно менять принцип измерения высоты или конструкцию подвеса датчика.
можно поставить 2 датчика, под некоторым углом друг к другу — этот угол откалибровать — на известной высоте его найти, а потом — зная 2 расстояния до пола и угол между ними — можно найти высоту треугольника
1) При движении назад хвостовой вентилятор тянет вертолетик к полу. На будущее можно будет учесть и внести поправки.
2) Датчик измеряет расстояние до предмета в конусе его видимости, поэтому небольшое вращение не должно сильно влиять.
Собственно, из-за этого сложно летать в помещении, т.к. время от времени попадает в конус видимости датчика стул или стол, и вертолетик начинает подпрыгивать вверх. Просто в условиях конкурса была задекларирована геометрия помещения и корридор, по которому надо было пролететь был очень широкий (15 м).
к 2) — на видео совсем не небольшое вращение. Тангаж или крен на угол Х увеличит измеренное расстояние на 1/cos(Х), а это очень немало и растет быстро
есть предложение сделать коррекцию магнетометром (3-осевым компасом) — зная наклон можно скорректировать высоту
ага — магнитное поле движков нафиг собьет все, да и точность маленькая у них — стоит понимать, что текущие микросхемы они для смартфонов в основном делаются — там не нужна точность до градусов — лучше попробовать 2 и более датчиков ультразвуковых под разными углами, заранее откалибровать их — дальше школьная геометрия поможет
Легче (по весу кстати тоже) наверное гироскоп поставить с акселерометром, чтоб отслеживать угол, заодно и остальное управление можно принять на свои «мозги».
Тут речь не идет пока о навигационной системе. В самом вертолете вообще то уже есть гироскоп, не думаю что китайцы ставят туда обязательно самые хорошие, одноко нос держит весьма достойно (говорю как обладатель нескольких подобных вертолетов).
Посмотрите, например, на ar.drone или другой мультикоптер — там так же ультразвукой датчик + акселерометр с гироскопом. И ничего, держит свое положение нормально.
Можно кое что подсмотреть и взять из тех же самых прошивок к мультикоптерам, благо есть с открытыми исходниками.
Тем более, не думаю, что человек будет ограничиваться только удержанием высоты, это скучно )
Если честно, у меня давно есть идея, но я её никогда не попробую наверное.
Скорость звука воздухе 331 м/c, т.е. за один отсчёт 48000 герц — это 6 сантиметров. Если поставить четыре микрофона по углам комнаты, то можно по задержкам через автокорреляцию определять положение вертолёта в пространстве.
Нужна четырёхканальная аудиокарта, правда, и умение разрабатывать звуковой софт с минимальными задержками.
Судя по даташиту, он выдает на одном пине аналоговый сигнал, пропорциональный расстоянию до обьекта, на другом — импульс с длиной «147uS per inch», на третьем — расстояние асинхронно в цифровом виде (RS232). Щелкает 20 раз в секунду.
Интересная статья, только итог я так и не понял, вертолет оснащен одним датчиком и все? То есть свою задачу он не выполняет.
P.S. посадка на видео опасная
Ну, для начала, отключить все светодиоды, это даст немного дополнительных mA. Для продожения, уже по желанию, могу отдать УЗ со встроенным компасом от AR.Drone. По компасу можно держть направление и вертолетик не будет крутиться.
А вообще вы молодец. Очень приятно осознавать, что есть девушки котрые не только понимают, но и делают подобные вещи!
Да, спасибо что обратили внимание на мой пост. Я не озаботился пруфлинком.
Фото из статьи в Популярной Механике, система навигации использует 2 GSM-антенны:
Мне тоже очень интересно. Не только формулы, но и ход ваших мыслей — как и зачем вы решили строить мат. модель вертолетика, почему нельзя было просто на глазок выставить значения настроек, и как весь процесс выглядит.
Кстати, рекомендую потестить работу датчика в ограниченном пространстве — не будет ли помех от многократно отраженного сигнала. Насколько я представляю, летать придется в довольно узком коридоре.
Зачем? Просто до недавнего времени я понятия не имела, что такое ПИД-регулятор. И значения «на глазок» тоже не представляла даже приблизительно в каком соотношении должны быть. Поэтому мне и посоветовали использовать эту простейшую мат-модель, чтобы иметь некоторое представление и не мучаться потом с прошивкой.
Да, глюки у датчика бывают, но у меня стоит фильтрация заведомо неверных значений. Т.е. очевидно, что вертолетик не может за 0.05 сек. переместиться на пол-метра, например. Пока этого ограничения хватает.
Создание своего летающего робота