roboforum.ru

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

Как правильно писать сценарии поведения робота?

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

Re: Как правильно писать сценарии поведения робота?

Сообщение smur » 27 ноя 2016, 09:48

У меня такие задачи вызывают некий "религиозный" трепет :) Что то на уровне споров о возникновении жизни и о запуске репликации клеток (бактерий). Если посмотреть на реальную, каждодневную, ежесекундную, работу простейших автоматов собранных в одном месте в клетке живого организма и подчиняющихся общему алгоритму записанного на ДНК, то "Мир дикого Запада" уже кажется сказкой про соломенного бычка :)
Синтез белка, динамическая модель:
https://www.youtube.com/watch?v=1KM2BiwBPfU
А если соединить это с более высоким уровнем логики
Нейронная сеть - введение:
http://robocraft.ru/blog/algorithm/558.html
То фантастика Филиппа Дика уже может воплотиться в реальности.
Так что - За рождение кусочка самостоятельного кода ! :) (Доброго кода, а то ведь кто нибудь из военных наверняка уже Скайнет лабает, нужна здоровая альтернатива)
smur
 
Сообщения: 90
Зарегистрирован: 22 ноя 2016, 22:00

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 27 ноя 2016, 17:16

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

А я против :)
Программист значительно быстрее опишет кинематику хождения чем все эти эволюции. Хотя, смотря что называть обучением. Если адаптивный ПИД регулятор сам выставит все коэффициенты для удержания равновесия неизвестного обьекта, чем не обучение?
На хабре была статья о эволюционирующих тележках.
http://www.boxcar2d.com/
https://habrahabr.ru/post/184766/
И боль :)
За что?
Жизнь — это боль :)

Изображение

Вообще, некоторые вещи человек делает лучше природы. Например природа не смогла изобрести бесконечное вращение, т.к. не знала как передавать кровь по вращающимся шарнирам. Из-за этого все рекорды скорости на земле, в воде, в небе у человека. Ноги - фигня, колеса лучше, хвост - фигня, гребной винт лучше, махающие крылья - фигня, турбореактивный двигатель лучше.
Тоже самое и про вычислительные возможности, биопроцессор медленно умножает :)
Зато человек до сих пор не может скопировать у природы сенсорику, миниатюрность механизмов и разум. Мешают провода и магниты.
Такшта не ждем счастья от природы, а кодим, кодим, кодим...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Как правильно писать сценарии поведения робота?

Сообщение smur » 27 ноя 2016, 19:16

Природа смогла изобрести бесконечное вращение со времён появления бактерий, причём круче, чем на формуле 1:
https://www.youtube.com/watch?v=G7yilCNmKEo
А на соревнованиях DARPA многомилионные роботы выглядят тупыми уродцами, хотя их не самые глупые люди программировали, а скорее наоборот. Если пофантазировать, то колонизировать другие планеты лучше сначала роботов отправлять, но для этого они должны быть умными и не ждать, пока им ошибку в программе поправят, тк не выживут до этого времени. Да что говорить, все потери спутников в основном из-за ошибки в коде и неумении адаптироваться к условиям.
ПИД это конечно здорово, но логика больно жёсткая, даже фуззи. У меня планер с Ardupilot очень хорошо эти ПИД использует в режиме стабилизации, можно расслабиться управляя, а можно и не управлять вовсе в режиме Loiter, при посадке всегда включаю стабилизацию, чтобы не разбить аппарат весом два кило с электроникой. Кстати, там внутри программы помимо ПИД и проч. используется Case структура управления режимами, код открытый, можно посмотреть. Там много чего есть интересного. У Козина сайт хороший на эту тему:
http://hobby.msdatabase.ru/project-upda ... -arduplane
smur
 
Сообщения: 90
Зарегистрирован: 22 ноя 2016, 22:00

Re: Как правильно писать сценарии поведения робота?

Сообщение Scorpio » 27 ноя 2016, 19:31

