Reproduce this behaviour by calling appropriate methods

Assignment Help JAVA Programming
Reference no: EM132126329

PART A Specification - Robot Simulation

PART A Requirements

To complete this assignment you will use the supplied eclipse project Robot P1/. It is already set up to execute a simple arm movement loop which you will build upon to create the full solution.

NOTE: The primary requirements specifications are the supplied videos which show the EXACT behaviour you should reproduce.

However, some points worth noting about the displayed behaviour:

INITIALISATION:

After the init() method is called with valid array parameters:

- Blocks are placed in order (bottom to top) from the supplied (hard coded) blockHeights array, into the far right source column (column 10) (Control.SRC_COLUMN).
- Bars are placed in order from the supplied (hard coded) barHeights array from left to right (from Control.FIRST_BAR_COLUMN to a maximum of Control.LAST_BAR_COLUMN).
- This initialisation is done AUTOMATICALLY by the supplied RobotImpl.jar

BLOCK PLACMENT:

You must reproduce this behaviour by calling methods on the Robot. Further hints are given in the section HOW TO PROCEED below.

- Blocks are picked from the source column from top to bottom until there are no blocks remaining. You will need to control the robot movement to do this.
- Blocks are dropped (placed) as follows:
Yellow (Size 1) blocks are placed on the top of column 1 (Dest 1). Red (Size 2) blocks are placed on the top of column 2 (Dest 2).
Blue (Size 3) blocks are placed on top of bars starting at the left most bar (Control.FIRST_BAR_COLUMN) and progressing to the right most bar (Control.LAST_BAR_COLUMN).
- Blocks are lowered to the drop position using the raise()/lower() methods to move Arm3.
- If less bars than columns are supplied, blocks can still be placed on the empty column and should still be laid out as described above from Control.FIRST_BAR_COLUMN to Control.LAST_BAR_COLUMN

HEIGHT OPTIMISATION (ARM1 movement):

Again, you must reproduce this behaviour by calling appropriate methods on the Robot.

- Arm 2 (the horizontal arm controlled by extend()/contract()) should always be at the lowest height to clear any obstacles (i.e. the top of any column). This is achieved by using the up()/down() methods on Arm1.
- This is set before moving to make a pick (or after any drop) so that the arm can JUST clear any obstacles as it moves to the source column.
- The height is then rechecked as soon as you make a pick taking into account the picked block and the additional clearance it needs as it moves to the drop destination.

Code Quality Assessment

As well as functional correctness (robot behaviour matches video requirements) you will also be assessed based on the following code quality requirements:

- Use meaningful / descriptive identifiers (eg variable and method names).
- Demonstrate understanding of local variables versus class attributes and prefer local scope where possible.
- Demonstrate the use of defined constants in Control.java (Rather than using
magic numbers)
- Avoid code repetition. (THIS IS THE MOST IMPORTANT ONE!)
- Write small private methods to avoid code other than one or more method calls going in the RobotControl.control() method.
- Appropriate use of comments (but remember that easily understandable code is better than a comment).
- Include a comment at the top of RobotControl.java class stating your name and student number.

Attachment:- Assignment part.rar

Reference no: EM132126329

Questions Cloud

What comes to mind when you hear the word globalization : What comes to mind when you hear the word 'globalization'? What associations, ideas, concepts or images are associated with this term?
What is the probability the first car shown : What is the probability the first car shown was red, the second was black, and the third was red again?
What is the probability that the sample average : What is the probability that the sample average would be as high, or higher, than $1,742 if the true average of all claims was $1,500
Where do cfos get their money news : Where do CFOs get their money news? According to Robert Half International, 47% get their money news from newspapers, 15% get it from communication/colleagues
Reproduce this behaviour by calling appropriate methods : COSC1073 – Programming - You must reproduce this behaviour by calling methods on the Robot - Blocks are picked from the source column from top to bottom
Ompare open skies arrangements with bilateral agreements : Discuss how the Air Transportation Safety and System Stabilization Act and the Homeland Security Act both financially assisted the airlines .
What proportion of children : What proportion of children 10 to 15 years of age has total cholesterol between 180 and 190?
Which one do you think has the greatest potential : Of the six worldwide regions displayed, which one do you think has the greatest potential for airline growth, and why?
What about the novel is engaging for you : What about the novel is engaging for you as a reader? What parts of the novel are you having a difficult time understanding or connecting with?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Create pipe-and-filter network that will read data stream

Create a pipe-and-filter network that will read the data stream in FlightData.dat file, convert the temperature measurements from Fahrenheit to Celsius, and convert altitude from feet to meters - How would this impact the key quality attributes of ..

  Elements in a two-dimensional array

Write a value-returning method that returns the number of columns with n elements in a two-dimensional array of chars, where n is a parameter of the method. Include code to test your method.

  Why the given is not running properly

Purpose: To process messages similar to TtT tweets and pull out information form the text, manipulate it, and print it out on the screen

  Develop and re-wrap the trivial console application

COS30016/HIT3037 Programming in Java - Develop and re-wrap the trivial console application into a GUI Application which allows the users to perform similar operations as indicated in assignment 1 handout.

  Design a class named player that holds a player number

Design a class named Player that holds a player number and name for a sports team participant. Include methods to set the values for each data field

  Implement the print method in the doublylinkedlist class

Implement the print method in the DoublyLinkedList class. You should start from the head, and traverse by the next references.

  Concurrent access to objects

This question asks about synchronizing methods for stack and queue objects. (a) Bounded stacks can be de?ned as objects, each containing an array of up to n items. Here is apseudocode for one form of stack class.

  Explains the principles of polymorphism and inheritance

You have been tasked with preparing a training document that explains the principles of polymorphism, inheritance, and encapsulation.

  Implement this gui interface for a calculator

Complete the code in the provided View class to implement this GUI interface for a calculator. The calculator does not have to be fully functional

  Design - uml diagrams and overall design

Develop a problem-based strategy for creating and applying programmed solutions using an object-oriented paradigm - Use an object-oriented development environment in the development, testing and debugging of an object-oriented application.

  Development processes of designing - coding and testing

To write an algorithm/ flowchart, and implement the algorithm using Java programming language for given specifications/ requirements

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd