KheDeLP: A Framework to Support Defeasible Logic ... - Google Sites

0 downloads 115 Views 667KB Size Report
1. KheDeLP: A Framework to Support. Defeasible Logic Programming for ... processor. • 512 KB RAM, 512 KB Flash memory
KheDeLP: A Framework to Support Defeasible Logic Programming for the Khepera Robots E. Ferretti1, M. Errecalde1, A. García2, and G. Simari2 1 Universidad

Nacional de San Luis

2 Universidad

Nacional del Sur

Argentina

1

Index ! ! ! ! ! ! !

Khepera 2 robot overview Webots simulator Motivation DeLP KheDeLP framework Motivating example Conclusions

2

Khepera 2 robot

• 60 mm diameter, 30 mm height, approx. 70 grams • eight infrared sensors to sense both ambient light levels and proximity to nearby objects • two DC motors

• on-board Motorola 68331 (25MHz) processor • 512 KB RAM, 512 KB Flash memory programmable via serial port • rechargeable NiMH batteries: aprox. 60 minutes of autonomy

3

Webots simulator

• It is a 3D realistic professional simulator that allows to build virtual worlds with objects and robots with different physical properties.

• It provides a considerable number of interfaces with real robots: " " " " "

Khepera Hemisson Lego Mindstorms Aibo etc.

4

Motivation ! ! !

To develop deliberative agents to control the robots coordination. To support knowledge representation and high-level reasoning. To hide low-level robot-computer communication being able of concentrating on the high-level problem specification.

5

Defeasible Logic Programming (DeLP) !

Facts # #

!

Strict Rules: L0 ← L1, L2, …, Ln #

!

target(white) ~target(black)

obstacle(X) ← ~target(X)

Defeasible Rules: L0 ! L1, L2, …, Ln # #

move_forward ! target_ahead ~move_forward ! target_ahead, obst_ahead 6

How DeLP works DeLP Program P

Defeasible rules Strict rules Facts DeLP Interpreter

User Query L ?- move_forward Possible Answers to Query L • YES, a warranted argument 〈A, L〉 exists • NO, a warranted argument 〈A, ∼L〉 exists • UNDECIDED, none of the above cases hold. 7

KheDeLP framework scheme stand-alone applications

agent module

Cognitive layer Sensorial / Effectorial layer interconnection layer low level communication layer Webots interface

KRobot class

8

Motivating example target(white) ~target(black) obstacle(X) ← ~target(X) move_forward ! target_ahead ~move_forward ! target_ahead, obst_ahead ~move_forward ! target_ahead, at_target target_ahead ! target(X), camera_detects(X) at_target ! target(X), prox_sensor_detects(X) turn ! obst_ahead turn ! target(X), ~camera_detects(X) obst_ahead ! obstacle(X), prox_sensor_detects(X) 9

Motivating example: situation 1

10

Motivating example: situation 1 !

!

Both the camera and the proximity sensors detect a white object. camera_detects(white) and prox_sensor_detects(white) succeed, and the following conflicting arguments can be obtained:

11

Motivating example: situation 2 ! !

Only camera_detects(white) holds. The argument A2 can not be constructed and therefore, the answer for move_forward will be YES, providing reasons for moving forward.

12

Motivating example: situation 2 ! !

Only camera_detects(white) holds. The argument A2 can not be constructed and therefore, the answer for move_forward will be YES, providing reasons for moving forward.

13

Motivating example: situation 3

14

Motivating example: situation 3 !

!

!

The target is ahead, but there is an obstacle to avoid. camera_detects(white) and prox_sensor_detects(black) hold. The argument A1 can be obtained but A2 can not.

15

Motivating example: situation 3 !

!

!

The target is ahead, but there is an obstacle to avoid. camera_detects(white) and prox_sensor_detects(black) hold. The argument A1 can be obtained but A2 can not.

16

Motivating example: situation 3 ! !

A3, a new proper defeater for A1, appears. A4 provides a warrant for turn.

17

Conclusions #include #include

Before …

int main(){ int i, sensor[6], delta, speed[2]; printf(" S0 S1 S2 S3 S4 S5 Delta L R "); while (TRUE) { /* read front 6 sensors */ for (i=0; i