• No results found

Dependable Path Planning for Autonomous Control

N/A
N/A
Protected

Academic year: 2021

Share "Dependable Path Planning for Autonomous Control"

Copied!
72
0
0

Loading.... (view fulltext now)

Full text

(1)

A TH P LA N N IN G F O R A U TO N O M O U S C O N TR O L 20 19 ISBN 978-91-7485-451-0 ISSN 1651-9256

Address: P.O. Box 883, SE-721 23 Västerås. Sweden Address: P.O. Box 325, SE-631 05 Eskilstuna. Sweden E-mail: info@mdh.se Web: www.mdh.se

(2)

DEPENDABLE PATH PLANNING FOR AUTONOMOUS CONTROL

Lan Anh Trinh

2019

School of Innovation, Design and Engineering

DEPENDABLE PATH PLANNING FOR AUTONOMOUS CONTROL

Lan Anh Trinh

2019

(3)

Copyright © Lan Anh Trinh, 2019 ISBN 978-91-7485-451-0

ISSN 1651-9256

Printed by E-Print AB, Stockholm, Sweden

Copyright © Lan Anh Trinh, 2019 ISBN 978-91-7485-451-0

ISSN 1651-9256

(4)
(5)

Acknowledgments

I would like to express my thanks to many persons who have directly and indi-rectly helped me on the path that leads to this dissertation. First and foremost, I especially thank my supervisors, Professor Dr. Mikael Ekstr¨om and Dr. Baran C¨ur¨ukl¨u, who have guided and supported my research with warm encourage-ment and insightful advice. I also thank for their great helps in life so that I can understand more about Swedish culture, overcome all difficulties, settle down and feel that Sweden is my second mother land.

I also especially thank all MDH gangs, PhD students in Malardalen Uni-versity, who are very good, friendly, and enthusiastic. Even though we do not communicate much, you guys always give me nice advices when needed. Many thanks to all of my friends in Robotics Group, who have been always very nice and friendly teammates, Fredrik, Carl, and others, especially two my office-mates Gita and Branko, who have helped me a lots in both researches and life. Many next thanks to DPAC leaders who have proposed an excellent project so that I have learnt a lots and enjoyed working within the project. I am always thankful to administrative ladies who have made all the complicated administrative procedures to become easy and smooth.

Last but not least, I would like to especially thank my family in Vietnam, my husband, and my little Sam for their unconditional supports, endless love, and encouragement. They are my accompany at every stage in my educa-tion and life. They are the ones I can always share the burden of stress. My motivation is also contributed by the love from them and their belief for this

iv

Acknowledgments

I would like to express my thanks to many persons who have directly and indi-rectly helped me on the path that leads to this dissertation. First and foremost, I especially thank my supervisors, Professor Dr. Mikael Ekstr¨om and Dr. Baran C¨ur¨ukl¨u, who have guided and supported my research with warm encourage-ment and insightful advice. I also thank for their great helps in life so that I can understand more about Swedish culture, overcome all difficulties, settle down and feel that Sweden is my second mother land.

I also especially thank all MDH gangs, PhD students in Malardalen Uni-versity, who are very good, friendly, and enthusiastic. Even though we do not communicate much, you guys always give me nice advices when needed. Many thanks to all of my friends in Robotics Group, who have been always very nice and friendly teammates, Fredrik, Carl, and others, especially two my office-mates Gita and Branko, who have helped me a lots in both researches and life. Many next thanks to DPAC leaders who have proposed an excellent project so that I have learnt a lots and enjoyed working within the project. I am always thankful to administrative ladies who have made all the complicated administrative procedures to become easy and smooth.

Last but not least, I would like to especially thank my family in Vietnam, my husband, and my little Sam for their unconditional supports, endless love, and encouragement. They are my accompany at every stage in my educa-tion and life. They are the ones I can always share the burden of stress. My motivation is also contributed by the love from them and their belief for this

(6)

v

dissertation. I want to dedicate this thesis to them whom I love most in my life. Lan Anh Trinh V¨aster˚as, December, 2019

v

dissertation. I want to dedicate this thesis to them whom I love most in my life. Lan Anh Trinh V¨aster˚as, December, 2019

(7)
(8)

Sammanfattning

Att byta fr˚an automatisk till autonom kontroll har visat sig vara ett av de vik-tigaste teknikskiften vid utvecklingen av robotar idag. Den autonoma kon-trollen g¨or det m¨ojligt f¨or en robot att ha mer frihet samt m¨ojlighet till di-rekt interaktion med m¨anniskor och andra robotar. Att ha en p˚alitlig plattform f¨or autonom kontroll blir d˚aavg¨orande n¨ar vid byggandet av ett s˚adant sys-tem. Tillf¨orlitligheten hos en robotagent representeras av ett antal huvudat-tribut s˚asom tillg¨anglighet, dvs systemets kontinuerliga drift ¨over ett tidsinter-vall, tillf¨orlitlighet, dvs systemets f¨orm˚aga att tillhandah˚alla korrekta tj¨anster, och s¨akerhet, dvs. robotagenten m˚aste s¨akerst¨alla s¨akra kontroller f¨or att und-vika katastrofala konsekvenser f¨or anv¨andare, andra robotar och slutligen milj¨on. Med tanke p˚aatt banplanering ¨ar en av nyckelkomponenterna i ett autonomt kontrollsystem f¨or robotagenter, syftar arbetena som presenteras i denna avhan-dling att bygga en p˚alitlig, dvs s¨aker, p˚alitlig och effektiv banplaneringsal-goritm f¨or en grupp robotar som delar sitt arbetsutrymme med m¨anniskor. F¨or det f¨orsta f¨oresl˚as en ny metod f¨or banplanering av flera robotagenter baserat p˚adipolfl¨odesf¨alt. F¨or att initialisera v¨agarna fr˚an en startpunkt till ett m˚al anv¨ands banplanering med Theta* - algoritmen f¨or en upps¨attning av agenter. F¨or att hantera statiska hinder f¨or en robot som ¨ar p˚av¨ag till m˚alet definieras ett statiskt fl¨odesf¨alt l¨angs den konfigurerade banan. Ett dipolf¨alt ber¨aknas sedan f¨or att undvika kollision med andra agenter och personer. I detta tillv¨agag˚angss¨att antas varje robotagent vara en k¨alla till ett magnetiskt dipolf¨alt, i vilket det magnetiska momentet ¨ar riktat i agentens r¨orelseriktning,

vii

Sammanfattning

Att byta fr˚an automatisk till autonom kontroll har visat sig vara ett av de vik-tigaste teknikskiften vid utvecklingen av robotar idag. Den autonoma kon-trollen g¨or det m¨ojligt f¨or en robot att ha mer frihet samt m¨ojlighet till di-rekt interaktion med m¨anniskor och andra robotar. Att ha en p˚alitlig plattform f¨or autonom kontroll blir d˚aavg¨orande n¨ar vid byggandet av ett s˚adant sys-tem. Tillf¨orlitligheten hos en robotagent representeras av ett antal huvudat-tribut s˚asom tillg¨anglighet, dvs systemets kontinuerliga drift ¨over ett tidsinter-vall, tillf¨orlitlighet, dvs systemets f¨orm˚aga att tillhandah˚alla korrekta tj¨anster, och s¨akerhet, dvs. robotagenten m˚aste s¨akerst¨alla s¨akra kontroller f¨or att und-vika katastrofala konsekvenser f¨or anv¨andare, andra robotar och slutligen milj¨on. Med tanke p˚aatt banplanering ¨ar en av nyckelkomponenterna i ett autonomt kontrollsystem f¨or robotagenter, syftar arbetena som presenteras i denna avhan-dling att bygga en p˚alitlig, dvs s¨aker, p˚alitlig och effektiv banplaneringsal-goritm f¨or en grupp robotar som delar sitt arbetsutrymme med m¨anniskor. F¨or det f¨orsta f¨oresl˚as en ny metod f¨or banplanering av flera robotagenter baserat p˚adipolfl¨odesf¨alt. F¨or att initialisera v¨agarna fr˚an en startpunkt till ett m˚al anv¨ands banplanering med Theta* - algoritmen f¨or en upps¨attning av agenter. F¨or att hantera statiska hinder f¨or en robot som ¨ar p˚av¨ag till m˚alet definieras ett statiskt fl¨odesf¨alt l¨angs den konfigurerade banan. Ett dipolf¨alt ber¨aknas sedan f¨or att undvika kollision med andra agenter och personer. I detta tillv¨agag˚angss¨att antas varje robotagent vara en k¨alla till ett magnetiskt dipolf¨alt, i vilket det magnetiska momentet ¨ar riktat i agentens r¨orelseriktning,

