Delta robot status update
This thing has been haunting me on my bedroom table for some while.
When I got the PID control working out, it has turned out the 1:131 gearmotors are bit incorrect for this application. The gears have too much tolerance and I only get precision that's in factor of millimeters. Also the gearing produces too much resistance to provide a meaningful haptic platform. It's probably going to be great at picking and moving socks though!
I don't have the code for calculating kinematics of this kind of robot. So far I just have written speed control for the motors. When the thing's on the motors are even stiffer than idle. The transmission belt slips before the motors give up, so I have yet have to figure how much it can handle.
To get better results I may have to change in more precise encoders and put them on driving head of the motors. Also chances are I'm going to need circuits for reading the encoders. 16MHz arduino without interrupts manages to get confused at peak velocities.
Whole arduino is perhaps pointless here. The PID only needs to run every 20ms and it turns out python was perfectly capable of driving it. A small driver written in C could very well drive the motors directly from Raspberry Pi.
I tried to wire the A-in B-in to pwm outputs so I'd save pins. Turns out that is less precise than running the A/B-in with digital pins and driving PWM directly.
For now I need to calibrate the robot manually after I give it power. The robot hands self-collide if I drive them all up at same time, so I couldn't automate calibration before I figure out something.
The build of the robot with bunch of cheap bearings seems good. I'm worrying that the 5mm rods will bend at high forces, but I'll see that then. The 3D printed PLA plastic parts seem to be plain gasoline for my lust of building robots.