roboforum.ru

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

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

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

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

Сообщение Dmitry__ » 29 ноя 2016, 14:42

Angel71 писал(а):объяснять имеет смысл, если готов воспринимать информацию. а так это попросту пустая трата времени.

Протирая глаза :shock: Angel71, это ты сказал? Что с тобой?
Тебе еще недавно бан выписывали за флуд и философствования, а тут вон оно чо...

Добавлено спустя 12 минут 42 секунды:
Scorpio писал(а):Foma я бы сказал - это какой-то язык транскрипций, а не программный.

Foma - красивое оформление однотипных действий, которое по истечению большого времени будет легко читаемым. Что ты и спрашивал :)
Описать синтезатор речи конечным автоматом - самое понятное решение. Только из-за большого нагромождения веток - алгоритм становится нечитаемым. Вот тут и появилось красивое решение.

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

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

Сообщение Angel71 » 29 ноя 2016, 20:44

если это флудом считаете, продолжайте и дальше заниматься своими примитивными лайнтрейсерами, зд принтерами.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение dccharacter » 29 ноя 2016, 21:48

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

Добавлено спустя 2 минуты 5 секунд:
Примеры целей:
-Поддержание батареи в заряженном состоянии
-Покрытие движением вверенной территории
-Перемещение грузов из т.А в т.Б
Веса при этом плавают в зависимости от состояния робота, например при разряде батареи "желание" зарядиться доминирует над желанием патрулировать и т.д.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Angel71 » 29 ноя 2016, 22:35

dccharacter, :) "goal agent programming".
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение dccharacter » 30 ноя 2016, 01:01

чо, читать топик? :-D

Добавлено спустя 8 минут 1 секунду:
Начал читать, вот же ж про это статья: https://habrahabr.ru/post/241941/
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 30 ноя 2016, 01:29

dccharacter писал(а):чо, читать топик?

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

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

Сообщение dccharacter » 30 ноя 2016, 01:32

Казань брал, Астрахань брал, вин10 не брал :pardon:
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Scorpio » 30 ноя 2016, 01:47

dccharacter писал(а): но мне интуитивно не нравится написание сценариев для роботов

Под СЦЕНАРИЕМ (можно и по-другому назвать), я понимаю кусок кода программы наиболее высокого уровня абстракции, который непосредственно описывает поведение робота в той или иной ситуации.
В частном случае, если пользователь робота не является его разработчиком, но хочет иметь возможность управлять поведением робота, сценарий может находиться во внешнем файле.
В любом случае, сценарий интерпретируется программой и переводится в последовательности более низкоуровневых комманд.
Вот пример сценария одной из простых миссий Ванессы, запускающейся по расписанию (на VB6, но это не принципиально):
Код: Выделить всёРазвернуть
Private Function MeetMe() As Boolean ' Задание "Встреть меня", запускается по рабочим дням в 13:00
MeetMe = False
  Voice (1)   'Настроить голос
If MODO = MODO_INIT Then
     If InitRobot <> 1 Then Exit Function  'инициализация робота, если не выполнена ранее
End If
Call SPK(65, 2000, 0, 10) 'Фраза "Приступаю к выполнению задания."
If GoMapPos(DoorPos, 2) <> 1 Then Exit Function 'Проехать по маршруту (карта) и встать напротив входной двери

Call MovDetect                              'Включить датчик движения
Do While Not MovDetectionFlag    'Бесконечный цикл ожидания движения
    If BateryCryticalFlag Then Exit Do 'В случае низкого заряда батареи - вернуться на базу.
    DoEvents
Loop
If Not BateryCryticalFlag Then
    Call SPK(64, 2000, 0, 10) 'Фраза "Добро пожаловать!"
    Call Time_speak 'Дождаться конца фразы
    Delay (2000)
   
    If GoMapPos(TVPos, 0) <> 1 Then Exit Function 'Проехать по маршруту (карта) и встать напротив телевизора
   
    Delay (2000)
    Call NEC(4, 8) ' Включить телевизор
    Delay (1000)
End If
If Not GoHome Then Exit Function 'вернуться на базу

MeetMe = True
End Function

Вид достаточно наглядный. Хотя присутствует один спорный момент: явный бесконечный цикл ожидания срабатывания датчика движения. Оф кос, можно было бы разбить сценарий на 2 части: до датчика и после датчика. И запускать вторую часть по событию движения. Но описание миссии потеряет свою целостность. Так вот, я тут собственно и пытался спросить: как правильно то? Кто каким стилем пользуется и кому как больше нравится? Тем более, что история с Ванессой была уже очень давно, а я так все и пишу по старинке. Может надо, как правильно научится.
Аватара пользователя
Scorpio
 
Сообщения: 2683
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

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

Сообщение dccharacter » 30 ноя 2016, 02:02

Да я понял. Скучно :-). Почитай статью на хабре, ссылка выше. Прописывается таблица переходов, указатели на функции и логика либо общая для любого перехода либо индивидуальная.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 30 ноя 2016, 02:29

dccharacter писал(а):Казань брал, Астрахань брал, вин10 не брал

Что? линухоидом стал? А кто это сделал? Так и не узнаем возможности вин10, пичалька :cry:
Кста, ты кедераст или гномосек?



Добавлено спустя 21 минуту 48 секунд:
Блин, про автора темы забыл :)
Дополнение:
Scorpio писал(а):Под СЦЕНАРИЕМ (можно и по-другому назвать), я понимаю кусок кода программы наиболее высокого уровня


Scorpio, да у тебя все супер, поверь. Просто ты берешь очередную планку. По твоим программам и я учился ( ну не знал я биолоидов). У меня в свое время был глюк - не мог писать программы на асме больше 1000 строк. Бился об стену около 3-х лет. А сейчас заглянул в код на асме для клиента - 4000 строк. И поверь, си там не проходит :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение Scorpio » 30 ноя 2016, 02:55

Dmitry__ писал(а):да у тебя все супер, поверь

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

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

Сообщение Dmitry__ » 30 ноя 2016, 03:12

Scorpio писал(а):Про таблицы я понял,это скорее средство диспетчера задач.

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

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

Сообщение Scorpio » 30 ноя 2016, 03:41

Выпил чтоли? :crazy: Пойду и себе налью, однако. Может пойму, что ты тут сказал.
Аватара пользователя
Scorpio
 
Сообщения: 2683
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

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

Сообщение Dmitry__ » 30 ноя 2016, 03:48

Да, выпил, шайтан, как у знал?
Но все что сказал - секреты трезвого программиста :)

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

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

Сообщение Scorpio » 30 ноя 2016, 04:48

по ним родимым....
Аватара пользователя
Scorpio
 
Сообщения: 2683
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Пред.След.

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

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

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