Project: Sidewinder Tracking System
I am the project manager for the design and development phases of a new missile program for the Department of Defense. I have hired your team as a software design sub-contractor. Your contract requires you to design the program logic for a simplified Sidewinder guidance control system. The Sidewinder is an air-to-air missile, and was the first to be effective in its mission. The reason for its success is its guidance control system. The real Sidewinder guidance control system is complex (see for an interesting description of the real thing if you want), but I want you to design a simplified version of it for a new variant of the missile that my company has to introduce.
Basically, your software will receive a signal indicating that a target has been sighted. (It is obtained from the infrared signature of your target, but all you need to know is that you receive a signal.) You will also know that the signal is coming from a particular angle from the missile’s current course. If the target is off to the missile’s left, you will receive data that tell you that it is x degrees from the current heading of the missile, and the number will be negative. If the target is off to the missile’s right, you will receive data that tell you that it is x degrees from the missile’s current heading, and the number will be positive. You receive these data points every second.
Based on what you know about how far off track you are, you send a signal to the servo assembly that controls the fins on the missile. The signal that you send is proportional to the angle of error between the missile’s heading and the target. You will divide the angle of error by 10, and round it to the nearest whole number. For example, if your target is 22 degrees off to your right, you will send a value of +2 to the servo assembly controller. If your target is 36 degrees off to your left, you will send a value of –4 to the servo assembly controller.
Notice that I am only asking you to handle yaw (the side-to-side motion of the missile). Based on your performance on this project, I may contract with you to handle the pitch (up and down) control software. It would work similarly.
I require the following deliverables from your team:
- A brief (1-2 page) description of your approach to the project. It should include a cover page, a paragraph of introduction to the project and a couple of paragraphs describing your method.
- A hierarchy chart describing the organization of your software system.
- Complete pseudocode for your software.
- Fully developed flowcharts for your software.
I expect these four items of design documentation to be packaged professionally. I don’t accept handwritten work from my contractors. Use the software tools available to you to make deliverables of which you can be proud. Your payment (points) will be based upon the correctness of your approach, the accuracy of your design documents in reflecting your approach, and the professionalism of your presentation package.