23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

– Supporting both blocking and non-blocking intention dispatching for a newsubgoal: the former places the new generated plan at the front <strong>of</strong> the executionpath <strong>of</strong> the intention which generated the subgoal, the latter intendsthe new generated plan as a new intention.– Control on expansion <strong>of</strong> a subplan such as complete expansion before executionor incremental expansion in runtime.– Priority for execution <strong>of</strong> intentions.– Supporting atomic and continuous actions (actions which provide feedback)in blocking and non-blocking modes.6.2 Monitoring and Resource ManagementA cognitive robot has different goals and receives different events. In a BDIarchitecture, the robot generates different plans to achieve those goals and reactto those events. To provide a good level <strong>of</strong> autonomy and intelligence, it isobvious that a robot should be able to follow its different plans in parallel. Forexample when NAO is moving toward the drug box to check if it’s empty or not,it should be in the same time responsive to requests from its users (e.g. Task 5).The problem is that execution <strong>of</strong> different plans in parallel can be conflictingdue to a robot’s functional and resource constraints and should be coordinatedbased on the priorities <strong>of</strong> different plans. For example consider a use case inwhich NAO has picked up a piece <strong>of</strong> trash and going to put it into the trashcan. Suddenly, NAO hears a user asking for help. To be able to help the user,NAO should go to the Red Button and have empty hands to press it. As canbe noticed, this plan has two conflicts with the previous plan <strong>of</strong> the NAO (i.e.walking to the trash bin and having trash in hand). As helping the user is <strong>of</strong>the highest priority, NAO should leave the trash and start walking toward theRed Button immediately.To facilitate the use <strong>of</strong> agent programming languages for implementing controlsystems <strong>of</strong> autonomous robots, these languages should be extended withdifferent mechanisms and corresponding programming constructs necessary forcoordinating the parallel execution <strong>of</strong> different plans. Moreover execution <strong>of</strong>plans should be monitored and their failures should be handled in a proper way.Current execution languages provide support for the following mechanisms:– Monitoring the execution <strong>of</strong> a plan at different levels <strong>of</strong> its hierarchy.– Monitoring different stages <strong>of</strong> the execution <strong>of</strong> a plan to guarantee its safeexecution. Some conditions should be checked before starting/resuming theplan, some conditions should be checked continuously during the plan executionand some should be checked after finishing the execution <strong>of</strong> the plan.– Monitoring different conditions such as temporal constraints on the absolutetime, constraints on execution statuses <strong>of</strong> other subplans, occurrence <strong>of</strong>certain events and constraints on a robot’s beliefs.– Representing and determining conflicts between different plans (e.g. explicitrepresentation by denoting the resources they require or by providing sharedvariables and locking mechanisms).50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!