18 Consider the following robotic domain (as shown in the picture below). There are three rooms lined up along a corridor, where each room has a door (always open) and a light switch.
The predicates are as follows:
at(x): true if the robot is at location x
switch(s): true if s is a switch location
sameRoom(x,y): true if locations x and y are in the same room. By convention, a door between two rooms is in both of them.
on(s): true if the switch s is on
The actions of the robot include moving from place to place and turning light switches on and off.
go(x,y): requires the robot be at x and that x and y are locations, in the same room. turnOn(s): requires that s is a switch location, the switch is off, and the robot is at s. The action allows s to be turned on.
turnOff(s): requires that s is a switch location, the switch is on, and the robot is at s. The action allows s to be turned off.
Write a PDDL description of this planning domain. You need to use the PDDL syntax starting from the following:
(define (domain robot)
(:requirements :strips)
(:predicates (at ?location) (switch ?s) (sameRoom ?location ?room) (on ?s))
...//fill in the description here//
)
Fill in your answer here