The software is provided as a collection of small, individual packages that work together rather than as a single, monolithic application. This makes the framework really modular, at the cost of a setup probably more involved.
There is no strict definiton of what software is part of
anything closely related to aerial robots like flight controller, trajectory
planner or specific hardware drivers will typically be considered part of
it. Check the available subprojects at https://git.openrobots.org/projects/telekyb3 for an up-to-date
list. Notable components are the core components able to fly a robot:
On the other hand, generic robotic software like state estimation, localization, map building or standard actuator support will rather be considered part of Openrobots. For instance:
telekyb3 makes heavy use of the GenoM tool for creating a modular,
component-based software architecture. GenoM is a software component generator
that can target different middlewares (such as ROS, YARP) so
that the components source code remains independant of the middleware. This
provides a great source code reusability and abstracts the developers from any
concern regarding the choice of a middleware. You can find more detail on the
project page at https://git.openrobots.org/projects/genom3.
Although any GenoM-enabled middleware can be used for running the telekyb3
components, in particular ROS, it is suggested that the
https://git.openrobots.org/projects/pocolibs) middleware is used when possible. Many of the components provided
telekyb3 publish and read data at a relatively high frequency and pocolibs
it is much more performant and fast compared to ROS in this
pocolibs also has real-time guarantees which can be beneficial to
the high-frequency controllers components.
All the available software is distributed in source or binary form via
robotpkg. This is a compilation framework and packaging system
for installing software developed by the robotics research community. It also
contains packages for some general, third-party open-source software that the
robotics software depends on and that is not commonly packaged by major unix
distributions. It is highly recommended that you download and install
robotpkg, since this provides automatic dependencies management and easy
upgrade paths. Generic information on setup and usage can be found at
https://git.openrobots.org/projects/robotpkg. You can of course still choose to manually install some or all the
software, especially if you intend to develop and extend the software itself.
The following sections provides detailed instruction on how to install and
telekyb3 software according to your needs.