roboforum.ru

Технический форум по робототехнике.

Что-то типа "ОС" для робота :) только это не совсем ОС

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 17:26

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

Добавлено спустя 3 часа 2 минуты 21 секунду:
Нужно попробовать прописать ресурс какой-нибудь и контракт по нему. Ну и пример программы которая по этому контракту работает...

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

Сергей » 12 апр 2009, 17:28

Это точно выйдет RTOS, а не просто OS?

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 17:53

Учитывая что неотъемлимая часть любого контракта - время возврата ресурса - думаю да, а какой еще критерий RTOS кроме гарантий по времени?

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

mandigit » 12 апр 2009, 18:21

=DeaD= писал(а):Непонятно. Задача "убираться" тогда не знает что ей как-то ограничили разрешенные местоположения и может пытаться удалиться на более чем 10 минут езды до кухни за 5 минут до помешивания, её постоянно за это будет бить по голове системный процесс и отбирать управление чтобы всё вернуть, а понимания чего не так у неё от этого не прибавится.
По идее должен быть какой-то "контракт" который подписывает задача, когда ей дают порулить ресурсами.


(imho)
Задачи должны знать(учитывать) минимум о друг друге.
Системный процесс производит оценки и определяет область, допустимую для передвижения (не время). задача уборки ничего не знает о том, кто, когда должен помешивать суп (она даже про суп не должна знать)
Контракт в таком рассмотрении есть ни что иное, как протокол взаимодействия.
Попытка применить в компьютерах систему "устройство экономики" с моей точки зрения обречено на неудачу, поскольку мы предполагаем, что обеспечивая взаимодействие - знаем цели (целевую функцию системы), что в обычной экономике отсутствует.

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 18:29

mandigit писал(а):Задачи должны знать(учитывать) минимум о друг друге.

Это 100%

mandigit писал(а):Системный процесс производит оценки и определяет область, допустимую для передвижения (не время). задача уборки ничего не знает о том, кто, когда должен помешивать суп (она даже про суп не должна знать)
Контракт в таком рассмотрении есть ни что иное, как протокол взаимодействия.

Ну почему же? Контракт на прокат автомобиля, например, указывает не где я могу ездить, а куда я должен вернуть машину.

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

Про цели не понял. Я когда покупаю машину - тоже знаю цели, мне нужна машина - как это отменяет экономику?

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

mandigit » 12 апр 2009, 19:04

=DeaD= писал(а):Ну почему же? Контракт на прокат автомобиля, например, указывает не где я могу ездить, а куда я должен вернуть машину.

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

=DeaD= писал(а):Про цели не понял. Я когда покупаю машину - тоже знаю цели, мне нужна машина - как это отменяет экономику?


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

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 19:09

mandigit писал(а):оно и есть самый настоящий протокол (где взять, куда вернуть).

Согласен на 100%.

mandigit писал(а):
=DeaD= писал(а):Про цели не понял. Я когда покупаю машину - тоже знаю цели, мне нужна машина - как это отменяет экономику?

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

Хм, не понял, а почему из этого следует, что экономический подход будет в робототехнике не применим?
Я ведь не знаю завтра попрошу робота пылесосить, помешать суп, посмотреть из окна не моя ли машина орёт сигнализацией или выключить телевизор?

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

mandigit » 12 апр 2009, 19:31

=DeaD= писал(а):Хм, не понял, а почему из этого следует, что экономический подход будет в робототехнике не применим?
Я ведь не знаю завтра попрошу робота пылесосить, помешать суп, посмотреть из окна не моя ли машина орёт сигнализацией или выключить телевизор?


экономика (больше европейская, в меньшей части американская и в совсем маленькой степени - российская) выстроена на конкуренции, целью которой является выживание конкурентных структур и отмирание неконкурентных, что вроде-бы ведет к улучшениям.

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

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

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 19:43

mandigit писал(а):относительно робота это будет выглядеть следующим образом: если задача сможет доказать свою ценность - она выживет, иначе умрет (ей дадут меньше ресурсов).
Но что есть критерий оценки? Кто может принять решение об увеличении или уменьшения статуса задачи, выделении ей ресурсов?

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

Добавлено спустя 1 минуту:
Приоритет задачи и выделение на её решение ресурсов - это человек определяет. А вот конкурирующих способов выполнить задачу может быть несколько :)

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

