Question
The Mars Rovers have created great interest in many fields of study. From a computer programming perspective, the rovers provide a unique application of simulation,
The Mars Rovers have created great interest in many fields of study. From a computer programming perspective, the rovers provide a unique application of simulation, specialized instruction sets, and remote communications, to name a few.
The mission specialists, located at NASA's JPL (Jet Propulsion Labs), upload a set of commands to the rovers, and then proceed to execute them, based on the recommendations from other mission specialists associated with the Mars rover program. For this assignment, only the motion subsystem of the rover is being considered.
Although the actual Mars rovers have a more extensive instruction set, the following three instructions will be considered:
·Forward – the rover moves 0.25 metre forward, and then stops
·Right – the rover turns 90 degrees to the right, and then stops
·Left – the rover turns 90 degrees to the left, and then stops
The rover's world, for this assignment, will be considered to be a series of tiles arranged in a 1024 by 1024 map. Each tile of the map measures 0.25 metre by 0.25 metre.
Normally, the mission specialist writes the script to permit the rover to move from place to place, avoiding obstacles as required. This is a tedious task, since the instruction set is limited. There must be a better way.
Your task is to design, develop, and test an application that will enable the mission specialist to enter a Cartesian (x,y) starting position, and an ending position. Your application will then instruct the rover to move from the starting position to the end. Dispersed within the 'world' are a series of obstacles. These obstacles may be as small as one tile (a rock for instance), or a series of tiles (a boulder, or crevasse).
The key to this application is that the rover can only see one tile ahead; either straight, left, or right. The rover should move toward the end position, but may encounter these obstacles along the way. The rover, once it encounters an obstacle, should turn, and then attempt to move in another direction.
You are also provided 10,000 battery credits per day. A single battery credit is consumed with each instruction that is executed on the rover.
Requirement Design Develop - Input Develop - OOP Classes Develop - OOP Data Members Develop - OOP Methods Develop - Logic Develop - Documentation Develop - Output Testing Level 1 Design not provided (0 credits) User enters the entire map via the keyboard (1 credit) A single class (1) credit) A single static data member (1 credit) One method (1 credit) Rover motion implemented non- recursively (2 credits) Map displayed for each move of the rover (1 credit) Level 2 Three maps completed (proof submitted) (1 credit) A flow chart OR pseudocode (2 credits) User loads (reads) a preconfigured map from a text file (2 credits) Multiple classes (2 credits) Multiple static data members (2 credits) Multiple methods (2 credits) 'In line' comments (1 comment credit) blocks (2 credits) Level 1, AND optimized for shortest route (3) credits) Level 1, AND Level 1, AND descriptive messages that explain what the rover is doing (2 credits) Level 1, AND general exception handling (2 credits) Level 3 Level 2, PLUS a functional specification that communicates the design of the application (4 credits) Level 2, PLUS a level editor that permits the user to change the layout of the map (5 credits) Multiple classes implemented efficiently, with explanation (4 credits) Dynamic data members (4 credits) Multiple methods implemented efficiently, with explanation (4 credits) Rover motion implemented recursively (5 credits) Level 2, AND post-mortem review (3 credits) Level 2, PLUS a display of the battery credits remaining (3 credits) Level 1, AND exhaustive exception handling (3) credits) Level Selected Tally
Step by Step Solution
3.58 Rating (162 Votes )
There are 3 Steps involved in it
Step: 1
Level 1 Design The design of the application should be such that the mission specialist can enter a Cartesian xy starting position and an ending position and the application will then instruct the rov...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started