Installing to Raspberry Pi OS

Supported version

The version of Raspbian for which packages are currently available is

  • Bookworm (64bit)

SD card preparation

It is convenient to use Raspberry Pi Imager, a tool that can be downloaded from the official website, to write the OS image.
https://www.raspberrypi.com/software/

You can download and write by selecting the following.
  • Debian GNU/Linux version (Latest / Legacy)
  • With or without GUI (Desktop / Lite)
  • system architecture (32-bit / 64-bit)

Changes in 2.1 series

SSM communication function can now be installed. Since the SSM library is statically linked, you do not need to install SSM separately. The following will be installed from the openrtm2-ssm-tp deb package.

 usr/
 ├── bin
 │   ├── killssm
 │   ├── lsssm
 │   ├── psssm
 │   ├── ssm-advance-player
 │   ├── ssm-coordinator
 │   ├── ssm-date
 │   ├── ssm-graph
 │   ├── ssm-logger
 │   ├── ssm-monitor
 │   ├── ssm-player
 │   ├── ssm-proxy
 │   ├── ssm-transporter
 │   └── topssm
 ├── etc
 │   └── transport
 │       └── rtc.ssm.conf
 └── share
     └── openrtm-2.1
         └── transport
             └── SSMTransport.so

This feature will not be installed if you run the "Batch Installation Script" described in the next section without any options.
You can install it by specifying the option "-l c++ --ssm". You can check this with --help.

Bulk installation script

To install 2.1 series, paste the following into the shell prompt and execute it. C ++ version, Python version, Java version, rtshell, JDK8 will be installed. Scripts are not saved locally.  
※Iif multiple versions of Java are installed when executing a script, it will switch to using Java8.

 $ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_raspbian.sh)

This will install the following packages:

 $ dpkg -l | grep openrt
 ii  openrtm2:arm64                         2.1.0-0                                  arm64        OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm2-dev:arm64                     2.1.0-0                                  arm64        OpenRTM-aist headers for development
 ii  openrtm2-doc                           2.1.0-0                                  all          Documentation for openrtm2
 ii  openrtm2-example:arm64                 2.1.0-0                                  arm64        OpenRTM-aist examples
 ii  openrtm2-idl:arm64                     2.1.0-0                                  arm64        OpenRTM-aist idls for development
 ii  openrtm2-java:arm64                    2.1.0-0                                  arm64        OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm2-java-example:arm64            2.1.0-0                                  arm64        OpenRTM-aist-Java examples
 ii  openrtm2-naming:arm64                  2.1.0-0                                  arm64        OpenRTM-aist name server launcher
 ii  openrtm2-python3                       2.1.0-0                                  arm64        OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm2-python3-example               2.1.0-0                                  arm64        OpenRTM-aist-Python examples

