I am considering purchasing a Lynx robot arm for a research project. This project requires that I use a PID controller in which I can modify the proportional, integration, and derivative gains.
Do any of the Lynx robot arms come with an installed PID controller. If so, can I change the gains using a Python program?
If they do not come with installed PID controllers, can I install a PID controller either in software or hardware?
Lynxmotion SES V1 Robotic Arms (AL5A, AL5B, AL5D)
These use Hitec RC servos which simply move at full speed to the position they are commanded to go. The SSC-32U servo controller takes the last position request and the new one and is able to dens intermediate positions to accommodate for speed and time of the moves. Unfortunately no PID here.
Lynxmotion SES V2 Robotic Arms (4DoF and 3DoF)
These use smart servos which can be set to either mode 0 or mode 1. There is a command which allows you to send the raw duty cycle to the motor, and another to read the actual position. You can use these to develop an external PID for each servo (ex. in your choice of software installed on the computer and sent via USB to the LSS Adapter). Unfortunately there is no PID algorithm which users can modify either within or external to the servos where you can simply modify these values. Several other members here have done exactly this.
Well, I think your simplest solution here is to make your own PID controller and send the resulting motion request to whatever hardware you are trying to control. It seems that’s what most robotic projects do.