// Use this for initialization void Start() { rigid = GetComponent <Rigidbody>(); SetStatusText("Welcome"); SetControlText(COMMAND_TEXT); initialPosition = transform.position; initialRotation = transform.rotation; network = new NeuralNet(SENSOR_VALUE_COUNT, 8, TARGET_VALUE_COUNT); sensors = GameObject.FindObjectOfType <SensorSuite>(); recordedData = new Dictionary <Command, List <DataSet> >(); recordedData.Add(Command.Left, new List <DataSet>()); recordedData.Add(Command.Right, new List <DataSet>()); recordedData.Add(Command.Jump, new List <DataSet>()); recordedData.Add(Command.Empty, new List <DataSet>()); if (controlMode == ControlMode.automatic) { LoadDataFromTrainSet(); trainingThread = new Thread(new ThreadStart(TrainNetwork)); SetStatusText("Train the network..."); Time.timeScale = 0.0f; trainingThread.Start(); } }
// Start is called before the first frame update void Start() { sensor = GetComponentInChildren <SensorSuite>(); rigid = GetComponent <Rigidbody>(); Rotate(-30); gameObject.layer = Physics.IgnoreRaycastLayer; ControllScript.GetInstance().RegisterRobot(this); ControllScript.GetInstance().notifyRobotReady(); }
public override void InitializeAgent() { sensor = sensorSuite.GetComponent <SensorSuite>(); controlScript = this.GetComponent <ControlScript>(); }
public void RegisterInstance(ControlScript control, SensorSuite sensors) { Instances.Add(control, sensors); }