Новый автопилот?

lelik
Realizator:

Виртурилку мы делали в те времена, когда Малина еще на рынке не появилась.

Респект вам и уважуха за это безо всяких шуток.

Realizator:

Честно говоря, там в Китае был модуль 4G.

Пофиг что было в Китае, все задержки все равно были в магистрали.

HardRock:

Плюс интересно попробовать сетап, когда ставится камера, ардуина с переферией (датчики, pwm драйвер) и свисток для Wi-Fi броадкаста.

Идете след в след по моим граблям. В конечном итоге приходите к необходимости развести свой шилд с IMU, PWM, ADC и прочим калом, паяете макет, разводите плату, считаете деньги и понимаете, что проще, дешевле и предсказуемее купить в городе кетае какой-такой АП на stm32F4xx за 5 копеек, на котором все это уже есть и который поддерживается вашим любимым стеком, прицепить к нему компанион и занаться чем-то более прикладным. У меня получилось как-то так:

Lazy
lelik:

У меня получилось как-то так:

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

lelik
HardRock:

Кстати, хочу попробовать считать АП на камере с HI3516 / HI3518.

600MHz камень ardupilot в его линуксовой реинкарнации не тянет, загрузка CPU под 90%. Да и не стоит дивчинка вые…ки. Есть более бредовая идея. Берем IP-камеру на Hi3516 и засовываем ей внутрь wifi-broadcast. Не один в один, конечно, но близко. USB-порт на них (некоторых) есть, UART есть, внутри линух…

HardRock

Так понимаю, это плата с датчиками и PWM.

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

Например на вашей плате насчитал 6 PWM. Там STM32?
Самолёт который хочу оснастить автопилотом имеет:
2 элерона
2 закрылка
1 руль высоты
1 руль направления
1 шасси (все приводы параллельно)
1 управление камерой PAN
1 управление камерой TITL
В перспективе ещё 2 канала сброса нагрузки
Итого: 11 каналов.

Можно конечно часть каналов завести в обход полётного контроллера, но например шасси нужны на взлете подсадке в автоматическом режиме.

И это простой ФПВ самолет для фана, без подвесов.

Не говорю что это плохой подход, у него есть свои плюсы в первую очередь по надёжности. Однако есть и ограничения, в первую очередь по гибкости.

lelik:

600MHz камень ardupilot в его линуксовой реинкарнации не тянет, загрузка CPU под 90%. Да и не стоит дивчинка вые…ки. Есть более бредовая идея. Берем IP-камеру на Hi3516 и засовываем ей внутрь wifi-broadcast. Не один в один, конечно, но близко. USB-порт на них (некоторых) есть, UART есть, внутри линух…

Именно про эту бредовую идею и писал выше 😃
Платы от таких камер у меня валяются разные. Софт под них раньше писал. Есть даже чисто CPU борда, но их к сожалению не продают на Али, по крайней мере отдельно, так что на камеру с матрицей лучше закладываться )

А то что ардупилот тормозит на 600 - совсем не значит что 600 это мало.

И это совсем не значит что он все это время занимается вычислениями.

Есть нюансы связанные с планировщиком.

lelik
HardRock:

Так понимаю, это плата с датчиками и PWM.

Снизу - АП, сверху - компаньон. АП совместим с ардупилотом, может работать отдельно, управляться штатным наземным софтом, у меня не болит голова о нем совершенно и мне глубоко плевать, что у него внутри. В компаньоне - линух, между ним и АП предусмотрена двусторонняя связь, туда-сюда ходит мавлинк и в рамках протокола я могу творить все, что мне вздумается. Если мне надо будет больше выходов - выкину мелкий АП и возьму полный пикс со всеми его 14ю сервовыходами и ничего больше менять не буду, все будет работать также. Это в том случае, если мне лень будет делать демультиплексор SBus из какой-нибудь меги. Основной же плюс моей конструкции - она уже в воздухе была и обратно прилетела.

P.S. вы еще газ забыли.
P.P.S. посадка в автомате на шасси… какой наив!

HardRock:

Есть нюансы связанные с планировщиком.

