Problem with gameObject staying on grid and seeker speed erratically changes [getting started probs]

I tried following the “Getting Started” tutorial, and ran into problems. I also found the AI script for that to be very rudimentary, so I created my own using AIFollow.cs as a base.

I have created a test scene, and have set up a sample plane that is on the layer “Ground” and have walls on the layer “Obstacles”.
I had to switch the plane to a thin cube, as my ai agents would fall through the plane (affected by gravity and would fall due to CharacterController).

My current setup is a script based on the AIFollow.cs script in the example assets folder for a* pathfinding project.
I attached this script to an empty gameobject, along with a seeker component and a character controller. I then made a capsule gameObject a child and set its local position to Vector3.zero.

I have a testTarget gameObject that my ai script finds (and it does successfully find it).
My grid graph scans fine, and shows walkable areas and unwalkable areas as it should.
My grid is at y=0, along with my ai test gameObject that ha smy seeker component and such.
When i start with this setup, my character (the capsule) falls through the ground. The only way i have solved this is by making it about .5 higher than the character controller height. How can i avoid this or set the y position = 0 and still make it work?

When i fixed that, my ai finds a path (as told to me by the console output) and begins follow the path. It follows the path, but when it follows it, the character speeds up (even though a public variable is seen to not change).
Why is this? What could cause this? I have a gut feeling it is caused by the character controller and some interactions with colliders but am unsure.

I also notice that my path is slightly verticle sometimes. The green path drawn by the ai script is not on the graph but is slightly above it and then at the ends it arcs back down to the end and start nodes.

I also notice that my ai sometimes gets caught up on a corner when it passes around a wall (and goes off of the green line that is shown when my game runs). Why would this be?

Sorry for all the questions, I just want to be thorough and make sure these aren’t necessarily related, and how i can solve them as others may have this problem. Hope I am not asking for too much by posting a lot of questions.

Here is my AITest.cs script:

AITest.cs

Here is my scene setup:

Example Scene Setup