[C] ±1 degree accurate motors?

Well it is fact that torque is directly proportional to amps and speed is proportional to voltage in DC motor. The amps will be equal to the volts / resistance. So as you lower volts to reduce speed it lowers the amps and lowers the torque and the control.

And I know this from building robots and making them work(physically doing it inn real life):

I have used lots of DC motors because they r common and cheap. They are very poor at slow speed and accuracy but great for out right power and speed and efficiency of battery use.

I have been using stepper motors also and find that steppers are super great at slow speed and high torque with very high precision but r more expensive and weight much more and are larger in size and use more battery power for less power output (torque x speed).

in fact you seem to do not understand how a PID regulator works.
Try to program one by your own, and you will see how to increase torque up to 100% even when the motor runs slowly (in case of need, when having too low torque and low speed close to the setpoint target and if it threatens to die a wretched death before reaching the setpoint, e.g. just 1 or 2 degrees before eventually having almost reached the goal).
It is performed by the D term and the I term, basically.

Have a look at my own PID implementation for the NXT by NXC which was missing such an excellent PID regulation before - if you wish :wink:

https://mindboards.org/viewtopic.php?f=3&t=1850&sid=43e064eb4a0b3610239789435b839d8c
http://www.mindstormsforum.de/viewtopic.php?f=25&t=7521#p61930

some more detailed explanations about torque, premeaturely dying, overshooting, P,I,D , and PID tuning here in this post - admittedly in German:
http://www.mindstormsforum.de/viewtopic.php?f=25&t=7521&p=61935#p61935

Regarding getting to within 0.2 degrees vs. 2 degrees, the Lego motors have so much gear backlash that it’s basically a moot point. Lego Mindstorms motors never have been (and probably never will be) precise to within a degree, just from a physical standpoint (the internal gearbox), regardless of the electrical and software control.

With Lego components (axles, gears, beams, etc.) even if a motor could position it’s output to within a degree, the tolerances of the plastic pieces (slop, twisting, etc.) probably make Lego a poor choice for extremely high precision robotics.

My statement about 0.2° was just about an idea of an example how one might use an external rotary encoder at the driven axle, and then the motor gearing inside the Lego motor wouldn’t matter to achieve just 1° accurancy. But as stated, that was just theoretical.
But 1° accurance is actually absolutely achievable, even with the internal encoders, by an accurately tuned PID regulator, because the motors can be controlled just so far that encoder position and target setpoint will match, regardless of gear backlash. I could demonstarte that already even by my NXC PID regulator.

Even if the motor and encoder held the target position to within 1 degree, you could still manually rotate the output shaft of the NXT motor (for example) by a couple degrees due to the gearbox backlash. Since the encoder is behind the gearbox, no amount of software can accurately position the NXT motor output to within 1 degree. The exception would be if you added an external encoder, but if you need that level of precision, Lego probably isn’t the best choice (already the external encoder wouldn’t be Lego).

It was not my idea to wish 1° accurancy, nonetheless, I can achieve it with my NXC drivers - given that fine-tuning is possible by the end user and given that there is no manual brute force applied. But within 1° +/- the position can be targeted.
Nonetheless, as I have also already stated, the OP’s issue IMO is not requiring compellingly a 1° accurancy though.