Skip to content

A list of topics of interest, including AI, Robotics, Physics, Mathematics, control and some useful tools in these areas.

License

Notifications You must be signed in to change notification settings

LiuxhRobotAI/awesome-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 

Repository files navigation

awesome-learning

A list of topics of interest. This list includes some very useful and recommended open books, platforms, tools and websites for AI technologies, computer vision, simultaneous localization and mapping(SLAM), control technologies of robotics and some very useful tutorials for robot technologies.

Contents

Basic theory

  • Basic applied math
  • Implementation and application
    • PythonRobotics - Most recommended for understanding and getting starting algorithms.
    • Eigen or this site - A C++ tool for matrix operation.
    • Ceres - An open-source C++ library for modeling and solving large, complicated optimization problems. There are binding tools for Python to use Ceres. It is Pyceres which is based on ceres_python_bindings.
    • G2O - An open-source C++ library for general graph optimization.
    • Sophus - A C++ implementation of Lie groups basic on Eigen, commonly used for 2d and 3d geometric problems.
    • GTSAM - A C++ library that implements sensor fusion for robotics and computer vision applications, including SLAM, VO, and SFM (Structure from Motion). It uses factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices to optimize for the most probable configuration or an optimal plan.
    • miniSAM - An open-source C++/Python framework for solving factor graph-based least squares problems inspired by GTSAM but more lightweight. Some tutorials on factor graph-based optimization problems should be very useful.
    • Mosek - Powerful solver to optimization problems. And Yalmip - A tool for optimization problems. Here is how it works with Mosek.
    • OOQP - An object-oriented C++ package, based on a primal-dual interior-point method, for solving convex quadratic programming problems (QPs).
    • NLopt - A free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.
    • Suitesparse - A sparse Matrix software suite.
    • SciPy - SciPy is a math function library that uses NumPy. This library provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics, and many other classes of problems.
    • cvxpy - A Python-embedded modeling language for convex optimization problems. It allows you to express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers. Most recommended as Mosek and Yalmip! for Python users.
    • Pyomo - Python Optimization Modeling Objects.
    • CVXOPT - A free Python software package for convex optimization.
    • Regularization Tools - Or find an old copy here.
    • Optimization tool in Python, There are many optimization tool used for SLAM, machine leraning and so on: g2opy is only for SLAM and it is a python binding of graph optimization C++ frameworkb g2o; The recently emerged and maintained pypose (by Wang Chen) and cvxpylayers, theseus from Meta AI may be the most remarkable ones.
    • SymPy - A Python library for symbolic mathematics, a computer algebra system like Maple and Mathematica that can be used to symbolically differentiate the objective function and generate the C++ to evaluate them.
    • wxMaxima - A document based interface for the computer algebra system Maxima. wxMaxima provides menus and dialogs for many common maxima commands, autocompletion, inline plots and simple animations. The tensor calculation of Ralativity is one of the main usages of wxMaxima.
    • Manopt - A tool for optimization on manifolds. There is a Python version PyManopt.

Learning

Robotics

Programming

Platforms

Tools

  • Jackal Robot simulation platform
  • OpenCV
  • evo - A tool for evaluating and comparing the trajectory output of odometry and SLAM algorithms.
  • Pangolin - A 3D visualization tool that includes a set of lightweight and portable utility libraries for prototyping 3D, numeric or video-based programs and algorithms used quite widely in the field of Computer Vision.
  • [BoW] - The bag-of-words (BOW) model.
  • COLMAP - A general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface which is very useful for SLAM.
  • YOLO - A real-time object detection system which is very useful for automatical driving and SLAM. Now it updates as YOLOv10, and has a YOLOv4-tiny.
  • MatrixCalculus - An online tool that computes vector and matrix derivatives (matrix calculus).

Websites

About

A list of topics of interest, including AI, Robotics, Physics, Mathematics, control and some useful tools in these areas.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published