Проект SimpleRov

Тема в разделе "Глядите, что я сделал", создана пользователем Alex19, 16 мар 2016.

  1. alp69

    alp69 Гик

    На заре минно-торпедной отрасли в механизме дальнего взведения взрывателя применяли сахар. Перед сбросом мины в воду, цепь питания электромагнитного взрывателя разрывалась куском сахара между подпружиненными контактами.
     
    Последнее редактирование: 16 май 2016
  2. Alex19

    Alex19 Гуру

    Думаю данную проблему можно решить иначе.

    Обычно такой проблемы, как обрыв кабеля, просто нет. Если сам Rov имеет небольшую положительную плавучесть с кабелем с предназначенным для подводных аппаратов (0-вая плавучесть, полиуретан, кевларовые нити, с усилием на разрыв более 100кг). Если он запутался в сетях или Rov находится в закрытом помещении и Вы не смогли вытянуть Rov за кабель, то ни какие системы всплытия не помогут.
     
  3. Alex19

    Alex19 Гуру

    Потихоньку иду к своей заветной цели:).

    Добавил в станочек ЧПУ обратную связью на линейках, если кому интересно подробнее тут - http://www.cnc-club.ru/forum/viewtopic.php?f=152&t=11299. Надеюсь на следующей неделе появятся первые детальки.

    Пока делал уперся в возможности Arduino Micro, пришлось перейти на избыточную Arduino Mega. По сути мне не хватило 1-го, 16 битного таймера, теперь их 4 и можно немного упростить код. Основной минус Arduino Mega-ги, для меня, ее размеры, поэтому сегодня буду заказывать не стандартные Arduino Mega.

    Вот они.
    [​IMG]
    [​IMG]
    [​IMG]

    Так же разобрался с отсутствием стабильности с ESP8266, все проблемы с которым были исключительно из-за отвратительных макеток из Китая, сейчас заменил на макетки из Амперки работаю как часы.Так что теперь, можно спокойно разбираться с ними. LUA мне не понравилась, СИ и регистры пока нет надобности, поэтому пока остановлюсь на Arduino IDE для ESP8266.

    Если кому-то интересен код, он как и прежде тут - https://github.com/SimpleRov. Но он с отставанием на 1 неделю, по привычке работаю с локальным svn.

    Всем удачи, терпения и упорства!
     
    Последнее редактирование: 8 июн 2016
  4. HydroTechnik

    HydroTechnik Нерд

    Приветствую!
    Поскольку занимаюсь схожим проектом, спрошу: какие планируете использовать двигатели?
     
  5. Alex19

    Alex19 Гуру

    Добрый вечер, приветствую единомышленника.

    Доработанные бесколлекторные моторы с внешнем ротором и не высокими оборотами около 600-900об/на вольт.

    Точные модели не скажу, так как до конца еще не определился, один и тот же мотор показывает разные характеристики на разных винтах. Как по тяге, так и по энергоэффективности. Планирую проводить более подробные тесты, когда будет корпус.
     
  6. Alex19

    Alex19 Гуру

    Сегодня успел получил хвост с соплами для моторов.
    Результат хоть не идеальный, но уже не плохой.

    tail_last.jpg
    Работы над проектом еще много, а тут еще и на работе зарываюсь.

    Попутно разбираюсь с ориентацией, пока на базе комплементарного фильтра, само решение на базе MultiWii, благо в этом вопросе мне помогает один хороший знакомый. Если не устроит буду пробовать с ним другие решения.
     
  7. Вам подойдёт любой полётный контроллер, если принцип "перемещения" в воде будет аки в воздухе - например АРМ на Arduino Mega
    http://apmcopter.ru/how-to (даже я разобрался !!!)
    Стоит копейки (около 2тыс руб). На него кучка прошивок и авто и коптерных и лодочных и авто и.... На борту уже встроены гироакселекомпасы и ... барометр. Можно отключить настроить ВСЁ и ВСЕ параметры, вплоть до "полёта по точкам" на планшете и возврата на точку старта (если, конечно, на 100 метрах глубины он ЖПС поймает :rolleyes:, а если нет - отдайте ему по кабелю). Проект открытый - народу грамотного много.
    Если использовать самолётную или лодочную прошивку (и принцип движения) - лодка будет сверхбыстрой (для диверсионных рейдов на дальняк:D).
    Если коптерную - очень подвижно-мобильной и более приспособленной для "поисковых - съёмочных" работ.
    В АРМ-ме ЮСБ загрузка + телеметрия (915 или 433) - т.е. контроль и настройка ВСЕХ параметров во время "полёта".
    MultiWii считают (типа гуру) уже прошлым веком.
     
  8. Alex19

    Alex19 Гуру

    Смотря, что считать принципом "перемещения", да он ходит вверх, вниз, вперед, назад и т.д., на этом сходство с квадрокоптерами и самолетами заканчивается.

    Спасибо, не знал, что ardupilot есть для AVR, когда-то зашел на сайт данного проекта, увидел их плату на STM32F4 и забыл о данном проекте.

    Готового решения я не найду, это точно, но вот подсмотреть интересные решения и реализации можно.

    Сама ориентация, это просто различные варианты, тот же комплементарный фильтр, фильтр Маджвика, метода Калмана и т.д.

    Барометр, просто умрет. Они не рассчитаны работать с давлением выше атмосферного, на глубине 10 метров будет 2 атмосферы, на глубине 20 метров, уже 3 и т.д. Тут нужны датчики давления.

    Отдать по кабелю, что?

    На глубине GPS не работает. Все что есть, перемещение по системе ориентации (течения, температура которая вносит погрешность, движение аппарата) и как это нанести на карту?

    Каждая из них, из коробки просто не подойдет, нужно будет брать одну из существующих и существенно переписывать.

    Телеметрия на базе радио, без полезна, на сколько она дальнобойна под водой, 2-3 метра?

    Проект далеко не идеальный, по коду, точно. Есть некоторые решения, которые, если допилить будут достойными. Что касается использовании его для квадрокоптеров, самолетов то тут да, лучше использовать ardupilot.
     
  9. Тут у копов хитреТЦа - они (их мозг) заточены (калибровками и программно) идеально держать горе-зонт для висения в точке. Если надо вперёд, коп наклоняет плоскость корпуса (читать: все винты) за щёт "убавления" передних и "прибавления" задних и "общий вентилятор" несёт коп вперёд ... с наклоненным корпусом. В стороны - так же в простейшем случае.
    У самолётов "постоянно тяго-толкающий" вперёд винт - там на месте ... сложно висеть.
    Т.е., если "спроецировать" принцип висения копа на принцип плавания подлодки,
    , то лодка будет "летать в воде" (к стати с бешеной скоростью), но ... наклоненным в сторону полёта-заплыва корпусом.
    А если брать самолётную прошивку, то там уровень "висения" не поддерживается и достигается за счёт "набора высоты" в движении - т.е. корпус будет почти ровным к горизонту, но в движении.
    Почему и спрашивал про принцип "перемещения - удержания" (потопления-всплытия). В копах вертикальное перемещение - "в крови". Самолётам (АРМ прошивкам) надо нос задирать, что может быть несовместимым с задачами "погружения".
    Похороним, но ... "дырки" для подключения остануться - к ним и "глуби"-нометр подпаять можно - т.е. он уже в сисЬтеме и ею учитывается "в стоке" осталось ему "коэффициенты проставить".
    Я к тому, что в прошивке она ЕСТЬ и "физические концы и протокол и формат самих данных", а кака борт их на землю передаст - дело хозяина. По ЮСБ шлангу до 10 метров точно прямо на комп в "Мишкин планер". А это 100% контроль "он лайн".
    Что касается данных ЖПС, то "стартовые" -начальная точка- данные дадут точку на карте. А дальше - две трубки Пито крестиком + глубинометр.
    Либо с Алекс19 договориться - он на ар-душке эхолот сделает, ЖПС у него на лодке, а склонение минус глубина (как искомая нижняя вершина прямоугольного треугольника, с известной верхней координатой и одним углом) по шлангу на борт :rolleyes: ...
    ... А так как код всё-равно править, это недорогое, но проверенное временем и даже летающее по производительности железо может быть "полётным" мозгом. А второй мозг уже под ... "конкретные задачи".
    Это просто мысли - рассуждалки :oops:. Уж дюжа сходная среда обитания у этих железок !! :)
     
  10. Alex19

    Alex19 Гуру

    Теоретически, при X-образной схеме расположения двигателей на Rov, можно использовать, с изменениями.

    У меня классическая схема, с дополнениями.
    2 ходовых мотора, руль высоты на хвосте. Один мотор для погружения\подъема, один мотор для перемещения в право\влево, возможно мотор для наклона. Динамическое погружение, с помощью руля высоты и ходовых моторов, так же возможно более медленное погружение с помощью мотора погружени\подъема, хотя он планируется для осмотра, как и мотор для перемещения в право\влево.

    Вот и какую схему использовать?

    Летать в воде:), плотность воды более чем в 800 раз больше. Там скорость другая, инерция и т.д. Вообще зависание Rov, в классической схеме моторов, та еще задача, другое дело X-образные, но там 6 моторов, размеры и требования по тяге (по сути питанию) другие. Волнение, течения бывают разные, особенно ближе к поверхности, поэтому нужен запас.

    Тут, надо смотреть код.

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

    Поясните, пожалуйста, не могу въехать есть переменная длина кабеля (но нам известна), он просто опущен вводу, есть глубина, есть вверху координаты. А как там плавает Rov не известно, он может быть и под лодкой, может в 30 метрах от лодки и т.д.

    Алекс19, не знаком, как логин полностью (а то у меня, тоже Alex19:)).

    Боюсь, что начну править и там ничего от проекта не останется, но гляну в ближайшее время, вдруг действительно, что-то достойное.

    Да нет, в воздухе свое, на земле другое, под водой третье. Везде своя специфика, которую нужно понимать.

    UPD. Проект очень огромный - https://github.com/ArduPilot/ardupilot, как я понял используется свой загрузчик, а не от стандартной Arduino IDE.

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

    Сделано действительно круто, хотя и сверх избыточно для меня. Впрочем диспетчер возможно стяну:).
     
    Последнее редактирование: 12 июн 2016
  11. Надо на эхо-лото-радар взглянуть - он даст "поправку" - расстояние и направление до подлодки относительно действительного положения по ЖПС. А кабель пусть болтается кака хочет. Вот и получим треугольник, который можно посчитать. Значит его катет и будет поправкой к ЖПСу. А вообще "рыбьи" эхолоты сразу расстояния могут (наверное) давать - останется только пересчитать ЖПС-Гло-Нас координаты. И прямо через МП по кабелю миссию зарядить. В МП (Миссион Планер) есть и приколюшки типа "фоллоу ми" - телефон у хозяина скидывает координаты на АРМ (через телеметрийный канал - хоть по шлангу, хоть по блю-тусу, хоть ...), а АРМ мозг САМ следует за координатами телефона (даже если тот перемещается вместе с хозяином). Или режим "цирк" - круги заданного радиуса нарезает для фото съёмки - носом (камерой) к объекту, и т.д. Вообще сисЬтема позиционирования под водой также важна как и в воздухе - открывает возможности автоматизировать "треки" - например "тупо" отснять участок дна в автомате.
    Нужна чОткая задача или "приоритетные направления" (хотя конечно... моя коне-пенция в этом вопросе .... :D). Можно вАще разделить задачи :
    1.Стабилизация в горизонте (если она нужна) + вертикальное позиционирование (всплыть, погрузинится)
    2.Горизонтальное перемещение, повороты.
    Есть одна идейка - попробую сделаю видео. Надо только свой танк добить... :oops: чЮть оста-лося...
     
  12. Alex19

    Alex19 Гуру

    У меня в голове не рисуется, треугольник, глубина есть, это 1 из катетов. А гипотенузы нет и как ее получить не знаю.

    Мне кажется с эхолотом проще, можно получить расстояние до рыбки. Ведь датчик эхолота не плавает, а стоит.

    Разумеется, она дает не оспоримые преимущества. Не уверен, что близко к поверхности он сможет удерживать положение, на глубине попроще, течений и волнений меньше. А для 100% стабилизации требуется другая схема двигателей, да и Rov поправится раза в 2 в размерах и т.д., это другой класс Rov-а.

    UPD.
    Все можно, но все придется переделывать ardupilot до не узнаваемости:). А код там, имеет свои плюсы и минусы для меня.

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

    Если будут вопросы, создавайте тему, чем смогу, помогу.
     
    Последнее редактирование: 13 июн 2016
  13. Если "радарным" методом, то сканы по двум плоскостям - горизонт даст направление (и поворачиваем вертикальный радар), а вертикальный по этому направлению - уже нужный угол, а по эху и расстояние можно взять. Это "в теории". Надо пробовать. Ванна у меня есть ... :).
    https://geektimes.ru/post/257888/
     
  14. Если регули с реверсом - горизонт не вопрос.
     
  15. Конечно, просто "стартовое" железо как-будто "созвучно" плавательным задачам и "всё в одном" за вменяемые деньги. Платка маленькая (а есть ещё и АРМ-мини) и практически "готова к употреблению" - ЮСБ для загрузок и настроек. Контроллер шины данных, кучка вх-вЫх. ГирАксели ... Как макетка даже для начала. А на барахле вАще за 1000руб попадается ! Мега...
     
  16. Alex19

    Alex19 Гуру

    Видимо уже туплю, не понимаю, надо отдыхать:).
    По чему отстреливаться по лодке, а там может быть за 50 метров, к тому же драйверы кишат по всюду, другие лодки.

    Разумеется, но у поверхности самое большое волнение, там может не прокатить, хотя тут надо тестировать.

    Возможно Вы правы, но сейчас не потяну, времени не хватает, возможно во 2 версии, у меня уже есть задумки на другой Rov:D. Эх хватило бы сил и времени.

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

    У меня каждый контролер/плата защищена отдельно, нет как такового отсека для электроники. Связано с системой плавучести и габаритами самого Rov. К тому же выходы, будут выведены, только те, что нужны.
     
    Последнее редактирование: 13 июн 2016
  17. Тут системы раз-познавания "свой-чЮжой" : либо ответ на код своего радара, либо "типа радиомаяк" ультрозвуковой - а синхра (для определения расстояния) по кабелю или одновременному старту часов маяка и радара на борту перед спуском (по команде кварцу - "синхрим часы?").
     
  18. Alex19

    Alex19 Гуру

    Да, похоже только так и передатчик должен быть мощным, чтобы пробивал на хорошее расстояние.

    Нет часы не синхронизируется, просто не придавал им значения.

    UPD. Извините, уже валюсь с ног, завтра рано вставать.
    До завтра.
     
  19. в пластик без раз-ёмов и смолой залить ("...Всех в таз с цементом и в море !!" - некто Микничь)? :eek: Логично - не подумал... :oops:
     
  20. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    В случае отключения питания, включить аварийное (к примеру такое http://amperka.ru/product/battery-cr1225).
    Аварийное работает только на всплытие, с отдельной микросхемой (attiny 45 или ещё проще).