CS2OPNU OOP

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

Department of Computer Science

Resit Coursework Set Front Page

Module Title

OOP

Module Code

CS2OPNU

Lecturer responsible

Dr Wenwen Liu

Type of Assignment
(e.g. technical report, portfolio exercise, in-class test)

Resit - Coursework

Individual or Group Assignment

Individual

Weighting of the Assignment

100%

Word count/page limit

Front Page + 4 pages + form in appendix

Expected hrs spent for the assignment (set by lecturer)

3 days

Items to be submitted

ZIP file with report, video and code.

Work to be submitted on-line via Blackboard Learn by

17:00 Feb 21st , 2025

Work will be marked and returned by

Within 15 working days   

Artificial Intelligence Tools   

May be used to support work

Note

By submitting this work you are certifying that you have read the assessment guidelines which are displayed at the top of the Assessment Folder on the Blackboard course for this module, and that you have conformed to the associated policies and practises, including those on

· Submitting your own work, not that of other people or systems (including those using artificial intelligence), and the associated penalties for Academic Misconduct

· Submitting by the specified deadline, and the penalties associated with late submission (if allowed)

· The exceptional circumstances system (for applying for extensions)

· The use of a green sticker for students with relevant needs

 

1. Assignment description

Inspired by concepts from the final coursework during last semester, this coursework for resit is a simulation of robots and other objects work together to complete various tasks within a smart warehouse. The simulation must use a graphical user interface (GUI) to display the robots, shelves, goods, and obstacles in the warehouse environment. The goal is to create a dynamic and interactive simulation that includes two types of robots with distinct behaviors:

Transport Robot:

The transport robot is responsible for moving goods within the warehouse.

It should display two states: carrying goods and not carrying goods.

It must use sensors (can be bump sensor, etc.) to detect and avoid obstacles such as other robots and static warehouse elements.

It should be able to move goods from one shelf to another or from a shelf to a loading area (quantity of goods changes).

Inventory Monitoring Robot:

The inventory monitoring robot is responsible for checking goods and ensuring that shelves are stocked. It must:

Use sensors (can be whisker sensor or beam sensor) to detect the quantity of goods on shelves.

Alert the user when the quantity of goods is 0.

Be controlled by the user.

Simulation Environment:

The warehouse should have shelves and goods (e.g., boxes, pallets, etc.), as well as obstacles (e.g., walls, static objects).

Dynamic elements should be included, such as moving robots.

Robots should be able to interact with shelves and goods (e.g., picking up, placing, or scanning).

Functional Requirements:

· Robots' Movement: Robots should be able to move between shelves and handle goods, considering appropriate paths based on the warehouse layout.

· Sensors and Detection: The inventory monitoring robot must have sensors to scan goods and show good quantities.

· Obstacle Avoidance: Robots should avoid obstacles while moving and alter their paths if a collision is detected.

· File Handling: The simulation should support saving and loading the warehouse configuration, including the robots' positions, shelf contents, and obstacles.

GUI Requirements:

The GUI is expected to have the following.

Application Menu

The application should have a suitable menu which allows the warehouse to be configured, saved and edited, that allows the simulator to run, and to provide help and instructions. You can make design choices about the menu items as long as you describe these choices in the design section of the report.

File Handling and Configuration

The application should allow users to save and load simulation configurations from files. A configuration is defined as the set of parameters required to set up and start a simulation. By default, the simulator should load from a user-defined configuration file, but if one is not there, then a default warehouse with at least two robots and shelves with goods should be provided.

Toolbar

Also required is a toolbar with buttons to control the simulation (e.g., start, pause, add robots, control robots’ actions (e.g., transporting goods, counting goods) etc.).

Information Panel

As the simulation runs, information should be provided on the state of the warehouse and its contents (number of goods on each shelf, Robots position, state, etc.) – these could be textual descriptions, but graphs or other displays may also be appropriate.

Classes and Inheritance

The code should make use of at least one abstract class, which is inherited directly or indirectly by other classes – the abstract class could be used by robots and other items in the warehouse. Pay special attention to your use of inheritance and use access modifiers correctly. You should also have a class for the GUI, one for a canvas and one for the warehouse.

Animation

You can use any method, as long as you use JavaFX, to achieve the animation. Robots movement should be in a path and can avoid any obstacles (e.g., other robots, walls, shelves, etc.). Your robots should have sensors which are visible and used to perform different tasks

Comments, documentation and version control

Your code should be professionally laid out and commented with Javadoc-style comments so as to provide suitable documentation of your classes.

This task will test your ability to implement object-oriented design, including the use of inheritance, abstract classes, sensors, and event-driven programming in Java. The goal is to ensure that robots can work autonomously and interact efficiently within the warehouse environment.

Hints on Simulation

A rich simulation is expected, comprising a variety of robots with different behaviour and other items in the warehouse.

It is recommended to use a numbering system to represent good transporting, instead of visually illustrating the movement of the actual goods. Text-based updates will be sufficient for this assignment.

You might find it easier if you make all robots/goods circular as it is easy to work out if they overlap. You can then use some of the concepts in the ball simulation. However, the robots should look like robots – eg have wheels and sensors.

Key point

You must have at least one abstract class, possibly one which defines an object in the warehouse which all robots and other items extend. You might also want a robot abstract class which more sophisticated robots extend (as per the ball example).

It is then important, that you do a full object-oriented design, before implementing the different types of robot and other objects. You must submit the class design in your report showing the hierarchy of classes you have implemented. See also the comment below as regards the final report.

3. Assignment submission requirements

You will submit a ZIP file containing

A report of your project, using the provided template

Note in the appendix is a table in which you self assess your program

A video of you demonstrating your working program providing evidence of your assessment

A folder with the java source files (that you wrote)

A folder with the associated Javadoc web pages

Front page of the student’s report 

You must use the attached template for the report, which has the standard front page for you to complete.

Please note the page limit – being front page, 4 pages you write, followed by the appendix which contains your self evaluation.

Note, the template has the four sections on separate pages – you are free to adjust this, as long as you keep to the page limit. Remember to replace the instructions in the template with your words.

Video of your program

This should be a short, 5 min max, video of you demonstrating your program – show your program running. You should include the about and/or help which should show your student number. It is recommended that you show also the robots moving around, robots being added/deleted and if possible show the file handling. There should be sound of you explaining what is happening.

4. Marking scheme

In the appendix of the report template is a table for you fill in where you self assess your work, allocating yourselves marks in the specified categories, with a brief justification.

This table in effect defines the available marks for the code (worth 70%).

The marker will use the table and the video and allocate a suitable mark in these 5 categories, justifying any change from what has been proposed.

The remaining 30% will be assessed from the report and other submissions in the ZIP file, according to the following table.

Area

Max Available Mark

Working Video + Javadoc files + Code files

2 + 2 + 2

Abstract

3

Introduction and Images of program

3

Class Hierarchy

3 for description 3 for suitability

Discussion of results

3

Reflection

4

Novel features

5

发表评论

电子邮件地址不会被公开。 必填项已用*标注