I am currently working on a masters' thesis project of designing, constructing, and controlling a linear input delta robot. I have already designed and constructed it, so it is time to control it. I purchased the smoothieboard because of its superior hardware to the arduino. After receiving the board and starting to set it up I am quickly realizing that way way way too much is done for me. I know that is horrible but I want to be able to control exactly what happens, not just adjust some parameters and trust the software to handle the rest.
First, I want to be able to change the trajectory generation of the software. It seems the default software uses a trapezoidal velocity profile, where I want to use a 5th order polynomial which is a little known simple method to ensure continuous position, velocity, and acceleration while avoiding infinite jerk spikes. If anyone is curious about this I can provide a link to the source article.
Second, I want to be able to change the way the software computes the inverse kinematics of the delta robot. My advisor has a different method which I would like to use.
Lastly, I would like to be able to cause the robot to move from one point to another with one joint move as opposed to a linear move (aka don't chop it up into lots of small moves, just one big move) so that I can record the motion with a optical rotary encoder and compare it to the theoretical trajectory.
The solution to #2 seems relatively simple to me: change LinearDeltaSolution.cpp. Am I correct?
The solution to #1 seems a lot more complicated. I am guessing I have to modify Stepper.cpp but the code is very long and probably pretty complicated.
Is this the correct thing to do (modify those two files)? I have lots of coding experience and I took a c++ course a few years back which it looks like smoothieware is coded in. Lastly, to change this code I assume I just navigate to E:\Source\edge.zip\Smoothieware-edge\src\modules\robot and change them in notepad++ or notepad. Then re-zip edge.zip and replace it, followed by restarting the smoothieboard?
Any input is appreciated!