Hi,
I'm trying to write an algorithm to extract segment from laser data, loaded into a CSimplePointsMap object, so I work with points in Carthesian coordinates, but it's not simple to recognize correctly a segment and store it into a TSegment2D object. In mrpt there is a method for lines extraction (ransac_detect_2D_lines) but from lines it's hard to extract the original segment.
How should i proceed? Is there an algorithm you can suggest me?
Thanks for the assistance
Just a quick update:
A new technical report has been published in [1] with tons of facts on SE(3) geometry (6D poses), including the relation with existing MRPT functions.
Enjoy!
[1] http://www.mrpt.org/6D_poses%3Aequivalences_compositions_and_uncertainty
I think there is one bug in the loadFromTextFile (CFeatureList) function.
for example:
CFeatureList featsSIFT_1, featsSIFT_2;
... // features extraction
featsSIFT_1.saveToTextFile("C://mrpt-0.9.1/samples/feature_extraction/imgs/f_sift1.txt");
featsSIFT_2.saveToTextFile("C://mrpt-0.9.1/samples/feature_extraction/imgs/f_sift2.txt");
CFeatureList feats1, feats2;
feats1.loadFromTextFile("C://mrpt-0.9.1/samples/feature_extraction/imgs/f_sift1.txt");
feats2.loadFromTextFile("C://mrpt-0.9.1/samples/feature_extraction/imgs/f_sift2.txt");
Hello!
I'm testing icp-slam on scan and odometry data with larger increments (30 cm per reading). I add many readings while sensor is holding still (no movement, to improve particle probability). Is there any way to set the icp-slam app not to change odometry, even if it's a good mach (in ex. 86 %), if the change in odometry required is larger than ... meters? Basically, is it possible to set the maximum threshold for ICP -> mapping?
In your opinion, what are is the maximum of increments in odometry that icp still runs satisfactorily? I am having problems in the hallway,
Hi
I am getting the following error while installing this sensor in mrpt.
[ 40%] Built target mrpt-base
[ 51%] Built target mrpt-opengl
[ 56%] Built target mrpt-obs
[ 62%] Built target mrpt-vision
[ 64%] Built target mrpt-scanmatching
[ 64%] Built target mrpt-bayes
[ 67%] Built target mrpt-maps
[ 73%] Built target mrpt-slam
[ 76%] Built target mrpt-gui
[100%] Built target mrpt-hwdrivers
Linking CXX executable HOKUYO_laser_test
Hello,
I just developped a new driver for MRPT. A driver for a gyro (the KVH DSP 3000).
To develop this driver I need to open a serial communication with the device. At the begining of the driver development, I use the MRPT class : hwdrivers::CSerialPort. But, (on linux) this class open the serial port in NON CANONICAL mode, and my driver is very easiest to wrote in canonical mode. I look into the source of CSerialPort, and I can't find an easy way to open the port in canonical mode.
I decide to create a serial port in my driver class using POSIX call, backwards of doing this are :
Hi,
I have collection of vectors and i want to make histogram of it. Is in MRPT some tools for this? some examples of using this tools?
When I want boulid my program i get error with 0.9.1:
Hi, I'm trying to implement ICP-SLAM.
I made my datasets by rawlog-grabber.
but I made it by just Hokuyo sensor not odmetry.
It is wrong? ICP-SLAM MAP is cracking anyway.
Hi, I'm using the matrix library from MRPT and I have a question about the SVD function.
SVD library from MRPT can generate excellent result as Maltab, but it creates different sign in the eigenvector part.
For example, I have a matrix A as follows,
A = [ 1 3 4
2 5 6
2 4 6]
Then the svd result from Matlab(u,s,v) are
u =
-0.4206 -0.0964 -0.9021
-0.6651 -0.6435 0.3788
-0.6170 0.7594 0.2065
s =
12.1072 0 0
0 0.5782 0
0 0 0.2857
v =
Here is my code
CObservationPtr obs = CObservationPtr(it->second);
mrpt::slam::CSimplePointsMap theMap;
theMap.insertionOptions.minDistBetweenLaserPoints = 0;
theMap.insertObservation( obs );
At first ,i want to define the
CObservation obs
but i found class CObservation is abstract type,so I have to use CObservationPtr.
bool mrpt::slam::CMetricMap::insertObservation(const mrpt::slam::CObservation*, const mrpt::poses::CPose3D*)
so how can i converts CObservationPtr to CObservation* ?
Thank you
MRPT 0.9.1 fails to build with OpenCV >= 2.0.0 and < 2.1.1 (I believe) because of the CImage name conflict crash.
When building against 2.0.0 or 2.1.0 I get errors such as :
...../mrpt-0.9.1/libs/detectors/src/do_opencv_includes.h:60: error: ‘CImage’ is already declared in this scope
The various sections (at least in libs/detectors/src/do_opencv_includes.h and libs/vision/src/do_opencv_includes.h) aimed at preventing this issue read like :
# if MRPT_OPENCV_VERSION_NUM>=0x211
# define CV_NO_CVV_IMAGE // Avoid CImage name crash
Hi guys :)
I want to using Panorama Tools for stitching multiple images. I know of Hugin but its a GUI. I want to write a program in c++ using Panorama Tools libraries (libpano13 etc) that can stitch the images . Any suggestions please?
I succeeded to Real-time SLAM.
But, I have some troubles to implement ICP-SLAM.
My UTM-30LX has 1081 points about 270 degree!
I think It works bad because points are too many.
It troubles between threshold and minICPgoodnessToAccept.
So! I want to know how do I cut back some points.
thanks, always.
Hi,
So far, I'm trying to implement my previous source code from Matlab to MRPT but I found that it is not easy to use the matrix function from MRPT. So is there any reference or example can I follow up?
Thank you very much~
hi, I'll try to real-time SLAM using example "HOKUYO_laser_test" & "icp-slam".
but I have some troubles.
The scan data processed by Hokuyo is CObservation2DRangeScan.
but, Data needing for ICP-SLAM is CObservationPtr.
so I can't try this translation from CObservation2DRangeScan to CObservationPtr.
How do I try it?