The data we are interpolating is monotonically increasing (for example, a car's odometer reading). We have two types of points we'd like the solution to interpolate through. The solution surface must pass through critical points. The solution does not have to pass through non-critical points, but must aim to minimize distance to them. See attached image.
From my understanding local regression options such as LOESS can create a smoothed interpolation solution, but cannot be forced to cross through certain points. An interpolating spline is forced to cross all points, but will not try to optimize its knot parameters to reduce distance to non-critical points. Do any packages in R achieve the type of solution sought?