Skip to content

Control Architectures

Marc Hanheide edited this page Apr 24, 2023 · 7 revisions

This workshop will focus on deliberative and reactive control architectures.

Deliberative Control Architecture

You will use the planning service available at https://lcas.lincoln.ac.uk/fast-downward/.

  1. Familiarise yourself with the website and read the slides by Malte Helmert (available on Blackboard)[https://blackboard.lincoln.ac.uk/bbcswebdav/pid-8130002-dt-content-rid-17898325_2/xid-17898325_2] to learn about the PDDL language and the so-called "robot gripper domain and problem". This problem is a version of the problem the robot "Shakey" solved!

  2. Load the domain robot_typed and the corresponding problem robot_typed, and solve it using the so-called fast-downward planner (NOTE: fast-downward is one of many AI planners that use PDDL as their language).

  3. Extend the domain towards a multi-robot task. I.e. what do you have to change to allow the task to be solved by multiple robots?

    • Hint: You will need to introduce the robots as objects and then the action must take the robot they should be executed on as a parameter. Also, each robot can be in a different room, so some of the predicates also will have to change.
    • You can use the problem file for a multi-robot problem (2 robots in this case), which we prepared for you already, and focus on extending the domain to solve this given problem with 2 robots.
    • Do 2 robots solve the task quicker?
  4. Now, starting again from the original robot_typed domain and problem, think about how you could make this problem more realistic. At the moment there are just 2 rooms, but if there are more, e.g., 4, and there are connected to one another like this:

    Rooms pddl Problem

    With 4 objects initially in room A, and to be moved as indicated by the green arrows. Again, this problem is already given in a problem file, so you can focus on writing the corresponding domain file. But focus on understanding the way the problem is presented, first. Then, extend the domain and show how it can now generate plans for this more general task.

Reactive Control Architecture

You have likely developed quite some reactive behaviours already in the coursework! So, the task here is to reflect if your solution had different reactive behaviours, and how you have coordinated them. Have you actually developed a purely reactive control architecture? Are several reactive behaviours running parallel? Have you got a system state you use memory for?

Clone this wiki locally