Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink...

51
Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink [email protected]
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink...

Page 1: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

Home automationand

software agents

7Y910Home automation and robotics9-4-2008

Michiel [email protected]

Page 2: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 2

Schedule

• Objective• Introduction

– Home automation system– Agents

• How to use agents for home automation• Agent based home automation system• Building an agent based HAS

45 min

• Break

• Presentation

• Assignment

15 min

45 min

Page 3: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 3

Index

• Objective• Introduction

– Home automation system– Agents

• How to use agents for home automation• Agent based home automation system• Building an agent based HAS

Page 4: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 4

Objective

• Learn about agents and home automation• Know about how agents can be used in a home

automation system• Know how to build an agent-based home automation

system• Think up some home automation agents and

services

Page 5: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 5

Index

• Objective• Introduction

– Home automation system– Agents

• How to use agents for home automation• Agent based home automation system• Building an agent based HAS

Page 6: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 6

What is a home automation system?

Introduction

Page 7: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 7

Why a home automation system?

To satisfy the need to increase:

• Health (reaction on a CO detection)

• Safety (good lighting to avoid falling)

• Security (burglar detection)

• Indoor environment (increase air quality)

• Sustainability (reduce energy consumption)

• Comfort (adjusting air temperature)

in dwellings

Especially older people have a great need for a system that maintains their:

• Vitality (both mental and physical)

• Independence (put off moving to nursing house)

[1: D. J. Cook, 2006]

Introduction

Page 8: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 8

IntroductionCurrent home automation systems

• more than one standard

• vendor lock-in

• not as flexible as desired

• expensive

Need for:

• open

• flexible

• cost effective

Software agents?

[www.knx.org, 2008]

[www.echelon.com/developers/lonworks, 2008]

[www.x10.com/technology1, 2008]

[www.zigbee.org, 2008]

Page 9: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 9

IntroductionSoftware Agents: what are they?

• Many definitions

A piece of autonomous software:

Responsibilities

Goals

Social

ReactiveProactive

Intelligent

