This project is solving the Lego Rovers challenge.

A rules based controller for the lego rover has been created using the drools rules engine. Rules for establishment of beliefs based on sensor values and actions based on beliefs for a simple scenario have been defined.

This addresses the listed challenges of:

Allow rules to be chained together (basic inference) Drools supports multiple chaining.

Allow more than one rule to be active at once (illustrating potential side effects of combinations of rules) Drools supports rule activation0.

Allow rules to be modified by the child in some way Drools allows templates to be developed which allow controlled updates of particular elements in the rule - e.g. parameter value.

Allow the meanings of terms in the rules (e.g. what does “detect an obstacle” mean in terms of sensor input) to be changed by the child Sensor values used to update beliefs. Actions are executed when certain beliefs are held.

Make more extensive use of sensors (in the existing demonstration each robot only has one sensor), Prototype has 2 sensors, but can easily be extended to more sensors by adding more rules.

Goal-based planning (e.g. explore an area, locate an item) A planner may be coded by specification of correct rules (ala Shoppers universal plans) or an inference based planner could be written in using logical inferencing and retraction mechanism in drools

The code was developed using the Universitat Paderborn developed Lego Mindstorms Simulator

Project Information

License: MIT License
Source Code/Project URL: