Автономный дрон Robosonic MC

Виктор_Казаринов

Некоторое время назад я начал разработку автономного дрона в рамках конкурса Кубок конструкторов Виктор Казаринов
Схема дрона еще до конца не определена. Я не построил своими руками еще ни одного летающего аппарата, поэтому в этом деле я “чайник”. Это осложняет и одновременно упрощает дело. Ведь я не собираюсь вовсе вручную управлять дроном. Первый вариант оборудования я опишу позже. Сразу скажу, что главным для меня является не авионика, хотя без нее тут никак и никуда. Главным я считаю способность автономного робота действовать адекватно окружающей среде, выполняя заранее поставленную человеком задачу при отсутствии или ненадежной связи с базой. Действовать дрон должен в стесненных обстоятельствах - пещеры, завалы, темные захламленные коридов, когда дрон своими действиями может поднимать кучу пыли, встречать на пути мелкие ветки, натянутые веревки и т.д. Еще одним важным свойством я считаю скоерость - как физическую скорость выполнения полетного задания, так и скорость принятия решений в каждый момент времени полета. Эти работы выходят за рамки конкурса, поэтому отсев не остановит мои работы.
Здесь я хотел бы кратко освещать ход процесса разработки дрона. Однако этот процесс будет небыстрым т.к. сил и времени на это у меня маловато.

В настоящее время я пишу на ANSI C онтологичемкий движок (мегатронную сеть), который находится в основе 3D зрения и других модулей. Суть в том чтобы этот движок позволял не только реконструировать глубину поверхностей наблюдаемой сцены, но и идентифицировать то, что видит, и что особенно важно - классифицировать это, т.е. на наиболее возможном для него уровне абстрагировать наблюдаемую часть мира. Работы будут проходить поэтапно и на каждом этапе будут улучшаться программно-технические решения.
Параллельно исследую Raspberry PI. Производительность ее не очень. М.б. придется их ставить несколько на борту беспилотного робота. Заказанные для дрона детали еще идут из Китая.

Из более чем двух сотен участников конкурса практически почти никто не проявил себя на данном форуме с описанием своей работы. Все ограничилось краткой видеопрезентацией. Скорее всего все боятся что их секреты узнает конкурент и победит их же оружием. Видимо такого рода конкурсы приводят к противоречивым результатам. С одной стороны, победит сильнейший. С другой стороны, как известно, любая идея тогда лишь овладевает народом, когда она становится предельно ему понятна, нужна и развиваема всем сообществом. А закрытость препятствует взаимообогащению идей и в конечном счете препятствует прогрессу. Поэтому считаю, что такой проект должен быть открытым. Т.к. пока я не отсеялся из конкурса, буду в процессе разработки избегать некоторых мелочей. Затем скорее всего если будет какой- то практический результат и он будет востребован, перейдет под лицензию BSD. Одному мне такую работу, связанную с практическим использованием искуссвенного интеллекта, в полной мере не осилить. А за много лет я так и не нашел на просторах интернета ни одного соратника. Поэтому продолжаю делать все один.

Возможно, я отсеюсь на ближайших КТ конкурса. Но работу над дроном по возможности продолжу в любом случае.

chanov
Виктор_Казаринов:

Я не построил своими руками еще ни одного летающего аппарата, поэтому в этом деле я “чайник”. Это осложняет и одновременно упрощает дело. Ведь я не собираюсь вовсе вручную управлять дроном. Первый вариант оборудования я опишу позже. Сразу скажу, что главным для меня является не авионика, хотя без нее тут никак и никуда.

Надеюсь вы возьмёте какой нибудь худо-бедно стабильно летающий контроллер типа НАЗЫ, типовую конфигурацию от них и к ней автономное управление будете своё прикручивать? Или мозги коптера будете тоже сами писать?
p/s очень интересно будет почитать, пишите иногда отчёты …

Виктор_Казаринов
chanov:

Надеюсь вы возьмёте какой нибудь худо-бедно стабильно летающий контроллер типа НАЗЫ

Я не настолько самоуверенный, чтобы делать собственный полетный контроллер с нуля. Поэтому собираюсь дейстоввать итерационно. Сначала стабилизацию полета будет выполнять только контроллер ALL IN ONE PRO Flight Controller v2.0
Все равно какая-то платка сенсоров: гиров, компасов и др. должна быть. И GPIO у Raspberry маловато. Затем видимо этот полетный контроллер (спинной мозг животного-дрона, извините за такое сравнение) и мои более высоколежащие алгоритмы (головной мозг) будут мешать друг другу при выполнении определенных действий. Как и у животных и человека в таких случаях потребуется подавления поведения контроллера извне. После копания в софте контроллера смогу конкретнее что-то на этот счет сказать.
Вообще-то коптер я рассматриваю со стороны живого организма. Поэтому такое понятие как гомеостаз - поддержание стабильного жизнеспособного состояния, буду рассматривать в первую очередь. Насколько мне известно на данном форуме занимаются не в последнюю очередь именно этой проблемой. НО… но в основном с точки зрения реактивной модели поведения - пассивного реагирования коптера на изменения внешней среды. Это - низший уровень поведения. Он хорошо себя зарекомендовал, но для высококачественного контроллера нужно его дополнить активным, которое предусматривает динамическое построение планов и рассмотрение вариантов дальнейшего своего поведения с оценкой результатов и принятием конечного поведенческого решения.

kostya-tin
Виктор_Казаринов:

Как и у животных и человека в таких случаях потребуется подавления поведения контроллера извне

дык на сколько я понимаю принцип работы любых мозгов, особенно при полете на гироскопе - мозг стабилизирует положение коптера в пространстве, а сигналы с радиоуправления его дестабилизируют и заставляют двигаться в нужном направлении

Chester_kz

Задумка замечательная конечно. насколько я знаю такого рода проблемой (полностью автономный полет) занимаются целые институты типа MIT,стенфорд , карнеги-мелона и т.д. и не смотря на свой опыт (машинное зрение) результата как-такового ни у кого и нет. Возможно он есть и его быстро засекретила DARPA. есть какие-то непонятные крохи информации типа этого ролика. По поводу Raspberry PI сдесь думаю его будет мало. Минимум что слышал для автономного можно это два Intel Atom да и то там только OpenCV крутилась не более. Конечно “можно” купить “дешевый” нейросетевой чип и научить его рефлексам. У самого были такие задумки но понял что не потяну даже имея кучу свободного времени и средств. О себя хочу искренне пожелать вам удачи и пожелания того чтобы у вас получилось(хотя бы какая-то часть из задуманного). Надеюсь тема не умрет как так где человек собирался ставить на коптер несколько MK802(кажеться для крока)

Виктор_Казаринов
kostya-tin:

дык на сколько я понимаю принцип работы любых мозгов, особенно при полете на гироскопе - мозг стабилизирует положение коптера в пространстве, а сигналы с радиоуправления его дестабилизируют и заставляют двигаться в нужном направлении

Это и есть реактивное управление. Аналогичное широко распространено в автомобилях. Всякие умные системы торможения, антиблокировки и т.д. но они бессильны там, где нужно предсказывать поведение из-за еще не наступивших новых условий, например, немного снега на обледенелой дороге. Поэтому чтобы долго не морочиться, решили расширять реактивную систему добавляя новые более дальнозоркие датчики. Это как и в конкурсе Крок. Лидары да посильнее. А нужно совсем другое, нужно развивать “внутреннее зрение”, дальновидность, способность предсказывать.
2Chester_kz: большое спасибо за поддержку в этом очень нелегком деле.