Overview

Following list of softwares are required to compile and run OpenHRP. These are not included in the OpenHRP main package, so you have to install them separately and make sure to be available in your system.

  • Middlewares
    • OpenRTM
    • omniORB
  • Java
    • Java Development Kit (JDK)
  • C++ Development Tools
    • Linux: GCC,Make,etc
    • Windows: Visual C++
  • C++ Libraries
    • Boost
    • Lapack
    • tvmet
  • Python
    • Jython

You may install each software according to their distributor's description, or using the package system equipped for your OS (Which are offered in this site).

We officially support (Ubuntu Linux and Windows ) operating system platforms. Please refer the particular documentation page, for detailed explanation about installing softwares on your platform.

In the next section, we describe an overview, distribution site and suuported versions for each software.

Java

In OpenHRP, some of components such as GrxUI, are written in Java. So you have to configure the Java environment to compile and run those components.

Java Development Kit (JDK)

This is the environment for Java developement and execution.
  • Distribution Site: http://java.sun.com/
  • You can download it from the "Java SE" download page.
  • Supported versions: JDK5 and JDK6

Middlewares

OpenHRP is designed as distributed component system. Therefore you need middlewares which forms the basement to run these components.

OpenRTM-aist

OpenRTM-aist is a distributed component middleware designed for building robot systems. OpenHRP uses C++ edition of OpenRTM-aist, which is an implementation of AISTs' OpenRTM project team.

omniORB

CORBA is another middleware used in OpenHRP. Therefore you need to have omniORB, which is an implementation of CORBA.

Howerever, omniORB is also used by OpenRTM-aist, so once you install OpenRTM-aist successfully,omniORB should also be available as well.

  • Distribution Site: http://omniorb.sourceforge.net
  • Supported versions: 4.0.x and 4.1.x series
  • 4.0.x : supports 4.0.7 or later
  • 4.1.x : recommended series

C++ Development Tools

Since some components of OpenHRP are written in C++ language, you need to have a C++ development tool, to compile OpenHRP source package. Additionally, when you do your own simulations, you can develope your own controller components in C++.

for Linux

For Linux platforms, following compliers have been checked and confirmed for compiling OpenHRP.
  • GCC 3.3
  • GCC 4.1, 4.2

Apart from compilers, please make sure whether the command line development tools such as "make" are available in your system.

for Windows

In Windows, we use Visual C++ compiler and we support Visual C++ 2008 at present. You can use either the commercial edition or the Express Edition which is distributed for free.

Note:
Please note that OpenHRP versions later than 3.0.0, will not be supported with Visual C++ 2005. Please use Visual C++ 2008 from now on.


C++ Libraries

Boost Library

This is a collection of C++ libraries. It provides rich features to compensate insufficent parts of standard library.

LAPACK

LAPACK is a well known library in linear algebra, that used for relatively large matrix and vector calculations.

LAPACK has number of implementations. In OpenHRP, we support the following implementations.

  1. Original version of LAPACK written in Fortran
  2. LAPACK converted to C language (CLAPACK)
  3. Atlas

(1.) Original version of LAPACK can be installed in many Linux distributions using the package system.However, the dynamics server published by Tokyo University does not support with this original version of LAPACK at present.If you are willing to use that server, please use (2.) or (3.) as LAPACK implementation.

(2.) CLAPACK is written in C language, so it is easier to deal with than the original version(1.). Many Linux distributions provides only the original version of LAPACK with the package system. So when it comes to CLAPACK, we have to compile it by ourselves starting from the source package. For Windows platform, binary package of CLAPACK is also distributed. All you have to do is simply extract to the desired location. So it is more easier to install than the original version. Thus, if you work on Windows, or if you want to run the dynamics server produced by Tokyo University, choose CLAPACK.

(3.) Atlas seems to be an advanced implementation written in C language. Both dynamics servers (Tokyo University product and AIST product) are supported by Atlas. Some Linux distributions such as Ubuntu, provides Atlas through its package system.

tvmet

Tvmet is also a library for matrix and vector operations, written in C++. It is designed for relatively small and fixed size matrix and vector operations. By adopting the expression-template method, it improves the calculation efficiency and description readability which uses the operator overloading algorithm.


Python

Jython

Jython is the implementation of Python language, written in Java. It can be used to write simulation script and extend GUI.