(9)

viii

med en styrka som ¨ar proportionell mot dess hastighet. De magnetiska dipol-dipolinteraktionerna mellan dessa agenter genererar d˚arepulsiva krafter f¨or att hj¨alpa dem att undvika kollision. Samtidigt anv¨ands felanalys med Petri-n¨at av flera robotar f¨or att f¨orst˚asamarbetet mellan flera robotagenter f¨or att l¨osa de gemensamma uppgifterna. D¨arefter appliceras Petri-n¨atet tillsammans med v¨agplaneringen f¨or att undvika kollisioner genom synkroniserade r¨orelser hos robotar genom exempelvis en korsning. Under tiden har kontinuerligt flerv¨ags-planering unders¨okts f¨or att st¨odja feltoleransen f¨or s¨okflerv¨ags-planeringsalgoritmen. Detta f¨or att hantera d¨odl¨aget d¨ar agenten tar mycket l˚ang tid att n˚am˚alet eller till och med inte kan g¨ora det. Agenten har f¨orsetts med olika planer-ade v¨agar till m˚alet och v¨axlar proaktivt mellan dessa n¨ar det beh¨ovs f¨or att undvika d¨odl¨aget. Slutligen har hela ramverket implementerats i en allm¨ant anv¨and plattform, robotoperativsystem (ROS), och utv¨arderats genom Gazebo-simulator.

viii

med en styrka som ¨ar proportionell mot dess hastighet. De magnetiska dipol-dipolinteraktionerna mellan dessa agenter genererar d˚arepulsiva krafter f¨or att hj¨alpa dem att undvika kollision. Samtidigt anv¨ands felanalys med Petri-n¨at av flera robotar f¨or att f¨orst˚asamarbetet mellan flera robotagenter f¨or att l¨osa de gemensamma uppgifterna. D¨arefter appliceras Petri-n¨atet tillsammans med v¨agplaneringen f¨or att undvika kollisioner genom synkroniserade r¨orelser hos robotar genom exempelvis en korsning. Under tiden har kontinuerligt flerv¨ags-planering unders¨okts f¨or att st¨odja feltoleransen f¨or s¨okflerv¨ags-planeringsalgoritmen. Detta f¨or att hantera d¨odl¨aget d¨ar agenten tar mycket l˚ang tid att n˚am˚alet eller till och med inte kan g¨ora det. Agenten har f¨orsetts med olika planer-ade v¨agar till m˚alet och v¨axlar proaktivt mellan dessa n¨ar det beh¨ovs f¨or att undvika d¨odl¨aget. Slutligen har hela ramverket implementerats i en allm¨ant anv¨and plattform, robotoperativsystem (ROS), och utv¨arderats genom Gazebo-simulator.

(10)

Abstract

Changing from automatic to autonomous control has emerged as the main shift on the development of robots nowadays. The autonomous control allows robot to have more freedom as well as direct interactions with human and other robots. Having a dependable platform for autonomous control becomes crucial when building such a system. The dependability of a robotic agent is presented by main attributes including availability, i.e. the continuous operations of the system over a time interval, reliability, i.e. the ability of the system to provide correct services, and safety, i.e. the robotic agent must ensure safe controls to avoid any catastrophic consequences on users, other robots, and finally the environment. Considering path planning is one of the key components of an autonomous control system for robotic agents, the works presented in this the-sis aim at building a dependable, i.e. safe, reliable and effective, path planning algorithm for a group of robots that share their working space with humans. Firstly, the method for path planning of multiple robotic agents is proposed based on a novel dipole flow field idea. The any angle-path planning with Theta* algorithm is employed to initialise the paths from a starting point to a goal for a set of agents. To deal with static obstacles while a robot is going on the way to its goal, a static flow field along the configured path is defined. A dipole field is then calculated to avoid the collision of agents with the other agents and human subjects. In this approach, each robotic agent is assumed to be a source of a magnetic dipole field in which the magnetic moment is aligned with the moving direction of the agent, with a strength proportional the

ix

Abstract

Changing from automatic to autonomous control has emerged as the main shift on the development of robots nowadays. The autonomous control allows robot to have more freedom as well as direct interactions with human and other robots. Having a dependable platform for autonomous control becomes crucial when building such a system. The dependability of a robotic agent is presented by main attributes including availability, i.e. the continuous operations of the system over a time interval, reliability, i.e. the ability of the system to provide correct services, and safety, i.e. the robotic agent must ensure safe controls to avoid any catastrophic consequences on users, other robots, and finally the environment. Considering path planning is one of the key components of an autonomous control system for robotic agents, the works presented in this the-sis aim at building a dependable, i.e. safe, reliable and effective, path planning algorithm for a group of robots that share their working space with humans. Firstly, the method for path planning of multiple robotic agents is proposed based on a novel dipole flow field idea. The any angle-path planning with Theta* algorithm is employed to initialise the paths from a starting point to a goal for a set of agents. To deal with static obstacles while a robot is going on the way to its goal, a static flow field along the configured path is defined. A dipole field is then calculated to avoid the collision of agents with the other agents and human subjects. In this approach, each robotic agent is assumed to be a source of a magnetic dipole field in which the magnetic moment is aligned with the moving direction of the agent, with a strength proportional the

(11)

x

velocity. The magnetic dipole-dipole interactions between these agents gen-erate repulsive forces to help them to avoid collision. Meanwhile, the fault analysis of multiple robots with Petri net is demonstrated to understand the cooperation of multiple robotic agents to solve the shared tasks. Thereafter, the Petri net is applied together with the path planning to address the collision avoidance by synchronising the movement of robots through a cross. Continu-ously, the multiple path planning has investigated to support fault tolerance for the path planning algorithm. This is to deal with the deadlock situation where the agent takes very long time to reach the goal or even is not able to do so. The agent is equipped with different paths to the goal and proactively switch among the plans whenever needed to avoid the deadlock. Finally, the whole framework has been implemented by a widely used platform, robot operating system (ROS), and evaluated through Gazebo simulator.

x

velocity. The magnetic dipole-dipole interactions between these agents gen-erate repulsive forces to help them to avoid collision. Meanwhile, the fault analysis of multiple robots with Petri net is demonstrated to understand the cooperation of multiple robotic agents to solve the shared tasks. Thereafter, the Petri net is applied together with the path planning to address the collision avoidance by synchronising the movement of robots through a cross. Continu-ously, the multiple path planning has investigated to support fault tolerance for the path planning algorithm. This is to deal with the deadlock situation where the agent takes very long time to reach the goal or even is not able to do so. The agent is equipped with different paths to the goal and proactively switch among the plans whenever needed to avoid the deadlock. Finally, the whole framework has been implemented by a widely used platform, robot operating system (ROS), and evaluated through Gazebo simulator.

(12)

List of Publications

Papers Included in the Licentiate Thesis

1

Paper A Fault Tolerant Analysis for Dependable Autonomous Agents Using Colored Time Petri Nets

Authors: Lan Anh Trinh, Baran C¨ur¨ukl¨u, Mikael Ekstr¨om

Status: Published in 9th International Conference on Agents and Artificial In-telligence, ICAART 2017.

Paper B Toward Shared Working Space of Human and Robotics Agents Through Dipole Flow Field for Dependable Path Planning

Authors: Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u

Status: Published in Frontiers in Neurorobotics, volume 12, May 2018.

Paper C Petri Net Based Navigation Planning with Dipole Field and Dy-namic Window Approach for Collision Avoidance

Authors: Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u

Status: Published in 6th International Conference on Control, Decision and Information Technologies, CODIT 2019.

Paper D Multi-Path Planning for Autonomous Navigation of Multiple Robots in a Shared Workspace with Humans

1The included papers have been reformatted to comply with the thesis layout

xi

List of Publications

Papers Included in the Licentiate Thesis

1

Paper A Fault Tolerant Analysis for Dependable Autonomous Agents Using Colored Time Petri Nets

Authors: Lan Anh Trinh, Baran C¨ur¨ukl¨u, Mikael Ekstr¨om

