public void reset()
    {
        boardData = GenerateBoardData();
        // Debug.Log(boardData.ToString());
        specimen.CalculateFitness(boardData);

        // disable physics to wipe velocity, torque, etc.
        rgbd.isKinematic = true;

        // reset position to start
        transform.position = initialPos;

        // reset rotation to start
        transform.rotation = initialRotation;

        // enable physics for next run
        rgbd.isKinematic = false;

        rotationsInAir     = new List <Vector3>();
        positionsInAir     = new List <Vector3>();
        leftFootPositions  = new List <Vector3>();
        rightFootPositions = new List <Vector3>();
    }