demon333 » 12 апр 2009, 19:50

А откуда возьмутся несколько подрядчиков-исполнителей? мы заранее закладываем?

Добавлено спустя 4 минуты 24 секунды:
Как то пытались решить задачу адаптивной подвески авто.Человек сказал что теоретически можно создать программу,которая самостоятельно,путем перебора вариантов управления и наблюдением за откликом системы,сможет рано или поздно самостоятельно приспособиться к рельефу.Причем,код программы будет меняться самой программой,мы же в начале задаем код не зная результата.

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 19:53

demon333 писал(а):А откуда возьмутся несколько подрядчиков-исполнителей? мы заранее закладываем?

Скорее для массовых пользователей мне видится библиотека таких решений. А для себя - да, можно и несколько видов самому заложить, или простой подход сделать - один и тот же метод с разными наборами настроек запускать, среди них выбирать какой лучше :).

demon333 писал(а):Как то пытались решить задачу адаптивной подвески авто.Человек сказал что теоретически можно создать программу,которая самостоятельно,путем перебора вариантов управления и наблюдением за откликом системы,сможет рано или поздно самостоятельно приспособиться к рельефу.Причем,код программы будет меняться самой программой,мы же в начале задаем код не зная результата.

И? :) Тяжело что-то сказать, не ясно как формально потом оценивать "приспосабливается программа к рельефу" или нет :)

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

mandigit » 12 апр 2009, 19:54

=DeaD= писал(а):Ненене :) я имел в виду у нас есть робот которому мы периодически ставим одну и ту же задачу - например уборка комнаты. Есть несколько "подрядчиков-исполнителей", каждый из них обещается убрать комнату за сколько-то ресурсов, самостоятельно оценивая потребности и закладывая некоторый запас на несчастный случай. Дальше по итогам смотрим - если задача выполнена - начисляем этому исполнителю "тугрики", если не выполнена - не начисляем. Понятно что можно для перевозки груза нанять самую дешевую газель с дырявым кузовом, но тогда мы должны обязательно записать еще и штраф за порчу груза, а значит может оказаться эффективней заказ газели за большие деньги, но без дыр в кузове :)


Тогда приходим к следующему:
- предлагаем поочередно различным методам убрать комнату (входные условия в расчёт не принимаем)
- оцениваем результат некоей функцией (время, качество уборки)
- делаем вывод о лучшем алгоритме

НО,
в такой схеме нет никакого намека на конкурентную борьбу за ресурсы системы :)

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

demon333 » 12 апр 2009, 20:10

=DeaD= писал(а):И? :) Тяжело что-то сказать, не ясно как формально потом оценивать "приспосабливается программа к рельефу" или нет :)

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

Добавлено спустя 4 минуты 41 секунду:
Ах да,главный критерий-чтоб не трясло! Ну вроде того что ставим стакан с водой и чем меньше он расплескивается,тем лучше.

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

=DeaD= » 12 апр 2009, 20:15

demon333 писал(а):А ничего,сказали что там математика кошмарного порядка.

В смысле не стали делать что ли? Чушь какая-то... Взяли бы с десяток гипотез, потом генетическим алгоритмом выбрали какую-то лучшую их комбинацию и всё. Короче кто хочет - делает, кто не хочет - объясняет почему это нереально :)

Добавлено спустя 2 минуты 39 секунд:
mandigit писал(а):Тогда приходим к следующему:
- предлагаем поочередно различным методам убрать комнату (входные условия в расчёт не принимаем)
- оцениваем результат некоей функцией (время, качество уборки)
- делаем вывод о лучшем алгоритме

НО,
в такой схеме нет никакого намека на конкурентную борьбу за ресурсы системы :)

Почему же? Как раз есть :) в перспективе лучшему методу отдадут все ресурсы системы под уборку помещения :)

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

Re: Что-то типа "ОС" для робота :) только это не совсем ОС

demon333 » 12 апр 2009, 20:18

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

Добавлено спустя 2 минуты 21 секунду:
=DeaD= писал(а):Почему же? Как раз есть :) в перспективе лучшему методу отдадут все ресурсы системы под уборку помещения :)

Да, но оценивать то кто будет?
Если человек и со-сторны,то он же и заложит лучший алгоритм,тогда где место для ИИ?


Rambler\'s Top100 Mail.ru counter