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<6; i++) { sensor[i] = sens_get_reflected_value(i); printf("%4d ", sensor[i]); } …

GNU C Cross Compiler

minicom

18

Conclusions

move_forward ! target_ahead target_ahead ! target(X), camera_detects(X) …

Now … camera_detects(white) :- k213_get_image(L), search_sublist(whiteValue, L). camera_detects(black) :- k213_get_image(L), search_sublist(blackValue, L). …

KheDeLP

19

Questions?

Thank You very much for your attention …

20

KheDeLP: A Framework to Support Defeasible Logic ...

1. KheDeLP: A Framework to Support. Defeasible Logic Programming for ... processor. • 512 KB RAM, 512 KB Flash memory programmable via serial port.

667KB Sizes 0 Downloads 137 Views

Recommend Documents

A framework to leverage domain expertise to support ...
Abstract—Advances in modern technologies have afforded end- users increased convenience in performing everyday activities. However, even seemingly trivial issues can cause great annoyance for the ordinary user who lacks domain expertise of the ofte

A Software Framework to Support Adaptive ...
a tool to allow users to easily develop and run ADAs without dealing with the ... statically prior to mapping data and launching application executions. ..... The PMWComm is implemented as a XML-RPC server and also a PVM task in its local ...

A Software Framework to Support Adaptive Applications in Distributed ...
a tool to allow users to easily develop and run ADAs without ... Parallel Applications (ADA), resource allocation, process deploy- ment ..... ARCHITECTURE.

Fuzzy Logic and Support Vector Machine Approaches to ... - IEEE Xplore
IEEE TRANSACTIONS ON PLASMA SCIENCE, VOL. 34, NO. 3, JUNE 2006. 1013. Fuzzy Logic and Support Vector Machine Approaches to Regime ...

A Windows Support Framework for the NetFPGA 2 ...
ating systems. So we only test the send/receive through- put of NetFPGA equipped host. In our experiment, the two servers connect to a gigabit switch using one ...

A Collaborative Design Environment to Support ... - CiteSeerX
A digital camera to capture analog media, and to document design process. A printer/fax/scanner/copier multifunction unit. A regular laserprinter. A large-format plotter. Flipcharts and regular whiteboards as backup. VOIP AND WEB VIDEOCONFERENCING. E

Introduction to Logic
Introduction to Logic. Semantics for epistemic logic. Kripke model for multi-modal propositional logic. A Kripke model for LK n is a tuple: M = (W,{Ri }i∈A,v) ...

A. Logic A2. Philosophical Logic Proof Theory, Meaning ...
normalize. Interestingly, Tennant's proposal looks like a bridge between the traditional .... involving version of Curry's Paradox, which I call Validity Curry, that rcf theo- ..... Conference in Philosophy of Logic and Mathematics, University of Cam

Introduction to Framework One - GitHub
Introduction to Framework One [email protected] ... Event Management, Logging, Caching, . ... Extend framework.cfc in your Application.cfc. 3. Done. (or in the ... All controllers are passed the argument rc containing the request.context, and all v