public override void OnEpisodeBegin()
        {
            goalCheck.ResetGame();
            Vector3 new_pos = new Vector3(initial_position.x, initial_position.y, initial_position.z);
            float   noise   = AgentHelper.NextGaussian(0, 5);

            // Debug.Log(noise);
            new_pos.x += noise;
            noise      = AgentHelper.NextGaussian(0, 3);
            new_pos.z += noise;
            this.transform.position  = new_pos;
            this.self_rBody.velocity = Vector3.zero;

            // Initial rotation woth noise
            this.transform.rotation = initial_rotation;
            var euler = this.transform.eulerAngles;

            euler.y += Random.Range(-20, 20);
            this.transform.eulerAngles = euler;
        }