How to setup IceGrid on your robot
Note
This is a draft version of this guide which is not complete yet

Basic idea of the setup

  • start one IceGrid node per PC with one of them running the IceGrid registry and IceStorm (use init.d or systemd which in turn calls armarx start $NODE_NAME as well as armarx stop)
  • the working directory of each node must be $HOME/.armarx/icegridnode_data/$NODE_NAME and contain the subdirectories data, log, and registry (each node is run in daemon mode and using distinct working directories allows specifying the data directories as relative paths so the same configuration file can be used for all nodes)
  • –Ice.ProgramName and –IceGrid.Node.Name of each node must be specified at startup and must be unique (armarx start $NODE_NAME already does this but the IceGrid node running the registry must currently have the name NodeMain)
  • $HOME/.armarx/default.cfg for all nodes must contain the same values for Ice.Default.Locator, IceGrid.Registry.Client.Endpoints, ArmarX.MongoHost, and ArmarX.MongoPort. Ice.Default.Locator must point to host and port of the PC running the IceGrid registry.
  • MongoDB should be running on the PC on which the memory components will be started
  • use \rev armarx-dev-cli-sync "armarx-dev sync" to copy ArmarX packages built from source into the $HOME directory of a specific user
  • use ArmarX deployment to start ArmarX scenarios on the robot PCs