Reference no: EM132755421
6COM1035 Constructive Artificial Intelligence - University of Hertfordshire
Task 1: A reactive decision-making system based on the robot trace-maker
In this task, you need to work on a reactive decision-making system based on the robot trace- maker seen in class (cf. Lecture 4 and related Practical on reactive decision-making systems) and more fully described in the paper Prescott and Ibbotson (1997) available on Canvas. You therefore need to design and implement a robot using the Subsumption architecture and investigating the "meandering" trace fossils described in that paper.
To do this exercise, you need to make sure that you understand and test the robot controller (example and code) provided in Practical 4, which produces either left or right spiral patterns, and which is based on the subsumption architecture controller described by Prescott and Ibbotson.
Building on the above controller, you need to produce two versions of a trace-making robot:
Version 1 of Task 1
Using the controller provided in the practicals and mentioned above, you need to add and test a new behavior, which should be your own work: a "strophotaxis" behavior along the lines of that described by Prescott and Ibbotson. Please note that, given the difference between embodiments of the robots used by Prescott and Ibbotson, and the Thymio robot, you might need to adjust some control parameters (e.g. turning speeds, thresholds) to produce traces resembling the meandering traces in the paper by Prescott and Ibbotson.
You need to provide a short explanation (up to 300 words) in the report regarding how you designed and implemented the Strophotaxis behavior, how it affects the behavior of the robot, and how it fits into the rest of the Subsumption architecture .
You must test your robot and provide a short video illustrating its behavior, as well as a short explanation (up to 100 words) of the video in the report.
You need to modify the controller from 1 so that the Thigmotaxis behavior is only executed immediately following the Strophotaxis behavior, but is otherwise disengaged. To engage and disengage the behavior, you need to use principles/mechanisms available as part of the Subsumption architecture.
You need to provide a short explanation (up to 300 words) in the report regarding how you designed and implemented the Strophotaxis behavior, how it affects the behavior of the robot, and how it potentially makes it different from the behavior in Version 1 in terms of the traces generated.
You must test your robot and provide a short video illustrating its behavior, as well as a short explanation (up to 100 words) of the video in the report.
Task 2 - A motivated active decision-making architecture
In this task you need to design and implement a motivated active decision-making architecture (which uses a simulated physiology of homeostatically-controlled variables, as well as appropriate motivations and behaviors) for an autonomous robot confronted to an action selection problem, similar to the architecture covered in Lecture 5 and the corresponding Practical. However, in this occasion, your robot has to solve a 3-resource problem. This means that your robot will need:
3 internal variables controlled homeostatically, providing the needs of the robot
at least 3 motivations, linked to the above internal variables
at least 3 consummatory behaviors (at least one to satisfy each motivation)
some appetitive behaviors
the presence of three different types of resources in the environment, each allowing the robot to satisfy one of its needs
Your implementation of a multi-resource problem needs to be different from the example seen in class (Lecture 5), e.g., you should use different types resources, of internal variables.
To complete this Task 2, you need to carry out the following sub-tasks:
Designing your Autonomous System (robot + task + environment)
As part of the design process, you need to make a diagram of the architecture of the robot and use it to guide the actual implementation of the robot. Taking inspiration from the diagrams seen in class (relevant examples of diagrams can for example be found in the slides of Lecture 5 and Lecture 7), your diagram, applied to your specific action selection problem, should clearly show the main elements of the architecture: sensory inputs, internal physiology, motivations, behaviors, and arbitration (decision making) mechanism.
You need to include this diagram [up to 4 marks] in the report and explain your choices and how your motivated architecture works in order to make decisions.
Implementing your Autonomous System (robot) using the Webots Robot Simulator
Using the simulated Thymio robot of the Webots Robot Simulator, implement your robot controller and environment following your design. Your code should reflect clearly the design depicted in the diagram and be organized appropriately in terms of the conceptual elements of the architecture [up to 5 marks]. You also need to add meaningful comments to your code explaining how the different elements (e.g. variables, functions) match and implement your design [up to 2 marks]. Your controller should work meaningfully and make the robot tackle the 3-resource problem.
The majority of the code must be your own. If you re-use or adapt code from any source that is not your own for any part of the exercises, you need to state it clearly in your report, as well as in your code, adding appropriate comments to the code that allow us to identify which code is borrowed and which code is your own.
Testing your autonomous robot in the original environment and in more complex environments
Using the simulated Thymio 2 robot of the Webots Robot Simulator, you need to test the behavior of robot above in two conditions: first, in the original environment that you designed and implemented initially (cf. points 1 and 2 above), and later in a more complex environment or your choice, which contains additional elements that pose more challenges to the robot.
Regarding the design of the complex environment, in the report you need to explain clearly what types of complexity you have added, why, and how they make the tasks that the robot has to solve more difficult. You can make the environments more complex, for example, by adding other elements such as static or movable objects of different types, different sizes, different weights, etc.
You need to test the robot for at least 5 "runs" in each environment (the original environment and the new complex environment). Each run should last no more than 8 minutes and no less than 3 minutes. All the runs should be of the same duration (unless the robot "dies" before the time has elapsed). Please note that, while testing your robot, you need to log the relevant data to be able to perform a quantitative analysis, as explained below.
You need to evaluate all the runs qualitatively and quantitatively, as follows:
3a) Qualitative evaluation:
For each of the runs in the original and complex environments, make notes of the behaviors that you observe: for example, cyclic behaviors, if specific behaviors might happen in specific locations in the environment, how much of the environment your robot explores, make a note of the differences you might observe in the behavior of the robot in the original and complex environment. Try to identify as many interesting behaviors as possible.
In the report, you need to write a paragraph (up to 300 words in total) describing your observations for each type of environment and comparing the potential differences and similarities.
3b) Quantitative evaluation:
For each environment, perform a quantitative analysis of the robot's performance in managing its internal variables. This must include plotting the logged internal physiological variables and the "wellbeing" calculated from these variables over time for each run [up to 4 marks].
You also need to assess the overall performance of the robot in each run by calculating and reporting two of the quantitative metrics seen in class: survival time for each run and "overall wellbeing" [up to 3 marks]. Using these metrics, you should then compare the robot's performance in the simple environment and the complex environments using a statistical T- test (described in the Lecture on "Evaluating CAI Systems").
Note: you will need to log the relevant data in order to carry out this quantitative evaluation.
In the report, you need to include the plots, tables giving the above metrics for each run, the results of the T-tests, and a short paragraph (up to 150 words) with the conclusions that you draw from these tests.
Demonstration videos for Task 2
To demonstrate the work that you have carried out as part of Task 2, you need to provide 2 short videos, as follows: one demonstrating the behavior of the robot in the original, simpler environment, and another one showing highlights of the robot in different situations in the complex environment.
Do not provide videos of the entire runs: you will need to edit the videos of individual runs to select "highlights" (particularly interesting and relevant behaviors to illustrate your work) and merge those fragments in a single video for each type of environment.
Video files should be small (preferably of a maximum resolution of 360p, or as close to that as possible, and under 10 Mb).
In the report, you need to write some text explaining, for each video, what the video is demonstrating. When discussing your videos, you should make links with the findings in your qualitative and quantitative analysis and critically discuss the behaviors of the robot in terms of your design.
Attachment:- Constructive Artificial Intelligence.rar