Robot Technology Component (hereinafter referred to as RTC) specifications that enhance the efficiency of robot development are currently being formulated at OMG. As a common platform that implements and applies this RTC specification, National Institute of Advanced Industrial Science and Technology, Intelligent Systems Research Division, Task Intelligence Research Group provides OpenRTM-aist. RTSystemEditor is one of the development tools included in this OpenRTM-aist, and has the function of graphically operating RTC in real time. In addition, it is created as a plug-in of the Eclipse integrated development environment, and it can operate seamlessly with existing plugins on Eclipse.
At present OMG, specifications of Robot Technology Component (hereinafter referred to as RTC) which enhances the efficiency of robot development are being carried out. As a common platform implementing and applying this RTC specification, National Institute of Advanced Industrial Science and Technology, Research Center for Intelligent Systems, Integrated Intelligence Research Group OpenRTM-aist is offered .
RTSystemEditor is one of the development tools included in this OpenRTM-aist, and has the function of graphically operating RTC in real time. Also, as its name suggests, it is created as a plug-in for the Eclipse integrated development environment, and you can operate seamlessly with existing plugins on Eclipse.
This document is intended for those who already have basic knowledge about RTC. For the contents of RTC, please refer to the document of OMG and here.
Here is an example screen of OpenRTM-aist RT System Editor (RTSystemEditor).
RTSystemEditor has the function of graphically operating RTC in real time. The list of functions provided is as follows.
No. | Function name | Function overview |
1 | component configuration display / edit function | Display and edit the configuration profile information of the selected component in the configuration view. |
2 | Component action change function | Change the behavior of the selected component. |
3 | RT System Assembly Function | Assemble the system on the system editor. |
4 | Save/open system function | Save the contents of the system editor as an RTS profile. Open the RTS profile in the system editor. Do not change system connection and configuration) |
5 | System Restore Function | Open the RTS profile in the system editor and restore the system based on the contents of the profile. (Restructure the system's port connection and configuration with the contents of the profile) |
The environment necessary for the operation of RTSystemEditor is as follows.
№ | Environment | Remarks |
1 | Java Development Kit 6 | Note: It will not work with Java 1.5 (5.0). |
2 | Eclipse 3.4 and up | Eclipse body |
3 | Eclipse EMF 2.4 or higher (including SDO, XSD) | Eclipse plugin on which RTSystemEditor depends ※ will be used Please use one suitable for the version of Eclipse. |
4 | Eclipse GEF 3.4 or higher | Eclipse plug-ins on which RTSystemEditor depends *Please refer to the version appropriate for Eclipse version Please use it. |
5 | RT Name Service View | Development tools included in OpenRTM-aist on which RTSystemEditor depends |
6 | RT Repository View | Development tools included in OpenRTM-aist on which RTSystemEditor depends |
RTSystemEditor was developed for OpenRTM-aist. Operation on other RTC platforms is not assumed.
This section explains installation and startup of RTSystemEditor.
Since RTSystemEditor is an Eclipse plugin, you need to install Eclipse itself and other dependent Eclipse plugins first. For installation, please refer to OpenRTM Eclipse tools installation.
After installing Eclipse for the first time, the following page will be displayed.
Click "x" at the top left of the screen and close the "Welcome" screen.
On the following screen, click on the "Open Perspective" button in the upper right corner and select "Other ..." from the pull down.
Select [RT System Editor] and click the [OK] button.
RT System Editor starts up.
RTSystemEditor uses the following view.
№ | view name | description |
1 | Name Service View | Displays the name service contents registered RTC in tree. |
2 | Configuration view | Display/edit the configuration information of the selected RTC. |
3 | Manager Control View | Controls the selected manager. |
4 | Composite component view | Display/set the port public information of the selected composite RTC. |
5 | Execution Context View | Displays a list of execution contexts (EC) to which the selected RTC belongs, executes actions of RTC, EC, and attaches/detaches RTC to EC. |
6 | Log View | Log Message Displays the log message notified by the observer. |
7 | Property View | Displays the profile information of the selected RTC. |
8 | System Editor | Display RTC graphically and create RT system. |
9 | offline system editor | graphically displays the content of the RT repository and local RT component specification file and creates an RT system. |
In the subsequent sections, we will explain each view individually.
The name service view has the function of graphically manipulating RTC in real time. The list of functions provided is as follows.
No. | Function name | Function overview |
1 | name server connection/editing function | Connect to name server and display registered components in tree view in name service view. |
2 | Component profile display function | Display the profile information of the selected component in the property view. |
Choose Window> Show View> Name Service View from the menu to display the name service view.
To connect to a name server, click the button at the top of the name service view, or select [Add Name Service] from the context menu.
In the name server connection dialog, enter the IP address and port number. (When port number is omitted, the port number set on the setting screen is used.The default port number is 2809 port)
* When connecting to Eclipse (re), it will automatically connect to the last connected address. If it does not exist, it tries to connect to port 2809 of the local host.
To delete a connected name server from the screen, right-click the name server and select [Delete from View].
If components are registered in the name server you connected, the contents of registration are displayed in tree form as shown below.
The meaning of each icon is as follows.
№ | Icon | Type (KIND) | Name |
1 | host_cxt | host context | |
2 | mgr_cxt | Manager context | |
3 | cate_cxt | Category Context | |
4 | mod_cxt | Module context | |
5 | Other than the above | Folder (context other than the above) | |
6 | None | RTC | |
7 | None | Manager | |
8 | None | Object (other than RTC) | |
9 | None | Zombie object that is entered in a name server but can not access entity objects |
The name service view always monitors each name server at the connection destination and synchronizes and updates the display. (The monitoring period can be changed with [[Connection period:]] on the setting screen). Also, you can perform a refresh if you explicitly reacquire the contents of the name server. To do a refresh, click the Refresh button at the top of the name service view or select Refresh from the context menu.
In the name service view, there is a function to move the position of the display route in order to prevent the range of operation becoming complicated by increasing the number of RTCs. & br; To move the display route, select the destination to move and click the [Go Into] button at the top of the name service view, or select [Go Into] from the context menu.
After moving, you can go up one level with [Go Back]. Also go back to the highest hierarchy in [Go Home].
In the name service view, there is a function to filter (to limit the type of entries to be displayed) as another method to prevent the operation range from becoming complicated by increasing the number of RTCs. & br; To do this, click the Name Serviceview Filter button at the top of the Name Service view.
In the "Name Service Filters" dialog, select the type of entry to be hidden from the "Select elements to exclude from the view" column.
Checking the elements you want to exclude from the name service view display will disappear from the name service view.
When "Naming object name" is enabled, those matching the object name condition will be hidden.
You can select forward match and partial match for the condition of the object name.
In the name service view, you can delete the entry of the name service's naming object. To delete a naming object, click the [Delete From Name Service] button on the context menu.
In the name service view, you can register entries for objects in the name service.
To register an object, select Add Object from the context menu and context menu of the object you want to add an object to underneath.
In the "Add Object" dialog, specify the name (Name), type (Kind), and IOR of the object.
In the name service view, you can register a context entry in the name service.
To register a context, select [Add Context] from the context menu of the context you want to add a context to underneath.
In the "Add Context" dialog, specify the name (Name) and type (Kind) of the context.
For the type (Kind), select one of the following values.
№ | Type (Kind) | Name |
1 | host_cxt | host context |
2 | mgr_cxt | Manager context |
3 | cate_cxt | category context |
4 | mod_cxt | Module context |
5 | Enter other than above | Folder (context other than the above) |
The name service view has a function to delete zombie objects in batch. To delete all zombie objects, click the [Kill All Zombies] button at the top of the name service view.
This section explains the repository view.
RTC-RepositoryView has a function to read the RT component specification description file and display it in tree view.
This section explains how to specify RTC-RepositoryView by specifying the RT component specification description file.
Right click in RTC-RepositoryView and select [Load File] from the displayed context menu, a file selection dialog is displayed. Here, select the RT component specification description file to be read into RTC-RepositoryView.
This dialog will be filtered to display only xml files.
When reading the locally existing RT component specification description file, the highest layer displays the absolute path of the read RT component specification description file. The second hierarchy displays the value of the category attribute defined in the RT component specification description file. The third layer displays the value described in the name attribute in the RT component specification description file and the RT component specification description file name.
This section explains how to read and display all the files in the directory by specifying the directory where the RT component specification description file exists.
Right click on RTC-RepositoryView and select [Load Dir] from the displayed context menu, the directory selection dialog will be displayed. Select the directory to load into RTC-RepositoryView. Read RT component specification description file existing under the directory.
Components of RTC-RepositoryView can be deleted by right-clicking on RTC-RepositoryView and selecting [Delete] from the context menu.
You can select [Delete] only when you select either path, category, or component.
This section explains the configuration view.
In the configuration view, you can display/edit the configuration of the selected RTC. A list of CofigurationSets is displayed on the left side, and the properties in the ConfigurationSet are displayed on the right side.
No. | Description |
① | Name of the selected component. |
② | Selected ConfigurationSet name. |
③ | Active ConfigurationSet. Also, you can change the active ConfigurationSet. |
④ | List of ConfigurationSet. |
⑤ | Name of the property of the ConfigurationSet selected on the left. |
⑥ | The property value of the ConfigurationSet selected on the left. |
⑦ | Button to add/delete ConfigurationSet. |
⑧ | Button to add/delete properties. |
⑨ | button to open the edit value setting dialog and apply/cancel the change contents. |
The information being edited in the configuration view is not applied until the [Apply] button in ⑨ is clicked. In addition, the information being modified (not applied) is displayed in red.
To edit the setting value of the configuration Click the [Edit Value] button of ⑨ to open the dialog for editing and edit.
If there are multiple ConfigurationSets, you can switch the editing targets with the tab (⑩) at the top of the dialog.
For each configuration parameter, you can specify widget for editing, and if the widget type is defined in ConfigurationSet, you can edit the parameter with the specified widget (⑪). The widget type includes a slider, a spinner, a radio button, a check box, and an ordered list, and if there is no specification of widget type, a text box is used by default.
In addition, constraint conditions can be specified for each parameter, and when the widget type is a slider or spin, it is necessary to specify the constraint condition. If the corresponding widget type is defined and the constraint condition is not specified, it becomes the default text box.
widget type | image | description |
Slider | Select the minimum value and maximum value range specified by the constraint with the slider. You can also enter text boxes. | |
Spina | Select the minimum and maximum range specified by the constraint with the spinner. The decimal precision conforms to the description of the minimum and maximum values of the constraint. However, negative numbers can not be specified. Example) When the maximum value is "10.00", decimal 2 digits |
|
Radio button | Select a value with the radio button. | |
Checkbox | Select a value with the checkbox. Multiple values can be selected and they are set with comma separators. | |
Ordered list | Select a value from the left selection list. Multiple values can be selected, the order is retained, and duplication is allowed. Like the check box, the selected value is set as a comma-separated value. | |
Text boxes | Set with normal text input. |
When constraint conditions are specified for each parameter, the constraint condition is checked against the input value, and if the condition is not satisfied, the form is indicated in red. In addition, a constraint condition check is performed for all parameters of the ConfigurationSet that was changed when editing is confirmed with the [OK] button, and if there are parameters that do not satisfy the constraint condition, an error dialog is displayed.
While checking the [Apply] check box (⑫) in the configuration edit dialog, the setting value change is reflected in RTC in real time.
We will explain the manager control view here.
When you select a manager in the name service view, the manager control view becomes active and you can control the selected manager.
No. | Description |
① | loadable module list display button. |
② | Loaded module list display button. |
③ | Component list display button. |
④ | Component generation button. Opens the component creation dialog and creates a new component. The generated component is displayed in the component list display of ③. |
⑤ | Manager replication button. Start a new manager. * It is currently unavailable due to specification unspecified |
⑥ | Manager end button. Exit the selected manager. * It is currently unavailable due to specification unspecified |
⑦ | Table that displays a list of modules and components. |
⑧ | Specify the URL when loading modules with URL specification. |
⑨ | Load/unload button on module. Load or unload the selected module or the module specified by the URL in the table of ⑦. |
To load the module into the manager Click the Loadable Modules button and select the loadable module displayed to activate the Load button and click to load the module.
You can also add a module by specifying a URL by entering the module URL in the "URL:" text box and clicking the[Load] button.
To unload a module Click the [Loaded Modules] button and select the displayed loaded module, the [Unload] button becomes effective, and clicking will unload the module.
To create a new component, click the [Create] button, open the component generation dialog, select the type of component to generate, click [OK] to generate the component. & br; The generated component is registered in the name service by the manager, and it is displayed in the component list displayed by the [Active Components] button.
The type of the component is selected from the components defined in the module loaded in the manager.
Component generation parameters can be specified for Parameter, and it is described in the form of "param1=value1¶m2=value2". The following common parameters can be set for all components.
Parameter name | Description |
instance_name | The instance name of the component. If not specified, assign a serial number to the component type (type_name) |
type_name | component type |
description | Component description |
version | component version |
vendor | Component provider |
category | component category |
You can also specify the value of ConfigurationSet in the component generation parameter.
Parameters of ConfigurationSet are in the format of "conf.NNNN.PPPP=VVVV". For NNNN, specify ConfigurationSet name, PPPP for parameter name, and VVVV for set value. & br; As an example, if you create a ConsoleIn component, create a ConfigurationSet named mode1, and specify input_mode, input_cycle parameters like this:
This section describes the composite component view.
In the composite component view, the port public information of the selected composite RTC is displayed, and you can set the port public/private.
No. | Description |
① | Instance name of compound RTC. |
② | Type name of compound RTC. |
③ | State of port public / private. |
④ | Instance name of the child RTC contained in the compound RTC. |
⑤ | Port name of the child RTC included in the composite RTC. |
⑥ | Reflects the change of port public/private. |
⑦ | Cancel changes made to the port public/private. |
The information being edited in the composite component view is not applied until the [Apply] button in ⑥ is clicked. In addition, information being corrected (not applied) is displayed in light red. Also, the port selected on the system editor is displayed in light yellow.
If the port of a composite component is connected to a port of another component, the corresponding port is grayed out in the composite component view and it is not editable.
This section explains the execution context view.
In the Execution Context view, you can display a list of execution contexts (EC) to which the selected RTC belongs, start/end EC, execute action of RTC, attach/detach RTC to EC. You can also set the EC execution period.
No. | Description |
① | RTC instance name. |
② | Display a list of ECs to which the RTC belongs. EC owned by RTC is "owned*", EC with participation only is displayed as "participate*". |
③ | Execution rate of selected EC in ② |
④ ⑤ |
Display the properties of the selected EC as a list of Name and Value. id: ID of EC. When online, context_handle is displayed as ID. kind: EC type (PERIODIC/EVENT_DRIVEN/OTHER) state: State of EC (RUNNING/STOPPING) component_state: State of selected RTC on EC (ACTIVE/INACTIVE/ERROR) owner: Instance name of this EC owner RTC participants: Number of RTCs participating in this EC In addition, any property set in EC is displayed. |
⑥ | Reflect the input execution rate to EC. |
⑦ | Start selected EC. (Not available offline) |
⑧ | Stop the selected EC. (Not available offline) |
⑨ | Activate the state on the selected EC of the selected RTC. (Not available offline) |
⑩ | Deactivate the state of the selected RTC on the selected EC. (Not available offline) |
⑪ | Resets the state of the selected RTC on the currently selected EC. (Not available offline) |
⑫ | Detach the selected RTC from the selected EC. & br; However, detach is impossible when RTC itself is the owner of EC. |
⑬ | Open the RTC selection dialog on the system editor and attach the selected RTC to the EC. |
The editing value of the execution rate is not applied until the [Apply] button of ⑥ is clicked. In addition, information being corrected (not applied) is displayed in light red. If the input value is incorrect, it will be displayed in red.
In the case of online editor, you can change the operation of EC and the state of RTC on that EC.
When you click the [Start] button, EC is started, the state of the property becomes "RUNNING", clicking the [Stop] button stops EC, and the state becomes "STOPPING".
To change the state of the RTC on the EC click the [Activate], [Deactivate] button. When activated, the component_state of the property becomes "ACTIVE", and when deactivated, the component_state becomes "INACTIVE".
If RTC enters the "ERROR" state for some reason, click the [Reset] button to restore it.
RTC can attach to multiple ECs.
Select the EC to which you want to add the RTC and click the [Attach] button to open the RTC selection dialog. In the selection dialog, a list of RTCs on the system editor is displayed.
After selecting RTC and clicking [OK], RTC is added to the EC, and a new EC is added to the participate EC list of the added RTC.
To cancel EC attachment, select EC of participate and click the [Detach] button.
We will explain the log view here.
The log view displays the RTC list for log collection target on the selected diagram and displays the log message notified from RTC.
You can select the RTC you want to display, and you can also filter the display according to the log level.
No. | Description |
① | Display a list of RTCs in the selected diagram, which is the target of log collection. The log of the RTC with the check here is displayed. |
② | Specify the log level threshold to be displayed. Display log messages above the specified level. |
③ | Display log messages. Filter the display by selection of RTC and log level designation. The display items are as follows. Time stamp Log level (SILENT/ERROR/WARN/INFO/DEBUG/TRACE/VERBOSE/PARANOID) RTC instance name Log notification target Log message |
When you select a diagram, a list of RTCs for log collection on the diagram is displayed in ①. The log is notified from the RTC by the log notification observer function, and the one registered as the observer becomes the log collection target.
When you select (check) the RTC whose log you want to display from the list, a message is displayed in the log display table of ③.
Log messages can also be filtered by log level. If you select the threshold level in the combo box in ②, only the logs above the selected level will be displayed. For example, if you select "INFO" in the combo box, only "ERROR" "WARN" "INFO" messages are displayed.
We will explain the property view here.
In the Properties view, RTC and connector profile information selected in System Dialog is displayed in real time. (Even if RTC is selected, it will be reflected immediately if a change is detected)
The meanings of the displayed icons are as follows.
No. | Icon | Name | Display Contents |
1 | RTC | InstanceName, TypeName, Description, Vender, Category, State(It is displayed based on the LifeCycleState of the first ExecutionContext) | |
2 | ExecutionContext | State, Kind, Rate | |
3 | ServicePort | Name, Property information list | |
4 | Outport | Name, Property information list | |
5 | Inport | Name, Property information list | |
6 | PortInterfaceProfile | InterfaceName, TypeName, PortInterfacePolarity | |
7 | manager | Components (List of generated component names) Loadable Modules (list of loadable module names) Loaded Modules (List of loaded module names) |
This section provides an overview and basic operation of the system editor.
In the system editor, the RTC status is displayed in real time. You can also perform system construction and operation verification by changing the connection between ports or changing the state of RTC.
I will explain how to connect between RTC ports and how to execute RTC.
To open a new system editor, click the [Open New System Editor] button on the toolbar or select [File] > [Open New System Editor] from the menu bar.
To place the RTC in the system editor, drag and drop RTC from the name service view.
Hold down the [Ctrl] key and click on the name service and select multiple RTCs, you can put them all together on the system editor.
Note that it is not possible to duplicate the parent RTC or child RTC of an RTC already placed in the system editor or composite RTC. Duplicate RTCs are passed through in multiple RTC deployments and error dialogs are displayed in standalone RTC placement.
This section explains how to change the state of RTC.
In the system diagram, you can select RTC and execute "Activate", "Deactivate", "Reset", "Finalize", "Exit", "Start", "Stop". You can also execute it in the name service view in the same way.
The meaning of these actions is as follows. Please note the execution destination.
No. | Action name | Destination | Meaning |
1 | Activate | Execute on the selected RTC and its first ExecutionContext | Request Activate |
2 | Deactivate | 〃 | Request Deactivate |
3 | Reset | 〃 | Request Reset |
4 | Exit | Execute on selected RTC | Request Exit |
5 | Start | Execute for the first ExecutionContext of the selected RTC | Request Start |
6 | Stop | 〃 | Request Activate |
If the action execution confirmation is enabled in the online editor item "setting screen", a confirmation dialog will be displayed before the action is executed.
By default, we do not do pre-confirmation.
Activate, Deactivate, shortcut keys are assigned. The default setting is as follows.
· Activate → Ctrl + Alt + A
· Deactivate → Ctrl + Alt + D
To change the key binding, you can set it with "General" → "key" in Eclipse standard setting menu.
In addition, as a function to operate the system easily, it is possible to request Activate, Deactivate, Start, Stop, and change to all RTCs included in the system editor from the tool bar and the context menu.
All type actions are also performed for ExecutionContexts other than the first one. Please be aware that the result differs from when Activate or Start is performed one by one to the RTC in the screen.
In the system editor, you can connect between RTC ports.
To connect between ports, drag and drop ports and ports.
After completing the drag and drop, a dialog prompting you to enter necessary information for the connection is displayed.
In this dialog, create a ConnectorProfile. Although ConnectorProfile needs to be created so that the conditions required by each port are satisfied, this dialog prompts you to enter only values that satisfy the necessary conditions. In the case of a connection that can not satisfy the necessary conditions, a prohibition mark is displayed when drag & drop connection is made and drag & drop can not be performed.
Connections between ports are roughly divided into connection between data ports and connection between service ports. For details, see System Editor (Connections between Ports)".
To disconnect between ports, select the connection and click the [Delete] button, or click [Delete] displayed in the context menu.
To disconnect all ports, select the port, right click and execute "All Disconnect".
You can set ConnectorProfile to a single port connection.
Right click on the port and select "Connect" from the context menu, the ConnectorProfile setting dialog opens just like when connecting to the port.
To delete a single port connection, select "Disconnect" from the right-click context menu and operate from the port disconnection dialog. Delete the target from the list of ConnectorProfiles displayed in the dialog, and click the [OK] button to execute the disconnection process.
With the log notification observer, you can collect RTC log messages with the tool. (OpenRTM-aist 1.1 or later)
Right click on the RTC on the diagram and select "Start Logging" on the context menu to start log collection. In the case of RTC which has already started log collection, the menu display becomes "Stop Logging" and log collection is stopped.
In case of RTC not compatible with observer, menu is inactive.
Similar to the status notification observer, log collection registers observation of the log notification observer in the RTC and receives notification. Register the observer at the start of log collection from the context menu and release the observer at the time of stop log collection. Also, like the status notification observer, removing the RTC from the diagram releases the observer.
In the log notification, the data structure (log record) including time and log level is sent from RTC, and the tool accumulates log data. Accumulated logs can be viewed using log view.
Describe operation of composite component.
Multiple components can be combined into a composite component. & br; Select the component you want to be a composite component, right click and select "Create Composite Component", the composite component generation dialog will be displayed.
The items of the dialog are as follows.
No. | Dialog Description | Description |
① | Manager | Name service Select the manager from the list of managers displayed in the view. The manager selected here will generate a composite component. |
② | Name | Specifies the instance name of the composite component. |
③ | Type | Specify the type of composite component. The possible types are as follows. [PeriodicECShared] Each RTC operates with sharing only ExecutionContext. Because the state of each RTC is independent, there can be multiple states within the composite component. [PeriodicStateShared] Each RTC shares the same ExecutionContext and also shares state. [Grouping] A composite component that each RTC does not share anything, each RTC holds its own ExecutionContext, state. |
④ | Path | Specifies the path to be set for the composite component. |
⑤ | Port | From the port list of the child component, select the port to display in the composite component. For the port selected here, a port for the proxy is created in the composite component. |
⑥ | - | Select all ports/Release all button |
When you create a composite component, the component you selected as a child component disappears from the system editor and a new composite component is drawn.
Double-click the diagram of the composite component, or right-click and choose Open in Editor, a new system diagram will open and the interior of the composite component will be displayed.
Displaying inside the composite component Open the system editor and add the children of the composite component by dragging and dropping the RTC from the name service view. All added child RTC ports are set to private.
Displaying inside the composite component Open the system editor and remove the child components there, so that the children of the composite component are deleted.
The deleted child component disappears from within the composite component and appears in the original system diagram (the diagram in which the composite component itself is displayed).
If you right-click on a composite component and select "Delete", the composite component is deleted from the diagram.
If you open a composite component in another system diagram at the time of deletion, a confirmation dialog of exit of the editor will be displayed.
If you right-click on the composite component and select "Decompose Composite Component", exist () is sent to the composite component and the component itself is terminated.
If you open a composite component in another system diagram at the time of release, a dialogue for confirmation of the exit of the editor will be displayed. & br; When the composite component is released, the child components are displayed in the original system diagram (the diagram in which the composite component was displayed).
Displaying inside a composite component If the port of a component in the system editor is exposed on a composite component, it will be displayed as a separate icon as shown below.
No. | name | shape |
1 | InPort | |
2 | OutPort | |
3 | ServicePort |
If you right-click on a published port and select "Unexport", the port will change to a state that it is not published. Also, if you right-click on an unpublished port and select "Export", the port will be changed to the published state.
However, if the port is connected to a port of another component, it can not be "Unexport".
I will explain saving and opening of the system editor.
You can save the system editor. To save, right-click [File] or the editor in the menu and select "Save". (In "Save As ..." you can arbitrarily select the file to be saved)
If you choose to save the system, the profile information dialog opens, setting the necessary items and clicking the [OK] button saves the system information in a file.
Name | Shape |
Vendor | Vendor name. An element that constitutes an identifier of the RT system. Required items. |
System Name | System name. An element that constitutes an identifier of the RT system. Required items. |
Version | Version of the system. An element that constitutes an identifier of the RT system. Required items. |
Path | File name to save the system. Required items. |
Update Log | Describe supplementary explanation of version etc. |
Check Required RTC to run the RT Request | RT system. |
To open the saved system editor, right-click on the editor and select "Open".
To open and restore the saved system editor, right click on the editor and select "Open and Restore ..." or "Open and Quick Restore ...".
Describe RTC display and RTC drawing and editing operation.
The RTC placed in the system editor is displayed as a rectangle and the port is displayed around that rectangle. Also, each state is expressed in color.
The list of icons and status colors is as follows.
No. | name | shape | state | default color(*) | |
1 | RTC | CREATED | White | ||
INACTIVE | Blue | ||||
ACTIVE | Light Green | ||||
ERROR | Red | ||||
UNKNOWN | Black | ||||
2 | Execution Context (First only) |
(Rectangular outer circumference of RTC) | RUNNING | Gray | |
STOPPED | Black | ||||
3 | InPort | disconnected | Blue | ||
Connected(1 or more) | Light Green | ||||
4 | OutPort | disconnected | Blue | ||
Connected(1 or more) | Light Green | ||||
5 | ServicePort | disconnected | Light Blue | ||
Connected(1 or more) | Cyan |
The color of each state can be changed by display color on the setting screen.
In addition, icon images can be attached according to RTC type and category.
Icon images can be changed in the setting screen by icon.
It monitors the status of the RTC placed in the system editor and updates the display in real time. & br; The monitoring method includes the status notification observer method (OpenRTM - aist 1.1 or later) or the periodic check by polling, and you can change the monitoring parameters by connecting the setting screen. & br; When placing RTC in the system editor, check the middleware version, if observer supported, register the observer to RTC. If the observer is not compatible, we will periodically query the state.
Deleting the RTC from the system editor also releases the observer.
The status notification observer notifies the following.
Notice | Description |
COMPONENT_PROFILE | Notify when RTC component profile changes |
RTC_STATUS | RTC status Notify new status and target EC's ID |
EC_STATUS | status of execution context change execution rate, EC start/stop, RTC attach/detach notification |
PORT_PROFILE | port state notify of port addition/deletion, connection connection/disconnection |
CONFIGURATION | Configuration state Notification of addition/change/deletion of configuration, switching of active configuration |
Here, we will explain RTC drawing editing. (I am daring to "drawing editing" instead of "editing" because the work described here is drawing editing, since there is no influence on the system at all)
Also, the position and size of the selected RTC are displayed in the status bar.
This section explains connection between data ports and service ports.
Connect data port "InPort" and "OutPort". When dragging and dropping between these, the following dialog will be displayed. The setting items of "Buffer" are hidden in the initial display.
The items and conditions of the dialog are as follows.
No. | Dialogue item name | ConnectorProfile | Requirement |
① | Name | name | None |
② | Data Type | <<properties>> dataport.data_type |
Specify the data type to be transmitted and received between the data ports connected by this connector. Select from data types that can be sent and received from each port. However, when including Any, it accepts any value of the other port. |
③ | Instance Type | <<properties>> dataport.interface_type |
Specify the interface type supported by the RT system designer or supported on the RT middleware on which RTC runs. Select from the interface types supported by each port. However, when including Any, it allows any interface of the other port. |
④ | Dataflow Type | <<properties>> dataport.dataflow_type |
Specify the data flow type that is supported by the RT system designer or RT Middleware on which RTC runs. Select from the data flow types supported by each port. However, when including Any, it allows any kind of data flow on the partner port. |
⑤ | Subscription Type | <<properties>> dataport.subscription_type |
[Condition required when the value of Dataflow Type is Push] Specify the type of subscription supported by the RT system designer, or on RT Middleware on which RTC runs. Select from among the subscription types supported by each port. However, if you include Any, you allow any subscription type of the other party. |
⑥ | Push Rate(Hz) | <<properties>> dataport.push_interval |
[Condition required when the value of Dataflow Type is "Push" and Subscription Type is "Periodic"] When the subscription type is "Periodic", specify the data transmission cycle. Specify the transmission cycle with a positive value (decimal possible). |
⑦ | Push Policy | <<properties>> dataport.publisher.push_policy |
Data transmission policy. [Condition required when Dataflow Type value is "Push" and Subscription Type is "Periodic"] Select from all, fifo, skip, new. all:Bulk transmission of data in buffer fifo:Send data in buffer one by one with FIFO skip:Sending by thinning out the data in the buffer new:Send the latest value of the data in the buffer (old values are discarded.) |
⑧ | Skip Count | <<properties>> dataport.publisher.skip_count |
Number of transmitted data skips. [Required condition when the value of Push Policy is "skip"] The data in the buffer is thinned out with this setting value and transmitted. |
⑨ | Details | ― | When the check box is checked, detailed setting items of the buffer of the I / O port are displayed. It is hidden at the initial display of the dialog. |
⑩ ⑮ |
Buffer length (OutPort/InPort) |
<<properties>> buffer.length |
Buffer length |
⑪ ⑯ |
Buffer full policy (OutPort/InPort) |
<<properties>> buffer.write.full_policy |
Behavior in case of buffer full when writing data to buffer. Select from overwrite, do_nothing, block. overwrite:Overwrite the data. do_nothing:I will not do anything. block:I will block. If block is specified, if the next timeout value is specified, it will time out if it can not be written after the specified time. The default is overwrite (overwrite). |
⑫ ⑰ |
Buffer write timeout (OutPort/InPort) |
<<properties>> buffer.write.timeout |
Time (in seconds) to generate the timeout out event when writing data to the buffer The default is 1.0 [sec]. If 0.0 is set, timeout does not occur. |
⑬ ⑱ |
Buffer empty policy (OutPort/InPort) |
<<properties>> buffer.read.empty_policy |
Behavior when buffer is empty when reading data from buffer. Select from readblock, do_nothing, and block. readblock:It rereads the last element. do_nothing:I will not do anything. block:I will block. If block is specified, if the next timeout value is specified, it will time out if it can not be read after the specified time. The default is readback. |
⑭ ⑲ |
Buffer read timeout (OutPort/InPort) |
<<properties>> buffer.read.timeout |
Time (in seconds) for generating a timeout event when reading data from the buffer The default is 1.0 [sec]. If 0.0 is set, timeout does not occur. |
⑳ ㉑ |
Name/Value | <<properties>> Name |
Set arbitrary properties You can add items with the [Add] button and delete items with the [Delete] button. The entered item is set to Properties of ConnectorProfile in NVList format. Property of the same key can not be set. |
Regarding items ② to ⑤, RT System Editor creates values that can be specified by matching character strings from the value list of each port. If only ANY is specified for both ports, it is impossible to determine the value that can be entered. Therefore, when ANY is included in both ports, RT System Editor allows you to enter arbitrary character strings. For items that can input arbitrary character strings, "Optional input possible" is displayed.
For connection between service ports, connect "ServicePort" and "ServicePort". When dragging and dropping between these, the following dialog will be displayed.
The items and conditions of the dialog are as follows.
No. | Dialogue item name | ConnectorProfile | Requirement |
① | Name | Name | None |
② | Details | ― | If you select the check box, the detailed setting items of Consumer / Provider will be displayed. It is hidden at the initial display of the dialog. |
③ | Consumer | ― | Select from the Consumer list of the interface set for the service port to be connected. In the selection list of ComboBox, it is displayed in the form of <component name>: <interface name>: <instance name>. The added Consumer / Provider pair is stored in the ConnectorProfile with the Consumer ID as the property key and the Provider ID as the property value. Consumer / Provider IDs are expressed in the following format. <rtc_name>.port.<port_name>.<if_polality>.<if_tname>.<if_iname> - rtc_name is the component name - port_name is the port name - if_polality is "required" for Consumer, "provided" for Provider - if_iname is the instance name of the interface |
④ | Provider | <<properties>> Set using Consumer ID as key |
As with Consumer, select from the list of Providers of the interface set for the service port to be connected. |
⑤ | Add | ― | Add a new entry for Consumer/Provider. |
⑥ | Delete | ― | Deletes the selected Consumer / Provider entry. |
⑦ ⑧ |
Name/Value | <<properties>> Name |
Set arbitrary properties You can add items with the [Add] button and delete items with the [Delete] button. The entered item is set to Properties of ConnectorProfile in NVList format. Property of the same key can not be set. |
For the service port, there is no mandatory connection condition. However, if PortInterfaceProfile between ServicePorts does not perfectly match (* 1), a warning will be displayed on the connection dialog.
This section outlines the offline system editor.
To open the new offline system editor, click the "Open New Offline System Editor" button on the toolbar or select [File] > [Open New Offline System Editor] from the menu bar.
To place the component specification in the offline system editor, drag and drop the component specification from the repository view.
You can place it on the offline system editor at once by holding down the Ctrl key on the repository view and selecting multiple component specifications.
This section outlines the deployment function using the offline system editor.
By using the deployment function, it becomes possible to build the actual system from the offline profile created by the offline system editor.
Right click on the component placed in the offline editor and select "Set Deploy Info." From the displayed menu, the Deployment Information setting screen will be displayed.
You can save and load the deployment information you set separately from RtsProfile. Right click on the offline editor and select "Save Deploy Info."And "Load Deploy Info." From the menu displayed.
If you want to build (deploy) an actual system based on the deployment information you have set up, right-click on the offline editor and select "Deploy System" from the menu displayed.
When you execute deployment, you build (deploy) the real system based on the deployment information that you set. Then open a new online editor and display the deployment results.
If there is a component for which no deployment information is set in the target offline system or if the configured deploy target is not activated at deployment, the following warning screen will be displayed.
If you select "Cancel" on the warning screen, the deployment process will be aborted. If you select [OK], use the running deployment target to build (deploy) the system as much as possible.
This section explains the RT System Editor setting screen. The RT System Editor setting screen can be displayed in the menu [window]> [preferences]> [RT System Editor].
In the connection setting, set the heartbeat of the status notification observer and set the connection cycle.
In middleware corresponding to the status notification observer (OpenRTM-aist 1.1 or later), RTC survival is confirmed by heartbeat transmission to the observer. The setting items of the heartbeat are as follows.
Name | Description |
Enable heartbeat | Specify whether to enable timeout detection by heartbeat. |
Heartbeat reception interval | Specify the reception interval of the heartbeat. The unit is seconds, the default is 1.0 second. |
Heartbeat reception count | Specifies the number of heartbeat reception times for timeout detection. Reception interval x Receive count=Timeout time [sec] Default is 3 times. |
The connection cycle is the cycle in which the system editor collects system information and reflects it on display in the conventional middleware (OpenRTM-aist 1.0 or earlier).
Units are milliseconds and synchronization is not performed when 0 is specified.
In the display color setting screen, you can set the color of RTC and ExecutionContext status displayed in the system editor. For details on the meaning of each status, see Show RTC in System Editor.
On the icon setting screen, you can set the icon image given to the RTC displayed in the system editor and the pattern to be displayed. Set the type of RTC or the pattern of category for display target. Please see Show RTC in System Editor for icon image display image.
Add, edit, and delete icon image entries with the Add, Edit, and Delete buttons. Clicking the [Add] and [Edit] button opens the icon image setting dialog, and sets the pattern to be displayed and the icon image file.
In the offline editor, you can set the parameters that can be selected when connecting a port.
The items that can be set are [Interface Type], [Data Flow Type], [Subscription Type], and values can be selected from the parameters set here when connecting to the port. For the meaning of each, see the connection between data ports.
In the on-line editor, you can set whether execution confirmation before RTC is executed when RTC action is executed. The initial value is no check (no confirmation).
The connection period is the period at which the RT Name Service View gathers system information and reflects it on display. &br There are two connection periods, naming service view and system editor. Units are milliseconds, and synchronization is not performed when 0 is specified.
The timeout wait time is the time (in milliseconds) to wait when collecting system information, if no connection with the system is established.
The relationship between the connection cycle and the synchronization timeout wait time is as shown below.
(Example: When the connection cycle is 1000 ms and the synchronization timeout wait time is 100 ms)
RT System Editor was developed using the following libraries. Thanks to those involved in the development and design of these projects.
Apache Jakarta Commons Lang Copyright 2001-2006 The Apache Software Foundation
This product includes software developed by The Apache Software Foundation.