tmpa-2015: formal methods in robotics
TRANSCRIPT
Формальные методыв робототехнике
Дмитрий Мордвинов, СПбГУ[email protected]Юрий Литвинов, СПбГУ
Санкт-Петербург, 13.11.2015
2/38
Робототехника
Робототехника как научная область● Навигация ● SLAM● Path Planning● Захват (grasp)● Медицинские роботы● Промышленные роботы● Взаимодействие человека и
робота● ИИ● Трекинг и распознавание
● Тактильные сенсоры● Биологически вдохновленные
роботы● Нетрадиционные шасси (двуногие,
многоногие роботы)● Микро- и нанороботы● Управление группами роботов● Робототехника в образовании● Формальные методы и
верификация
3/38
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
4/38
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
5/38
Темпоральные логики и планирование● Antoniotti Marco, Mishra Bud. Discrete event models + temporal logic = supervisory controller: Automatic
synthesis of locomotion controllers, 1995
6/38
“Visit room r2, then room r1 and then cover rooms r3, r4, r5 - all this while avoiding
obstacles o1, o2, o3”Карта + LTL-формула
LTS + условие корректности
Контрпример (дискретный план)
Непрерывное управление
7/38
“Visit all rooms”◊r1 ∧ ◊r2 ∧ ◊r3 ∧ ◊r4 ∧ ◊r5 ∧ ◊r6
Темпоральные логики и планирование● Fainekos Georgios E, Kress-Gazit Hadas, Pappas George J. Temporal logic motion planning for mobile
robots, 2005
● Верификация vs cинтез● Задача синтеза по LTL-спецификации в общем виде сложна!● Класс GR(1) формул LTL
○ Piterman Nir, Pnueli Amir, Sa’ar Yaniv. Synthesis of reactive (1) designs, 2006○○ O(n3)○ Корректное “по построению” поведение
8/38
Темпоральные логики и планирование
Темпоральные логики и планирование● Kress-Gazit Hadas, Fainekos Georgios E, Pappas George J. Where’s Waldo? Sensor-based temporal logic
motion planning, 2007
⚬ Starting in region 1⚬ Keep checking whether a baby is crying
in regions 2 or 4⚬ If you find a crying baby, go look for an
adult in regions 6, 7 and 8. Keep looking until you find him
⚬ After finding the adult, go back to monitoring the babies and so on
9/38
Темпоральные логики и планирование● Kress-Gazit Hadas, Fainekos Georgios E, Pappas George J. Temporal-logic-based reactive mission and
motion planning, 2009
○ Произвольные действия (включение/отключение видеокамеры)
○ Реактивное непрерывное управление
10/38
● Livingston Scott C, Murray Richard M. Just-in-time synthesis for reactive motion planning with temporal logic, 2013
○ Синтез в онлайн-режиме
Темпоральные логики и планирование● Towards manipulation planning with temporal logic specifications / Keliang He, Morteza Lahijanian, Lydia E
Kavraki и др., 2015
11/38
● Vasile Cristian Ioan, Belta Calin. Reactive sampling-based temporal logic path planning, 2014
○ Планирование действий робота-спасателя
● Raman Vasumathi, Kress-Gazit Hadas. Synthesis for multirobot controllers with interleaved motion, 2014
○ Мультиагентная система сбора отходов
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
12/38
Сети Петри
● 1962 г., Карл Петри● Не тьюринг-полный формализм● Анализ сетей Петри
○ Достижимость○ Ограниченность○ Безопасность○ Живучесть
13/38
Сети Петри и робофутбол● Costelha Hugo, Lima Pedro. Robotic Tasks
Modeling and Analysis Based on Petri Nets, 2003
● Costelha Hugo, Lima Pedro. Petri net robotic task plan representation, 2010
14/38
Сети Петри и робофутбол● A Robotic Soccer Passing Task Using Petri Net Plans. F. Palamara, V. Ziparo, L. Iocchi и др., 2008
⚬ Задача паса в робофутболе⚬ Высокоуровневая сеть Петри как язык программирования мультиагентных
систем⚬ Программирование одновременно нескольких роботов
15/38
Сети Петри как ЯП роботов● Simon Jochen, Moldt Daniel. PyTri, a Visual
Agent Programming Language, 2010● Kashima Hideharu, Masuda Ryosuke. Cooperative
Control of Mobile Roots Based on Petri Net, 2001
Сеть Петри как dataflow-язык программирования мультиагентных систем
16/38
Визуальный редактор и дистанционное управление с компьютера
Сети Петри и промышленные роботы● Aguiar Adriano Jose Cunha, Villani Emilia. Petri
Nets and Graphic Simulation for the Validation of Collaborative Robotic Cells in Aircraft Industry, 2010
⚬ Симулятор сетей Петри для верификации и оптимизации технологических процессов
● Конюх В.Л. Опыт применения сетей Петри для имитации поведения систем, ИММОД-2009, пленарный доклад
⚬ Цветные сети Петри⚬ Симуляция и генерация в код 3D-
симулятора17/38
Сети Петри как база знаний● Chang Guoting Jane, Kuli´c Dana. Robot Task Learning from Demonstration Using Petri Nets, 2013
● Человек-учитель перемещает предметы● Стационарные состояния — позиции, перемещения — переходы● Робот определяет кратчайшую последовательность перемещений анализом достижимости
18/38
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
19/38
Communicating Sequential Processes● Алгебра процессов с операциями
→ Префикс ⊓ Недетерминированный выбор ▫ Детерминированный выбор || Параллельная композиция по пересечению ||| Параллельная композиция чередованием ; Последовательная композиция \ Сокрытие ( ) Образ −1( ) Прообраз
20/38
CSP и роботы● Lankenau Axel, Meyer Oliver. Formal methods in robotics: Fault tree based verification, 1999
⚬ Bremen Autonomous Wheelchair⚬ Fault Tree⚬ Генерация Fault Tree в FDR2⚬ Refinement Checking модели
автономного кресла
21/38
CSP и роботы● Process-Oriented Subsumption Architectures in Swarm Robotic Systems. / Jeremy C Posso, Adam T Sampson,
Jonathan Simpson и др., 2011
⚬ Brooks`s Subsumption Architecture
⚬ occam-π + Transterpreter + Surveyor SRV-1
⚬ Мультиагентная система сборки отходов
22/38
Алгебры процессов и роботы● Varricchio Valerio, Chaudhari Pratik, Frazzoli Emilio. Sampling-based algorithms for optimal motion
planning using process algebra specifications, 2014
23/38
○ Планирование движения со спецификацией в Basic Process Algebra
○ Альтернатива: “ + ”○ Последовательная композиция: “ · ”○ Параллельная композиция: “ || ”
○ Case Study со станцией зарядки электромобилей○ “Переместиться либо сразу к станции зарядки, либо
занять одно из парковочных мест”○ Φc = s1 + (⍵1 + ⍵2 + ⍵3 + ⍵4) · s1
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
24/38
Process Algebra for Robot Schemas (PARS)● Performance Verification for Behavior-based Robot Missions, 2015
● A Software Tool for the Design of Critical Robot Missions with Performance Guarantees. Damian M. Lyons, Ronald C. Arkin, Paramesh Nirmal и др., 2013
; Последовательное исполнение| Параллельное исполнение до завершения всех# Параллельное исполнение до завершения одного
= ( ⟨ , ⟩; | ⟨ , ⟩; ) Условный оператор⟨ ⟩⟨ ⟩ = ⟨ ⟩⟨ ⟩; ⟨ ⟩ Хвостовая рекурсия
⟨ ⟩ Временная задержка⟨ ⟩⟨ ⟩ Чтение данных из порта⟨ , ⟩ Вывод данных на порт⟨Φ⟩⟨ ⟩ Элемент случайности
25/38
Process Algebra for Robot Schemas (PARS)
○ Задача поиска предметов в помещении○ Априорная вероятность успешности миссии○ Более сотни экспериментов, предсказанные
значения соответствуют реальным
26/38
● Performance Verification for Behavior-based Robot Missions, 2015
● A Software Tool for the Design of Critical Robot Missions with Performance Guarantees. Damian M. Lyons, Ronald C. Arkin, Paramesh Nirmal и др., 2013
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
27/38
Гибридные системы● The algorithmic analysis of hybrid systems. Rajeev Alur, Costas Courcoubetis, Nicolas Halbwachs и др., 1995● Henzinger T. A., Ho P. H. HyTech: The Cornell hybrid technology tool, 1995
28/38
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
29/38
Марковские процессы● Марковские процессы принятия решений (MDP)
M = ( , , 0, , , )
○ — конечное множество состояний○ — конечное множество действий○ 0 : → [0, 1] — начальное распределение
вероятности○ : × × → [0, 1] — вероятность перехода○ : × × → R — функция награды○ ∈ [0, 1] — фактор скидки
30/38
Марковские процессы● Частично обозримые марковские процессы принятия решений
(POMDP)
M = ( , , 0, , , , , )
○ — конечное множество состояний○ — конечное множество действий○ 0 : → [0, 1] — начальное распределение
вероятности○ : × × → [0, 1] — вероятность перехода○ : × × → R — функция награды○ — конечное множество наблюдений○ : × → — отображение, сопоставляющее
состоянию наблюдение○ ∈ [0, 1] — фактор скидки
31/38
Марковские процессы и роботы● Fu Jie, Topcu Ufuk. Pareto efficiency in synthesizing shared autonomy policies with temporal logic
constraints, 2014
○ Система с гибридным управлением○ Постановка задачи в терминах LTL○ Представление с помощью MDP
⚬ Когнитивное состояние оператора⚬ Автономный режим робота
○ Поиск парето-оптимума между стратегиями автономной работы и операторского управления
32/38
Марковские процессы и роботы● Qualitative analysis of POMDPs with temporal logic specifications for robotics applications. Krishnendu
Chatterjee, Martin Chmelik, Raghav Gupta и др., 2014● Temporal Logic Motion Planning using POMDPs with Parity Objectives. Svoreňová M., Martin Chmelik и
др., 2015
○ Разрешимость качественного и количественного анализа POMDP⚬ Улучшение оценки сложности качественного анализа
○ Постановка задачи в терминах LTL○ Case Studies
⚬ Управление шаттлом⚬ Cheese Maze⚬ Grid of Locations⚬ RockSample⚬ Hallway problems⚬ Maze navigation problems⚬ Управление квадрокоптером 33/38
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
34/38
Integrated Behavior-Based Control (iB2C)● Proetzsch Martin, Luksch Tobias, Berns Karsten. The Behaviour-Based Control Architecture iB2C for
Complex Robotic Systems. 2007● Kiekbusch Lisa, Armbrust Christopher, Berns Karsten. Formal Verification of Behaviour Networks Including
Hardware Failures. 2014
○ Расширение архитектуры Брукса○ Автоматическая генерация набора автоматов○ Model checking○ Эксперименты по отказу датчиков
35/38
План ● Темпоральные логики и планирование● Сети Петри● Алгебры процессов
○ Communicating Sequential Processes (CSP)○ Process Algebra for Robot Schemas
● Гибридные системы● Марковские модели● Integrated Behavior-Based Control● Динамическая верификация
36/38
Динамическая верификация● Mitsch Stefan, Platzer Andre. ModelPlex: Verified
Runtime Validation of Verified Cyber-Physical System Models, 2014
● ROSRV: Runtime Verification for Robots. Jeff Huang, Cansu Erdogan, Yi Zhang и др., 2014.
○ Верифицированная модель робота и окружающей среды уже дана
○ Генерация кода верификатора○ Формальное доказательство корректности
и своевременности перехода на аварийный режим работы
○ Монитор активности узлов ROS○ Инициация аварийного поведения при
нарушении требований○ Специальный язык описания монитора○ Пример с контролем угла наклона
пейнтбольной пушки37/38
В итоге● Много научных групп, сотни цитирований
○ Спецификации задач в LTL○ Синтез управления, корректного “по построению”○ Сети Петри○ Марковские процессы○ Алгебры процессов○ Гибридные подходы
● Множество менее распространенных формализмов○ PARS○ IB2C○ … (см. полную работу)
38/38