Serge Bobrovsky (sbobrovsky) wrote,
Serge Bobrovsky
sbobrovsky

Роботы идут

Первые впечатления от lego mindstorms nxt 2.0.
Две составляющие: конструирование и программирование подразумевают различные стили мышления. Исходно между ними никакого "ментального" интерфейса нету. Можно отлично конструировать и не уметь составить простейшую программу, и наоборот.
Изучать имеет смысл два направления: а) роботы со сложным поведением (например, шагающие, различные манипуляторы, балансировка, двухколесное движение), и б) роботы-интеллектуалы, где действие вторично (кубик Рубика, поиск пути в лабиринте, взаимодействие с внешним смартфоном, ...).

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



минутка видео моего Manty-лайт


Выводы:
- Даже самое сложное поведение (с учетом ограничений лего nxt 2.0 -- два мотора для движения и один вспомогательный) реализуется в пределах сотни команд. Это крайне интересный момент. Вероятно, такая компактность объясняется 1) двумя степенями свободы модельки, 2) хорошей конструкцией робота, выполненной инженером-профи, когда много кода и не надо;
- Для варианта а) надо развивать мышление в понятиях механики и физики модельки и синхронизации с датчиками; программирование тут вообще вторично, и либо не нужно вообще (правильная конструкция работает "сама", надо только запустить мотор), либо для сложных поведений (например, двуногий шагающий робот) все равно подразумевает только линейное мышление последовательностями синхронизированных включений моторчиков (на какое время/в какую сторону включать тот или иной мотор). Для этого достаточно стандартного софта lego;
- Для варианта б) надо брать комфортную среду и качественный язык. Пока не смотрел, но вроде хороша Microsoft Robotics Studio, C# или Васик + MSRS Visual Programming Language.

Конструирование безмоторной части.
Классический школьно-институтский обучающий подход. Механически собрать 50-100 моделей (~50 часов практики), подсознание адаптируется к такому издевательству, само выявит набор паттернов (среди которых будет немало мусора) в новом виде деятельности, и постепенно человек с удивлением обнаружит, что "стало собираться само", и при первом взгляде на чужую модель сразу "ясно видно", как ее "похоже" собрать. Минус в неосознанности, и, соответственно, негибкости сформированного навыка, его невысокой эффективности, всяческих скрытых ограничениях итд.

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

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


Кстати, роботы -- прекрасная абстрактная модель для изучения и моделирования человеческих реакций.
Женская реакция на шагающий робот была явно ориентирована на внешне сложное поведение:
- А как ты его, программируешь, через компьютер?
- Ага.
- Ахренеть, ваще.
Впрочем, следующий вопрос, когда робот дошагал до конца дивана, был все же про мозги:
- А он понимает, что дальше шагать нельзя?

UPD. Уже вторая женщина в отношении шагающего робота уточнила: "а он может препятствия обходить?" :)
Tags: lego, роботы
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments