Pololu 3pi Robot – хороший старт


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

Но изучив рынок готовых модулей, стало понятно, что самой доступной, популярной и понятной платформой для практики в программировании это Arduino. Но роботы на этой платформе меня не очень интересовали, т.к. я уже имел опыт работы с подобными. Lego Mindstorm тоже не вдохновлял на эксперименты, так как из него уже вырос. Немного поспрашивав своих друзей-робототехников, узнал об Pololu 3pi, который подходил под некоторые мои задачи. Удовольствие обошлось в 3 500 рублей, с одной стороны дороговато, с другой попробуй найди лучше по цене и качеству.
По виду совсем небольшой, и компактный робот. Размеры примерно 10x10x1,5 см (длина, ширина, высота). Такой и на ладони уместится. Но как и положено «нормальным» роботам, к нему, прилагались: пара бумажек по эксплуатации, перемычки, светодиоды и прочее. Но лучше показать.

К сожалению, к этому роботу не поставляется программатор. Его надо приобретать отдельно. Если говорить о модели программатора, то здесь два очевидных пути:
1. Есть программатор специально для 3pi, это Pololu USB AVR Programmer.
2. Либо программатор Orangutan USB Programmer, который предназначен как для 3pi, так и для робота Orangutan
Вообще оба программатора подойдут для прошивки 3pi. Можно конечно попробовать и второй вариант, вдруг, если вы захотите купить робота Orangutan. Тут будет играть роль универсальность. Также перед покупкой, советую запастись 4 аккумуляторами типа АА, т.к. такое добро производители не включили в поставку.
Теперь можно обратиться и к аппаратным характеристикам самого робота. Начнем с самого животрепещущего, с микроконтроллера! На борту имеем микроконтроллер фирмы Atmel ATMega328. Здесь, если внимательно вглядеться в даташит (http://www.atmel.com/devices/atmega328.aspx?tab=documents), то можно увидеть, что к платформе, оборудованной таким микроконтроллером, можно много чего подключить при необходимости (если взяться за паяльник и впаять штырьки для разъемов (о способах расширения см. далее)). Такой процессор работает на частотах до 20Mhz, имеет 32Кб Flash памяти и 2 Kб RAM. Вполне достаточно, чтобы заставить робота выполнять такие задачи как езда по линии, выход из лабиринта и вообще стать неплохим выбором для соревнований по робототехнике.
Подвижная часть 3pi состоит из двух моторчиков, двух шасси и одной пассивной шаровой опоры, свободно вращающейся в 2-х направлениях. Правда для преодолений препятствий, вроде горки, их не хватит, но для быстрого маневрирования очень даже подойдет.

Посмотрим, как робот видит этот мир. Помогают ему в этом ИК-датчики, расположенные на нижней стороне робота. Далее, на картинке, красным обозначены те самые ИК-датчики QTR-RC, которые помогают роботу реагировать на черную или белую поверхность, следовательно, может следовать маршруту по заданным условиям (следование по линии).
Таким образом, как уже выяснилось ранее, базовое назначение 3pi — это «следование по линии». Но датчики можно использовать и для других задач. Если прочитать руководство пользователя, то можно узнать, что с официального сайта можно закачать целую библиотеку с различными программами. Да и начальная прошивка присутствует в наборе примеров, а также в роботе тоже есть тестовая программка. В ней предлагается разобраться с алгоритмами управления, например, в алгоритмах прохождения лабиринтов и т.д. Но если немного вникнуть в проблему оснащения вашего «железного» друга дополнительными датчиками, то поле для фантазии существенно расширяется. А если совсем стало тесно на стандартной плате, то можно приобрести плату расширения для дополнительной периферии в качестве второго яруса.
Поговорим о прошивке робота. Для людей, у которых это первый робот первый, советую перед прошивкой ознакомиться:
1. С руководством, т.к. там знающие люди предупреждают, что аккумуляторы надо полностью зарядить перед использованием, иначе может произойти непоправимое (робот сгорит как в конце фильма «Терминатор 2»), либо просто выключится в момент прошивки, что также неприятно. Также там говорится о мерах избавления от статического электричества. Это самый первый и важный шаг в «общении» с роботом.
2. А пока заряжаются аккумуляторы, надо бы установить среду разработки и компилятор. В этом случае нам понадобятся следующие программы (что касается Windows):
a. Среда разработки AVR Studio, которую также можно загрузить с сайта http://www.atmel.com/tools/AVRSTUDIO4.aspx
b. Компилятор WinAVR http://winavr.sourceforge.net/
c. Библиотеку 3pi
http://www.pololu.com/docs/0J20/3.a
Для Linux все сложнее, но если сильно захотеть, то можно почитать руководство по этой теме. Как раз это будет очень полезным опытом, а что немаловажно, поводом, чтобы изучить английский язык, который является универсальным и необходимым инструментом при знакомстве с другими руководствами на английском. Ведь таких большинство. (http://www.pololu.com/docs/0J20/4.c). На русском языке инструкцию можно посмотреть тут http://www.electronshik.ru/card/robot-pololu-3pi-robot-110438?utm_source=Robocraft&utm_medium=banner&utm_term=pololu&utm_campaign=robocraft-pololu


0 комментариев на «“Pololu 3pi Robot – хороший старт”»

  1. Хороший обзор.

    имеет 32Кб Flash памяти и 2 Kб RAM

    По моему 32Кб это довольно много. Я зимой делал часы на AtMega16, с 16Кб. Реализовал вывод цифр на крупные сегментные индюкаторы, меню с десятками пунктов, вывод времени восхода и захода солнца, три отдельных будильника в разовом, ежедневном режиме, или по календарю, собственно календарь и температуру на знакосинтезирующий дисплей; еще на звонке Deep Purple. И все это заняло около 70% памяти.

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение