telekyb3
is part of the more general OpenRobots
software collection. You can browse the OpenRobots projects on
https://git.openrobots.org/projects for more information.
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 telekyb3
, but
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:
rotorcraft-genom3: Low level hardware controller for multi-rotor robots talking the telekyb3 protocol.
nhfc-genom3: A "near hovering" flight controller.
uavatt-genom3: An attitude controller.
uavpos-genom3: An position controller.
maneuver-genom3: Trajectory planner.
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:
pom-genom3: State estimation by fusion of multiple sensors (IMU, gps, motion capture …).
optitrack-genom3: Driver for an Optitrack motion capture system.
gps-genom3: Driver for U-blox and Novatel GPS devices.
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 pocolibs
(see
https://git.openrobots.org/projects/pocolibs) middleware is used when possible. Many of the components provided
by telekyb3
publish and read data at a relatively high frequency and pocolibs
it is much more performant and fast compared to ROS in this
scenario. 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 telekyb
with 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
setup telekyb3
software according to your needs.