Formal Methods in Robotics
Dmitry Mordvinov, Yury Litvinov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
3. Робототехника как научная область
● Навигация
● SLAM
● Path Planning
● Захват (grasp)
● Медицинские роботы
● Промышленные роботы
● Взаимодействие человека и
робота
● ИИ
● Трекинг и распознавание
● Тактильные сенсоры
● Биологически вдохновленные
роботы
● Нетрадиционные шасси (двуногие,
многоногие роботы)
● Микро- и нанороботы
● Управление группами роботов
● Робототехника в образовании
● Формальные методы и
верификация
3/38
4. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
4/38
5. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
5/38
7. “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
8. ● Верификация vs cинтез
● Задача синтеза по LTL-спецификации в общем виде сложна!
● Класс GR(1) формул LTL
○ Piterman Nir, Pnueli Amir, Sa’ar Yaniv. Synthesis of reactive (1) designs, 2006
○
○ O(n3
)
○ Корректное “по построению” поведение
8/38
Темпоральные логики и планирование
9. Темпоральные логики и планирование
● 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
10. Темпоральные логики и планирование
● 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
○ Синтез в онлайн-режиме
11. Темпоральные логики и планирование
● 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
○ Мультиагентная система сбора отходов
12. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
12/38
13. Сети Петри
● 1962 г., Карл Петри
● Не тьюринг-полный формализм
● Анализ сетей Петри
○ Достижимость
○ Ограниченность
○ Безопасность
○ Живучесть
13/38
14. Сети Петри и робофутбол
● 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
15. Сети Петри и робофутбол
● A Robotic Soccer Passing Task Using Petri Net Plans. F. Palamara, V. Ziparo, L. Iocchi и др., 2008
⚬ Задача паса в робофутболе
⚬ Высокоуровневая сеть Петри как язык программирования мультиагентных
систем
⚬ Программирование одновременно нескольких роботов
15/38
16. Сети Петри как ЯП роботов
● 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
Визуальный редактор и дистанционное
управление с компьютера
17. Сети Петри и промышленные роботы
● 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
18. Сети Петри как база знаний
● Chang Guoting Jane, Kuli´c Dana. Robot Task Learning from Demonstration Using Petri Nets, 2013
● Человек-учитель перемещает предметы
● Стационарные состояния — позиции, перемещения — переходы
● Робот определяет кратчайшую последовательность перемещений анализом достижимости
18/38
19. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
19/38
20. Communicating Sequential Processes
● Алгебра процессов с операциями
→ Префикс
⊓ Недетерминированный выбор
▫ Детерминированный выбор
|| Параллельная композиция по пересечению
||| Параллельная композиция чередованием
; Последовательная композиция
Сокрытие
( ) Образ
−1
( ) Прообраз
20/38
21. 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
22. 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
23. Алгебры процессов и роботы
● 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
24. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
24/38
25. 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
26. 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
27. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
27/38
28. Гибридные системы
● 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
29. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
29/38
30. Марковские процессы
● Марковские процессы принятия решений (MDP)
M = ( , , 0
, , , )
○ — конечное множество состояний
○ — конечное множество действий
○ 0
: → [0, 1] — начальное распределение
вероятности
○ : × × → [0, 1] — вероятность перехода
○ : × × → R — функция награды
○ ∈ [0, 1] — фактор скидки
30/38
31. Марковские процессы
● Частично обозримые марковские процессы принятия решений
(POMDP)
M = ( , , 0
, , , , , )
○ — конечное множество состояний
○ — конечное множество действий
○ 0
: → [0, 1] — начальное распределение
вероятности
○ : × × → [0, 1] — вероятность перехода
○ : × × → R — функция награды
○ — конечное множество наблюдений
○ : × → — отображение, сопоставляющее
состоянию наблюдение
○ ∈ [0, 1] — фактор скидки
31/38
32. Марковские процессы и роботы
● Fu Jie, Topcu Ufuk. Pareto efficiency in synthesizing shared autonomy policies with temporal logic
constraints, 2014
○ Система с гибридным управлением
○ Постановка задачи в терминах LTL
○ Представление с помощью MDP
⚬ Когнитивное состояние оператора
⚬ Автономный режим робота
○ Поиск парето-оптимума между стратегиями
автономной работы и операторского управления
32/38
33. Марковские процессы и роботы
● 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
34. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
34/38
35. 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
36. План
● Темпоральные логики и планирование
● Сети Петри
● Алгебры процессов
○ Communicating Sequential Processes (CSP)
○ Process Algebra for Robot Schemas
● Гибридные системы
● Марковские модели
● Integrated Behavior-Based Control
● Динамическая верификация
36/38
37. Динамическая верификация
● 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
38. В итоге
● Много научных групп, сотни цитирований
○ Спецификации задач в LTL
○ Синтез управления, корректного “по построению”
○ Сети Петри
○ Марковские процессы
○ Алгебры процессов
○ Гибридные подходы
● Множество менее распространенных формализмов
○ PARS
○ IB2C
○ … (см. полную работу)
38/38