Initially we had decided that sEMG was the only means of controlling the robot that we would use. As the semester progressed, we decided to create 2 other ways of controlling the robot arm: dials and external software. The use of analog dials was implemented first which helped to debug and configure the robot code.
Control Through External Dials
Dials were set up to control each joint of the robotic arm. A potentiometer was placed between the power and ground pins, and the wiper was connected to input lines of the microcontroller. The input voltage level was converted in the A/D ISR and then outputted to the PWM system.
Control Through External Software
A simple program was designed in LabVIEW that allowed us to control the robot from a computer. An output string was sent to the dsPIC, buffered and parsed, and in turn controlled the joints of the robot arm. Simultaneously, the dsPIC sent out status messages of the robot armís position, which could be viewed on the computer screen.