AUV-Coop-Assembly
Master Thesis for Robotics Engineering. Cooperative peg-in-hole assembly with two underwater vehicles guided by vision
logger.cpp
1 #include "header/logger.h"
2 
3 Logger::Logger(){}
4 
5 Logger::Logger(std::string nodeName, std::string pathLog){
6 
7  this->nodeName = nodeName;
8  this->pathLog = pathLog += "/" + nodeName;
9  std::cout << "[" << nodeName
10  << "][Logger] Start " << std::endl;
11 }
12 
13 void Logger::createDirectoryForNode(){
14  PRT::createDirectory(pathLog);
15  std::cout << "[" << nodeName
16  << "][Logger] Created Log Folder in "
17  << pathLog << std::endl;
18 }
19 
20 int Logger::createTasksListDirectories(std::vector <Task*> tasksList){
21 
22  for (int i =0; i< tasksList.size(); ++i){
23  PRT::createDirectory(pathLog +"/" +tasksList[i]->getName());
24  }
25  std::cout << "[" << nodeName
26  << "][Logger] Created Log SubFolders for tasks in "
27  << pathLog << std::endl;
28  return 0;
29 
30 }
31 
32 int Logger::logAllForTasks(std::vector <Task*> tasksList){
33 
34  Logger::logTasksActivation(tasksList);
35  Logger::logTasksReference(tasksList);
36  Logger::logTasksError(tasksList);
37 
38  return 0;
39 }
40 
41 int Logger::logTasksActivation(std::vector <Task*> tasksList){
42 
43  for(int i=0; i<tasksList.size(); i++){
44  std::string pathname = pathLog + "/" + tasksList[i]->getName();
45  PRT::matrixCmat2file(pathname + "/activation.txt",
46  tasksList[i]->getActivation().GetDiag());
47  }
48 
49  return 0;
50 
51 }
52 
53 int Logger::logTasksReference(std::vector <Task*> tasksList){
54 
55  for(int i=0; i<tasksList.size(); i++){
56  std::string pathname = pathLog + "/" + tasksList[i]->getName();
57 
58  PRT::matrixCmat2file(pathname + "/reference.txt",
59  tasksList[i]->getReference());
60  }
61  return 0;
62 
63 }
64 
65 int Logger::logTasksError(std::vector <Task*> tasksList){
66 
67  for(int i=0; i<tasksList.size(); i++){
68  std::string pathname = pathLog + "/" + tasksList[i]->getName();
69 
70  PRT::matrixCmat2file(pathname + "/error.txt",
71  tasksList[i]->getError());
72  }
73  return 0;
74 
75 }
76 
77 void Logger::logNumbers(std::vector<double> matrix, std::string fileName){
78  std::string path = pathLog + "/" + fileName +".txt";
79  PRT::vectorStd2file(path, matrix);
80 }
81 
82 void Logger::logNumbers(Eigen::MatrixXd matrix, std::string fileName){
83  std::string path = pathLog + "/" + fileName +".txt";
84  PRT::matrixEigen2file(path, matrix);
85 }
86 
87 void Logger::logNumbers(double scalar, std::string fileName){
88  std::string path = pathLog + "/" + fileName + ".txt";
89  PRT::double2file(path, scalar);
90 }
91 
92 void Logger::logNumbers(CMAT::Matrix matrix, std::string fileName){
93  Logger::logNumbers(CONV::matrix_cmat2eigen(matrix), fileName);
94 }
95 
96 
106 void Logger::logCartError(Eigen::Matrix4d goal, Eigen::Matrix4d base,
107  std::string fileName){
108 
109  Logger::logCartError(CONV::matrix_eigen2cmat(goal),
110  CONV::matrix_eigen2cmat(base), fileName);
111 
112 
113 }
114 
115 void Logger::logCartError(CMAT::TransfMatrix goal, CMAT::TransfMatrix base,
116  std::string fileName){
117 
118  CMAT::Vect6 stressErrorSwapped = CMAT::CartError(goal, base);
119 
120  std::vector<double> stressError(6);
121  stressError.at(0) = stressErrorSwapped(4);
122  stressError.at(1) = stressErrorSwapped(5);
123  stressError.at(2) = stressErrorSwapped(6);
124  stressError.at(3) = stressErrorSwapped(1);
125  stressError.at(4) = stressErrorSwapped(2);
126  stressError.at(5) = stressErrorSwapped(3);
127 
128  std::string path = pathLog + "/" + fileName + ".txt";
129  PRT::vectorStd2file(path, stressError);
130 
131 }
132 
133 
134 
135 
136 
137 
void logCartError(Eigen::Matrix4d goal, Eigen::Matrix4d base, std::string fileName)
Logger::logCartError log cartesian error for two frames The result is the error that brings in2 towar...
Definition: logger.cpp:106