Jumping without Character Controller

I am working on an action RPG that has simple AI controlled enemies using transform.position without character controller (really no need) What i’m trying to do, is create a monster, that when it approaches an obstacle it will stop, wait a second and then jump it. I have the code working for raycasting so that it detects the object and stops, but getting it to jump a short distance forward and up has become quite the challenge. Any ideas on how I can accomplish a very simple STOP, JUMP OVER, and then crossfade back into walking/running?

Here is a script a test script I wrote awhile back that causes a block to randomly jump around. The basis is to use the Sine function between 0 and PI multiplied by the height.

public class Hopper : MonoBehaviour {
	public float fTime = 1.5f;      // Hop time
	public float fRange = 5.0f;     // Max dist from origin
	public float fHopHeight = 2.0f; // Height of hop

	private Vector3 v3Dest;
	private Vector3 v3Last;
	private float fTimer = 0.0f;

	void Start () {
		v3Last = transform.position;
		v3Dest = Random.insideUnitCircle * fRange;
	}
	
	void Update () {
		if (fTimer >= fTime) {
			v3Last = v3Dest;
			v3Dest = Random.insideUnitCircle * fRange;
			v3Dest.z = v3Dest.y;
			v3Dest.y = 0.0f;
			fTimer = 0.0f;
		}
		
		Vector3 v3T = Vector3.Lerp (v3Last, v3Dest, fTimer / fTime);
		v3T.y = Mathf.Sin (fTimer/fTime * Mathf.PI) * fHopHeight;
		transform.position = v3T;
		fTimer += Time.deltaTime;
	}
}