
u/unusual_username14

Any strategies to achieve straight line motion on my 6-axis robot?
The limitation of the hardaware is that I'm communicating to each joint over CAN from my laptop, which I found to be slow. It seems I cannot go over 20 Hz before finding comm issues.
As I see it, the only solution is to use a microcontroller and control the stepper motors with Pulse/Direction commands. Or is there an alternative solution?
Motors: Nema17 stepper
Driver: Closed-Loop SERVO42D CAN driver
Another issue: When sending position commands, the driver implements a trapezoidal, so naturally, with continuous small commands, the motion will be jerky.
I've tried streaming velocity commands instead, which works a bit better, but still unable to achieve smooth motion, as seen in the video.
For more details about the robot, feel free to check the YT video: