Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 152 |
RT-Middleware | 33 |
Tools | 22 |
Documentation | 2 |
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
General settings
config.version
Version of the configuration file.openrtm.version
Version of OpenRTM-aist.Settings related to manager
manger.name
Name of manager. When a manager is registered with a name server, it is registered with the name set here.
maanger_naming_formats
Specify the format for registering the manager in the name server. below You can use specifiers that begin with % .
manager.is_master
Whether or not to make this process master manager? Command line option If you specify - d , even if this value is set to NO, it becomes the master manager.
manager.corba_servant
Setting whether to activate manager 's CORBA servant. If you set YES, the manager's CORBA servant will start, so you can operate the manager remotely. In the case of NO, since the CORBA servant is not activated, it is impossible for the manager to operate via CORBA.
corba.master_manager
Master manager address and port number. The master manager can access by corbaloc format URL specification, but specifies the port number to be used at that time. In addition, the slave manager interprets the master manager specified here as its own master manager, and accesses and negotiates the master manager at startup.
manager.shutdown_on_nortcs:
When there is no RTC on the process, that is, when the last one of the RTCs on the same process is terminated, it specifies whether to shut down the manager and terminate the process. In the case of YES, the process is terminated when there is no RTC. In the case of NO, both the manager and the process continue to move even when there is no RTC.
manager.shutdown_auto
Check the presence or absence of RTC in the process at regular time intervals, and if there is no RTC, set whether or not to shut down manager and process. If yes, if there is no RTC, the manager and process are automatically shut down. If NO, the manager and processes continue to operate even if there is no RTC.
The difference from manager.shutdown_on_nortcs is that the shutdown trigger, While manager.shutdown_on_nortcs removes RTC, manager.shutdown_auto is a point in time.manager.auto_shutdown_duration
Period to check for the presence or absence of RTC in the process. The unit is seconds. If manager.shutdown_auto above is set to YES, check the presence or absence of RTC at the cycle set by this option.
manager.cpu_affinity
This option binds manager processes to specific CPUs. Optional arguments must be one or more CPU IDs separated by commas. The CPU ID starts from 0, and the maximum value is the number of CPU cores minus one. If an incorrect CPU ID is specified, this process is set to use all CPUs.
manager.supported_languages
The master manager activates the slave manager and the RTC in response to a request from a remote application or the like. Slave managers may be not only C++ language versions, but also Java and Python versions. This option sets the language supported by the master manager.
manager.modules.<lang>.suffixes
Extension of RTC module for each language.
manager.modules.<lang>.manager_cmd
Manager program name by language.
manager.modules.<lang>.profile_cmd
Profile acquisition command name for each language.
manager.modules.<lang>.load_paths
RTC module load path for each language.
Settings related to CORBA
corba.args
Specify arguments to give to CORBA. CORBA has different command line options for each implementation. Normally the command line argument is given to the ORB_init () function which is the CORBA API, but this option passes the specified character string to this ORB_init () function.
Designation example 1
Be careful when sending image data etc. over the data port when the data size to be sent at once exceeds about 2 MB. In omniORB, the size handled by giop (General Inter-ORB Protocol) is "2097152 B (2 MB)" by default, and if you try to send data exceeding this size, it is impossible to send correct data due to giop limitation. It is possible to change the maximum size using the corba.args option. This specification must be specified in both OutPort and InPort.
In addition to specifying it in corba.args, this restriction can be relaxed by specifying environment variables as follows.
corba.endpoint:
In CORBA, access is made by referring to the remote object called IOR, but in the IOR, usually only one set of the address and port number of the node where the object operates is described. When there are two or more network interfaces in the node on which OpenRTM is running, unintended addresses may be allocated as addresses of nodes included in the IOR.
In order to solve this, you can specify the address of the network used by CORBA with this option. Host address: port number , but you can omit port number. However, : (colon) can not be omitted.
corba.endpoints
An option that allows you to specify multiple endpoints of corba.endpoint. Depending on the implementation of the ORB, the IOR can contain multiple addresses. However, in JavaIDL which is the Java standard CORBA, when accessing the object via IOR specifying multiple addresses, problems such as slow operation are reported, so care is required.
You can specify multiple address: port pairs separated by , (comma) . By specifying all as a special string, all addresses of the node can be included in the IOR.
corba.endpoints:
corba.nameservers
Option to specify a name server to register RTC etc. Multiple name servers can be specified with comma separated values. Especially when there is no name server at the specified address and port number, it does not cause an error in particular, and it registers the name of RTC only to existing name servers.
corba.nameservice.replace_endpoint
When there are multiple NICs in a node, there are cases where the address included in the IOR of the RTC registered on the name server is not appropriate. For example, if a node has two addresses of 192.168.0.10 and 192.168.1.10 and is registered on two name servers existing in 192.168.0.1 and 192.168.1.1, if 192.168.0.10 is the default on this node If it is a network interface to be used, the IOR registered in the above two name server name servers includes only 192.168.0.10. At this time, in the 192.168.1.0 network, the IOR on the name server is meaningless in which an unreachable address is described.
If this option is specified, replace the address of the IOR registered in the 192.168.1.1 name server with 192.168.1.10 in the case like the above case.
However, by designating this option, although it is possible to use the profile etc. of the RTC from other nodes on the 192.168.1.0 network, it is impossible to connect the port etc.
corba.alternate_iiop_addresses
This option adds an alternate IIOP address to the IOR profile. The IOR can contain additional endpoints of servants (servers of CORBA objects). This is almost equivalent to the "corba.endpoints" option, except that it does not actually create endpoints. (The "corba.endpoints" option tries to create the actual endpoint, otherwise an error will be returned.) This option simply adds the alternate IIOP endpoint address information to the IOR.
This option is used when RTC is placed inside NAT or router. In general, the RTC in the private network can not connect the RTC on the global network. However, if NAT and router port forwarding are properly configured, RTC on the global side can connect to RTC of private network.
The setting is done as follows.
In RTSystemEditor, access to private side RTC may become extremely slow. This is probably because it takes time to reach the private side because implementation of Java's IOR add profile function is not enough. By using rtshell etc., you can reduce the time it takes to connect. Also, even when it takes time to connect with RTSystemEditor or rtshell, the communication speed between the ports once connected is almost the same as normal.
Settings related to name service
naming.enable
This option enables / disables the function related to the naming service. If YES is specified, RTC reference is registered in the name service. If NO, registration of RTC's reference to the name service is not done.
naming.type
This option specifies the type of name service. Currently it only supports corba.naming.formats
Specify the format for registering RTC on the name server. You can use specifiers that begin with % below. The delimiter of the name hierarchy is /, and the delimiter of name and kind (kind) is ..
naming.update.enable
Registration of the RTC to the name server is usually done at instance creation time. Therefore, the name and reference of the RTC are not registered in the name server started after RTC generation. Specifying this option periodically checks the name server, and if the name server is confirmed to start up, register the name and reference again.
naming.update.interval
If naming.update.enable is YES, specify the period for checking and re-registering the name server.
naming.update.rebind
If you specify YES for this option, even if the name is already deleted on the name server whose name and reference are already registered, registration is done again.
Settings related to module loading
manager.modules.load_path
The manager searches modules from the search path list specified by this option. Paths are enumerated by comma separators. Path delimiters are On UNIX, it is /, Windows \\.
manager.modules.preload:
The manager can load the loadable module beforehand at startup. Find the loadable module specified with this option from the search path specified by manager.modules.load_path. If YES is specified in manager.modules.abs_path_allowed , loadable modules can also be specified as absolute paths.
manager.modules.abs_path_allowed
Absolute path designation permission flag of the module. If this option is YES, the entertainment path specification of the module is permitted.
manager.components.precreate
This option specifies the component name (module name) to be started at the start of the manager. The factory of the component specified here needs to be registered, such as manager.module.preload or statically linked to the manager.Logger relationship setting
logger.enable
Designation to enable / disable logger.
logger.file_name
Specify the log file name. You can also output to multiple files separated by commas. The specifier% p to replace the process ID is available. Also, if the file name is' stdout '', the log is outputted to the standard output.logger.date_format
Date / time format specification in the log. The format specifier similar to strftime (3) below can be used. If you do not specify a time, specify No or Disable.
Note: some versions of Microsoft Visual C++ may use values that range from 0-11.
logger.log_level
The following log levels can be specified.
Levels of log messages actually recorded in the log when specifying the log level to be written are as follows.
Each TRACE, VERBOSE, PARANOID log level usually produces a huge log file. If PARANOID is specified, the log format may be lost.
Timer settings
timer.enable
Enable/disable the timer function. When the timer is invalidated, the function using the timer, for example, periodic checking and reregistration of the name server, becomes invalid.
timer.tick
Specify the accuracy of the timer.exec_cxt.periodic.type
The type of default execution context.
exec_cxt.periodic.rate
The period of the default execution context.