1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Main Page

From robocomp

Jump to: navigation, search

Contents

What is RoboComp?

RoboComp is an open-source robotics framework. It provides different software components for robotics and the necessary tools to use them. Running components form a graph of processes that can be distributed over different cores, CPU's or computers using software component technology. Communications are handled by the Ice framework. Our main goals in designing the system are efficiency, ease of use and reusability. RoboComp uses in some of its components other tools or libraries such as CMake, Qt4, IPP, OpenSceneGraph and OpenGL (most of them are optional). Programming languages used in the project are mainly C++ and Python but the Ice framework makes possible to easily use components written in many other languages.

Compared to other similar projects the main advantage of RoboComp is its ease of use and its efficiency.

Tutorials

RoboComp Tutorial #0: Putting RoboComp into action
RoboComp Tutorial #1: Compiling and running components
RoboComp Tutorial #2: Creating and integrating a component

Support

If you need support, you can ask in the Help forum.

Components

A component is a program providing an interface which other components (programs) can use. The following graph shows all RoboComp components (early 2010) an its potential run-time connections:

A detailed list of the RoboComp components can be found here.

Tools

Of course, in order to create, manage and monitor components it is necessary a set of tools. RoboComp provides those tools:

  1. Component creation: RCGenerator
  2. Management of component networks: RCManager
  3. Component monitoring and testing: RCMonitor
  4. Graphical component supervision: RCControlPanel
  5. Interface capture and replay: RCReplay
  6. Text logging: RCLogger


Hardware support

A list of successfully tested hardware is available in the HAL page.

Classes

Different components use to need to perform similar tasks. In order to avoid code duplication, RoboComp provides a set of classes that any component can use. The following is a list of some of the classes that RoboComp provides:

  1. Image drawing: qWorld, qVisor, SDLMonitor
  2. 3D rendering: osgViewer
  3. Geometric transformations: InnerModel
  4. Serial port: Q4SerialPort
  5. Joystick: QJoystick, QWiimote
  6. Matrix support: QVec, QMat, QMatRot, QRTMat, QCamera, QIntrinsics, QExtrinsics, QHomography, QEssential, QFundamental, SerializableMatrix
Personal tools