Terrain Snapping

In Roblox Studio, I’m making a car with an auto-drive feature (because my map is so bumpy it’s hard to get around). However, when I used pathfinding service to get it to drive there, I realized that the wheels would stick underground, and sometimes fly above the ground.
Here’s a picture of my car:


The blue box under it is the HumveeRootPart and it is properly welded to the car.

Also, here’s my pathfinding script:

local pathfind = game:GetService("PathfindingService")
local path = pathfind:CreatePath()
path:ComputeAsync(game.Workspace.HumveeRootPart.Position, game.Workspace.Waypoint1.Position)
local waypoints = path:GetWaypoints()
for i, waypoint in pairs(waypoints) do
	if i > 5 then
		local tw = game:GetService("TweenService")
		local info = TweenInfo.new(0.3,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,0,false,0)
		local Goal = {}
		if i ~= #waypoints then 
			Goal = {CFrame = CFrame.new(waypoint.Position-Vector3.new(0,1.5), game.Workspace.Waypoint1.Position)} 
		else 
			Goal = {CFrame = game.Workspace.Waypoint1.CFrame} 
		end 
		local go = tw:Create(game.Workspace.HumveeRootPart,info,Goal)
		go:Play()
		wait(0.3) 
	end 
end

I made a few modifications to it along the way so it would look better.
Anyway, what I want is for the RootPart to tween to the CFrame of the next waypoint snapped to the ground.

Thanks for the help!