[http://www.365halloween.com/halloween-costumes/suit-halloween-costume-ideas.php, 2008]

[H.S. Nwana, 1996]

Page 10: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 10

IntroductionAgent-based home automation system

Why?

• reduce complexity

• improve flexibility

• easy implementation of intelligence and self learning

Page 11: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 11

Index

• Objective• Introduction

– Home automation system– Agents

• How to use agents for home automation• Agent based home automation system• Building an agent based HAS

Page 12: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 12

How to use agents for home automation

Several ways to use agents in a home automation system

• Control existing home automation system with one or more agents (centralized intelligent)

Example: MavHome [D. J. Cook, 2006] (uses X10 home automation system)

Page 13: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 13

Several ways to use agents in a home automation system

• Control home automation system components directly on a central location with one or more agents (centralized intelligent)

Example: I.L.S.A project [Karen Zita Haigh, 2002]

How to use agents for home automation

Page 14: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 14

Several ways to use agents in a home automation system

• Control home automation system components with decentralized agents (decentralized intelligent)

Example: C@SA project [B. De Carolis, 2005]

How to use agents for home automation

Page 15: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 15

Several ways to use agents in a home automation system

• Use completely decentralized agents

UMASS Intelligent Home project [V. Lesser, 1999]

How to use agents for home automation

Page 16: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 16

Several ways to use agents in a home automation system

• Use hierarchy

Example: C@SA project [B. De Carolis, 2005]

How to use agents for home automation

Page 17: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 17

Several ways to use agents in a home automation system

• Do not use hierarchy

How to use agents for home automation

Page 18: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 18

Today:

• Do not use hierarchy

• Use completely decentralized agents

How to use agents for home automation

Page 19: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 19

Index

• Objective• Introduction

– Home automation system– Agents

• How to use agents for home automation• Agent based home automation system• Building an agent based HAS

Page 20: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 20

Agent-based home automation system

• Reliability

• Flexibility

• (Cost effective)

• But harder to realize!

So main idea:

• Decentralized intelligence: each component in the home automation system, has its own agent

• No hierarchy: All components are equal to each other

OSI model: agents are applications(Open System Interconnection)

Page 21: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 21

Agent-based home automation system Problems:

• Completely decentralized: how do agents know about each other?

• Lots of components in a network: how to limit use of bandwidth?

• How do agents know where they are?

• Different home automation aspects: what communication protocol will agents use?

• No hierarchy: how to handle task conflicts?

• How to modify the system?

• …

Page 22: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 22

Agent information distribution:

• Agents have a database with information about other agents

• Agents share information in their database with each other

Agent-based home automation system

Page 23: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 23

Plug and Play

Agent-based home automation system

Page 24: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 24

Communication standards:

Agents should support or able to learn multiple communication standards

Agent-based home automation system

Page 25: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 25

Location control

Agent-based home automation system

Page 26: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 26

Retrieving information from other agents

• Reduce network use: no broadcasting

• Agent can subscribe at each other to report specified status change

Agent-based home automation system

Page 27: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 27

Goals of agents

• Each component its own agent: task conflicts

Agent-based home automation system

Page 28: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 28

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 29: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 29

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 30: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 30

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 31: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 31

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 32: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 32

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 33: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 33

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 34: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 34

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 35: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 35

Goals of agents

• Approaches to solve task conflicts

Agent-based home automation system

Page 36: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 36

Index

• Objective• Introduction

– Home automation system– Agents

• How to use agents for home automation• Agent based home automation system• Building an agent based HAS

Page 37: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 37

Building an agent based HAS

How to design an agent-based home automation system?

• Can be done in many ways

• Today an example

Page 38: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 38

Architecture of an agent

• Hardware devices (lights)

• Services (light controller, light comfort control)

• Communication (receive and retrieve information)

• Decision maker (negotiation with conflicts)

Building an agent based HAS

Page 39: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 39

Implementation:

• Platform: Java

• Agent framework: JADE (Java Agent DEvelopment) [Telecom Italia Lab, 2008]

Jade includes:

• Communication standard: Agent Communication Language (FIPA standard) [www.fipa.org, 2008]

• Controlling agents: start, stop, pause, continue, …

• Tools for developing

• …

Building an agent based HAS

Page 40: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 40

Designing agents:

• Based on “A Methodology for the Analysis and Design of Multi-Agent Systems using JADE” [Magid Nikraz, 2006]

Building an agent based HAS

Page 41: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 41

Agent responsibilities:

• Responsibilities of each agent:

• accepting incoming messages

• handle subscriptions

• Agent specific responsibilities:

• To perform the functionalities of the system, for example:

• Door lock agent: make sure door is locked when user is away

• Door lock agent: lock door when user sleeps

• …

Building an agent based HAS

Page 42: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 42

Interactions:

• Hello messages

• Status request messages

• Action request messages

• Subscribe messages (for initializations)

• Report status change messages

Building an agent based HAS

Page 43: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 43

Interactions: example action request interaction

Building an agent based HAS

Page 44: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 44

Services:

Service for:

1. Representing device of an agent (e.g. lamp, sensor, door lock)

2. Representing agent specific responsibility (lamp agent: turn on the light when illuminance level is too low)

Example:

agent specific responsibilitydevice of an agent

Building an agent based HAS

Page 45: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 45

Services examples:

agent specific responsibilitydevice of an agent

device of an agent (no agent specific responsibility)

Building an agent based HAS

Page 46: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 46

Agent

Classes:

Database

Service

DecisionMaker

Device

HelloBehaviour

RequestStatusBehaviour

RequestActionBehaviour

SubscriptionBehaviour

Building an agent based HAS

Page 47: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 47

Database:

• Name

• Description

• Service:

• Name

• Version

• Variable

• Action

• Address

• MAC

• Location

• Area of influence

XML database:

Building an agent based HAS

Page 48: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 48

References

[1] D. J. Cook, "Health monitoring and assistance to support aging in place," Journal of Universal Computer Science, vol. 12, no. 1, pp. 15-29, 2006.

[2] KNX Association. http://www.knx.org/ . 21-2-0007. [3] Echelon Co. http://www.echelon.com/developers/lonworks/ . 20-10-2007. [4] H. S. Nwana, "Software agents: An overview," Knowledge Engineering Review,

vol. 11, no. 3, pp. 205-244, 1996.[5] D. J. Cook, M. Youngblood, and S. K. Das, A multi-agent approach to controlling

a smart environment Arlington: Springer Berlin / Heidelberg, 2006, pp. 165-182.[6] Karen Zita Haigh, John Phelps and ChristopherW.Geib. An open agent

architecture for assisting elder independence. Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 2[SESSION: Session 6A: applications], 578-586. 2002.

[7] B. De Carolis, G. Cozzolongo, S. Pizzutilo, and V. L. Plantamura, "Agent-Based Home Simulation and Control," 2005, pp. 404-412.

[8] V. Lesser, M. Atighetchi, B. Benyo, B. Horling, A. Raja, R. Vincent, T. Wagner, P. Xuan, and S. XQ Zhang, "The UMASS Intelligent Home Project," Proceedings of the Third International Conference on Autonomous Agents, pp. 291-298, 1999.

[9] JADE. Telecom Italia Lab. http://jade.tilab.com/ . 5-1-2008. [10] FIPA. http://www.fipa.org/ . 28-1-2008. [11] Magid Nikraz, Giovanni Caire, and Parisa A.Bahri, "A Methodology for the

Analysis and Design of Multi-Agent Systems using JADE." 2006.

Page 49: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 49

End of presentation Please ask your questions

Page 50: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 50

Break

Page 51: Home automation and software agents 7Y910 Home automation and robotics 9-4-2008 Michiel Brink m.brink@student.tue.nl.

9-4-2008 51

1. Think up as much agents as possible

2. Combine agents to invent new home automation services

Assignment