Skip to content

Bobbar/ProNav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProNav - Proportional Navigation Missile Guidance

Demostration for accurate 2D missle guidance with simulated aerodynamics.

Features:

  • 4 separate guidance solutions.
  • Multiple target types. (Static, Linear, Rotating, Erratic)
  • 2D aerodynamics (Lift, Drag, Torque)
  • 2 control modes (Direct rotation or movable control surfaces)
  • High performance Direct2D rendering.
  • Radar guided auto-cannon. (ProNav style target leading)
  • High speed collision detection.

Remarks:

This actually started as an Asteroids clone but then I went down a rabbit hole of missle guidance, so I started a new project...

I felt that nearly all examples I found were cheating by directly setting the instant velocity of the missile. Instead, I sought to implement realistic physics with aerodynamics, mass and inertia and to create a guidance solution which only effects the rotation (either by direct manipulation or indirectly via control surfaces/wings).

I included 3 simple PN guidance solutions based on other examples, and one "Advanced" solution of my own making. My solution tries to perform better long-term predictions as well as handle cases in which the missile "rat chases" the target in endless circles. A handful of target types are available to test them against.

Hitting an erratic moving target (Aero shown)

2023-11-07 16_23_54-ProNav - Proportional Navigation

Hitting multiple erratic targets

2023-11-07 16_14_52-Window

Hitting multiple rotating targets

2023-11-07 16_16_22-Window

Missle overlay/close-up view (With aero and control surfaces shown)

2023-11-07 16_17_52-Window

Flight paths of the various guidance solutions targeting an erratic target. Note the flatness of the advanced solution.

2023-11-15 10_44_42-Window

ProNav3.mp4

About

Proportional Navigation Missile Guidance

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages