ДО курс по робототехнике

Показаны сообщения с ярлыком сенсоры/датчики. Показать все сообщения
Показаны сообщения с ярлыком сенсоры/датчики. Показать все сообщения

5 апреля 2013 г.

Скорость опроса сенсоров

(C)
Эта заметка была написана в продолжение прошлой записи, посвященной производительности NXT блока. Поскольку в той заметке рассматривался аспект производительности самого блока, то, конечно, хотелось получить также данные, показывающие как производительность зависит от типа датчика, ответственного в тот или иной момент за основную работу робота.
Иными словами хотелось бы получить число, как часто мы можем опрашивать тот или иной датчик, поскольку от этого будет зависеть насколько быстро робот сможет реагировать на изменение в окружающей среде.

4 апреля 2013 г.

Накопление данных с сенсоров, как средство отладки

В ходе отладки программ для Lego роботов, особенно когда идет интенсивная работа с сенсорами, возникает ситуация когда сенсор вопреки ожиданиям не срабатывает на какое-то значение. В таком случае используется обычно подход "попробуй и измени" (try and fix): сначала выставляется одно значение, если оно не работает, то выставляется другое и так может продолжаться очень долго.
Помимо временных затрат, данный метод не дает понимания почему одни значения не работают, а другие начинают работать.

3 апреля 2013 г.

Справочник по сервомоторам Lego

Все ли из вас были довольны стандартными моторами, поставляемыми с RCX или NXT? Не хотелось бы подсоединить другие приводы для приведения в движение вашего механизма?
Philippe Hurbain провел серьезное исследование всевозможных Lego моторов, оценивая такие их показатели как вес, скорость вращения, потребляемый ток и мощность привода при различной нагрузке.

Результаты исследования: сравнительные таблицы и графики он опубликовал на своем сайте.

Совместно с Учебником по шестереночным передачам этот материал становится довольно неплохими "настольными" пособиями для Lego-изобретателей.

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



Сканер изображений из Lego Mindstorms NXT



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

Распознаем цвета с помощью сенсора освещенности

Хотя сенсор из Lego Mindstorms NXT (v1.0) и называется сенсором освещенности, на самом деле с помощью него можно распознавать и цвета. О том какие показания он выдает в случае цветной поверхности уже было упомянуто в одной изпредыдущих статей.
В том случае, рассматриваемый пример был очень простой. На самом деле, во время работы с сенсором освещенности для распознавания цветов, наверняка, найдутся непонятные с первого раза нюансы.

Алгоритмы: движение вдоль стены

Не правда ли программа, заданная в качестве задачки на понимание NXT-G вэтом посте, похожа на программы, поясняющие движение вдоль линии, в этом?


Алгоритмы: черно-белое движение

Сенсор освещенности (или цветовой сенсор) из набора Lego Mindstorms NXT, один из наиболее используемых сенсоров при конструировании и программировании Lego-роботов.

Робот для состязаний: колесная база робота

Очевидно, что данных сообщений на данную тематику будет несколько, так что это только начало.

Широкая или узкая колесная база?

В зависимости от задания, необходимо определиться, какая колесная база будет лучше подходить для его выполнения:

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

NXT-G: Ramp Up and Ramp Down в блоке Motor

Навеяно вот этим старым сообщением.


Довольно многие, кто узнают о существовании блока Motor, почти сразу задают вопрос - а зачем он нужен? Ведь есть блок Move - он может все то же самое?
Правильно было бо сказать почти все.

Тонкости и уловки при работе с NXT-G

Известно, что среда NXT-G довольно тяжелая и неповоротливая. На медленных компьютерах работа с ней превращается в мучение. С этим ничего нельзя поделать. Но существует несколько советов, которые позволят избежать многих досадных неприятностей при работе с данной программой. Довольно большая коллекция таких советов была собрана командой teamhassenplug.org, за что им отдельное спасибо.
Здесь предлагается перевод данных советов, с примечаниями и дополнениями.

Особенности работы с сенсором освещенности в View режиме

Одна из действительно полезных вещей на NXT блоке - режим View. Он позволяет вам видеть, то что робот видит. Вы можете видеть на сколько градусов робот должен повернуть свой мотор, видеть, что именно определяет сенсор освещеноости, или видеть расстояния, вычисляемое ультразвуковым сенсором. Это все позволяет вам избежать многих ошибок и существенно сократить количество итераций запуска робота в ходе его программирования.

Но при получении данных c сенсора освещенности в режиме View есть одна особенность.

Когда вы используете этот режим, чтобы видеть показания сенсора освещенности, чаще всего его показания будут в диапазоне 30-35 для черного цвета и 60-65 для белого. Это неоткалиброванные значения. Если вы калибруете сенсор (а вы должны это делать), эти значения не изменяются, поскольку режим View показывает только неоткалиброванные значения. Для того, чтобы видеть откалиброванные показания, вам нужно самим написать небольшую программу, отображающую значения светового сенсора. Или же воспользоваться уже чужой готовой.

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

NXT-G: опрос сенсора расстояния (UltraSonic)

В стандартной поставке Lego Mindstorms NXT есть четыре сенсора:
* касания (Touch)
* звука (Sound)
* световой (Ligth)
* расстояния (Ultrasonic)

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

С сенсором расстояния дела обстоят немного сложнее. По своему физическому устройству его можно представить как передатчик и приемник: передатчик испускает волну в ультразвуковом диапазоне, волна отраженная от удаленной поверхности улавливается приемником.