In the video he has what looks like a magnetic absolute encoder, I have honestly never seen that in industrial applications although I have seen "absolute" optical encoders that have a backup battery to store the home point, kind of weird imo.
I was surprised when I first encountered servos with just magnetic hall effect sensors but there are actually lots of applications where you want speed control but not accurate position control.
Even for speed control, hall effect sensors are kind of a poor way to track position. What is nice about hall effect sensors is that you can use them as a signal to perform brushless commutation in your motor controller, and then also use them as a poor-man's encoder. Very useful if you don't need that much accuracy in your application, but you do need brushless motors for some reason. But one of the first things I would go to as a application engineer was recommend customers get an encoder mounted.
Quadrature encoders don't skip counts unless your output is single ended and your wiring is poor leading to interference of the signal. PWM drives tend to make a lot of noise and single ended encoders will see lots of problems unless you take great care. I always use differential signal encoders in our machines here at work. They use an RS485 driver to achieve this in the encoder itself. Aerotech, the main vendor we use for motion control, uses differential signal by default. Never had positioning or counting problems unless the encoder was physically damaged.
Right. Syncro resolvers are the classic way to do it. Modern versions use a permanent magnet and two Hall-effect sensors.
Each angle has its value of the optical signal, down to the ellipse's symmetry. Two ellipses, painted at an angle between their axes, give a unique pair for each angle, even amenable to interpolation.
This must be quite resistant to both electromagnetic interference and to fast / jiggy rotation. It's more bulky though, and likely requires calibration.
Also a good engineering rule is to have your stepper provide double the maximum torque than you need by specification, especially if you use partial steps.
Common dc motors don't need as much tolerance, but it doesn't hurt anyway.
Also, you still need to debounce signals from optical encoders because of the inteference you mentioned, even if your physicist tells you that optical encoders cannot bounce.
To read encoders try to use timer interrupts instead of pin change interrupts. A bit unintuitive for software developers, but polling is safer because you have specified maximal speed and your µC program isn't disabled from magnetic interference as well. There are specialized µC for quadrature encoders, but you usually do not need them if you don't have high speed applications.