RoboStar Technology Software Engineering for Robotics Ana - - PowerPoint PPT Presentation

robostar technology software engineering for robotics
SMART_READER_LITE
LIVE PREVIEW

RoboStar Technology Software Engineering for Robotics Ana - - PowerPoint PPT Presentation

RoboStar Technology Software Engineering for Robotics Ana Cavalcanti University of York, UK - RoboStar ( www.cs.york.ac.uk/RoboStar ) 14th of November, 2019 Thanks : Alvaro Miyazawa, Pedro Ribeiro, Augusto Sampaio, Jon Timmis Ana Cavalcanti


slide-1
SLIDE 1

RoboStar Technology Software Engineering for Robotics

Ana Cavalcanti

University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)

14th of November, 2019

Thanks: Alvaro Miyazawa, Pedro Ribeiro, Augusto Sampaio, Jon Timmis

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 1 / 33

slide-2
SLIDE 2

Outline

◮ Motivation: current approach ◮ Our approach ◮ Simulation generation ◮ RoboSim ◮ Physical modelling ◮ Future work

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 2 / 33

slide-3
SLIDE 3

Current approach to development in robotics

1st phase: Abstract model

state machine

1st phase: Abstract model

state machine controller code hardware simulation discrete environment simulation

2nd phase: Simulation

controller code hardware simulation discrete environment simulation

2nd phase: Simulation

low-level code robot environment

3rd phase: Implementation

◮ Outdated ◮ No use of models ◮ No tool support ◮ Programming-based ◮ Trial-and-error based ◮ No assurance

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 3 / 33

slide-4
SLIDE 4

Example state machines

Figure 1: Complete state diagram illustrating the operation of the Relay Chain algorithm. The three core states ALIFE 14: Proceedings of the Fourteenth International Conference on the Synthesis and Simulation of Living Systems

Becky Naylor, Mark Read, Jon Timmis, and Andy Tyrrell. The Relay Chain: Communication between an Exploratory Underwater Shoal and a Surface Vehicle. ALIFE 14: Proceedings of the 14th International Conference on the Synthesis and Simulation of Living Systems. Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 4 / 33

slide-5
SLIDE 5

Example state machines

“A group of e-puck robots transporting an object (blue box) towards a goal (red cylinder).” Jianing Chen, M. Gauci and R. Gross. “A strategy for transporting tall objects with a swarm of miniature mobile robots”. In: Robotics and Automation (ICRA), 2013 IEEE International Conference on. 2013, pp. 863–869. Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 5 / 33

slide-6
SLIDE 6

Our approach

RoboChart + RoboWorld Model Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 6 / 33

slide-7
SLIDE 7

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart+ RoboWorld Model Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 7 / 33

slide-8
SLIDE 8

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart+ RoboWorld Model Model checkers Theorem provers Properties of interest valid? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 8 / 33

slide-9
SLIDE 9

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 9 / 33

slide-10
SLIDE 10

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 10 / 33

slide-11
SLIDE 11

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model YES Robotics Simulator valid? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 11 / 33

slide-12
SLIDE 12

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 12 / 33

slide-13
SLIDE 13

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO YES Deployment Code

AUTOMATIC GENERATION

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 13 / 33

slide-14
SLIDE 14

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO YES Test cases

CONVERSION

Test cases Test cases Deployment Code

AUTOMATIC GENERATION

System Testing correct? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 14 / 33

slide-15
SLIDE 15

Our approach

AUTOMATIC GENERATION

Proof Model RoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO YES Test cases

CONVERSION

Test cases Test cases Deployment Code

AUTOMATIC GENERATION

System Testing correct? NO Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 15 / 33

slide-16
SLIDE 16

Our approach

AUTOMATIC GENERATION

Proof Model RoboWorld+RoboChart Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO YES Test cases

CONVERSION

Test cases Test cases Deployment Code

AUTOMATIC GENERATION

System Testing correct? NO YES Code Proofs Test results and assumptions Environment restrictions CERTIFIED FOR SAFE USE Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 16 / 33

slide-17
SLIDE 17

RoboTool support for our approach

Eclipse plug-ins: www.cs.york.ac.uk/robostar/

RoboChart Models Requirements

ARGoS v-rep

