pathfinder-for-autonomous-navigation / psim

Six DOF flight simulator and related GNC implementations.
MIT License
4 stars 6 forks source link

Updated Environment Model Docs and Added Gravity Model #209

Closed kylekrol closed 4 years ago

kylekrol commented 4 years ago

Update Environment Model Docs and Add Gravity Model

Summary of changes

Ptest Effects

NA

Testing

I added a unit test comparing the model to MATLAB. Given this essentially calls the same exact model, however, there isn't a huge need for testing other than the spot checking added here.

Constants

Constant Location
env_grav_order src/gnc_environment.cpp

Documentation Evidence

Inline docs should be good.

kylekrol commented 4 years ago

This isn't compiling for teesny36 for me.

test/test_all/environment_test.cpp: In function 'void test_environment_earth_attitude()':
test/test_all/environment_test.cpp:10:17: error: no matching function for call to 'lin::Vector<double, 3u, 3u>::Vector()'
   lin::Vector3d w;
                 ^
In file included from lib/lin/include/lin/core/operations/../types.hpp:23:0,
                 from lib/lin/include/lin/core/operations/tensor_operations.hpp:12,
                 from lib/lin/include/lin/core/operations.hpp:23,
                 from lib/lin/include/lin/core.hpp:18,
                 from include/gnc/config.hpp:9,
                 from include/gnc/constants.hpp:8,
                 from test/test_all/environment_test.cpp:5:
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note: candidate: constexpr lin::Vector<double, 3u, 3u>::Vector(lin::size_t, lin::size_t)
   using internal::Tensor<Vector<T, N, MN>>::Tensor;
                                             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note:   candidate expects 2 arguments, 0 provided
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note: candidate: template<class T> constexpr lin::Vector<double, 3u, 3u>::Vector(const std::initializer_list<_Tp>&)
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note:   template argument deduction/substitution failed:
test/test_all/environment_test.cpp:10:17: note:   candidate expects 1 argument, 0 provided
   lin::Vector3d w;
                 ^
In file included from lib/lin/include/lin/core/operations/../types.hpp:23:0,
                 from lib/lin/include/lin/core/operations/tensor_operations.hpp:12,
                 from lib/lin/include/lin/core/operations.hpp:23,
                 from lib/lin/include/lin/core.hpp:18,
                 from include/gnc/config.hpp:9,
                 from include/gnc/constants.hpp:8,
                 from test/test_all/environment_test.cpp:5:
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note: candidate: template<class T> constexpr lin::Vector<double, 3u, 3u>::Vector(lin::size_t, lin::size_t, const std::initializer_list<_Tp>&)
   using internal::Tensor<Vector<T, N, MN>>::Tensor;
                                             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note:   template argument deduction/substitution failed:
test/test_all/environment_test.cpp:10:17: note:   candidate expects 3 arguments, 0 provided
   lin::Vector3d w;
                 ^
In file included from lib/lin/include/lin/core/operations/../types.hpp:23:0,
                 from lib/lin/include/lin/core/operations/tensor_operations.hpp:12,
                 from lib/lin/include/lin/core/operations.hpp:23,
                 from lib/lin/include/lin/core.hpp:18,
                 from include/gnc/config.hpp:9,
                 from include/gnc/constants.hpp:8,
                 from test/test_all/environment_test.cpp:5:
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note: candidate: template<class C> constexpr lin::Vector<double, 3u, 3u>::Vector(const lin::internal::Stream<C>&)
   using internal::Tensor<Vector<T, N, MN>>::Tensor;
                                             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:54:45: note:   template argument deduction/substitution failed:
test/test_all/environment_test.cpp:10:17: note:   candidate expects 1 argument, 0 provided
   lin::Vector3d w;
                 ^
In file included from lib/lin/include/lin/core/operations/../types.hpp:23:0,
                 from lib/lin/include/lin/core/operations/tensor_operations.hpp:12,
                 from lib/lin/include/lin/core/operations.hpp:23,
                 from lib/lin/include/lin/core.hpp:18,
                 from include/gnc/config.hpp:9,
                 from include/gnc/constants.hpp:8,
                 from test/test_all/environment_test.cpp:5:
lib/lin/include/lin/core/operations/../types/vector.hpp:97:13: note: candidate: template<class U> constexpr lin::Vector<T, N, MN>::Vector(lin::size_t, const std::initializer_list<T>&)
   constexpr Vector(size_t n, std::initializer_list<U> const &list)
             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:97:13: note:   template argument deduction/substitution failed:
test/test_all/environment_test.cpp:10:17: note:   candidate expects 2 arguments, 0 provided
   lin::Vector3d w;
                 ^
In file included from lib/lin/include/lin/core/operations/../types.hpp:23:0,
                 from lib/lin/include/lin/core/operations/tensor_operations.hpp:12,
                 from lib/lin/include/lin/core/operations.hpp:23,
                 from lib/lin/include/lin/core.hpp:18,
                 from include/gnc/config.hpp:9,
                 from include/gnc/constants.hpp:8,
                 from test/test_all/environment_test.cpp:5:
lib/lin/include/lin/core/operations/../types/vector.hpp:80:13: note: candidate: constexpr lin::Vector<T, N, MN>::Vector(lin::size_t) [with T = double; unsigned int N = 3u; unsigned int MN = 3u; lin::size_t = unsigned int]
   constexpr Vector(size_t n)
             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:80:13: note:   candidate expects 1 argument, 0 provided
lib/lin/include/lin/core/operations/../types/vector.hpp:65:13: note: candidate: constexpr lin::Vector<T, N, MN>::Vector(lin::Vector<T, N, MN>&&) [with T = double; unsigned int N = 3u; unsigned int MN = 3u]
   constexpr Vector(Vector<T, N, MN> &&) = default;
             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:65:13: note:   candidate expects 1 argument, 0 provided
lib/lin/include/lin/core/operations/../types/vector.hpp:64:13: note: candidate: constexpr lin::Vector<T, N, MN>::Vector(const lin::Vector<T, N, MN>&) [with T = double; unsigned int N = 3u; unsigned int MN = 3u]
   constexpr Vector(Vector<T, N, MN> const &) = default;
             ^
lib/lin/include/lin/core/operations/../types/vector.hpp:64:13: note:   candidate expects 1 argument, 0 provided

I'll have to break my teensy out and look into this.

kylekrol commented 4 years ago

@nhz2 The build issue will be fixed by #220