(in-package "USER") ;; Aussentemperatur ist etwa 10 Grad Celsius innen soll es geregelt werden. ;; Die Temperatur steigt mit der Heizleistung allerdings verzoegert und mit Fehlern! ;; Die heizleistung ist von 0-100 zu regeln. Werte ausserhalb werden geclippt!!! ;; Durch die Temperaturdifferenz und dem Daemmwert wird der Energiestrom nach Aussen berechnet! ;; Dadurch kuehlt die Luft im Raum kontinuierlich ab. Je waermer der Raum ist, umso schneller ;; kuehlt er auch am Anfang ab. Der Fehlerwert, der reingestreut wird soll Zugluft bzw. ;; Temperaturschwankungen in der Umgebung simulieren. Dier wird aber relativ gering gehalten, ;; damit kein Uebersteuern eintritt. ;; Durch den Heizwert wird der Energiestrom nach innen berechnet, welches die Luft wieder zum ;; erhitzen bringt. (load "~lispprak/Thermostat") (defun MoveFkt (a) a) (defstruct (Robot (:include Agent (name 'robot))) (bodywidth 10) (bodheight 10) (bodydepth 10) (moveFunction nil) ) (defstruct Environment (name nil) (state (make-State)) (statehistory nil) (transitionFunction 'ThermoFunction) ) (defstruct System (agent (make-SoftwareAgent)) (environment (make-Environment)) ) (defvar mySystem* nil) (setf mySystem* (make-System))