generator  1.2
ProjectParameters.h
Go to the documentation of this file.
1 /*
2  This file is part of the GeneratorOfDatasets program.
3 
4  GeneratorOfDatasets is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  GeneratorOfDatasets is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with GeneratorOfDatasets. If not, see <http://www.gnu.org/licenses/>.
16 */
17 #ifndef HLIDAC_PES_PROJECT_PARAMETERS_H
18 #define HLIDAC_PES_PROJECT_PARAMETERS_H
19 
26 #include <cmath>
27 #include <iostream>
28 #include <limits>
29 #include <vector>
30 #include <stdint.h>
31 #include "Interval.h"
32 
38  uint32_t numberOfRobots;
39 
41  std::vector<Interval<double> > inputPowerOfModes;
43  std::vector<Interval<double> > minDelayOfModes;
44 
50  std::vector<Interval<double> > energyFunctionCoefficients;
53 
60 
67 
72 
75 
78 };
79 
86 
87 #endif
Interval< double > dilatationFactor
Multiplicative factor by which the lower estimation of the cycle time will be adjusted.
Interval< uint32_t > numberOfPoints
The interval of the number of points (i.e. robot configurations) for each robot operation.
The structure with desired properties for the generated instances.
std::vector< Interval< double > > minDelayOfModes
The time interval of minimal duration for each power saving mode.
std::vector< Interval< double > > energyFunctionCoefficients
Intervals of energy function coefficients.
Interval< int32_t > degreeOfCoefficients
The degree of coefficients, e.g. results to where are energy function coefficients.
Interval< double > minimalVertexDegree
The interval of the desired average node degree for the graph of robot interconnections.
double percentageOfRobotsHandover
The probability of the direct gripper-to-gripper handover.
std::vector< Interval< double > > inputPowerOfModes
For each power saving mode of the robot the interval of input power is defined.
Interval< double > prolongationOfOperation
The time interval of the additive part to the minimal operation duration.
Interval< uint32_t > numberOfCollisions
The interval of the number of generated collisions between robots.
double percentageOfTableHandover
The probability that the workpiece/weldment is handed over to other robot by using a bench...
Interval< double > prolongationOfMovement
The interval of prolongation for the fastest robot movements.
Interval< uint32_t > sequenceLength
The interval of the number of robot sub-operations for each atomic sequence.
Interval< double > minDurationOfOperation
The interval of minimal duration of the robot operation, e.g. welding, assembling, ...
bool checkProjectParameters(const ProjectParameters &par)
The function checks that the desired properties of instances are logically correct.
Interval< uint32_t > numberOfSequences
The interval of the number of atomic sequences in each (dis)assembling/welding/cutting operation...
The file declares the Interval class and its iostream operators.
uint32_t numberOfRobots
The number of robots in the robotic cell.
Interval< double > minDurationOfMovement
The interval of minimal duration of robot movements (defines the fastest movement).