| Не секрет, что юные робототехники страны (и их педагоги) готовятся к традиционным весенним соревнованиям. Зная это, компания SmartBricks желает им помочь. |
Встречайте, инфракрасный датчик расстояния:
| Не секрет, что юные робототехники страны (и их педагоги) готовятся к традиционным весенним соревнованиям. Зная это, компания SmartBricks желает им помочь. |
| Компания Dexter Industries не остановилась на достигнутом и выложила в интернет инструкцию по подключению аналоговых датчиков (пока только датчик касания) к Raspberry PI плате. Принцип работы с аналоговыми датчиками отличается от I2C датчиков, поэтому другие выходы используются на плате - GPIO7. |
| Когда только появилась информация о том, что в новом Mindstorms EV3 стоит Linux, почему-то в голове возникла мысль о Raspberry PI - небольшом одноплатном компьютере, к которому можно подключить множество стандартных устройств вроде клавиатуры, монитора и т.п., - потому что на нем тоже крутиться эта же операционная система. Ведь по сути блок EV3 лишь по некоторым параметрам проигрывает Raspberry PI, да еще обладает встроенной возможностью подключения моторов и датчиков. |
| Тому, что на блоге не было давно статей с детальным обзором датчиков SmartBricks, есть одно объяснение - предыдущие обзоры рассматривали аналоговые датчики, которые по поведению ничем ни отличались от уже существующих LEGO датчиков, поэтому и при их программировании в тестах применялись те же самые средства, что и для обычных датчиков. |
| Предыдущие статьи по программированию NXT роботов на языке Python можно считать вводными - они вкратце знакомили с базовыми API, применив которые можно было уже написать простые программы. |
run() - такое, к примеру, возможно при движении тележки вдоль черной линии по PID регулятору, то соответствующий мотор может вообще не начать вращаться. Причем, при этом сам мотор может выдавать высокочастотный писк.| Не смотря на то, что на блоге было опубликовано уже много статей посвященных программированию LEGO роботов на языке Python,еще не было заметки, которая бы помогала настроить среду программирования на операционной системе Windows (хотя под Linux уже было одна). |
cmd.| OpenCV (Open Source Computer Vision Library) - библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения. Она обладает большим потенциалом, который позволяет применять ее в робототехнических нуждах, так что роботы могут, подобно человеку, взаимодействовать с предметами окружающего мира - выделять и распознавать их, реагировать соответствующим образом. |
| В предыдущей заметке уже упоминалось о том, что модуль nxt-python для языка программирования Python уже имеет встроенную поддержку инструмента по управлению моторами MotorControl. |
MotorControl22.rxe (22 - это версия модуля - 2.2), который можно загрузить на NXT блок с помощью поставляющегося в архиве скрипта nxt_push или программы NeXTTool, доступной для загрузке на сайте BricxCC. Тут же есть и исходный код, который можно собрать исполняемый файл с помощью компилятора NXC непосредственно или с помощью среды BricxCCMotCont, реализованного в под-модуле nxt.motcont, обеспечивающих обмен сообщениями по USB/Bluetooth с управляющей программой MotorControl. Примечательным фактом является, что никакого специального объекта этого класса создавать не надо. Он автоматически создается в результате инициализации объекта Brick, т.е., например, доступен сразу после того, как объект Brick вернется функцией find_one_brick(). К объекту класса MotCont в этом случае можно обращаться через имя mc (см. пример ниже).| Raspberry Pi - одноплатный компьютер, размером с кредитную карточку и стоимостью 25$. Несмотря на свой маленький размер, он обладает достаточно серьезными вычислительными ресурсами и поддерживает множество периферийного аппаратного обеспечения, благодаря наличию стандартных разъемов (USB, Ethernet и HDMI) и поддержке стандартных протоколов. |
| Базовые способы работы с моторами в Python были рассмотрены в прошлой заметке - теперь настало время осветить, какие API (applications programming interface) доступны для работы со стандартными LEGO NXT датчиками. |
nxt.sensor, который предоставляет классы по работе с датчиками. Для этого в Python Shell запросим справку по модулю:import nxt.sensor help(nxt.sensor)Небольшая информационная страничка расскажет, что данный модуль предоставляет доступ к следующим под-модулям:
| Эта заметка была написана в продолжение прошлой записи, посвященной производительности NXT блока. Поскольку в той заметке рассматривался аспект производительности самого блока, то, конечно, хотелось получить также данные, показывающие как производительность зависит от типа датчика, ответственного в тот или иной момент за основную работу робота. |
| Традиционно изучение программирования Lego-роботов начинается с простых экспериментов с движением - именно эта функция в роботах используется чаще всего. |
$ python Python 2.7.2 (default, Oct 27 2011, 01:36:46) [GCC 4.6.1 20111003 (Red Hat 4.6.1-10)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import nxt.motor >>> help(nxt.motor)Итак, что можно почерпнуть из этих источников?
| Любая Python-программа, которая будет взаимодействовать с Lego-роботом, прежде чем выполнять на нем какие-либо действия, должна подключиться к NXT блоку. |
locator из модуля nxt.| С точки зрения простоты обучения языки программирования можно разделить на две группы: |
print "Hello, Robot!"
![]() | Неделю назад, 27 мая в Нижнем Новгороде проходил Linux Install Fest, проводимый активистами Нижегородской группой пользователей Linux. Цель мероприятия - ознакомить участников фестиваля с последними новинками среди Свободного Программного Обеспечения (СПО), в том числе с последними дистрибутивами ОС Linux. |