Не надо мне рассказывать сказки. Я с общение с линухом начал с ядра 1.1 и формата бинарников a.out и понять, чем занят единственный активный процесс могу.

HardRock

Да, газ забыл, а их ещё несколько может быть)))

HardRock

Кстати, компаньон что из себя представляет?

lelik
HardRock:

Кстати, компаньон что из себя представляет?

MIPS 600MHz, 128M RAM, кучка UARTов, двухпортовый USB-хаб ну и по мелочи.

HardRock
lelik:

Не надо мне рассказывать сказки. Я с общение с линухом начал с ядра 1.1 и формата бинарников a.out и понять, чем занят единственный активный процесс могу.

Я о том что просто поллинг ресурса даёт 100% загрузку, поэтому нужно знать что делает код при отсутствии входных данных. Может оказаться что добавление usleep(1) в случае отсутствия входных данных резко уменьшит использование процессора.
Впрочем, вы это и так знаете и если это было в учтено, то очень странно что на такую простую задачу нужно столько процессора. Выходит код очень не оптимизированный.

lelik
HardRock:

Выходит код очень не оптимизированный.

Еще раз. Существует решение, которое меня в настоящее время полностью устраивает, вопрос с АП для меня пока закрыт. Если у вас есть время и желание - пишите, никто запретить не может, у меня ни того, ни другого нет.

По поводу 3516 - вы же хотели в нее АП запихать, не? Про идею вживления туда wfbc я еще осенью писал.

HardRock

Это просто рассуждение на тему производительности и оптимизации.

Да, сейчас рассматриваю как основное железо для начала. Можно ссылку где почитать или в двух словах какие результаты? Не видел этого обсуждения.

lelik
HardRock:

Не видел этого обсуждения.

А что и с кем обсуждать? Я написал в ветке про wfbc, что у меня есть а) несколько камер на 3516 и b) идея затолкать туда софт от bortek. Народ сказал: “Вау! Расскажи, что получится”. Я прицепил к камере UART, увидел там u-boot, потом - login prompt и отложил в дальний ящик стола. Для меня это - работа (труд за деньги), и пока она работается без этого совершенно нетрадиционного секса.

HardRock

Ага, полистал ветку, нашел те сообщения.
Там в общем случае пароль на рута стоит, который может меняться в зависимости от китайца, но в убуте в более свежих версиях (где-то после 14-года) обычно есть нормальная поддержка сети и TFTP или USB , поэтому вопрос легко решается.
Я эти камеры / регистраторы активно ковырял когда они только появились. В 13 году выступал на конференции по взлому систем видеонаблюдения 😃
Самая жесть была с регистраторами на HI3520D первых серий. Там вместо SPI флешек стояли параллельные в TSOP48, а в убуте не было ни сети ни USB, SDK тогда тоже не было, мне потом его знакомый из Китая на флешке привез. Так вот приходилось по несколько раз в день сдувать эту память если что-то ломал в процессе загрузки или в ядре (подбирал в билдруте конфигурацию чтобы можно было заменить окружение для существующего ядра и получить возможность писать свой софт и добавлять модули ядра. В прошивке все было в статике и жёстко порезано)

Чем занимаетесь если не секрет? (можно в личку)

lelik
HardRock:

Чем занимаетесь если не секрет?

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

Dinotron

Опа. Понимаем. А у вас в конторе спецы кончились, что вы у любителей интересуетесь? Вы хотите готовый автопилот под украденную платформу?

Lazy
HardRock:

Кому адресован вопрос?

А что, это важно?

lelik
Dinotron:

Вы хотите готовый автопилот под украденную платформу?

Кто, у кого и какую платформу украл?

HardRock
Lazy:

А что, это важно?

Для меня нет, но вдруг человек ночами спать не будет, а будет всё думать “почему мой вопрос проигнорировали??? может и вправду украли платформу и хотят готовый автопилот у любителей украсть???” 😃

lelik
HardRock:

может и вправду украли платформу

Проблема гораздо глубже: вдруг я мог что-то украсть и не украл ???

Lazy
lelik:

вдруг я мог что-то украсть и не украл

Я чОт переживаю - оно лежало ничейное и ты просто так прошагал мимо?