Status: Published in 9th International Conference on Agents and Artificial In-telligence, ICAART 2017.

Paper B Toward Shared Working Space of Human and Robotics Agents Through Dipole Flow Field for Dependable Path Planning

Authors: Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u

Status: Published in Frontiers in Neurorobotics, volume 12, May 2018.

Paper C Petri Net Based Navigation Planning with Dipole Field and Dy-namic Window Approach for Collision Avoidance

Authors: Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u

Status: Published in 6th International Conference on Control, Decision and Information Technologies, CODIT 2019.

Paper D Multi-Path Planning for Autonomous Navigation of Multiple Robots in a Shared Workspace with Humans

1The included papers have been reformatted to comply with the thesis layout

(13)

xii

Authors: Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u Status: Submitted.

xii

Authors: Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u Status: Submitted.

(14)

xiii

Additional Peer-Reviewed Publications, not Included

in the Licentiate Thesis

• ”Dipole Flow Field for Dependable Path Planning of Multiple Agents”. Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u. Workshop on Shared Autonomoy, IEEE/RSJ International Conference on Intelligent Robots and Systems, 2017.

• ”Failure Analysis for Adaptive Autonomous Agents using Petri Nets”. Mirgita Frasheri, Lan Anh Trinh, Baran C¨ur¨ukl¨u, Mikael Ekstr¨om. The 11th International Workshop on Multi-Agent Systems and Simulation (MAS&S’17).

• ”Dependability for Autonomous Control with a Probability Approach”. Lan Anh Trinh, Baran C¨ur¨ukl¨u, Mikael Ekstr¨om. Newsletter in ERCIM News 109, Autonomous Vehicles.

xiii

Additional Peer-Reviewed Publications, not Included

in the Licentiate Thesis

• ”Dipole Flow Field for Dependable Path Planning of Multiple Agents”. Lan Anh Trinh, Mikael Ekstr¨om, Baran C¨ur¨ukl¨u. Workshop on Shared Autonomoy, IEEE/RSJ International Conference on Intelligent Robots and Systems, 2017.

• ”Failure Analysis for Adaptive Autonomous Agents using Petri Nets”. Mirgita Frasheri, Lan Anh Trinh, Baran C¨ur¨ukl¨u, Mikael Ekstr¨om. The 11th International Workshop on Multi-Agent Systems and Simulation (MAS&S’17).

• ”Dependability for Autonomous Control with a Probability Approach”. Lan Anh Trinh, Baran C¨ur¨ukl¨u, Mikael Ekstr¨om. Newsletter in ERCIM News 109, Autonomous Vehicles.

(15)
(16)

Contents

I

Thesis

1

1 Introduction 3

2 Backgrounds 7

2.1 DEPENDABILITY AND PETRI NET . . . 7

2.1.1 Dependability . . . 7

2.1.2 Petri nets . . . 10

2.2 PATH PLANNING AND THETA* . . . 11

2.3 DYNAMIC WINDOW APPROACH . . . 14

3 Related Works 17 3.1 DEPENDABILITY FOR AUTONOMOUS CONTROL . . . 17

3.2 PATH PLANNING . . . 19

3.3 MULTIPLE PATH PLANNING . . . 23

4 Research Overview 27 4.1 RESEARCH METHODOLOGY . . . 27 4.2 HYPOTHESIS . . . 29 4.3 RESEARCH QUESTIONS . . . 31 xv

Contents

I

Thesis

1

1 Introduction 3 2 Backgrounds 7 2.1 DEPENDABILITY AND PETRI NET . . . 7

2.1.1 Dependability . . . 7

2.1.2 Petri nets . . . 10

2.2 PATH PLANNING AND THETA* . . . 11

2.3 DYNAMIC WINDOW APPROACH . . . 14

3 Related Works 17 3.1 DEPENDABILITY FOR AUTONOMOUS CONTROL . . . 17

3.2 PATH PLANNING . . . 19

3.3 MULTIPLE PATH PLANNING . . . 23

4 Research Overview 27 4.1 RESEARCH METHODOLOGY . . . 27

4.2 HYPOTHESIS . . . 29

4.3 RESEARCH QUESTIONS . . . 31

(17)

xvi Contents

5 Thesis Results 33

5.1 CONTRIBUTIONS AND RESULTS . . . 33

5.2 SUMMARY OF PAPERS . . . 36

6 Conclusions and Future Works 41 6.1 GENERAL CONCLUSIONS . . . 41

6.2 FUTURE WORKS . . . 42

Bibliography 45

II

Included Papers

55

7 Paper A: Fault Tolerance Analysis for Dependable Autonomous Agents Using Colored Time Petri Nets 57 7.1 INTRODUCTION . . . 58

7.2 RELATED WORKS . . . 60

7.3 BACKGROUND PROPOSED APPROACH . . . 62

7.3.1 Background of Petri Nets . . . 62

7.3.2 Fault Tolerance with Cooperative Agents . . . 64

7.3.3 CPN Models of Agents for Fault Tolerance Analysis of Centralised Systems . . . 64

7.3.4 CPN Models of Agents for Fault Tolerance Analysis of Distributed Systems . . . 66

7.4 RESULTS . . . 67

7.4.1 Fault Tolerance Analysis of Centralized Systems . . . 67

7.4.2 Fault Tolerance Analysis of Distributed Systems . . . 70

7.5 CONCLUSIONS . . . 71

Bibliography . . . 72

8 Paper B: Toward Shared Working Space of Human and Robotics Agents Through Dipole Flow Field for Dependable Path Planning 81 8.1 INTRODUCTION . . . 83

xvi Contents 5 Thesis Results 33 5.1 CONTRIBUTIONS AND RESULTS . . . 33

5.2 SUMMARY OF PAPERS . . . 36

6 Conclusions and Future Works 41 6.1 GENERAL CONCLUSIONS . . . 41

6.2 FUTURE WORKS . . . 42

Bibliography 45

II

Included Papers

55

7 Paper A: Fault Tolerance Analysis for Dependable Autonomous Agents Using Colored Time Petri Nets 57 7.1 INTRODUCTION . . . 58

7.2 RELATED WORKS . . . 60

7.3 BACKGROUND PROPOSED APPROACH . . . 62

7.3.1 Background of Petri Nets . . . 62

7.3.2 Fault Tolerance with Cooperative Agents . . . 64

7.3.3 CPN Models of Agents for Fault Tolerance Analysis of Centralised Systems . . . 64

7.3.4 CPN Models of Agents for Fault Tolerance Analysis of Distributed Systems . . . 66

7.4 RESULTS . . . 67

7.4.1 Fault Tolerance Analysis of Centralized Systems . . . 67

7.4.2 Fault Tolerance Analysis of Distributed Systems . . . 70

7.5 CONCLUSIONS . . . 71

Bibliography . . . 72

8 Paper B: Toward Shared Working Space of Human and Robotics Agents Through Dipole Flow Field for Dependable Path Planning 81 8.1 INTRODUCTION . . . 83

(18)

Contents xvii

8.2 METHODOLOGY . . . 89

8.2.1 Autonomous Agent Architecture . . . 89

8.2.2 Path Planning with Dipole Flow Field . . . 91

8.3 EXPERIMENTS . . . 102

8.3.1 Static Flow Field . . . 103

8.3.2 Dipole Flow Field for Crossing Scenarios of Two Agents104 8.3.3 Dipole Flow Field for Multi-Agent and Human-Agent Interaction . . . 106

8.4 CONCLUSION AND DISCUSSION . . . 109

Bibliography . . . 113

9 Paper C: Petri Net Based Navigation Planning with Dipole Field and Dynamic Window Approach for Collision Avoidance 121 9.1 INTRODUCTION . . . 123

9.2 BACKGROUNDS . . . 125

9.2.1 Petri Net (PN) Model . . . 125

9.2.2 Global Path Planning and Theta* Algorithm . . . 126

9.2.3 Dynamic Window Approach . . . 128

9.3 PETRI NET PLANNING AND OBSTACLE AVOIDANCE WITH DIPOLE FIELD AND DWA . . . 129

9.3.1 Overall System . . . 129

9.3.2 Petri Net Planning . . . 130

9.3.3 Dipole Field for Obstacle Avoidance . . . 131

9.4 IMPLEMENTATION AND EXPERIMENTAL RESULTS . . 133

9.4.1 ROS-based Implementation . . . 133

