A snake can traverse cluttered and irregular environments by using irregularities around its body as push points to aid the propulsion. This characteristic feature of biological snake locomotion, which is denoted as obstacle-aided locomotion, is investigated for snake robot locomotion purposes in this paper. The paper presents a hybrid model of the dynamics of a planar snake robot interacting with obstacles in its environment. Obstacle contact forces are calculated by formulating and solving a linear complementarity problem (LCP). The existence and uniqueness properties of the state evolution of the hybrid model are investigated. The paper also presents a hybrid control strategy employing measured contact forces to maintain propulsion while simultaneously preventing the snake robot from being jammed between obstacles in its path. The simulation results validate the hybrid modelling approach and the effectiveness of the proposed control strategy.