OpenRTM-aist provides a tool called rtshell as a tool for operating RTC on the command line. rtshell is a tool that can manage RT components registered on the name server, You can activate/deactivate/reset components and connect ports. You can also manage the RT system. This section describes how to install the software and how to check the operation. Please refer to rtshell for usage other than installation.
To install rtshell, you need to install OpenRTM-aist-Python because rtshell is a Python program. Therefore, to use rtshell, it is required to install OpenRTM-aist-Python and Python execution environment before installing rtshell. (The bulk installation script for Linux installs Python in the script, but in the case of Windows the msi install needs to be installed beforehand. The supported Python version is 3.10, 3.9, 3.8, 3.7.)
Please install OpenRTM-aist by msi installer. Please refer to the following page for the procedure.
Let's start OpenRTM-aist in 10 minutes!/Installing OpenRTM-aist
Running the bulk install script with no arguments installs C ++, Python, Java, OpenRTP (amd64 only), and JDK8, including rtshell.
When installing OpenRTM-aist 2.0 series, paste the following into the shell prompt and execute it.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/openrtm2_install_ubuntu.sh)
When installing OpenRTM-aist 1.2 series, please execute the following.
$ bash <(curl -s https://raw.githubusercontent.com/OpenRTM/OpenRTM-aist/master/scripts/pkg_install_ubuntu.sh)
Move to the directory where the bulk installation script is downloaded and type in:
$ sudo sh pkg_install_raspbian.sh -l c++ -l python -l rtshell --yes $ sudo rtshell_post_install
Close the terminal once.
Currently, there is an issue with rtshell_post_install on Raspbian. The following method can make you avoid the problem. Before closing the terminal, execute rtshell_post_install without "sudo" prefix. And answer N to the first and the 2nd question. Then answer Y to the 3rd question like following:
Link man pages? n Link documentation? n Add shell support to .bashrc? y
The following explanation is based on the environment where OpenRTM-aist is installed to the Windows OS environment by using the msi installer with the default options.
We use the sample component set SimpleIO to check if rtshell was installed correctly.
Use a sample set consisting of the RT components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs the numerical values input from the console from OutPort, and ConsoleOut is a component that displays the numerical values input to InPort on the console. These are samples to show simple I/O (input/output) operations. It works by connecting from ConsoleIn's OutPort to ConsoleOut's InPort and activating these two components.
Start the sample component.
In the case of Windows 10, enter "Python_Examples" in the "Search here by typing here" on the lower right, and open Explorer in the directory of the startup file of the sample component.
If the component does not start, there are several possible causes.
There are cases where there is a problem with the settings of rtc.conf and it cannot start. Open the Examples\SimpleIO\rtc.conf file under the directory where the above sample startup file is located, and check the settings. For example, if settings such as corba.endpoint/corba.endpoints are mismatched with the host address of the currently running PC, CORBA will terminate abnormally.
Please re-write the line to the following minimum rtc.conf line and try again.
corba.nameservers: localhost
The msi installer provided by openrtm.org includes omniORBpy, but if you choose a custom installation, you can install OpenRTM-aist-Python without installing omniORBpy. Also, if you have installed it manually, you may not have omniORBpy installed, so check if omniORBpy is installed.
The file that starts ConsoleIn and ConsoleOut is
C:\Program Files\OpenRTM-aist\1.2. &Color(blue){x};\Components\Python\Examples\SimpleIO\ConsoleIn.py & br; C:\Program Files\OpenRTM-aist\1.2. &Color(blue){x};\Components\Python\Examples\SimpleIO\ConsoleOut.py
So double click on these files. If it does not start well, the file association is wrong.
There are cases where the startup does not work due to problems with the hostname and the address settings. In that case, if you give omniNames.exe the IP address of the PC you are using, it may work. Set the environment variable OMNIORB_USEHOSTNAME as follows (the example below is assumed that the IP address of the local host is 192.168.0.11).
Variable name (N): OMNIORB_USEHOSTNAME Variable value (V): 192.168.0.11
C: \ Users \ openrtm> rtls -R 127.0.0.1 .: ConsoleIn0.rtc ConsoleOut0.rtc
rtcon /localhost/ConsoleIn0.rtc:out /localhost/ConsoleOut0.rtc:in
rtdeact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
rtexit /localhost/ConsoleIn0.rtc rtexit /localhost/ConsoleOut0.rtc
After successful installation, test the operation with the attached sample. Samples are usually located at:
Check that OpenRTM-aist is built and installed correctly using the sample component set SimpleIO.
This is a sample set consisting of RT components ConsoleIn and ConsoleOut. ConsoleIn is a component that outputs numerical values input from the console from OutPort, and ConsoleOut is a component that displays numerical values input to InPort on the console. These are samples to show simple I/O (input/output) operations. It works by connecting ConsoleIn's OutPort to ConsoleOut's InPort and activating these two components.
The samples are under /usr/share/openrtm-1.2/components/python/SimpleIO, and the description is described assuming that the search path is set in the executable file of Python itself.
$ rtm-naming
$ python /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtm-naming/rtm-naming.py or $ python3 /usr/lib/python3/dist-packages/OpenRTM_aist/utils/rtm-naming/rtm-naming.py
Here, {Python2.7|python3} changes depending on the version of Python that was installed in the Linux environment. If Python 2.7 was installed with OpenRTM-aist-Python, it is "Python2.7".
(The default for Ubuntu 18.04 is Python 2.7. However the version of Python is now "End of Support", then it might be changed.)
The following screen will be displayed.
$ cd /usr/share/openrtm-1.2/components/python/SimpleIO
$ python ConsoleIn.py
$ python ConsoleOut.py
$ rtls -R localhost .: ConsoleIn0.rtc ConsoleOut0.rtc
$ rtcon /localhost/ConsoleIn0.rtc:out /localhost/ConsoleOut0.rtc:in
$ rtact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
Then, the screen of the terminal that started Consolein.py and ConsoleOut.py will be displayed, and the terminal will change to the prompt “Please input number:” on the terminal that started ConsoleIn.py.
$ rtdeact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
$ rtexit /localhost/ConsoleIn0.rtc $ rtexit /localhost/ConsoleOut0.rtc
This concludes the confirmation of the basic operation of the component using the command line.