private void setHandPositionButton_Click(object sender, EventArgs e) { UnityCommunicationHub.ReadData(true); SetPoint newPoint = new SetPoint { A1Position = Globals.A1DesiredPosition, A2Position = Globals.A2DesiredPosition, A3Position = Globals.A3DesiredPosition, B1Position = Globals.B1DesiredPosition, B2Position = Globals.B2DesiredPosition, B3Position = Globals.B3DesiredPosition, C1Position = Globals.C1DesiredPosition, C2Position = Globals.C2DesiredPosition, C3Position = Globals.C3DesiredPosition, D1Position = Globals.D1DesiredPosition, D2Position = Globals.D2DesiredPosition, D3Position = Globals.D3DesiredPosition, T1Position = Globals.T1DesiredPosition, T2Position = Globals.T2DesiredPosition }; controls.allNodes[(int)activeNode.Tag].setHandPosition(newPoint); }
private void Test() { lock (dataLock) { //var input = serial.GetData(); //UnityCommunicationHub.ReadData(); //var percievedPositionArray = net.Think(input); //inputTrainingData.Add(input); //outputTrainingData.Add(Globals.GetDoubles()); //for (int i = 0; i < percievedPositionArray.Length; i++) //{ // percievedPositionArray[i] = percievedPositionArray[i] * 90; //} //Globals.T1DesiredPosition = (float)percievedPositionArray[0]; //Globals.T2DesiredPosition = (float)percievedPositionArray[1]; //Globals.A1DesiredPosition = (float)percievedPositionArray[2]; //Globals.A2DesiredPosition = (float)percievedPositionArray[3]; //Globals.A3DesiredPosition = (float)percievedPositionArray[4]; //Globals.B1DesiredPosition = (float)percievedPositionArray[5]; //Globals.B2DesiredPosition = (float)percievedPositionArray[6]; //Globals.B3DesiredPosition = (float)percievedPositionArray[7]; //Globals.C1DesiredPosition = (float)percievedPositionArray[8]; //Globals.C2DesiredPosition = (float)percievedPositionArray[9]; //Globals.C3DesiredPosition = (float)percievedPositionArray[10]; //Globals.D1DesiredPosition = (float)percievedPositionArray[11]; //Globals.D2DesiredPosition = (float)percievedPositionArray[12]; //Globals.D3DesiredPosition = (float)percievedPositionArray[13]; var percievedPosition = new SetPoint(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); var rand = new Random(); //UnityCommunicationHub.WriteData(true); var percievedPositionArray = new double[7]; if (inputTrainingData.Count != 0) { percievedPositionArray = net.Think(inputTrainingData[inputTrainingData.Count - 1]); double bestVal = 0; SetPoint bestSetPoint = new SetPoint(); for (int i = 0; i < percievedPositionArray.Length; i++) { if (percievedPositionArray[i] > bestVal) { bestVal = percievedPositionArray[i]; bestSetPoint = setPointList[i]; } } if (lastSetPoint.Equals(bestSetPoint)) { percievedPosition = setPointList[rand.Next(0, 7)]; } else { percievedPosition = bestSetPoint; } } else { percievedPosition = setPointList[rand.Next(0, 7)]; } if (positionsToVisit.Count > 0) { percievedPosition = setPointList[positionsToVisit.First()]; for (int i = 0; i < 7; i++) { if ((7 - i) == positionsToVisit.Count) { percievedPositionArray[i] = 1; } } positionsToVisit.RemoveAt(0); } Globals.T1DesiredPosition = percievedPosition.T1Position; Globals.T2DesiredPosition = percievedPosition.T2Position; Globals.A1DesiredPosition = percievedPosition.A1Position; Globals.A2DesiredPosition = percievedPosition.A2Position; Globals.A3DesiredPosition = percievedPosition.A3Position; Globals.B1DesiredPosition = percievedPosition.B1Position; Globals.B2DesiredPosition = percievedPosition.B2Position; Globals.B3DesiredPosition = percievedPosition.B3Position; Globals.C1DesiredPosition = percievedPosition.C1Position; Globals.C2DesiredPosition = percievedPosition.C2Position; Globals.C3DesiredPosition = percievedPosition.C3Position; Globals.D1DesiredPosition = percievedPosition.D1Position; Globals.D2DesiredPosition = percievedPosition.D2Position; Globals.D3DesiredPosition = percievedPosition.D3Position; UnityCommunicationHub.WriteData(true); lastSetPoint = percievedPosition; Thread.Sleep(200); for (int i = 0; i < 250; i++) { var input = serial.GetData(); double[] inputData = new double[8]; for (int j = 0; j < 8; j++) { inputData[j] = input[j]; } UnityCommunicationHub.ReadData(); inputTrainingData.Add(inputData); outputTrainingData.Add(percievedPositionArray); Thread.Sleep(1); } } }