Ну вот, у нас хотябы есть 2 разных мнения - необходимое условие для дискуссии. :)
Кодить самому в примере вставания конечно рациональнее. Тем более, что все уже сделано до нас. Но, с другой стороны, для чего мы делаем роботов? Если пренебречь их полезностью в хозяйстве (из полезных на форуме разве что 3D принтер), то во-первых: чтобы получить удовольствие от творческого процесса, а во-вторых: наблюдать за тем, что получилось. Наблюдать за тем, как робот пытается самообучиться можно дольше, чем как он пару раз встанет по скачанному с и-нета алгоритму.
Несмотря на кажущуюся простоту поставленной задачи, пока даже не представляю, как к ней подступиться. Не могу же я позволить роботу любые движения, для достижения цели. Эдак он до скончания века синяки набивать будет. Критерии оценки тоже не совсем ясны. Например в сидячем и стоячем положении, акселерометр показывает одинакого. Значит надо вводить положение тазобедренного сустава. И.т.д. и т.п.
Варианты вставания тоже м.б. разные:

Последний раз редактировалось Scorpio 27 ноя 2016, 19:55, всего редактировалось 2 раз(а).
Аватара пользователя
Scorpio
 
Сообщения: 2680
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 27 ноя 2016, 19:45

smur писал(а):Природа смогла изобрести бесконечное вращение со времён появления бактерий

Круто, не знал, но природа не смогла это масштабировать. Все-таки я говорил про кровь...
smur писал(а):А на соревнованиях DARPA многомилионные роботы выглядят тупыми уродцами

Может быть, но есть и такое, причем далеко не лучшее видео. Не думаю что у этих коптеров проблемы с приземлением.



Вот еще интересно. Видно что в программе не учтены касания сетки и сопли. Но природа, в виде самого совершенного организма - человек, начинает сдавать позиции :)

Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Как правильно писать сценарии поведения робота?

Сообщение Angel71 » 27 ноя 2016, 22:25

Scorpio, это на вас так художественная литература и фильмы влияют? полезно для написания художественных книг или сценариев фильмов, где два раза на шифт и сервер пентагона взломан.
"... На первый взгляд кажется просто" не выглядит простым, ни с первого, ни со второго. изначально можно выбирать уровень сложности.
есть лаборатории, работающие над сложными самообучающимися алгоритмами, которые "учатся понимать" что за данные с датчиков поступают, подавая управляющие сигналы на приводы определяют связь между этими сигналами и данными с датчиков, при движении строят представление о внешней среде (преграды и прочее), изучают свою конструкцию, адаптируются когда им добавляют, удаляют или меняют части местами и т.д. интересно конечно, но очень сложно.
с андроидом можно не как они выше сложное пытаться делать, а очень сильно упростить. реализуются алгоритмы скелетной анимации и кинематики, заносится часть данных (у серв максимальный угол вращения приблизительно такой, вот в этом сочленении серва стоит так, в этом так). а всё остальное уже алгоритм вычислять начинает. немного поуправлял сервами, предварительно определил минимальные и максимальные значения с резисторов каждой сервы. данные постоянно можно уточнять. задействую акселерометр, гироском, магнетометр можно находить центры тяжести, определять инерцию, скорость вращения серв (не в резистивных попугаях, а в углах). потом можно пытаться изучать окружающую среду. вариант проще, только не на столько и простой что бы за пару дней сделать. и этот вариант ещё немного упростить можно.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Как правильно писать сценарии поведения робота?

Сообщение Scorpio » 27 ноя 2016, 23:21

Для начала практической реализации, надо хотябы прикрутить гироскоп к моему биолоиду, а для этого поменять ему контроллер, т.к. у штатного моей модели такой возможности нет. По этому пока чисто теоретически - в уме. И примерно так, как вы говорите и даже проще: оперировать не уровнем сервы, а "согнуть руку" и т.д.
Аватара пользователя
Scorpio
 
Сообщения: 2680
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 27 ноя 2016, 23:56

Я кста, где-то высказывал свое удивление по программному обеспечению своего биолоида и 2-го японского робота. Это просто шляпа. Элементарная замена контроллера/софта - оживит этих роботов значительно интереснее. А уж какие там стоЯт сенсоры - просто жесть. За такие баблищи, такие шляпы...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 28 ноя 2016, 15:44

Кстати, о птичках - вин vs лин.