Using the default pip version will cause rtshell installation to fail.
Follow the instructions in the yellow text displayed by the installation script and add the following to /etc/pip.conf (create a new file if it doesn't exist).

 $ vi /etc/pip.conf
 [global]
 break-system-packages = true

After configuring the settings above, you can install rtshell by running the installation script again.

 $ pip3 list | grep aist
 OpenRTM-aist-Python        2.1.0
 rtctree-aist                       4.2.5
 rtshell-aist                       4.2.10
 rtsprofile-aist                    4.1.6

The package details

The contents of each package are as follows.

openrtm2

openrtm2 contains a runtime library and a set of commands.

  • Command
     /usr/bin/openrtmNames
     /usr/bin/rtcd2
     /usr/bin/rtcprof2
     /usr/bin/rtm2-config
  • Sample configuration file
     /usr/etc/rtc.conf.sample2
     /usr/etc/rtc.names.ssl.conf
     /usr/etc/ssl/rtc.ssl.conf
     /usr/lib/aarch64-linux-gnu/pkgconfig/openrtm2.pc
  • Libraries, etc.
     /usr/lib/aarch64-linux-gnu/libRTC2.a
     /usr/lib/aarch64-linux-gnu/libRTC2.so.2.1.0
     ...
     /usr/lib/aarch64-linux-gnu/librtmCamera2.so
     /usr/lib/aarch64-linux-gnu/librtmManipulator2.so
    ...
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/ec/LogicalTimeTriggeredEC.so
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/local_service/FileNameservice.so
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/sdo/ComponentObserverConsumer.so
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/sdo/ExtendedFsmServiceProvider.so
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/sdo/LoggerConsumer.so
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/ssl/SSLTransport.so
     ...
     /usr/lib/aarch64-linux-gnu/openrtm-2.1/sdo/LoggerConsumer.so

openrtm2-naming

Start name server.

 /usr/bin/rtm2-naming

openrtm2-dev

contains the commands and headers needed for development.

  • Command
     /usr/bin/rtm2-skelwrapper
  • Header files
     /usr/include/coil-2.1/coil/Affinity.h
     /usr/include/coil-2.1/coil/Async.h
     ...
     /usr/include/openrtm-2.1/rtm/BufferBase.h
     /usr/include/openrtm-2.1/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-2.1/rtm/config_rtc.h
     /usr/include/openrtm-2.1/rtm/idl/BasicDataType.hh 
     /usr/include/openrtm-2.1/rtm/idl/BasicDataTypeSkel.h
     ...
     /usr/include/openrtm-2.1/rtm/idl/SharedMemoryStub.h
     /usr/include/openrtm-2.1/rtm/version.h
  • Libraries and others
     /usr/lib/aarch64-linux-gnu/cmake/openrtm-2.1/OpenRTMConfig.cmake
     /usr/lib/aarch64-linux-gnu/cmake/openrtm-2.1/OpenRTMConfigVersion.cmake
     /usr/share/openrtm-2.1/py_helper/skel_wrapper.py
     /usr/share/openrtm-2.1/py_helper/yat.py

openrtm2-idl

  • idl files etc.
     /usr/include/openrtm-2.1/rtm/idl/BasicDataType.idl
     /usr/include/openrtm-2.1/rtm/idl/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-2.1/rtm/idl/SharedMemory.idl
     /usr/share/openrtm-2.1/idl/BasicDataType.idl
     /usr/share/openrtm-2.1/idl/CameraCommonInterface.idl
     ...
     /usr/share/openrtm-2.1/idl/SharedMemory.idl

openrtm2-example

contains samples for standalone RTC and loadable RTC respectively.

  • Sample (Stand alone RTC)
     /usr/share/openrtm-2.1/components/c++/examples/CompositeComp
     /usr/share/openrtm-2.1/components/c++/examples/ConfigSampleComp
     ...
     /usr/share/openrtm-2.1/components/c++/examples/rtc.conf
  • Sample (Loadable RTC)
     /usr/share/openrtm-2.1/components/c++/examples/rtc/ConfigSample.so
     /usr/share/openrtm-2.1/components/c++/examples/rtc/ConsoleIn.so
     ...
     /usr/share/openrtm-2.1/components/c++/examples/rtc/Throughput.so

openrtm2-doc

contains Japanese and English class references and IDL interface definition references.

  • Class Reference (Japanese)
     /usr/share/openrtm-2.1/doc/c++/ClassReference/html/BufferBase_8h.html
     /usr/share/openrtm-2.1/doc/c++/ClassReference/html/BufferBase_8h__dep__incl.map
     ...
     /usr/share/openrtm-2.1/doc/c++/ClassReference/html/structSDOPackage_1_1Organization__impl_1_1sdo__id.html
  • IDL Reference (Japanese)
     /usr/share/openrtm-2.1/doc/idl/IDLReference/html/BasicDataType_8idl.html
     /usr/share/openrtm-2.1/doc/idl/IDLReference/html/BasicDataType_8idl_dep_incl.map
     ...
     /usr/share/openrtm-2.1/doc/idl/IDLReference/html/unionSDOPackage_1_1Numeric.html
  • Class Reference(English)
     /usr/share/openrtm-2.1/doc/c++/ClassReference-en/html/BufferBase_8h.html
     /usr/share/openrtm-2.1/doc/c++/ClassReference-en/html/BufferBase_8h__dep__incl.map
     ...
     /usr/share/openrtm-2.1/doc/C++/ClassReference-en/html/version_8h_source.html
  • IDL Reference(English)
     /usr/share/openrtm-2.1/doc/idl/IDLReference-en/html/BasicDataType_8idl.html
     /usr/share/openrtm-2.1/doc/idl/IDLReference-en/html/BasicDataType_8idl__dep__incl.map
     ...
     /usr/share/openrtm-2.1/doc/idl/IDLReference-en/html/unionSDOPackage_1_1Numeric.html

openrtm2-python3

  • Command
     /usr/bin/rtcd2_python3
     /usr/bin/rtcprof2_python3
  • Python module of OpenRTM-aist body
     /usr/lib/python3/dist-packages/OpenRTM_aist/* 
  • Python search path file for OpenRTM-aist
     /usr/lib/python3/dist-packages/OpenRTM-aist.pth 
  • utility
     /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/*

openrtm2-python3-example

 /usr/share/openrtm-2.1/components/python3/__init__.py
 /usr/share/openrtm-2.1/components/python3/component.conf
 /usr/share/openrtm-2.1/components/python3/rtcd.conf
 /usr/share/openrtm-2.1/components/python3/AutoControl/*
 /usr/share/openrtm-2.1/components/python3/AutoTest/*
 /usr/share/openrtm-2.1/components/python3/CSPSample/*
 /usr/share/openrtm-2.1/components/python3/CSPSelectSample/*
 /usr/share/openrtm-2.1/components/python3/CSPStaticFsmSample/*
 /usr/share/openrtm-2.1/components/python3/Composite/*
 /usr/share/openrtm-2.1/components/python3/ConfigSample/*
 /usr/share/openrtm-2.1/components/python3/ExtTrigger/*
 /usr/share/openrtm-2.1/components/python3/MobileRobotCanvas/*
 /usr/share/openrtm-2.1/components/python3/SeqIO/*
 /usr/share/openrtm-2.1/components/python3/Serializer/*
 /usr/share/openrtm-2.1/components/python3/SimpleIO/*
 /usr/share/openrtm-2.1/components/python3/SimpleService/*
 /usr/share/openrtm-2.1/components/python3/Slider_and_Motor/*
 /usr/share/openrtm-2.1/components/python3/Throughput/*
 /usr/share/openrtm-2.1/components/python3/TkJoyStick/
 /usr/share/openrtm-2.1/components/python3/TkLRFViewer/*

openrtm2-java

 /etc/profile.d/openrtm-java.sh
 /usr/bin/rtcd2_java
 /usr/bin/rtcprof2_java
 /usr/share/openrtm-2.1/jar/License.txt
 /usr/share/openrtm-2.1/jar/LogicalTimeTriggeredEC.jar
 /usr/share/openrtm-2.1/jar/NameserviceFile.jar
 /usr/share/openrtm-2.1/jar/OpenRTM-aist-2.1.0.jar
 /usr/share/openrtm-2.1/jar/commons-cli-1.1.jar
 /usr/share/openrtm-2.1/jar/jna-4.2.2.jar
 /usr/share/openrtm-2.1/jar/jna-platform-4.2.2.jar
 /usr/share/openrtm-2.1/jar/rtcd.jar
 /usr/share/openrtm-2.1/jar/rtcprof.jar

openrtm2-java-example

 /usr/share/openrtm-2.1/components/java/* 
 /usr/share/openrtm-2.1/components/java/RTMExamples/AutoTest/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/Composite/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/ConfigSample/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/ExtTrigger/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/Fsm/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/GUIIn/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/MyService.idl
 /usr/share/openrtm-2.1/components/java/RTMExamples/SeqIO/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/SimpleIO/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/SimpleService/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/SinCosOut/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/StaticFsm/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/Throughput/*
 /usr/share/openrtm-2.1/components/java/RTMExamples/TopicTest/*

Download

latest Releases : 2.0.0-RELESE

2.1.0-RELESE Download page
2.0.1-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