Woolfrey / software_robot_library

Custom classes for robot control.
GNU General Public License v3.0
2 stars 1 forks source link

List requirements #109

Open Woolfrey opened 7 months ago

Woolfrey commented 7 months ago

Someone I was collaborating with was unable to compile the library on Ubuntu 20.04.

We need to check the compatibility and list it in the README.md file for future users.

Woolfrey commented 4 months ago

@ssutjipto you mentioned this in the last meeting?

anubhav-dogra commented 4 months ago

Hi @Woolfrey This is my terminal output after the command sudo make install. I think the issue is related to the version of eigen library.

Scanning dependencies of target Trajectory
[  7%] Building CXX object Trajectory/CMakeFiles/Trajectory.dir/test/polynomial_test.cpp.o
In file included from /noetic/software_robot_library/Trajectory/include/Polynomial.h:12,
                 from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:20:9: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   20 |  Eigen::Vector<DataType,Eigen::Dynamic> position;
      |         ^~~~~~
      |         VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:21:9: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   21 |  Eigen::Vector<DataType,Eigen::Dynamic> velocity;
      |         ^~~~~~
      |         VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:22:9: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   22 |  Eigen::Vector<DataType,Eigen::Dynamic> acceleration;
      |         ^~~~~~
      |         VectorXd
