;;;--- HPARAM > -*- package: user; mode: lisp; base: 10. -*- ; INITIALIZATIONS: (setq *ROD-ARRAY-COMPONENTS* '(CM-X CM-X-VELOC CM-X-ACCEL CM-Y CM-Y-VELOC CM-Y-ACCEL ANGLE ANGLE-VELOC ANGLE-ACCEL LOWER-X LOWER-X-VELOC LOWER-X-ACCEL LOWER-Y LOWER-Y-VELOC LOWER-Y-ACCEL UPPER-X UPPER-X-VELOC UPPER-X-ACCEL UPPER-Y UPPER-Y-VELOC UPPER-Y-ACCEL COSANGLE SINANGLE LXF LYF UXF UYF CONTROL-SETPOINT CONTROL-ACTUAL APPLIED-TORQUE M1 M2 M3 MASS MOI LCM UCM LTOT)) ; FRAMES: (setq *ROD1* `(ROD1 (ROD-ARRAY . ,(make-rod)) ; State-Variable and Parameter array (LTOT . 0.4s0) ; Total Length of rod (M1 . 18.0s0) ; Mass at lower end (M2 . 2.0s0) ; Mass at CM (M3 . 8.0s0) ; Mass at upper end (SAVE-ANGLE . 0.0s0) ; Angle: horiz to CM-to-UPPER line (SAVE-LOWER-X . -0.5s0) (SAVE-LOWER-Y . 0.0s0) ) *ROD2* `(ROD2 (ROD-ARRAY . ,(make-rod)) ; State-Variable and Parameter array (LTOT . 1.0s0) ; Total Length of rod (M1 . 3.0s0) ; Mass at lower end (M2 . 1.0s0) ; Mass at CM (M3 . 4.0s0) ; Mass at upper end (SAVE-ANGLE . 0.0s0) ; Angle: horiz to CM-to-UPPER line (SAVE-LOWER-X . -0.1s0) (SAVE-LOWER-Y . 0.0s0) ) *ROBOT-FRAME* `(ONE-LEGGED-ROBOT (ROD-FRAME-LIST ,*ROD1* ,*ROD2*) (ROD-ARRAY-LIST ,(get-frame *ROD1* 'ROD-ARRAY) ,(get-frame *ROD2* 'ROD-ARRAY)) (CONTROL-LIST) (BODY))) ; FLOOR and BODY PARAMETERS: (setq *FLOOR-ELASTICITY* 20.0s3 ; Half of Lagrangian value *FLOOR-DAMPING* 100.0s0 ; ditto *JOINT-ELASTICITY* 600.0s0 *JOINT-DAMPING* 60.0s0) ; MISCELLANEOUS PARAMETERS: (setq *CYCLES* 1.0s0 *FRICTION* 2.0s0 *GRAVITY* 9.8s0 *SERVO* 'J-ANGLE) ; DISPLAY PARAMETERS: (setq *ROBOT-SCALE* 75.0s0) ; INITIALIZATIONS: (cond ((not (boundp '*GRAPHICS-WINDOW*)) (setq *GRAPHICS-WINDOW* (tv:window-create 'TV:LISP-LISTENER ':EDGES-FROM `(0. 0. ,(+ *MAX-SCREEN-X* 4.) 476.))) (send *GRAPHICS-WINDOW* ':SET-DEEXPOSED-TYPEOUT-ACTION ':PERMIT) (setq *GRAPHICS-WINDOW-ARRAY* (tv:SHEET-SCREEN-ARRAY *GRAPHICS-WINDOW*)))) ;;; End.