9.4.2 Crossing Scenario of Two Robots . . . 134

9.4.3 Crossing Scenario of Three Robots . . . 137

9.4.4 Scenario of Robots and Humans Sharing Working Space.137 9.5 CONCLUSIONS . . . 138

Bibliography . . . 140

Contents xvii 8.2 METHODOLOGY . . . 89

8.2.1 Autonomous Agent Architecture . . . 89

8.2.2 Path Planning with Dipole Flow Field . . . 91

8.3 EXPERIMENTS . . . 102

8.3.1 Static Flow Field . . . 103

8.3.2 Dipole Flow Field for Crossing Scenarios of Two Agents104 8.3.3 Dipole Flow Field for Multi-Agent and Human-Agent Interaction . . . 106

8.4 CONCLUSION AND DISCUSSION . . . 109

Bibliography . . . 113

9 Paper C: Petri Net Based Navigation Planning with Dipole Field and Dynamic Window Approach for Collision Avoidance 121 9.1 INTRODUCTION . . . 123

9.2 BACKGROUNDS . . . 125

9.2.1 Petri Net (PN) Model . . . 125

9.2.2 Global Path Planning and Theta* Algorithm . . . 126

9.2.3 Dynamic Window Approach . . . 128

9.3 PETRI NET PLANNING AND OBSTACLE AVOIDANCE WITH DIPOLE FIELD AND DWA . . . 129

9.3.1 Overall System . . . 129

9.3.2 Petri Net Planning . . . 130

9.3.3 Dipole Field for Obstacle Avoidance . . . 131

9.4 IMPLEMENTATION AND EXPERIMENTAL RESULTS . . 133

9.4.1 ROS-based Implementation . . . 133

9.4.2 Crossing Scenario of Two Robots . . . 134

9.4.3 Crossing Scenario of Three Robots . . . 137

9.4.4 Scenario of Robots and Humans Sharing Working Space.137 9.5 CONCLUSIONS . . . 138

(19)

xviii Contents

10 Paper D: Multi-Path Planning for Autonomous Navigation of Mul-tiple Robots in a Shared Workspace with Human 145

10.1 INTRODUCTION . . . 147

10.2 RELATED WORKS . . . 149

10.2.1 Multiple Path Planning . . . 149

10.2.2 Collision Avoidance . . . 151

10.3 MULTI-PATH PLANNING WITH OBSTACLE AVOIDANCE 152 10.3.1 Preliminaries . . . 152

10.3.2 Problem Formulation . . . 153

10.4 EXPERIMENTS . . . 158

10.4.1 ROS-based Implementation . . . 158

10.4.2 Two Robots Crossing Narrow Corridor Scenario . . . 159

10.4.3 Scenario with Robots/Humans Together . . . 159

10.5 CONCLUSIONS . . . 160

Bibliography . . . 162

xviii Contents 10 Paper D: Multi-Path Planning for Autonomous Navigation of Mul-tiple Robots in a Shared Workspace with Human 145 10.1 INTRODUCTION . . . 147

10.2 RELATED WORKS . . . 149

10.2.1 Multiple Path Planning . . . 149

10.2.2 Collision Avoidance . . . 151

10.3 MULTI-PATH PLANNING WITH OBSTACLE AVOIDANCE 152 10.3.1 Preliminaries . . . 152

10.3.2 Problem Formulation . . . 153

10.4 EXPERIMENTS . . . 158

10.4.1 ROS-based Implementation . . . 158

10.4.2 Two Robots Crossing Narrow Corridor Scenario . . . 159

10.4.3 Scenario with Robots/Humans Together . . . 159

10.5 CONCLUSIONS . . . 160

(20)

I

Thesis

1

I

Thesis

1

(21)
(22)

Chapter 1

Introduction

Until recently, robots have played a critical role in the manufacturing indus-try where the automatic robots perform repetitive and sometimes heavy task. However, technological advancements in recent years have resulted in a shift of attention from pre-programmed automatic solutions to (semi)-autonomous systems that can operate in unstructured environments, and even coexist with humans. Autonomous control system allows the robot to have freedom of movement as well the ability to directly interact with humans as well as other robots in a collaborative environment. Due to a direct interaction between robot and human, there have been critical needs of setting a high safety level of autonomous robots to prevent any dangerous actions to a user. Meanwhile, a robot must complete the task with correct outputs and within time. Those issues lead to a general definition of dependability. Dependability, originally, is devised from software development areas and can be stated by Avizienis et al. [1] as ”the ability to deliver service that can justifiably be trusted”. The dependability of a system is evaluated by attributes including availability, re-liability, safety, integrity and, maintainability. Those attributes could be eval-uated by quantitative or qualitative measurements. For instance, reliability is measured by the probability that the system performs correctly during the time

3

Chapter 1

Introduction

Until recently, robots have played a critical role in the manufacturing indus-try where the automatic robots perform repetitive and sometimes heavy task. However, technological advancements in recent years have resulted in a shift of attention from pre-programmed automatic solutions to (semi)-autonomous systems that can operate in unstructured environments, and even coexist with humans. Autonomous control system allows the robot to have freedom of movement as well the ability to directly interact with humans as well as other robots in a collaborative environment. Due to a direct interaction between robot and human, there have been critical needs of setting a high safety level of autonomous robots to prevent any dangerous actions to a user. Meanwhile, a robot must complete the task with correct outputs and within time. Those issues lead to a general definition of dependability. Dependability, originally, is devised from software development areas and can be stated by Avizienis et al. [1] as ”the ability to deliver service that can justifiably be trusted”. The dependability of a system is evaluated by attributes including availability, re-liability, safety, integrity and, maintainability. Those attributes could be eval-uated by quantitative or qualitative measurements. For instance, reliability is measured by the probability that the system performs correctly during the time

(23)

4 Chapter 1. Introduction

interval. The dependability of a system is assessed by one, several, or all at-tributes mentioned above. Having such dependability atat-tributes is crucial for an autonomous system.

Path planning is a core component of a robot system to help the robot to find an optimal path (with respect to a cost function) from a start to a goal. The path is also collision free, meaning that the robot is able to avoid col-lisions with static obstacles and moving objects in its working environment. Although path planning is well known by numerous researches since 1990s, many solutions of the problem has been restricted to a static environment or a single robot. Recently, there have been raising new challenges for path plan-ning of autonomous controls within Industry 4.0 context. Given examples of autonomous driving cars or autonomous delivery drones, the robotic agents need to deal with changing environments and moving objects, that introduces a high level of uncertainty into the path planning problem. In industry areas, a robot may share the working space with human and other robots, leading to a requirement of cooperation of multiple robots to address the navigation tasks in a global scale. Considering both the importance of solving the path planning in the new context and dependability for autonomous controls, this thesis targets toward a dependable path planning. The main aim is to provide a correct and reliable path planning algorithm for multiple robots and to ensure a safe path planning service to avoid any catastrophic consequences on users, other robots, and finally the environment. Improvement in the robot path planning also con-tributes to other robotic fields. In particular, a motion task of a robot can be constructed as a sequence of path planning in high dimensional configuration space. As a consequence solving path planing induces to another solution to perform a motion operation.

The implementation of dependable path planning starts with the under-standing of the threats to the system dependability which includes failures, errors, and faults. A failure happens when the service provided by a system does not comply with its specifications. This results in an error, which affects the services, and will/may cause a fault. This fault is thus the main root

lead-4 Chapter 1. Introduction

interval. The dependability of a system is assessed by one, several, or all at-tributes mentioned above. Having such dependability atat-tributes is crucial for an autonomous system.

Path planning is a core component of a robot system to help the robot to find an optimal path (with respect to a cost function) from a start to a goal. The path is also collision free, meaning that the robot is able to avoid col-lisions with static obstacles and moving objects in its working environment. Although path planning is well known by numerous researches since 1990s, many solutions of the problem has been restricted to a static environment or a single robot. Recently, there have been raising new challenges for path plan-ning of autonomous controls within Industry 4.0 context. Given examples of autonomous driving cars or autonomous delivery drones, the robotic agents need to deal with changing environments and moving objects, that introduces a high level of uncertainty into the path planning problem. In industry areas, a robot may share the working space with human and other robots, leading to a requirement of cooperation of multiple robots to address the navigation tasks in a global scale. Considering both the importance of solving the path planning in the new context and dependability for autonomous controls, this thesis targets toward a dependable path planning. The main aim is to provide a correct and reliable path planning algorithm for multiple robots and to ensure a safe path planning service to avoid any catastrophic consequences on users, other robots, and finally the environment. Improvement in the robot path planning also con-tributes to other robotic fields. In particular, a motion task of a robot can be constructed as a sequence of path planning in high dimensional configuration space. As a consequence solving path planing induces to another solution to perform a motion operation.

