Проект системы для автономного транспортного средства (лодки) с приводом от питона

Совсем недавно я начал проект (с несколькими друзьями), в котором я буду строить автономную лодку. На высоком уровне он будет питаться от солнечной энергии с относительно простым пропеллером с приводом от двигателя, а также некоторыми бортовыми датчиками и тому подобным. Он будет ориентироваться по GPS в том смысле, что навигационные координаты будут загружены в лодку, и она затем «пойдет туда» (я не буду заниматься поиском пути).

Мой опыт связан с информатикой, и я более или менее просто «вникаю» в аппаратный аспект вещей. Мой основной вопрос касается дизайна / компоновки системы управления самой лодкой.

На первом этапе я намереваюсь иметь основной бортовой компьютер (возможно, Raspberry Pi), который взаимодействует с несколькими встроенными микроконтроллерами (возможно, Arduinos). Микроконтроллеры будут сообщать данные датчиков обратно на главный компьютер, который будет принимать решения и выдавать инструкции контроллерам для управления физическими операциями (например, остановить двигатель, повернуть камеру, активировать самоуничтожение).

Разумна ли эта общая парадигма? или это в корне ошибочно, о чем я еще не подумал?

Если кому-то нужна дополнительная информация, просто дайте мне знать, я не хотел слишком много разглагольствовать. Заранее спасибо!

Я не думаю, что вы можете питать двигатели, датчики, модуль GPS, платы Raspberry Pi и Arduino только от солнечных панелей, если только эти панели не очень большие и сверхэффективные (= чрезвычайно дорогие). Вам обязательно нужны аккумуляторы. Вы можете использовать солнечные панели для подзарядки аккумуляторов.
Эй, да, я не вдавался во все подробности. Там будет банк аккумуляторов. Корпус довольно большой, с плоской крышей (около 1,5 х 0,6 м), поэтому места достаточно для размещения солнечных батарей, способных генерировать 50 (?) Вт энергии в дневное время (на основе предварительных предварительных проверок).
Ради энергопотребления стоит попробовать использовать только одну плату на базе микроконтроллера, которая бы взаимодействовала со всеми датчиками и исполнительными механизмами. "Активировать самоуничтожение" Это корабль Джеймса Бонда? :-)
Я обязательно постараюсь минимизировать количество используемых микроконтроллеров, хотя с такими решениями придется подождать, пока не будет выбран набор устройств. Что касается самоуничтожения... Я мог бы сказать тебе, но тогда...
Было бы полезно узнать немного больше о функциях лодки, то есть о том, насколько она сложна. Это поможет решить, нужен ли вам, например, один маленький 8-битный микроконтроллер или R-Pi и вспомогательные микроконтроллеры.
@OliGlaser Мы все еще дорабатываем спецификацию. Общий обзор возможной функциональности будет следующим: солнечная подзарядка аккумуляторной батареи (источник питания), бортовые датчики погоды (станция), двигатель с винтовым приводом, бортовой GPS для автоматической навигации и синхронизации времени, бортовая камера для «отчетности». ", а также запускать некоторое программное обеспечение CV (компьютерное зрение). Текущее намерение состоит в том, чтобы операционная программа была на python на бортовом компьютере (при необходимости взаимодействовала с контроллерами). Серьезно рассматриваю 2 гребных винта для дифференциального управления, а не руля направления (боязнь легкого поломки).

Ответы (1)

Вы разрабатываете мобильного робота. Забудьте об Азимове, настоящие три закона мобильной робототехники таковы:

  1. В ней все время что-то идет не так.
  2. На пути стоит батарея.
  3. Он сломался.

Что бы вы ни делали, помните об этих фундаментальных истинах.

  1. Всё время будет идти не так. Это особенно верно для робота, находящегося в море или даже посреди озера. Каждый технический компонент в роботе может выйти из строя, и чем больше у вас их есть, тем чаще что-то пойдет не так. Даже если вы сделаете их все на 99% надежными и у вас будет 70 вещей, то у вас есть 50% шанс, что одна из них выйдет из строя. «Ага», скажете вы, тогда я добавлю систему безопасности, которая определяет, когда что-то идет не так, и, скажем, останавливает мотор. Что ж, теперь у вас есть еще одна вещь, которая может пойти не так, и вы дали ей возможность остановить двигатель. Урок на вынос состоит в том, чтобы максимально сократить количество компонентов в роботе. Вы упомянули «несколько встроенных микроконтроллеров». Почему, насколько велика эта лодка ? Может быть, вы можете обойтись только одним?

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

  3. Он сломался. У тебя опыт работы в области компьютерных наук, что-то не получится. Если вы не выберете очень хорошие разъемы и не соберете их самостоятельно, они не выйдут из строя. Вероятно, паяные соединения не сработают, если вы сделаете все это самостоятельно. Лодка протечет, и взорвется электроника. Когда вы собираете лодку, вы должны представить, что у вас есть горький 20-летний опыт поломки роботов, когда они почти недоступны (у меня был). Каждый кусок, который вы делаете, представьте, как он может пойти не так. Что мешает разъемам просто отсоединиться? Что мешает воде попасть в электронику? Ты их запечатал? Что мешает им перегреться сейчас? Принимали ли вы меры предосторожности от электростатического разряда? Если нет, то вы, вероятно, наполовину взорвали штифт на чипе, который начнет показывать неисправности только тогда, когда лодка находится в 100 милях от суши.

+1 - так это должно быть пустяком? ;-)
"что-то не получится" Ты говоришь прямо как Мерфи. Мне это нравится.
@m.Alin - Просто говорю правду.
Какое отрезвляющее изложение принципов... теперь о дизайне! :)...
@csjohn - Удачи тебе. Кстати, вы будете вести блог о прогрессе робота? Я всегда хотел сделать роботизированную лодку (может быть, даже ту, которая сможет совершить кругосветное плавание), поэтому я хотел бы увидеть, как она будет запущена.
@Rocketmagnet - Да, как только мы начнем, я постараюсь запустить какой-нибудь проектный блог :).