cabg2101 / GRO640

Python Robotics: A toolbox for robot dynamic simulation, analysis, control and planning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

Screen Shot 2021-05-02 at 15 57 47

Other more specific mother-class are -Linear System -Mechanical System -Manipulator Robot

Screen Shot 2021-05-02 at 16 13 51

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

Screen Shot 2021-05-02 at 16 17 34

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..

Gallery of exemples

Phase-plane Analysis

Screen Shot 2021-05-02 at 16 41 44

Optimal controller computation with Value-Iteration

Screen Shot 2021-05-02 at 16 42 34

Car parallel parking solved with RRT, Value-Iteration, etc..

Screen Shot 2021-05-02 at 16 38 59

Screen Shot 2021-05-02 at 16 39 42

Redondant Manipulator Controller

Screen Shot 2021-05-02 at 16 26 47

Pendulums Swing-up solved with Computed-Torque, RRT, Value-Iteration, etc..

Screen Shot 2021-05-02 at 16 34 04

Screen Shot 2021-05-02 at 16 32 13

About

Python Robotics: A toolbox for robot dynamic simulation, analysis, control and planning

License:MIT License


Languages

Language:Python 100.0%