The implementation of dependable path planning starts with the under-standing of the threats to the system dependability which includes failures, errors, and faults. A failure happens when the service provided by a system does not comply with its specifications. This results in an error, which affects the services, and will/may cause a fault. This fault is thus the main root

(24)

lead-5

ing to the failure of the system. Therefore, the implementation of a dependable system focuses on different means including fault prevention, fault removal, fault analysis, and fault tolerance.

The main objective of this thesis is to develop a comprehensive framework of dependable path planning for multiple robots sharing their working space with humans with appropriate properties and means. The main focuses of the dependability properties are centred on availability, reliability, and safety with the aim toward a correct, reliable, and safe path planning algorithm. With regards to the aforementioned means, the development of the system have been organised by the different stages.

In the beginning, the general definition of dependability has been inves-tigated with the specific studies on Petri Nets (PN) as a tool to analyse and predict the faults when multiple robots are working together to perform com-plicated tasks. Continuously, the path planning framework is designed with the two main modules including global path planning and local path planning, and with external modules to collect information from surrounding environment and to control the movements of robots (the global path planning is to find the optimal path from a starting point to a goal while the local path planning is to help a robot to avoid any collisions with other robots and human in the shared working space). A new dipole flow field approach has been proposed as the realisation of the designed path planning system. As the work in this thesis be-longs to a long term research profile, Dependable Platforms for Autonomous system and Control (DPAC), hosted at M¨alardalen University to implement de-pendability for different platforms for autonomous systems and their control, a part of the works to improve the dependability of a navigation system, the fault analysis to verify the proposed path planning algorithm, has been shared and addressed by Gu et al. [2]. With regards to fault prevention which requires the system design should be aligned with a standard framework, the implementa-tion of the system has been transferred into a widely applicable platform, robot operating system (ROS). Continuously, PN is developed for congestion con-trol when several robots are routed to pass through the same place. Finally

5

ing to the failure of the system. Therefore, the implementation of a dependable system focuses on different means including fault prevention, fault removal, fault analysis, and fault tolerance.

The main objective of this thesis is to develop a comprehensive framework of dependable path planning for multiple robots sharing their working space with humans with appropriate properties and means. The main focuses of the dependability properties are centred on availability, reliability, and safety with the aim toward a correct, reliable, and safe path planning algorithm. With regards to the aforementioned means, the development of the system have been organised by the different stages.

In the beginning, the general definition of dependability has been inves-tigated with the specific studies on Petri Nets (PN) as a tool to analyse and predict the faults when multiple robots are working together to perform com-plicated tasks. Continuously, the path planning framework is designed with the two main modules including global path planning and local path planning, and with external modules to collect information from surrounding environment and to control the movements of robots (the global path planning is to find the optimal path from a starting point to a goal while the local path planning is to help a robot to avoid any collisions with other robots and human in the shared working space). A new dipole flow field approach has been proposed as the realisation of the designed path planning system. As the work in this thesis be-longs to a long term research profile, Dependable Platforms for Autonomous system and Control (DPAC), hosted at M¨alardalen University to implement de-pendability for different platforms for autonomous systems and their control, a part of the works to improve the dependability of a navigation system, the fault analysis to verify the proposed path planning algorithm, has been shared and addressed by Gu et al. [2]. With regards to fault prevention which requires the system design should be aligned with a standard framework, the implementa-tion of the system has been transferred into a widely applicable platform, robot operating system (ROS). Continuously, PN is developed for congestion con-trol when several robots are routed to pass through the same place. Finally

(25)

6 Chapter 1. Introduction

relying on a single global path planning could lead to a dead - or live lock sit-uation where the robot takes a very long time to reach a goal or even is not able to do so. This happens in the case of multiple robots moving in a narrow area and they repeat the same moving trajectories through that area again and again without finding the path to the goal. Fault tolerance with multiple path planning is implemented to help the robots to predict when the dead-or live lock happens and proactively avoid the collisions with them by switching to alternative global paths to the goal.

Thesis Overview

This thesis is divided into two main parts.

• The first part is a summary of my research: The objectives of the work are introduced in Chapter 1; Brief basic definitions and fundamental backgrounds are presented in Chapter 2; The comprehensive surveys of related works are presented in Chapter 3; The methodology and the path to conduct this research are described in Chapter 4; Chapter 5 sum-marises the contributions and results of the thesis; Finally Chapter 6 con-cludes the thesis with further discussion about future works.

• The second part of this thesis is a collection of four publications (paper A-D) presenting the main contributions of the thesis in details.

6 Chapter 1. Introduction

relying on a single global path planning could lead to a dead - or live lock sit-uation where the robot takes a very long time to reach a goal or even is not able to do so. This happens in the case of multiple robots moving in a narrow area and they repeat the same moving trajectories through that area again and again without finding the path to the goal. Fault tolerance with multiple path planning is implemented to help the robots to predict when the dead-or live lock happens and proactively avoid the collisions with them by switching to alternative global paths to the goal.

Thesis Overview

This thesis is divided into two main parts.

• The first part is a summary of my research: The objectives of the work are introduced in Chapter 1; Brief basic definitions and fundamental backgrounds are presented in Chapter 2; The comprehensive surveys of related works are presented in Chapter 3; The methodology and the path to conduct this research are described in Chapter 4; Chapter 5 sum-marises the contributions and results of the thesis; Finally Chapter 6 con-cludes the thesis with further discussion about future works.

• The second part of this thesis is a collection of four publications (paper A-D) presenting the main contributions of the thesis in details.

(26)

Chapter 2

Backgrounds

This chapter provides the backgrounds related to the research conducted in this thesis. The overview of dependability and Petri nets are introduced in Section 2.1. The details of Theta* algorithm are described on Section 2.2. Finally, the essentials of dynamic window approach are summarised in Section 2.3.

2.1

DEPENDABILITY AND PETRI NET

2.1.1

Dependability

Recently, robots are being widely used as assistant technology in numerous applications where a robot not only performs its tasks alone but also collabo-rates with other robots and humans to complete a complicated task. To trust in collaborative robots, the concept of dependability is defined. Basically, the assessment of system dependability is based on one or several basic attributes including availability, reliability, safety, integrity, and maintainability. The brief definitions of those attributes are given as follows.

• Availability: The system is always available or ready to provide correct services.

7

Chapter 2

Backgrounds

This chapter provides the backgrounds related to the research conducted in this thesis. The overview of dependability and Petri nets are introduced in Section 2.1. The details of Theta* algorithm are described on Section 2.2. Finally, the essentials of dynamic window approach are summarised in Section 2.3.

2.1

DEPENDABILITY AND PETRI NET

2.1.1

Dependability

Recently, robots are being widely used as assistant technology in numerous applications where a robot not only performs its tasks alone but also collabo-rates with other robots and humans to complete a complicated task. To trust in collaborative robots, the concept of dependability is defined. Basically, the assessment of system dependability is based on one or several basic attributes including availability, reliability, safety, integrity, and maintainability. The brief definitions of those attributes are given as follows.

• Availability: The system is always available or ready to provide correct services.

(27)

8 Chapter 2. Backgrounds

• Reliability: This attribute presents the continuity of correct services. • Safety: The robot system avoids any catastrophic consequences on the

users, other robots and the environments.

• Integrity: Avoid improper system alteration. It prevents any unautho-rised access, or modification of program or data.

• Maintainability: Ability for a process to undergo modifications and re-pairs.

Within the scope of this work, there dependable properties including avail-ability, reliavail-ability, and safety are focused. Availability and reliability could be quantifiable by direct measurements. For instance, the measurements for re-liability and availability are evaluated with respect to time or the number of system runs. As availability states that the system is always available or ready to provide correct services, it is defined as the probability that the system is functioning correctly at a given instant. Reliability presents the continuity of correct services, so that the system’s reliability at time t is the probability that the time to failure (τ ) is greater than t or the probability that the system is func-tioning correctly during the time interval (0, t]. Meanwhile, safety is conven-tionally evaluated by qualitative measurements, e.g. safety level or risk factors related to failures. The safety attribute for the robot system is assessed by the ability to avoid any collisions with users, other robots and the environments.

