public ControlWindow()
        {
            InitializeComponent();

            servoManager = new ServoManager(servoConfigFileName);
            servoManager.ConnectToHardware();
            UpdateConnectedTextblock(servoManager.IsConnected(), servoHardwareState);

            ariaManager = new AriaManager();
            ariaManager.InitializeAria();
            UpdateConnectedTextblock(ariaManager.IsConnected(), ariaHardwareState);

            robotSpeech = new RobotSpeech(servoManager);

            robotEyes = new RobotEyes();
            robotEyes.InitializeHardware();

            personTracking = new PersonTracking(servoManager, ariaManager);

            sequenceProcessor = new SequenceProcessor(servoManager, ariaManager, robotSpeech, robotEyes, sequenceFileName);

            kinectManager = new KinectManager(sequenceProcessor, personTracking, robotSpeech);
            kinectManager.InitializeKinect();
            UpdateConnectedTextblock(kinectManager.IsConnected(), kinectHardwareState);
            UpdateMotionEnabledDisplay();

            logUpdateTimer.Tick += new EventHandler(logUpdateTimer_Tick);
            logUpdateTimer.Interval = new TimeSpan(0, 0, 0, 0, 500);
            logUpdateTimer.Start();
        }
Exemple #2
0
        public ControlWindow()
        {
            InitializeComponent();

            servoManager = new ServoManager(servoConfigFileName);
            servoManager.ConnectToHardware();
            UpdateConnectedTextblock(servoManager.IsConnected(), servoHardwareState);

            ariaManager = new AriaManager();
            ariaManager.InitializeAria();
            UpdateConnectedTextblock(ariaManager.IsConnected(), ariaHardwareState);

            robotSpeech = new RobotSpeech(servoManager);

            robotEyes = new RobotEyes();
            robotEyes.InitializeHardware();

            personTracking = new PersonTracking(servoManager, ariaManager);

            sequenceProcessor = new SequenceProcessor(servoManager, ariaManager, robotSpeech, robotEyes, sequenceFileName);

            kinectManager = new KinectManager(sequenceProcessor, personTracking, robotSpeech);
            kinectManager.InitializeKinect();
            UpdateConnectedTextblock(kinectManager.IsConnected(), kinectHardwareState);
            UpdateMotionEnabledDisplay();

            logUpdateTimer.Tick    += new EventHandler(logUpdateTimer_Tick);
            logUpdateTimer.Interval = new TimeSpan(0, 0, 0, 0, 500);
            logUpdateTimer.Start();
        }
            public void Evaluate(SequenceProcessor sequenceProcessor, bool triggerCondition, string sequenceName)
            {
                if (triggerCondition)
                {
                    if (!hasBeenTriggered)
                    {
                        hasBeenTriggered = true;

                        sequenceProcessor.RunSequence(sequenceName);
                    }
                }
                else
                {
                    hasBeenTriggered = false;
                }
            }
        public ControlWindow()
        {
            InitializeComponent();

            servoManager = new ServoManager(servoConfigFileName);
            servoManager.ConnectToHardware();
            UpdateConnectedTextblock(servoManager.IsConnected(), servoHardwareState);

            sequenceProcessor = new SequenceProcessor(servoManager, sequenceFileName);

            kinectManager = new KinectManager(sequenceProcessor);
            kinectManager.InitializeKinect();
            UpdateConnectedTextblock(kinectManager.IsConnected(), kinectHardwareState);

            logUpdateTimer.Tick    += new EventHandler(logUpdateTimer_Tick);
            logUpdateTimer.Interval = new TimeSpan(0, 0, 0, 0, 500);
            logUpdateTimer.Start();
        }
        public ControlWindow()
        {
            InitializeComponent();

            servoManager = new ServoManager(servoConfigFileName);
            servoManager.ConnectToHardware();
            UpdateConnectedTextblock(servoManager.IsConnected(), servoHardwareState);

            sequenceProcessor = new SequenceProcessor(servoManager, sequenceFileName);

            kinectManager = new KinectManager(sequenceProcessor);
            kinectManager.InitializeKinect();
            UpdateConnectedTextblock(kinectManager.IsConnected(), kinectHardwareState);

            logUpdateTimer.Tick += new EventHandler(logUpdateTimer_Tick);
            logUpdateTimer.Interval = new TimeSpan(0, 0, 0, 0, 500);
            logUpdateTimer.Start();
        }
 public KinectManager(SequenceProcessor sequenceProcessor)
 {
     this.sequenceProcessor = sequenceProcessor;
 }
            public void Evaluate(SequenceProcessor sequenceProcessor, bool triggerCondition, string sequenceName)
            {
                if (triggerCondition)
                {
                    if (!hasBeenTriggered)
                    {
                        hasBeenTriggered = true;

                        sequenceProcessor.RunSequence(sequenceName);
                    }
                }
                else
                {
                    hasBeenTriggered = false;
                }
            }
 public KinectManager(SequenceProcessor sequenceProcessor, PersonTracking personTracking, RobotSpeech robotSpeech)
 {
     this.sequenceProcessor = sequenceProcessor;
     this.personTracking    = personTracking;
     this.robotSpeech       = robotSpeech;
 }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            ServoManager servoManager = new ServoManager();

            servoManager.AddServo(new Servo(1));
            servoManager.AddServo(new Servo(2));
            servoManager.AddServo(new Servo(3));

            servoManager.GenerateExampleConfigFile("ExampleConfig.xml");

            SequenceProcessor sequenceProcessor = new SequenceProcessor(servoManager);

            // Create test sequence 1.
            Sequence testSequence = new Sequence("Sequence 1");

            Frame frame1 = new Frame("Frame 1");

            frame1.AddServoPosition(new ServoPosition(1, 100));
            frame1.AddServoPosition(new ServoPosition(2, 200));
            frame1.AddServoPosition(new ServoPosition(3, 300));

            Frame frame2 = new Frame("Frame 2");

            frame2.AddServoPosition(new ServoPosition(1, 400));
            frame2.AddServoPosition(new ServoPosition(2, 500));
            frame2.AddServoPosition(new ServoPosition(3, 600));

            testSequence.AddFrame(frame1);
            testSequence.AddFrame(frame2);

            // Create test sequence 2.
            Sequence testSequence2 = new Sequence("Sequence 2");

            Frame frame3 = new Frame("Frame 3");

            frame3.AddServoPosition(new ServoPosition(1, 900));
            frame3.AddServoPosition(new ServoPosition(2, 800));
            frame3.AddServoPosition(new ServoPosition(3, 700));

            Frame frame4 = new Frame("Frame 4");

            frame4.AddServoPosition(new ServoPosition(1, 600));
            frame4.AddServoPosition(new ServoPosition(2, 500));
            frame4.AddServoPosition(new ServoPosition(3, 400));

            testSequence2.AddFrame(frame3);
            testSequence2.AddFrame(frame4);

            SequenceList sequenceList = new SequenceList();

            sequenceList.AddSequence(testSequence);
            sequenceList.AddSequence(testSequence2);

            sequenceList.SaveToXml("SequenceList.xml");


            SequenceList sequenceList2 = new SequenceList();

            sequenceList2.LoadFromXml("SequenceList.xml");

            //sequenceProcessor.RunSequence(testSequence);
        }
 public KinectManager(SequenceProcessor sequenceProcessor)
 {
     this.sequenceProcessor = sequenceProcessor;
 }