|
For a local setup i.e. everythings runs on one PC, no special setup is needed. For a multi PC setup, some special configuration might be needed. If you are unsure if your setup needs this, just do it. It doesnt hurt.
If your machine has multiple network interfaces, Ice advertises its services on all interfaces by default. However, other PCs can often only reach the services via one specific interface. Therefore, it is necessary to specify the Ice.Default.Host property. This property needs to be set to the IP of the interface that should be used. It is not possible to specify multiple IPs/Interfaces.
Add 'Ice.Default.Host=<YOUR-IP>' to the ~/.armarx/default.cfg on all PCs. Each with the IP of that PC. Additionally, export on the PC where icegrid is running (i.e. where you execute "armarx start") the environment variable ICE_DEFAULT_HOST:
export ICE_DEFAULT_HOST=<IP>
and execute cmake in ArmarXCore again. This will generate this property into the config of IceStorm. Now, start or restart Ice and all applications.
After compiling the framework as described in Compiling ArmarXCore it is time to start the necessary infrastructure required to run ArmarX programs by executing
${ArmarXCore_DIR}/bin/armarx start
The startup of IceGrid can be configured by changing the variables found in the file
${HOME}/.armarx/default.cfg
This file gets automatically created upon first execution of 'armarx start'.
In order to run multiple IceGrid instances on one computer the registry port must be changed as described in Multi-User Setup.
ArmarX components use the IceGrid registry to locate all necessary components and proxies. Therefore, the hostname and the port of the IceGrid node running the registry must be specified upon application startup.
Running several IceGrid registries on one host requires each registry instance to use a unique port number. The default port value of 4061 is defined by the entries in the file ${HOME}/.armarx/default.cfg
Ice.Default.Locator=IceGrid/Locator:tcp -p 4061 -h localhost IceGrid.Registry.Client.Endpoints=tcp -p 4061
After editing the port number record it in
${ArmarXCore_DIR}/../config/ICEGRID_PORT_USAGE.txt
This helps avoiding conflicts and accidential shutdowns of other users registry.
There are several ways to start ArmarX applications once the infrastructure is running
Stopping the framework infrastructure is as simple as executing the script
${ArmarXCore_DIR}/bin/armarx stop
This stops all Ice related daemons and terminates deployed programs. Locally started applications need to be stopped manually.
Please note that all deploayed programs which were running prior to termination will automatically execute again at the next startup.
Resetting the framework infrastructure is performed by the following script
cd ${ArmarXCore_DIR}/bin/armarx reset
This calls 'armarx stop', removes the IceGrid registry, and calls 'armarx start'.
After calling this script the registry will be completely empty and only IceStorm will be running. All previous deployments are deleted and have to be redeployed after the reset.