Here you can find the entire original SimPyLC project: https://github.com/QQuick/SimPyLC/
Bang4SimPyLC is just an an extension of SimPyLC for learning purposes.
Installation for Windows, Linux is described in: "SimPyLC_HowTo" https://github.com/QQuick/SimPyLC/blob/master/simpylc/simpylc_howto.pdf
- Go to directory SimPyLC/simulations/one_armed_robot
- Replace original file with "world.py" and "control.py" and add this "sequence.py"
- Click on world.py (or run world.py from the command line) - requires Python 3.10 installed
- Force the "go" bit in the "movement control window"
- The one arm robot torso will then follow 3 predefined angles
- "Reset" bit in the "sequence control window" repeats the whole sequence
Robot torso movement with simple bang-bang control without overshoot. But this version doesn't calculate the braking distance, as suggested in the "SimPyLC_HowTo" guide.
This bang-bang controller uses maximal acceleration to the halfway position, then does maximal deceleration until the goal is reached. And this is what it looks like:
https://github.com/JEGGEgit/Bang4SimPyLC/blob/main/demo/bang4simpylc1366x768.gif
The GUI operation as described (Mouse Wheel) didn't work for me. I'm running the simulation on Windows 10 64-bit (1511) with Python 3.10 32-bit.
And yes, in real life, I'm an old-school PLC programmer. I do simulations directly on the manufacturer's development environment, including Omron's Sysmac Studio.
But I also like Python and this concept of SimPyLC using Python with OpenGL visualisation.
Enjoy What You Do
EOF