Peter Plays with Python and PID

Attached is a python file that can simulate move absolute commands. The picture shows a simple move using only proportional gain. At this time there are no feed forwards.
The simplest way to run the software is to download Anaconda
anaconda.com/download/
and install it. There is an editor or IDE called Spyder that will run the program.
You could download python, numpy, scipy and matplotlib separately for a leaner installation but it takes a little work to get these packages working.

The goal is to provide a simple way of testing how different controller gains and system parameters affect the motion.
This is not a work of art…yet.
HydSim-linear0a.zip (2.71 KB)

It is a three order profile

This is a second order motion profile.
pos(t)=a+bt+ct^2 when accelerating and decelerating.
The velocity profile is linear.
The acceleration is c/2 or 0.
on iyeya.cn I show s-curve ramps using sin() and cos() functions.

Third order motion profiles require a lot of code.
This is a third order motion profile
deltamotion.com/peter/Maxima/Seg1234567.html
A proper third order motion profile is very complicated.

I have updated the HydSim program. The program was getting too big so now it is broken up into smaller modules.
I added a different way of plotting. It is much simpler.
I fixed numerous small bugs.
I added more control options and a cosine target generator.
deltamotion.com/peter/py/HydSim.zip