In file included from /noetic/software_robot_library/Trajectory/include/Polynomial.h:12,
                 from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:40:31: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   40 |   TrajectoryBase(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                               ^~~~~~
      |                               VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:40:37: error: expected ‘,’ or ‘...’ before ‘<’ token
   40 |   TrajectoryBase(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                     ^
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:51:10: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   51 |   Eigen::Vector<DataType,Eigen::Dynamic> query_position(const DataType &time)
      |          ^~~~~~
      |          VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:80:10: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   80 |   Eigen::Vector<DataType,Eigen::Dynamic> _startPoint;
      |          ^~~~~~
      |          VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:82:10: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   82 |   Eigen::Vector<DataType,Eigen::Dynamic> _endPoint;
      |          ^~~~~~
      |          VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:90:55: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   90 | TrajectoryBase<DataType>::TrajectoryBase(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                                       ^~~~~~
      |                                                       VectorXd
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:90:61: error: expected ‘,’ or ‘...’ before ‘<’ token
   90 | TrajectoryBase<DataType>::TrajectoryBase(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                                             ^
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h: In constructor ‘TrajectoryBase<DataType>::TrajectoryBase(int)’:
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:96:42: error: class ‘TrajectoryBase<DataType>’ does not have any field named ‘_startPoint’
   96 |                                          _startPoint(startPoint),
      |                                          ^~~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:96:54: error: ‘startPoint’ was not declared in this scope
   96 |                                          _startPoint(startPoint),
      |                                                      ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:97:42: error: class ‘TrajectoryBase<DataType>’ does not have any field named ‘_endPoint’
   97 |                                          _endPoint(endPoint),
      |                                          ^~~~~~~~~
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:97:52: error: ‘endPoint’ was not declared in this scope
   97 |                                          _endPoint(endPoint),
      |                                                    ^~~~~~~~
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:98:53: error: ‘startTime’ was not declared in this scope; did you mean ‘_startTime’?
   98 |                                          _startTime(startTime),
      |                                                     ^~~~~~~~~
      |                                                     _startTime
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:99:51: error: ‘endTime’ was not declared in this scope; did you mean ‘_endTime’?
   99 |                                          _endTime(endTime),
      |                                                   ^~~~~~~
      |                                                   _endTime
/noetic/software_robot_library/Trajectory/include/TrajectoryBase.h:100:54: error: ‘dimensions’ was not declared in this scope; did you mean ‘_dimensions’?
  100 |                                          _dimensions(dimensions)
      |                                                      ^~~~~~~~~~
      |                                                      _dimensions
In file included from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/Polynomial.h: At global scope:
/noetic/software_robot_library/Trajectory/include/Polynomial.h:29:27: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   29 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                           ^~~~~~
      |                           VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:29:33: error: expected ‘,’ or ‘...’ before ‘<’ token
   29 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                 ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:51:27: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   51 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                           ^~~~~~
      |                           VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:51:33: error: expected ‘,’ or ‘...’ before ‘<’ token
   51 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                 ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:51:3: error: ‘Polynomial<DataType>::Polynomial(int)’ cannot be overloaded with ‘Polynomial<DataType>::Polynomial(int)’
   51 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |   ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:29:3: note: previous declaration ‘Polynomial<DataType>::Polynomial(int)’
   29 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |   ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:76:28: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   76 |    Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                            ^~~~~~
      |                            VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:76:34: error: expected ‘,’ or ‘...’ before ‘<’ token
   76 |    Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                  ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:76:4: error: ‘Polynomial<DataType>::Polynomial(int)’ cannot be overloaded with ‘Polynomial<DataType>::Polynomial(int)’
   76 |    Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |    ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:29:3: note: previous declaration ‘Polynomial<DataType>::Polynomial(int)’
   29 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |   ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:91:10: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
   91 |   Eigen::Vector<DataType,Eigen::Dynamic> query_position(const DataType &time)
      |          ^~~~~~
      |          VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h: In constructor ‘Polynomial<DataType>::Polynomial(int)’:
/noetic/software_robot_library/Trajectory/include/Polynomial.h:35:14: error: ‘startPoint’ was not declared in this scope
   35 |   Polynomial(startPoint, endPoint,
      |              ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:35:26: error: ‘endPoint’ was not declared in this scope
   35 |   Polynomial(startPoint, endPoint,
      |                          ^~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:36:35: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   36 |                            Eigen::Vector<DataType,Eigen::Dynamic>::Zero(startPoint.size()),
      |                                   ^~~~~~
      |                                   VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:36:50: error: expected primary-expression before ‘,’ token
   36 |                            Eigen::Vector<DataType,Eigen::Dynamic>::Zero(startPoint.size()),
      |                                                  ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:36:68: error: ‘::Zero’ has not been declared
   36 |                            Eigen::Vector<DataType,Eigen::Dynamic>::Zero(startPoint.size()),
      |                                                                    ^~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:37:35: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   37 |                            Eigen::Vector<DataType,Eigen::Dynamic>::Zero(endPoint.size()),
      |                                   ^~~~~~
      |                                   VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:37:50: error: expected primary-expression before ‘,’ token
   37 |                            Eigen::Vector<DataType,Eigen::Dynamic>::Zero(endPoint.size()),
      |                                                  ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:37:68: error: ‘::Zero’ has not been declared
   37 |                            Eigen::Vector<DataType,Eigen::Dynamic>::Zero(endPoint.size()),
      |                                                                    ^~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:38:28: error: ‘startTime’ was not declared in this scope; did you mean ‘strptime’?
   38 |                            startTime, endTime, order) {}
      |                            ^~~~~~~~~
      |                            strptime
/noetic/software_robot_library/Trajectory/include/Polynomial.h:38:39: error: ‘endTime’ was not declared in this scope
   38 |                            startTime, endTime, order) {}
      |                                       ^~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:38:48: error: ‘order’ was not declared in this scope; did you mean ‘_order’?
   38 |                            startTime, endTime, order) {}
      |                                                ^~~~~
      |                                                _order
/noetic/software_robot_library/Trajectory/include/Polynomial.h: In constructor ‘Polynomial<DataType>::Polynomial(int)’:
/noetic/software_robot_library/Trajectory/include/Polynomial.h:59:14: error: ‘startPoint’ was not declared in this scope
   59 |   Polynomial(startPoint, endPoint, startVelocity, endVelocity,
      |              ^~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:59:26: error: ‘endPoint’ was not declared in this scope
   59 |   Polynomial(startPoint, endPoint, startVelocity, endVelocity,
      |                          ^~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:59:36: error: ‘startVelocity’ was not declared in this scope
   59 |   Polynomial(startPoint, endPoint, startVelocity, endVelocity,
      |                                    ^~~~~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:59:51: error: ‘endVelocity’ was not declared in this scope
   59 |   Polynomial(startPoint, endPoint, startVelocity, endVelocity,
      |                                                   ^~~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:60:21: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   60 |              Eigen::Vector<DataType,Eigen::Dynamic>::Zero(startPoint.size()),
      |                     ^~~~~~
      |                     VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:60:36: error: expected primary-expression before ‘,’ token
   60 |              Eigen::Vector<DataType,Eigen::Dynamic>::Zero(startPoint.size()),
      |                                    ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:60:54: error: ‘::Zero’ has not been declared
   60 |              Eigen::Vector<DataType,Eigen::Dynamic>::Zero(startPoint.size()),
      |                                                      ^~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:61:21: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   61 |              Eigen::Vector<DataType,Eigen::Dynamic>::Zero(endPoint.size()),
      |                     ^~~~~~
      |                     VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:61:36: error: expected primary-expression before ‘,’ token
   61 |              Eigen::Vector<DataType,Eigen::Dynamic>::Zero(endPoint.size()),
      |                                    ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:61:54: error: ‘::Zero’ has not been declared
   61 |              Eigen::Vector<DataType,Eigen::Dynamic>::Zero(endPoint.size()),
      |                                                      ^~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:62:14: error: ‘startTime’ was not declared in this scope; did you mean ‘strptime’?
   62 |              startTime, endTime, order) {}
      |              ^~~~~~~~~
      |              strptime
/noetic/software_robot_library/Trajectory/include/Polynomial.h:62:25: error: ‘endTime’ was not declared in this scope
   62 |              startTime, endTime, order) {}
      |                         ^~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:62:34: error: ‘order’ was not declared in this scope; did you mean ‘_order’?
   62 |              startTime, endTime, order) {}
      |                                  ^~~~~
      |                                  _order
In file included from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/Polynomial.h: At global scope:
/noetic/software_robot_library/Trajectory/include/Polynomial.h:114:47: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘VectorXd’?
  114 | Polynomial<DataType>::Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                               ^~~~~~
      |                                               VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:114:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  114 | Polynomial<DataType>::Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |                                                     ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:114:1: error: redefinition of ‘Polynomial<DataType>::Polynomial(int)’
  114 | Polynomial<DataType>::Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      | ^~~~~~~~~~~~~~~~~~~~
In file included from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/Polynomial.h:29:3: note: ‘Polynomial<DataType>::Polynomial(int)’ previously declared here
   29 |   Polynomial(const Eigen::Vector<DataType,Eigen::Dynamic> &startPoint,
      |   ^~~~~~~~~~
In file included from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/Polynomial.h: In member function ‘State<DataType> Polynomial<DataType>::query_state(const DataType&)’:
/noetic/software_robot_library/Trajectory/include/Polynomial.h:220:34: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
  220 |  State<DataType> state = {Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions),
      |                                  ^~~~~~
      |                                  VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:220:49: error: expected primary-expression before ‘,’ token
  220 |  State<DataType> state = {Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions),
      |                                                 ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:220:67: error: ‘::Zero’ has not been declared
  220 |  State<DataType> state = {Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions),
      |                                                                   ^~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:221:34: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
  221 |                           Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions),
      |                                  ^~~~~~
      |                                  VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:221:49: error: expected primary-expression before ‘,’ token
  221 |                           Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions),
      |                                                 ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:221:67: error: ‘::Zero’ has not been declared
  221 |                           Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions),
      |                                                                   ^~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:222:34: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
  222 |                           Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions)};
      |                                  ^~~~~~
      |                                  VectorXd
