Install OpenRTM-aist 1.2

Install OpenRTM-aist (C++ Version) 1.2

The C ++ language version of OpenRTM-aist comes with installation packages and installers. It can be easily installed on many operating systems and distributions. You can also download the source code and build it for your environment. This section describes how to install and check the operation of the C ++ language version of OpenRTM-aist in each environment.

Install on Windows

Install OpenRTM-aist

The procedure for installing OpenRTM-aist using the MSI installer is described on the following page.

Installation of software required for development

RTC development requires installation of CMake, Doxygen, and Visual Studio.

Visual Studio

It is necessary not only for developing the C ++ version, but also for building the installer when creating the Python version and Java version of the RTC. Install it by downloading from the link, or obtain and install Visual Studio 2010/2012/2013/2015/2017/2019 separately.

Python

Python is used not only for developing the Python language version of RTC, but also for various tools of OpenRTM-aist, so it must be installed. As of November 2020, support is provided for Python 3.6, 3.8, 3.7, 3.9 (released in October 2020), but OpenRTM-aist supports 3.6 to 3.8. We recommend that you install the latest version.

CMake

CMake is required to automatically generate the files required for build (Visual Studio project file, Makefile on Linux, etc.) in various environments such as Windows and Linux. During the installation, you will be asked what to do with system PATH as [Install Options], it is recommended that you select Add CMake to the system PATH for all users. (Our validation is done with this setting)

Doxygen & Graphviz

Doxygen is a tool that automatically generates documents from comments such as source code. Graphviz is a tool required to generate diagrams such as class diagrams when generating documents with Doxygen. In OpenRTM-aist, various design information can be entered in RTCBuilder when designing RTC, and they are output as comments in the source code. By processing this with Doxygen, you can generate a beautiful RTC document.

During the installation, you will be asked what to do with system PATH as [Install Options], it is recommended that you select Add CMake to the system PATH for all users. Download and execute the Windows version binary executable file from the web page.

After installation, run dot -v at the command prompt and check that the plugin information is displayed.

 >dot -v
 dot - graphviz version 2.44.1 (20200629.0846)
 libdir = "C:\Program Files\Graphviz 2.44.1\bin"
 Activated plugin library: gvplugin_dot_layout.dll
 Using layout: dot:dot_layout
 Activated plugin library: gvplugin_core.dll
 Using render: dot:core
 Using device: dot:dot:core
 The plugin configuration file:
        C:\Program Files\Graphviz 2.44.1\bin\config6
                was successfully loaded.
    render      :  cairo dot dot_json fig gdiplus json json0 map mp pic ps svg tk vml xdot xdot_json
    layout      :  circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
    textlayout  :  textlayout
    device      :  bmp canon cmap cmapx cmapx_np dot dot_json emf emfplus eps fig gif gv imap imap_np ismap jpe jpeg jpg 
                      json json0 metafile mp pdf pic plain plain-ext png ps ps2 svg tif tiff tk vml xdot xdot1.2 xdot1.4 xdot_json
    loadimage   :  (lib) bmp eps gif jpe jpeg jpg png ps svg

