Виктор Казаринов писал(а):Почему-то в ROS Jade нет поддержки Java клиента.
Скорее всего причина в медлительности интерпретатора. В среднем, код написанный на Java выполняется медленнее кода написанного на C/C++ в два-три раза, а объема памяти требуемый при этом для Java в 10-30 раз больше.
ROS создается как универсальная ОС для роботов и не всякий робот несет на своем борту мощный и быстрый компьютер способный пережевать Java код. ROS заточен на использование таких языков как Phyton, C++, C, а самое важное в нем решена задача передачи сообщений между модулями и драйверами, стандартизированы подходы к обмену сообщениями, вы с легкостью можете добавлять как аппаратные так и программные модули в свой проект, используя при этом уже готовые решения ROS-а или решения созданные сообществом, или написав собственные узлы. К примеру, в ROS решена одна из главных задач робототехники SLAM, ROS работает с библиотеками компьютерного зрения с 3D датчиками, может работать с облачными технологиями (распознавание и синтез речи), умеет строить трехмерную карту окружающего мира и планировать свои действия в нем, например движения манипулятора, ну и много чего еще. Конечно, в ROS нет искусственного интеллекта, по той простой причине, что ИИ не существует пока вообще, но это отличная программная платформа для создания робота, гибкая и универсальная. Для "умника" абсолютно подходящая.
Scorpio, поверьте, стоит потратить время на изучение ROS. Мы тоже сначала пошли своим путем, начали писать программный код для нашего робота с нуля. Все было замечательно пока мы не дошли до того момента, когда код стал на столько сложным, что для того чтобы править его, приходилось прокручивать десятки экранных страниц, а еще помнить где что находится (при этом я имею хорошую привычку комментировать практически каждую строку программы). В один прекрасный момент мы дошли до того, что начали создавать свою систему сообщений внутри программы, писать свои протоколы передачи и обмена данными между узлами..., и вот тут я себе сказал: "СТОП! Где то я это уже видел." И вспомнил про ROS. Сейчас все усилия переключены на его изучение. Сразу скажу - доходит туго. А если учесть при этом мое полное не знание Linux, то вообще получается тяжко. Но я уверено, что это время и усилия не будут потрачены зря. Именно по этой причине мы приостановили все работы над проектом LUM, и готовимся к началу создания второй версии робота LUM-2, которая, конечно, будет функционировать под управлением ROS.
Собственно, написал я это для того, чтобы постараться сказать вам не торопиться, изучить то, что уже разработано и наиболее эффективно использовать это, а не наступать на грабли и изобретать велосипед как это делали, к великому сожалению, мы. Я думал так: куда проще сесть и сразу начать писать программный код для своего робота самостоятельно, сразу получать и видеть результат, чем сесть за изучение совершенно не знакомой среды, потратив на это несколько недель, а то и месяцев. Но я не учитывал одного, если знать ROS, то уже не придется писать портянки кода на получение данных, синхронизировать обработку этих данных с исполнительными механизмами, задумываться над тем как передать эти данные без искажений и потерь внутри создаваемой системы. Эти все задачи кажутся не очень сложными пока можно охватить одним взглядом написанную программу, но когда она разрастется до размеров монстра (а можно быть уверенным что разрастется

), все оказывается совсем даже не просто.
Я не навязываю никому свое мнение, и никого ни в чем не хочу переубеждать, я просто поделился опытом.
Извиняюсь за столь длинную написанную портянку.
Добавлено спустя 3 минуты:Scorpio писал(а):Мы же хотим сделать только универсальный механизм создания такой базы знаний.
PS Если идет речь только о базе, то ROS не нужен, это платформа для управления аппаратными средствами. В этом случае может посмотреть в сторону старых и добрых экспертных систем?