RoboMind — это простая образовательная среда программирования с собственным языком сценариев, позволяющая новичкам изучать основы информатики путем программирования моделируемого робота . Помимо представления общих методов программирования, он также направлен на предоставление информации о робототехнике и искусственном интеллекте . RoboMind доступен как отдельное приложение для Windows , Linux и Mac OS X. Впервые он был выпущен в 2005 году и первоначально был разработан Арвидом Хальмой, в то время студентом Амстердамского университета . С 2011 года RoboMind издается компанией Research Kitchen. [2]
Приложение построено на двумерном сетчатом мире, в котором робот может перемещаться, наблюдать за соседними ячейками или отмечать их, оставляя след краски. В мире также могут быть так называемые маяки, которые робот может носить с собой, чтобы расчищать себе путь.
Начиная с версии 4.0, можно напрямую экспортировать сценарии RoboMind роботам в реальном мире. В настоящее время поддерживаются Lego Mindstorms NXT 2.0 . [3]
RoboMind предлагает базовый язык сценариев, состоящий из краткого набора правил. Помимо команд, заставляющих робота выполнять базовые инструкции по перемещению, поток управления можно изменить с помощью условного ветвления (если-то-иначе), циклов (пока) и вызовов пользовательских процедур.
Пример скрипта для рисования квадрата:
краскаБелаяповторить(4) { вперед(2) верно}
Пример рекурсивного следования за строкой:
следоватьпроцедура следующая{ если (frontIsWhite) { вперед(1) } иначе, если (rightIsWhite) { верно } иначе, если (leftIsWhite) { левый } еще{ конец } следовать}
Среда программирования предлагает встроенный текстовый редактор для написания этих сценариев с подсветкой синтаксиса , автодополнением и нумерацией строк .
Изменения среды, такие как закрашивание ячеек сетки, используются для хранения состояния времени выполнения. Это показывает, что робот в своей среде напрямую связан с 2D- машинами Тьюринга . [4] [5] Начиная с версии 5.0, язык позволяет объявлять переменные и функции (процедуры, возвращающие значения).
Сам язык сценариев в настоящее время доступен на 22 языках: арабском , каталонском , китайском , чешском , голландском , английском , французском , немецком , греческом , венгерском , индонезийском , корейском , польском , бразильском португальском , русском , словацком , словенском , испанском , шведском , Тайский , турецкий и украинский . Все инструкции и ключевые слова могут быть переведены. Это облегчает изучение для тех, кто не говорит по-английски, по сравнению с большинством других языков программирования, которые ограничены английским синтаксисом и латинскими алфавитами.
RoboMind чем-то похож на робота Карела, но его синтаксис ближе к C/C++, а Karel ближе к Pascal .
RoboMind можно связать с логотипом , на котором черепаху можно перемещать, создавая геометрические фигуры. Однако синтаксис RoboMind отличается и больше соответствует основным языкам сценариев, таким как JavaScript . В RoboMind восприятие и изменение окружающей среды имеют одинаковое значение, а Logo фокусируется в основном на последнем. Это делает RoboMind более подходящим для демонстрации реальных приложений. С другой стороны, в Logo у пользователей больше свободы в создании визуальных эффектов.
Другие бесплатные образовательные языки программирования, такие как Alice и Scratch, ориентированы на более широкую область интерактивного рассказывания историй.