понедельник, 17 января 2011 г.

NXT-G: блоки для вычисления тригонометрических функций

Сталкивались ли вы с задачами при программировании Lego-робота, где необходимо было использовать тригонометрические функции?
Самый простой пример - это создание радара, робот должен отобразить на экране предметы найденные при вращении сенсора расстояния.
Более продвинутый пример - позиционирование робота, вычисление расположения робота в пространстве (1, 2).

Реализация таких алгоритмов в среде NXT-G существенно затруднена отсутствием как операций с нецелыми числами (NXT-G 1.0), так и отсутствием блоков, ответственных за расчет простейших функций (NXT-G 1.0 и NXT-G 2.0).

Компания HiTechnic, специализирующуяся на выпуске продвинутых сенсоров для Lego Mindstorms наборов, разработала и выложила в открытый доступ расширения для NXT-G среды, позволяющие использовать тригонометрию в NXT-G программах. Причем поддерживаются обе версии NXT - для целочисленных вычислений в NXT-G 1.0 и для нецелых чисел в NXT-G 2.0.
HiTechnic Integer Sin/Cos блок для вычисления значений синуса и косинуса для угла, заданного в градусах. Для достижения целочисленности значение маштабируется до 100, т.е. блок возвращает значения от -100 до 100. Работает cо всеми версиями NXT-G. Скачать
HiTechnic Sin/Cos блок для вычисления значений синуса и косинуса для угла, заданного как в градусах, так и в радианах. Возвращает результат в виде нецелого числа. Только для NXT-G 2.0. Скачать
HiTechnic Integer ATan2 блок для нахождения угла в градусах для заданных координат X и Y. Работает cо всеми версиями NXT-G. Скачать
HiTechnic ATan2 блок для нахождения угла в градусах (или радианах) для заданных координат X и Y. Только для NXT-G 2.0. Скачать

Для того, чтобы установить блоки на NXT-G 1.0, предварительно потребуется установить Dynamic Block Update.
Для NXT-G 2.0 (для NXT-G 1.0 не проверялось, но должно работать) инструкции по установке блоков следующие:
  1. Создайте папку (например, на рабочем столе), скажем с названием "NXT-G Blocks".
  2. Скачайте архивы с нужными блоками.
  3. Каждый из файлов, который вы скачали распакуйте в созданную папку "NXT-G Blocks".
  4. В программе LEGO Mindstorms NXT выберите пункт "Block Import/Export Wizard" в меню "Tools".
  5. После нажатия "Browse" найдите и выберите папку "NXT-G Blocks".
  6. В списке выберите блок, который вы хотите добавит в программу.
  7. Нажмите "Import"
Удачных изобретений!

1 комментарий:

Related Posts Plugin for WordPress, Blogger...