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

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK