Testing operation in Windows

Sample component location

Once the installer has completed successfully, OpenRTM-aist can be tested using the included sample components. These are typically stored in one of the following locations:

  • The start menu: [Start] > [OpenRTM-aist 1.1] > [Python] > [Components] > [Examples]
  • C:\Program Files\OpenRTM-aist\1.1\examples\Python
  • OpenRTM-aist\examples (When building from source.)

We will use the SimpleIO components to check that OpenRTM-aist has built and installed correctly.

Test using sample (SimpleIO)

This set contains the ConsoleInComp and ConsoleOutComp components. ConsoleInComp receives numbers as input from the console and sends them over an OutPort. ConsoleOutComp receives numbers via an InPort and prints them to the console. They use this very simple I/O to illustrate the basics of RT Components. Connect the OutPort of ConsoleInComp to the InPort of ConsoleOutComp and activate them.

The explanation below assumes OpenRTM-aist-python has been installed using the MSI package and the sample components are available in the Start Menu. Right-clicking on the OpenRTM-aist entry in the Start Menu and selecting "Open" will make accessing these more convenient.

win_start_menu_open2_en.png
Opening the OpenRTM-aist Start Menu folder.

Start the name server

First, a name server that the components can register on must be started. Start it using the shortcut in the Start Menu at [OpenRTM-aist 1.1] > [Tools] > [Start Naming Service].

win_start_menu_open_tool2_en.png
The shortcut to the name server.

A console like the following will open.

win_naming_service2_en.png
The name server

When the console doesn't open

There are cases where the name server console screen does not open. In this case, there are several causes as below, so investigate the cause and take appropriate action.

omniORBpy is not installed

The msi installer provided by openrtm.org contains omniORBpy, but if you select Custom installation you can also install OpenRTM - aist - Python without installing omniORBpy.

Also, if installing manually, omniORBpy may not be included, so please make sure omniORBpy is installed.

py file association is wrong

The file to start the name server is C:\Program Files (x86)\OpenRTM-aist\1.1\bin\rtm-naming.py. (When installing with 32 bit version msi)
Opening the console screen in this directory and running python rtm-naming.py will start up the name server, but if you can not start by double clicking rtm-naming.py, please check the python you are installing.
If you install both 32-bit and 64-bit Python, it seems that the one you installed earlier can be associated with a py file, so installing Python with the same architecture as the OpenRTM-aist-Python installer may be fixed first I do not.

Other

In rare cases, the host name or address settings of the machine may be incorrect, causing the name server to start incorrectly. Informing omniNames.exe of the correct IP can resolve this problem. Set the OMNIORB_USEHOSTNAME environment variable in the following way (the example assumes the host's IP is 192.168.0.11):

 Variable name: OMNIORB_USEHOSTNAME
 Variable value: 192.168.0.11

Start the sample components

After starting the name server, start some suitable components. The OpenRTM-aist-Python start menu folder contains a sub-folder called "Examples," which contains many components as shown below.

win_start_menu_comps2_en.png
Sample component folder

Start ConsoleIn.py and ConsoleOut.py, causing two consoles to open.

win_consoleinout_window2.png
The ConsoleIn component and the ConsoleOut component.

When the components don't start

Sometimes the component consoles do not open. There are several possible causes for this, described below.

The console opens and immediately closes

There may be an error in the rtc.conf file, preventing the components from starting. Confirm the contents of the rtc.conf file in C:\Program Files\OpenRTM-aist\1.0\examples\Python\SimpleIO. For example, the corba.endpoint/corba.endpoints settings should match the host address of the current computer.

Try creating a minimal rtc.conf, as below.

 corba.nameservers: localhost

Start RTSystemEditor (RTSE)

RTSystemEditor can be started from the Start Menu: [OpenRTM-aist] > [Tools] > [RTSystemEditor].

rtse_start_en.png
Starting RTSystemEditor

Browsing the name server

Connect to the name server and browse the registered components. You can connect to a name server using the Name Service View on the left side of RTSystemEditor. Click the plug icon to connect to a name server and enter its address (localhost or localhost:2809) in the dialog box. The default port for omniNames is 2809.

rtse_connect_dialog_en.png
Connecting to a name server

The name server running on localhost will appear in the Name Service View. Open the tree branches by clicking the arrows to find the two components you started.

rtse_ns_connected_en.png
Components registered on the name server.

Adding components to the system

Open a system editor using the new system editor button in the toolbar rtse_open_editor_icon.png. The editor will open in the central pane. Drag the components rtse_rtc_icon.png from the name service view into the editor.

rtse_dnd_rtcs_en.png
Adding components to the system

Connecting and activating

The OutPort of ConsoleIn0 is displayed on its right-hand side rtse_outport_icon.png. Drag from this to the InPort on the ConsoleOut0 component rtse_inport_icon.png to connect these data ports. The connection dialog will be displayed. Click "OK" to accept the defaults and connect the components.

rtse_portconnect_en.png
Connecting data ports.

rtse_portconnect_dialog_en.png
Data port connection dialog.

A line indicating the connection will appear between the two ports. Next, click the [Activate All] button rtse_all_activate_icon.png in the toolbar. This will activate all components in the editor at once. Active components will appear green.

rtse_activated_all.png
Activated components.

After connecting the ports of ConsoleInComp and ConsoleOutComp, the terminal for ConsoleInComp will display:

 Please input number: 

Enter a number and press enter. This number should fit within a short int. Look at the ConsoleOutComp terminal. The number you entered should have been printed out. If this is the case, OpenRTM-aist is functioning correctly.

Other samples

Other sample components are included in the installed OpenRTM-aist-Python. They can all be used in the same way as the above example.

ConsoleIn.py Receive numbers from the console and send them over an OutPort. Connect it to ConsoleOut.py to use.
ConsoleOut.py Receive numbers over an InPort and print them in a console. Connect it to ConsoleIn.py to use.
SequenceIn.py A component to output various simple data types (short, long, float, double, and sequences). Connect it to SequenceOut.py to use.
SequenceOut.py Display various simple data types received over an InPort. Connect it to SequenceIn.py to use.
MyServiceProvider.py Provides a simple service, MyService. Connect it to MyServiceConsumer.py to use.
MyServiceConsumer.py Consumes a simple service, MyService. Connect it to MyServiceProvider.py to use.
ConfigSample.py Sample demonstrating configuration parameters. Modify the configuration parameters in RTSystemEditor or with rtconf to see the effect.
TkMobileRobotSimulator.py Simple mobile robot simulator. Receive velocities via an InPort, provide position via an OutPort.
NXTRTC.py LEGO MindStorms interface component. Command velocities via an InPort, receive infra-red sensor information and odometry via an OutPort.
AutoControl.py Calculate velocities for a mobile robot. Receive robot odometry information via an InPort, calculate the speed and provide it via an OutPort.
Composite.py Sample composite component. Combines the Motor, Controller and Sensor components into a single composite component.
Motor.py Sample component for the composite component sample.
Controller.py Sample component for the composite component sample.
Sensor.py Sample component for the composite component sample.
Slider.py Sample GUI component using Tk. Provides the value of sliders over an OutPort.
TkMotorComp.py Sample GUI component using Tk. Displays the values received via an InPort in the GUI.
TkLRFViewer.py Sample GUI component using Tk. Draws laser data in the GUI.
TkJoystickComp.py Sample GUI component using Tk. Provides a virtual joystick.

Download

latest Releases : 2.0.0-RELESE

2.0.0-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