Open Source Computer Vision Library
The Open Source Computer Vision Library has >2500 algorithms, extensive documentation and sample code for real-time computer vision. It works on Windows, Linux, Mac OS X, Android and iOS. Homepage: opencv.org Q&A forum: answers.opencv.org Documentation: docs.opencv.org Please pay special attention to our tutorials! http://docs.opencv.org/3.2.0/d9/df8/tutorial_root.html Books about the OpenCV are described here: http://opencv.org/books.html
An Open Source POWERLINK Stack
openPOWERLINK is an Open Source Industrial Ethernet stack for communication in hard real-time. It can be operated as both, Managing Node (master) and Controlled Node (slave). With version 2.0, the source code has been cleanly split into an application-oriented user library and a time-critical stack driver. The latter may be moved to a dedicated communication processor or into a kernel module to deliver enhanced performance while still keeping the API in user space. A full documentation of the stack is available on the web site:
Open source software in robotics (mathematics, kinematics, dynamics, hardware abstraction, visualization, collision detection, motion planning, ...).
An Open Source POWERLINK network configuration toolkit
openCONFIGURATOR is an open-source configuration framework for easy setup, configuration and maintenance of any POWERLINK (http://www.ethernet-powerlink.org/) network. It ideally complements openPOWERLINK, the open source POWERLINK protocol stack for master and slave. The project consists of a core library implementing the configuration algorithms and an eclipse plugin base user interface (https://www.eclipse.org). For XDD tooling and validation support within eclipse please visit: https://sourceforge.net/projects/xddpluginsuite.openconf.p/ Please use the update site to install the plugin in your eclipse environment: http://sourceforge.net/projects/eclipse-plugin.openconf.p/files/update-site/ KNOWN ISSUE WITH THE UPDATE SITE DUE TO SOURCEFORGE ENCRYPTION POLICIES: https://goo.gl/kVr2ZZ Install via Eclipse marketplace: http://goo.gl/vweJ9h User Manual: https://goo.gl/viGd5P For Linux distributions with Boost 1.54.0 libraries please use: https://goo.gl/hMRTss
An eclipse plugin for the openCONFIGURATOR configuration tool
Eclipse update site: http://sourceforge.net/projects/eclipse-plugin.openconf.p/files/update-site/ KNOWN ISSUE WITH THE UPDATE SITE DUE TO SOURCEFORGE ENCRYPTION POLICIES: If you experience problems with the SSL handshake during update please refer to http://gnuarmeclipse.github.io/blog/2017/01/29/plugins-install-issue/ Install via Eclipse marketplace: https://marketplace.eclipse.org/content/ethernet-powerlink-openconfigurator The project provides a plugin for the openCONFIGURATOR core library enabling the creation and configuration of a POWERLINK network (http://www.ethernet-powerlink.org/) in the Eclipse IDE (https://www.eclipse.org). Step-by-step video tutorials: Part 1 - Setup - https://goo.gl/l7eTrC Part 2 - RMN configuration - https://goo.gl/hHY12A Part 3 - PDO mapping - https://goo.gl/8gsRPq Part 4 - Parameter configuration - https://goo.gl/Xjuqjz Part 5 - Modular CN - https://goo.gl/PGCgCk Part 6 - Firmware Handling - https://goo.gl/yBn7ph
Python Gerber to G-code converter
pyGerber2Gcode is a Pyhon based simple Gerber to G-code converter.
C and C++ library for the NIBObee, NIBO burger and NIBO 2 robots. The library contains libraries for AVR Studio and Arduino developement, USB drivers and the RoboDude programming software.
Provides eclipse plugins for XDD edit, validation and OD generation.
The plugins include functionality to edit and check CN / MN XDD / XDC files against the DS311 V1.2.0 and the DS 301 1.3.0 specification. Another plugin enables the user to generate the object dictionary header file from an XDD / XDC file for the openPOWERLINK (https://goo.gl/Cg77Oi) implementation. Please note that the validation functionality works properly for Controlled and Managing Node XDD / XDC files. Please use the update site to install the plugin in your eclipse environment: http://sourceforge.net/projects/xddpluginsuite.openconf.p/files/update_site/ User Manual: https://goo.gl/hvtLAq XDD editor plugin user manual: https://goo.gl/Fo5pUQ Install via Eclipse marketplace: https://goo.gl/eAZAn9 Link to the openCONFIGURATOR parent project: https://sourceforge.net/projects/openconf/
PLEXIL is a plan execution language developed and applied in automation applications at NASA. This software includes an executive (runtime environment) and many related tools. It runs on Unix-based computers.
A C++ implementation of a nonlinear 3D IMU fusion algorithm.
Attitude Estimator is a generic platform-independent C++ library that implements an IMU sensor fusion algorithm. Up to 3-axis gyroscope, accelerometer and magnetometer data can be processed into a full 3D quaternion orientation estimate, with the use of a nonlinear Passive Complementary Filter. The library is targeted at robotic applications, but is by no means limited to this. Features of the estimator include gyro bias estimation, transient quick learning, multiple estimation algorithms, tuneable estimator parameters, and near-global stability backed by theoretical analysis. Great emphasis has been placed on having a very efficient, yet totally numerically and algorithmically robust implementation of the filter. The code size has also been kept to a minimum, and has been extremely well-commented. The programmatic interface has also been made as easy as possible. Please refer to the extensive documentation of the library for more information on its capabilities and usage caveats.
Library for working with 3D rotations in Matlab/Octave
The Matlab/Octave rotations library is a collection of functions, bundled as m-scripts, that address computations and numerical handling of rotations in 3D Euclidean space. The rotation representations that are supported are rotation matrices (Rotmat), Quaternions (Quat), intrinsic ZYX Euler angles (Euler), fused angles (Fused) and tilt angles (Tilt). Operations such as composition, inversion, ZYX yaw extraction, fused yaw extraction, random generation, equality detection, vector rotation and much more have been implemented for each rotation representation. Unit tests for each function are provided to ensure that the library is performant.
A C++ framework that implements generalised finite state machines.
The State Controller Library is a generic platform-independent C++ framework that allows finite state machines and multi-action planning generalisations thereof to be realised. The structure and implementation of this library focuses on the application of finite state machines to real-time control loops, but can be reasonably adapted for virtually any other application, even completely unrelated to control systems. An emphasis has been placed on having very low overhead so as not to hurt overall system performance no matter where this library is used, while still maintaining ease of use. Code size has also been kept to a minimum. Aside from implementing standard finite state machines and multi-action planning state machines, this library can also be used to implement hierarchical state controllers, or any hybrid of the three. Please refer to the extensive documentation for more information. I welcome all feedback, suggestions and bug reports! Email: pallgeuer[at]ais.uni-bonn.de
RoboDude is a programming tool for AVR microcontrollers. The graphical interface is easy to use, because it works with xhex-files (xml files containing ihex and srec sections, mcu information and fuse bit settings). The GUI uses the avrdude library. The binary files are included in the NiboRoboLib Package!
A C++ framework that uses inhibition trees for behaviour control.
The Behaviour Control Framework is a generic platform-independent C++ framework that implements a control architecture consisting of a hierarchical network of behaviour layers. These layers each contain behaviours that can inhibit one another and interact to achieve control. A full discussion of the structure and ideas behind this framework can be found in the Doxygen documentation that comes with the release. This documentation is well worth a read before you decide if the library is for you! The structure and implementation of this library focuses on the application of the inhibition-based behaviour control architecture to real-time control loops, but can reasonably be adapted for a wide variety of other artificial intelligence applications. Emphasis has been placed on having very low overhead so as not to hurt overall system performance, while still maintaining ease of use. I welcome all feedback, suggestions and bug reports! Email: pallgeuer[at]ais.uni-bonn.de
Library for working with 3D rotations in C++
The Rotations Conversion Library (RCL) is a collection of C++ functions that address common computations and numerical handling of rotations in 3D Euclidean space, including support for rotation matrices (`Rotmat`), Quaternions (`Quat`), intrinsic ZYX Euler angles (`Euler`), fused angles (`Fused`) and tilt angles (`Tilt`). In addition to the core competency of being able to convert between each of the representations, operations such as inversion, ZYX yaw extraction, fused yaw extraction, renormalisation, equality detection, vector rotation and much more have been implemented. Unit tests for each function are provided to ensure that the library performs exactly as it should. The implementation of the Rotations Conversion Library is based on the very related Matlab/Octave Rotations Library (MORL), which is a highly tested reference implementation for the required algorithms (see https://sourceforge.net/projects/rotationslib/).