This paper addresses the problem of reliably delivering data packets in highly dynamic mobile ad hoc networks. Existing ad hoc routing protocols are susceptible to node mobility, especially in large-scale networks, as they rely on predetermined end-to-end routes. The paper proposes a Position-based Opportunistic Routing protocol that takes advantage of geographic routing's stateless property and wireless broadcasting. It allows multiple neighbor nodes to cache and forward packets opportunistically if the primary forwarder fails, reducing transmission interruptions and rerouting delays. A Virtual Destination-based Void Handling scheme is also proposed to cooperate with POR for handling communication holes.