/noetic/software_robot_library/Trajectory/include/Polynomial.h:222:49: error: expected primary-expression before ‘,’ token
  222 |                           Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions)};
      |                                                 ^
/noetic/software_robot_library/Trajectory/include/Polynomial.h:222:67: error: ‘::Zero’ has not been declared
  222 |                           Eigen::Vector<DataType,Eigen::Dynamic>::Zero(this->_dimensions)};
      |                                                                   ^~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp: In function ‘int main(int, char**)’:
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:27:9: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   27 |  Eigen::Vector<float,1> startPosition; startPosition(0) = 0;
      |         ^~~~~~
      |         VectorXd
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:27:16: error: expected primary-expression before ‘float’
   27 |  Eigen::Vector<float,1> startPosition; startPosition(0) = 0;
      |                ^~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:27:40: error: ‘startPosition’ was not declared in this scope
   27 |  Eigen::Vector<float,1> startPosition; startPosition(0) = 0;
      |                                        ^~~~~~~~~~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:28:9: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   28 |  Eigen::Vector<float,1> endPosition;   endPosition(0)   = 1;
      |         ^~~~~~
      |         VectorXd
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:28:16: error: expected primary-expression before ‘float’
   28 |  Eigen::Vector<float,1> endPosition;   endPosition(0)   = 1;
      |                ^~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:28:40: error: ‘endPosition’ was not declared in this scope
   28 |  Eigen::Vector<float,1> endPosition;   endPosition(0)   = 1;
      |                                        ^~~~~~~~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:29:9: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   29 |  Eigen::Vector<float,1> startVelocity; startVelocity(0) = 0;
      |         ^~~~~~
      |         VectorXd
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:29:16: error: expected primary-expression before ‘float’
   29 |  Eigen::Vector<float,1> startVelocity; startVelocity(0) = 0;
      |                ^~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:29:40: error: ‘startVelocity’ was not declared in this scope
   29 |  Eigen::Vector<float,1> startVelocity; startVelocity(0) = 0;
      |                                        ^~~~~~~~~~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:30:9: error: ‘Vector’ is not a member of ‘Eigen’; did you mean ‘VectorXd’?
   30 |  Eigen::Vector<float,1> endVelocity;   endVelocity(0)   = 0;
      |         ^~~~~~
      |         VectorXd
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:30:16: error: expected primary-expression before ‘float’
   30 |  Eigen::Vector<float,1> endVelocity;   endVelocity(0)   = 0;
      |                ^~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:30:40: error: ‘endVelocity’ was not declared in this scope
   30 |  Eigen::Vector<float,1> endVelocity;   endVelocity(0)   = 0;
      |                                        ^~~~~~~~~~~
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:48:16: error: cannot decompose class type ‘const State<float>’ without non-static data members
   48 |    const auto &[pos, vel, acc] = trajectory.query_state(t);
      |                ^~~~~~~~~~~~~~~
