UNITY&C#_software_task
Budget: €55 – €70 EUR
You should build and document an autonomous agent written using the module tools, namely, Unity and C#. Below is a detailed overview of key elements of this portfolio task. This task is split into three parts. Each part requires an agent to be developed (i.e., coded).
Virtual Agent and Virtual Environment
In the future robots or drones may deliver or collect things (e.g., parcels or people). In this assignment you are required to develop an autonomous automated agent that represents a delivery or collection agent. In general, the agent should collect or deliver things from a start location. It should move to one or more delivery or collection locations. The agent should then return to the start location. The agent should act and react to its environment. See the parts below for more detail.
For simplicity, in this document I will refer to this scenario as a delivery or collection agent; however, you are encouraged to apply a theme of your choice to the simulation and virtual agent. Students are encouraged to be creative but should bear in mind the feasibility of the implementation and the requirements in this document as a constraint.
Here are some examples of possible agent themes. They are split into two types, delivery and collection. In a delivery scenario an item or items are transported to a goal(s) and the delivery agent returns to a home location. In a collection scenario an item or items are picked up from a goal(s) and the collection agent returns to a home location. They are essentially the same scenario; however, in the delivery scenario an agent has items before the goal(s) are reached. In the collection scenario the agent has items after the goal(s) have been reached.
Delivery scenario examples:
• Humanoid agent delivering parcels.
• Vehicle (e.g. lorry) agent delivering parcels.
• Animal storing food at locations for the winter.
• Drone agent delivering parcels.
• Simple taxi driver dropping off passenger(s).
o No passenger pick-up required. Taxi already has passenger(s).
Collection scenario examples:
• Lumberjack cutting down trees and returning to a sawmill.
• Animal collecting food and returning to a home.
• Humanoid or vehicle (e.g., lorry) agent collecting parcels.
• Simple taxi driver collecting passenger(s).
o No passenger drop-off required. Passengers are taken to taxi home location.
Your also need to create a simple virtual environment and choose an environment theme. Typically, this would match the agent theme. For example:
• Small area with house or drop-boxes / points.
• Larger area with roads, buildings or drop-boxes / points.
• Forest with trees and sawmill.
• Land animal environment (e.g., ants or tigers), home location and food locations.
• Underwater animal environment (e.g., fish), home location and food locations.
• Air environment (e.g., birds), home location and food locations.
• Medieval (e.g., Footman collecting food).
• Futuristic (e.g., robots).
You are encouraged to apply a theme to your agent and environment; however, a simple robot delivery theme is fine. In addition, you must only implement one type of agent (e.g., delivery or collection) for all parts of the assignment. You must keep the agent type and environment theme the same for all parts of the assignment.
You need to create a waypoint graph representation of the environment that your agents will use to navigate to
The agent should monitor its environment for other agents (i.e. other instance of itself). The agent should collaborate with other agents (i.e. other instance of itself) by monitoring its separation and speed. The agent should adjust its speed (generally slow) when other agents come within a safety zone. If other agents get too close the agent should stop. The agents should communicate and collaborate / negotiate in order to allow one agent to keep moving.
Virtual Agent and Virtual Environment
In the future robots or drones may deliver or collect things (e.g., parcels or people). In this assignment you are required to develop an autonomous automated agent that represents a delivery or collection agent. In general, the agent should collect or deliver things from a start location. It should move to one or more delivery or collection locations. The agent should then return to the start location. The agent should act and react to its environment. See the parts below for more detail.
For simplicity, in this document I will refer to this scenario as a delivery or collection agent; however, you are encouraged to apply a theme of your choice to the simulation and virtual agent. Students are encouraged to be creative but should bear in mind the feasibility of the implementation and the requirements in this document as a constraint.
Here are some examples of possible agent themes. They are split into two types, delivery and collection. In a delivery scenario an item or items are transported to a goal(s) and the delivery agent returns to a home location. In a collection scenario an item or items are picked up from a goal(s) and the collection agent returns to a home location. They are essentially the same scenario; however, in the delivery scenario an agent has items before the goal(s) are reached. In the collection scenario the agent has items after the goal(s) have been reached.
Delivery scenario examples:
• Humanoid agent delivering parcels.
• Vehicle (e.g. lorry) agent delivering parcels.
• Animal storing food at locations for the winter.
• Drone agent delivering parcels.
• Simple taxi driver dropping off passenger(s).
o No passenger pick-up required. Taxi already has passenger(s).
Collection scenario examples:
• Lumberjack cutting down trees and returning to a sawmill.
• Animal collecting food and returning to a home.
• Humanoid or vehicle (e.g., lorry) agent collecting parcels.
• Simple taxi driver collecting passenger(s).
o No passenger drop-off required. Passengers are taken to taxi home location.
Your also need to create a simple virtual environment and choose an environment theme. Typically, this would match the agent theme. For example:
• Small area with house or drop-boxes / points.
• Larger area with roads, buildings or drop-boxes / points.
• Forest with trees and sawmill.
• Land animal environment (e.g., ants or tigers), home location and food locations.
• Underwater animal environment (e.g., fish), home location and food locations.
• Air environment (e.g., birds), home location and food locations.
• Medieval (e.g., Footman collecting food).
• Futuristic (e.g., robots).
You are encouraged to apply a theme to your agent and environment; however, a simple robot delivery theme is fine. In addition, you must only implement one type of agent (e.g., delivery or collection) for all parts of the assignment. You must keep the agent type and environment theme the same for all parts of the assignment.
You need to create a waypoint graph representation of the environment that your agents will use to navigate to
The agent should monitor its environment for other agents (i.e. other instance of itself). The agent should collaborate with other agents (i.e. other instance of itself) by monitoring its separation and speed. The agent should adjust its speed (generally slow) when other agents come within a safety zone. If other agents get too close the agent should stop. The agents should communicate and collaborate / negotiate in order to allow one agent to keep moving.