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.
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:
Using Windows is relatively easier than using Linux or Mac OS. Then if you are a beginner, using Windows is recommended.
$ 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.
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.
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
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.
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".
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
Each package contains the following.
openrtm-aist includes commands and run-time libraries.
/usr/bin/rtcd /usr/bin/rtcprof /usr/bin/rtm-config /usr/bin/rtm-naming
/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
/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
/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
/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 includes commands and header files that are required for RT system development.
/usr/bin/coil-config /usr/bin/rtc-template /usr/bin/rtm-skelwrapper
/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
/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
/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
/etc/profile.d/openrtm-aist-idl.sh
/usr/share/doc/openrtm-aist-idl/changelog.Debian.gz /usr/share/doc/openrtm-aist-idl/changelog.gz /usr/share/doc/openrtm-aist-idl/copyright
/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 includes sample stand-alone RTCs, sample loadable RTCs, and the source code.
/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
/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
/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
/usr/share/doc/openrtm-aist-example/changelog.Debian.gz /usr/share/doc/openrtm-aist-example/changelog.gz /usr/share/doc/openrtm-aist-example/copyright
/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
/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 include the Japanese/English class reference and IDL interface definition reference.
/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
/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
/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
/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
/usr/share/doc/openrtm-aist-doc/changelog.Debian.gz /usr/share/doc/openrtm-aist-doc/changelog.gz /usr/share/doc/openrtm-aist-doc/copyright