-
Notifications
You must be signed in to change notification settings - Fork 34
Control Architectures
This workshop will focus on deliberative and reactive control architectures.
You will use the planning service available at https://lcas.lincoln.ac.uk/fast-downward/.
-
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!
-
Load the domain
robot_typedand the corresponding problemrobot_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). -
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?
-
Now, starting again from the original
robot_typeddomain 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:
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.
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?
Copyright by Lincoln Centre for Autonomous Systems
-
CMP3103
- Using the Docker Image
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5: Start working towards Coursework 2526
- Using the real Limo Robot