- DIY: Робот-подводная лодка для исследования акватории Москвы-реки. Часть 1
- Как сделать доступный и простой автопилот для DIY-проектов и проплыть на нем по Москве-реке?
- Конструкция
- Программная часть управления
- SL4A Python
- Построение пути. Выбор точек
- Как сделать доступный и простой автопилот для DIY-проектов из andoid телефона и 70 строк кода?
- Подводные дроны
- #1 rex_uk
- #2 Citramon
- #3 rex_uk
- #4 rex_uk
- #5 rex_uk
- Прикрепленные изображения
- #6 Bro
- #7 БАР
- #8 Bro
- #9 БАР
- #10 Папик
- #11 Bro
- #12 will
- #13 Blazzer
- #14 Citramon
- Прикрепленные изображения
- #15 Aleksk
- #16 GVV
DIY: Робот-подводная лодка для исследования акватории Москвы-реки. Часть 1
Это краткая история создания подводного автономного робота менеджером очень среднего звена. Текущей целью является создание актуальной карты фарватера Москвы-реки. При поиске нет проблем найти такую карту, но вызывает вопрос ее актуальность. Русло реки постоянно меняется. Происходит эрозия берегов реки и меняется карта фарватера. Эти процессы особенно заметны, учитывая питание Москвы-реки снеговое (61 %), грунтовое (27 %) и дождевое (12 %). Конечной целью является создание многофункционального подводного робота для исследование морских глубин. Мировой океан, покрывающий 2/3 поверхности Земли, изучен всего на 5%. Для создания автономного робота нужен простой «автопилот».
Как сделать доступный и простой автопилот для DIY-проектов и проплыть на нем по Москве-реке?
Москва-река это главная водная артерия города Москвы, длина в пределах города 80 км. Ширина реки внутри города меняется от 120 до 200 м, от самой узкой части возле Кремля до самой широкой вблизи Лужников. Принято считать, что скорость течения реки 0,5 м/с. Вполне благоприятные условия для испытания робота.
Возможно, было бы эффективнее и проще сделать лодку, но задача сделать подводного робота кажется много интереснее.
Конструкция
Робот-подводная лодка для исследования акватории Москвы-реки.
Примерное расположение элементов я видел таким.
Установка коллекторного двигателя
Серво-привод управления рулем
Серво-привод управления рулем глубины
В шутку можно сказать что я готовлюсь к конкурсу X-Prize.
The registration deadline is 30 June, 2016 (11:59 PM UTC/4:59 PM PST). The registration fee is $2,000.00 USD.
Целью является разработка автономного подводного робота, а не ROV’а. (Remotely operated underwater vehicle).
Электронная часть не отличается сложностью и качеством сборки
Arduino nano + L293D + Bluetooth + 3 серво + Power bank (Отдельное спасибо интернет-магазину, который продавал такие по 3 цента). Отдельно подключается к Power bank смартфон Samsung Galaxy S3 для поддержания заряда. Связь смартфона с Arduino осуществляется по Bluetooth.
Программная часть управления
«Мы встречаем свою судьбу на пути, который избрали, чтобы уйти от нее»
Жан де Лафонтен
Я всегда старался избегать программирования на Android. Когда появлялась возможность разработки даже легкого приложения с возможностью в действии познакомится с Android, я пасовал.
Но час настал! Действительно, хватит тратить деньги на шильды для Arduino. Все что нужно уже есть в отслуживших смартфонах. Под рукой оказался Samsung Galaxy S3 и немного магии.
Как порядочный ГИК я задал вопрос на тостере. Возможно я спрашивал сложно. Возможно плохо сформулировал вопрос. И похоже это было скорее не на вопрос. Но в ответ я получил совсем не то, что ожидал.
Яндекс мне в бухту! Все запросы «Android GPS», «Программирование Android GPS» и прочее давали ответы, которые решительно не работали на Android Studio.
Каким же облегчением для меня стала находка SL4A. Оказывается можно прототипировать и программировать на Android, используя Python. Управляют, ведь, даже ракетами.
SL4A Python
Если у Вас есть телефон Android, а он у Вас есть. Вы же ГИК, а не любитель приторных фруктов.
Устанавливаем на выбор программу для распознавания QR-кодов.
Для использования SL4A необходимо установить на телефон приложение.
Интерпретатор языка Python находится здесь.
Или QPython3
Писать программы на телефоне возможно, но занятием увлекательным это не назовешь.
Источник: http://habrahabr.ru/post/134184/
Перенаправим весь локальный трафик, поступающий на порт 9999 в Android-устройство (примем, что сервер слушает порт 46136):
$ adb forward tcp:9999 tcp:46136
Осталось создать переменную окружения и настройка закончена:
$ AP_PORT=9999
Осталось добавить файл android.py в папку с библиотеками Python’а, и все, теперь можно писать приложения на компьютере, запускать их, и результат можно буждет видеть сразу на телефоне. Для запуска helloWorld на Android-устройстве теперь достаточно ввести в интерпретаторе Python:
>>>import android
>>>droid = android.Android()
>>>droid.makeToast(«Hello, world!»)
В первой строчке импортируется библиотека android, затем создается объект droid, с помощью которого используются API Android’a. Крайняя строка выводит сообщение «Hello, World!» на экран устройства.
Теперь самое время, чтобы познакомиться поближе с API, которое предоставляет SL4A.
Построение пути. Выбор точек
Используя Яндекс.карты или Google.maps выбираем точки по центру реки. Это примерный маршрут. Для тестов и наладки использую усеченную версию точек.
[55.671110, 37.686625],[55.668448, 37.675467],[55.660847, 37.671776],[55.654649, 37.671175]
Как сделать доступный и простой автопилот для DIY-проектов из andoid телефона и 70 строк кода?
Батарея:
droid.batteryStartMonitoring() — началo работы с батареей.
droid.batteryStopMonitoring()
droid.batteryGetHealth() — возвращает состояние батареи (1-неизвестно, 2-хорошее, 3 — перегрев, 4 — мёртвая, 5 — перегрузка, 6 — неизвестный сбой)
droid.batteryGetStatus() — возвращает статус батареи (1 — неизвестно, 2 — заряжается, 3 — разряжается, 4 — не заряжается, 5 — максимальный заряд)
droid.batteryGetTechnology()
droid.readBatteryData() — данные о батарее.
droid.batteryGetTemperature()
droid.batteryGetVoltage()
droid.batteryGetLevel()
Bluetooth:
droid.checkBluetoothState() — проверяет включён ли Bluetooth
droid.toggleBluetoothState() — включает если в скобках True и выключает, если False
droid.bluetoothAccept() — принимает соединение
droid.bluetoothActiveConnections() — проверяет, есть ли подключения
droid.bluetoothGetConnectedDeviceName()
droid.bluetoothMakeDiscoverable() — в скобках можно указать промежуток времени в секундах
droid.bluetoothStop()
Wi-Fi:
droid.checkWifiState() — проверяет включён ли Wi-Fi
droid.toggleWifiState() — включает если в скобках True и выключает, если False
droid.wifiStartScan()
droid.wifiGetScanResults()
droid.wifiGetConnectionInfo()
Другие настройки:
droid.checkAirplaneMode() — проверяет включён ли режим «В самолёте»
droid.checkRingerSilentMode() — проверяет включён ли беззвучный режим
droid.checkScreenOn() — включён ли экран
droid.toggleRingerSilentMode() — включает беззвучный режим
droid.toggleAirplaneMode()
droid.toggleVibrateMode()
Получение информации о настройках:
droid.getMaxMediaVolume()
droid.getMaxRingerVolume()
droid.getMediaVolume()
droid.getRingerVolume()
droid.getScreenBrightness()
droid.getScreenTimeout()
droid.getVibrateMode()
Установка параметров:
droid.setMediaVolume()
droid.setRingerVolume()
droid.setScreenBrightness()
droid.setScreenTimeOut()
В планах:
- Настройка отправки данных по Bluetooth на arduino.
- Получение с arduino данных о глубине. Глубину буду измерять ультразвуковым датчиком.
- Отправка данных о текущем положении и измерений глубины на сервер.
- Доработка конструкции. Лодка должна быть с нулевой плавучестью, чтобы глубину можно было изменять рулями глубины. Возможно от конструкции подводной лодки придется уйти к надводному аппарату.
- Тест, тест, тест
P.S.: Почему я решил написать пост до запуска робота? Я хочу найти единомышленников. Если у Вас есть желание — делайте своего робота. Отличный повод собраться на майских праздниках на аквапробег по Москве-реке на роботах! По всем вопросам можете писать мне ВК. Просьба сделать репост, может быть кто-то из Ваших друзей захочет принять участие в аквамарафоне.
Напоминаю:
Конкурс роботов-газонокосилок пройдет в Сколково 3 июня. Все желающие могут попробовать себя в робототехнике. По итогам конкурса мы хотим отобрать команду для стартапа. Мы будем делать первый российский коммерческий робот-мульчатор. Ценные призы и подарки для всех участников.
Источник
Подводные дроны
#1 rex_uk
- Из: London
- Судно: RS K6
кто-нибудь делает или пытается делать ROV?Или есть интересующиеся?
#2 Citramon
- Из: Москва
- Судно: к-н «Простор»
Дык вроде полно сейчас такого, степент наворотов разная, есть просто буксируемые.
#3 rex_uk
- Из: London
- Судно: RS K6
не,меня просто интересуют слегка,думаю народу тоже будет интересно поговорить и обсудить.У нас их делают из куска пвх трубы большого диаметра.Проектов много,материал дешовый, а штука интересная занять себя зимними вечерами.
#4 rex_uk
- Из: London
- Судно: RS K6
Вот система управления и движения на основе Arduino
#5 rex_uk
- Из: London
- Судно: RS K6
все самодельные подводные дроны (ROV) делаются в основном на базе каркаса из пвх труб http://hacknmod.com/. onboard-camera/
Прикрепленные изображения
Сообщение отредактировал rex_uk: 18 января 2016 — 06:22
#6 Bro
- Из: Самара
- Судно: пико
- Название: лентяйчик
кто-нибудь делает или пытается делать ROV? Или есть интересующиеся?
Уже есть. вот только не понятно для каких задач это все?
. исследование бассейна на приусадебном участке? На большее пока не очень.
#7 БАР
- Из: СПб
- Судно: СТ-31э
- Название: Авось
У нас сотрудники такой лет десять назад построили для себя. Сейчас в Кронштадте подрабатывают, обследуя подводную часть судов и винты с рулями.
А студенты вот такой делают.
#8 Bro
- Из: Самара
- Судно: пико
- Название: лентяйчик
У нас сотрудники такой лет десять назад построили для себя. Сейчас в Кронштадте подрабатывают, обследуя подводную часть судов и винты с рулями.
А студенты вот такой делают.
Ну. это же профессилналы.
#9 БАР
- Из: СПб
- Судно: СТ-31э
- Название: Авось
это же профессилналы.
Будущие.
Но специальность у них — робототехника.
#10 Папик
- Из: Можайск
и ладно еще где вода морская — прозрачная и видно..
а у нас то в пресных болотах видимость — не зги.
#11 Bro
- Из: Самара
- Судно: пико
- Название: лентяйчик
и ладно еще где вода морская — прозрачная и видно..
а у нас то в пресных болотах видимость — не зги.
И это тоже. хотя чертовски увлекательно. и бессмысленно.
Вот есть у меня самолетик РУ, взял — полетал, получил удовольствие. поставил камерку, получил смазанную нечеткую фотку — тоже удовольствие в определенном смысле. разбогател, прикупил FPV — удовольствия ещё больше — многофункциональная игрушка. а тут? Ну нырнуло оно в мутную жижу — визуального контакта никакого, контроля тоже. ну сфоткало чего-то там непоймешь чего. и все? Маловато для игрушки.
А для специальных задач типа осмотреть винты, днище, состояние находящихся под водой устройств наверное самое то. но с этим уже к специалистам, любительщиной тут и не пахнет. Опять же повышение профессионального уровня студентов-робототехников — милое дело.
Классифицирую как игрушку для специалистов, но сложную и дорогую. Сложности вижу в организации связи — кабель за собой таскать не комильфо, если хочешь глубже 10 м играться, то прочность корпуса нужно не игрушечную, энергетика опять же. все что я видел имело положительную плавучесть и динамические средства обеспечения погружения. Это конечно правильно — сломалось что, так хоть всплывет. Но кушает электричества наверное немеряно, в лучшем случае на полчасика «исследований» хватит.
Радует то, что появились уже «бытовые» составляющие этого устройства, делающие его дешевле. Корпус из ПВХ труб, камеры типа «видеорегистратор с ночным режимом», электромоторчики и аккумуляторы модельные.
Вот такие вот сумбурные мысли.
#12 will
- Из: К-н-А
- Судно: \
- Название: /
Интерес тут представляет только подводная навигация и обмен информацией с берегом. Остальное — просто исполнительные устройства, это сейчас действительно доступно любому моделисту.
#13 Blazzer
- Из: Odessa
- Судно: Oceanis 37
- Название: Ranger
А еще это очень дорогое удовольствие,если хоть мало мальски практичную штуку строить, а не игрушку на для бассеина.Собствено по это причине свой прект пока забросил.Будем ждать когда китайцы подянут технологии.
#14 Citramon
- Из: Москва
- Судно: к-н «Простор»
Ну, с коллегой Папиком то понятно, у него Солнце сплошное тёмное пятно, а остальные куда, какая вам прозрачность нужна? И потом, если вода прозрачная то и сверху всё видно, а такие дроны нужны как раз при ограниченной видимости.
Прикрепленные изображения
Сообщение отредактировал Citramon: 25 января 2016 — 12:38
#15 Aleksk
- Из: Ленинград
- Судно: ⛵
- Название: Неспешный
Я такой дрын исчо в первом классе сделал. Главное чтобы ветер к берегу дул, и не перекручивать мотор (а то резинка лопнет).
Такую тоже хотел сделать, но реактивов не нашёл.
Сообщение отредактировал Aleksk: 25 января 2016 — 13:06
#16 GVV
Рулевой 2-го класса
- Из: Москва
Полиция Нидерландов собирается отлавливать подозрительные беспилотные летательные аппараты при помощи орлов. Об этом пишет CNBC, публикуя видеоролик, в котором демонстрируются тренировки пернатых полицейских.
может и акул потренировать ?
Сообщение отредактировал GVV: 04 февраля 2016 — 20:54
Источник