Kevin,
I think the short answer is, "no", we haven't worked on that type of model yet, so don't have a similar example. If you know NetLogo, we made a package, NetLogoR, on CRAN, which lets you think like NetLogo, but write in R. We use this in combination with SpaDES to do individual based models of movement. In my opinion, because you are moving people on linear trails, you may want to think of it as a graph model, with nodes and edges. You can define each node by its length, and other features, like steepness (uphill, downhill etc.), then you can set up agents that can move along the edges along set routes, where the agent can adapt their route choice by crowdedness, or whatever.
Anyway, I don't think I would have time to help too much on this, BUT, if you need some other thoughts, I am happy to respond.
Summarize, I would use SpaDES, igraph, sf, and data.table packages. With these 3 packages, you can set up the nodes and edges from the GIS, set up agents using a data.table or the NetLogoR::agentMatrix class (which is a bit faster than data.table because it is a matrix -- fast in R). Thinking through this, the biggest challenge for me would be the fact that you will likely want near "continuous" time for your agents, not discrete time. Hmm.
Anyway, my thoughts.
Eliot