С чего начать с программирования для робототехники?

Хорошо, поэтому я некоторое время интересовался робототехникой и имел в виду проект. Создание небольшого дистанционного управления роботом-роботом/беспилотным роботом-роботом. Надеемся, что вы сможете читать данные с сенсорных устройств (gps, термометр и т.д.) И записывать данные на какое-то устройство. Идея (-а) была на backburner некоторое время, пока я просто не прочитал следующую статью .

Итак, мой вопрос в этом. С чего начать. У меня нет абсолютно никакого опыта в этом, кроме нескольких поисковых запросов Google и моей идеи проекта. Я бы хотел поиграть с программированием плат микроконтроллеров. Я знаю некоторые Java-языки и некоторые C.

Любая помощь в том, с чего начать?

Как вы создаете робота, какие шаги вы выполняете от начала до конца.

Спасибо.

30
30 июля '10 в 16:59
источник поделиться
10 ответов

Если вы заинтересованы в программировании, вы можете начать с чего-то вроде Lego MINDSTORMS. Если вас больше интересует сторона электроники, вы можете проверить некоторые из наборов на Parallax и The Robot Store.

Вы найдете сочетание языков и платформ, чтобы действительно выбрать свои любимые языки и найти что-то в своем ценовом диапазоне. Робототехника может быть очень интересной (и очень трудоемкой).

Кстати, вы можете сделать довольно классный робот с RC-автомобилем и BASIC Stamp. И если у вас есть параллельный порт на вашем компьютере, вы можете подключить свой компьютер к автомобилю RC для еще большей мощности.

12
30 июля '10 в 17:17
источник

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

Или вы можете получить стартовый комплект из VEX, который будет включать либо микроконтроллер PIC, либо Cortex, а также систему программирования, Комплект VEX подобен набору Erector с мозгами и двигателями.: -)

8
30 июля '10 в 17:18
источник

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

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

Несколько человек сделали учебники по созданию роботов с Arduino в качестве контроллера. Это один довольно круто.

5
31 июля '10 в 0:35
источник

Robocode - это симулятор робототехники, но это хорошее место для запуска Java-разработчика.

Я также могу рекомендовать книги Linux Robotics: программирование умных роботов и Robot Builder Bonanza для действительно хороших стартовых руководств по созданию и программированию роботов.

У Myke Predko также есть хорошая книга под названием Программирование контроллеров роботов.

3
30 июля '10 в 17:07
источник

Microsoft имеет Robotocs Developer Studio.

2
30 июля '10 в 17:04
источник

Учитывая, что вам нужен автомобиль с дистанционным управлением, способный передвигаться, вам, очевидно, понадобятся какие-то двигатели. Я предполагаю, что он будет дифференциальный привод локомоции, так как это самое простое в построении и очень легко контролировать.

Самый простой вариант - получить пару непрерывных хобби-сервоприводов. Они дешевы ($ 10 и выше) и просты в управлении через PWM (рабочий цикл управляет скоростью). Если вы хотите немного поднять его, вы можете получить пару двигателей постоянного тока и энкодеров. Вам понадобится дополнительная схема, чтобы управлять ими, но вы можете купить готовые.

Если вы не хотите, чтобы он был привязан, вам понадобятся батареи и какое-то радио на борту. Если вы в порядке, не делая все с нуля, Wi-Fi - это самое простое решение, на мой взгляд, поскольку вам не нужно дополнительное оборудование на компьютере, который вы используете; он имеет тенденцию ограничивать ваши "компьютер" и параметры программного обеспечения, хотя (вы хотите запустить, например, Linux на нем).

Вам понадобится MCU/board, который имеет:

  • PWM, для управления вашими сервомоторами/двигателями.
  • A/D, если у вас есть аналоговые датчики
  • Буква цифровых входов/выходов для чего-то
  • Встроенный WiFi или способ подключения вашей карты WiFi (USB, mini-PCI).
  • SPI/I2C и UART для различных периферийных устройств

Наличие сигналов USB-хоста имеет дополнительное преимущество в том, что легко подключить дешевые камеры.

Что-то вроде Roboard подходит для счета (они также продают карту Wi-Fi mini-PCI). Он обладает множеством вычислительной мощности (и, в отличие от многих простых плат, имеет FPU!), Имеет множество возможностей подключения, включая USB, и поставляется с библиотекой пользовательского пространства для управления периферийными устройствами. (Отказ от ответственности: я сам не тестировал его.)

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

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

С чего начать со стороны программного обеспечения зависит от того, что вас интересует.

2
31 июля '10 в 17:54
источник

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

http://playerstage.sourceforge.net/

Они предлагают Java Framework (отдельно от официальной поддерживаемой платформы), которая имеет собственную документацию Sun Java.

http://sourceforge.net/projects/java-player/files/

2
30 июля '10 в 17:13
источник

Я добавлю голосование для роботов LEGO только для начала, но как вы программист? Если вы хотите самостоятельно разобраться, вы можете загрузить LeJOS на "кирпич" LEGO (вы узнаете, что это означает, когда вы смотрите на него) и запускайте свои собственные Java-программы на своем компьютере, которые будут взаимодействовать/управлять LEGO робот напрямую.

Кроме того, если вы программист, вы можете посмотреть проект Open Source с высоким уровнем логики (HLL). Код еще не достиг версии 1.0, но в прототипе была демонстрация робототехники, а LEGO с LeJOS ждут в крыльях.

LEGO Mindstorms NXT Robots (leJOS) - (Динамическая графика в статье работает только на Firefox.) http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html

1
18 нояб. '10 в 14:30
источник

Если вы хотите сделать это правильно и развивать навыки, которые будут хорошо служить вам в отрасли робототехники, я рекомендую попробовать ROS. ROS, "Операционная система Robot" фактически не является операционной системой вообще (на самом деле она обычно работает на Ubuntu). Это система взаимодействия между процессами, набор инструментов для сборки и отладки и невероятно большая библиотека отличных драйверов и алгоритмов.

Чтобы начать работу без физического робота, вы можете начать с любого из нескольких имитируемых роботов в симуляторе Gazebo. Это позволит вам приступить к разработке алгоритмов и без больших затрат времени или денег. Учебники и руководства по началу работы можно найти по адресу ros.org.

Удачи!

1
21 апр. '11 в 7:41
источник

Я получил эту книгу, и это было очень полезно. Довольно дешево.

http://www.amazon.co.uk/Definitive-Guide-Building-Java-Robots/dp/1590595564/ref=sr_1_1?ie=UTF8&s=books&qid=1280498805&sr=8-1

0
30 июля '10 в 17:07
источник

Посмотрите другие вопросы по меткам или Задайте вопрос