Хочу попробовать синтезатор голоса и распознавалку речи. Чтоб не грузить одну систему, сделать это на 2-х мелких коробочках. Коробки соединить штатной витой парой или com port. По ссылке:
Eruman писал(а):К сведению: есть неплохой синтезатор голоса RHVoice, с открытым исходным кодом, доступный в версиях для операционных систем Windows и Linux. https://github.com/olga-yakovleva/rhvoice

Понимаю как это прикрутить к роутеру (openwrt) или мелкой плате типа BeagleBone (linux). С распознавалкой тоже все понятно "pocketsphinx".
Вопрос, как это делают ms.net пользователи?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Как правильно писать сценарии поведения робота?

Сообщение Scorpio » 28 ноя 2016, 17:41

Нэт пользователи делают штатными средствами :)
А, что этот сфинкс лучше гугла?
Аватара пользователя
Scorpio
 
Сообщения: 2680
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 28 ноя 2016, 17:55

A гугла offline? Online неинтересен ни под каким углом.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Как правильно писать сценарии поведения робота?

Сообщение Scorpio » 28 ноя 2016, 18:30

Давно уже офф. По крайней мере на андроиде. И качество распознавания шикарное + никаких обучений на голос, никаких грамматик. А зачем на 2х коробочках и куда их потом?
Аватара пользователя
Scorpio
 
Сообщения: 2680
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 28 ноя 2016, 18:51

Scorpio писал(а):Давно уже офф

А он открытый? В исходниках? А где почитать?
Scorpio писал(а):А зачем на 2х коробочках и куда их потом?

Так это 2 устройства из списка важных сенсоров/устройств. Управляются из консоли, хоть текстом в com порт. Полностью законченные устройства. Зачем 2? Чтоб не тормозили, а то будет как" "Он вам подсыпал в смазку алмазную пыль". Если взлетит на каких-нибудь MK802 или мини роутерах, то это минимум цены и места. Про качество обработки звука пока не заморачиваться. Главное открытость - напильнинг.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Как правильно писать сценарии поведения робота?

Сообщение Eruman » 28 ноя 2016, 20:30

Dmitry__ писал(а):Кстати, о птичках - вин vs лин.
Eruman писал(а):К сведению: есть неплохой синтезатор голоса RHVoice, с открытым исходным кодом, доступный в версиях для операционных систем Windows и Linux. https://github.com/olga-yakovleva/rhvoice

Понимаю как это прикрутить к роутеру (openwrt) или мелкой плате типа BeagleBone (linux). С распознавалкой тоже все понятно "pocketsphinx".
Вопрос, как это делают ms.net пользователи?

есть dll с обвесом, какой такой эмэс? :D
Соединяй и здравствуй.
Аватара пользователя
Eruman
 
Сообщения: 897
Зарегистрирован: 12 авг 2010, 15:10
Откуда: Астраханская обл.

Re: Как правильно писать сценарии поведения робота?

Сообщение Dmitry__ » 28 ноя 2016, 23:19

Eruman писал(а):есть dll с обвесом, какой такой эмэс?

Так невпихуемо это в нормальное железо :)

Тишинааааа, нинзяяяяя, япошкаааа :D



Добавлено спустя 1 минуту 24 секунды:
Поставил RHVoice, Анна шикарно говорит. Кста, злые языки на форумах говорят, что эта система лучше гугли, но я не знаю кто такая гугля.

Добавлено спустя 15 минут 25 секунд:
Во, сообщение Scorpio, поправил только "т.к." :)

echo "Для начала практической реализации, надо хотябы прикрутить гироскоп к моему биолоиду, а для этого поменять ему контроллер, так, как у штатного моей модели такой возможности нет. По этому пока чисто теоретически - в уме. И примерно так, как вы говорите и даже проще: оперировать не уровнем сервы, а "согнуть руку" и так далее " | RHVoice-client -s Anna+CLB | aplay

Убрать в конце pdf.
Scorpio.mp3.pdf
(250.76 КиБ) Скачиваний: 0


Добавлено спустя 3 минуты 50 секунд:
Эх, только по интонации понял, что нет запятой: " "согнуть руку" и так далее" :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Пред.След.

Вернуться в Компьютеры в роботостроении

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6