RTC development requires installation of Python, CMake, Doxygen, and 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 2015/2017/2019/2022 separately.
The latest version of Visual Studio that has been confirmed to work is 2022.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. Python supported by OpenRTM-aist is 3.7, 3.8, 3.9, 3.10, 3.11. We recommend that you install the latest version.
Please note the following points when installing.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.
Please install the latest version as much as possible.
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.
Please install the latest version as much as possible.
During the installation, you will be asked what to do with the system PATH as the Install Options, but we recommend that you select Add Graphviz 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 7.1.0 (20230121.1956) libdir = "C:\Program Files\Graphviz\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\bin\config6 was successfully loaded. render : cairo dot dot_json fig gdiplus json json0 map mp pic pov ps svg tk visio 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 pov ps ps2 svg tif tiff tk vdx vml xdot xdot1.2 xdot1.4 xdot_json loadimage : (lib) bmp eps gif jpe jpeg jpg png ps svg
After installing the above software, install OpenRTM-aist.
Download and execute "msi" file.
OpenRTM-aist-2.0.1-RELEASE_x86_64.msi | MD5:057354e97e6dd531801a9ae435ed2abe | 771MB |
This installer contains the following.
The system environment variable "RTM_VC_VERSION'' is set according to the installed version of Visual Studio. If you want to change it after installation, you can set it using GUI tools. See the VCVerChanger page for how to use it.
Visual Studio version | Specified value of RTM_VC_VERSION | |
2015、2017 | vc14 | |
2019、2022 | vc16 | default |
※Even if you do not change the version of Visual Studio after installation, check the system environment variable settings once with VCVerChanger. If there are any unnecessary paths left, delete them.
After successful installation, you can check the operation with the attached sample component. We have prepared a bat file, so you can start it by double-clicking it.
The bat file is easily accessible by opening the start menu folder from [OpenRTM-aist 2.0.0 x86_64] in the start menu.
The installation destination of the sample component is as follows.
C:\Program Files\OpenRTM-aist\2.0.x\Components\C++\Examples C:\Program Files\OpenRTM-aist\2.0.x\Components\Python C:\Program Files\OpenRTM-aist\2.0.x\Components\Java C:\Program Files\OpenRTM-aist\2.0.x\Components\C++\OpenCV
Below is a brief description of the included sample components and a link to a page that explains how to use them.
bat file name | brief description of the sample component | Explanation page |
ConsoleIn.bat ConsoleOut.bat |
ConsoleIn.bat : Start ConsoleIn component that outputs the number entered from the console from OutPort. ConsoleOut.bat :Start ConsoleOut component that displays the number entered in the InPort on the console. |
SimpleIO |
SeqIn.bat SeqOut.bat |
SeqIn.bat : Start SeqIn component that outputs random numbers (Short, Long, Float, Double and their sequence types). SeqOut.bat : Start SeqOut component that displays the numbers (Short, Long, Float, Double and their sequence types) that will be input to the InPort. |
SeqIO |
MyServiceProvider.bat MyServiceConsumer.bat |
MyServiceProvider.bat : Start MyServiceProvider component that provides a service of type MyService. MyServiceConsumer.bat : Start MyServiceConsumer component that provides the MyService type service.。 |
SimpleService |
ConfigSample.bat | Start ConfigSample component, which is an example of using the Configuration function. This is a sample to understand the behavior of Configuration by changing Configuration from RtcLink. | ConfigSample |
Composite.bat | Start composite component creation sample PeriodicECSharedComponent component. It combines three sub-components, Sensor, Controller, and Motor. It is a good idea to connect to a component such as ConsoleIn and use it. | Composite |
bat file name | brief description of the sample component | Explanation page |
TkJoystickComp.bat | Sample GUI component using Tcl/Tk. Simple joystick component. | TkJoyStick |
TkMobileRobotSimulator.bat | A simple simulator for mobile robots. The speed of the robot is received by InPort, and the position after movement is output from OutPort. | TkMobileRobotSimulator |
TkMotorComp.bat | Sample GUI component using Tcl/Tk. GUI displays how the InPort rotates at the speed of the value received. | TkMotorComp |
SliderComp.bat | Sample GUI component using Tcl/Tk. Output the value specified by Slider from OutPort. | SliderComp |
TkMotorPosComp.bat | Sample GUI component using Tcl/Tk. GUI displays how the value received by InPort moves as the angle of rotation. | TkMotorPosComp |
TkLRFViewer.bat | Sample GUI component using Tcl/Tk. Display the data output from the laser range sensor, etc. | tkLRFViewer |
AutoControl.bat | Output speed with a component for mobile robots. The data of the positioning sensor is received by InPort, the speed of the robot is calculated, and it is output from OutPort. | Autocontrol |
bat file name | brief description of the sample component | Explanation page |
ExtConsoleIn.bat ExtConsoleOut.bat ExtConnector.bat |
ExtConsoleIn.bat : Console controlled by an external trigger Starts a component that outputs the input numerical value from Outport. ExtConsoleOut.bat : Starts a component that outputs the numerical value input to the Inport controlled by an external trigger to the console. ExtConnector.bat : Launches a program that sends external triggers to ExtTrigger / ConsoleInComp.class or .py and ExtTrigger / ConsoleOutComp.class or .py. |
ExtTrigger |
bat file name | brief description of the sample component | Explanation page |
GUIIn.bat | Launch a GUI sample that outputs the slider position from Outport. You can also connect to ConsoleOutComp.class. | GUIIn |
bat file name | brief description of the sample component | Explanation page |
Affine.bat | Affine transforms the input image. | |
BackgroundSubtractionSimple.bat | Outputs the change from the image when the key was input in the input image. | |
Binarization.bat | Converts an input image to a binary black and white image. | |
CameraViewer.bat | The image received by ImPort is displayed on the screen. | CameraViewer |
Chromakey.bat | Extracts an object by removing a specific color from the image. | Chromakey |
DialationErosion.bat | Perform dialing / erosion processing | |
Edge.bat | Outputs the first-order derivative image in the X direction, the first-order derivative image in the Y direction, and the Laplacian image (second-order derivative image) | |
Findcontour.bat | Extract the outline and display the outline in the image. | |
Flip | Invert the image. | Flip usage example |
Histgram.bat | Displays changes in histogram while changing brightness / contrast of black and white image | |
Hough.bat | Line extraction by Hough transform | |
ImageCalibration.bat | Calibrate the camera. | Automatically start from TkCalibGUI |
ImageSubtraction.bat | Background image is extracted from the input image, the foreground image part is output as a mask image and the background image is output. | ImageSubtraction |
ObjectTracking.bat | Tracks an object selected on the screen and show the position by a red oval. | ObjectTracking |
OpenCVCamera.bat | Output the captured image of the USB camera from OutPort. | OpenCVCamera |
Perspective.bat | Perspective conversion of image (Convert as viewed from below. | |
RockPaperScissors.bat | Judgment of Goocho kipper in image. | |
Rotate.bat | Rotates and scales images | |
Scale.bat | Processes images for scaling | |
Sepia.bat | Separates images | |
SubtractCaptureImage.bat | Updates the background in real-time using the dynamic background subtraction method. | SubtractCaptureImage |
Template.bat | Template matching | |
TkCalibGUI.bat | GUI for ImageCalibration component that performs camera calibration. | TkCalibGUI |
Translate.bat | Performs two-dimensional translation of images |
If you want to modify OpenRTM-aist itself and use it on Windows, you can get the source code of OpenRTM-aist and build it. Since CMake is supported from 2.0 series, the procedure is different from 1.2 series.
Following software is required. For details, see Installation of OpenRTM-aist 2.0 series on Windows
The pre-built binary package provided by openrtm.org is available under the name omniORB-4.2.5-x64-vc14-pyXX.zip at the link below. Please replace it with the version of python to install XX, download the appropriate one, and extract it to a suitable location (C:\workspace\omniORB in the explanation below).
For more information on building with other libraries, see RT System Development (Advanced)・Build process of OpenRTM-aist(C++) by using CMake
Get the source code. Check out the master branch for the latest OpenRTM-aist 2.0 source, and v2.0.0 for the 2.0.0 release source.
git clone https://github.com/OpenRTM/OpenRTM-aist cd OpenRTM-aist git checkout -b v200-src refs/tags/v2.0.0
mkdir build cd build cmake -DORB_ROOT=C:/workspace/omniORB-4.2.5-x64-vc14-py310 -G "Visual Studio 17 2022" -DCMAKE_INSTALL_PREFIX=C:/workspace/openrtminstall ..
Then execute the following command. Finally, if you see the following, the build is successful.
cmake --build . --verbose --config Release The build was successful. 0 Warnings 0 Error
If the build is successful, complete the installation with the following command:
cmake --build . --config Release --target install
I will introduce a script (cxx_src_build.bat) that batch processes from download of omniORB to source build and installation. It is executed by placing it under the OpenRTM-aist directory that has been git cloned.
cd OpenRTM-aist cxx_src_build.bat > 1.log
When executing the script, specify only the three items "Visual Studio version", "Python version", and "Installation destination" according to the environment.
set CMAKE_GENERATOR="Visual Studio 16 2019" set PY_VERSION=39 ・・・ Specify one of 37, 38, 39, 310 set INSTALL_PREFIX=C:\localRTM-test
@echo off @rem @rem ---------- Fit to the environment. ------- set CMAKE_GENERATOR="Visual Studio 16 2019" set PY_VERSION=39 set INSTALL_PREFIX=C:\localRTM-test @rem ---------- Fit to the environment. ------- set OMNI_VERSION=4.2.5 set VC_VERSION=vc14 if exist %INSTALL_PREFIX% rmdir /s/q %INSTALL_PREFIX% @rem @rem Convert "\" in the path to "/" set current_dir=%~dp0 set RTM_ROOT=%current_dir:\=/% set INSTALL_PREFIX=%INSTALL_PREFIX:\=/% @rem @rem omniORB download set base_omni_url="https://openrtm.org/pub/omniORB/win32/omniORB-%OMNI_VERSION%/" set OMNIORB_DIR=omniORB-%OMNI_VERSION%-x64-%VC_VERSION%-py%PY_VERSION% set OMNIORB_ZIP=%OMNIORB_DIR%.zip set OMNIORB_URL=%base_omni_url%/%OMNIORB_ZIP% if not exist %OMNIORB_ZIP% ( powershell wget -O %OMNIORB_ZIP% %OMNIORB_URL% ) if exist %OMNIORB_DIR% rmdir /s/q %OMNIORB_DIR% powershell Expand-Archive .\%OMNIORB_ZIP% -DestinationPath .\ set OMNIORB_ROOT=%RTM_ROOT%/%OMNIORB_DIR% @rem @rem set cmake parameter set CMAKE_OPT=-DORB_ROOT=%OMNIORB_ROOT% ^ -DCMAKE_INSTALL_PREFIX=%INSTALL_PREFIX% ^ -G %CMAKE_GENERATOR% ^ -A x64 .. call :CMAKE_Release exit /b @rem :CMAKE_Release if exist build-release rmdir /s/q build-release mkdir build-release cd build-release cmake %CMAKE_OPT% cmake --build . --verbose --config Release cmake --install . cd .. exit /b
OpenRTM-aist has both Release/Debug builds. As for the binary of omniORB, there is no problem using the binary built with vc14, but the binary for vc16 is prepared and used.
@echo off @rem set CMAKE_GENERATOR="Visual Studio 16 2019" set VC_VERSION=vc16 set SSL_VC_VERSION=vc14 set PY_VERSION=39 set INSTALL_PREFIX=C:\localRTM set OMNI_VERSION=4.2.5 set SSL_VERSION=3.0.1 set BOOST_PATH=C:\local\boost_1_78_0 set FLB_ROOT=C:\localFLB @rem if exist %INSTALL_PREFIX% rmdir /s/q %INSTALL_PREFIX% @rem ------------ @rem Convert "\" in the path to "/" set current_dir=%~dp0 set RTM_ROOT=%current_dir:\=/% set BOOST_PATH=%BOOST_PATH:\=/% set INSTALL_PREFIX=%INSTALL_PREFIX:\=/% set FLB_ROOT=%FLB_ROOT:\=/% @rem ------------ @rem omniORB download set base_omni_url="https://openrtm.org/pub/omniORB/win32/omniORB-%OMNI_VERSION%/" set OMNIORB_DIR=omniORB-%OMNI_VERSION%-x64-%VC_VERSION%-py%PY_VERSION% set OMNIORB_ZIP=%OMNIORB_DIR%.zip set OMNIORB_URL=%base_omni_url%/%OMNIORB_ZIP% if not exist %OMNIORB_ZIP% ( powershell wget -O %OMNIORB_ZIP% %OMNIORB_URL% ) if exist %OMNIORB_DIR% rmdir /s/q %OMNIORB_DIR% powershell Expand-Archive .\%OMNIORB_ZIP% -DestinationPath .\ set OMNIORB_ROOT=%RTM_ROOT%/%OMNIORB_DIR% @rem ------------ @rem OpenSSL download set base_ssl_url="https://openrtm.org/pub/OpenSSL/%SSL_VERSION%" set OPENSSL_ZIP=openssl-%SSL_VERSION%-win64-%SSL_VC_VERSION%.zip set OPENSSL_URL=%base_ssl_url%/%OPENSSL_ZIP% if not exist %OPENSSL_ZIP% ( powershell wget -O %OPENSSL_ZIP% %OPENSSL_URL% ) if exist OpenSSL rmdir /s/q OpenSSL powershell Expand-Archive .\%OPENSSL_ZIP% -DestinationPath .\ set SSL_ROOT=%RTM_ROOT%OpenSSL/build @rem ------------ @rem set cmake parameter set CMAKE_OPT=-DRTM_VC_VER=%VC_VERSION% ^ -DORB_ROOT=%OMNIORB_ROOT% ^ -DCORBA=omniORB ^ -DSSL_ENABLE=ON ^ -DOPENSSL_ROOT=%SSL_ROOT% ^ -DCMAKE_INSTALL_PREFIX=%INSTALL_PREFIX% ^ -DWINDOWS_MSM_BUILD=ON ^ -DBOOST_ROOT=%BOOST_PATH% ^ -DFLUENTBIT_ENABLE=ON ^ -DFLUENTBIT_ROOT=%FLB_ROOT% ^ -G %CMAKE_GENERATOR% ^ -A x64 .. call :CMAKE_Debug call :CMAKE_Release exit /b @rem ------------ :CMAKE_Release if exist build-release rmdir /s/q build-release mkdir build-release cd build-release cmake %CMAKE_OPT% cmake --build . --verbose --config Release cmake --install . cd .. exit /b @rem ------------ :CMAKE_Debug if exist build-debug rmdir /s/q build-debug mkdir build-debug cd build-debug cmake %CMAKE_OPT% cmake --build . --verbose --config Debug cmake --install . --config Debug cd .. exit /b
The installer copies the files and configures the system according to the following work contents. It is described below for reference when confirming that the installation and uninstallation are performed correctly.
RTM_BASE=C:\Program Files\OpenRTM-aist\ RTM_ROOT=C:\Program Files\OpenRTM-aist\2.0.0\ RTM_VC_VERSION=vc16 (※If you selected Visual Studio versions 2015, 2017 during installation, vc14) RTM_JAVA_ROOT=C:\Program Files\OpenRTM-aist\2.0.0\ RTM_IDL_DIR=C:\Program Files\OpenRTM-aist\2.0.0\rtm\idl\ OMNI_ROOT=C:\Program Files\OpenRTM-aist\2.0.0\omniORB\4.2.5_vc16\ OpenCV_DIR=C:\Program Files\OpenRTM-aist\2.0.0\OpenCV4.4\ OpenRTM_DIR=C:\Program Files\OpenRTM-aist\2.0.0\cmake\
C:\Program Files\OpenRTM-aist\2.0.0\bin\vc16\ C:\Program Files\OpenRTM-aist\2.0.0\omniORB\4.2.5_vc16\bin\x86_win32\ C:\Program Files\OpenRTM-aist\2.0.0\OpenCV4.4\x64\vc16\bin\
The files are installed with the following structure.
<install_dir> + OpenRTM-aist + 1.x.x : Older version runtime + 2.0.x + bin: dll、lib Various commands + cmake: OpenRTMConfig.cmake + coil: coil header files + Components + C++ + Examples: C++ sample component + OpenCV: OpenCV C ++ sample component + Java: Java sample component + Python: Python sample component + ext: Extension module file + hrtm: HRTM Wrapper Library + jar: jar files + jre: AdoptOpenJDK JRE + omniORB 4.2.5 + OpenCV 4.4 + rtm: OpenRTM-aist header files + idl: OpenRTM-aistIDL files + util + OpenRTP: RTCBuilder and RTSystemEditor tools + RTSystemEditor: + VCVerChanger: Tool to specify the version of Visual Studio you are using
OpenRTM-aist is provided with a deb package that can be used on Ubuntu and Debian GNU Linux.
2.0 is currently compatible with Ubuntu 18.04, 20.04 (amd64, arm64 respectively). Please note that the supported version and support for Ubuntu/Debian GNU Linux are subject to change without notice.
C ++ and OpenRTP can coexist in 1.2 series and 2.0 series. With this support, the following changes have been made regarding installation.
Installation script (both 1.2 series and 2.0 series) supports batch processing from download to installation.
To install 2.0 series, paste the following into the shell prompt and execute it. C ++ version, Python version, Java version, OpenRTP (amd64 only), rtshell, JDK8 will be installed. Scripts are not saved locally.
※By executing the script, even if multiple versions of Java are installed, it is switched to using Java8.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_ubuntu.sh)
This will install the following packages:
$ dpkg -l | grep openrt ii openrtm2:amd64 2.0.0-0 amd64 OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-dev:amd64 2.0.0-0 amd64 OpenRTM-aist headers for development ii openrtm2-doc 2.0.0-0 all Documentation for openrtm2 ii openrtm2-example:amd64 2.0.0-0 amd64 OpenRTM-aist examples ii openrtm2-idl:amd64 2.0.0-0 amd64 OpenRTM-aist idls for development ii openrtm2-java:amd64 2.0.0-0 amd64 OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-java-doc 2.0.0-0 all Documentation for openrtm2-java ii openrtm2-java-example:amd64 2.0.0-0 amd64 OpenRTM-aist-Java examples ii openrtm2-python3 2.0.0-0 amd64 OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-python3-doc 2.0.0-0 all Documentation for openrtm2-python3 ii openrtm2-python3-example 2.0.0-0 amd64 OpenRTM-aist-Python examples ii openrtp2:amd64 2.0.0-0 amd64 OpenRTP, Open RT Platform distributed by AIST
By specifying the option, it is possible to install the package according to the purpose. help can be found below.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_ubuntu.sh) --help
For details on the installed packages, see What the installer does
In 2.0 series, you can install the package for ROS communication function.
This section describes how to install the package in an environment where both ROS and ROS2 are installed.
As mentioned in help, the ROS package installation options are supported below.
[-e ros|ros2|all] [--ros|--ros2]
If you have already executed the installation script without any options and want to install additional packages for ROS and ROS2, you can use "-l c ++ -e all".
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_ubuntu.sh) -l c++ -e all
If you want to install all the packages for ROS and ROS2 from the beginning, you can do it with "-l all -e all".
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_ubuntu.sh) -l all -e all
Check the installed packages.
$ dpkg -l | grep openrt ii openrtm2:amd64 2.0.0-0 amd64 OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-dev:amd64 2.0.0-0 amd64 OpenRTM-aist headers for development ii openrtm2-doc 2.0.0-0 all Documentation for openrtm2 ii openrtm2-example:amd64 2.0.0-0 amd64 OpenRTM-aist examples ii openrtm2-idl:amd64 2.0.0-0 amd64 OpenRTM-aist idls for development ii openrtm2-java:amd64 2.0.0-0 amd64 OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-java-doc 2.0.0-0 all Documentation for openrtm2-java ii openrtm2-java-example:amd64 2.0.0-0 amd64 OpenRTM-aist-Java examples ii openrtm2-python3 2.0.0-0 amd64 OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-python3-doc 2.0.0-0 all Documentation for openrtm2-python3 ii openrtm2-python3-example 2.0.0-0 amd64 OpenRTM-aist-Python examples ii openrtm2-ros-tp:amd64 2.0.0-0 amd64 OpenRTM-aist extension ROS package ii openrtm2-ros2-tp:amd64 2.0.0-0 amd64 OpenRTM-aist extension ROS2 package ii openrtp2:amd64 2.0.0-0 amd64 OpenRTP, Open RT Platform distributed by AIST
1.2 series installation script can also be executed by specifying the URL. Install all packages with no options for the script.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/pkg_install_ubuntu.sh)
Check the installed packages.
$ dpkg -l | grep openrt ii openrtm-aist:amd64 1.2.2-0 ii openrtm-aist-dev:amd64 1.2.2-0 ii openrtm-aist-doc 1.2.2-0 ii openrtm-aist-example:amd64 1.2.2-0 ii openrtm-aist-idl:amd64 1.2.2-0 ii openrtm-aist-java:amd64 1.2.2-0 ii openrtm-aist-java-doc 1.2.2-0 ii openrtm-aist-java-example:amd64 1.2.2-0 ii openrtm-aist-python3 1.2.2-0 ii openrtm-aist-python3-doc 1.2.2-0 ii openrtm-aist-python3-example 1.2.2-0 ii openrtp:amd64 1.2.2-4
If you install 2.0 series continuously, c ++ and openrtp will coexist with 1.2 series and 2.0 series, but java and python will be in the state where only 2.0 series is installed.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_ubuntu.sh)
While the script is running, you will be asked "Do you want to continue? [Y / n]" about uninstalling the 1.2 series java and python packages, so press the Enter key.
Check the installed packages.
$ dpkg -l | grep openrt ii openrtm-aist:amd64 1.2.2-0 ii openrtm-aist-dev:amd64 1.2.2-0 ii openrtm-aist-doc 1.2.2-0 ii openrtm-aist-example:amd64 1.2.2-0 ii openrtm-aist-idl:amd64 1.2.2-0 ii openrtm2:amd64 2.0.0-0 ii openrtm2-dev:amd64 2.0.0-0 ii openrtm2-doc 2.0.0-0 ii openrtm2-example:amd64 2.0.0-0 ii openrtm2-idl:amd64 2.0.0-0 ii openrtm2-java:amd64 2.0.0-0 ii openrtm2-java-doc 2.0.0-0 ii openrtm2-java-example:amd64 2.0.0-0 ii openrtm2-python3 2.0.0-0 ii openrtm2-python3-doc 2.0.0-0 ii openrtm2-python3-example 2.0.0-0 ii openrtp:amd64 1.2.2-4 ii openrtp2:amd64 2.0.0-0
Along with this, rtshell will also be reinstalled.
$ pip3 list | grep aist OpenRTM-aist-Python 2.0.0 rtctree-aist 4.2.3 rtshell-aist 4.2.9 rtsprofile-aist 4.1.5
1.2 series and 2.0 series coexist for c ++ and openrtp, but only 1.2 series is installed for java and python.
$ dpkg -l | grep openrt ii openrtm-aist:amd64 1.2.2-0 ii openrtm-aist-dev:amd64 1.2.2-0 ii openrtm-aist-doc 1.2.2-0 ii openrtm-aist-example:amd64 1.2.2-0 ii openrtm-aist-idl:amd64 1.2.2-0 ii openrtm-aist-java:amd64 1.2.2-0 ii openrtm-aist-java-doc 1.2.2-0 ii openrtm-aist-java-example:amd64 1.2.2-0 ii openrtm-aist-python3 1.2.2-0 ii openrtm-aist-python3-doc 1.2.2-0 ii openrtm-aist-python3-example 1.2.2-0 ii openrtm2:amd64 2.0.0-0 ii openrtm2-dev:amd64 2.0.0-0 ii openrtm2-doc 2.0.0-0 ii openrtm2-example:amd64 2.0.0-0 ii openrtm2-idl:amd64 2.0.0-0 ii openrtp:amd64 1.2.2-4 ii openrtp2:amd64 2.0.0-0
rtshell will also be reinstalled for OpenRTM-aist-Python1.2.2.
$ pip3 list | grep aist OpenRTM-aist-Python 1.2.2 rtctree-aist 4.2.3 rtshell-aist 4.2.9 rtsprofile-aist 4.1.5
After successful installation, you can check the operation with the attached sample component. The installation destination of the sample component is as follows.
/usr/share/openrtm-2.0/components/c++/examples /usr/share/openrtm-2.0/components/python3/ /usr/share/openrtm-2.0/components/java
Start OpenRTP, a tool for operating the RTC and building the RT system.
$ openrtp2
※OpenRTP can coexist with 1.2 series and 2.0 series. Therefore, it is possible to run both openrtp and openrtp2.
The attached sample components are listed on the following pages for the Windows version. There is no difference between the Windows version and the Linux version in terms of component operation. If you want to know a little more about the procedure for executing the sample component in the Linux environment, see the 1.2 series explanation page below. If you read the component path, the execution procedure is the same for 2.0 series.OpenCV's C ++ sample components do not provide a deb package for installation. We provide a script to generate a deb package from the source, so please build and install it.
This is an example of building and installing the OpenCV main unit of version 4.5.4 and the extension module group (opencv_contrib) together.
$ sudo vi /etc/apt/sources.list : deb-src http://jp.archive.ubuntu.com/ubuntu/ *** universe or deb-src http://us.archive.ubuntu.com/ubuntu/ *** universe
sudo apt build-dep opencv wget https://github.com/opencv/opencv/archive/refs/tags/4.5.4.tar.gz -O opencv-4.5.4.tar.gz tar xvzf opencv-4.5.4.tar.gz wget https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.tar.gz -O opencv_contrib-4.5.4.tar.gz tar xvzf opencv_contrib-4.5.4.tar.gz cd opencv-4.5.4 mkdir build cd build cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.4/modules -DBUILD_opencv_java=OFF .. make -j$(nproc) sudo make install sudo ldconfig
Get the source ImageProcessing, build it, and generate a deb package.
git clone https://github.com/OpenRTM/ImageProcessing cd ImageProcessing/opencv mkdir build cd build cmake .. ./build_linux_package.sh
This will generate imageprocessing_2.0.0_amd64.deb and install it.
sudo dpkg -i imageprocessing_2.0.0_amd64.deb ls /usr/share/openrtm-2.0/components/c++/opencv-rtcs/ Affine CameraViewer Edge Histogram ImageSubtraction Perspective Scale Template BackGroundSubtractionSimple Chromakey Findcontour Hough ObjectTracking RockPaperScissors Sepia Translate Binarization DilationErosion Flip ImageCalibration OpenCVCamera Rotate SubtractCaptureImage rtc.conf
An executable file (*** Comp) is installed under each sample directory, so please try it.
The C ++ sample components have been regenerated so that they can be built mostly with CMake.
Let's take ConsoleIn as an example.
In the coexistence environment of 1.2 series and 2.0 series, OpenRTMConfig.cmake is installed in the following two places. For this reason, the OpenRTMConfig.cmake found earlier is used.
/usr/lib/x86_64-linux-gnu/openrtm-2.0/cmake/OpenRTMConfig.cmake /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
In this environment, try running ConsoleIn cmake.
git clone https://github.com/OpenRTM/OpenRTM-aist cd OpenRTM-aist/examples/ConsoleIn/ mkdir build cd build cmake .. : -- OpenRTMConfig.cmake 2.0.0 found.
In 2.0 series OpenRTMConfig.cmake, the version number is output. The version number is not output in 1.2 series.
If you want to build with 1.2 series, specify OpenRTM_DIR as follows in the cmake option.
cmake -DOpenRTM_DIR=/usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake .. : -- OpenRTMConfig.cmake found.
If you want to change the source of OpenRTM-aist itself and use it, you can get the source code of OpenRTM-aist and build it.
I will introduce the procedure to build in the environment where only the minimum library required for OpenRTM-aist source build is installed using Dockerfile.
I use the docker build command to generate a Docker image, but it is recommended because it can be built in a clean environment every time.
If you are using Docker for the first time, please install it as follows. If you have an Ubuntu desktop environment, the docker.io package is probably provided.
sudo apt install docker.io
sudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce
The OpenRTM-aist 2.0 series source includes Dockerfile for Ubuntu18.04, 20.04 and 22.04.
OpenRTM-aist/scripts/ubuntu_1804/Dockerfile OpenRTM-aist/scripts/ubuntu_2004/Dockerfile OpenRTM-aist/scripts/ubuntu_2204/Dockerfile
The build procedure is as follows. This is a build example for Ubuntu 20.04.
Here, the latest OpenRTM-aist source is obtained from GitHub, but you can do the same procedure for building the modified source.
git clone https://github.com/OpenRTM/OpenRTM-aist sudo docker build -t test -f OpenRTM-aist/scripts/ubuntu_2004/Dockerfile .
If the build finishes without error, you can see that the Docker image named test specified by the -t option has been generated.
sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE test latest 0bc00f471b64 27 seconds ago 1.52GB
If you modify the source and repeat until the build passes, many images <none> will be generated. You can delete by specifying IMAGE ID with docker rmi, but if you want to delete all at once, it is convenient to execute the following command.
sudo docker rmi $(sudo docker images -f dangling=true -q)
The first line of the Dockerfile used in the source build looks like this for Ubuntu 18.04, 20.04 and 22.04 respectively, and uses the image with this name uploaded to the Docker hub.
FROM openrtm/devel-rtm:ubuntu18.04 FROM openrtm/devel-rtm:ubuntu20.04 FROM openrtm/devel-rtm:ubuntu22.04
OpenRTM-aist/scripts/ubuntu_1804/Dockerfile.devel-rtm OpenRTM-aist/scripts/ubuntu_2004/Dockerfile.devel-rtm OpenRTM-aist/scripts/ubuntu_2204/Dockerfile.devel-rtm
The script introduced here is used when creating the deb package for the release of OpenRTM-aist.
If you want to modify and install the OpenRTM-aist source, you can easily try it with the deb package.
This script performs from source build to deb package generation with Docker, and performs the process of copying the deb package that is the deliverable from the Docker container to the host side at once.
The procedure for creating a deb package for Ubuntu 20.04 is as follows.
git clone https://github.com/n-kawauchi/RTM-src-pkgs-docker-build cd RTM-src-pkgs-docker-build/ubuntu_2004/ sh build-cxx.sh ls -l drwxr-xr-x 2 root root 4096 Jun 30 15:53 cxx-deb-pkgs/
The deb package of the deliverable is output under cxx-deb-pkgs. Since the owner is root, it is easier to access if you change it to the execution user.
Since we are using a Docker image with ROS installed, a package for ROS (openrtm2-ros * -tp) will also be generated.
ls cxx-deb-pkgs/ openrtm2-dev_2.0.0-0_amd64.deb openrtm2-ros-tp_2.0.0-0_amd64.deb openrtm2_2.0.0-0_amd64.buildinfo openrtm2-doc_2.0.0-0_all.deb openrtm2-ros2-tp_2.0.0-0_amd64.deb openrtm2_2.0.0-0_amd64.changes openrtm2-example_2.0.0-0_amd64.deb openrtm2_2.0.0-0.dsc openrtm2_2.0.0-0_amd64.deb openrtm2-idl_2.0.0-0_amd64.deb openrtm2_2.0.0-0.tar.gz
(※)Running this script in an amd64 environment will generate a deb package for amd64, and running it in an aarch64 environment will generate a deb package for arm64.
If you want to modify and install the OpenRTM-aist source, comment out the following part of the build-cxx.sh script, place the OpenRTM-aist source in the same directory as build-cxx.sh, and execute it.
#----- OpenRTM-aist echo "${password}" | sudo -S rm -rf ${TARGET}-* #rm -rf OpenRTM-aist <-- Comment out #git clone https://github.com/OpenRTM/OpenRTM-aist <-- Comment out
As with C ++ source build, I will introduce a script that performs from source build to deb package generation with Docker, and the process of copying the deb package that is the deliverable from the Docker container to the host side at once.
The procedure for creating a deb package for Ubuntu 20.04 is as follows.
git clone https://github.com/n-kawauchi/RTM-src-pkgs-docker-build cd RTM-src-pkgs-docker-build/ubuntu_2004/ sh build-python.sh
The deb package of the deliverable is output under python-deb-pkgs, and the source package is output under python-src-pkgs.
ls python-deb-pkgs/ openrtm2-python3-doc_2.0.0-0_all.deb openrtm2-python3-example_2.0.0-0_amd64.deb openrtm2-python3_2.0.0-0_amd64.changes openrtm2-python3_2.0.0-0.dsc openrtm2-python3_2.0.0-0_amd64.deb
ls python-src-pkgs/ OpenRTM-aist-Python-2.0.0.tar.gz OpenRTM-aist-Python-2.0.0.zip
If you want to modify and install the OpenRTM-aist-Python source, comment out the following part of the build-python.sh script. Place the OpenRTM-aist-Python source in the same directory as build-python.sh and Dockerfile-python-deb and execute it.
#----- OpenRTM-aist-Python echo "${password}" | sudo -S rm -rf ${TARGET}-* #-------- Comment out #rm -rf OpenRTM-aist-Python #git clone https://github.com/OpenRTM/OpenRTM-aist-Python #cd OpenRTM-aist-Python #git checkout ${BRANCH} #cd - #-------- Comment out
As with C ++ source build, I will introduce a script that performs from source build to deb package generation with Docker, and the process of copying the deb package that is the deliverable from the Docker container to the host side at once.
The procedure for creating a deb package for Ubuntu 20.04 is as follows.
git clone https://github.com/n-kawauchi/RTM-src-pkgs-docker-build cd RTM-src-pkgs-docker-build/ubuntu_2004/ sh build-java.sh
The deb package of the deliverable is output under java-deb-pkgs, and the source package is output under java-src-pkgs.
ls java-deb-pkgs/ openrtm2-java-doc_2.0.0-0_all.deb openrtm2-java_2.0.0-0_amd64.buildinfo openrtm2-java-example_2.0.0-0_amd64.deb openrtm2-java_2.0.0-0_amd64.changes openrtm2-java_2.0.0-0.dsc openrtm2-java_2.0.0-0_amd64.deb
ls java-src-pkgs/ OpenRTM-aist-Java-2.0.0-jar.zip OpenRTM-aist-Java-2.0.0.zip OpenRTM-aist-Java-2.0.0.tar.gz
If you want to modify and install the OpenRTM-aist-Python source, comment out the following part of the build-python.sh script. Place the OpenRTM-aist-Python source in the same directory as build-python.sh and Dockerfile-python-deb and execute it.
#----- OpenRTM-aist-Java echo "${password}" | sudo -S rm -rf ${TARGET}-* #-------- Comment out #rm -rf OpenRTM-aist-Java #git clone https://github.com/OpenRTM/OpenRTM-aist-Java #cd OpenRTM-aist-Java #git checkout ${BRANCH} #cd - #-------- Comment out
The contents of each package are as follows.
openrtm2 contains runtime libraries and commands.
/usr/bin/rtcd2 /usr/bin/rtcprof2 /usr/bin/rtm2-config /usr/bin/rtm2-naming
/usr/etc/logger/rtc.fluentbit_stream.conf /usr/etc/rtc.conf.sample2 /usr/etc/rtc.names.ssl.conf /usr/etc/ssl/rtc.ssl.conf /usr/lib/x86_64-linux-gnu/pkgconfig/openrtm2.pc
/usr/lib/x86_64-linux-gnu/libRTC2.a /usr/lib/x86_64-linux-gnu/libRTC2.so.2.0.0 ... /usr/lib/x86_64-linux-gnu/librtmCamera2.so /usr/lib/x86_64-linux-gnu/librtmManipulator2.so ... /usr/lib/x86_64-linux-gnu/openrtm-2.0/ec/LogicalTimeTriggeredEC.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/local_service/FileNameservice.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/logger/FluentBit.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/sdo/ComponentObserverConsumer.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/sdo/ExtendedFsmServiceProvider.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/sdo/LoggerConsumer.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/ssl/SSLTransport.so
openrtm2-dev contains the commands and headers needed for development.
/usr/bin/rtm2-skelwrapper
/usr/include/coil-2.0/coil/Affinity.h /usr/include/coil-2.0/coil/Async.h ... /usr/include/openrtm-2.0/rtm/BufferBase.h /usr/include/openrtm-2.0/rtm/BufferStatus.h ... /usr/include/openrtm-2.0/rtm/config_rtc.h /usr/include/openrtm-2.0/rtm/ext/FastRTPSMessageInfo.h /usr/include/openrtm-2.0/rtm/ext/ROSMessageInfo.h /usr/include/openrtm-2.0/rtm/idl/BasicDataType.hh /usr/include/openrtm-2.0/rtm/idl/BasicDataTypeSkel.h ... /usr/include/openrtm-2.0/rtm/idl/SharedMemoryStub.h /usr/include/openrtm-2.0/rtm/version.h
/usr/lib/x86_64-linux-gnu/openrtm-2.0/cmake/OpenRTMConfig.cmake /usr/lib/x86_64-linux-gnu/openrtm-2.0/cmake/OpenRTMConfigVersion.cmake /usr/lib/x86_64-linux-gnu/openrtm-2.0/py_helper/skel_wrapper.py /usr/lib/x86_64-linux-gnu/openrtm-2.0/py_helper/yat.py
openrtm2-example contains samples for standalone RTC and loadable RTC respectively.
/usr/share/openrtm-2.0/components/c++/examples/CompositeComp /usr/share/openrtm-2.0/components/c++/examples/ConfigSampleComp ... /usr/share/openrtm-2.0/components/c++/examples/rtc.conf
/usr/share/openrtm-2.0/components/c++/examples/rtc/ConfigSample.so /usr/share/openrtm-2.0/components/c++/examples/rtc/ConsoleIn.so ... /usr/share/openrtm-2.0/components/c++/examples/rtc/Throughput.so
ROS communication function library is installed.
/usr/lib/x86_64-linux-gnu/openrtm-2.0/transport/ROSTransport.so
ROS2 communication function library is installed.
/usr/lib/x86_64-linux-gnu/openrtm-2.0/transport/FastRTPSTransport.so /usr/lib/x86_64-linux-gnu/openrtm-2.0/transport/ROS2Transport.so
openrtm2-doc contains Japanese and English class references and IDL interface definition references.
/usr/share/openrtm-2.0/doc/c++/ClassReference/html/BufferBase_8h.html /usr/share/openrtm-2.0/doc/c++/ClassReference/html/BufferBase_8h__dep__incl.map ... /usr/share/openrtm-2.0/doc/c++/ClassReference/html/structSDOPackage_1_1Organization__impl_1_1sdo__id.html
/usr/share/openrtm-2.0/doc/idl/IDLReference/html/BasicDataType_8idl.html /usr/share/openrtm-2.0/doc/idl/IDLReference/html/BasicDataType_8idl_dep_incl.map ... /usr/share/openrtm-2.0/doc/idl/IDLReference/html/unionSDOPackage_1_1Numeric.html
/usr/share/openrtm-2.0/doc/c++/ClassReference-en/html/BufferBase_8h.html /usr/share/openrtm-2.0/doc/c++/ClassReference-en/html/BufferBase_8h__dep__incl.map ... /usr/share/openrtm-2.0/doc/C++/ClassReference-en/html/version_8h_source.html
/usr/share/openrtm-2.0/doc/idl/IDLReference-en/html/BasicDataType_8idl.html /usr/share/openrtm-2.0/doc/idl/IDLReference-en/html/BasicDataType_8idl__dep__incl.map ... /usr/share/openrtm-2.0/doc/idl/IDLReference-en/html/unionSDOPackage_1_1Numeric.html
/etc/profile.d/openrtm2-idl.sh /usr/include/openrtm-2.0/rtm/idl/BasicDataType.idl /usr/include/openrtm-2.0/rtm/idl/CameraCommonInterface.idl ... /usr/include/openrtm-2.0/rtm/idl/SharedMemory.idl /usr/share/openrtm-2.0/idl/BasicDataType.idl /usr/share/openrtm-2.0/idl/CameraCommonInterface.idl ... /usr/share/openrtm-2.0/idl/SharedMemory.idl
/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.0/components/python3/__init__.py /usr/share/openrtm-2.0/components/python3/component.conf /usr/share/openrtm-2.0/components/python3/rtcd.conf /usr/share/openrtm-2.0/components/python3/AutoControl/* /usr/share/openrtm-2.0/components/python3/AutoTest/* /usr/share/openrtm-2.0/components/python3/CSPSample/* /usr/share/openrtm-2.0/components/python3/CSPSelectSample/* /usr/share/openrtm-2.0/components/python3/CSPStaticFsmSample/* /usr/share/openrtm-2.0/components/python3/Composite/* /usr/share/openrtm-2.0/components/python3/ConfigSample/* /usr/share/openrtm-2.0/components/python3/ExtTrigger/* /usr/share/openrtm-2.0/components/python3/MobileRobotCanvas/* /usr/share/openrtm-2.0/components/python3/SeqIO/* /usr/share/openrtm-2.0/components/python3/Serializer/* /usr/share/openrtm-2.0/components/python3/SimpleIO/* /usr/share/openrtm-2.0/components/python3/SimpleService/* /usr/share/openrtm-2.0/components/python3/Slider_and_Motor/* /usr/share/openrtm-2.0/components/python3/Throughput/* /usr/share/openrtm-2.0/components/python3/TkJoyStick/ /usr/share/openrtm-2.0/components/python3/TkLRFViewer/*
Install English/Japanese class reference.
/usr/share/openrtm-2.0/doc/python3/ClassReference-en/html/_async_8py.html /usr/share/openrtm-2.0/doc/python3/ClassReference-en/html/_buffer_base_8py.html ... /usr/share/openrtm-2.0/doc/python3/ClassReference-jp/html/_async_8py.html /usr/share/openrtm-2.0/doc/python3/ClassReference-jp/html/_buffer_base_8py.html /usr/share/openrtm-2.0/doc/python3/ClassReference-jp/html/_buffer_status_8py.html ...
/etc/profile.d/openrtm-java.sh /usr/bin/rtcd2_java /usr/bin/rtcprof2_java /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/License.txt /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/LogicalTimeTriggeredEC.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/NameserviceFile.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/OpenRTM-aist-2.0.0.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/commons-cli-1.1.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/jna-4.2.2.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/jna-platform-4.2.2.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/rtcd.jar /usr/lib/x86_64-linux-gnu/openrtm-2.0/jar/rtcprof.jar
Java version sample RTC, Class file, source file, startup script
/usr/share/openrtm-2.0/components/java/* /usr/share/openrtm-2.0/components/java/RTMExamples/AutoTest/* /usr/share/openrtm-2.0/components/java/RTMExamples/Composite/* /usr/share/openrtm-2.0/components/java/RTMExamples/ConfigSample/* /usr/share/openrtm-2.0/components/java/RTMExamples/ExtTrigger/* /usr/share/openrtm-2.0/components/java/RTMExamples/Fsm/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/control/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/model/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/view/* /usr/share/openrtm-2.0/components/java/RTMExamples/MyService.idl /usr/share/openrtm-2.0/components/java/RTMExamples/SeqIO/* /usr/share/openrtm-2.0/components/java/RTMExamples/SeqIO/view/* /usr/share/openrtm-2.0/components/java/RTMExamples/SimpleIO/* /usr/share/openrtm-2.0/components/java/RTMExamples/SimpleService/* /usr/share/openrtm-2.0/components/java/RTMExamples/SinCosOut/* /usr/share/openrtm-2.0/components/java/RTMExamples/StaticFsm/* /usr/share/openrtm-2.0/components/java/RTMExamples/Throughput/* /usr/share/openrtm-2.0/components/java/RTMExamples/TopicTest/*
openrtm2-java-doc contains Japanese and English class references.
/usr/share/openrtm-2.0/doc/java/JavaDoc/OpenRTM/* /usr/share/openrtm-2.0/doc/java/JavaDoc/OpenRTM/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/RTC/* /usr/share/openrtm-2.0/doc/java/JavaDoc/RTC/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/RTM/* /usr/share/openrtm-2.0/doc/java/JavaDoc/RTM/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/_SDOPackage/* /usr/share/openrtm-2.0/doc/java/JavaDoc/_SDOPackage/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/Constants.html /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/buffer/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/executionContext/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/log/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/port/publisher/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/RTC/util/clock/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/Version.html /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/class-use /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDoc/jp/go/aist/rtm/* /usr/share/openrtm-2.0/doc/java/JavaDoc/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/OpenRTM/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/OpenRTM/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/RTC/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/RTC/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/RTM/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/RTM/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/_SDOPackage/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/_SDOPackage/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/index-files/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/Constants.html /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/buffer/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/executionContext/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/log/class-use/Logbuf.html /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/port/publisher/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/RTC/util/clock/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/jp/go/aist/rtm/class-use/* /usr/share/openrtm-2.0/doc/java/JavaDocEn/*
In openrtp installation, since so many files are installed, the listing is not made. Depend on your needs, use the following command.
$ dpkg -L openrtp2
The version of Raspbian for which packages are currently available is
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/
C++ can coexist in 1.2 series and 2.0 series. However, 1.2 series can only be installed on Buster(32bit).
With this support, the following changes have been made regarding installation.
Installation script (both 1.2 series and 2.0 series) supports batch processing from download to installation.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_raspbian.sh)
This will install the following packages: (For 32bit version)
$ dpkg -l | grep openrt ii openrtm2:armhf 2.0.1-0 armhf OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-dev:armhf 2.0.1-0 armhf OpenRTM-aist headers for development ii openrtm2-doc 2.0.1-0 all Documentation for openrtm2 ii openrtm2-example:armhf 2.0.1-0 armhf OpenRTM-aist examples ii openrtm2-idl:armhf 2.0.1-0 armhf OpenRTM-aist idls for development ii openrtm2-java:armhf 2.0.1-0 armhf OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-java-doc 2.0.1-0 all Documentation for openrtm2-java ii openrtm2-java-example:armhf 2.0.1-0 armhf OpenRTM-aist-Java examples ii openrtm2-python3 2.0.1-0 armhf OpenRTM-aist, RT-Middleware distributed by AIST ii openrtm2-python3-doc 2.0.1-0 all Documentation for openrtm2-python3 ii openrtm2-python3-example 2.0.1-0 armhf OpenRTM-aist-Python examples
$ pip3 list | grep aist OpenRTM-aist-Python 2.0.1 rtctree-aist 4.2.3 rtshell-aist 4.2.9 rtsprofile-aist 4.1.5
The contents of each package are as follows.
openrtm2 contains a runtime library and a set of commands.
/usr/bin/rtcd2 /usr/bin/rtcprof2 /usr/bin/rtm2-config /usr/bin/rtm2-naming
/usr/etc/rtc.conf.sample2 /usr/etc/rtc.names.ssl.conf /usr/etc/ssl/rtc.ssl.conf /usr/lib/arm-linux-gnueabihf/pkgconfig/openrtm2.pc
/usr/lib/arm-linux-gnueabihf/libRTC2.a /usr/lib/arm-linux-gnueabihf/libRTC2.so.2.0.0 ... /usr/lib/arm-linux-gnueabihf/librtmCamera2.so /usr/lib/arm-linux-gnueabihf/librtmManipulator2.so
/usr/lib/arm-linux-gnueabihf/openrtm-2.0/ec/LogicalTimeTriggeredEC.so /usr/lib/arm-linux-gnueabihf/openrtm-2.0/local_service/FileNameservice.so /usr/lib/arm-linux-gnueabihf/openrtm-2.0/sdo/ComponentObserverConsumer.so /usr/lib/arm-linux-gnueabihf/openrtm-2.0/sdo/ExtendedFsmServiceProvider.so /usr/lib/arm-linux-gnueabihf/openrtm-2.0/sdo/LoggerConsumer.so /usr/lib/arm-linux-gnueabihf/openrtm-2.0/ssl/SSLTransport.so ... /usr/lib/arm-linux-gnueabihf/openrtm-1.2/sdo/LoggerConsumer.so.0.0.0 /usr/lib/libfluent-bit.so
contains the commands and headers needed for development.
/usr/bin/rtm2-skelwrapper
/usr/include/coil-2.0/coil/Affinity.h /usr/include/coil-2.0/coil/Async.h ... /usr/include/openrtm-2.0/rtm/BufferBase.h /usr/include/openrtm-2.0/rtm/BufferStatus.h ... /usr/include/openrtm-2.0/rtm/config_rtc.h /usr/include/openrtm-2.0/rtm/idl/BasicDataType.hh /usr/include/openrtm-2.0/rtm/idl/BasicDataTypeSkel.h ... /usr/include/openrtm-2.0/rtm/idl/SharedMemoryStub.h /usr/include/openrtm-2.0/rtm/version.h
/usr/lib/arm-linux-gnueabihf/openrtm-2.0/cmake/OpenRTMConfig.cmake /usr/lib/arm-linux-gnueabihf/openrtm-2.0/cmake/OpenRTMConfigVersion.cmake /usr/lib/arm-linux-gnueabihf/openrtm-2.0/py_helper/skel_wrapper.py /usr/lib/arm-linux-gnueabihf/openrtm-2.0/py_helper/yat.py
/etc/profile.d/openrtm2-idl.sh /usr/include/openrtm-2.0/rtm/idl/BasicDataType.idl /usr/include/openrtm-2.0/rtm/idl/CameraCommonInterface.idl ... /usr/include/openrtm-2.0/rtm/idl/SharedMemory.idl /usr/share/openrtm-2.0/idl/BasicDataType.idl /usr/share/openrtm-2.0/idl/CameraCommonInterface.idl ... /usr/share/openrtm-2.0/idl/SharedMemory.idl
contains samples for standalone RTC and loadable RTC respectively.
/usr/share/openrtm-2.0/components/c++/examples/CompositeComp /usr/share/openrtm-2.0/components/c++/examples/ConfigSampleComp ... /usr/share/openrtm-2.0/components/c++/examples/rtc.conf
/usr/share/openrtm-2.0/components/c++/examples/rtc/ConfigSample.so /usr/share/openrtm-2.0/components/c++/examples/rtc/ConsoleIn.so ... /usr/share/openrtm-2.0/components/c++/examples/rtc/Throughput.so
contains Japanese and English class references and IDL interface definition references.
/usr/share/openrtm-2.0/doc/c++/ClassReference/html/BufferBase_8h.html /usr/share/openrtm-2.0/doc/c++/ClassReference/html/BufferBase_8h__dep__incl.map ... /usr/share/openrtm-2.0/doc/c++/ClassReference/html/structSDOPackage_1_1Organization__impl_1_1sdo__id.html
/usr/share/openrtm-2.0/doc/idl/IDLReference/html/BasicDataType_8idl.html /usr/share/openrtm-2.0/doc/idl/IDLReference/html/BasicDataType_8idl_dep_incl.map ... /usr/share/openrtm-2.0/doc/idl/IDLReference/html/unionSDOPackage_1_1Numeric.html
/usr/share/openrtm-2.0/doc/c++/ClassReference-en/html/BufferBase_8h.html /usr/share/openrtm-2.0/doc/c++/ClassReference-en/html/BufferBase_8h__dep__incl.map ... /usr/share/openrtm-2.0/doc/C++/ClassReference-en/html/version_8h_source.html
/usr/share/openrtm-2.0/doc/idl/IDLReference-en/html/BasicDataType_8idl.html /usr/share/openrtm-2.0/doc/idl/IDLReference-en/html/BasicDataType_8idl__dep__incl.map ... /usr/share/openrtm-2.0/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.0/components/python3/__init__.py /usr/share/openrtm-2.0/components/python3/component.conf /usr/share/openrtm-2.0/components/python3/rtcd.conf /usr/share/openrtm-2.0/components/python3/AutoControl/* /usr/share/openrtm-2.0/components/python3/AutoTest/* /usr/share/openrtm-2.0/components/python3/CSPSample/* /usr/share/openrtm-2.0/components/python3/CSPSelectSample/* /usr/share/openrtm-2.0/components/python3/CSPStaticFsmSample/* /usr/share/openrtm-2.0/components/python3/Composite/* /usr/share/openrtm-2.0/components/python3/ConfigSample/* /usr/share/openrtm-2.0/components/python3/ExtTrigger/* /usr/share/openrtm-2.0/components/python3/MobileRobotCanvas/* /usr/share/openrtm-2.0/components/python3/SeqIO/* /usr/share/openrtm-2.0/components/python3/Serializer/* /usr/share/openrtm-2.0/components/python3/SimpleIO/* /usr/share/openrtm-2.0/components/python3/SimpleService/* /usr/share/openrtm-2.0/components/python3/Slider_and_Motor/* /usr/share/openrtm-2.0/components/python3/Throughput/* /usr/share/openrtm-2.0/components/python3/TkJoyStick/ /usr/share/openrtm-2.0/components/python3/TkLRFViewer/*
Install English/Japanese class reference.
/usr/share/openrtm-2.0/doc/python3/ClassReference-en/html/_async_8py.html /usr/share/openrtm-2.0/doc/python3/ClassReference-en/html/_buffer_base_8py.html ... /usr/share/openrtm-2.0/doc/python3/ClassReference-jp/html/_async_8py.html /usr/share/openrtm-2.0/doc/python3/ClassReference-jp/html/_buffer_base_8py.html /usr/share/openrtm-2.0/doc/python3/ClassReference-jp/html/_buffer_status_8py.html
/etc/profile.d/openrtm-java.sh /usr/bin/rtcd2_java /usr/bin/rtcprof2_java /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/License.txt /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/LogicalTimeTriggeredEC.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/NameserviceFile.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/OpenRTM-aist-2.0.1.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/commons-cli-1.1.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/jna-4.2.2.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/jna-platform-4.2.2.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/rtcd.jar /usr/lib/arm-linux-gnueabihf/openrtm-2.0/jar/rtcprof.jar
Java版サンプルRTC、Classファイル、ソースファイル、起動スクリプト
/usr/share/openrtm-2.0/components/java/* /usr/share/openrtm-2.0/components/java/RTMExamples/AutoTest/* /usr/share/openrtm-2.0/components/java/RTMExamples/Composite/* /usr/share/openrtm-2.0/components/java/RTMExamples/ConfigSample/* /usr/share/openrtm-2.0/components/java/RTMExamples/ExtTrigger/* /usr/share/openrtm-2.0/components/java/RTMExamples/Fsm/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/control/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/model/* /usr/share/openrtm-2.0/components/java/RTMExamples/GUIIn/view/* /usr/share/openrtm-2.0/components/java/RTMExamples/MyService.idl /usr/share/openrtm-2.0/components/java/RTMExamples/SeqIO/* /usr/share/openrtm-2.0/components/java/RTMExamples/SeqIO/view/* /usr/share/openrtm-2.0/components/java/RTMExamples/SimpleIO/* /usr/share/openrtm-2.0/components/java/RTMExamples/SimpleService/* /usr/share/openrtm-2.0/components/java/RTMExamples/SinCosOut/* /usr/share/openrtm-2.0/components/java/RTMExamples/StaticFsm/* /usr/share/openrtm-2.0/components/java/RTMExamples/Throughput/* /usr/share/openrtm-2.0/components/java/RTMExamples/TopicTest/*