Project

General

Profile

Software deployment » History » Revision 3

Revision 2 (Simon Lacroix, 2018-08-15 19:23) → Revision 3/5 (Simon Lacroix, 2018-08-15 19:32)

h1. Software deployment 

 This pages presents the requirements of the set of tools that helps to easily configure, launch and run the robots on-board softwares. 

 h2. General requirements 

 * The tools must be very easy to use 
 * The tools must be very easy to maintain and update 
 * The tools must allow to specify and configure the softwares that will be run 
 * In a second step, the tools will endow means to supervise the execution of scenarios 

 h2. General principles 

 The following principles take very much after the "dala scripts" (see the git repo: git+ssh://softs.laas.fr/git/robots/dala-scripts.git ), the main file names in this suite are referred to hereafter. 

 #    A shell script: (see shell-script/start.sh) 
 * sets a series of environment variables required to launch the softwares (in particular, a LOGDIR) 
 * Interprets the "main a configuration file" file that specifies which softwares must be launched (a software can be a ROS node, a Genom3 module, some utilities -- e.g. display server, redirection of redirecting the GPS correction data to the proper device, ... what else ?) 
 * Properly launches each software -- and warn the user in case launch failed 
 * Redirects standard and error outputs of each software into dedicated files in LOGDIR 

 A companion shell-scripts terminates "in a clean manner" all the launched softwares 

 # A python interpreter is launched, loading: 
 * For each launched module/node, a .py file that contains: 
  * The set of parameters associated to the software (mainly initialisation parameters, but also functioning mode, ...) 
  * A series of "generic" functions: init/start, run, log, stop-log (some doing nothing if they are not implemented in the software) 



 h2. Some details  

 * It would be nice to execute the launch shell script with the main configuration file as an argument (so that one can manage a series of configuration files)