Создание крошечного робота с помощью удаленного мозга

8

Я хотел бы построить робота как можно меньшего размера и с как можно меньшим количеством «деликатных» частей (боты будут врезаться друг в друга).

Мне было интересно, можно ли использовать маленький чип, который мог бы получать команды bluetooth / IR / wifi для перемещения двигателей, и, в свою очередь, отправлять обратную связь на основе датчиков, таких как акселерометр (для обнаружения удара).

Я, вероятно, могу достичь чего-то подобного с PiCy

Порядок проживания

однако это немного больше, чем я хотел бы (из-за размера Пи), и я не уверен, как долго Пи будет длиться непрерывными ударами.

Поэтому я хотел бы попытаться сместить мозг (Pi) в сторону арены и просто использовать небольшую микросхему для получения команд перемещения и отправки данных с акселерометра.

Есть ли у вас рекомендации по такому чипу? Wi-Fi будет моим выбором, но если это повлияет на размер, я мог бы попробовать BT

Редактировать: После дальнейших исследований кажется, что Arduino nano со щитом WiFi RedBack может выполнить эту работу вместе с чем-то вроде этого для двигателей: http://www.gravitech.us/2mwfecoadfor.html

Титан
источник

Ответы:

2

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

Разгрузка обработки на удаленную (и, вероятно, более мощную) систему даст вам несколько преимуществ, таких как те, которые вы отметили, - меньший вес, меньше поломок, меньше батареи, необходимой для перемещения.

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

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

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

Существует два подхода к созданию роботов, которые вы описываете.

Во-первых, как вы предлагаете, это отделить вычислительную мощность от остальной части робота, который содержит датчики и исполнительные механизмы. Для этого вам понадобится связь между процессором (ПК / RPi / другой микроконтроллер) и вашим роботом. Недорогое решение для этого - использовать дешевые модули Bluetooth (ищите ebay для «Последовательный модуль Bluetooth», они не должны стоить больше 5 долларов). Со стороны робота вам также понадобится микроконтроллер, поскольку вам нужно получать данные от Bluetooth, обрабатывать их и преобразовывать в управляющие сигналы для двигателей. Кроме того, тот же микроконтроллер будет отвечать за считывание датчиков и передачу данных обратно на удаленный блок обработки.

Второй подход состоит в том, чтобы иметь один процессор, который расположен на роботе. Тот же контроллер будет считывать датчики, обеспечивать интеллект и управлять двигателями. Поскольку робот, которого вы описываете просто, этот контроллер может быть реализован на простом микроконтроллере. Вы можете создать свой собственный контроллер (используя PIC / AVR / ARM) или использовать готовое решение, такое как Arduino, BasicStamp и т. Д. При желании вы можете иметь Bluetooth-соединение с ПК для телеметрии (отслеживания значений датчиков и / или ручного управления робот).

Для вашего проекта второй подход кажется более привлекательным. Это будет стоить намного дешевле, и роботы будут реагировать быстрее, поскольку обработка выполняется непосредственно на роботе. Кроме того, так как первый подход требует обработки на роботе, также кажется чрезмерным использование второго блока для обработки. С другой стороны, первый подход позволяет вам разработать свой контроллер робота в системе более высокого уровня (PC / RPi), которая, в зависимости от вашего опыта, может быть более комфортной средой.

Димитрис
источник
Ваша главная причина не ставить большой контроллер на робота состояла в том, чтобы избежать повреждения после ударов. Если бы я использовал подход с удаленным контроллером, мне понадобился бы только один главный контроллер для нескольких роботов (идентифицируйте команды / обратную связь с уникальным идентификатором для каждого). Возможно, мне удастся реализовать решение «мозг на бот» с помощью Adriuno nano, который выглядит достаточно маленьким со щитом Wifi (для отправки и получения socketio comms для управления и обратной связи с удаленным сервером).
Титан
Что вы предлагаете именно? Иметь arduino nano с WiFi на роботе и дополнительным удаленным процессором? Какой блок будет выполнять контрольные расчеты?
Димитрис
Ну, я все еще не уверен, ха-ха. Нано может сделать все это, я думаю!
Титан
Да, для вашего проекта единый встроенный процессор кажется лучшим выбором! Как я уже упоминал в ответе, если вам нужно что-то связать с роботом, вы можете сделать это через дешевые модули Bluetooth. В качестве альтернативы вы можете использовать (даже дешевле!) Модули nrf24l01 +, если вам нужно установить сеть, поскольку у вас есть несколько роботов.
Димитрис
0

Я думаю, что я нашел идеальный контроллер для этого проекта:

http://www.robotshop.com/en/dagu-micro-magician-robot-controller.html

Micro Magician позволит мне управлять двумя простыми двигателями постоянного тока, определять удары и сбои с помощью акселерометра и получать команды движения от ИК-приемника! Довольно круто для размера.

Единственный кусочек головоломки - отправка данных на пульт дистанционного управления (данные акселерометра). Я не уверен, смогу ли я подключить ИК-передатчик или, может быть, BT / Wifi?

Изменить: похоже, что это может сделать работу! http://www.dawnrobotics.co.uk/dagu-arduino-bluetooth-module/

Теперь, чтобы найти маленькие моторы ...

Титан
источник
1
Synapse RF266PC1 - интересные устройства. Они маленькие, простые в программировании и основанные на Python. АЦП на них не очень хороши, но в сочетании с ATmega328 (чип, используемый в Arduino UNO), вы можете получить достаточную вычислительную мощность для отправки данных туда и обратно. Я также использовал Wixels, но их расстояние rx / tx оставляет желать лучшего. Эти RF266PC1 могут создавать сетевые сети из коробки, Wixels не может этого сделать вообще.
Даниэль Ф