To keep control on the paper the best would be to apply a vertical force using the force sensor.
If you have our Copilote software on a UR robot, you can use a multipoint path inside a force control node.
Multipoint path can be use to make elliptical path and force control can be use to apply a force on tool Z axis.
Check the section 4.1.7.2. Features of the sensor manual (https://robotiq.com/support/ft-300-force-torque-sensor/documents-ft-300-instruction-manual-instruction-manual) for more information.
I am attempting to plot an elliptical path. I calculate the run over rise of the intersection circles breaking it into short straight line moves. Then using movel with an altered pose the tool is moved. The calculations are sound and the path is correct and accurate. The problem is at the end of each of the line segments the tool is raised slightly. (I am using a pen to paper to insure I'm getting the correct path. The line produced is a series of dashes.) I have attempted to use the robots force functions and though it was too coarse. I installed the Robotiq force sensor and altered the program to utilize it. While the robot follows the surface contour with greater reliability the lifting continues.
I tried to change to movec using every-other calculate point as the "pose_via" but I do not know how to define the ever changing radius and the function complained about the lack of it.