In file included from /noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:10:
/noetic/software_robot_library/Trajectory/include/Polynomial.h: In instantiation of ‘State<DataType> Polynomial<DataType>::query_state(const DataType&) [with DataType = float]’:
/noetic/software_robot_library/Trajectory/test/polynomial_test.cpp:48:58:   required from here
/noetic/software_robot_library/Trajectory/include/Polynomial.h:225:41: error: ‘struct State<float>’ has no member named ‘position’
  225 |       if(time < this->_startTime) state.position = this->_startPoint;                           // Remain at the start
      |                                   ~~~~~~^~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:225:58: error: ‘class Polynomial<float>’ has no member named ‘_startPoint’
  225 |       if(time < this->_startTime) state.position = this->_startPoint;                           // Remain at the start
      |                                                    ~~~~~~^~~~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:226:41: error: ‘struct State<float>’ has no member named ‘position’
  226 |  else if(time > this->_endTime)   state.position = this->_endPoint;                             // Remain at the end
      |                                   ~~~~~~^~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:226:58: error: ‘class Polynomial<float>’ has no member named ‘_endPoint’
  226 |  else if(time > this->_endTime)   state.position = this->_endPoint;                             // Remain at the end
      |                                                    ~~~~~~^~~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:234:17: error: ‘struct State<float>’ has no member named ‘position’
  234 |           state.position(i)     +=         this->_coefficients(i,j)*pow(time,j-0);
      |           ~~~~~~^~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:235:21: error: ‘struct State<float>’ has no member named ‘velocity’
  235 |     if(j > 0) state.velocity(i)     +=       j*this->_coefficients(i,j)*pow(time,j-1);
      |               ~~~~~~^~~~~~~~
