roboforum.ru

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

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

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

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

Сообщение dccharacter » 03 дек 2016, 03:29

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

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

Сообщение Scorpio » 03 дек 2016, 05:21

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

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

Сообщение dccharacter » 03 дек 2016, 05:25

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

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

Сообщение smur » 03 дек 2016, 10:59

Не, мы вот так хотим научиться:
https://www.youtube.com/watch?v=g0TaYhjpOfo
smur
 
Сообщения: 90
Зарегистрирован: 22 ноя 2016, 22:00

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

Сообщение Dmitry__ » 03 дек 2016, 14:26

Кста, есть красивое доказательство, что любую парадигму программирования можно заменить конечными автоматами. Даже ИИ можно заменить конечным автоматом. Отсюда вопрос, есть ли смысл в изучении всех этих новшеств? Может лучше тратить время на совершенствование конечных автоматов? :)

Добавлено спустя 5 минут 57 секунд:
:ROFL:

Изображение
«Забытые» парадигмы программирования:
https://habrahabr.ru/post/223253/
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение smur » 03 дек 2016, 15:39

Эдак мы до сотворения мира дойдём :)
Машина Тьюринга (МТ) — математическая абстракция, представляющая вычислительную машину общего вида. Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма. Машина Тьюринга является расширением модели конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать (при наличии соответствующей программы) любую машину, действие которой заключается в переходе от одного дискретного состояния к другому.
Тезис Черча-Тьюринга [6] гласит, что все, что можно «вычислить», «запрограммировать» или «распознать» в любом смысле (из формально определенных в настоящее время) можно вычислить, запрограммировать или распознать с помощью подходящей машины Тьюринга.

Добавлено спустя 27 минут 24 секунды:
"Автоматное программирование" это расширенная модель конечных автоматов и может быть дополнена другими методами.
Мне этот подход понравился тем, что он хорошо документирован и имеет много практических примеров.

Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением
http://is.ifmo.ru/download/tsarev_slides.ppt

Использование генетических алгоритмов для построения автопилота для простейшего вертолета
Применение генетических алгоритмов для создания системы управления танком в игре Robocode
Виртуальная лаборатория обучения методам искусственного интеллекта для генерации управляющих конечных автоматов (PDF)
http://is.ifmo.ru/genalg/
smur
 
Сообщения: 90
Зарегистрирован: 22 ноя 2016, 22:00

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

Сообщение Виктор Казаринов » 03 дек 2016, 17:28

Вот имплементация Лунохода вместе с простейшим симулятором и средой разработки на языке CLIPS под Windows в том виде, как мы обсуждали выше:
Lunochod1201612031828.zip
IDE CLIPS с программой Lunochod1
(427.43 КиБ) Скачиваний: 0

Здесь все то же, но с исходниками CLIPS в проекте для MSVS2010:
Lunochod1_MSVS2010201612031836.zip
MSVS2010 с исходными кодами IDE CLIPS и программой Lunochod1
(3.48 МиБ) Скачиваний: 0

Небольшое пояснение.
1. Все, что в этих файлах, не требует никакой инсталляции.
2. Все файлы представлены в кодировке ANSI.
3. После скачивания файлов рекомендую на всякий случай проверить их антивирусом.
4. Скачав и распаковав файл по первой ссылке можно зайти в каталог Lunochod1 и запустить файл CLIPSIDE.exe
5. После запуска в верхнем меню программы CLIPS 6.3 File->Load Batch... можно выбрать файл Lunochod1NoBarrier.bat
6. Начнет выполняться bat файл, который загрузит из вложенного каталога Lunochod1 программные модули на языке CLIPS.
7. После успешной загрузки всех модулей программа автоматически стартует и после выполнения выдаст в окне Dialog Window лог своей работы.
8. В этом логе заглавными буквами выводится название модуля, затем через два двоеточия собственно логируемая информация.
9. При повторном запуске программы можно выбрать файл Lunochod1Barrier.bat в котором симулятор устанавливает и убирает препятствие на пути лунохода.
10. Для удобства тех, кто по каким-то причинам не пожелает запустить программу, в том же самом каталоге, где расположены модули, я разместил текстовые файлы с логами Mission1BarrierLog.txt и Mission1NoBarrierLog.txt.
11. В логах видно, что в цикле чередуется работа модулей MAIN, SIMULATOR, MISSION, SENSOR, SOLVER, EXECUTOR.
Более подробное пояснение работы программы исмеет смысл делать, если кто-то проявит интерес.
12. Для языка CLIPS у меня имеется достаточно книг и другой документации в т.ч. на русском языке, которой я легко поделюсь, если кому-то она понадобится.
13. На основе данного простейшего проекта можно создать более сложные сценарии и внутреннюю организацию робота.
14. CLIPS легко может работать под разными ОС включая Android, поэтому следующим шагом можно было бы перейти к аппаратной реализации лунохода, чтобы не погрязнуть в симуляторах. Это можно обсудить отдельно.
Последний раз редактировалось Виктор Казаринов 03 дек 2016, 19:34, всего редактировалось 3 раз(а).
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

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

