понедельник, 30 августа 2010 г.

Пара слов про RoboML

Когда-то давно я писал статью на моем сайте "Самодельный робот", про RoboML. Перспективный, базирующийся на XML язык для описания роботов, разработанный в свое время нашим соотечественником, Максимом Макачёвым, совместно с S. K. Tso. Язык этот позволяет задавать как трехмерный внешний вид робота, так и описывать его внутреннюю структуру, и даже определять логику его поведения, в виде математического описания в виде MathML-вставки. Подробнее - написано в самой статье, "RoboML - язык описания структуры робота".

Дак вот, совсем недавно, с удивлением обнаружил ссылку на свою статью в сборнике материалов всероссийской научно-технической конференции Информатика и вычислительная техника - 2010, в списке использованной литературы проекта "Автоматизированная система конструирования моделей мобильных роботов". Проект, по правде говоря, не очень серьезный. Ребята пытаются создать очередной аналог симуляционной среды Microsoft Robotics Studio на Java, с использованием RoboML в качестве языка для хранения собственно моделей. Причем, в качестве одной из причин создания собственной симуляционной среды указывается, что мол, физика недостаточно хорошо симулируется в существующих средах. Ну даете, ребята! А то, что в RoboML физика вообще не учитывается, это нормально, да? :)

Ведь понимаете, что обидно... Разобраться с этой темой - всегда полезно. 3D-моделирование, робототехника, да и вообще проектирование и польза проектирования. Это очень важные, нужные и полезные темы, на каждой из которых можно "во взрослой жизни" здорово заработать. Но настолько явные ляпы свидетельствуют, во-первых, о том, что системы еще нет даже в зачаточном виде. Во-вторых, о несерьезном подходе и невнимательном чтении материала. И это обидно. Да даже не обидно, просто грустно.

Что же касается RoboML, то, если бы передо мной сейчас встала задача создать подобный язык, или доработать собственно RoboML, я бы самым первым делом поставил бы из схемы ссылку на VRML или подобный ему язык, вместо использования своих средств для описания внешнего вида робота. Потому что, руками, в XML-виде, описать трехмерную модель среднего по сложности робота - это, наверное, пара лет :). И писать конвертер форматов тоже смешно. Зачем делать лишнюю работу? Конвертеры уже написаны - для VRML.

Кроме того, насчет математического представления поведенческой модели, тоже, ну не очень мне это нравится. Вот здесь, как раз, можно было бы ссылку-то и не ставить. Потому что робот будет программироваться, а значит сведения о его поведении будут представлены в алгоритмическом виде. А записывать алгоритмы в математическом представлении - как минимум непривычно, хотя это и выглядит более научным.

Да, и еще. На будущее. RoboML - хороший язык. С хорошей идеей. Но этот язык - теоретический. Хотите увидеть, как выглядит практический язык, который реально можно применять? Нет ничего проще. Загляните в Microsoft Robotics Studio  :)