If the following is displayed, open a command prompt as an administrator, execute dot -c and then dot -v, and the above will be displayed.

 >dot -v
 dot - graphviz version 2.44.1 (20200629.0846)
 There is no layout engine support for "dot"
 Perhaps "dot -c" needs to be run (with installer's privileges) to register the plugins?

To open a command prompt as an administrator, type cmd in the Windows 10 search window, right-click Command Prompt in the search results and select Run as administrator.

What the installer does

The installer does the following:

  • Copy various files under the installation directory (C:\Program Files by default)
  • Create OpenRTM-aist folder under start menu and set various shortcuts
  • Set environment variables
    • Settings when using 64-bit MSI
       RTM_BASE=C:\Program Files\OpenRTM-aist\ 
       RTM_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\ 
       RTM_VC_VERSION=//This contains the text that specifies the version of VC according to the user specified Visual Studio
       RTM_JAVA_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\ 
       OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_% RTM_VC_VERSION%\ 
       OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\ 
       OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\ 
      • Additional setting to PATH (setting when using 64-bit MSI)
         C:\Program Files\OpenRTM-aist\1.2.1\bin\% RTM_VC_VERSION%\ 
         C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.1_% RTM_VC_VERSION%\bin\x86_win32\ 
         C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\% RTM_VC_VERSION%\bin\ 
  • Setting when using 32bit MSI
     RTM_BASE=C:\Program Files (x86)\OpenRTM-aist\ 
     RTM_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\ 
     RTM_VC_VERSION=// This contains the text that specifies the version of VC according to the user specified Visual Studio
     RTM_JAVA_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\ 
     OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_% RTM_VC_VERSION%\ 
     OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\ 
     OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\ 
      • Additional setting to PATH
         C:\Program Files (x86)\OpenRTM-aist\1.2.1\bin\% RTM_VC_VERSION%\ 
         C:\Program Files (x86)\OpenRTM-aist\1.2.1\omniORB\4.2.3_% RTM_VC_VERSION%\bin\x86_win32\ 
         C:\Program Files (x86)\OpenRTM-aist\1.2.1\OpenCV3.4\x86\% RTM_VC_VERSION%\bin\ 

Files to be installed

The files are installed in the following structure.

 <install_dir>
   + OpenRTM-aist
      + 1.x.x  :Old version run time
      + 1.2.1
         + bin: dll、lib and commands
         + cmake: OpenRTMConfig.cmake
         + coil: coil header files
         + Components
            + C++
               + Examples: C++ sample components
               + OpenCV: OpenCV C++ sample components
            + Java: Java sample components
            + Python: Python sample components
         + etc: rtc.conf sample file
         + jar: jar files
         + jre: OpenJDK JRE
         + omniORB
         + OpenCV3.4
         + rtm: OpenRTM-aist header files
            + ext: files for extension modules
            + idl: OpenRTM-aist IDL files
         + util
            + ExcelControlpy: Python base RTCs for Microsoft Office
            + OpenRTP: RTCBuilder and RTSystemEditor
            + PowerPointControlpy: RTCs for Microsoft Office PowerPoint
            + python_dist: common library files for python base tools
            + RTCDT: A tool to support to develop Python base RTC. 
            + rtc-template: An old tool to provide slimier function as RTCBuilder
            + RTSystemEditor: Files for standalone RTSystemEditor (RCP)
            + VCVerChanger: A tool to specify the version of using Visual Studio
            + WordContrlpy: Python base RTCs for Microsoft Office Word

Install Visual Studio

Install Visual Studio Community 2019

Get installer

Get the installer for Visual Studio Community 2019 from the following page

Click on the [Free Download] button below labeled [Community] to begin downloading the installer.

vs_install1_en.png

Run installer

When the download is completed, open the downloaded file and execute it. Follow the instructions and the following screen will be displayed. Check the box for [Desktop development with C++] and click the [Install] button.

vs_install2_en.png

Confirm installation

vs_install3_en.png
When the installation is completed, a screen prompting you to sign in will be displayed. You can use it for 30 days without signing in. Please refer to the following about the Microsoft account.

How to create a new Microsoft account

Check if C++ compiler is installed

Make sure that the desktop development function by C++ is installed.

There is no problem if you can create a Visual C++ project.

First, click [Create New Project].

vs_install4_en.png

At this time, if there is an
[empty project
start from scratch with C++ for Windows, Provides no starting files.],
there is no problem in installation.

If it is not installed, click
[Install more tools and features] under label Not finding what you're looking for? to launch the installer and install the C++ desktop development feature.

vs_install5_en.png
 

Install on Ubuntu/Debian

ubuntu_logo2.png

The C++ version of OpenRTM-aist provides deb packages that can be used on Ubuntu and Debian GNU Linux. You can check the distribution version of the OS supported by each release on the download page. Please note that supported versions and support for Ubuntu/Debian GNU Linux are subject to change without notice.

Bulk installation script

Download the installation script "pkg_install_ubuntu.sh" or "pkg_install_debian.sh" provided by openrtm.org from the specified URL and execute it with root authority. This script installs necessary packages sequentially using apt-get.

By specifying the option, it is possible to install the packages required for your purpose.

For details on how to download the batch installation script, detailed installation methods, and the types of options that can be specified, see the Bulk Installation Script page.
※If the latest version is "1.2.2", you can install "1.2.1" by option and downgrade from "1.2.2" to "1.2.1".

To install OpenRTM-aist C++ version, download the bulk installation script, move to the download destination directory, and type in:

For Ubuntu

 $ sudo sh pkg_install_ubuntu.sh -l c++ --yes

After getting root privileges with su for Debian

 # sh pkg_install_debian.sh -l c++ --yes

Install OpenRTP

RTCBuilder and RTSystemEditor are used for general RT system development on Ubuntu/Debian environment. In that case, OpenRTP is required. To install OpenRTP using the bulk installation script in Ubuntu, in the directory where pkg_install_ubuntu.sh is located, type in:

$ sudo sh pkg_install_ubuntu.sh -l openrtp --yes

On Debian, get root privileges with su and then type in:

 # sh pkg_install_debian.sh -l openrtp --yes

Install JDK8

To run OpenRTP (RTSystemEditor and RTCBuilder), a Java environment equivalent to JDK8 is required. (In some OS cases, JDK8 is installed in the default environment. On Ubuntu 18.04, JDK11 is installed, so JDK8 must be installed.) For information to obtain and install JDK8, refer to the following.

Confirm installation

Check the installation.

 $ dpkg -l 'openrt *'
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name                      Version           Architecture      Description
 +++-=========================-=================-=================-=========================================
 ii  openrtm-aist:amd64        1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-dev:amd64    1.2.1-0           amd64             OpenRTM-aist headers for development
 ii  openrtm-aist-doc          1.2.1-0           all               Documentation for openrtm-aist
 ii  openrtm-aist-example:amd6 1.2.1-0           amd64             OpenRTM-aist examples
 ii  openrtm-aist-idl:amd64    1.2.1-0           amd64             OpenRTM-aist idls for development
 ii  openrtp:amd64             1.2.1-0           amd64             OpenRTP, Open RT Platform distributed by AIST

Package details

The contents of each package are as follows.

openrtm-aist

openrtm-aist contains runtime libraries and commands.

  • Command
     /usr/bin/fluent-bit
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr /bin/rtm-naming
  • License etc.
     /usr/share/doc/openrtm-aist/README
     /usr/share/doc/openrtm-aist/README.Debian
     /usr/share/doc/openrtm-aist/README.jp
     /usr/share/doc/openrtm-aist/changelog.Debian.gz
     /usr/share/doc/openrtm-aist/changelog.gz
     /usr/share/doc/openrtm-aist/copyright
  • Sample configuration file
     /usr/etc/fluent-bit/fluent-bit.conf
     /usr/etc/fluent-bit/parsers.conf
     /usr/etc/rtc.conf.sample
     /usr/lib/x86_64-linux-gnu/pkgconfig/openrtm-aist.pc
  • Header etc.
     /usr/include/fluent-bit.h
     /usr/include/fluent-bit/flb_api.h
     /usr/include/fluent-bit/flb_bits.h
     ...
     /usr/include/fluent-bit/flb_worker.h
  • Libraries, etc.
     /lib/systemd/system/fluent-bit.service
     /usr/lib/libfluent-bit.so
    • 32bit
       /usr/lib/i386-linux-gnu/libRTC-1.2.1.so
       /usr/lib/i386-linux-gnu/libRTC.a
       ...
       /usr/lib/i386-linux-gnu/librtmManipulator.so.0.0.0
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.so
       ...
        /usr/lib/i386-linux-gnu/openrtm-1.2/ec/RTPreemptEC.so.0.0.0
       /usr/lib/i386-linux-gnu/openrtm-1.2/logger/FluentBit.la
       ...
       /usr/lib/i386-linux-gnu/openrtm-1.2/logger/FluentBit.so.0.0.0
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       ...
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.0.0.0
       /usr/lib/i386-linux-gnu/libRTC-X.X.X.so
       /usr/lib/i386-linux-gnu/libRTC.a
       ...
       /usr/lib/i386-linux-gnu/librtmManipulator.so.X.X.X
  • 64 bit
     /usr/lib/x86_64-linux-gnu/libRTC-1.2.1.so
     /usr/lib/x86_64-linux-gnu/libRTC.a
     ...
     /usr/lib/x86_64-linux-gnu/librtmManipulator.so.0.0.0
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.la
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.so
     ...
      /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/RTPreemptEC.so.0.0.0
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/logger/FluentBit.la
     ...
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/logger/FluentBit.so.0.0.0
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
     ...
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.0.0.0
     /usr/lib/x86_64-linux-gnu/libRTC-X.X.X.so
     /usr/lib/x86_64-linux-gnu/libRTC.a
     ...
     /usr/lib/x86_64-linux-gnu/librtmManipulator.so.X.X.X

openrtm-aist-dev

openrtm-aist-dev contains commands and headers necessary for development.

  • Command
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • License etc.
     /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-dev/changelog.gz
     /usr/share/doc/openrtm-a
     
  • Header files
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterfaceDynSK.cc
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataTypeDynSK.cc
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemoryStub.h
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
  • Libraries and others
    • 32bit
       /usr/lib/i386-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       ...
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/i386-linux-gnu/pkgconfig/libcoil.pc
       
    • 64bit
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/cxx_gen.py
       ...
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/yat.py
       /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc

openrtm-aist-example

openrtm-aist-example includes sample stand alone RTCs, sample loadable RTCs, and the source code.

  • Sample (Stand alone RTC)
     /usr/share/openrtm-1.2/components/c++/examples/Composite
     /usr/share/openrtm-1.2/components/c++/examples/ConfigSampleComp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/rtc.conf
  • Sample (Loadable RTC)
     /usr/share/openrtm-1.2/Components/C++/examples/rtc/ConfigSample.a
     /usr/share/openrtm-1.2/Components/C++/examples/rtc/ConfigSample.la
     ...
     /usr/share/openrtm-1.2/Components/C++/examples/rtc/Throughput.so.X.X.X
  • Sample (Source code)
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/Composite.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/Controller.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/ConfigSample/ConfigSample.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/ConfigSample/ConfigSample.h
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/ConfigSample/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/ConnectorComp.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/ConsoleIn.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/run.sh
     /usr/share/openrtm-1.2/components/c++/examples/src/SeqIO/Makefile.SeqIn
     /usr/share/openrtm-1.2/components/c++/examples/src/SeqIO/Makefile.SeqOut
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/SeqIO/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleIO/ConnectorComp.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleIO/ConsoleIn.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleIO/run.sh
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleService/Makefile.MyServiceConsumer
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleService/Makefile.MyServiceProvider 
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleService/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/CMakeLists.txt
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/Throughput.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/run.sh
     /usr/share/openrtm-1.2/components/c++/examples/templates/AIO.xml
     /usr/share/openrtm-1.2/components/c++/examples/templates/ActArray.xml
     ... 
     /usr/share/openrtm-1.2/components/c++/examples/templates/VelocityControl3D.xml
  • License etc.
     /usr/share/doc/openrtm-aist-example/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-example/changelog.gz
     /usr/share/doc/openrtm-aist-example/copyright

openrtm-aist-doc

openrtm-aist-doc includes Japanese/English class reference, IDL interface definition files.

  • Class Reference (Japanese)
     /usr/share/openrtm-1.2/doc/C++/ClassReference/html/Affinity_8h.html
     /usr/share/openrtm-1.2/doc/C++/ClassReference/html/Affinity_8h_dep_incl.map
     ...
     /usr/share/openrtm-1.2/doc/C++/ClassReference/html/version_8h_source.html
  • IDL Reference (Japanese)
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/BasicDataType_8idl.html
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/BasicDataType_8idl_dep_incl.map
     ...
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/unionSDOPackage_1_1Numeric.html
  • Class Reference (English)
     /usr/share/openrtm-1.2/doc/C++/ClassReference-en/html/Affinity_8h.html
     /usr/share/openrtm-1.2/doc/C++/ClassReference-en/html/Affinity_8h_dep_incl.map
     ...
     /usr/share/openrtm-1.2/doc/C++/ClassReference-en/html/version_8h_source.html
  • IDL Reference (English)
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/BasicDataType_8idl.html
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/BasicDataType_8idl_dep_incl.map
     ...
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/unionSDOPackage_1_1Numeric.html
  • License etc.
     /usr/share/doc/openrtm-aist-doc/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-doc/changelog.gz
     /usr/share/doc/openrtm-aist-doc/copyright

openrtm-aist-idl

  • idl files etc.
     /etc/profile.d/openrtm-aist-idl.sh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     /usr/include/openrtm-1.2/rtm/idl/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemory.idl
     /usr/share/openrtm-1.2/idl/BasicDataType.idl
     /usr/share/openrtm-1.2/idl/CameraCommonInterface.idl
     ...
     /usr/share/openrtm-1.2/idl/SharedMemory.idl
  • Lincense etc.
     /usr/share/doc/openrtm-aist-idl/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-idl/changelog.gz
     /usr/share/doc/openrtm-aist-idl/copyright

openrtp

In openrtp installation, since so many files are installed, the listing is not made. Depend on your needs, use the following command.

 $ dpkg -L openrtp

Install on Raspbian

 margin = 10

OpenRTM-aist for C ++ is provided with deb packages for Raspbianl for Raspberry Pi. Please note that support for Raspbian and its versions are subject to change or suspension without notice.

Supported version

The version of Raspbian for which packages are currently available is
  • Buster

SD card preparation

Download OS Image

Download the Rasbian image (the image ”Raspbian Buster with desktop and recommended software” is recommended but you can select another image if necessary) from the link below, unzip and write to SD card. The capacity of the SD card should be more than 4GB.

Write to SD card

Please refer to RPi Easy SD Card Setup for how to write to SD card. The link shows several options. Here's an overview of some of them:

For Windows

Using Windows is relatively easier than using Linux or Mac OS. Then if you are a beginner, using Windows is recommended.

For Linux and Mac OS

  • Write using the dd command as follows.

 $ sudo dd of=/dev/<device file of SD card> if=<image file downloaded and decompressed> bs=4M status=progress
 $ sudo sync

Writing to an SD card with the above command requires a fairly long time. (Several minutes to ten several minutes). To find the device file name of the SD card, type in:

 $ df -h

And find out which device is the SD card from the displayed device size. For example, if you are using a 16GB SD card that currently has Rasbian installed, one device will appear as a 14GB device and that device will appear as /dev/sdf7. Other devices that differ only in the last number, such as /dev/sdf5 and /dev/sdf6, are displayed too. These are the device names used for the SD card. Umount all of these devices as follows:

 $ umount /dev/sdf5
 $ umount /dev/sdf6
 $ umount /dev/sdf7

After that, execute the above dd command. The device file name in the case is /dev/sdf.

Install OpenRTM-aist (C++)

There are two installation methods.
  • Use the bulk installation script provided by openrtm.org
  • Use apt-get or synaptic package manager

How to use the bulk installation script

Download the installation script "pkg_install_raspbian.sh" provided by openrtm.org from the download page and execute it with root privileges. This script installs necessary packages sequentially with apt-get.

It is very convenient because it installs all the packages required to develop and execute OpenRTM-aist. Recommended for those who install OpenRTM-aist for the first time.

After downloading the bulk installation script, with root privilege go to the downloaded directory and type in:

 $ sudo sh pkg_install_raspbian.sh -l c ++ --yes

For details on how to download the batch installation script, detailed installation methods, and the types of options that can be specified, refer to the Bulk installation script page.

How to use apt-get

Edit source.list

openrtm.org provides a package repository that can be used from apt-get. However, it is not included in the default package repository, so you need to change the settings of apt-get. To do so, edit /etc/apt/sources.list and add the following line:

 deb http://www.openrtm.org/pub/Linux/raspbian/ buster main

Installation with apt-get

Follow the steps below to install. On the way, you will be asked for some responses, so please complete while typing y.

 $ apt-get update  $ apt-get install gcc g ++ make uuid-dev  $ apt-get install libomniorb4-1 libomniorb4-dev omniidl omniorb-nameserver  $ apt-get install openrtm-aist openrtm-aist-doc openrtm-aist-dev openrtm-aist-example

If you want to keep the installed version of OpenRTM-aist as a specific version, edit /etc/apt/preferences and add the following line. (In this example, the version is fixed to 1.1 series.)

 Package: OpenRTM-aist  Pin: version 1.1. *

For more information http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ja.html#s-pin Please refer to.

Install rtshell

Since rtshell is a set of python programs, then you need to install OpenRTM-ais-Python to use rtshell. Then please follow the instruction Install on Raspbian page under "Install OpenRTM-aist (Python Version) 1.2".

Confirm installation

To check the installation:

 $ dpkg -l 'openrt *'
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name                      Version           Architecture      Description
 +++-=========================-=================-=================-=========================================
 ii  openrtm-aist:amd64        1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-dev:amd64    1.2.1-0           amd64             OpenRTM-aist headers for development
 ii  openrtm-aist-doc          1.2.1-0           all               Documentation for openrtm-aist
 ii  openrtm-aist-example:amd6 1.2.1-0           amd64             OpenRTM-aist examples
 ii  openrtm-aist-idl:amd64    1.2.1-0           amd64             OpenRTM-aist idls for development
 ii  openrtp:amd64             1.2.1-0           amd64             OpenRTP, Open RT Platform distributed by AIST

The package details

Each package contains the following.

openrtm-aist

openrtm-aist includes commands and run-time libraries.

  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • Lincense etc.
     /usr/share/doc/openrtm-aist/changelog.gz
     /usr/share/doc/openrtm-aist/README.Debian
     /usr/share/doc/openrtm-aist/README
     /usr/share/doc/openrtm-aist/README.jp
     /usr/share/doc/openrtm-aist/copyright
     /usr/share/doc/openrtm-aist/changelog.Debian.gz
  • Configuration sample files
     /usr/etc/rtc.conf.sample
     /usr/lib/arm-linux-gnueabihf/pkgconfig/openrtm-aist.pc
     /usr/etc/fluent-bit/fluent-bit.conf
     /usr/etc/fluent-bit/parsers.conf
  • Libraries
     /usr/lib/arm-linux-gnueabihf/libRTC-1.2.1.so
     /usr/lib/arm-linux-gnueabihf/libRTC.a
     ...
     /usr/lib/arm-linux-gnueabihf/librtmManipulator.so.0.0.0
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/ec/FileNameservice.la
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/ec/FileNameservice.so
     ...
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/ec/RTPreemptEC.so.0.0.0
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/logger/FluentBit.la
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/logger/FluentBit.so
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/logger/FluentBit.so.0
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/logger/FluentBit.so.0.0.0
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/sdo/LoggerConsumer.a
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/sdo/LoggerConsumer.la
     ...
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/sdo/LoggerConsumer.so.0.0.0
     /usr/lib/libfluent-bit.so
  • Header files
     /usr/include/fluent-bit/flb_api.h
     /usr/include/fluent-bit/flb_bits.h
     ...
     /usr/include/fluent-bit/flb_worker.h
     /usr/include/fluent-bit.h

openrtm-aist-dev

openrtm-aist-dev includes commands and header files that are required for RT system development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • Lincense etc.
     /usr/share/doc/README
     /usr/share/doc/README.Debian
     /usr/share/doc/README.jp
     /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-dev/changelog.gz
     /usr/share/doc/openrtm-aist-dev/copyright
  • Header files
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterfaceDynSK.cc
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataTypeDynSK.cc
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemoryStub.h
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
  • Libraries and others
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/cmake/OpenRTMConfig.cmake
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/py_helper/README_gen.py
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/py_helpver/cxx_gen.py
     ...
     /usr/lib/arm-linux-gnueabihf/openrtm-1.2/py_helpver/yat.py
     /usr/lib/arm-linux-gnueabihf/pkgconfig/libcoil.pc

openrtm-aist-idl

  • Script file
     /etc/profile.d/openrtm-aist-idl.sh
  • Lincense etc.
     /usr/share/doc/openrtm-aist-idl/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-idl/changelog.gz
     /usr/share/doc/openrtm-aist-idl/copyright
  • idl files
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     /usr/include/openrtm-1.2/rtm/idl/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemory.idl
     /usr/share/openrtm-1.2/idl/BasicDataType.idl
     /usr/share/openrtm-1.2/idl/CameraCommonInterface.idl
     /usr/share/openrtm-1.2/idl/DataPort.idl
     ...
     /usr/share/openrtm-1.2/idl/SharedMemory.idl

openrtm-aist-example

openrtm-aist-example includes sample stand-alone RTCs, sample loadable RTCs, and the source code.

  • Sample (stand-alone RTC)
     /usr/share/openrtm-1.2/components/c++/examples/ConsoleOutComp
     /usr/share/openrtm-1.2/components/c++/examples/ConsoleInComp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/consout.conf
     /usr/share/openrtm-1.2/components/c++/examples/rtc.composite.linux.conf
     /usr/share/openrtm-1.2/components/c++/examples/rtc.conf
  • Sample (source code)
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/README.Motor
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/Makefile.Sensor
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/Motor.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/rtc.conf
     /usr/share/openrtm-1.2/Components/c++/examples/src/Throughput/run.sh
     /usr/share/openrtm-1.2/Componnets/c++/examples/templates/AIO.xml
     /usr/share/openrtm-1.2/Components/c++/examples/templates/ActArray.xml
     ...
     /usr/share/openrtm-1.2/Components/c++/examples/templates/VelocityControl3D.xml
     
  • Sample (loadable RTC)
     /usr/share/openrtm-1.2/components/c++/examples/rtc/ConfigSample.a
     /usr/share/openrtm-1.2/components/c++/examples/rtc/ConfigSample.la
     ...
     /usr/share/openrtm-1.2/components/c++/examples/rtc/Throughput.so.X.X.X
     /usr/share/openrtm-1.2/components/c++/examples/rtc/Cofig.sample.so
     /usr/share/openrtm-1.2/components/c++/examples/rtc/Cofig.sample.so.X
     ...
     /usr/share/openrtm-1.2/components/c++/examples/rtc/Troughput.so.X
  • Lincense etc.
     /usr/share/doc/openrtm-aist-example/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-example/changelog.gz
     /usr/share/doc/openrtm-aist-example/copyright

openrtm-aist-idl

  • idl file etc.
     /etc/profile.d/openrtm-aist-idl.sh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     /usr/include/openrtm-1.2/rtm/idl/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemory.idl
     /usr/share/openrtm-1.2/idl/BasicDataType.idl
     /usr/share/openrtm-1.2/idl/CameraCommonInterface.idl
     ...
     /usr/share/openrtm-1.2/idl/SharedMemory.idl
  • License etc.
     /usr/share/doc/openrtm-aist-idl/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-idl/changelog.gz
     /usr/share/doc/openrtm-aist-idl/copyright

openrtm-aist-doc

openrtm-aist-doc include the Japanese/English class reference and IDL interface definition reference.

  • Class Reference (Japanese)
     /usr/share/openrtm-1.2/doc/c++/ClassReference/html/Affinity_8h.html
     /usr/share/openrtm-1.2/doc/c++/ClassReference/html/Affinity_8h__dep__incl.dot
     ...
     /usr/share/openrtm-1.2/doc/c++/ClassReference/html/version_8h_source.html
  • IDL Reference (Japanes)
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/BasicDataType_8idl.html
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/BasicDataType_8idl__dep__incl.dot
     ...
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/unionSDOPackage_1_1Numeric.html
  • Class Reference (English)
     /usr/share/openrtm-1.2/doc/c++/ClassReference-en/html/Affinity_8h.html
     /usr/share/openrtm-1.2/doc/c++/ClassReference-en/html/Affinity_8h__dep__incl.dot
     ...
     /usr/share/openrtm-1.2/doc/c++/ClassReference-en/html/version_8h_source.html
  • IDL Reference (English)
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/BasicDataType_8idl.html
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/BasicDataType_8idl__dep__incl.dot
     ...
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/unionSDOPackage_1_1Numeric.html
  • Lincesne etc.
     /usr/share/doc/openrtm-aist-doc/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-doc/changelog.gz
     /usr/share/doc/openrtm-aist-doc/copyright

Install on Fedora

Currently, OpenRTM-aist 1.2 is not fully compatible with Fedora. Therefore, use the information on this page as reference information only.

OpenRTM-aist for C++ is provided with an RPM package that can be used on Fedora Linux. The supported Fedora Linux versions can be checked from the download page. Please note that support for Fedora Linux and its versions are subject to change or suspension without notice.

There are two main types of installation methods for Fedora Linux.
  • Use the bulk installation script provided by openrtm.org
  • Use yum package manager

Bulk installation script

Download the installation script "pkg_install_fedora.sh" provided by openrtm.org from the download page and execute it with root privileges. This script installs necessary packages sequentially using yum.

It is very convenient because it installs all the packages required to develop and execute OpenRTM-aist. By specifying the option, you can install the package according to the purpose, so it is recommended for those who install OpenRTM-aist for the first time and those who compile the source.

After downloading the bulk installation script, move to the download destination directory, type in:

 $ sudo sh pkg_install_fedora.sh -l c++ --yes

Please refer to the Bulk installation script page for information on downloading the bulk installation script, detailed installation methods, and types of options that can be specified.

Install OpenRTP

RTCBuilder and RTSystemEditor are used for general Fedora environment development. In that case, OpenRTP is required. Please install OpenRTP using a bulk installation script. In Fedora, at the directory where pkg_install_fedora.sh is located, type in:

 $ sudo sh pkg_install_fedora.sh -l openrtp --yes

Install JDK8

To run OpenRTP (RTSystemEditor and RTCBuilder), a Java environment equivalent to JDK8 is required. At present, in the Fedora environment, the bulk installation script installs OpenJDK8 from the Fedora rpm repository. If you want to install another JDK8, please refer to the link below.

Using yum

Create /etc/yum.repos.d/openrtm.repo

openrtm.org provides a package repository available from yum. However, it is not included in the default package repository, so you need to change the setting of yum.

Create a file /etc/yum.repos.d/openrtm.repo that contains the following settings. The creation usually requires root privileges.

 [openrtm]
 name=Fedora $releasever - $basearch
 failovermethod=priority
 baseurl=http://openrtm.org/pub/Linux/Fedora/releases/$releasever/Fedora/$basearch/os/Packages
 enabled=1
 gpgcheck=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
/etc/yum.repos.d/openrtm.repo

Installation by yum

After creating openrtm.repo, install it according to the following procedure. On the way, you will be asked for some responses, so complete by typing y.

 $ sudo yum install gcc-c++ python
 $ sudo yum install omniORB omniORB-devel omniORB-doc omniORB-servers omniORB-utils
 $ sudo yum install OpenRTM-aist OpenRTM-aist-devel OpenRTM-aist-doc OpenRTM-aist-example OpenRTP

Confirm installation

Finally, confirm the installation with the following command.

 $ rpm -qa|grep OpenRT*
 OpenRTM-aist-1.2.0-0.fc29.x86_64
 OpenRTM-aist-devel-1.2.0-0.fc29.x86_64
 OpenRTM-aist-example-1.2.0-0.fc29.x86_64
 OpenRTM-aist-doc-1.2.0-0.fc29.x86_64
 OpenRTP-1.2.0-1.fc29.x86_64 

Package details

The contents of each package are as follows (for 64-bit Fedora)

OpenRTM-aist

openrtm-aist includes run-time libraries and commands.

  • Sample configuration file
     /etc/rtc.conf.sample
  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • Libraries
     /usr/lib64/libRTC-1.2.0.so
     /usr/lib64/libRTC.a
     /usr/lib64/libRTC.la
     ...
     /usr/lib64/librtmManipulator.so.0.0.0
     /usr/lib64/openrtm-1.2/ec/FileNameservice.la
     /usr/lib64/openrtm-1.2/ec/FileNameservice.so
     ...
     /usr/lib64/openrtm-1.2/ec/RTPreemptEC.so.0.0.0
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.a
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.la
     ...
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.so.0.0.0
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.la
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0.0.0

OpenRTM-aist-devel

openrtm-aist-dev includes commands and header files that are used for RT system development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • Header Files
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/version.txt
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
  • IDL files and stab skeleton files
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemoryStub.h
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/AIO.idl
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/ActArray.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
     
  • Libraries etc.
     /usr/lib64/openrtm-1.2/cmake/OpenRTMConfig.cmake
     /usr/lib64/openrtm-1.2/py_helper/README_gen.py
     /usr/lib64/openrtm-1.2/py_helper/cxx_gen.py
     ...
     /usr/lib64/openrtm-1.2/py_helper/yat.py
     /usr/lib64/pkgconfig/libcoil.pc
     /usr/lib64/pkgconfig/openrtm-aist.pc

OpenRTM-aist-doc

openrtm-aist-doc includes Japanese/English class references and IDL references.

  • Class references
     /usr/share/openrtm-1.2/doc/C++/ClassReference/html/Affinity-8h.html
     /usr/share/openrtm-1.2/doc/C++/ClassReference/html/Affinity_8h__dep__incl.map
     ...
     /usr/share/openrtm-1.2/doc/C++/ClassReference/html/version_8h_source.html
  • IDL references
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/BasicDataType_8idl.html
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/BasicDataType_8idl__dep__incl.map
     ...
     /usr/share/openrtm-1.2/doc/idl/IDLReference/html/unionSDOPackage_1_1Numeric.html
  • Class references (English)
     /usr/share/openrtm-1.2/doc/C++/ClassReference-en/html/Affinity-8h.html
     /usr/share/openrtm-1.2/doc/C++/ClassReference-en/html/Affinity_8h__dep__incl.map
     ...
     /usr/share/openrtm-1.2/doc/C++/ClassReference-en/html/version_8h_source.html
  • IDL references (English)
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/BasicDataType_8idl.html
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/BasicDataType_8idl__dep__incl.map
     ...
     /usr/share/openrtm-1.2/doc/idl/IDLReference-en/html/unionSDOPackage_1_1Numeric.html

OpenRTM-aist-example

openrtm-aist-example inclues sample stand-alone RTCs, loadable RTCs and the source code.

  • Sample stand-alone RTCs
     /usr/share/openrtm-1.2/components/c++/examples/Composite
     /usr/share/openrtm-1.2/components/c++/examples/ConfigSampleComp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/ThroughputComp
     /usr/share/openrtm-1.2/components/c++/examples/component.conf
     /usr/share/openrtm-1.2/components/c++/examples/composite.conf
     ...
     /usr/share/openrtm-1.2/components/c++/examples/rtc.conf
  • Sample loadable RTCs
     /usr/share/openrtm-1.2/components/c++/examples/rtc/ConfigSample.a
     /usr/share/openrtm-1.2/components/c++/examples/rtc/ConfigSample.la
     /usr/share/openrtm-1.2/components/c++/examples/rtc/Throughput.so.0.0.0
  • Source code
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/Composite.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/Controller.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/Composite/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/ConfigSample/ConfigSample.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/ConfigSample/ConfigSample.h
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/ConfigSample/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/ConnectorComp.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/ConsoleIn.cpp
     ...k
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/ExtTrigger/run.sh
     /usr/share/openrtm-1.2/components/c++/examples/src/SeqIO/Makefile.SeqIn
     /usr/share/openrtm-1.2/components/c++/examples/src/SeqIO/Makefile.SeqOut
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/SeqIO/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleIO/ConnectorComp.cpp
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleIO/ConsoleIn.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleIO/run.sh
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleService/Makefile.MyServiceConsumer
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleService/Makefile.MyServiceProvider 
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/SimpleService/rtc.conf
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/CMakeLists.txt
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/Throughput.cpp
     ...
     /usr/share/openrtm-1.2/components/c++/examples/src/Throughput/run.sh
  • Templates
     /usr/share/openrtm-1.2/components/c++/examples/templates/AIO.xml
     /usr/share/openrtm-1.2/components/c++/examples/templates/ActArray.xml
     ...
     /usr/share/openrtm-1.2/components/c++/examples/templates/VelocityControl3D.xml

OpenRTP

Installing OpenRtp installs too many files to show here. If you want to know the files, type in:

 $ rpm -ql  OpenRTP

Operation Check (On Windows)

Location of sample components

After successful installation or build, test the operation with the included sample. The sample is usually at the following location for the 64-bit version.

  • c:\Program Files\OpenRTM-aist\1.2.x\Components\C ++\Examples
  • OpenRTM-aist\examples (when building from source)

Use the following procedure to check that OpenRTM-aist is correctly built/installed using the sample component set SimpleIO.

Operation check using sample (SimpleIO)

This is a sample set consisting of the RT-Components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs the numerical value input from the console to the OutPort, and ConsoleOutComp is a component that displays the numerical value input from the InPort on the console. These are RTC samples to show a simple I/O (input/output) use. It works by connecting the OutPort of ConsoleIn's OutPort to the InPort of ConsoleOut's InPort and activating these two components.

The following explanation assumes that various programs are started from the start menu in an environment where OpenRTM-aist is installed with the MSI installer.

Start RTSystemEditor and name server

Follow the steps below to start the RTSystemEditor and the name server.

Start sample component

After starting the name server, start the appropriate sample component.

For Windows 10, type "C++_Examples" in the bottom right corner [Tyepe here to search], find the directory for the examples and open it.

rtm7_en.png
Confirm name server startup

rtm8_en.png
Sample component directory

Here, double-click "ConsoleIn.bat" and "ConsoleOut.bat" respectively to start two components.

Warning from Windows Defender

When trying to launch the sample component, Windows Defender Firewall may display a Windows Security Alert dialog. Check [Private network (home network, company network, etc.) (R)] and uncheck [Public network (airport, coffee shop, etc.) (not recommended) (U)] and then click [Allow access (A)]. This screen may be different from Windows 10 (build 1903), and may not be displayed depending on the settings. If it is displayed, make the same settings and close the dialog.

  • Double-click "ConsoleIn.bat" and "ConsoleOut.bat" respectively to start two components. A few seconds after startup, two console screens as shown below will open.

Screen after starting sample component

A few seconds after startup, two console screens as shown below will open.

rtm9.png
ConsoleIn and ConsoleOut components

If the component does not start

If a component does not start, there are several possible causes.

Console screen opens and disappears immediately

If the environment variables RTM_VC_VERSION , OMNI_ROOT and RTM_ROOT are not set, the RTC will fail to start. When installing with the MSI installer, restarting the OS may solve the problem.

Also, there may be a case where there is a problem with the setting of rtc.conf and it cannot be started. Open [rtc.conf] in VCxx (VC14 when using Visual Studio 2019) under the folder searched using `` C ++ _ Example '' above and check the settings. For example, if the settings such as corba.endpoint/corba.endpoints are mismatched with the IP address of the currently running PC host, CORBA will terminate abnormally.

Please rewrite rtc.conf with the following contents (minimum setting) and try.

 corba.nameservers: localhost

Exit with a runtime error
Runtime errors may occur due to improperly installed or configured libraries, etc. In that case, please try the following method.
  • Try restarting
  • Uninstalling all of OpenRTM-aist and installing it again may improve the situation.

Place the components on the system diagram

  • Click [>] next to [localhost] in the tree view of the RTSystemEditor, and click [>] next to the icon_db.png icon. You may see the two components icons in the above step.
    rtm10.png
    ConsoleIn and ConsoleOut components

Open the System Editor screen (System Diagram) for editing the system. Click the [Open New System Editor] button icon_open_editor_ja.png at the top to open the system editor (System Diagram) in the center pane. From the name service view on the left, drag and drop the components (two) indicated by the icon-rtce.png icon onto the system diagram view in the center.

rtm11_en.png
Place component in editor

Connection and activation

You can see an OutPort rtse_outport_icon.png where data is output to and is shown on the right side of the ConsoleIn0 component and an InPort rtse_inport_icon.png where data is input from and is shown on the left side of the ConsoleOut0 component like the following figure.

rtm13.png
Data port connection

Connect the InPort and the OutPort (these are called "data port"). If you drag and drop from the OutPort to the InPort (or from the InPort to the OutPort), a dialog as shown below appears. Click the [OK] button with the default settings.

rtm12_en.png
Data port connection dialog

A connecting line appears between the two components. Next, click the [All Activate] button rtm14.png in the top menu of the editor to activate these components. When activated, the component turns green.

rtm15.png
Activated component

When the component is activated, the ConsoleIn component will display on the console

 Please input number:

The prompt is displayed. Enter an appropriate number (within the range of short int: 32767 or less) and press the Enter key. Then, the entered value is displayed on the ConsoleOut side console screen. You can see that the data has been transferred from the ConsoleIn component to the ConsoleOut component.

This is the end of the basic operation check of the component.

Other samples

The installer also comes with some sample components. These components can also be tested by double-clicking on them, then connecting and activating the ports using RTSystemEditor.

Below are a list and a brief description of the attached component startup batch files.

ConsoleIn.bat Launch ConsoleIn component which outputs the numerical value input from console to OutPort. Used by connecting to ConsoleOut.
ConsoleOut.bat Launch ConsoleOut component which displays the numerical value entered in InPort on the console. Used by connecting to ConsoleIn.
SeqIn.bat Invokes SequenceIn component which outputs random numbers (Short, Long, Float, Double and their sequence types). Used by connecting to SequenceOutComponent.
SeqOut.bat Invokes SequenceOut component which displays the numbers (Short, Long, Float, Double and their sequence type) input to InPort. Used by connecting to SequenceInComponent.
MyServiceProviderComp.bat Launch MyServiceProvider componennt that provides a service of type MyService. Use by connecting to MyServiceConsumer.
MyServiceConsumerComp.bat Start the MyServiceConsumer component that provides a service of type MyService. Use by connecting to MyServiceProvider.
ConfigSample.bat Launch sample ConfigSample component. This is a sample to understand the behavior of Configuration by changing Configuration from RtcLink.
Composite.bat Launch the composite component creation sample PeriodicECSharedComponent component. It combines three sub-components: Sensor, Controller and Motor. Used with components such as ConsoleIn

Operation Check (On Linux)

After successful installation, test the operation with the attached sample. Samples are usually located at:
  • /usr/share/openrtm-1.2/components/c++/examples
If you build from source,
  • <source_dir>/OpenRTM-aist/examples/<sample component set name>

Using a sample component set SimpleIO, you can check if the install/build is made correctly. If you built OpenRTM-aist from the source code, the executable file of the components should be placed under the directory of this component set name, but if you installed it by using the bulk installation script, SimpleIO components are placed with the other components in the "example" directory. In the case of the script based installation, understand that SimpleIO set means two components ConsoleInComp and ConsoleOutComp.

Sample component set SimpleIO

This is a sample set consisting of the RT components ConsoleInComp and ConsoleOutComp. ConsoleInComp is a component that outputs numerical values ​​input from the console through OutPort, and ConsoleOutComp is a component that displays numerical values ​​input into InPort on the console. These are samples to illustrate the simplest I/O (input/output). It works by configuring a connection from ConsoleInComp's OutPort to ConsoleOutComp's InPort and activating these two components.

For the sake of simplicity, the examples are described below as being under /usr/share/openrtm-1.2/components/c++/examples.

Testing with samples

RTSystemEditor, start name server

Follow the steps below to start the RTSystemEditor and name server.

Launch ConsoleInComp

  • Start Terminal and start ConsoleInComp.  $ /usr/share/openrtm-1.2/components/c++/examples/ConsoleInComp

If you build and install it yourself,  $ <source_dir>/OpenRTM-aist/examples/SimpleIO/ConsoleInComp

Launching ConsoleOutComp

  • Start another terminal and start ConsoleOutComp.  $ /usr/share/openrtm-1.2/components/c++/examples/ConsoleOutComp

If you build/install yourself,  $ <source_dir>/OpenRTM-aist/examples/SimpleIO/ConsoleOutComp

Placement on the editor screen

  • Click [>] next to [local host] in the tree view of the RTSystemEditor, and click [>] next to the icon icon_db.png, and the two components started earlier will be registered. You can see
    rtm10l.png
    ConsoleIn and ConsoleOut components
  • Open the editor for editing the system. Click the [Open New System Editor] button icon_open_editor.png at the top to display the editor screen in the center pane.
  • Drag and drop the 2 components indicated by the icon-rtce.png icon in the name service view on the left to the editor screen in the center.
    rtm11l_en.png
    Place component in editor

Connection and activation

  • There are OutPort rtse_outport_icon.png where data is output to the right of ConsoleIn0 component and InPort & ref(rtse_inport_icon.png); where data is input to the left of ConsoleOut0 component. Connect these InPort/OutPort (collectively called data ports).
    rtm13l.png
    Data port connection
  • If you drag and drop from OutPort to InPort (or from InPort to OutPort), a dialog as shown below appears. Click the [OK] button with the default settings.
    rtm12l_en.png
    Data port connection dialog
  • A connecting line appears between the two components. Next, click the [All Activate] button rtm14.png in the top menu of the editor to activate these components. When activated, the component turns green.
    rtm15l.png
    Activated component
  • When the components are activated, on the ConsoleIn component side console, the following prompt should be displayed:  Please input number:
  • Enter an appropriate number (within the range of short int: 32767 or less) and press the Enter key.
  • Then, on the ConsoleOut side, the entered numerical value is displayed, and you can see that the data has been transferred from the ConsoleIn component to the ConsoleOut component.

This is the end of the basic operation check of the component.

Build from the source code (On Windows)

If you want to modify OpenRTM-aist itself and use it on Windows, you can build the OpenRTM-aist Windows source package yourself. This section describes how to get the source code from the download page or repository and build OpenRTM-aist in a Windows environment.

Building OpenRTM-aist in a Windows environment requires various knowledge of software development in a Windows environment, such as building a built environment and creating an installer. The following description assumes that you have the basic knowledge for such program development and batch file creation on the Windows environment.

Windows source code

The OpenRTM-aist (C++ version) source package for Windows is distributed separately from the source package for Linux. The basic contents of the source code are the same but the files that depend on the built environment are different (for example, the Visual Studio project file in the Windows environment exists only in the Windows source package).

Generate source package

The source code package for Windows is It can be obtained from the link below but if you want to get the latest source code under development, you need to get it from GitHub's OpenRTM/OpenRTM-aist project, as shown in the figure on Linux,

  • Source code distribution package for Linux/Unix
  • Source code distribution package for Windows

Is to be made.

src-conversion_en.png
Generate OpenRTM-aist source package

Built environment

The environment and libraries required for the build are as follows.

  • Visual C ++/Visual Studio
  • omniORB

Visual C ++/Visual Studio

To build the binaries for Windows, Visual Studio (C ++) development environment is required. Supported Visual Studios are Visual Studio 2010, 2012, 2013, 2015, 2017 and 2019. (Currently, build support for 2019 is not yet available.)

Visual Studio Community is a free integrated development environment provided by Microsoft and supports software development using various languages ​​such as C ++, C #, F #, Java, and Python. The Community version has almost the same features as the paid Professional version but is only available to individual developers, university officials, non-profit workers, open-source developers, and commercial companies with 5 or fewer developers. See Microsoft documentation for details on license terms.

You can get Visual Studio 2019 below.

When installing Visual Studio 2017, select "Desktop development with C ++" and then select "Windows 8.1 SDK and UCRT SDK" in "Installation details" to install.

omniORB

OpenRTM-aist build requires the library of omniORB 4.2.3 (as of May 17, 2019). A pre-built binary package provided by openrtm.org is available at the link below. Download the one that is appropriate for your environment and extract it to an appropriate location (C:\workspace\omniORB in the following description).

Environment variable: OMNI_ROOT

The directory below the directory set in OMNI_ROOT must have the following structure.

 <OMNI_ROOT>
  + bin
  | + scripts
  | + x86_win32
  + idl
  | + COS
  + include
  | + COS
  | + omniORB4
  | | + internal
  | + omnithread
  | + omniVms
  + lib
  | + python
  | | + omniidl
  | | + omniidl_be
  | | + cxx
  | | + dynskel
  | | + header
  | | + impl
  | | + skel
  | + x86_win32
  + include
  | + COS
  | + omniORB4
  | + omnithread
  | + omniVms

OpenSSL

OpenSSL 1.1.0 (as of May 17, 2019) library is required to build OpenRTM-aist. A pre-built binary package provided by openrtm.org is available at the link below. Download the one that is appropriate for your environment and extract it to an appropriate location (C:\workspace\OpenSSL in the following description).

Environment variable: SSL_ROOT

The directory below SSL_ROOT must have the following structure.

 <SSL_ROOT>
  + bin
  | + scripts
  | + x86_win32
  + lib
  | + engines-1_1
  + include
  | + openssl

Python

Python 2.7, 3.6, or 3.7 is required because some Python scripts are used during the build. (Currently, 2.7 is required, 3.7 causes an error) Obtain the latest version from the following site and install it.

When you launch the installer, you will be presented with choices during the installation process. Choose the default items to install. (Other than the default selection is possible, but in that case, please choose with sufficient understanding.)

Get source package

First, download the source code OpenRTM-aist-1.2.X-win32.zip and extract it to an appropriate directory.

Modify batch file

When you execute build.bat, the build starts. Before that, change the environment variables "OMNI_ROOT" and "SSL_ROOT" in the batch file according to your environment.

 set OMNI_ROOT=C:\workspace\omniORB-4.2.3-win64-vc141
 set SSL_ROOT=C:\workspace\OpenSSL\build

Also set the following environment variables in the patch file so that they are set according to the environment.

 set VC_VERSION=141
 set ARCH=x86_64
 set PYTHON_DIR=C:\python27
 set OMNI_VERSION=4.2.3
 set OMNITHREAD_VERSION=4.1

The above settings are for the 64-bit version of OpenRTM-aist and are examples when Visual Studio 2017, Python 2.7 and OmniORB 4.2.3 are used. Here, VC_VERSION specifies the corresponding Visual C ++ version. (Please refer to the following.)

Visual Studio 2010 10
Visual Studio 2012 11
Visual Studio 2013 12
Visual Studio 2015 14
Visual Studio 2017 141
Visual Studio 2019 142

(the number 14x might be changed to some value when Visual Studio 2019 is supported.)

For ARCH, specify x86 when creating a 32-bit binary, and specify x86_64 when creating a 64-bit binary. Specify the path where Python is installed in PYTHON_DIR.

Set the corresponding version of omniORB and omniThread in OMNI_VERSION and OMNITHREAD_VERSION. The version of OmniThread can be confirmed by right-clicking the file of omnithreadXXXX.dll in Explorer, selecting Properties, and clicking the Details tab. The first digit to the right of the period must be the number before the next period. (For example, if 4.1.24.1.0 is displayed, change it to 4.1.)

If you use Visual Studio other than Community version, you need to execute vcvarsall.bat in advance.

When writing code for 64-bit Intel or AMD processors in Visual Studio 2017

 call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

Please execute it.

Build

After the above preparations are completed, build. Run build.bat to automatically start the build.

Install

If everything builds correctly, do the following to complete the installation:

  • Set environment variable RTM_ROOT: Set the directory where the OpenRTM-aist files created after the build are placed in the environment variable RTM_ROOT.
  • Pass the path to the DLL: Copy the DLL to the path, or add% RTM_ROOT% \ bin to the PATH environment variable.

This completes the installation of OpenRTM-aist.

Build from the source code (On Linux)

If you want to use OpenRTM-aist by changing or rebuilding the source of OpenRTM-aist on a UNIX environment or a cross-development environment where no package is available, you can build from the source. This section describes how to get the source from the download page or repository and build OpenRTM-aist on Linux.

Build from the distribution source

OpenRTM-aist (C++ version) provides a build environment using autotools, so it can be built in various environments.

Supported OS and distribution

OpenRTM-aist has been confirmed to build it on the following Linux distributions:

  • Fedora (Limited versions only)
  • Debian (Limited versions only)
  • Ubuntu
  • Raspbian

On the other general Linux environments, you may be able to built OpenRTM-aist. (However, it is not confirmed)

Required tools and libraries

The following development tools and the libraries are required to build OpenRTM-aist-1.2.x from the source.

  • gcc/g++ version3 or later: Required for compilation
  • omniORB-4.x or higher: Required for building OpenRTM-aist
  • uuid library: libuuid (since Linux environment does not provide uuid generation function by default)
  • python: required to use build tools
  • boost: may be required when compiling extension modules
  • openssl: Required to use the secure communication function by OpenSSL

Please install according to the documentation of each library. If these are installed under standard directories (/usr, /usr/local, etc.), the subsequent compilation of OpenRTM-aist can be performed relatively easily.

For certain distributions such as Ubuntu and Fedora, there is a script "pkg_install_<OS name>.sh" that installs dependent libraries and OpenRTM packages that install necessary tools. The link below describes how to get it and command-line options.

By executing this script with the -c option, you can install the core (OpenRTM-aist itself) development tools. Run it or make you install the necessary tools separately.

Download the source

Download the OpenRTM-aist source. The source code can be downloaded by adding the version number tag to the URL https://github.com/OpenRTM/OpenRTM-aist/releases:

The version 1.2.1 source code can be found at:

Source code development

First, unpack the source code OpenRTM-aist-X.X.X.tar.gz into an appropriate directory.

 $ wget https://github.com/OpenRTM/OpenRTM-aist/releases/tag/v1.2.1/OpenRTM-aist-1.2.1.tar.gz
 $ tar xvzf OpenRTM-aist-1.2.1.tar.gz
 $ cd OpenRTM-aist-1.2.1

Build

OpenRTM-aist uses autoconf and automake to build packages. The source code packages that can be downloaded using the above methods are those that have been configured using those tools in advance.

 $ ./configure --prefix=/usr --enable-fluentd=no --enable-observer=yes --enable-ssl=yes [options]

You may not need to specify [options], but if you want to make special settings, the options available in [options] are shown by:

 $ ./configure --help

make

  • Make sure that the configure has completed successfully. Make it when done normally.
     $ make
  • After the build is completed successfully, install the header files, libraries, and utility commands.
     $ sudo make install

This completes the build and installation from the source code.

Build using the source code on GitHub repository

OpenRTM-aist makes the github repository used for development publicly available. You can also build using the source code cloned from the repository.

Required tools

The source code checked out of the repository does not contain a configure script or Makefile.in. To generate these, you need to install the following tools in advance:
  • automake
  • libtool
  • autoconf

To install these necessary tools and libraries such as OmniORB, you can use the Bulk installation script described above on Ubuntu and others. We recommend that you run this script in advance.

On Ubuntu, execute the package installation script pkg_install_ubuntu.sh recommended above as follows, to develop OpenRTM-aist itself (including build from the source) (including automake) It can be installed together.

 $ sudo sh pkg_install_ubuntu.sh -l c ++ -c

Source clone from GitHub repository

Clone the source from the repository. If "git" is not installed, install it in advance. Then, type-in:

 $ git clone -b svn/RELENG_1_2 https://github.com/OpenRTM/OpenRTM-aist
 Cloning into 'OpenRTM-aist' ...
 remote: Enumerating objects: 24, done.
 remote: Counting objects: 100% (24/24), done.
 remote: Compressing objects: 100% (24/24), done.
 remote: Total 42092 (delta 14), reused 2 (delta 0), pack-reused 42068
 Receiving objects: 100% (42092/42092), 10.41 MiB | 8.36 MiB/s, done.
 Resolving deltas: 100% (31578/31578), done.

Run autogen

After cloning, a directory called OpenRTM-aist should have been created. Enter that directory.

 $ ls
 OpenRTM-aist
 $ cd OpenRTM-aist
 $ ls
 $ ls 
 OpenRTM-aist
 $ cd OpenRTM-aist
 $ ls
 AUTHORS         Makefile.am     acinclude.m4    examples/       win32/
 COPYING.LIB     NEWS            build/          include/
 COPYRIGHT*      README          configure.ac    openrtm.m4
 ChangeLog       README.jp       docs/           src/
 INSTALL.jp      TUTORIAL.jp     etc/            utils/

Make sure there is a shell script autogen under the build directory and execute this script. Execution can take up to several minutes.
 
 $ ls build/autogen
 build/autogen
 $ sh build/autogen
 
 Setting up the environment to generate configure script.
 
 ------------------------------------------------------------
  Searching Autotools
 ------------------------------------------------------------
 autoconf   was found in /usr/local/bin/autoconf.
 autoheader was found in /usr/local/bin/autoheader.
 autom4te   was found in /usr/local/bin/autom4te.
 autoreconf was found in /usr/local/bin/autoreconf.
 autoupdate was found in /usr/local/bin/autoupdates.
 automake   was found in /usr/local/bin/automake-1.9.
 aclocal    was found in /usr/local/bin/aclocal-1.9.
 libtool    was found in /usr/local/bin/libtool.
 libtoolize was found in /usr/local/bin/libtoolize.
 
 
 ------------------------------------------------------------
  Searching libtool.m4
 ------------------------------------------------------------
 file was found: /usr/local/share/aclocal/libtool.m4
 
  Copying libtool.m4 from /usr/local/share/aclocal/libtool.m4
 
 ------------------------------------------------------------
  Doing autoreconf
 ------------------------------------------------------------
 autoreconf: Entering directory `.'
 autoreconf: configure.ac: not using Gettext
 autoreconf: running: /usr/bin/aclocal --force  
 autoreconf: configure.ac: tracing
 autoreconf: configure.ac: adding subdirectory src/lib/coil to autoreconf 
 autoreconf: Entering directory `src/lib/coil'
 autoreconf: running: /usr/bin/libtoolize --copy --force
 libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '.'.
 libtoolize: copying file './ltmain.sh'
 libtoolize: You should add the contents of the following files to 'aclocal.m4':
 libtoolize:   '/usr/share/aclocal/libtool.m4'
 libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
 libtoolize: and rerunning libtoolize and aclocal.
 libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. 
 autoreconf: running: /usr/bin/autoconf --force
 autoreconf: running: /usr/bin/autoheader --force
 autoreconf: running: /usr/bin/automake --add-missing --copy --force-missing
 configure.ac:64: installing './compile'
 configure.ac:63: installing './config.guess'
 configure.ac:63: installing './config.sub'
 configure.ac:23: installing './install-sh'
 configure.ac:23: installing './missing'
 Makefile.am: installing './INSTALL'
 ace/coil/Makefile.am: installing './depcomp'
 tests/AsyncInvoker/Makefile.am:29: warning: source file '../TestRunner.cpp' is in a subdirectory,
 tests/AsyncInvoker/Makefile.am:29: but option 'subdir-objects' is disabled
 .
 .
 .
 src/lib/rtm/tests/SystemLogger/Makefile.am:45: but option 'subdir-objects' is disabled
 autoreconf: Leaving directory `.'
 done
 

configure & build

By executing autogen, there is "configure" in the OpenRTM-aist directory. From this point, the build is done by "configure & make" along with a standard build procedure from the source code.

 $ ls -l configure
 -rwxr-xr-x  1 n-ando  n-ando  812893 Jul  6 05:56 configure*
 $  ./configure --prefix=/usr --enable-fluentd=no --enable-observer=yes --enable-ssl=yes
 $ make

make dist

By "make dist", you can create source package like which is distributed at openrtm.org. "make dist" also produces a source code package for Windows. Please note that "make dist" requires additional tools - doxgen, latex, and qkc, etc.

 $ make dist
 it takes several minutes
 $ ls -l OpenRTM-aist*
 -rw-r--r--  1 n-ando  n-ando  9266837 Apr  7 09:53 OpenRTM-aist-1.2.1-win32.zip
 -rw-r--r--  1 n-ando  n-ando  4831099 Apr  7 09:53 OpenRTM-aist-1.2.1.tar.bz2
 -rw-r--r--  1 n-ando  n-ando  7258796 Apr  7 09:53 OpenRTM-aist-1.2.1.tar.gz
 $

The generated source packages are followings:
  • OpenRTM-aist-1.2.1-win32.zip: The source code for Windows
  • OpenRTM-aist-1.2.1.tar.gz: The general-purpose source code (gzip compression)
  • OpenRTM-aist-1.2.1.tar.bz2: The general-purpose source code (bzip compression)

Install OpenRTM-aist (Python Version) 1.2

Explains how to install OpenRTM-aist (Python Version).

Install on Windows

Install OpenRTM-aist

The procedure for installing OpenRTM-aist using the MSI installer is described on the following page.

Installation of software required for the development

RTC development requires to install CMake, Doxygen, and Visual Studio.

  • CMake (3.11 or more recommended) During the installation, you will be asked what you want to set to the system PATH as [Install Options], it is recommended that you select Add the CMake path to the system PATH for all users. (Our test is done with it.)
  • Doxygen
Download and execute the Windows version binary executable file from the web page.

Install the download version through the above link, or obtain and install Visual Studio 2010/2012/2013/2015/2017/2019 separately. Visual Studio is not directly necessary for Python-based RTC development itself, but it is necessary if you want to create an MSI distribution package with the OpenRTM-aist environment for distributing the developed RTC.

What the installer does

The installer does the following:

  • Copy various files under the installation directory (default is C: \ Program Files)
  • Create OpenRTM-aist folder under the start menu and set various shortcuts
  • Set environment variables
    • Environmental variable setting when using 64-bit MSI
       RTM_BASE=C:\Program Files\OpenRTM-aist\
       RTM_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\
       RTM_VC_VERSION=//Here, the text based on your choice of Visual C++/Studio version like "VC14" or so.
       RTM_JAVA_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\
       OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_%RTM_VC_VERSION%\
       OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\
       OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\
    • Additional setting to PATH when using 64-bit MSI
       C:\Program Files\OpenRTM-aist\1.2.1\bin\%RTM_VC_VERSION%\
       C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.1_%RTM_VC_VERSION%\bin\x86_win32\
       C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\%RTM_VC_VERSION%\bin\
    • Environmental variable setting when using 32-bit MSI (For Windows 10 64-bit, "Program Files (x86)" is replaced with "Program Files" for 32-bit)
       RTM_BASE=C:\Program Files (x86)\OpenRTM-aist\
       RTM_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\
       RTM_VC_VERSION= //Here, the text based on your choice of Visual C++/Studio version like "VC14" or so.
       RTM_JAVA_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\
       OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_%RTM_VC_VERSION%\
       OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\
       OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\
    • Additional seeting to PATH when using 32-bit MSI (For Windows 10 64-bit, "Program Files (x86)" is replaced with "Program Files" for 32-bit)
       C:\Program Files (x86)\OpenRTM-aist\1.2.1\bin\%RTM_VC_VERSION%\
       C:\Program Files(x86)\OpenRTM-aist\1.2.1\omniORB\4.2.3_%RTM_VC_VERSION%\bin\x86_win32\
       C:\Program Files(x86)\OpenRTM-aist\1.2.1\OpenCV3.4\x86\%RTM_VC_VERSION%\bin\

Files to be installed

The files are installed in the following structure:

 <install_dir>
   + OpenRTM-aist
      + 1.x.x: Runtime of old version
      + 1.2.1
         + bin: dll, lib various commands
         + cmake: OpenRTMConfig.cmake
         + coil: coil header file
         + Components
            + C ++
               + Examples: C ++ sample components
               + OpenCV: OpenCV C ++ sample component
            + Java: Java sample component
            + Python: Python sample component
         + etc: rtc.conf sample
         + jar: jar file
         + jre: OpenJDK JRE
         + omniORB
         + OpenCV3.4
         + rtm: OpenRTM-aist header file
            + ext: extension module file
            + idl: OpenRTM-aistIDL file
         + util
            + ExcelControlpy: Python based RTC for Microsoft Office
            + OpenRTP: RTCBuilder and RTSystemEditor tools
            + PowerPointControlpy: RTC for Microsoft Office PowerPoint
            + python_dist: Common library for python-based tools
            + RTCDT: A tool to support the development of Python-based RTC
            + rtc-template: An old tool that provides similar functions to RTCBuilder
            + RTSystemEditor: RTSystem Editor only file
            + VCVerChanger: Tool to specify the version of Visual Studio used
            + WordContrlpy: Python based RTC for Microsoft Office Word

Install to Ubuntu/Debian

ubuntu_logo2.png

The Python version of OpenRTM-aist provides a deb package that is available for Ubuntu and Debian GNU Linux. The supported distribution versions can be found on the download page. Please note that supported versions and support for Ubuntu / Debian GNU Linux are subject to change without notice.

Bulk installation script

Install OpenRTM-aist by using script pkg_install_ubuntu.sh or pkg_install_debian. Download the script from the specified URL and execute it with root privileges. This script installs necessary packages sequentially using apt-get.

By specifying the option, it is possible to install the package depend on the purpose.

For details on downloading the bulk installation script, detailed installation methods, and the options that can be specified, see Bulk Installation Script.
※If the latest version is "1.2.2", you can install "1.2.1" by option and downgrade from "1.2.2" to "1.2.1".

After downloading the bulk installation script, change to the downloaded directory,

For Ubuntu

 $ sudo sh pkg_install_ubuntu.sh -l python --yes 

For Debian, after getting root privileges using su command.

 # sh pkg_install_debian.sh -l python --yes.

Installation of OpenRTP

For development in a general Ubuntu/Debian environment, use RTCBuilder or RTSystemEditor. In that case, OpenRTP is required. You can install OpenRTP using the bulk installation script.

For Ubuntu, at the directory where pkg_install_ubuntu.sh is located

 $ sudo sh pkg_install_ubuntu.sh -l openrtp --yes

In the case of Debian, after obtaining root privilage by su

 # sh pkg_install_debian.sh -l openrtp --yes

Install JDK8

To run OpenRTP (RTSystemEditor, RTCBuilder, etc.), a Java environment equivalent to JDK8 is required. (In some cases, JDK8 is installed in the default environment, but in Ubuntu 18.04, JDK11 is installed, so JDK8 must be installed.) Note that JDK is not required to use rtshell/rtctree/rtsprofile. If you do not use OpenRTP, you do not need to install JDK8. See below for information on obtaining and installing JDK8.

Installation of rtshell

If you want to control RTC with CUI, such as when the control computer is a small system, a tool called rtshell is provided as a tool that can provide the functions equivalent to RTSystemEditor of OpenRTP from CUI. Use the bulk installation script to install rtshell in the directory where the bulk installation script file is located.

For Ubuntu,

 $ sudo sh pkg_install_ubuntu.sh -l rtshell --yes
 $ sudo rtshell_post_install 

For Debian, get root priviledge by su

 # sh pkg_install_debian.sh -l rtshell --yes
 # rtshell_post_install

Checking the installation

  • When openrtp is installed You can check the installation as the folloing. (An example of 1.2.1.)
     $ dpkg -l 'openrt*'
     Desired=Unknown/Install/Remove/Purge/Hold
     | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
     |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
     ||/ Name                  Version         Architecture    Description
     +++-=====================-===============-===============-================================================
     ii  openrtm-aist:amd64    1.2.1-0         amd64           OpenRTM-aist, RT-Middleware distributed by AIST
     ii  openrtm-aist-dev:amd6 1.2.1-0         amd64           OpenRTM-aist headers for development
     ii  openrtm-aist-idl:amd6 1.2.1-0         amd64           OpenRTM-aist idls for development
     ii  openrtm-aist-python   1.2.1-0         amd64           OpenRTM-aist, RT-Middleware distributed by AIST
     ii  openrtm-aist-python-d 1.2.1-0         all             Documentation for openrtm-aist-python
     ii  openrtm-aist-python-e 1.2.1-0         amd64           OpenRTM-aist-Python examples
     ii  openrtp:amd64         1.2.1-0         amd64           OpenRTP, Open RT Platform distributed by AIST
  • When rtshell is installed instead of openrtp

You can check the installation at the following. (An example of 1.2.1.)

 $ dpkg -l 'openrt*'
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name                  Version         Architecture    Description
 +++-=====================-===============-===============-================================================
 ii  openrtm-aist-python   1.2.1-0         amd64           OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-python-d 1.2.1-0         all             Documentation for openrtm-aist-python
 ii  openrtm-aist-python-e 1.2.1-0         amd64           OpenRTM-aist-Python examples

To check the Installation of rtshell

 $ pip show rtshell-aist
 Name: rtshell-aist
 Version: 4.2.2
 Summary: Shell commands for managing RT Components and RT Systems.
 Home-page: http://github.com/gbiggs/rtshell
 Author: Geoffrey Biggs and contributors
 Author-email: geoffrey.biggs@aist.go.jp
 License: LGPL3
 Location: /usr/local/lib/python2.7/dist-packages
 Requires: rtctree-aist, rtsprofile-aist

Package Details

The contents of each package are as follows.

openrtm-aist

openrtm-aist contains runtime libraries and commands.

  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • License etc.
     /usr/share/doc/openrtm-aist/changelog.gz
     /usr/share/doc/openrtm-aist/README.Debian
     /usr/share/doc/openrtm-aist/README
     /usr/share/doc/openrtm-aist/README.jp
     /usr/share/doc/openrtm-aist/copyright
     /usr/share/doc/openrtm-aist/changelog.Debian.gz
  • Configuration file sample
     /usr/etc/rtc.conf.sample
  • Libraries
    • 32 bit
       /usr/lib/i386-linux-gnu/libRTC-X.X.X.so
       /usr/lib/i386-linux-gnu/libRTC.a
       /usr/lib/i386-linux-gnu/libRTC.la
       /usr/lib/i386-linux-gnu/libcoil-X.X.X.so
       /usr/lib/i386-linux-gnu/libcoil.a
       /usr/lib/i386-linux-gnu/librtmCamera.a
       /usr/lib/i386-linux-gnu/librtmCamera.la
       /usr/lib/i386-linux-gnu/librtmCamera.so.X.X.X
       /usr/lib/i386-linux-gnu/librtmManipulator.a
       /usr/lib/i386-linux-gnu/librtmManipulator.la
       /usr/lib/i386-linux-gnu/librtmManipulator.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
       /usr/lib/i386-linux-gnu/pigconfig/openrtm-aist.pc
    • 64 bit
       /usr/lib/x86_64-linux-gnu/libRTC-X.X.X.so
       /usr/lib/x86_64-linux-gnu/libRTC.a
       /usr/lib/x86_64-linux-gnu/libRTC.la
       /usr/lib/x86_64-linux-gnu/libcoil-X.X.X.so
       /usr/lib/x86_64-linux-gnu/libcoil.a
       /usr/lib/x86_64-linux-gnu/librtmCamera.a
       /usr/lib/x86_64-linux-gnu/librtmCamera.la
       /usr/lib/x86_64-linux-gnu/librtmCamera.so.X.X.X
       /usr/lib/x86_64-linux-gnu/librtmManipulator.a
       /usr/lib/x86_64-linux-gnu/librtmManipulator.la
       /usr/lib/x86_64-linux-gnu/librtmManipulator.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
       /usr/lib/x86_64-linux-gnu/pigconfig/openrtm-aist.pc

openrtm-aist-dev

openrtm-aist-dev package includes commands and header files which are needed for software development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • License etc.
     /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-dev/changelog.gz
     /usr/share/doc/openrtm-aist-dev/copyright
  • Header files etc.
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     ....
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
  • Libraries and others
    • 32 bit
       /usr/lib/i386-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       ...
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/i386-linux-gnu/pkgconfig/libcoil.pc
       
    • 64 bit
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/x86-64-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       ...
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc

openrtm-aist-python3

The main Python version has been changed from 2 to 3 from OpenRTM-aist 1.2.2.

  • Commands
     /usr/bin/rtcd_python3
     /usr/bin/rtcprof_python3
  • OpenRTM-aist main modules
     usr/lib/python3/dist-packages/OpenRTM-aist/*
  • Python search path file for OpenRTM-aist
     /usr/lib/python3/dist-packages/OpenRTM_aist.ph
  • Utilities
     /usr/lib/python3/dist-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python3/dist-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python3/dist-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python3/dist-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python3/dist-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python3-example

 /usr/share/openrtm-1.2/components/python3/__init__.py
 /usr/share/openrtm-1.2/components/python3/rtcd.conf
 /usr/share/openrtm-1.2/components/python3/components.conf
 /usr/share/openrtm-1.2/components/python3/AutoControl/*
 /usr/share/openrtm-1.2/components/python3/AutoTest/*
 /usr/share/openrtm-1.2/components/python3/Composite/*
 /usr/share/openrtm-1.2/components/python3/ConfigSample/*
 /usr/share/openrtm-1.2/components/python3/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python3/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python3/SeqIO/*
 /usr/share/openrtm-1.2/components/python3/SimpleIO/*
 /usr/share/openrtm-1.2/components/python3/SimpleService/*
 /usr/share/openrtm-1.2/components/python3/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python3/Templates/*
 /usr/share/openrtm-1.2/components/python3/Throughput/*
 /usr/share/openrtm-1.2/components/python3/TkJoyStick/
 /usr/share/openrtm-1.2/components/python3/TkLRFViewer/*

openrtm-aist-python3-doc

  • Class reference (English)
     /usr/share/openrtm-1.2/doc/python3/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python3/ClassReference-en/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python3/ClassReference-en/html/uuid_8py.html
  • Class reference (Japanese)
     /usr/share/openrtm-1.2/doc/python3/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python3/ClassReference-jp/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python3/ClassReference-jp/html/uuid_8py.html 

openrtp

In openrtp installation, since so many files are installed, the listing is not made. Depend on your needs, use the following command.

 $ dpkg -L openrtp

rtshell

  • Scripts for the commands
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • Main code for the commans (An example of Ubuntu20.04.)
     /usr/local/lib/python3.8/dist-packages/rtctree/*
     /usr/local/lib/python3.8/dist-packages/rtshell/*
     /usr/local/lib/python3.8/dist-packages/rtsprofile/*
  • Package information (An example of Ubuntu20.04.)
     /usr/local/lib/python3.8/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python3.8/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python3.8/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

Install on Raspbian

OpenRTM-aist-Python is provided with deb packages for Raspbian for the Raspberry Pi. Please note that support for Raspbian and its versions are subject to change or suspension without notice.

Supported version

The version of Raspbian for which packages are currently available is
  • Buster

SD card preparation

Download OS Image

Download the Rasbian image (the image ”Raspbian Buster with desktop and recommended software” is recommended but you can select another image if necessary) from the link below, unzip and write to SD card. The capacity of the SD card should be more than 4GB.

Write to SD card

Please refer to RPi Easy SD Card Setup for how to write to SD card. The link shows several options. Here's an overview of some of them:

For Windows

Using Windows is relatively easier than using Linux or Mac OS. Then if you are a beginner, using Windows is recommended.

For Linux and Mac OS

  • Write using the dd command as follows.

 $ sudo dd of=/dev/<device file of SD card> if=<image file downloaded and decompressed> bs=4M status=progress
 $ sudo sync

Writing to an SD card with the above command requires a fairly long time. (Several minutes to ten several minutes). To find the device file name of the SD card, type in:

 $ df -h

And find out which device is the SD card from the displayed device size. For example, if you are using a 16GB SD card that currently has Rasbian installed, one device will appear as a 14GB device and that device will appear as /dev/sdf7. Other devices that differ only in the last number, such as /dev/sdf5 and /dev/sdf6, are displayed too. These are the device names used for the SD card. Umount all of these devices as follows:

 $ umount /dev/sdf5
 $ umount /dev/sdf6
 $ umount /dev/sdf7

After that, execute the above dd command. The device file name in the case is /dev/sdf.

Install OpenRTM-aist-Python

Download the bulk installation script "pkg_install_raspbian.sh" from the specified URL and execute it with root privileges. This script installs necessary packages sequentially using apt-get.

By specifying the option, it is possible to install the packages which align with your purpose. Download the bulk installation script and execute it with root privilege.

 $ sudo sh pkg_install_raspbian.sh -l python --yes.

For details on downloading the bulk installation script, detailed installation methods, and the options that can be specified, see Bulk Installation Script:.

Installing rtshell

rtshell is required if you want to install RTC on Raspbian and control RTC locally from the Raspbian host. To install rtshell using the bulk installation script, at the directory which file pkg_install_raspbian.sh is, type

 $ sudo sh pkg_install_raspbian.sh -l rtshell --yes
 $ sudo rtshell_post_install

Check the installation

You can check the installation as the following.

 $ dpkg -l 'openrt*'
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name                  Version         Architecture    Description
 +++-=====================-===============-===============-================================================
 ii  openrtm-aist-python   1.2.1-0         amd64           OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-python-d 1.2.1-0         all             Documentation for openrtm-aist-python
 ii  openrtm-aist-python-e 1.2.1-0         amd64           OpenRTM-aist-Python examples
For rtshell,
 $ pip show rtshell-aist
 Name: rtshell-aist
 Version: 4.2.2
 Summary: Shell commands for managing RT Components and RT Systems.
 Home-page: http://github.com/gbiggs/rtshell
 Author: Geoffrey Biggs and contributors
 Author-email: geoffrey.biggs@aist.go.jp
 License: LGPL3
 Location: /usr/local/lib/python2.7/dist-packages
 Requires: rtctree-aist, rtsprofile-aist

Package details

Each package contains the followings:

openrtm-aist-python

  • Commands
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist-Python main modules
     usr/lib/python2.7/dist-packages/OpenRTM-aist/*
  • Python search path file for OpenRTM-aist
     /usr/lib/python2.7/dist-packages/OpenRTM_aist.ph
  • Utilities
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • Class reference (English)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • Class reference (Japanese)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

rtshell

  • Scripts for the commands
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • Main code for the commands
     /usr/local/lib/python2.7/dist-packages/rtctree/*
     /usr/local/lib/python2.7/dist-packages/rtshell/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile/*
  • Package information
     /usr/local/lib/python2.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python2.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

Installation on Fedora

Now 1.2 series of OpenRTM-aist does not fully support Fedora OS. Then please use the information on this page as non-validated one.

OpenRTM-aist-Python is provided with an RPM package that can be used with Fedora Linux. The supported Fedora Linux versions can be found from the download page. Please note that support for Fedora Linux and its versions are subject to change or suspension without notice.

There are two main types of installation methods for Fedora Linux.
  • Use the bulk installation script provided by openrtm.org
  • Use yum package manager

Bulk installation script

Download the installation script "pkg_install_fedora.sh" provided by openrtm.org from the download page and execute it with root privileges. This script installs necessary packages sequentially using yum.

It is very convenient because it installs all the packages required to develop and execute OpenRTM-aist.

By specifying the option, it is possible to install the package that suits the purpose. To install OpenRTM-aist-Python, download the bulk install script and then type

 $ sudo sh pkg_install_fedora.sh -l python --yes

For details on how to download the bulk installation script, detailed installation methods, and the types of options that can be specified, see the Bulk Installation Script.

Install OpenRTP

RTC Builder and RTSystemEditor can be used for general Ubuntu/Debian environment development. To use them, OpenRTP is required. Install OpenRTP using the bulk installation script. In Ubuntu, in the directory where pkg_install_ubuntu.sh is located, type

 $ sudo sh pkg_install_fedora.sh -l openrtp --yes

At present, in the bulk installation script for Fedora, after installing the environment for Python with -l python, if you install -l openrtp, there is a problem that some of the files necessary for executing OpenRTP are not installed. To avoid the problem, you need to install OpenRTM-aist package manually. For it, type:

 $ sudo yam install OpenRTM-aist

Install JDK8

To run OpenRTP (RTSystemEditor, RTC Builder, etc.), a Java environment equivalent to JDK8 is required. At present, in the Fedora environment, the bulk installation script installs OpenJDK8 from the Fedora rpm repository. If you want to install another JDK8, please refer to the link below. By the way, JDK is not required to use rtshell/rtctree/rtsprofile, so if you do not use OpenRTP, you do not need to install JDK8. See below for information on obtaining and installing JDK8.

Install rtshell

If you want to control the RTC with the CUI, such as when the control computer system is small, a tool called rtshell is provided as a tool that allows you to execute functions equivalent to RTSystemEditor of OpenRTP from the CUI. To install rtshell, use a bulk installation script on the terminal and enter the following in the directory where the bulk installation script file is located.

 $ sudo sh pkg_install_fedora.sh -l rtshell --yes

How to use yum and pip

Create /etc/yum.repos.d/openrtm.repo

openrtm.org provides a package repository available from yum. However, it is not included in the default package repository, so you need to change the setting of yum.

Create a file /etc/yum.repos.d/openrtm.repo that contains the following settings. Creation usually requires root privileges.

 [openrtm]
 name=Fedora $releasever - $basearch
 failovermethod=priority
 baseurl=http://openrtm.org/pub/Linux/Fedora/releases/$releasever/Fedora/$basearch/os/Packages
 enabled=1
 gpgcheck=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
/etc/yum.repos.d/openrtm.repo

Installation by using yum

After creating openrtm.repo, install it according to the following procedure. On the way, you will be asked for some responses, so complete by typing `` y ''.

  • Install OpenRTM-aist-Python
     $ sudo yum install gcc-c ++ python
     $ sudo yum install omniORB omniORB-devel omniORB-doc omniORB-servers omniORB-utils
     $ sudo yum install OpenRTM-aist-Python OpenRTM-aist-Python-doc OpenRTM-aist-Python-example
  • Install OpenRTP
     $ sudo yum install OpenRTP
     $ sudo yum install OpenRTM-aist
  • Install rtshell
     $ sudo pip3 install rtshell-aist 

Confirm installation

You can check the installation with the following command.

  • If you installed OpenRTP too,
     $ rpm -qa OpenRT*
     OpenRTM-aist-devel-1.2.0-0.fc29.x86_64
     OpenRTM-aist-Python-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-example-1.2.0-0.29.x86_64
     OpenRTP-1.2.0-1.fc29.x86_64
     OpenRTM-aist-1.2.0-0.fc29.x86_64
     OpenRTM-aist-Python-doc-1.2.0-0.29.x86_64
  • If you did not install OpenRTP
     $ rpm -qa OpenRT*
     OpenRTM-aist-Python-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-example-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-doc-1.2.0-0.29.x86_64
  • To check rtshell installation:
     $ pip3 show rtshell-aist
     Name: rtshell-aist
     Version: 4.2.2
     Summary: Shell commands for managing RT Components and RT Systems.
     Home-page: http://github.com/gbiggs/rtshell
     Author: Geoffrey Biggs and contributors
     Author-email: geoffrey.biggs@aist.go.jp
     License: LGPL3
     Location: /usr/local/lib/python3.7/dist-packages
     Requires: rtctree-aist, rtsprofile-aist

Package details

Each package contains: (In case of 64bit Fedora)

OpenRTM-aist-Python

  • Commands
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist main python modules
     usr/lib/python3.7/site-packages/OpenRTM-aist/*
  • Python search path file for OpenRTM-aist
     /usr/lib/python3.7/site-packages/OpenRTM_aist.ph
  • Utilities
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • Class reference (English)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • Class reference (Japanese)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

OpenRTM-aist

openrtm-aist contains runtime libraries and commands.

  • Configuration file sample
     /etc/rtc.conf.sample
  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • Libraries
     /usr/lib64/libRTC-1.2.0.so
     /usr/lib64/libRTC.a
     /usr/lib64/libRTC.la
     ...
     /usr/lib64/librtmManipulator.so.0.0.0
     /usr/lib64/openrtm-1.2/ec/FileNameservice.la
     /usr/lib64/openrtm-1.2/ec/FileNameservice.so
     ...
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0.0.0

OpenRTM-aist-devel

openrtm-aist-dev contains commands file and heder files which is used for software development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • Header files
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/version.txt
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
  • IDL and stab skeleton
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
 ...
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
 /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
 /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
 ...
 /usr/include/openrtm-1.2/rtm/idl/SharedMemoryStub.h
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/AIO.idl
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/ActArray.idl
 ...
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
 
  • Libraries
     /usr/lib64/openrtm-1.2/cmake/OpenRTMConfig.cmake
     /usr/lib64/openrtm-1.2/py_helper/README_gen.py
     /usr/lib64/openrtm-1.2/py_helper/cxx_gen.py
     ...
     /usr/lib64/openrtm-1.2/py_helper/yat.py
     /usr/lib64/pkgconfig/libcoil.pc
     /usr/lib64/pkgconfig/openrtm-aist.pc

OpenRTP

In openrtp installation, since so many files are installed, the listing is not made. Depend on your needs, use the following command.

 $ dpkg -L openrtp

rtshell

  • Scripts for the commands
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • Main code for the commands
     /usr/local/lib/python3.7/dist-packages/rtctree/*
     /usr/local/lib/python3.7/dist-packages/rtshell/*
     /usr/local/lib/python3.7/dist-packages/rtsprofile/*
  • Package information
     /usr/local/lib/python3.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python3.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python3.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

Operation Check (On Windows)

Location of sample components

After successful installation or build, test the operation with the attached sample. Samples are usually located at:

  • c:\Program Files\OpenRTM-aist\1.2.x\Components\Python
  • <Source directory>/OpenRTM-aist/examples (when building from source)

Check that OpenRTM-aist is built and installed correctly using the sample component set SimpleIO.

Operation check using sample (SimpleIO)

This is a sample set consisting of RT components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs numerical values ​​input from the console to OutPort, and ConsoleOut is a component that displays numerical values ​​input from InPort to the console. These are RTC samples to show a simple I/O (input/output) use. It works by connecting the data ports from ConsoleIn's OutPort to ConsoleOut's InPort and activating these two components.

Operation check environment

The following describes how to use OpenRTP when starting various programs from the Start menu in an environment where OpenRTM-aist is installed by default with the MSI installer. When using RTShell without using OpenRTP, refer to Operation Check (Windows) under "Install rtshell" page. If you build the source, the sample components are located in <Source directory>\OpenRTM-aist\examples\SimpleIO. Please replace the location of ConsoleIn/ConsoleOut in the explanation below and in the link by it.

Operation check procedure

Start RTSystemEditor and the name server

Follow the steps below to start RTSystemEditor and the name server.

Start sample component

After starting the name server, start the appropriate sample component.

In the case of Windows 10, enter "Python_Examples" in [Type here to search] on the lower right to open the directory of examples.

rtm7-2_en.png
Confirm name server startup

rtm8-2_en.png
Sample component directory

  • Double-click "ConsoleIn.bat" and "ConsoleOut.bat" respectively to start two components. When started, two console screens as shown below will open.
    rtm9-2.png
    ConsoleIn and ConsoleOut components

If the component does not start

If a component does not start, there are several possible causes.

Console screen opens and disappears immediately

There are cases where there is a problem with the settings of rtc.conf and it cannot start. Open [rtc.conf for examples] in the above searched directory and check the settings. For example, if settings such as corba.endpoint/corba.endpoints are mismatched with the host address of the currently running PC, CORBA will terminate abnormally.

Please reset it to the following minimum rtc.conf and try again.

 corba.nameservers: localhost

omniORBpy is not installed.

omniORBpy is included in the MSI installer provided by openrtm.org, but if you choose a custom installation, you can install OpenRTM-aist-Python without installing omniORBpy. Also, if you have installed it manually, you may not have omniORBpy installed. Check if omniORBpy is installed.

The association of py files is different

The file that starts ConsoleIn and ConsoleOut is

c:\Program Files\OpenRTM-aist\1.2.x\Components\Python\Examples\SimpleIO\ConsoleIn.py
c:\Program Files\OpenRTM-aist\1.2.x\Components\Python\Examples\SimpleIO\ConsoleOut.py
Note that the location is the location of the case that you installed OpenRTM-aist by using 64-bit MSI.

Open the console screen in this directory and start it by executing python ConsoleIn.py, but if you can not start by double-clicking ConsoleIn.py, please check the installed python. If both 32-bit and 64-bit versions of Python are installed, the one installed first will be associated with the py file, so installing Python of the same architecture as the OpenRTM-aist-Python installer may solve it first Maybe.

Other

There are cases where the startup does not work properly due to problems with the hostname and address settings. In that case, if you tell omniNames.exe the IP address of the PC you are using, it may work. Set the environment variable OMNIORB_USEHOSTNAME as follows (example below is when the IP address of the local host is 192.168.0.11).

 Variable name (N): OMNIORB_USEHOSTNAME  Variable value (V): 192.168.0.11

Place the components on the system diagram

  • Click [>] next to [localhost] in the tree view of the RTSystemEditor, and click [>] next to the icon_db.png icon. You may see the two components icons in the above step.
    rtm10.png
    ConsoleIn and ConsoleOut components

Open the system editor (system diagram) for editing the system. Click the [Open New System Editor] button rtse_open_editor_icon_ja.png at the top to open the system editor (system diagram) in the center pane. From the name service view on the left, drag and drop the components (two) indicated by the icon-rtce.png icon onto the system diagram view in the center.

rtm11_en.png
Place component on the system diagram

Connect and activate

You can see an OutPort rtse_outport_icon.png where data is output to and is shown on the right side of the ConsoleIn0 component and an InPort rtse_inport_icon.png where data is input from and is shown on the left side of the ConsoleOut0 component like the following figure. Connect these InPort/OutPort (these are called "data port"). If you drag and drop from the OutPort to the InPort (or from the InPort to the OutPort), a dialog as shown below appears. Click the [OK] button with the default settings.

rtm13.png
Data port connection

rtm12_en.png
Data port connection dialog

A connecting line appears between the two components. Next, click the [All Activate] button rtm14.png in the top menu of the RTSystemEditor to activate these components. When activated, the component turns green.

rtm15.png
Activated component

When the component is activated, on the console of the ConsoleIn component

 Please input number:

The prompt is displayed. Enter an appropriate number (within the range of short int: 32767 or less) and press the Enter key. Then, on the ConsoleOut side, the entered numerical value is displayed, and you can see that the data has been transferred from the ConsoleIn component to the ConsoleOut component.

This concludes the confirmation of the basic operation of components using OpenRTP.

Other samples

The installer also comes with some sample components. These components can be activated as well, and you can try by connecting and activating ports with RTSystemEditor. Below are a list and a brief description of the included components.

ConsoleIn.py Output the numerical value input from the console from OutPort. Connect to ConsoleOut.py to use
ConsoleOut.py component to display the numerical value input to InPort on the console. Connect to ConsoleIn.py to use
SeqIn.py component that outputs random numbers (Short, Long, Float, Double and their sequence types). Connect to SeqOut.py to use
SeqOut.py Displays numerical values ​​(Short, Long, Float, Double and their sequence types) input to InPort. Connect to SeqIn.py to use
MyServiceProvider.py component that provides a service of type MyService. Connect to MyServiceConsumer.py to use
MyServiceConsumer.py component that uses a service of type MyService. Connect to MyServiceProvider.py to use
ConfigSample.py Configuration sample. Sample to understand the behavior of Configuration by changing Configuration from RTSystemEditor
TkMobileRobotSimulator.py A simple simulator for mobile robots. Receives the speed of the robot with InPort and outputs the moved position from OutPort

Operation Check (On Linux)

After successful installation or build, test the operation with the attached sample. Samples are usually located at:
  • /usr/share/openrtm-1.2/components/python/<sample component set name>
If you build from source, under the source directory
  • OpenRTM_aist/examples/<sample component set name>

Check that OpenRTM-aist is built and installed correctly using the sample component set SimpleIO.

Sample component set SimpleIO

This is a sample set consisting of RT components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs numerical values ​​input from the console to OutPort, and ConsoleOut is a component that displays numerical values ​​input from InPort to the console. These are RTC samples to show a simple I/O (input/output) use. It works by connecting the data ports from ConsoleIn's OutPort to ConsoleOut's InPort and activating these two components.

Here, I will explain by assuming that the sample set is under /usr/share/openrtm-1.2/components/python/SimpleIO. Also, it is assumed that a search path has been set for the executable file of Python itself. If you build from the source code, the sample executable file is in <source_dir>/OpenRTM_aist/examples/SimpleIO/, so replace the sample file location in the further explanation and the explanation in the linked page.

Operation check using sample component set

Operation check using RTSystemEditor

In the following explanation, an operation check using RTSystemEditor (OpenRTP) is explained. Please refer to Operation check (On Linux) under the "Install rtshell" page. for the environment that does not use OpenRTP like the case of Raspbian.

Start the name server Follow the procedure below to start RTSystemEditor and the name server.

Launch ConsoleIn

  • Open Terminal and launch ConsoleIn.
     $ python /usr/share/openrtm-1.2/components/python/SimpleIO/ConsoleIn.py
  • If you build and install it yourself,
     $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleIn.py

Launch ConsoleOut

  • Open another Terminal and launch ConsoleOut.
     $ python /usr/share/openrtm-1.2/components/python/SimpleIO/ConsoleOut.py
  • If you build and install it yourself, similarly
     $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleOut.py

Placement in System Diagram

  • Click [>] in the tree view of RTSystemEditor, and you can see that the two components started in the above.
    rtm10.png
    ConsoleIn and ConsoleOut components
  • Open System Diagram to edit system. Click the [Open New System Editor] buttonrtse_open_editor_icon_ja.png to open the System Diagram in the center pane.
  • Drag and drop the components (two) indicated by the icon rtse_rtc_icon_n.png into the center System Diagram.
    rtm11_en.png
    Place components on System Diagram

Connect and activate

  • You can see an OutPort rtse_outport_icon.png where data is output to and is shown on the right side of the ConsoleIn0 component and an InPort rtse_inport_icon.png where data is input from and is shown on the left side of the ConsoleOut0 component like the following figure.
    rtm13.png
    Data port connection
  • Connect these InPort/OutPort (these are called "data port"). If you drag and drop from the OutPort to the InPort (or from the InPort to the OutPort), a dialog as shown below appears. Click the [OK] button with the default settings. OutPort rtse_outport_icon_n.png
    rtm12_en.png
    Data port connection dialog
  • A connection line appears between the two components. Next, click the [All Activate] button & ref(rtm14.png); in the top menu of the editor to activate these components.
  • When activated, the component turns green.
    rtm15.png
    Activated component
  • When the component is activated, on the console of the ConsoleIn component
     Please input number: 
    The prompt is displayed. Enter an appropriate number (within the range of short int: 32767 or less) and press the Enter key. Then, the entered value is also displayed on the ConsoleOut side, and you can see that the data was transferred from the ConsoleIn component to the ConsoleOut component.

This concludes the confirmation of the basic operation of the OpenRTM-aist-python using RTSystemEditor.

Build from the source code (On Windows)

If you want to install from source package on Windows, you need to build OpenRTM-aist-Python yourself.

Build environment

The following tools are required:
  • Python
  • omniORBpy
  • Doxgen

Install it as described in the following.

Python

Requires Python 2.7 (or 3.6, 3.7). Please get the latest one from the following site and install it.

In the following explanation, the following settings are required when installing Python. (Others are the default settings of the installer.)

  • Set the installation destination to C: \ PythonX.Y.
    • X.Y is 2.7, 3.6 or 3.7, eg C:\Python2.7
  • In Python3.7, select [Customize Installation] during installation.
  • The above directory must be included in the command search path (The path for python directory is added to the environment variable PATH).
    • In 3.7, if you check [Add Python to environmental variable] during installation, the installer will set PATH.
    • In the other cases, you need to set it manually.

omniORBpy

OpenRTM-aist-Python build requires an omniORBpy library. omniORBpy can obtain the necessary files from the links below.

You can also get the source from the official website.

We recommend that you use the latest version of the openrtm.org site file (currently 4.2.3) unless you have a specific reason to do so. There are multiple files, but the meanings of the file names are as follows. Select the file to be used according to the description.

The format of the file name is as follows.

omniORB-X.Y.Z-{win32|x64}-{vc100|vc110|vc120|vc140}-{py27|py36|py37}. zip

here,
X.Y.Z:
omniORB version, e.g. 4.2.3
win32
if 32-bit Python is used.
x64
if 64-bit Python is used.
vc100
If C ++ environment is used and the tool is Visual Studio 2010
vc110
If C ++ environment is used and the tool is Visual Studio 2012
vc120
If C ++ environment is used and the tool is Visual Studio 2013
vc140
If C ++ environment is used and the tool is Visual Studio 2015/2017/2019
py27
If Python 2.7 is used.
py36
If Python 3.6 is used.
py37
If Python 3.7 is used.

If you use omniORB 4.2.3 in 64bit Python 3.7 environment, download omniORB-4.2.3-x64-vc140-py37.zip.

How to install omniORB files

When the downloaded ZIP file is expanded, the following directory tree is expanded. Copy the files under each directory to the Python directory according to the instructions below.

In the following, I used x.y. for the version of the using omniORBpy and X.Y for the version of the using Python.

 + omniORBpy-x.y
  + bin
     + x86_win32-> Both exe and dll directly under C:\PythonX.Y
  + doc-> may be deleted
  + examples-> may be deleted
  + idl-> may be deleted, but may be deleted under C:\PythonX.Y\Lib\site-packages\omniORB\idl
  + lib
    + python-> The following directories and files as a whole C:\PythonX.Y\Lib\site-packages
    + x86_win32-> .pyd directly under C:\PythonX.Y\Lib\site-packages

Doxygen

Download and execute the Windows version binary executable file from the web page.

Get source package

First, download the source code file OpenRTM-aist-Python-1.2.x.zip from the link below and extract it to an appropriate directory.

Build

Start the command prompt, move to the directory where the source code was extracted earlier, and build with the following command.

 > python setup.py build

Install

If everything is Ok for the builds, complete the installation with the following command:

 > python setup.py install

This completes the installation of OpenRTM-aist.

Build form the source code (On Linux)

If you want to install from the source package on Linux, you need to build OpenRTM-aist-Python yourself. The following explains the build procedure on Ubuntu 18.04.

Supported OS and distribution

OpenRTM-aist-Python has been confirmed to work on the following OS and Linux distributions.
  • Ubuntu
  • Debian (Supporting versions of OPenRTM-aist are limited)
  • Fedora (Supporting versions of OpenRTM-aist are limited )

You may be able to build OpenRTM-aist python on a Linux/UNIX environment other than the above if it is a normal Linux/UNIX environment.

Dependent library

The following development environment and libraries are required to install OpenRTM-aist-Python-1.2.1.
  • python: required to use build tools
  • omniORBpy: Required for OpenRTM-aist build (IDL compilation)

Please install according to the documentation of each software. If these packages are installed under standard directories (/ usr, /usr/lib/, etc.), the subsequent OpenRTM-aist-Python build will be relatively easy.

On Ubuntu and Debian, you can install the software by the following command.

 $ sudo apt-get install python-omniorb-omg omniidl-python omniorb-nameserver

Download source

Download the OpenRTM-aist-Python source.

Extracting source code

  • Unzip the source code package OpenRTM-aist-Python-1.2.1.tar.gz into an appropriate directory.
     $ tar xvzf OpenRTM-aist-Python-X.X.X.tar.gz
     $ cd OpenRTM-aist-Python-X.X.X

Build

OpenRTM-aist-Python uses the distutils module to build packages. Build the package in the same way as other packages using distutils.

 $ python setup.py build [options]

Available options in [options] can be found by:

 $ python setup.py --help

Install

After the build is completed successfully, install the Python modules and utility commands by the following command:

 $ sudo python setup.py install

This completes the build and installation from the source code.

Install OpenRTM-aist (Java Version) 1.2

Explains how to install OpenRTM-aist(Java Version) 1.2.

Install to Windows

Install OpenRTM-aist

The procedure for installing OpenRTM-aist using the MSI installer is described on the following page.
  • Installing OpenRTM-aist1.2 (Windows, using MSI installer) Download the .msi file. The file name terminated by "x86_64.msi" for the 64-bit version, and "x86.msi" for the 32-bit version. After downloading, double-click the .msi file to start the installation program. If you select [Standard] during installation, all configurations supported by this .msi file will be installed. If you want to install only a part of the configuration, select [Custom]. (Because for the other configurations than [Standard], our validation was not enough, it is recommended to install with [Standard].)

Install JDK8

OpenRTM-aist-Java-1.2.x requires a JDK8-equivalent JDK (OpenRTM-aist will not work properly with JDK11). It should be installed in advance. See below for information on obtaining and installing JDK8.

JDK installation confirmation

Open a command prompt,type-in:

 C:\> java -version
Installation is Ok if the installed Java version is displayed. For example, it is displayed as follows.
 openjdk version "1.8.0_232"
 OpenJDK Runtime Environment (build 1.8.0_232-b09)
 OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

What the installer does

The installer does the following:
  • Copy various files under the installation directory (default is C:\Program Files)
  • Create OpenRTM-aist folder under start menu and set various shortcuts
  • Set environment variables
    • In 64-bit MSI file case
       RTM_BASE=C:\Program Files\OpenRTM-aist\ RTM_IDL_DIR=C:\Program Files\OpenrRTM-aist\1.2.1\rtm\idl\ RTM_JAVA_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\ RTM_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\ RTM_VC_VERSION=vc14
       OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.1_% RTM_VC_VERSION%\ OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\ OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\
    • In 32-bit MSI case
       RTM_BASE=C:\Program Files (x86)\OpenRTM-aist\ RTM_IDL_DIR=C:\Program Files (x86)\OpenrRTM-aist\1.2.1\rtm\idl\ RTM_JAVA_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\ RTM_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\ RTM_VC_VERSION=vc14
       OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_% RTM_VC_VERSION%\ OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\ OpenRTM_DIR=C:\Program FilessOpenRTM-aist\1.2.1\cmake\-- Added paths in 64-bit MSI file case
       C:\Program Files\OpenRTM-aist\1.2.1\bin\% RTM_VC_VERSION%\ C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_% RTM_VC_VERSION%\bin\x86_win32\ C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\x64\% RTM_VC_VERSION%\bin\
    • Added paths in 32-bit MSI file case
       C:\Program Files (x86)\OpenRTM-aist\1.2.1\bin\% RTM_VC_VERSION%\ C:\Program Files (x86)\OpenRTM-aist\1.2.1\omniORB\4.2.3_% RTM_VC_VERSION%\bin\x86_win32\ C:\Program Files (x86)\OpenRTM-aist\1.2.1\OpenCV3.4\x86\% RTM_VC_VERSION%\bin\

      Files to be installed

The files are installed in the following structure.

 <install_dir>
   + OpenRTM-aist
      + 1.x.x: old version runtime
      + 1.2.1
         + bin: dll, lib various commands
         + cmake: OpenRTMConfig.cmake
         + coil: coil header file
         + Components
            + C ++
               + Examples: C ++ sample components
               + OpenCV: OpenCV C ++ sample component
            + Java: Java sample component
            + Python: Python sample component
         + etc: rtc.conf sample
         + jar: jar file
         + jre: OpenJDK JRE
         + omniORB
         + OpenCV3.4
         + rtm: OpenRTM-aist header file
            + ext: extension module file
            + idl: OpenRTM-aistIDL file
         + util
            + ExcelControlpy: Python based RTC for Microsoft Office
            + OpenRTP: RTCBuilder and RTSystemEditor tools
            + PowerPointControlpy: RTC for Microsoft Office PowerPoint
            + python_dist: Common library for python-based tools
            + RTCDT: A tool to support the development of Python-based RTC
            + rtc-template: An old tool that provides similar functions to RTCBuilder
            + RTSystemEditor: RTSystem Editor only file
            + VCVerChanger: Tool to specify the version of Visual Studio used
            + WordContrlpy: Python based RTC for Microsoft Office Word

Install to Ubuntu/Debian

ubuntu_logo2.png

The Java version of OpenRTM-aist has a deb package available for Ubuntu and Debian GNU Linux. The supported distribution versions can be found on the download page. Please note that supported versions and support for Ubuntu/Debian GNU Linux are subject to change without notice.

Bulk installation script

Download the installation script "pkg_install_ubuntu.sh" or "pkg_install_debian.sh" provided by openrtm.org from the specified URL and execute it with root privileges. This script installs necessary packages sequentially using apt-get.

By specifying the option, it is possible to install the package that suits the purpose.

After downloading the bulk installation script, move to the download destination directory,

For Ubuntu, type-in:

 $ sudo sh pkg_install_ubuntu.sh -l java --yes

For Debina, after getting root privileges by 'su' command, type-in:

 # sh pkg_install_debian.sh -l java --yes

For details on how to download the batch installation script, detailed installation methods, and the types of options that can be specified, see the Bulk Installation Script page.

Install OpenRTP

RTC Builder and RTSystem Editor are used for general Ubuntu/ Debian environment development. In that case, OpenRTP is required. Install OpenRTP using the bulk installation script. In Ubuntu, in the directory where pkg_install_ubuntu.sh is located

For Ubuntu, type-in:

 $ sudo sh ./pkg_install_ubuntu.sh -l openrtp --yes

After getting root privileges with su for Debian, type-in:

 # sh pkg_install_debian.sh -l openrtp --yes

Install JDK8

To use OpenRTM-aist for Java, a Java environment equivalent to JDK8 is required. (In some cases, JDK8 is installed in the default environment, but in Ubuntu 18.04 JDK11 is installed, so JDK8 must be installed.) Refer to the following for information on obtaining and installing JDK8.

Confirm installation

Check the installation by type-in:

 $ dpkg -l 'openr*'
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name                     Version           Architecture      Description
 +++-========================-=================-=================-=====================================================
 un  openrc                   <none>            <none>            (no description available)
 ii  openrtm-aist:amd64       1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-dev:amd64   1.2.1-0           amd64             OpenRTM-aist headers for development
 ii  openrtm-aist-idl:amd64   1.2.1-0           amd64             OpenRTM-aist idls for development
 ii  openrtm-aist-java:amd64  1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-java-doc    1.2.1-0           all               Documentation for openrtm-aist-java
 ii  openrtm-aist-java-exampl 1.2.1-0           amd64             OpenRTM-aist-Java examples
 ii  openrtp:amd64            1.2.1-0           amd64             OpenRTP, Open RT Platform distributed by AIST

Package details

The contents of each package are as follows.

openrtm-aist

openrtm-aist contains runtime libraries and commands.

  • command
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • License etc.
     /usr/share/doc/openrtm-aist/changelog.gz
     /usr/share/doc/openrtm-aist/README.Debian
     /usr/share/doc/openrtm-aist/README
     /usr/share/doc/openrtm-aist/README.jp
     /usr/share/doc/openrtm-aist/copyright
     /usr/share/doc/openrtm-aist/changelog.Debian.gz
  • Sample configuration file
     /usr/etc/rtc.conf.sample
  • Library
    • In 32-bit case,
       /usr/lib/i386-linux-gnu/libRTC-X.X.X.so
       /usr/lib/i386-linux-gnu/libRTC.a
       /usr/lib/i386-linux-gnu/libRTC.la
       /usr/lib/i386-linux-gnu/libcoil-X.X.X.so
       /usr/lib/i386-linux-gnu/libcoil.a
       /usr/lib/i386-linux-gnu/librtmCamera.a
       /usr/lib/i386-linux-gnu/librtmCamera.la
       /usr/lib/i386-linux-gnu/librtmCamera.so.X.X.X
       /usr/lib/i386-linux-gnu/librtmManipulator.a
       /usr/lib/i386-linux-gnu/librtmManipulator.la
       /usr/lib/i386-linux-gnu/librtmManipulator.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
       /usr/lib/i386-linux-gnu/pigconfig/openrtm-aist.pc
    • In 64-bit case,
       /usr/lib/x86_64-linux-gnu/libRTC-X.X.X.so
       /usr/lib/x86_64-linux-gnu/libRTC.a
       /usr/lib/x86_64-linux-gnu/libRTC.la
       /usr/lib/x86_64-linux-gnu/libcoil-X.X.X.so
       /usr/lib/x86_64-linux-gnu/libcoil.a
       /usr/lib/x86_64-linux-gnu/librtmCamera.a
       /usr/lib/x86_64-linux-gnu/librtmCamera.la
       /usr/lib/x86_64-linux-gnu/librtmCamera.so.X.X.X
       /usr/lib/x86_64-linux-gnu/librtmManipulator.a
       /usr/lib/x86_64-linux-gnu/librtmManipulator.la
       /usr/lib/x86_64-linux-gnu/librtmManipulator.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
       /usr/lib/x86_64-linux-gnu/pigconfig/openrtm-aist.pc

openrtm-aist-dev

openrtm-aist-dev includes commands and header files that are required for RT system development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • Lincense, etc.
     /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-dev/changelog.gz
     /usr/share/doc/openrtm-aist-dev/copyright
  • Header, etc.
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
  • Library and others
    • In 32-bit case,
       /usr/lib/i386-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       ...
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/i386-linux-gnu/pkgconfig/libcoil.pc
       
    • In 64-bit case,
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/x86-64-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       ...
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc

openrtm-aist-idl

  • idl file, etc.
     /etc/profile.d/openrtm-aist-idl.sh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     /usr/include/openrtm-1.2/rtm/idl/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/idl/SharedMemory.idl
     /usr/share/openrtm-1.2/idl/BasicDataType.idl
     /usr/share/openrtm-1.2/idl/CameraCommonInterface.idl
     ...
     /usr/share/openrtm-1.2/idl/SharedMemory.idl
  • Lincense, etc.
     /usr/share/doc/openrtm-aist-idl/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-idl/changelog.gz
     /usr/share/doc/openrtm-aist-idl/copyright

openrtm-aist-java

  • Commands
     /usr/bin/rtcd_java
     /usr/bin/rtcprof_java
  • a script for setting environment variables
     /etc/profile.d/openrtm-aist-java.sh
  • jar files
    • In 64-bit case,
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/License.txt
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/LogicalTimeTriggeredEC.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/NameserviceFile.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/OpenRTM-aist-1.2.0.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/commons-cli-1.1.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/jna-4.2.2.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/jna-platform-4.2.2.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/rtcd.jar
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/rtcprof.jar
    • In 32-bit case,
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/License.txt
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/jna-platform-4.2.2.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/rtcprof.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/rtcd.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/commons-cli-1.1.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/NameserviceFile.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/LogicalTimeTriggeredEC.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/jna-4.2.2.jar
       /usr/lib/i386-linux-gnu/openrtm-1.2/jar/OpenRTM-aist-1.2.1.jar

openrtm-aist-java-example

Java version sample RTC, the class files and the source files and the startup script files

 /usr/share/openrtm-1.2/components/java/* 
 /usr/share/openrtm-1.2/components/java/RTMExamples/AutoTest/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/Composite/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/ConfigSample/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/ExtTrigger/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/control/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/model/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/view/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/MyService.idl
 /usr/share/openrtm-1.2/components/java/RTMExamples/SeqIO/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SeqIO/view/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SimpleIO/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SimpleService/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SinCosOut/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/Throughput/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/TopicTest/*

openrtm-aist-java-doc

openrtm-aist-java-doc includes Japanese/English class reference files.

 /usr/share/openrtm-1.2/doc/java/JavaDoc/OpenRTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/OpenRTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/_SDOPackage/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/_SDOPackage/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/Constants.html
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/log/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/Version.html
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/class-use
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/OpenRTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/OpenRTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/_SDOPackage/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/_SDOPackage/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/index-files/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/Constants.html
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/class-use/Logbuf.html
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/*

openrtp

In openrtp installation, since so many files are installed, the listing is not made. Depend on your needs, use the following command.

 $ dpkg -L openrtp

Install to Raspbian

The Java version of OpenRTM-aist has a deb package available for Raspbian. The supported distribution versions can be found on the download page. Please note that Raspbian support versions and support are subject to change without notice.

Install JDK8

To use OpenRTM-aist for Java, a Java environment equivalent to JDK8 is required. Obtain and install JDK8 by referring to the link below.

Batch installation script

Download the installation script "pkg_install_raspbian.sh" provided by openrtm.org from the specified URL and execute it with root privileges. This script installs necessary packages sequentially using apt-get.

By specifying the option, it is possible to install the package that suits the purpose.

Using the batch installation script, after downloading, move to the download destination directory, type-in:

 $ sudo sh pkg_install_raspbian.sh -l java --yes

For details on how to download the bulk installation script, detailed installation methods, and the types of options that can be specified, see the Bulk Installation Script page.

Install rtshell

There is currently no support for OpenRTP in the Raspbian environment. Therefore, in the Raspian environment, the RTC cannot be controlled locally using the GUI (RTSystemEditor). There are two ways to control RTC: one is to start RTSystemEditor on another supported host remotely and control it from there, and the other is to control it locally using a tool called rtshell. Please refer to the link below for installing rtshell. How to install rtshell

Confirm installation

Check the installation.

 $ dpkg -l 'openrt*'
 Desired=Unknown/Install/Remove/Purge/Hold
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
 ||/ Name                     Version           Architecture      Description
 +++-========================-=================-=================-=====================================================
 ii  openrtm-aist:amd64       1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-dev:amd64   1.2.1-0           amd64             OpenRTM-aist headers for development
 ii  openrtm-aist-idl:amd64   1.2.1-0           amd64             OpenRTM-aist idls for development
 ii  openrtm-aist-java:amd64  1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-java-doc    1.2.1-0           all               Documentation for openrtm-aist-java
 ii  openrtm-aist-java-exampl 1.2.1-0           amd64             OpenRTM-aist-Java examples
 ii  openrtm-aist-python      1.2.1-0           amd64             OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-python-doc  1.2.1-0           all               Documentation for openrtm-aist-python
 ii  openrtm-aist-python-exam 1.2.1-0           amd64             OpenRTM-aist-Python examples

 $ pip show rtshell-aist
 Name: rtshell-aist
 Version: 4.2.2
 Summary: Shell commands for managing RT Components and RT Systems.
 Home-page: http://github.com/gbiggs/rtshell
 Author: Geoffrey Biggs and contributors
 Author-email: geoffrey.biggs@aist.go.jp
 License: LGPL3
 Location: /usr/local/lib/python2.7/dist-packages
 Requires: rtsprofile-aist, rtctree-aist
 Required-by:

Package details

The contents of each package are as follows.

openrtm-aist

openrtm-aist includes runtime library and commands.

  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • License, etc.
     /usr/share/doc/openrtm-aist/changelog.gz
     /usr/share/doc/openrtm-aist/README.Debian
     /usr/share/doc/openrtm-aist/README
     /usr/share/doc/openrtm-aist/README.jp
     /usr/share/doc/openrtm-aist/copyright
     /usr/share/doc/openrtm-aist/changelog.Debian.gz
  • Sample configuration file
     /usr/etc/rtc.conf.sample
  • Libraries
     /usr/lib/x86_64-linux-gnu/libRTC-X.X.X.so
     /usr/lib/x86_64-linux-gnu/libRTC.a
     /usr/lib/x86_64-linux-gnu/libRTC.la
     /usr/lib/x86_64-linux-gnu/libcoil-X.X.X.so
     /usr/lib/x86_64-linux-gnu/libcoil.a
     /usr/lib/x86_64-linux-gnu/librtmCamera.a
     /usr/lib/x86_64-linux-gnu/librtmCamera.la
     /usr/lib/x86_64-linux-gnu/librtmCamera.so.X.X.X
     /usr/lib/x86_64-linux-gnu/librtmManipulator.a
     /usr/lib/x86_64-linux-gnu/librtmManipulator.la
     /usr/lib/x86_64-linux-gnu/librtmManipulator.so.X.X.X
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.la
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
     /usr/lib/x86_64-linux-gnu/pigconfig/openrtm-aist.pc

openrtm-aist-dev

openrtm-aist-dev includes commands and files that are required for RT system development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • License, etc.
     /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-dev/changelog.gz
     /usr/share/doc/openrtm-aist-dev/copyright
  • Header files, etc.
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     中略
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     中略
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     中略
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     中略
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
  • Libraries and others
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/README_gen.py
     /usr/lib/x86-64-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
     中略
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helpver/yat.py
     /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc

openrtm-aist-idl

  • idl files, etc.
     /etc/profile.d/openrtm-aist-idl.sh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     /usr/include/openrtm-1.2/rtm/idl/CameraCommonInterface.idl
     中略
     /usr/include/openrtm-1.2/rtm/idl/SharedMemory.idl
     /usr/share/openrtm-1.2/idl/BasicDataType.idl
     /usr/share/openrtm-1.2/idl/CameraCommonInterface.idl
     中略
     /usr/share/openrtm-1.2/idl/SharedMemory.idl
  • L incense, etc.
     /usr/share/doc/openrtm-aist-idl/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-idl/changelog.gz
     /usr/share/doc/openrtm-aist-idl/copyright

openrtm-aist-java

  • Commands
     /usr/bin/rtcd_java
     /usr/bin/rtcprof_java
  • Script for setting environmental variables
     /etc/profile.d/openrtm-aist-java.sh
  • jar files
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/License.txt
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/LogicalTimeTriggeredEC.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/NameserviceFile.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/OpenRTM-aist-1.2.0.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/commons-cli-1.1.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/jna-4.2.2.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/jna-platform-4.2.2.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/rtcd.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/rtcprof.jar

openrtm-aist-java-example

Java version sample RTCs, the class file, the source files, and the startup scripts.

 /usr/share/openrtm-1.2/components/java/* 
 /usr/share/openrtm-1.2/components/java/RTMExamples/AutoTest/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/Composite/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/ConfigSample/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/ExtTrigger/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/control/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/model/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/view/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/MyService.idl
 /usr/share/openrtm-1.2/components/java/RTMExamples/SeqIO/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SeqIO/view/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SimpleIO/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SimpleService/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SinCosOut/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/Throughput/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/TopicTest/*

openrtm-aist-java-doc

openrtm-aist-java-doc includes Japanese/English class reference.

 /usr/share/openrtm-1.2/doc/java/JavaDoc/OpenRTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/OpenRTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/_SDOPackage/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/_SDOPackage/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/Constants.html
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/log/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/Version.html
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/class-use
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/OpenRTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/OpenRTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/_SDOPackage/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/_SDOPackage/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/index-files/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/Constants.html
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/class-use/Logbuf.html
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/*

openrtm-aist-python

  • Commands
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist-python python modules
     usr/lib/python2.7/dist-packages/OpenRTM-aist/*
  • Python search pass file for OpenRTM-aist
     /usr/lib/python2.7/dist-packages/OpenRTM_aist.ph
  • Utilities
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • Class reference (English)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • Classs reference (Japanese)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

rtshell

  • Script for rtshell commands
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • Main portion of the commands
     /usr/local/lib/python2.7/dist-packages/rtctree/*
     /usr/local/lib/python2.7/dist-packages/rtshell/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile/*
  • Package information
     /usr/local/lib/python2.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python2.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

Install on Fedora

OpenRTM-aist for Java provides an RPM package that is available for Fedora Linux. You can check the supported versions of Fedora Linux on the download page. Please note that the support for Fedora Linux and its version is subject to change or stop without notice.

There are two main installation methods to install Fedora Linux, as follows.
  • Using the bulk installation script provided by openrtm.org
  • using the yum package manager

Bulk installation script

Download the installation script pkg_install_fedora.sh provided by openrtm.org from the download page and run it with root privileges. This script will install the necessary packages one by one using yum.

It is very convenient because it installs all the packages needed to develop and run OpenRTM-aist. option, so you can now install packages that are tailored to your needs. It is recommended whether you are installing OpenRTM-aist for the first time or trying to compile the source.

Please check the page of "Bulk installation script:http" for the download of the batch installation script, detailed installation instructions, and the types of options that can be specified.

A problem has been reported that the required OpenRTM-aist package is not installed when the bulk install script is used with the -l java option. Please follow the steps below to install the software.

 sudo yum install OpenRTM-aist OpenRTM-aist-devel

Install OpenRTP

In the directory where pkg_install_fedora.sh is located, you need to install OpenRTP by using the bulk installation script

 $ sudo sh pkg_install_fedora.sh -l openrtp --yes
You can install OpenRTP by typing

How to use yum

Create /etc/yum.repos.d/openrtm.repo

openrtm.org provides a package repository that is available from yum. However, it is not included in the default package repository, so you will need to change the YUM settings.

Create the file /etc/yum.repos.d/openrtm.repo which records the following settings. You usually need root privileges to create them.

 [openrtm]
 name=Fedora $releasever - $basearch
 failovermethod=priority
 baseurl=http://openrtm.org/pub/Linux/Fedora/releases/$releasever/Fedora/$basearch/os/Packages
 enabled=1
 gpgcheck=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
/etc/yum.repos.d/openrtm.repo

Install with *** yum

Once you have created openrtm.repo, follow the steps below to install it. You will be asked for several responses along the way, so complete them by typing y.

 $ sudo yum install gcc-c++ python
 $ sudo yum install omniORB omniORB omniORB-devel omniORB-doc omniORB-servers omniORB-utils
 $ sudo yum install OpenRTM-aist OpenRTM-aist-devel OpenRTM-aist-Java OpenRTM-aist-Java-doc OpenRTM-aist-Java-example
 $ sudo yum install OpenRTP

Setting environment variables

You need to set environment variables. Add the following line to the .bashrc file in your home directory (when using the 64 bit version)
 export RTM_JAVA_ROOT=/usr/lib64/openrtm-1.2
To enable this setting, please log in again after the installation is complete. About ***JDK8 The installation of the OpenRTM-aist-Java package for Fedora automatically installs OpenJDK8 from Fedora's standard repositories and sets it up as a Java environment to use, but if you want to use other JDKs for licensing and support terms, see the link below.

Finally, confirm the installation with the following command

 # rpm -q OpenRTM-aist
 OpenRTM-aist-1.2.0-0.fcXX.x86_64

Package details

Each package contains the followings.

openrtm-aist

openrtm-aist includes run-time libraries and commands

  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • Sample configuration file
     /etc/rtc.conf.sample
  • Libraries
     /usr/lib64/libRTC-1.2.0.so
     /usr/lib64/libRTC.a
     ...
     /usr/lib64/librtmManipulator.so.0.0.0
     /usr/lib64/openrtm-1.2/ec/FileNameservice.la
     /usr/lib64/openrtm-1.2/ec/FileNameservice.so
     ...
     /usr/lib64/openrtm-1.2/ec/RTPreemptEC.so.0.0.0
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.a
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.la
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.so
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.so.0
     /usr/lib64/openrtm-1.2/sdo/LoggerConsumer.so.0.0.0
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.la
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0.0.0

OpenRTM-aist-devel

openrtm-aist-dev includes commands and header files for RT system development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • Header files, etc.
      /usr/include/coil-1.2/coil/Affinity.h
      /usr/include/coil-1.2/coil/Allocator.h
      ...
      /usr/include/coil-1.2/coil/stringutil.h
      /usr/include/openrtm-1.2/rtm/BufferBase.h
      /usr/include/openrtm-1.2/rtm/BufferStatus.h
      ...
      /usr/include/openrtm-1.2/rtm/config_rtc.h
      /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
      /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
      ...
      /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
      /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
      /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
      ...
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
      /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
      /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt
      /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
      /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
      /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
      /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
      /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
      /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
      /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
      ...
      /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
      ...
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
      /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
      /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
      /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
      ...
      /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
      /usr/include/openrtm-1.2/rtm/version.h
      /usr/include/openrtm-1.2/rtm/version.txt
  • Libraries and others
      /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
      /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/README_gen.py
      /usr/lib/x86-64-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
      ...
      /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helpver/yat.py
      /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc

OpenRTM-aist-Java

  • Commands
     /usr/bin/rtcd_java
     /usr/bin/rtcprof_java
  • jar files
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/License.txt
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/LogicalTimeTriggeredEC.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/NameserviceFile.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/OpenRTM-aist-1.2.0.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/commons-cli-1.1.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/jna-4.2.2.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/jna-platform-4.2.2.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/rtcd.jar
     /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar/rtcprof.jar

OpenRTM-aist-Java-example

Java version sample RTC, the class files, the source files, and the startup script

 /usr/share/openrtm-1.2/components/java/* 
 /usr/share/openrtm-1.2/components/java/RTMExamples/AutoTest/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/Composite/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/ConfigSample/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/ExtTrigger/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/control/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/model/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/GUIIn/view/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/MyService.idl
 /usr/share/openrtm-1.2/components/java/RTMExamples/SeqIO/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SeqIO/view/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SimpleIO/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SimpleService/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/SinCosOut/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/Throughput/*
 /usr/share/openrtm-1.2/components/java/RTMExamples/TopicTest/*

OpenRTM-aist-Java-doc

openrtm-aist-java-doc includes Japanese/English class references

 /usr/share/openrtm-1.2/doc/java/JavaDoc/OpenRTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/OpenRTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/RTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/_SDOPackage/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/_SDOPackage/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/Constants.html
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/log/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/Version.html
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/class-use
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/jp/go/aist/rtm/*
 /usr/share/openrtm-1.2/doc/java/JavaDoc/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/OpenRTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/OpenRTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTM/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/RTM/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/_SDOPackage/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/_SDOPackage/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/index-files/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/Constants.html
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/class-use/Logbuf.html
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/jp/go/aist/rtm/class-use/*
 /usr/share/openrtm-1.2/doc/java/JavaDocEn/*

openrtp

Since openrtp installs a lot of files, I won't list them here. if necessary

 $ rpm -ql OpenRTP
to confirm for yourself.

Operation Check (On Windows)

Location of the sample component

After the installation or build is done successfully, test it in action with the included sample components. Sample components can usually be found at

  • C:\Program Files\OpenRTM-aist\1.2.1\Components\Java
  • OpenRTM-aist\jp.go.aist.rtm.RTC\bin\RTMExamples (when built from source)

Check that OpenRTM-aist is built and installed correctly using the sample component set SimpleIO.

Test with samples (SimpleIO)

This sample set consists of RT-components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs numbers input from the console to the OutPort, and ConsoleOut is a component that displays the numbers input from the InPort on the console. These are just simple examples to use the I/O (input and output). It works by making a connection from the OutPort of ConsoleIn to the InPort of ConsoleOut and activating (Activating) the two components.

The following explanation assumes that you have installed OpenRTM-aist with the MSI installer and start various programs from the Start menu.

RTSystemEditor, name server activation

Follow the steps below to start the RTSystemEditor and name servers.

Launching the sample components

After the name server start, start the appropriate sample components.

For Windows 10, open the sample folder by typing Java_Examples in the [Type here to search] field at the bottom right.

rtm27_en.png
Name server confirmed to start

rtm28_en.png
Sample Component Folders'

In this example, double-click on "ConsoleIn.bat" and "ConsoleOut.bat" to launch the two components. When it starts, two console screens will open, as shown below.

rtm29.png
ConsoleIn component and ConsoleOut component.

If the component does not start

If the component does not start, there are several possible causes.

Console screen opens and then disappears

The problem may occur if the environment variables RTM_ROOT and RTM_JAVA_ROOT are not set correctly. If you installed it with the msi installer, rebooting the OS may solve the problem.

Also, there is a problem with the setting of rtc.conf and it cannot be started in some cases. Please open [rtc.conf for examples] in the start menu folder above and check the settings. For example, if a setting such as corba.endpoint/corba.endpoints has a mismatch with the host address of the currently running PC, CORBA will terminate abnormally.

Please try setting it to the minimum rtc.conf like the following.

 corba.nameservers: localhost

Putting it in the editor

If you click [>] in the tree view of the RTSystemEditor, you will see that the two components you just launched are registered.

/en/node/6614
ConsoleIn component and ConsoleOut component.

Open an editor to edit the system. Click [Open New System Editor] buttonrtse_open_editor_icon.png in the top to open the editor in the middle pane.

Drag and drop the two components shown by the icon-rtce.png icon into the name service view on the left to the editor in the center.

/en/node/6614
Put the component in the editor

Connections and Activation

The right side of the ConsoleIn0 component has OutPort rtse_outport_icon_n.png where data is output, and the left side of the ConsoleOut0 component has InPort rtse_inport_icon_n.png where data is input.

These InPort/OutPort (called data port) are connected. When you drag and drop from OutPort to InPort (or InPort to OutPort), a dialog like the one shown in the following figure appears, so click the [OK] button with the default settings.

rtm13.png
Connecting data ports.

rtm12_en.png
Data Port Connection Dialog

A connecting line appears between the two components. Next, click the [Activate Systems] button rtm14.png on the top menu of the editor to activate these components. When activated, the component changes to green.

rtm15.png
Activated components

When the components are activated, the ConsoleIn component console will prompt with:

 Please input number: 

Enter an appropriate number (within the range of short int: 32767 or less) and press the Enter key. Then, on the ConsoleOut side, the entered values are displayed. It indicates that the data has been transferred from the ConsoleIn component to the ConsoleOut component.

This completes the confirmation of the basic operation of the component.

Other samples

The installer comes with a few other sample components as well. You can try these components by launching them in the same way, connecting and activating the ports in RTSystemEditor.

The following is a list of the attached batch files for component start-up and a brief description of the components that are invoked by them.

ConsoleInComp.bat Starts a component that outputs numbers input from the console to OutPort and is used by connecting with ConsoleOutComp.class.
ConsoleOutComp.bat Starts a component that displays the numbers entered in InPort to the console and is used by connecting with ConsoleInComp.class.
SeqInComp.bat Starts a component that outputs random numbers (Short, Long, Float, Double and its sequence type) and is used in conjunction with SequenceOutComp.class.
SeqOutComp.bat Starts a component that shows the numbers (Short, Long, Float, Double and its sequence type) entered into InPort and is used in conjunction with SequenceInComp.class.
MyServiceProviderComp.bat Starts a component that provides services of type MyService and is used in connection with MyServiceConsumerComp.class.
MyServiceConsumerComp.bat Starts a component that provides services of type MyService and is used in connection with MyServiceProviderComp.class.
ConfigurationSampleComp.bat Start a configuration sample component to understand the behavior of the configuration function by changing the Configuration from RtcLink.
ExtConsoleIn.bat Starts the component to transfer input numerical value from the console to OutPort with being controlled by an external trigger. It is used by connecting to ExtTrigger/ConsoleOutComp.class.
ExtConsoleOut.bat Starts the component to show the data from InPort to the console with being controlled by an external trigger. It is used by connecting to ExtTrigger/ConsoleInComp.class.
ExtConnector.bat Starts a program to send external triggers to ExtTrigger/ConsoleInComp.class and ExtTrigger/ConsoleOutComp.class.
GUIIn.bat Start the GUI sample that outputs the position of the slider from Outport.
Composite.bat Start a composite component that contains three components.|

Operation Check (On Linux)

After the installation is successfully completed, test the operation with the included samples. Samples can usually be found at
  • /usr/share/openrtm-1.2/components/java/
If built from the source, you can find it at:
  • OpenRTM-aist-Java/jp.go.aist.rtm.RTC/bin/RTMExamples/<sample component set name>

Check if OpenRTM-aist is built and installed correctly using the sample component set SimpleIO.

Sample component set SimpleIO

This sample set consists of RT components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs numbers input from the console to OutPort, and ConsoleOut is a component that displays the numbers input from InPort to the console. These are simple examples to show a way to handle I/O (input and output). It works by configuring a connection from the OutPort of ConsoleIn to the InPort of ConsoleOut and activating the two components.

In the following explanation, I assume that the samples are located in /usr/share/openrtm-1.2/components/java/SimpleIO.

Testing with samples

name server startup

Follow the steps below to start RTSystemEditor and name servers.

Launching ConsoleIn

Launch a terminal and launch ConsoleIn by typing-in:

 $ sh /usr/share/openrtm-1.2/components/java/ConsoleIn.sh

If you build and install it by yourself, you need to set the environment variable CLASSPATH first.

 Export CLASSPATH=. :${RTM_JAVA_ROOT}/jar/OpenRTM-aist-1.2.0.jar: {\fnDroid} 
 ${RTM_JAVA_ROOT}/jar/OpenRTM-aist-1.2.0.jar: ${RTM_JAVA_ROOT}/jar/commons-cli-1.1.jar 
 ${RTM_JAVA_ROOT}/jar/jna-4.2.2.jar:${RTM_JAVA_ROOT}/jar/jna-platform-4.2.2.jar: \frx346} 
 ${RTM_JAVA_ROOT}/bin

And then start the RTC by typing-in like:

 $ java RTMExamples.SimpleIO.ConsoleInComp

Launching ConsoleOut

Start another terminal and launch ConsoleOut by typing-in:

 $ sh /usr/share/openrtm-1.2/components/java/ConsoleOut.sh

If you built and installed the program yourself, start the RTC by typing-in like:

 $ java RTMExamples.SimpleIO.ConsoleOutComp

Putting them into the editor

Click [>] in the tree view of the RTSystemEditor to see that the two components you just launched are registered.

/en/node/6614
ConsoleIn component and ConsoleOut component.

Open an editor to edit the system. Click [Open New System Editor] buttonrtse_open_editor_icon.png in the top to open the editor in the middle pane.

Drag and drop the components (two) shown by the icon-rtce.png icon into the name service view on the left to the editor in the center.

rtm11l_en.png
Put the component in the editor

Connections and Activation

The right side of the ConsoleIn0 component has OutPort rtse_outport_icon_n.png where data is output, and InPort rtse_inport_icon_n.png where data is input, and the left side of the ConsoleOut0 component has InPort rtse_inport_icon_n.png respectively.

These InPort/OutPort (collectively called data ports) are connected. When drag and drop from OutPort to InPort (or InPort to OutPort) is made, a dialog like the one shown in the figure appears, so click the [OK] button with the default settings.

rtm13.png
Connecting data ports.

rtm12l_en.png
Data Port Connection Dialog

A connecting line appears between the two components. Next, click the [Activate Systems] button rtm14.png on the top menu of the editor to activate these components. When activated, the component changes to green.

rtm15.png
Activated components

Once the component is activated, the ConsoleIn console prompt:

 Please input number: 

Enter an appropriate number (within the range of short int: 32767 or less) and press the Enter key. Then, on the ConsoleOut side, the entered values are displayed. It indicates that the data has been transferred from the ConsoleIn component to the ConsoleOut component.

This completes the confirmation of the basic behavior of the component.

Build from the source code

If you want to change the source of OpenRTM-aist-Java, you can compile it from the source code.

Building the distribution source code

OpenRTM-aist (Java version) provides a build environment using Eclipse.

dependent library

The following development environment and libraries are required to build OpenRTM-aist.

Please follow the documentation for each library and install it.

Download the Source code

Download the source code for OpenRTM-aist-Java.

Expanding the source code

First, extract the source code to an appropriate directory.
  • In the case of Linux
     $ tar xvzf OpenRTM-aist-Java-X.X.X.tar.gz
  • For Windows, use a tool that can extract tgz.

Build.

Importing a project

Here's how to build it. (The figure shows the Windows version of Eclipse 3.4.2.) Start Eclipse and import the project into your workspace. Select [File]>[Import].

rtm16_en.png
[File]>[Import]

The Import Select window will open. Now, select [General] > [Existing Project into Workspace] and click the [Next>] button.

rtm17_en.png
Import 'Select' window

The Import Project window will open. Select the directory that has been expanded to [Select root directory] and click [Finish].

rtm18_en.png
[Import Project] window'

You can now import the project into your workspace.

JDE settings

Configure the JDK to be used for the build. First, go to [Window]>[Preferences] to open the settings screen.

rtm19_en.png
[Window]>[Preferences]

Select [Java] > [Installed JREs] from the tree on the left and press the add button.

rtm20_en.png
Installed JREs

Select "Standard VM" and click "Next>".

rtm21_en.png
Add a JRE.

Specify the path of the jre directory under the JDK installed directory into [JRE home] input box, specify JRE name into [JRE name] input box, and click [Finish].

rtm22_en.png
JRE settings

Turn on the checkbox of the JDK set in [installed JRE] list and click [Apply and close].

rtm23_en.png
[
Configure the JDK.

From the package explorer, right-click on "build.xml" and select [Run As]>[2 Ant Build...] from the package explorer, right-click [run]>[2 Ant build...].

rtm25_en.png
[Run As]>[2 Ant Build...]

The configuration edit window appears. Now, select jar, idlCompile, idlCompileEtc, clean, and compile_win and click the [Run] button.

rtm26_en.png
Configuration Edit Window

Then the build begins. If the message BUILD SUCCESSFUL or Build Success is displayed in the console window, it is completed.

Install OpenRTP 1.2

eclipse_logo.png

We provide RTCBuilder and RTSystemEditor to support the development of RT System. These two tools are collectively called OpenRTP. RTCBuilder and RTSystemEditor are development tools created as plug-ins for the Eclipse integrated development environment. Therefore, to use RTCBuilder and RTSystemEditor, you need to install Eclipse and Java development environment. It can be easily installed by using the bulk installation script and the MSI file. (See the link below).

Install with using the installer

This section describes how to install RTSystemEditor and RPCBuilder (OpenRTP) using the installer.

Installation on Windows

Please install using the above link. By default, all software supported by this installer will be installed. If necessary, select [Custom] during installation, and install OpenRTP and the OpenRTM-aist runtime and development environment according to the language used for development. (Currently, verification of non-default installations is not sufficient, so there is a possibility that problems may occur, such as that some required installations may not be installed. Install additional items separately at the case.)

Installation on Linux

Get the bulk installation script from the following link:

with root privileges, type in  $ sudo sh pkg_install_xxxx.sh -l openrtp --yes

here
xxxx
This is a character string that specifies the type of the OS to be installed, and can be one of ubuntu, debian, raspbian, or fedora.

 ("Sudo" may not need to be specified by using separate su command depending on the environment.)

Also, OpenRTP itself is a development tool, and in actual use, a language-compatible development environment must be installed. Therefore, please note that it is necessary to install OpenRTM-aist according to the development target by specifying one of c ++, python, and java with the -l option in the batch installation.

Install JDK8

To use OpenRTP, a JDK equivalent to JDK8 is required. The installer installs Open JDK8 to run Eclipse, which is the platform that runs OpenRTP, but if you need another JDK to meet the licensing conditions and support conditions, please follow the link below. Refer to and install JDK8 separately. Also, on some operating systems, a JDK other than JDK8 is installed by default, so you may need to remove it from the default use. Please refer to the link below even in that case.

Also, the JDK used to execute the OpenRTP Eclipse environment must be set separately in the OpenRTP GUI (Eclipse GUI). After starting OpenRTP, select [Window]> [Settings]. From the dialog that opens, click [>] next to [Java] and click [Installed JRE] to set.

OpenRTP startup procedure (1.2 Series, Widnows)

Launch OpenRTP

Start RTSystemEditor, a tool for operating the RTC and building the RT system. RTSystemEditor is included in a tool called OpenRTP, so you need to start OpenRTP first. Double-click the desktop shortcut or, in the case of Windows 10, enter "OpenRTP" in [Type here to search] at the lower left and click [OpenRTP] displayed in the search results to start Please give me.

/ja/node/6614
The desktop shortcut

/ja/node/6614
Type here to search

Choose a workspace and welcome to Eclipse

The first time you launch OpenRTP, it will ask you for the location of a directory to use as your workspace. If you have set it and want to use it again with the same settings and do not need to be asked again, click the checkbox for Use this setting as default and do not show this question again, Click the [Start] button. Also, the [Welcome to eclipse] screen may open at the first startup. In that case, click the [X] button on the [Welcome] tab at the top left to close it.

Start RTSystemEditor (RTSE)

Click the Open Perspective button in OpenRTP.

/ja/node/6614
Click "Open Perspective"

Select the "RTSystemEditor" on the "Open Perspective" list box and click the "Open" button.

/ja/node/6614
RTSystemEditorの起動

Start Name server

At first, start the name server to see the components.

/ja/node/6614
Start the name server

Warning from Windows Defender

When trying to start a name server, Windows Defender Firewall may display a Windows Security Alert dialog. The path of eclipse.exe of the installation path of OpenRTM, for example, C:\Program files\OpenRTM-aist\1.2.x\utils\openrtp\eclipse.exe is displayed in [Path:] Check that [Private networks such home or network] is checked and uncheck [Public networks such as those in airports and coffee shops (not recommended because those networks often have little or no security)] Click [Allow access]. This screen may be displayed differently on Windows 10 (other than build 1909, and may not be displayed depending on the setting. If it is displayed, make the same setting and close the dialog. A similar dialog may be displayed for Omniorb. Click [Allow access (A)] to allow access.

When the name server starts successfully, [localhost] is displayed in the name service view.

/ja/node/6614
Confirm name server start

If the name server was not started:

omniORB was not installed.

The MSI installer from openrtm.org includes omniORB. However, if you install OpenRTM-aist manually, OmniORB might not be installed. In this case, please check if OmniORB was installed.

Environmental variable OMNI_ROOT was not set

[Start Naming Service] trigger the batch file "rtm-naming.bat" on %RTM_ROOT%\bin and start the name server executable (omniNames.exe). At that time, the program is using an environmental variable OMNI_NAMES. If you used the installer software, the environmental variable is automatically set. However, in case of what the variable is not valid and you install OpenRTM-aist without using the installer software, the variable may not be set.

Please check if the system environmental variable OMNI_ROOT is also set. The variable can be shown or modified by the following steps.
  • Type "system environment variable" in to [Type here to search] text box at the bottom of the screen.
  • Click "Edit System Environmental variable"
  • Click [Environmental Variable ...] button.

Others

If the user name contains 2-byte characters, omniNames.exe may fail to start because the log output folder cannot be set properly. In this case, setting the environment variable TEMP to a location that does not include double-byte characters may improve the situation. Create an appropriate temporary directory (C: \ temp in the following case), set it to point to the environment variable TEMP, and start the name server.

 set TEMP=C:\temp
 cmd /c rtm-naming.bat

Also, in rare cases, there are cases where the startup does not work properly due to a problem with the hostname or address settings. In that case, if you tell omniNames.exe the IP address of the PC you are using, it may work well. Set the environment variable OMNIORB_USEHOSTNAME as follows (example below is when the IP address of the local host is 192.168.0.11).

 set cosnames="omninames"
 set orb="omniORB"
 set port=%1
 set OMNIORB_USEHOSTNAME=192.168.0.11
 set PATH=%PATH%;%OMNI_ROOT%\bin\x86_win32

OpenRTP startup procedure (1.2 series, Linux)

Launch OpenRTP

Start RTSystemEditor, a tool for operating the RTC and building the RT system. Since RTSystemEditor is included in a tool called OpenRTP, you need to start OpenRTP first.

  • Start OpenRTP with the following command.  $ openrtp

Start RTSystemEditor (RTSE)

  • Click the Open Perspective button in OpenRTP.
    Click to open perspective
  • Select [RTSystemEditor] from the window and click the [Open] button.
    rtm4_en.png
    Start RTSystemEditor

Start name server

  • Start a name server to register the component references.
    rtm5_en.png
    Start the name server
  • If the name server starts successfully, "localhost" is displayed in the name service view.
    rtm6_en.png
    Confirm name server startup

When using RTC remotely

In cases of a small system like Raspbian, OpenRTP itself is not supported. In such a case, you may use OpenRTP which is run on another host. For this, there is two way. One way is remotely connecting the name service run on the Raspbian system from OpenRTP which is run on another host. The other way is registering RTC to the remote naming service which is run on the other host. In this case, OpenRTP also is running on the host (name service is running on the host). The procedures are shown below.

How to register a name server service running in a remote environment

  • From the command line of the host machine where the RTC is running, enter the following command to start the name service.  $ rtm-naming
  • Start the RTC you want to run.
  • Switch to the machine which you want to run OpenRTP then ether the following command to start OpenRTP  $ openrtp
  • Click [Open perspective] button and Select [RTSystemEditor] as the same way as using RTSystemEditor and RTC in a machine. Then click
  • Click [Add Name Server] button.
    rtm6-2_en.png
    "Add nameserver"
  • You will be asked for the name server address. Specify the address. If you use a port number other than the default, specify the port number in the input box as <address>: <port number>.
    rtm6-3_en.png
    Name server addressing

How to register the RTC on the remote machine with the name service running OpenRTP

  • Change the directory where the RTC file is located and edit rtc.conf. For example:
     sudo gedit rtc.conf
  • Then replace the following line:
     corba.nameservers: localhost

with the line:

 corba.nameservers: <address of host running OpenRTP>

This makes the RTC register to the remote name service. And you can see the RTC on the OpenRTP name service view.