fix: collision detection with obstacles