;;;--- 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.
