ProPac V 2.0 was bundled with the book Nonlinear Control and Analytical Mechanics, published by Birkhauser in 2000.

ProPac Ver 5.3 comes close to full functionality with Mathematica 9.

Suggestions and comments and bug reports are welcome via e-mail to hkwatny@drexel.edu.

Sample notebooks and links to other sites are especially welcome.

ProPac includes tools for both linear and nonlinear design. Functions are provided for manipulation of linear controls systems in state space or frequency domain forms and for the conversion of one form to the other. The software also contains functions required to apply modern geometric methods of control system design to nonlinear systems. These include tools for the design of adaptive as well as variable structure control systems. Once a controller is designed, functions are available to assemble C code that compiles as a SIMULINK S-function, thereby enabling controllers to be easily included in SIMULINK simulations. These stand-alone control modules can be directly converted to real time code in a target DSP board.

ProPac contains tools for assembling explicit models of multibody mechanical systems. The model building process has two distinctive features:

- Joints are defined in terms of their primitive action parameters from which all the required kinematic relations are derived. Thus, a user can contrive unusual joint configurations and is not restricted to a predefined set of standard joints.
- Equations are formulated as Poincaré’s form of Lagrange’s equations that admits the standard Lagrange equations as a special case. However, Poincaré’s form allows the exploitation of quasi–velocities which can greatly simplify the equations of motion.

Explicit mathematical models are generated in the form of Poincaré’s equations. They may be subjected to further symbolic processing for purposes such as nonlinear model reduction, nonlinear control system design or linearization. They may also be used for simulation or other numerical analysis procedures. To facilitate the latter applications, the packageprovides a direct interface to MATLAB/SIMULINK. In view of the complexity of models incorporating fully nonlinear kinematics, the C–code generated for this purpose, is optimized to minimize the required numerical calculations.

To build a model,a user supplies defining data for individual joints and bodies, and the system structure. With this data, functions are available to compute the kinetic energy function and inertia matrix as well as the gravitational potential energy function, as well as the strain potential energy and dissipation functions associated with deformations of flexible bodies. Various kinematic quantities can be obtained as well, e.g., end–effector configuration as a function of joint and deformation parameters. The user supplies the remaining parts of the potential energy function and definitions for any generalized forces. Functions are available to assist in developing these quantities.

The tools apply to mechanical systems with an underlying tree structure supplmented by algebraic or differential (holonomic or nonholonomic) contraints. Impact is also admitted in the modeling framework.

For more details check out some of the *Mathematica* notebooks.