The implementation of dependable properties starts with the understanding of the threats affecting the system dependability. There are three main defini-tions with respect to threat that includes failures, errors, and faults. The failure happens when the service provided by a system does not comply with its spec-ification which is, in other word, the expectation of the system functions or services. The error affects the services and leads to the failure of the system where the cause of an error is a fault. The taxonomy showing the relationship between dependability and its components is given in Figure 2.1.

As the fault is the root of every failures appearing inside or outside the sys-tem, the methods developed to protect the system dependability focus on four

8 Chapter 2. Backgrounds

• Reliability: This attribute presents the continuity of correct services. • Safety: The robot system avoids any catastrophic consequences on the

users, other robots and the environments.

• Integrity: Avoid improper system alteration. It prevents any unautho-rised access, or modification of program or data.

• Maintainability: Ability for a process to undergo modifications and re-pairs.

Within the scope of this work, there dependable properties including avail-ability, reliavail-ability, and safety are focused. Availability and reliability could be quantifiable by direct measurements. For instance, the measurements for re-liability and availability are evaluated with respect to time or the number of system runs. As availability states that the system is always available or ready to provide correct services, it is defined as the probability that the system is functioning correctly at a given instant. Reliability presents the continuity of correct services, so that the system’s reliability at time t is the probability that the time to failure (τ ) is greater than t or the probability that the system is func-tioning correctly during the time interval (0, t]. Meanwhile, safety is conven-tionally evaluated by qualitative measurements, e.g. safety level or risk factors related to failures. The safety attribute for the robot system is assessed by the ability to avoid any collisions with users, other robots and the environments.

The implementation of dependable properties starts with the understanding of the threats affecting the system dependability. There are three main defini-tions with respect to threat that includes failures, errors, and faults. The failure happens when the service provided by a system does not comply with its spec-ification which is, in other word, the expectation of the system functions or services. The error affects the services and leads to the failure of the system where the cause of an error is a fault. The taxonomy showing the relationship between dependability and its components is given in Figure 2.1.

As the fault is the root of every failures appearing inside or outside the sys-tem, the methods developed to protect the system dependability focus on four

(28)

2.1 DEPENDABILITY AND PETRI NET 9

Figure 2.1: Dependability taxonomy.

means: Fault prevention deals with appropriate tools by the use of develop-ment methodologies, good impledevelop-mentation techniques, and good practices to design the system; Fault removal utilises verification tools through a log-file to identify, diagnose, and remove faults; Fault forecasting estimates the future incidence and likely consequence of faults with safety or risk analysis; Finally fault tolerance is implemented with redundant hardware or software to provide recovery mechanisms if a system fails to perform a task. The first three means usually get involved with the development stages of the system while the last one relates to the operations of the system.

The main aim of this work will focus on the development of above means to improve the dependability of an autonomous path planning system.

- Fault prevention: encourages the use of standard techniques. In this work, the path planning system is designed step-by-steps following previous works on algorithm developments, analysing with standard tools like PN, testing the system with Gazebo simulators, and finally transferring the implementation of the system on standardised middle ware ROS (Robot operating system).

2.1 DEPENDABILITY AND PETRI NET 9

Figure 2.1: Dependability taxonomy.

means: Fault prevention deals with appropriate tools by the use of develop-ment methodologies, good impledevelop-mentation techniques, and good practices to design the system; Fault removal utilises verification tools through a log-file to identify, diagnose, and remove faults; Fault forecasting estimates the future incidence and likely consequence of faults with safety or risk analysis; Finally fault tolerance is implemented with redundant hardware or software to provide recovery mechanisms if a system fails to perform a task. The first three means usually get involved with the development stages of the system while the last one relates to the operations of the system.

The main aim of this work will focus on the development of above means to improve the dependability of an autonomous path planning system.

- Fault prevention: encourages the use of standard techniques. In this work, the path planning system is designed step-by-steps following previous works on algorithm developments, analysing with standard tools like PN, testing the system with Gazebo simulators, and finally transferring the implementation of the system on standardised middle ware ROS (Robot operating system).

(29)

10 Chapter 2. Backgrounds

- Fault removal and Fault forecasting: is to analyse and predict the future incidence and likely consequence to faults. In this thesis, Petri nets is inves-tigated to understand the faults of an autonomous system and a part of the developed path planning system is analysed using UPPAAL tools by Gu et al. [2].

- Fault tolerance: is to avoid service failures in the presence of faults with error detection and system recovery mechanisms. Error detection is necessary to locate any errors during running time of the system. Once an error is found, system recovery mechanisms is activated. For instance, two different decision algorithms are running simultaneously. If one is failed, the other is loaded and replaced the failed one. In this work, multiple path planning algorithm is developed for the sake of fault tolerance.

2.1.2

Petri nets

Various approaches to fault analysis, such as Petri Net (PN), fault tree analy-sis (FTA), failure modes effects and criticality analyanaly-sis (FMECA), and hazard operability (HAZOP) have been developed [3]. This research focuses on PN, as this framework provides not only a probability approach for fault analysis and fault prevention in both development and operational stages of designing a system but also for mitigation of the implementation progress. For instance, as an extension of PN, a stochastic Petri net can be combined with Markovian models to evaluate the probability of current state and the probability of future fault events for a fault prognosis process. In this work (Paper A), a coloured time PN is utilised for fault tolerance analysis of multi-agents in a complex and collaborative context.

PN is defined in mathematical aspect as a bipartite graph of a set of tu-ples (P, T, W ), where P = {p1, p2, ..., p|P |} and T = {t1, t2, ..., t|T |} are

disjoint sets of places and transitions, |P | and |T | are the number of elements of P and T respectively, and W ⊆ (P × T ) ∪ (T × P ) is a set of arcs con-necting from a place to transition and vice versa. The arcs that go out from a place to a transition are named as the input places of transitions. While the

10 Chapter 2. Backgrounds

- Fault removal and Fault forecasting: is to analyse and predict the future incidence and likely consequence to faults. In this thesis, Petri nets is inves-tigated to understand the faults of an autonomous system and a part of the developed path planning system is analysed using UPPAAL tools by Gu et al. [2].

- Fault tolerance: is to avoid service failures in the presence of faults with error detection and system recovery mechanisms. Error detection is necessary to locate any errors during running time of the system. Once an error is found, system recovery mechanisms is activated. For instance, two different decision algorithms are running simultaneously. If one is failed, the other is loaded and replaced the failed one. In this work, multiple path planning algorithm is developed for the sake of fault tolerance.

2.1.2

Petri nets

Various approaches to fault analysis, such as Petri Net (PN), fault tree analy-sis (FTA), failure modes effects and criticality analyanaly-sis (FMECA), and hazard operability (HAZOP) have been developed [3]. This research focuses on PN, as this framework provides not only a probability approach for fault analysis and fault prevention in both development and operational stages of designing a system but also for mitigation of the implementation progress. For instance, as an extension of PN, a stochastic Petri net can be combined with Markovian models to evaluate the probability of current state and the probability of future fault events for a fault prognosis process. In this work (Paper A), a coloured time PN is utilised for fault tolerance analysis of multi-agents in a complex and collaborative context.

PN is defined in mathematical aspect as a bipartite graph of a set of tu-ples (P, T, W ), where P = {p1, p2, ..., p|P |} and T = {t1, t2, ..., t|T |} are

disjoint sets of places and transitions, |P | and |T | are the number of elements of P and T respectively, and W ⊆ (P × T ) ∪ (T × P ) is a set of arcs con-necting from a place to transition and vice versa. The arcs that go out from a place to a transition are named as the input places of transitions. While the

(30)

2.2 PATH PLANNING AND THETA* 11

ones running out from a transition to place are the output places of transi-tions. The weights are added to the input and output flows of each transition. With regards to a set of output weights O and a set of input weights I, PN is described as a set of five tuples G(P, T, W, O, I). Places in a PN may con-sist of a number of marks named tokens. The number of available tokens at place p is represented by M (p), and M is marking vector that denotes avail-ability of tokens at all place p ∈ P . The marking M is expressed as a vec-tor [M (p1), M (p2), ..., M (pi), ..., M (p|P |)], in which pi is a place, |P | is the

number of places in PN, and M (pi) is the number of tokens at the place pi. Let

O be a two dimensional matrix of weights O(pi, tj) from the place pi to the

transition tj. I is similarly defined by the weight I(tj, pi) from the transition

tjto the place pi. It is noted that 1 ≤ j ≤ |T |, where |T | is the total number of

transition. Thus, a change of the marking vector of a transition from M to M0 is given by a finite sequence of transitions

M0(p) = M (p) + I(t, p) − O(p, t), ∀p. (2.1)

It is said that the marking M0is reached by the marking M by firing t. In gen-eral, the marking M0is reachable from M by a finite sequence of k transitions σ = ti1ti2...tik. With an initial marking M0, the full description of a PN

con-sists of six tuples G(P, T, W, I, O, M0). A full graph of all possible markings

and transitions, i.e. a reachability set, is described by state-space analysis. As the number of vertices and edges of the state-space graph increase dramatically with regards to the number of places and transitions, the state-space analysis is limited to a small PN.

2.2

PATH PLANNING AND THETA*

In general, the path planning system of an robot is divided into local path plan-ning and global path planplan-ning. The local path planplan-ning controls the movements of a robot within a local area once the route of the robot to the goal has been

2.2 PATH PLANNING AND THETA* 11

ones running out from a transition to place are the output places of transi-tions. The weights are added to the input and output flows of each transition. With regards to a set of output weights O and a set of input weights I, PN is described as a set of five tuples G(P, T, W, O, I). Places in a PN may con-sist of a number of marks named tokens. The number of available tokens at place p is represented by M (p), and M is marking vector that denotes avail-ability of tokens at all place p ∈ P . The marking M is expressed as a vec-tor [M (p1), M (p2), ..., M (pi), ..., M (p|P |)], in which pi is a place, |P | is the

number of places in PN, and M (pi) is the number of tokens at the place pi. Let

O be a two dimensional matrix of weights O(pi, tj) from the place pi to the

transition tj. I is similarly defined by the weight I(tj, pi) from the transition

tjto the place pi. It is noted that 1 ≤ j ≤ |T |, where |T | is the total number of

transition. Thus, a change of the marking vector of a transition from M to M0 is given by a finite sequence of transitions

M0(p) = M (p) + I(t, p) − O(p, t), ∀p. (2.1)

It is said that the marking M0is reached by the marking M by firing t. In gen-eral, the marking M0is reachable from M by a finite sequence of k transitions σ = ti1ti2...tik. With an initial marking M0, the full description of a PN

con-sists of six tuples G(P, T, W, I, O, M0). A full graph of all possible markings

and transitions, i.e. a reachability set, is described by state-space analysis. As the number of vertices and edges of the state-space graph increase dramatically with regards to the number of places and transitions, the state-space analysis is limited to a small PN.

2.2

PATH PLANNING AND THETA*

In general, the path planning system of an robot is divided into local path plan-ning and global path planplan-ning. The local path planplan-ning controls the movements of a robot within a local area once the route of the robot to the goal has been

(31)

12 Chapter 2. Backgrounds

established. Meanwhile, the global path planning needs information regarding the environment e.g. as a scanned map beforehand to generate a global path from a starting point to a desired goal. The global path planning mainly applies for a static environment. This means that in order to compute the global path to a goal for the robot, the presence of the other robots and human, i.e. dynamic objects, are not taken into account, but only static obstacles in the working space are concerned. Conventionally, the algorithms used for planning the global paths are graph/map/grid search-based algorithms. The Dijkstra algo-rithm [4] and its extension A* [5] are well-known approaches for searching in a map. Recent researches in this field has lead to any-angle path planning algo-rithms, which are able to find an optimal path in any direction. This algorithm improves A* by adding a line-of-sight (LOS) detection to each search iteration to find a less zigzaggy path than those generated by A* and its other variants. The primary difference between the Theta* and the others is that the Theta* al-gorithm determines the parent of a node to be any node in the searching space. Thence, the LOS detection feature is purposed to help decrease the undesired expanding by checking for whether the offspring node and the parent are in a straight line, i.e. line-of-sight. By this means, the path found by Theta* is not a connection of adjacent nodes but a connection of line-of-sight ones. The pseudo codes of the Theta* is described in Algorithm 1.

As a heuristic-based search algorithm, Theta* approximates the length of the shortest path based on cost evaluation. The cost evaluation is conducted from the f -value, i.e. the lowest cost from the starting node to the last node, s, in a path, referred to as f (s), and a heuristic value called h-value which is the cost estimation from the node s the goal. The estimated cost of the cheapest node through node s is, thus expressed by

f (s0) = f (s) + h(s, s0). (2.2)

In this work, the heuristic function is simply defined as the Euclidean distance i.e., h(s, s0) = w.Euclidean(s, s0) where w is a weight that determines the

12 Chapter 2. Backgrounds

established. Meanwhile, the global path planning needs information regarding the environment e.g. as a scanned map beforehand to generate a global path from a starting point to a desired goal. The global path planning mainly applies for a static environment. This means that in order to compute the global path to a goal for the robot, the presence of the other robots and human, i.e. dynamic objects, are not taken into account, but only static obstacles in the working space are concerned. Conventionally, the algorithms used for planning the global paths are graph/map/grid search-based algorithms. The Dijkstra algo-rithm [4] and its extension A* [5] are well-known approaches for searching in a map. Recent researches in this field has lead to any-angle path planning algo-rithms, which are able to find an optimal path in any direction. This algorithm improves A* by adding a line-of-sight (LOS) detection to each search iteration to find a less zigzaggy path than those generated by A* and its other variants. The primary difference between the Theta* and the others is that the Theta* al-gorithm determines the parent of a node to be any node in the searching space. Thence, the LOS detection feature is purposed to help decrease the undesired expanding by checking for whether the offspring node and the parent are in a straight line, i.e. line-of-sight. By this means, the path found by Theta* is not a connection of adjacent nodes but a connection of line-of-sight ones. The pseudo codes of the Theta* is described in Algorithm 1.

As a heuristic-based search algorithm, Theta* approximates the length of the shortest path based on cost evaluation. The cost evaluation is conducted from the f -value, i.e. the lowest cost from the starting node to the last node, s, in a path, referred to as f (s), and a heuristic value called h-value which is the cost estimation from the node s the goal. The estimated cost of the cheapest node through node s is, thus expressed by

f (s0) = f (s) + h(s, s0). (2.2)

In this work, the heuristic function is simply defined as the Euclidean distance i.e., h(s, s0) = w.Euclidean(s, s0) where w is a weight that determines the

(32)

2.2 PATH PLANNING AND THETA* 13

Algorithm 1 Theta* algorithm procedure THETA*(sstart, sgoal)

open ← ∅, closed ← ∅, g[sstart] ← 0

parent[sstart] ← sstart

open.insert(sstart, g[sstart] + h[sstart])

while open 6= ∅ do s ← open.pop() if s = sgoalthen

return ”path found” . The found path is stored in parent[] end if closed ← closed ∪ {s} for s0 ∈ neighbor(s) do if s06∈ closed then g[s0] ← ∞ parent[s0] ← N U LL end if gold← g[s0] COSTEVALUATION(s, s0) if g[s0] < goldthen if s0 ∈ open then open.remove(s0) end if open.insert(s0, g[s0] + h[s0]) end if end for end while

return ”no path found” end procedure

procedure COSTEVALUATION(s, s0)

if LOS(parent[s], s0) then . LOS check between parent[s] and s0 if f (parent[s]) + h(parent[s], s0) < f [s0] then

