Giter VIP home page Giter VIP logo

rgbdtam's People

Contributors

alejocb 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rgbdtam's Issues

question on hard parameter

ins SemiDenseMapping.cpp there are the lines below. I changed the line below from 100 to 1000. If I do not do this then some the loop finds nothing and this causes and error further down. I want to understand the nature of these statements and the hard coded values. They are related to depth but I am not sure how. Also I find I have to divide my depth image by 1000 in order to get anything to show up in rgbdtam.

        for (int i = corner; i < images.Im[reference_image]->image.rows-corner; i++)
        {
            for (int j = corner; j < images.Im[reference_image]->image.cols-corner; j++)
            {                
                if ((semidense_mapper->high_gradient_point.at<float>(i,j) > 100 &&
                        semidense_mapper->point_was_previously_estimated.at<float>(i,j) < 1000   //***RJN changed from 100 to 500
                         ||semidense_mapper->num_keyframes <  semidense_mapper -> init_keyframes+1 ))
                {

catkin_make error (DUtils/DUtils.h is missing)

Hi, @alejocb ,

I followed the steps in readme. However, it encounters catkin_make error as follows:

                 from /root/catkin_ws/src/rgbdtam/src/vo_system.cpp:21:
/root/catkin_ws/src/rgbdtam/ThirdParty/DBoW2/DBoW2/TemplatedDatabase.h:27:27: fatal error: DUtils/DUtils.h: No such file or directory
 #include "DUtils/DUtils.h"
                           ^
compilation terminated.

It seems DUtils/DUtils.h is missing
log details.

Any suggestion to fix it?

Thanks~

Odom Topic

Hi,
I've built the package, and it's working well but it does not publish odometry. I need odometry( or at least one pose topic) to build EKF. Is it possible for you to make the package publish odom topic or at least tell me how the cursor in Dense mapping move so that I can rewrite that part in order for package to publish an odom topic?

Thanks

Segmentation fault

the flowing is gdb's information:

Program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI___libc_free (mem=0x71) at malloc.c:2929
2929 malloc.c: No such file or directory.

(gdb) bt
#0 __GI___libc_free (mem=0x71) at malloc.c:2929
#1 0x00007fc6ce54e887 in g2o::EdgeProjectP2MC_Intrinsics::~EdgeProjectP2MC_Intrinsics() () from /home/xxsong5/catkin_ws/src/rgbdtam-master/ThirdParty/g2o/lib/libg2o_types_sba.so
#2 0x00007fc6ce9d5374 in g2o::Factory::registerType(std::string const&, g2o::AbstractHyperGraphElementCreator*) () from /home/xxsong5/catkin_ws/src/rgbdtam-master/ThirdParty/g2o/lib/libg2o_core.so
#3 0x00007fc6ce5457b7 in _GLOBAL__sub_I_types_sba.cpp () from /home/xxsong5/catkin_ws/src/rgbdtam-master/ThirdParty/g2o/lib/libg2o_types_sba.so
#4 0x00007fc6d2ee010a in call_init (l=, argc=argc@entry=1, argv=argv@entry=0x7fff08e3dc88, env=env@entry=0x7fff08e3dc98) at dl-init.c:78
#5 0x00007fc6d2ee01f3 in call_init (env=, argv=, argc=, l=) at dl-init.c:36
#6 _dl_init (main_map=0x7fc6d30f41c8, argc=1, argv=0x7fff08e3dc88, env=0x7fff08e3dc98) at dl-init.c:126
#7 0x00007fc6d2ed130a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#8 0x0000000000000001 in ?? ()
#9 0x00007fff08e3efcc in ?? ()
#10 0x0000000000000000 in ?? ()

rgbdtam in odometry mode

First of all, thank you very much for providing source code for rgbdtam!

I have a question regarding its operation mode. Is it possible to use only the tracking thread to estimate odometry from rgbd images without building a map?

Also, I see there is topic odom1 but nothing is ever published to it in the code. Could you please explain how to obtain pose measurements in ROS?

Segment Fault after running a couple of secs.

After starting and running for a couple seconds I get the following segment fault.

[ INFO] [1509991509.565112846, 1305031103.335432375]: Result of comparison 0: 
[ INFO] [1509991509.565409710, 1305031103.335432375]: Rotation: 1.40, Distance:  0.015m
[ INFO] [1509991509.565514254, 1305031103.335432375]: Rotation: 1.40, Distance:  0.015m
[ INFO] [1509991509.565601733, 1305031103.335432375]: Added Edge between 0 and 1. Inliers: 149
[ INFO] [1509991509.565644339, 1305031103.335432375]: Adding node with id 1 and seq id 1 to the graph
[ INFO] [1509991509.565662431, 1305031103.335432375]: create cloud 1 1 0
[ INFO] [1509991509.569752236, 1305031103.335432375]: No change to renderer skip (1).
[ INFO] [1509991509.569846258, 1305031103.335432375]: Added Node, new graphsize: 2 nodes
[ WARN] [1509991509.569935833, 1305031103.335432375]: Loop Closures: 0, Sequential Edges: 1
[ WARN] [1509991509.569953129, 1305031103.335432375]: Starting Optimization
[ WARN] [1509991509.570084361, 1305031103.335432375]: Optimization with 2 cams, 140734258741248 nodes and 465 edges in the graph
[ INFO] [1509991509.571550800, 1305031103.335432375]: Added, Camera Pose Graph Size: 2N/1E, Duration: 2.011735, Inliers:  149

Thread 45 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff457fa700 (LWP 1025)]
0x0000000000c04946 in g2o::OptimizableGraph::Vertex::dimension() const ()
(gdb) bt
#0  0x0000000000c04946 in g2o::OptimizableGraph::Vertex::dimension() const ()
#1  0x0000000000c395ed in g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::buildStructure(bool) ()
#2  0x00007ffff7555393 in g2o::OptimizationAlgorithmLevenberg::solve(int, bool)
    ()
   from /home/rjn/catkin_ws/src/rgbdslam/Thirdparty/g2o/install/lib/libg2o_core.so
#3  0x00007ffff754d0c7 in g2o::SparseOptimizer::optimize(int, bool) ()
   from /home/rjn/catkin_ws/src/rgbdslam/Thirdparty/g2o/install/lib/libg2o_core.so
#4  0x0000000000bfafc0 in GraphManager::optimizeGraphImpl(double) ()
#5  0x0000000000c32c5f in QtConcurrent::StoredMemberFunctionPointerCall1<double, GraphManager, double, double>::runFunctor() ()
#6  0x0000000000c32aef in QtConcurrent::RunFunctionTask<double>::run() ()
#7  0x00007fffee5a72d3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffee5aa7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fffefac56ba in start_thread (arg=0x7fff457fa700)
    at pthread_create.c:333
#10 0x00007fffeda883dd in clone ()

loading too much during catkin_make

Hi,
When I try to compile the package, my pc get slower since the processor is loaded too much. I do not know if it is because the package itself or there is a lack of dependency on my computer. During compiling on the screen:
[ 12%] [ 25%] [ 37%] [ 50%] Building CXX object rgbdtam/CMakeFiles/rgbdtam.dir/src/SemiDenseMapping.cpp.o
Building CXX object rgbdtam/CMakeFiles/rgbdtam.dir/src/SemiDenseTracking.cpp.o
Building CXX object rgbdtam/CMakeFiles/rgbdtam.dir/src/DenseMapping.cpp.o
Building CXX object rgbdtam/CMakeFiles/rgbdtam.dir/src/vo_system.cpp.o

and do not process further. Any suggestion?
Thanks

Using the matching in map_reuse

Hi there,

I have a problem with using the "matchings_mapreuse" in the map_reuse function.
According to the "get_scores_for_mapreuse" function in the loopcloser, the first column of matchings_mapreuse is the keyframe index.
match.at(0,0) = keyframe_number;
match.at(0,1) = qit->Id;
matchings.push_back(match);
However, when the program using it, it always using the second column.
For instance:

cv::Mat pointsKF = semidense_tracker->loopcloser_obj.keyframes_vector [matchings_mapreuse.at(ii,1)].point_cloud_totrack[0].clone();

Where "matchings_mapreuse.at(ii,1)" seems odd to me.

Would you give me a hint about it, please.

Thank you very much.
Regards,

Segmentation fault (core dumped) rosrun rgbdtam rgbdtam

While running the code i am getting segmentation fault [core dumped] error. I tried to find the error using gdb .

Thread 27 "rgbdtam" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff88f29700 (LWP 9148)]
_int_free (av=0x7fff4c000020, p=0x7fff4c0009f0, have_lock=0) at malloc.c:3984
3984	malloc.c: No such file or directory.
(gdb) where
#0  _int_free (av=0x7fff4c000020, p=0x7fff4c0009f0, have_lock=0) at malloc.c:3984
#1  0x00007fffeddaa53c in __GI___libc_free (mem=<optimized out>) at malloc.c:2968
#2  0x00007ffff6a77609 in cv::Mat::deallocate() () from /opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_core3.so.3.3
r#3  0x0000000000452109 in cv::Mat::release (this=0x7fff88f28bd0)
    at /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv2/core/mat.inl.hpp:804
#4  cv::Mat::~Mat (this=0x7fff88f28bd0, __in_chrg=<optimized out>)
    at /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv2/core/mat.inl.hpp:690
#5  0x000000000044391a in get_photometric_errors_matrix_sd_exhaustive ()
    at /home/imfusion/catkin_ws/src/rgbdtam/src/SemiDenseMapping.cpp:1756
#6  0x00007fffee31e9ee in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#7  0x00007ffff2a956ba in start_thread (arg=0x7fff88f29700) at pthread_create.c:333
#8  0x00007fffede2d41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

It seems like that my error is at SemiDenseMapping.cpp:1756.

    cv::Mat interpolated_values_o = cv::Mat::zeros(round(l_end - l_init+30),1,CV_32FC1);

I suspect memory leak as error origin. So for solving the issue I also add this line to free the memory after using it.

interpolated_values_o.release();

But it also did not resolve the problem. After gdb I get the same error but the line was where I was releasing the memory. After surfing on the internet I also found similar problem . I applied their solution which was replacing the line with this :

 cv::Mat interpolated_values_o ;
interpolated_values_o.create(round(l_end - l_init+30),1,CV_32FC1);
interpolated_values_o=cv::Scalar(0);

But it did not also resolve the problem. Error or also may be caused by some kind of race condition. Or maybe heap is corrupted by releasing same memory space more than once.

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.