UFCXR-15-3
Autonomous Agents and Multiagent Systems
2024-2025
Section 1: Overview
In short, you need to develop a Multi-agent system using a simulation environment. You need to submit diagrams, code, slides and video.
See Assessment Specification for more details.
Module learning outcomes assessed:
1. Apply agent-based analysis and design skills and techniques, appropriate to solving complex AI problems.
2. Identify situations where agent-based problem analysis, system design and programming paradigms are applicable and to create software that exploits them.
3. Appraise the concepts of multi-agent systems including cooperation, competition, learning and develop multi agent systems to solve complex problems.
Submission Rules
This assessed work must be submitted as follows:
1) Submission of Activities 1 to 4:
• Commit and push the solution to YOUR OWN INDIVIDUAL GITHUB REPOSITORY THAT IS CREATED ONCE YOU ACCEPT THE ASSIGNMENT. There will be one Github assignment for each submission point and NO OTHER GITHUB REPOSITORIES WILL BE ACCEPTED.
• Make sure your GitHub username is linked to your student username and ID.
• For each submission you will create a file named solution.md in the root of your repository with a brief description of the steps needed to run your solution. Likewise you should include links to the solution of each activity included in the submission. No word count limit here, but this is expected to be brief but enough to run your solution and appreciate the work you have completed.
• Python code should be organised within the src folder and should include a requirements .txt file indicating clearly the libraries used and the version.
• For all programming activities, the code should be documented thoroughly. Implementation should be aligned to the design.
• Every file that you use in your solution should be copied in the repository. No links to partial solutions copied or uploaded to external repos or sites.
2) Submission of Activity 5:
• Uploading file via Blackboard submission point. See Deliverables expected for each activity.
Section 2: Assignment Specification
Robot-Assisted Farming
In the last few years, robots have been used in agriculture. These are useful to improve efficiency in farming operations as robots can work tirelessly at different weather and terrain conditions. A recent example from A California Farm shows how picker robots are introduced to pick strawberries. While these robots have the ability to make some decisions a human operator is still required.
For this coursework, assume the hardware for two types of next generation farming robots has been built with the following characteristics:
Amphibious Picker Robots
These are basic robots that are able to operate fully autonomously. These robots have an arm with ability to cut strawberries from trees as well as store and carry them. Once the robot’s storage is full they need to return to the base. These robots are able to move in rough farm terrain and also across watery surfaces (e.g. rivers) without compromising the payload. However, the speed of these robots gets limited when these are moving through water. Moreover, these robots can not move through trees so need to use existing lanes.
Explorer Drones
These are drones that are able to explore autonomously and send signals to other robots (e.g. to picker robots) about the location of the crops that need to be picked. These robots move in 6 directions: front, back, left, right, up and down. These drones fly over trees taking pictures of the crops, then computer vision algorithms are used to calculate the urgency for collection of the crops in a given area.
Operation Modes Basic Mode
• Exploring and movement around the farm according to each type of robot capabilities.
• Drones locate crops to be collected and wait for the picker robots, once they get there, the drones continue exploring.
• Amphibious picker robots move randomly to locate the crops to be collected, pick the crops until their storage is full, in that case they return to the base station to unload the crops collected and continue picking.
• Robots have a battery whose energy is consumed as time progresses.
Extended Operation
• Communication of drone and picker robots to avoid random movement of picker robots: picker robots only leave the station once the drone send a signal with coordinates of where the crops need to be collected. Drone can send messages to individual robots or broadcast location of the crops to all the robots.
• Crops age and grow as simulation progresses. Once an area has been fully picked new seeds are grown, re-starting the ageing cycle. Environment handles the ageing and re-growing of strawberries.
Environment
• The configuration of the environment, including the location of robots and all elements in the environment, can be random, in other words, robots are intended to work with any configuration of the same group of elements.
• The number of robots of each type to be deployed for a particular mission can be pre-defined by operators.
Assume you have been hired to develop the software for the next-generation of these robots. You are asked to complete the following activities:
Activity 1: Agent System Development - Release 1.0 (up to 25% assignment marks)
For this activity you will develop a multi-agent system that will operate in a simulated environment. In your system the robots work according to the basic mode of operation. Your simulation environment should look as presented below. While the environment representation might not be exactly the same of the figure, y our e nvironment m ust i nclude t he e lements p resent i n t his figure.
As part of your development you need to identify the actions, states and transitions of the autonomous agents that will control the robots considering the available hardware features. Your design will define the way robots make decisions to trigger the required actions and then the implementation should follow this design. Testing should cover the unit tests of environment creation and key functions implemented for each agent.
Figure 1: Environment Model
Activity 2: Robot Farming Games (up to 10% assignment marks)
You need to propose a game where 2 farming robots as the ones described in this specification are interacting and analyse their interactions using a reference game. Pick one of the common games studied in game theory (See list here ) and use it as reference to define a s ituation w here o nly t wo farming robots need to compete or cooperate. For example, a basic situation would be that the two robots are facing each other aiming to move in opposite directions, similar to the game of chicken discussed in the lectures. Your game should contain all the elements of a game as described in the course lectures.
Activity 3: Agent System Development - Release 2.0 (up to 20% assignment marks)
On top of your development of your Release 1.0 submission, you need to implement the extended mode of operation as specified a b ove. Y our s olution s hould i nclude a s witch f or t he u ser t o c hange b etween modes of operation. Likewise, you will need to evaluate the performance of the simulated environment with at least two relevant KPI (Key Performance Indicators) of your choice.
Activity 4: Agent System Development - Release 2.1 (up to 20% assignment marks)
On top of your development of your Release 2.0, you need to propose and implement the a novel mode of operation. Your solution should include a switch for the user to change between the previously implemented modes of operation and the novel model.
The novel mode should be a new feature to add to your agent system on top of the functionality already implemented. The focus should be on the novelty and complexity of the new feature rather than on the quantity. The feature should be substantially different t o t hose a lready i mplemented a nd include application of concepts covered in the module sessions or researched. Examples of potentially new features are:
• Agent learning, for example, agents using reinforcement learning or other form of learning to achieve environment goals.
• New cooperation/competition approach among agents, for example based on the game proposed in Activity 2
• New decision model for a agents
• New exploration approach for an agent
• New type of agent relevant to the simulation with a distinct behaviour that need to interact with existing agents.
Activity 5: Explanatory Video (25% assignment marks)
Create a explanatory video of your solutions covering system’s functional aspects, evaluation of performance of robots and details of how you have designed and implemented your system, with emphasis to the features you found more challenging to implement. The rules for the video are as follow:
• The length of the video should be MAX 10 min. At this point, the video will be stopped and additional contents, if any, will not be considered as part of the solution.
• You are expected to use materials (diagrams, code, software and slides) developed in the previous activities.
• If your solution includes concepts or approaches not covered in modules sessions you should give a brief introduction to those concepts/approaches before discussing how you have implemented those.