Технический форум по робототехнике.
Виктор Казаринов » 26 июл 2015, 09:06
Несколько дней назад я завершил разработку и основное тестирование моего программного движка - основы Мегатронной сети (МС). Конечно, в дальнейшей работе будут появляться баги и более существенные недоработки, которые по ходу дела нужно будет устранять. Но это дело обычное. И нужно будет немного расширить движок по функционалу.
В настоящее время я более подробно изучаю научную литературу по многим областям, связанным с дальнейшей разработкой моего робота. И одновременно пишу небольшие тесты на моем самодельном языке программирования МС.
Разрабатываю общую структуру интеллектуального агента и взаимодействие его составных частей между собой.
MEXAHuK » 27 июл 2015, 07:54
Добрый день!
И нужно будет немного расширить движок по функционалу.
А какой функционал у вашего движка на данный момент? Что планируете добавить?
На каком языке написан движок? Как хранятся данные, какая база данных используется?
Какие системные требования для работы? Есть ли у вашего движка API?
Можно ли его посмотреть-пощупать-погонять-поиграться-потестировать на своих задачах?
основное тестирование моего программного движка
А в чем заключалось тестирование? Какие задачи ставились? Какие результаты выполнения этих задач?
Виктор Казаринов » 27 июл 2015, 09:01
MEXAHuK писал(а):А какой функционал у вашего движка на данный момент? Что планируете добавить?
На каком языке написан движок? Как хранятся данные, какая база данных используется?
Какие системные требования для работы? Есть ли у вашего движка API?
Можно ли его посмотреть-пощупать-погонять-поиграться-потестировать на своих задачах?
А в чем заключалось тестирование? Какие задачи ставились? Какие результаты выполнения этих задач?
Сильно много вопросов одновременно. Постараюсь ответить.
Это уже третья реинкарнация моего движка для искусственного интеллекта. Первый я писал на ассемблере с 2000 по 2005 год. Второй на языке CLIPS с 2005 по 2011. Третий обдумывал несколько лет и начал писать с декабря прошлого года на ANSI C. Все эти движки имеют много общего и каждый следующий имеет приемственность от предыдущего.
Одним из общих свойств движков является параллельное существование и функционирование в них микроагентов. Под микроагентами я понимаю мельчайшее неделимое операционное устройство, способное выполнять встроенный набор операций. Все данные хранятся непосредственно в памяти, т.к. системы реального времени другое не предполагают.
Движок написан на языке ANSI C и запускается под Линуксом на обычном компе либо на встраиваемой платформе, например, на Raspberry PI. Есть возможность его сборки вообще без ОС на голом железе при определенных условиях.
Пока, к сожалению, поиграться с ним не удастся, т.к. это моя чисто экспериментальная платформа, в которой я постоянно произвожу множество изменений и улучшений. Проще говоря, это еще очень сырое изделие. Кроме того, движок сам по себе не имеет особой ценности без программ, написанных на языке этого движка.
Я разработал специальный язык с динамической типизацией специально для этого движка. И теперь можно писать программы в различном стиле начиная от императивного заканчивая продукционным и нейросетевым.
Извините, если сразу не ответил на все вопросы. Если есть дальнейший интерес, уточняйте или повторно задавайте вопросы, на которые как вы считаете, я не ответил должным образом.
MEXAHuK » 27 июл 2015, 09:12
Просто тема интересная, вот и вопросов много
Очень интересно именно практическое применение, что он умеет на данный момент, что планируете добавить?
Виктор Казаринов » 27 июл 2015, 09:21
Тема интересная, но, похоже, что только для меня, т.к. вы первый, кому это еще интересно.
Робот пока ничего не умеет, т.к. еще кое-что не разработано для него. Например, сейчас разрабатываю плату управления сервомотором наподобие openservo для получения совершенно других характеристик движения электромотора. Нужно, чтобы программно можно было менять скорость и усилие сервы, а также измерять фактическое усилие в каждый момент времени.
Т.к. я планирую создать робота, который ведет себя вначале как ребенок, обучаясь на полученной из окружающего его мира информации, то сейчас я занят разработкой гибкой структуры его "мозга". В частности, изучаю глубокое обучений нейросетей и алгоритм иерархической темпоральной памяти с целью реализации чего-то подобного в моем роботе.
MEXAHuK » 27 июл 2015, 09:47
Тема интересная, но, похоже, что только для меня, т.к. вы первый, кому это еще интересно.
Да, я думаю, таких добрая половина форума
Просто для себя я уже давно понял, что разработка ИИ - это слишком сложно для меня, и не мой это профиль.
А напрямую пообщаться с человеком, который занимается такими вещами и позадавать вопросы - такой случай упускать нельзя!
Т.к. я планирую создать робота, который ведет себя вначале как ребенок, обучаясь на полученной из окружающего его мира информации, то сейчас я занят разработкой гибкой структуры его "мозга".
Вот про это как раз я и спрашивал
Я так понимаю, движок - это и есть основа будущего "мозга"?
Вы написали, что закончили его разработку и оттестировали - как вы его тестировали, какие задачи он решает, какие результаты выполнения этих задач? Что этот движок вообще умеет делать?
Вот такие вопросы интересны, и, я думаю, не только мне
HarryStar » 27 июл 2015, 09:48
Виктор Казаринов писал(а):вы первый, кому это еще интересно
Не не, мы следим, интересно.
Тут форум надо уже переименовывать в 3Д-Принтер-форум, так что те несчастные у кого его нет довольствуются скудными 10% сообщений и тем. Поэтому ваши нейроуспехи на фоне 3д-принтер-спама очень даже интересны. Просто ваше повествование не всегда предполагает диалог. И опять же мало шоу - хочется картинки, эволюцию поведения - имитация роботом клетки-жучка-рыбы-крысы-кота-обезбяны-человека и все с видео!
Виктор Казаринов » 27 июл 2015, 10:08
До всяких красочных шоу еще нужно доползти хотя бы по-пластунски. Самое ненаглядное и самое трудное происходит именно сейчас. Поэтому как могу, информирую просвещенную публику о моих трудностях и сложностях.
Добавлено спустя 6 минут 48 секунд:MEXAHuK писал(а):Т.к. я планирую создать робота, который ведет себя вначале как ребенок, обучаясь на полученной из окружающего его мира информации, то сейчас я занят разработкой гибкой структуры его "мозга".
Вот про это как раз я и спрашивал
Я так понимаю, движок - это и есть основа будущего "мозга"?
Вы написали, что закончили его разработку и оттестировали - как вы его тестировали, какие задачи он решает, какие результаты выполнения этих задач? Что этот движок вообще умеет делать?
Я завершил в основном и главном разработку программного движка, лежащего в основе моей разумной системы. Но саму разумную систему я еще разрабатываю. Она должна работать поверх движка в виде программы на языке этого движка. До сих пор были технологические тесты, в основном тесты команд.
Сейчас я начал проводить тесты - эксперименты по нейроподобным структурам с помощью моего движка Мегатронной сети. Вначале делаю простейшие тесты. Нужно чтобы они заработали. А затем буду их усложнять. Как только появятся интересные для публики результаты, обязательно опишу все в подробностях здесь.
MEXAHuK » 27 июл 2015, 10:51
Вы пишите, что
Все данные хранятся непосредственно в памяти, т.к. системы реального времени другое не предполагают.
Это значит, что даже при кратковременном отключении питания вся система "умирает"?
А какие команды и в каком формате данные обрабатывает движок?
Виктор Казаринов » 27 июл 2015, 11:27
Человек ночью спит и существуют гипотезы, что у него в это время информация, накопленная за день, постепенно переходит в долговременную память. Что-то аналогичное можно сделать и у робота, если не будет возможности в фоновом режиме бакапировать оперативную память.
Команды в специальном мною разработанном формате. Каждой команде соответствует одна строка текста программы. В этой строке я пишу не совсем команду, а целую программную функцию на еще одном языке - языке микропрограмм, т.к. каждый микроагент это по сути дела маленький стековый процессорчик. Таким образом, каждая строка программы - это одновременно и оператор программы с требуемыми параметрами и функция - подробная реализация алгоритма этого оператора.
Scorpio » 27 июл 2015, 18:59
Присоединяюсь. Тема весьма интересная и пока не очень понятная. Я даже не могу сообразить, что у вашего движка на входе и что на выходе. "Нам бы схемку иль чертеж - мы б затеяли вертеж"
MEXAHuK » 07 авг 2015, 08:06
Виктор, как вы считаете, существует ли возможность адаптации или создания движка для платформ на базе 32-битных микроконтроллеров, типа STM32? Если конечная цель - создание автономного минибота-"путешественника", с десятком дискретных и аналоговых датчиков, и чей "мир" ограничен одной комнатой. Достаточно ли будет аппаратных ресурсов таких процессоров?
Виктор Казаринов » 07 авг 2015, 09:20
Как я писал выше, мой основной программный движок способен работать и с нейросетями и с продукционными правилами и в режиме обычного программирования. Но вот когда я стал после его разработки на его основе делать тесты по отдельным требуемым для робота функциям, оказалось, что как и и во всех универсальных комбайнах, делать то он делает, но менее эффективно, чем специализированные устройства. Поэтому я написал прототип еще одной подверсии моего движка, в котором сделан упор на нейроподоные структуры. Естественно, я делаю максимальную оптимизацию для уменьшения потребности в вычислительных ресурсах и памяти. Мне, конечно, хотелось бы не опускаться ниже Raspberry PI, т.к. с ним довольно легко работать и у меня имеется удобная среда удаленной отладки в таком контроллере. Да и ресурсов в нем существенно больше. Поэтому STM32 я пока не рассматриваю.
MEXAHuK » 15 авг 2015, 23:00
Виктор, добрый вечер! Не знаю, в тему хозробота, или нет, но вот такой вопрос по движку и мозгу.
Разрабатывается онлайн-игрушка, некий симулятор города с виртуальными и "онлайн" жителями.
Естественно, что в таком городе есть масса применений для вашего движка и "мозга" - от обычного "жителя" до внутренней интеллектуальной информационной системы, способной собирать, обобщать и анализировать данные о городе и выдавать умные ответы на глупые запросы
Ваш движок будет контактировать с реальными людьми, которые управляют своими персонажами, причем уже через адаптированный для него интерфейс, то есть не надо делать распознавание образов. Он сможет собирать данные, учиться, анализировать, применять свои знания и навыки на практике и т.д.
Как вы считаете, такой вариант тестирования вас может заинтересовать? Как вы вообще позиционируете свои разработки - как платный или бесплатный ресурс?
Виктор Казаринов » 16 авг 2015, 10:11
2MEXAHuK: Я это рассматриваю очень положительно. Кое-какие распознавания и в онлайн-игрушке делать придется. Я бы рассматривал ресурс как бесплатный, если бы сильно не нуждался в денежках. У меня довольно давно нет постоянной работы и я изо всех сил пытаюсь продолжать работу над ИИ. Поэтому могу работать над всем чем угодно другим, лишь бы это способствовало продолжению работ над реализацией моих идей.