RoboTool C++ / SDF PRISM Storm Reactive Modules Formalism CSP and timed-CSP Qualitative Results Simulation Quantitative Results

chemical detector - autonomous pod - transporter - solar vacuum cleaner - ...

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 17 / 33

slide-18
SLIDE 18

Our approach: more detail

AUTOMATIC GENERATION

Proof Model RoboWorld+RoboChart Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO YES Test cases

CONVERSION

Test cases Test cases Deployment Code

AUTOMATIC GENERATION

System Testing correct? NO YES Code Proofs Test results and assumptions Environment restrictions CERTIFIED FOR SAFE USE Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 18 / 33

slide-19
SLIDE 19

Our approach: more detail

AUTOMATIC GENERATION

Proof Model RoboChart+RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model

AUTOMATIC GENERATION

YES Robotics Simulator valid? NO YES Test cases

CONVERSION

Test cases Test cases Deployment Code

AUTOMATIC GENERATION

System Testing correct? NO YES Code Proofs Test results and assumptions Environment restrictions CERTIFIED FOR SAFE USE Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 19 / 33

slide-20
SLIDE 20

Our approach

Control Software Platform Services Environment Assumptions

RoboChart + RoboWorld

Control Software Platform Physical Model Scenario

RoboSim

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 20 / 33

slide-21
SLIDE 21

Our approach

Control Software Platform Services Environment Assumptions

RoboChart + RoboWorld

Control Software Platform Physical Model Scenario

RoboSim

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 21 / 33

slide-22
SLIDE 22

Our approach

Control Software Platform Services Environment Assumptions

RoboChart + RoboWorld

Control Software Platform Physical Model Scenario

RoboSim

Platform Services

realisation

abstraction

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 22 / 33

slide-23
SLIDE 23

Our approach

Control Software Platform Services Environment Assumptions

RoboChart + RoboWorld

Control Software Platform Physical Model Scenario

RoboSim

Platform Services

realisation

abstraction

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 23 / 33

slide-24
SLIDE 24

A very small RoboSim example - d-model

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 24 / 33

slide-25
SLIDE 25

Behaviour for RoboSim: cycle simulation

while true read sensors process data write to actuators cycle period{

... Buffered parallelism Visible behaviour: registerRead and registerWrite

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 25 / 33

slide-26
SLIDE 26

Behaviour for RoboSim: cycle simulation

while true read sensors process data write to actuators cycle period{

... Buffered parallelism Visible behaviour: registerRead and registerWrite

?

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 25 / 33

slide-27
SLIDE 27

p-model: physical model

◮ Inspired by facilities offered by simulators ◮ Basic notions: links, joints, sensors, actuators ◮ Sensors, actuators, joints: system of differential algebraic equations ◮ Diagrammatic notation: block diagram ◮ Linked to a module: platform mapping ◮ Sensors and actuators → Variables, events, and operations ◮ Automatic generation

◮ XML-based SDF for simulation ◮ CSP-based model for reasoning

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 26 / 33

slide-28
SLIDE 28

A very small example - Not the footbot

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 27 / 33

slide-29
SLIDE 29

A very small example - Not the footbot

link link body body joint

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 28 / 33

slide-30
SLIDE 30

A very small example - Not the footbot

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 29 / 33

slide-31
SLIDE 31

Platform mappings

◮ Association between d-model and p-model ◮ Defines variables, events, and operations ◮ Variable: input to actuators ◮ Input events: predicate and communicated values, if any ◮ Output events: assignment to inputs of actuators ◮ Operations: actions or DAE systems ◮ Very simple definitions: no time

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 30 / 33

slide-32
SLIDE 32

Platform mapping - a small example

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 31 / 33

slide-33
SLIDE 33

Generating simulations and mathematical models

Translation to SDF

◮ Automatic ◮ Useful tool for validation ◮ Various physics engines ◮ Equations are (mostly) ignored

Translation to Hybrid CSP

◮ Automatic ◮ Useful tool for proof ◮ Equations are used ◮ Proof with Isabelle/UTP

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 32 / 33

slide-34
SLIDE 34

So, what next?

RoboSim

◮ Implementation ◮ Refinement technique ◮ Soundness ◮ Case studies

Support to user

◮ Properties language ◮ Modelling of environment ◮ Test generation

Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 33 / 33