TL;DR: how can I calculate the disturbance at each joint due to coupling forces in a two-link planar robot manipulator actuated by two independent DC motors?
I'm studying control theory and trying to work through a simple example using a two-link planar robot manipulator:
My goal is to simulate PID control of the planar two-link manipulator, where each joint is actuated by an independent DC motor. The input is two continuous signals $$\theta_1(t), \theta_2(t)$$
which represent the desired angle for each joint at time t.
Following this paper: Modeling a Controller for an Articulated Robotic Arm, I can obtain an expression for the voltage I need to apply to each motor to achieve a desired angle. The paper also describes the PID controller necessary to maintain the desired angle given an error signal $$e(t) = \theta_{desired}(t)-\theta_{actual}(t)$$
Since each motor is controlled independently, coupling effects among joints due to varying configurations during motion are treated as disturbance inputs. My question is: how can I model this coupling effect in order to "simulate" the error signal e(t) for system under ideal conditions? By ideal conditions I mean that the disturbance due to coupling among joints accounts for 100% of the error signal.
My current thought is to use an expression for the dynamics of the two-link planar manipulator, as per the following book: A Mathematical Introduction to Robotic Manipulation
This way, at time t, we determine the voltage to achieve the desired angles for each independent motor, then plug that into our DC motor model to obtain the generated torques: $$\tau_1, \tau_2$$
We then plug these torques into the dynamics to get the actual angles, taking into account the coupling forces, and then use the actual angles compared to the desired angles in order to generate the error signal that feeds into the PID control loop.
Does this approach make sense? If not, where have I gone wrong and how can I simulate the error signal due to coupling forces?
Edit: one commenter points out PID control may not be optimal for this problem. If this is the case, what alternative control strategies should I use?