You should design and implement a motivated active decision-making architecture for an autonomous robot confronted to an action selection problem. It should utilise a simulated physiology of homeostatically-controlled variables, as well as appropriate motivations and behaviors. The work is similar to the architecture covered in Lecture 5 and the corresponding Practical 5. However, in this occasion, your robot has to solve a 2-resource problem. This means that your robot will need:
• 2 internal controlled homeostatically variables, modelling the needs of the robot
• at least 2 motivations, linked to the above internal variables
• at least 2 consummatory behaviors (one to satisfy each motivation)
• some appetitive behaviors (e.g. an active searching behaviour)
• the presence of two different types of resources in the environment, each allowing the robot to satisfy one of its needs
Your implementation of the multi-resource problem needs to be different from the example seen in class (Lecture 5 and 6), e.g., you should use different types resources and internal variables. To complete this Task, you will need to carry out the following sub-tasks:
Create a diagram of the robot’s architecture and use it to guide the later implementation of the robot. Take inspiration from the diagrams seen Lecture 6 on the slides 19, 21, 23 and 25. 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.
Explain your choices of motivations and how your architecture facilitates decision making (between 50 and 80 words).
Use a simulated robot in the Webots Robot Simulator, implement your robot controller and environment following your design from the previous step. Your code should clearly reflect the design depicted in the diagram and be organized appropriately in terms of the conceptual elements of the architecture. In the first line of your controller please state whether you are using the 2020 (uni-PC) or 2021 version of Webots! Add further descriptive non trivial com?ments to your code explaining how the different elements (e.g. variables, func?tions) match and implement your design.
Your controller should tackle the 2-resource problem.
The majority of the code must be your own. If you re-use or adapt code from any source for any part of the exercises, please state it clearly in your report. Add appropriate comments to the code that allow us to identify where code is borrowed and what is your own work. This is also the case if you work together with classmates!
You will need to test the behavior of your robot in two conditions:
1. in the original environment that you designed and implemented initially (e.g. combine and )
2. in a more complex environment or your choice (see below)
Create a more complex environment for you robot in the Webots simulator. You can make the environments more complex, for example, by adding other elements such as static or movable objects of new types, different of object with varied sizes, different weights, etc.
In the report, please explain what complexity you have added, why, and how this make the task the robot has to solve more difficult (between 80 and 120 words).
Test the robot for at least 5 “runs” in the two environments. 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. Evaluate all the runs qualitatively and quantitatively.
For each of the runs in the original and in the complex environments, make notes of the behaviors that you observe. For example, cyclic behaviors, or if specific behaviors happens in a specific locations, 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 in the complex environment. Try to identify as many interesting behaviors as possible. Write a paragraph of between 100 and 200 words describing your observations for each type of environment and comparing the potential differences and similarities.
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.
Analyse 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 viability.
In the report, include the plots or tables giving the above metrics for each run and a short paragraph (between 50 and 80 words) with the conclusions you draw from these metrics.
To demonstrate the work you have carried out, please provide two 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 make links with the findings in your qualitative and quantitative analysis and critically discuss the behaviors of the robot in terms of your design. Creation of autonomous system in Webots using python. More details attached below I would like to specify that i only need the coding and the implementation of the robot in both environments, basically everything that is done in Webots. The architecture diagram, quantitative evaluation, qualitative evaluation and demonstration videos it is not needed.
If any questions please do let me know. Note: as specified in the practical file attached, the ideology of the autonomous system can be simple, for example one homeostatic variable could be: A thymio robot model looks for fuel, so that he can consume it (doesn't need to actually consume it, but to find it and go on top of it, and turn an LED on to notify that he is "consuming" ) .