現在パッケージが用意されている Raspberry Pi OS のバージョンは
です。
OSイメージの書き込みは、公式サイトでダウンロードできるツール、Raspberry Pi Imager を使うのが便利です。
https://www.raspberrypi.com/software/
新しく SSM通信機能 をインストールできるようになりました。
SSMライブラリを静的リンクしているので、別途SSMをインストール必要はありません。openrtm2-ssm-tpのdebパッケージで下記がインストールされます。
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この機能は次の項で説明している「一括インストールスクリプト」をオプション無しで実行した場合はインストールされません。
オプションとして「-l c++ --ssm」と指定するとインストールできます。 --help で確認できます。
2.1系のインストールは、下記をシェルプロンプトに貼り付けて実行してください。 C++版、 Python版、 Java版、 rtshell、JDK8 がインストールされます。 スクリプトはローカルに保存されません。
※Javaの複数バージョンがインストールされても、Java8 使用に切り替わっています。
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_raspbian.sh)
この実行により以下のパッケージがインストールされます。
$ 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
デフォルトのpipバージョン利用で、 rtshellのインストールに失敗します。
インストールスクリプトが表示している黄文字のメッセージに従い、 /etc/pip.conf へ(存在しなければ 新規作成して)下記を追記して下さい。
$ vi /etc/pip.conf [global] break-system-packages = true
上記設定後に再度インストールスクリプトを実行するとrtshellをインストールできます。
$ 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
オプションを指定することで、目的に合わせたパッケージをインストールすることが可能です。 help は下記で確認できます。
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_raspbian.sh) --help
openrtm-aistにはランタイムライブラリとコマンド群が含まれています。
/usr/bin/openrtmNames /usr/bin/rtcd2 /usr/bin/rtcprof2 /usr/bin/rtm2-config
/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
/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
開発に必要なコマンド群とヘッダが含まれています。
/usr/bin/rtm2-skelwrapper
/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
/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
/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
openrtm-aist-exampleにはスタンドアロンRTC、ローダブルRTCそれぞれのサンプルと、サンプル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
/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
openrtm-aist-docには、日本語と英語のクラスリファレンス、IDLインターフェース定義リファレンスが含まれています。
/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
/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
/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
/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
/usr/bin/rtcd2_python3 /usr/bin/rtcprof2_python3
/usr/lib/python3/dist-packages/OpenRTM_aist/*
/usr/lib/python3/dist-packages/OpenRTM-aist.pth
/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/*
/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/*
/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
/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/*