コード例 #1
0
        public UnsureNetworkForm()
        {
            InitializeComponent();

            NodeSavingReading reader = new NodeSavingReading();

            net = new NeuralNet(7, 7, ANNfilename, KFoldFilename);
            inputTrainingData  = reader.GetStoredDataFromFile(Globals.inputDataStorage);
            outputTrainingData = reader.GetStoredDataFromFile(Globals.outputDataStorage);

            //inputTrainingData = new List<double[]>();
            //outputTrainingData = new List<double[]>();

            controls = new PatsControlScheme();
            controls.Initialize();
            controls.timeNeededForChange = 7000;

            serial = new SerialReader();
            serial.Read();

            UnityCommunicationHub.InitializeUnityCommunication();
            UnityCommunicationHub.TwoWayTransmission();


            indexList        = Globals.GetBasicValues();
            reverseIndexList = Globals.GetBasicValuesReversed();
            setPointList     = Globals.GetBasicPositions();

            foreach (KeyValuePair <string, int> position in indexList)
            {
                DefaultPositionsBox.Items.Add(position.Key);
            }
        }
コード例 #2
0
        public NeuralNetForm()
        {
            InitializeComponent();

            NodeSavingReading reader = new NodeSavingReading();

            net = new NeuralNet(8, 7, ANNfilename, KFoldFilename);
            inputTrainingData  = reader.GetStoredDataFromFile(Globals.inputDataStorage);
            outputTrainingData = reader.GetStoredDataFromFile(Globals.outputDataStorage);

            //inputTrainingData = new List<double[]>();
            //outputTrainingData = new List<double[]>();



            serial = new SerialReader();
            serial.Read();

            UnityCommunicationHub.InitializeUnityCommunication();
            UnityCommunicationHub.TwoWayTransmission();


            indexList    = Globals.GetBasicValues();
            setPointList = Globals.GetBasicPositions();

            foreach (KeyValuePair <string, int> position in indexList)
            {
                DefaultPositionsBox.Items.Add(position.Key);
            }
        }
コード例 #3
0
        public ContinuousNeuralNetForm()
        {
            InitializeComponent();

            net = new NeuralNet(8, 7, ANNfilename, KFoldFilename);
            inputTrainingData  = new List <double[]>();
            outputTrainingData = new List <double[]>();

            if (inputTrainingData.Count > expirationTimer)
            {
                inputTrainingData.RemoveAt(0);
                outputTrainingData.RemoveAt(0);
            }

            serial = new SerialReader();
            serial.Read();

            UnityCommunicationHub.InitializeUnityCommunication();
            UnityCommunicationHub.TwoWayTransmission();

            Random rand = new Random(23);

            setPointList = Globals.GetBasicPositions();

            var firstPoint = setPointList[3];

            Globals.A1DesiredPosition = firstPoint.A1Position;
            Globals.A2DesiredPosition = firstPoint.A2Position;
            Globals.A3DesiredPosition = firstPoint.A3Position;
            Globals.B1DesiredPosition = firstPoint.B1Position;
            Globals.B2DesiredPosition = firstPoint.B2Position;
            Globals.B3DesiredPosition = firstPoint.B3Position;
            Globals.C1DesiredPosition = firstPoint.C1Position;
            Globals.C2DesiredPosition = firstPoint.C2Position;
            Globals.C3DesiredPosition = firstPoint.C3Position;
            Globals.D1DesiredPosition = firstPoint.D1Position;
            Globals.D2DesiredPosition = firstPoint.D2Position;
            Globals.D3DesiredPosition = firstPoint.D3Position;
            Globals.T1DesiredPosition = firstPoint.T1Position;
            Globals.T2DesiredPosition = firstPoint.T2Position;
            //Globals.T1DesiredPosition = (float)rand.Next(0, 90);
            //Globals.T2DesiredPosition = (float)rand.Next(0, 90);
            //Globals.A1DesiredPosition = (float)rand.Next(0, 90);
            //Globals.A2DesiredPosition = (float)rand.Next(0, 90);
            //Globals.A3DesiredPosition = (float)rand.Next(0, 90);
            //Globals.B1DesiredPosition = (float)rand.Next(0, 90);
            //Globals.B2DesiredPosition = (float)rand.Next(0, 90);
            //Globals.B3DesiredPosition = (float)rand.Next(0, 90);
            //Globals.C1DesiredPosition = (float)rand.Next(0, 90);
            //Globals.C2DesiredPosition = (float)rand.Next(0, 90);
            //Globals.C3DesiredPosition = (float)rand.Next(0, 90);
            //Globals.D1DesiredPosition = (float)rand.Next(0, 90);
            //Globals.D2DesiredPosition = (float)rand.Next(0, 90);
            //Globals.D3DesiredPosition = (float)rand.Next(0, 90);


            lastSetPoint = firstPoint;
            UnityCommunicationHub.WriteData(true);
        }
コード例 #4
0
        private void DecreaseAngleButton_Click(object sender, EventArgs e)
        {
            float desiredAngle = (float)System.Convert.ToDouble(DesiredAngleInput.Text) - 1.0f;

            DesiredAngleInput.Text = desiredAngle.ToString();
            setDesiredAngle();
            UnityCommunicationHub.TwoWayTransmission();
        }
コード例 #5
0
 private void DesiredAngleInput_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         setDesiredAngle();
         UnityCommunicationHub.TwoWayTransmission();
         e.Handled = e.SuppressKeyPress = true;
     }
 }
コード例 #6
0
 private void loadPositions(Node thisNode)
 {
     Globals.A1DesiredPosition = thisNode.A1Position;
     Globals.A2DesiredPosition = thisNode.A2Position;
     Globals.A3DesiredPosition = thisNode.A3Position;
     Globals.B1DesiredPosition = thisNode.B1Position;
     Globals.B2DesiredPosition = thisNode.B2Position;
     Globals.B3DesiredPosition = thisNode.B3Position;
     Globals.C1DesiredPosition = thisNode.C1Position;
     Globals.C2DesiredPosition = thisNode.C2Position;
     Globals.C3DesiredPosition = thisNode.C3Position;
     Globals.D1DesiredPosition = thisNode.D1Position;
     Globals.D2DesiredPosition = thisNode.D2Position;
     Globals.D3DesiredPosition = thisNode.D3Position;
     Globals.T1DesiredPosition = thisNode.T1Position;
     Globals.T2DesiredPosition = thisNode.T2Position;
     UnityCommunicationHub.TwoWayTransmission();
 }
コード例 #7
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (UnityCommunicationHub.connected)
            {
                try
                {
                    Globals.T1DesiredPosition = float.Parse(toSend);
                }
                catch (Exception error)
                {
                    Console.WriteLine("ERROR WHEN PARSING FLOAT: " + error.ToString());
                    Globals.T1DesiredPosition = 0;
                }

                UnityCommunicationHub.TwoWayTransmission();
            }
            else
            {
                Console.WriteLine("ERROR: CONNECT TO UNITY FIRST");
                textBox1.Text = "ERROR: CONNECT TO UNITY FIRST";
            }
        }