parent[s0] ← parent[s] f [s0] ← f (parent[s] + h(parent[s], s0) end if else if f [s] + h(s, s0) < f [s0] then parent[s0] ← s f [s0] ← f [s] + h(s, s0) end if end if end procedure

2.2 PATH PLANNING AND THETA* 13

Algorithm 1 Theta* algorithm procedure THETA*(sstart, sgoal)

open ← ∅, closed ← ∅, g[sstart] ← 0

parent[sstart] ← sstart

open.insert(sstart, g[sstart] + h[sstart])

while open 6= ∅ do s ← open.pop() if s = sgoalthen

return ”path found” . The found path is stored in parent[] end if closed ← closed ∪ {s} for s0∈ neighbor(s) do if s06∈ closed then g[s0] ← ∞ parent[s0] ← N U LL end if gold← g[s0] COSTEVALUATION(s, s0) if g[s0] < goldthen if s0 ∈ open then open.remove(s0) end if open.insert(s0, g[s0] + h[s0]) end if end for end while

return ”no path found” end procedure

procedure COSTEVALUATION(s, s0)

if LOS(parent[s], s0) then . LOS check between parent[s] and s0 if f (parent[s]) + h(parent[s], s0) < f [s0] then

parent[s0] ← parent[s] f [s0] ← f (parent[s] + h(parent[s], s0) end if else if f [s] + h(s, s0) < f [s0] then parent[s0] ← s f [s0] ← f [s] + h(s, s0) end if end if end procedure

(33)

14 Chapter 2. Backgrounds

size of the area to search for the optimal path around the straight-line between s and s0. With w > 1, Theta* is able to reduce the searching area but may return a longer path, therefore the value w = 1 is used in this work to search for the shortest path. It is assumed that the straight line distance between two nodes would never be longer than any other path connecting them. However, the shortest path generated by the A* algorithm is connected by the neighbouring grid nodes, and thus entails many turning points to the robot. The path found by Theta* is a sequence of LOS nodes so that it is smoother with few turns and closer to a straight-line path between the start and the goal. The algorithm for LOS function is implemented with a drawing-line algorithm in graphics to optimise processing time and is referred to approach proposed by [6].

2.3

DYNAMIC WINDOW APPROACH

Dynamic window approach (DWA) is a local collision avoidance method based on sampling approaches. The DWA was introduced by Fox et al. [7] to use mul-tiple constraints of velocity limits, of acceleration limits, and of following the predefined global path into the local path planning. The local searching space is reduced to dynamic windows in a three-step progress. Firstly, DWA consid-ers the robot’s trajectories as circular trajectories or curvatures determined by a set of translation and rotation velocities (vt, vr). Secondly, only admissible

pairs of (vt, vr) corresponding to their trajectories are considered if the robot

is able to move forward without colliding with obstacles. Finally, the dynamic window limits the admissible velocities to those that the robot can safely reach to the goal in a short time with optimised accelerations. To do so a following objective function given by equation (10.4) is used to score the admissible ve-locities. Only the pair of (vt∗, vr∗) is selected if the objective function reaches

14 Chapter 2. Backgrounds

size of the area to search for the optimal path around the straight-line between s and s0. With w > 1, Theta* is able to reduce the searching area but may return a longer path, therefore the value w = 1 is used in this work to search for the shortest path. It is assumed that the straight line distance between two nodes would never be longer than any other path connecting them. However, the shortest path generated by the A* algorithm is connected by the neighbouring grid nodes, and thus entails many turning points to the robot. The path found by Theta* is a sequence of LOS nodes so that it is smoother with few turns and closer to a straight-line path between the start and the goal. The algorithm for LOS function is implemented with a drawing-line algorithm in graphics to optimise processing time and is referred to approach proposed by [6].

2.3

DYNAMIC WINDOW APPROACH

Dynamic window approach (DWA) is a local collision avoidance method based on sampling approaches. The DWA was introduced by Fox et al. [7] to use mul-tiple constraints of velocity limits, of acceleration limits, and of following the predefined global path into the local path planning. The local searching space is reduced to dynamic windows in a three-step progress. Firstly, DWA consid-ers the robot’s trajectories as circular trajectories or curvatures determined by a set of translation and rotation velocities (vt, vr). Secondly, only admissible

pairs of (vt, vr) corresponding to their trajectories are considered if the robot

is able to move forward without colliding with obstacles. Finally, the dynamic window limits the admissible velocities to those that the robot can safely reach to the goal in a short time with optimised accelerations. To do so a following objective function given by equation (10.4) is used to score the admissible ve-locities. Only the pair of (v∗t, vr∗) is selected if the objective function reaches

(34)

2.3 DYNAMIC WINDOW APPROACH 15 to maximum, (v∗t, vr∗) = argmax (vt,vr) F (vt, vr) = argmax (vt,vr) fαH(vt, vr)+ βD(vt, vr) + γV (vt, vr) + X i ωiΩi(vt, vr)  . (2.3)

In this equation, H(vt, vr) is a goal heading which is maximised if the robot

directly moves towards from the starting point to the goal; D(vt, vr) is a

dis-tance from the robot to the closest obstacles on the robot’s trajectory; V (vt, vr)

is the forward velocity; and Ωi(vt, vr) are optional cost functions. The smooth

function f (·) is used to smoothen the weighted sum of the above components, α, β, γ and ωiare the weight of each component.

2.3 DYNAMIC WINDOW APPROACH 15

to maximum, (v∗t, vr∗) = argmax (vt,vr) F (vt, vr) = argmax (vt,vr) fαH(vt, vr)+ βD(vt, vr) + γV (vt, vr) + X i ωiΩi(vt, vr)  . (2.3)

In this equation, H(vt, vr) is a goal heading which is maximised if the robot

directly moves towards from the starting point to the goal; D(vt, vr) is a

dis-tance from the robot to the closest obstacles on the robot’s trajectory; V (vt, vr)

is the forward velocity; and Ωi(vt, vr) are optional cost functions. The smooth

function f (·) is used to smoothen the weighted sum of the above components, α, β, γ and ωiare the weight of each component.

(35)
(36)

Chapter 3

Related Works

Related works are categorised into three main fields including dependability (Section 3.1), path planning (Section 3.2) and multiple path planning (Section 3.3).

3.1

DEPENDABILITY FOR AUTONOMOUS

CONTROL

The open challenges for development of the dependability of an autonomous system involves to the fact that the autonomous system must be able to recog-nise, work with, and adapt to human or other robot behaviours in a unstructured and unknown environment. For daily application, Care-O-bot, an intelligent home care robot used to assist elderly people, was introduced by Birgit Graf and Martin H¨agel [8]. The proposed home care system was equipped with extensive sensors for motion detection and with alternative levels of safety to prevent accidents caused by a person being hit by the robot. Meanwhile, a de-pendable platform has been the most concern in industrial robots to create col-laborating working environment between human and robot in manufacturing factories. For instance, ABB has been working on an open robotics platform

17

Chapter 3

Related Works

Related works are categorised into three main fields including dependability (Section 3.1), path planning (Section 3.2) and multiple path planning (Section 3.3).

3.1

DEPENDABILITY FOR AUTONOMOUS

CONTROL

The open challenges for development of the dependability of an autonomous system involves to the fact that the autonomous system must be able to recog-nise, work with, and adapt to human or other robot behaviours in a unstructured and unknown environment. For daily application, Care-O-bot, an intelligent home care robot used to assist elderly people, was introduced by Birgit Graf and Martin H¨agel [8]. The proposed home care system was equipped with extensive sensors for motion detection and with alternative levels of safety to prevent accidents caused by a person being hit by the robot. Meanwhile, a de-pendable platform has been the most concern in industrial robots to create col-laborating working environment between human and robot in manufacturing factories. For instance, ABB has been working on an open robotics platform

Figure

Figure 2.1: Dependability taxonomy.
Figure 4.1: Research methodology.

References

Related documents

Although neutron images can be created on X-ray film by using a converter, digital methods have been increasingly used in recent years The advantages of digital methods are used

Figure 1 shows pictures of paper warehousing termi- nals, where MALTA vehicles are intended to operate. The left picture shows stacks of paper reels that are temporar- ily stored

In this section the statistical estimation and detection algorithms that in this paper are used to solve the problem of detection and discrimination of double talk and change in

Könsidentitet är enligt deltagare oväsentligt men eftersom tydlig könsidentitet inom den binära diskursen meriterar till det begripliga och mänskliga eftersträvar

(a) Random algorithm (b) Spiral algorithm (c) Snaking algorithm Figure 5.1: Figures showing the heat maps for the three tested algo- rithms after 2000 runs in the square room.. A

In simulation, the Stanley controller made the vehicle follow the paths closely both in forward and reverse driving with the front wheels as guiding wheels, while only being able

Comment: Student 1 takes the bait and never fully reanalyses the sentence, and the translation makes no sense in Swedish.. Student code GPS and

Hade jag haft möjligheten att göra studien igen hade jag dock väldigt gärna haft två elever för att kunna göra båda kombinationerna, för att se om och i sådana