Giter VIP home page Giter VIP logo

floam's Introduction

Evan Flynn

Location GitHub LinkedIn Twitter

Michigan State University Alumn

Robotics | Sensor Fusion | CNCs | Speakers | Woodworking

GitHub Stats

floam's People

Contributors

chris7462 avatar flynneva avatar wh200720041 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

floam's Issues

Imaging Lidars

Hey hi!
I see you stopped working on this project a while back, did you end up implementing the support for imaging LiDARs in the end?

possibility of GPU acceleration

If you don't mind my asking, do you see any potential for GPU-acceleration floam, especially for sensors with higher point densities as VLP-16? I thought you may have a little more insight as the author of this rewrite.

In my understanding, the bottleneck is the Ceres Solver, not the feature extraction. Feature extraction could easily be parallelized IMO, but replacing Ceres with an GPU acclerated solver seems way more involved.

Cheers

odom estimation is off

looks like something to do with the calculation of the pose estimation in the odom estimation node is off. could be coordinate frame related.

odom_error

catkin_make always fault

[ 88%] Building CXX object floam-0.1.0/CMakeFiles/floam_odom_node.dir/src/odom_estimation_node.cpp.o
Requirement already satisfied: inject>=4.0 in /home/wangt/.local/lib/python3.6/site-packages (from -r /home/wangt/catkin_ws/src/mqtt_bridge/requirements.txt (line 1)) (4.3.1)
Requirement already satisfied: msgpack-python>=0.4.8 in /home/wangt/.local/lib/python3.6/site-packages (from -r /home/wangt/catkin_ws/src/mqtt_bridge/requirements.txt (line 2)) (0.5.6)
Requirement already satisfied: paho-mqtt>=1.2 in /home/wangt/.local/lib/python3.6/site-packages (from -r /home/wangt/catkin_ws/src/mqtt_bridge/requirements.txt (line 3)) (1.6.1)
Requirement already satisfied: pymongo in /home/wangt/.local/lib/python3.6/site-packages (from -r /home/wangt/catkin_ws/src/mqtt_bridge/requirements.txt (line 4)) (4.1.1)
[ 88%] Built target install_depends
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp: In member function ‘void floam::lidar::ScanningLidarNode::handlePoints(const PointCloud2ConstPtr&)’:
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:137:25: error: make_shared’ is not a member of ‘pcl’
   auto edge_cond = pcl::make_shared<floam::lidar::GenericCondition<pcl::PointXYZL>>(
                         ^~~~~~~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:137:25: note: suggested alternatives:
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:12:
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: std::make_sharedmake_shared(_Args&&... __args)
     ^~~~~~~~~~~
In file included from /usr/include/boost/smart_ptr/make_shared.hpp:17:0,
                 from /usr/include/boost/make_shared.hpp:14,
                 from /opt/ros/melodic/include/ros/forwards.h:38,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:16:
/usr/include/boost/smart_ptr/make_shared_array.hpp:41:1: note: boost::make_sharedmake_shared(std::size_t size,
 ^~~~~~~~~~~
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:12:
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: std::make_sharedmake_shared(_Args&&... __args)
     ^~~~~~~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:137:82: error: expected primary-expression before ‘>’ token
   auto edge_cond = pcl::make_shared<floam::lidar::GenericCondition<pcl::PointXYZL>>(
                                                                                  ^~
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:143:28: error: make_shared’ is not a member of ‘pcl’
   auto surface_cond = pcl::make_shared<floam::lidar::GenericCondition<pcl::PointXYZL>>(
                            ^~~~~~~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:143:28: note: suggested alternatives:
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:12:
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: std::make_sharedmake_shared(_Args&&... __args)
     ^~~~~~~~~~~
In file included from /usr/include/boost/smart_ptr/make_shared.hpp:17:0,
                 from /usr/include/boost/make_shared.hpp:14,
                 from /opt/ros/melodic/include/ros/forwards.h:38,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:16:
/usr/include/boost/smart_ptr/make_shared_array.hpp:41:1: note: boost::make_sharedmake_shared(std::size_t size,
 ^~~~~~~~~~~
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:12:
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: std::make_sharedmake_shared(_Args&&... __args)
     ^~~~~~~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/lidar_scanner_node.cpp:143:85: error: expected primary-expression before ‘>’ token
   auto surface_cond = pcl::make_shared<floam::lidar::GenericCondition<pcl::PointXYZL>>(
                                                                                     ^~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp: In member function ‘void floam::odom::OdomEstimationNode::handleClouds(const PointCloud2ConstPtr&, const PointCloud2ConstPtr&)’:
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:102:10: error: std::chrono’ has not been declared
     std::chrono::time_point<std::chrono::system_clock> start, end;
          ^~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:102:34: error: std::chrono’ has not been declared
     std::chrono::time_point<std::chrono::system_clock> start, end;
                                  ^~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:102:56: error: start’ was not declared in this scope
     std::chrono::time_point<std::chrono::system_clock> start, end;
                                                        ^~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:102:56: note: suggested alternative:
In file included from /opt/ros/melodic/include/ros/node_handle.h:47:0,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:9:
/opt/ros/melodic/include/ros/init.h:184:18: note: ros::start’
 ROSCPP_DECL void start();
                  ^~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:102:63: error: end’ was not declared in this scope
     std::chrono::time_point<std::chrono::system_clock> start, end;
                                                               ^~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:102:63: note: suggested alternatives:
In file included from /usr/include/c++/7/string:51:0,
                 from /opt/ros/melodic/include/ros/platform.h:38,
                 from /opt/ros/melodic/include/ros/time.h:53,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:9:
/usr/include/c++/7/bits/range_access.h:107:37: note: std::end’
   template<typename _Tp> const _Tp* end(const valarray<_Tp>&);
                                     ^~~
In file included from /usr/include/boost/range/functions.hpp:19:0,
                 from /usr/include/boost/range/iterator_range_core.hpp:38,
                 from /usr/include/boost/lexical_cast.hpp:30,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:9:
/usr/include/boost/range/end.hpp:100:61: note: boost::range_adl_barrier::end’
 inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
                                                             ^~~
In file included from /usr/include/boost/mpl/list/aux_/begin_end.hpp:17:0,
                 from /usr/include/boost/mpl/list/list0.hpp:27,
                 from /usr/include/boost/mpl/list/list10.hpp:18,
                 from /usr/include/boost/mpl/list/list20.hpp:18,
                 from /usr/include/boost/mpl/list.hpp:36,
                 from /usr/include/boost/math/policies/policy.hpp:9,
                 from /usr/include/boost/math/policies/error_handling.hpp:21,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:9:
/usr/include/boost/mpl/begin_end_fwd.hpp:23:38: note: boost::mpl::end’
 template< typename Sequence > struct end;
                                      ^~~
In file included from /usr/include/boost/range/functions.hpp:19:0,
                 from /usr/include/boost/range/iterator_range_core.hpp:38,
                 from /usr/include/boost/lexical_cast.hpp:30,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:9:
/usr/include/boost/range/end.hpp:100:61: note: boost::range_adl_barrier::end’
 inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
                                                             ^~~
In file included from /usr/include/pcl-1.8/pcl/conversions.h:56:0,
                 from /opt/ros/melodic/include/pcl_conversions/pcl_conversions.h:44,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:17:
/usr/include/boost/foreach.hpp:729:1: note: boost::foreach_detail_::endend(auto_any_t, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings
 ^~~
In file included from /usr/include/boost/filesystem.hpp:17:0,
                 from /usr/include/pcl-1.8/pcl/io/boost.h:53,
                 from /usr/include/pcl-1.8/pcl/io/file_io.h:43,
                 from /usr/include/pcl-1.8/pcl/io/pcd_io.h:44,
                 from /opt/ros/melodic/include/pcl_conversions/pcl_conversions.h:70,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:17:
/usr/include/boost/filesystem/operations.hpp:1309:32: note: boost::filesystem::end’
   recursive_directory_iterator end(const recursive_directory_iterator&) BOOST_NOEXCEPT
                                ^~~
In file included from /usr/include/boost/fusion/container/list/cons.hpp:17:0,
                 from /usr/include/boost/fusion/iterator/segmented_iterator.hpp:14,
                 from /usr/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:12,
                 from /usr/include/boost/fusion/sequence/intrinsic/begin.hpp:18,
                 from /usr/include/boost/fusion/algorithm/query/detail/find_if.hpp:22,
                 from /usr/include/boost/fusion/algorithm/query/find.hpp:13,
                 from /usr/include/boost/fusion/sequence/intrinsic/has_key.hpp:14,
                 from /usr/include/boost/fusion/sequence/intrinsic/at_key.hpp:14,
                 from /usr/include/pcl-1.8/pcl/filters/boost.h:56,
                 from /usr/include/pcl-1.8/pcl/filters/filter.h:46,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/include/floam/odom_estimation.hpp:19,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/include/floam/odom_estimation_node.hpp:23,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:22:
/usr/include/boost/fusion/sequence/intrinsic/end.hpp:92:5: note: boost::fusion::endend(Sequence const& seq)
     ^~~
In file included from /usr/include/boost/fusion/sequence/intrinsic/at_key.hpp:13:0,
                 from /usr/include/pcl-1.8/pcl/filters/boost.h:56,
                 from /usr/include/pcl-1.8/pcl/filters/filter.h:46,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/include/floam/odom_estimation.hpp:19,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/include/floam/odom_estimation_node.hpp:23,
                 from /home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:22:
/usr/include/boost/fusion/sequence/intrinsic_fwd.hpp:68:16: note: boost::fusion::result_of::end’
         struct end;
                ^~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:103:18: error: std::chrono’ has not been declared
     start = std::chrono::system_clock::now();
                  ^~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:105:16: error: std::chrono’ has not been declared
     end = std::chrono::system_clock::now();
                ^~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:107:10: error: std::chrono’ has not been declared
     std::chrono::duration<float> elapsed_seconds = end - start;
          ^~~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:107:27: error: expected primary-expression before ‘float’
     std::chrono::duration<float> elapsed_seconds = end - start;
                           ^~~~~
/home/wangt/catkin_ws/src/floam-0.1.0/src/odom_estimation_node.cpp:109:23: error: elapsed_seconds’ was not declared in this scope
     float time_temp = elapsed_seconds.count() * 1000;
                       ^~~~~~~~~~~~~~~
floam-0.1.0/CMakeFiles/floam_lidar_node.dir/build.make:86: recipe for target 'floam-0.1.0/CMakeFiles/floam_lidar_node.dir/src/lidar_scanner_node.cpp.o' failed
make[2]: *** [floam-0.1.0/CMakeFiles/floam_lidar_node.dir/src/lidar_scanner_node.cpp.o] Error 1
CMakeFiles/Makefile2:3172: recipe for target 'floam-0.1.0/CMakeFiles/floam_lidar_node.dir/all' failed
make[1]: *** [floam-0.1.0/CMakeFiles/floam_lidar_node.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
floam-0.1.0/CMakeFiles/floam_odom_node.dir/build.make:62: recipe for target 'floam-0.1.0/CMakeFiles/floam_odom_node.dir/src/odom_estimation_node.cpp.o' failed
make[2]: *** [floam-0.1.0/CMakeFiles/floam_odom_node.dir/src/odom_estimation_node.cpp.o] Error 1
CMakeFiles/Makefile2:1845: recipe for target 'floam-0.1.0/CMakeFiles/floam_odom_node.dir/all' failed
make[1]: *** [floam-0.1.0/CMakeFiles/floam_odom_node.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.