Сообщение Scorpio » 03 дек 2016, 19:09

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

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

Сообщение Dmitry__ » 03 дек 2016, 20:49

Если честно, я в легком шоке от программы. Даже не знаю с чего начать :shock:
А кто в исходниках сам код лунохода? Хотелось бы посмотреть на реализацию 10-ти ассемблерных строк лунохода в виде ИИ.

Добавлено спустя 32 минуты 22 секунды:
Scorpio писал(а): у меня СМ5 на 128й меге. И прицепить к ней ничего не возможно.

А ты хочешь родной модуль купить к биолоиду, типа cm-530? Или что-то свое городить?
Давно не следил за открытыми проектами, может что-то появилось интересное альтернативное для биолоида.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение smur » 03 дек 2016, 21:13

Да, сильно
" CLIPS, (от англ. C Language Integrated Production System) — программная среда для разработки экспертных систем. Синтаксис и название предложены Чарльзом Форги (Charles Forgy) в OPS (Official Production System). Первые версии CLIPS разрабатывались с 1984 года в Космическом центре Джонсона (Johnson Space Center), NASA (как альтернатива существовавшей тогда системе ART*Inference), пока в начале 1990-х не было приостановлено финансирование, и NASA вынудили купить коммерческие продукты.
...
Такое представление близко к человеческому мышлению и отличается от программ, написанных на традиционных алгоритмических языках, где действия упорядочены и выполняются строго придерживаясь алгоритма.
CLIPS является одной из наиболее широко используемых инструментальных сред для разработки экспертных систем благодаря своей скорости, эффективности и бесплатности. Являясь общественным достоянием, она до сих пор обновляется и поддерживается своим изначальным автором, Гэри Райли (Gary Riley)."

Мне кажется, что представление действий в графическом виде тоже сильно облегчает восприятие логики. Одно дело, когда это два-три параметра, а вот когда нужно написать сложную логику, тут без визуализации связей довольно трудно и можно запутаться. Но это лично моё мнение. Я пока буду придерживаться подхода в виде графов.

Если у Виктора квадрокоптер на CLIPS летает, то это круто :)
smur
 
Сообщения: 90
Зарегистрирован: 22 ноя 2016, 22:00

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

Сообщение Scorpio » 03 дек 2016, 21:45

Dmitry__ писал(а):А ты хочешь родной модуль купить к биолоиду, типа cm-530? Или что-то свое городить?

CM9 прикупил. У него среде разработки, как Arduino IDE. Питаться будет от 3-х 18650. Есть такая фигня еще в запасе. Может для развития пригодится.
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

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

Сообщение Dmitry__ » 03 дек 2016, 22:56

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

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

Сообщение Scorpio » 03 дек 2016, 23:02

Они сейчас прикольных гуманоидов делают ростом с ребенка.

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

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

Сообщение Dmitry__ » 03 дек 2016, 23:25

Scorpio писал(а):Таким ИИ уже просто необходим

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

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

Сообщение smur » 04 дек 2016, 00:01

Это слишком категорично :)
Конечный автомат — абстрактный автомат, число возможных внутренних состояний которого конечно.
В некоторых случаях возможно разделение на управляющие состояния и вычислительные состояния. Ну итп.
Автоматное программирование - программирование от состояний.
К сильным сторонам АП можно отнести:
1. Простота и, как следствие, надежность
2. Наглядность алгоритма
3. Гибкость алгоритма.
Недостатки:
Порой трудно делать моделирование, приходится искусственно добавлять состояния
Громоздкость

Так что нужно смотреть по месту, насколько удобно применить для данной модели.
smur
 
Сообщения: 90
Зарегистрирован: 22 ноя 2016, 22:00

Пред.След.

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

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

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