Python Robotics
A object-based toolbox for robot dynamic simulation, analysis, control and planning.
Installation
Dependencies
- numpy
- scipy
- matplotlib
Recommended environment
Anaconda distribution + spyder IDE available here: https://www.anaconda.com/products/individual
Note: If graphical animations are not working, try changing the graphics backend. In spyder this option is found in the menu at python/Preferences/IPython console/Backend. Inline does not allow animations, it is best to use Automatic of OS X (for Mac).
Clone repo and add to python path
A simple option for development is simply to clone the repo:
git clone https://github.com/SherbyRobotics/pyro.git
then add the pyro folder to the pythonpath variable of your environment. In spyder this option is found in the menu at python/PYTHONPATH manager.
Library Architecture
Dynamic objects
At the core of pyro is a mother-class representing generic non-linear dynamic systems, with the following nomemclature:
Other more specific mother-class are -Linear System -Mechanical System -Manipulator Robot
Controller objects
Controller objects can be used to closed the loop with an operation generating a closed-loop dynamic system:
closed-loop system = controller + open-loop system
For "memoryless" controller, this operation is
Available control algorithms: PID, LQR, Computed-Torque, End-point Impedance, Value-Iteration, Sliding-mode controller, etc.
Trajectory planner objects
Cooming soon..
How to use
See exemples scripts in pyro/examples.
Coming soon..