/noetic/software_robot_library/Trajectory/include/Polynomial.h:236:21: error: ‘struct State<float>’ has no member named ‘acceleration’
  236 |     if(j > 1) state.acceleration(i) += (j-1)*j*this->_coefficients(i,j)*pow(time,j-2);
      |               ~~~~~~^~~~~~~~~~~~
make[2]: *** [Trajectory/CMakeFiles/Trajectory.dir/build.make:63: Trajectory/CMakeFiles/Trajectory.dir/test/polynomial_test.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:313: Trajectory/CMakeFiles/Trajectory.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Woolfrey commented 4 months ago

Thanks @anubhav-dogra! I will look in to it.

I ended up getting rid of most of the templates since it's slowing down compile time, so this might help circumvent a lot of problems.

Woolfrey commented 4 months ago

@ssutjipto, @anubhav-dogra:

Here's what I've found out:

  1. Eigen 3.4 is the latest version, which supports the Eigen::Vector<T,Eigen::Dynamic> template object instantiation.
  2. Eigen 3.4 must be manually installed on Ubuntu 20.04. Using sudo apt install libeigen3-dev will not work.

Here are the steps for manual installation:

anubhav-dogra commented 4 months ago

Hi @Woolfrey Yup, this worked!

however, libeigen3-dev remove command also removed many ROS based packages which might be required to reinstalled when required.

anubhav-dogra commented 4 months ago

hi @Woolfrey @ssutjipto I cloned this repo again, tried compiling it. However this time the error is as following.

[  4%] Building CXX object Math/CMakeFiles/Math.dir/src/MathFunctions.cpp.o
In file included from /home/vscode/stuff_ws/src/software_robot_library/Math/src/MathFunctions.cpp:8:
/home/vscode/stuff_ws/src/software_robot_library/Math/include/MathFunctions.h:72:6: error: ‘vector’ in namespace ‘std’ does not name a template type
   72 | std::vector<double>
      |      ^~~~~~
In file included from /home/vscode/stuff_ws/src/software_robot_library/Math/src/MathFunctions.cpp:8:
/home/vscode/stuff_ws/src/software_robot_library/Math/include/MathFunctions.h:13:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
   12 | #include <iostream>
  +++ |+#include <vector>
   13 | 
/home/vscode/stuff_ws/src/software_robot_library/Math/src/MathFunctions.cpp:187:6: error: ‘vector’ in namespace ‘std’ does not name a template type
  187 | std::vector<double>
      |      ^~~~~~
/home/vscode/stuff_ws/src/software_robot_library/Math/src/MathFunctions.cpp:9:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
    8 | #include <MathFunctions.h>
  +++ |+#include <vector>
    9 | 
make[2]: *** [Math/CMakeFiles/Math.dir/build.make:63: Math/CMakeFiles/Math.dir/src/MathFunctions.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:185: Math/CMakeFiles/Math.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Woolfrey commented 4 months ago

EDIT: In the devel branch I added #include <vector> to MathFunctions.h.

I did make clean and rebuilt the package:

image

Then ran sudo make install:

image

Over in the test repository I also did make clean then make:

image

The tests work just fine :thinking:

anubhav-dogra commented 4 months ago

@Woolfrey Yes I checked again, had to add #include <vector> in Mathfunction.h, Spine.h and TrapezoidalVelocity.h Also editted Pose pose(xyz, AngleAxis(rpy(0),... to Pose pose(xyz, AngleAxis<double>(rpy(0), in KinematicTree.cpp

Now devel branch is compiled. Cheers

Woolfrey commented 4 months ago

@anubhav-dogra, have you forked the repository? Are you able to make a merge request with your changes?

lunagava commented 2 weeks ago

@Woolfrey - we had the same problem :) <3 . You wanted the ping to let you know this was a Ubuntu 20.04 issue. <3