Assignment: Create a cool robot that has a cool control system as a final project.
We decided to create a pair of robotic arms that would allow for users to transmit force from one to the other. Moving one arm would move the other, but if one arm encountered resistance (such as an object being placed in its path), the user holding the other arm would feel the resistance.
This was done using integral controls to determine the force necessary to rebound to the position determined by the encoders. The further the arm was from where it was supposed to be (determined by the position of the other arm), the more force the motor would exert to correct it.
Fabrication was simpler for this project. Basic motor mounts were 3D printed, and arms were clamped onto the motor shafts. An Arduino was used to control the system.