pykal: From Theory to Python to ROS

pykal is a Python development framework that bridges the chasm between theoretical control systems and their implementation in hardware. Designed for hobbyists, students, and academics alike, this framework won’t cure cancer, but it can do the next best thing: make controlling robots easier.

To learn more about the pykal package and how to use it, see the Getting Started guide in the sidebar.

To access community-made tutorial notebooks, example systems, and other fun robot things, see the Community page in the sidebar.

To access the GitHub repo, click here.

Algorithm Library

Browse pykal’s collection of implemented control and estimation algorithms! Each algorithm links to interactive Jupyter notebooks with working code you can download and run. Use the filters below to search by category and implementation platform.

Want to contribute your algorithm? See the Contribution Guidelines in the community page to add your paper and implementation to the library!

Legend: Click on a colored circle to view the implementation notebook.
pykal TurtleBot Crazyflie
  1. Rudolph Emil Kalman. A new approach to linear filtering and prediction problems. Journal of Basic Engineering, 82(1):35–45, 1960. Classic Kalman filter paper. Implementations available in pykal core and TurtleBot. URL: https://doi.org/10.1115/1.3662552.

  2. John G. Ziegler and Nathaniel B. Nichols. Optimum settings for automatic controllers. Transactions of the ASME, 64:759–768, 1942. Classic PID controller tuning paper introducing the Ziegler-Nichols method. URL: https://doi.org/10.1115/1.4019264.