Software Tools

Online Tools

Open-source Software

Robotics

Communication

  • Lightweight Communications and Marshalling (LCM) - https://lcm-proj.github.io/
    “LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical.”

Scientific Computing

  • GSL - GNU Scientific Library - http://www.gnu.org/software/gsl/
    “The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.”
  • CGAL - The Computational Geometry Algorithms Library - https://www.cgal.org/
    *”CGAL is a software project that provides easy access to efficient and reliable geometric algorithms in the form of a C++ library. “
  • GNU Octave - https://www.gnu.org/software/octave/
    “GNU Octave is a high-level interpreted language, primarily intended for numerical computations. The Octave language is quite similar to Matlab so that most programs are easily portable.”
  • Matplotlib - https://matplotlib.org/
    *”Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.”

Computer Vision

  • Open Source Computer Vision Library (OpenCV) - https://opencv.org/
    *”OpenCV is an open source computer vision and machine learning software library.”
  • Open source visual servoing platform library (ViSP) - http://visp.inria.fr/
    “ViSP standing for Visual Servoing Platform is a modular cross platform library that allows prototyping and developing applications using visual tracking and visual servoing technics at the heart of the researches done by Inria Lagadic team.”

Operating Systems

  • Xenomai - https://xenomai.org/
    “Xenomai is about making various real-time operating system APIs available to Linux-based platforms. When the target Linux kernel cannot meet the requirements with respect to response time constraints, Xenomai can also supplement it for delivering stringent real-time guarantees.”

Programming

  • Valgrind - http://valgrind.org
    “Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.”
  • Spdlog - https://github.com/gabime/spdlog
    *”Very fast, header only, C++ logging library.”

Miscellaneous