ethz-asl / voxblox Goto Github PK
View Code? Open in Web Editor NEWA library for flexible voxel-based mapping, mainly focusing on truncated and Euclidean signed distance fields.
License: BSD 3-Clause "New" or "Revised" License
A library for flexible voxel-based mapping, mainly focusing on truncated and Euclidean signed distance fields.
License: BSD 3-Clause "New" or "Revised" License
HI, I met some problem in using voxblox to generate mesh.
The mesh updating seems really wired in rviz. Sometimes it does not update for around 40s, sometimes it just stop update.
Please check the following video.
https://drive.google.com/file/d/1mlzJZ7KmZeGPLfSBunnDYoTYI1SSfaGb/view?usp=sharing
Can you give more suggestion?
Thx in advance!
Thank you for sharing the code.
I am trying to use it for drone path planing.
I wonder if there is a way to limit the volume of the map to a certain distance around the drone's current location? So that it delete the old map far away?
Thank you in advance.
Chang
Since there's no longer a google tango, perhaps it doesn't make sense to keep them?
The python bindings can also move to their own package/repo, as we do not maintain them or test them, and they're anyway on the higher level interface (i.e., all they access is the internal ESDF layer anyway, no need for them to be in voxblox_ros).
@ZacharyTaylor @mfehr : thoughts?
Appear to not be used or necessary anywhere. Also strictly increasing all the time.
Hello.
I saw recently you added ICP capabilities. However, there is no mention of how it was set-up (in an abstract way). What ICP implementation are you doing? Is it the classical frame-to-frame ICP, the frame-to-model ICP (as described in "KinectFusion: Real-Time Dense Surface Mapping and Tracking" paper) or something different?
Hello all,
I am getting this warning that I think is affecting the mesh output. The warning is: “Using latest TF transform instead of timestamp match.”
But first, some context:
For starters, I am running your project in ROS on Ubuntu 18.04 LTS.
I have been able to run the “cow_and_lady_dataset.launch” file successfully. So far, so good. What I wanted now is to use my own RGB-D camera and IMU (I will be using the RealSense D435 camera although it is irrelevant with my current question). With that in mind, I wanted to set up some ROS nodes that allow me to connect my own geometry_msgs::TransformStamped and sensor_msgs::PointCloud2 data. I was able to do this but the output mesh seems… weird.
After that, for the purpose of evaluating that my ROS nodes are set up properly, I decided to input the .dag data (through my ROS system) in to the Voxblox node and see what happens. An image of my current system is: https://ibb.co/kE1oFp. The results seen in rviz are definitely not the same as when running “cow_and_lady_dataset.launch”. When looking at the output mesh on rviz, the results are similar to the expected mesh but it can be seen that all input frames are not properly aligned. The output to the terminal is:
-----------
inserting_missed_blocks 43 00.000607 (00.000014 +- 00.000047) [00.000001,00.000275]
integrate 43 13.253579 (00.308223 +- 00.089071) [00.176564,00.594447]
mesh/publish 46 00.419645 (00.009123 +- 00.007882) [00.000017,00.020435]
mesh/update 46 08.213664 (00.178558 +- 00.108894) [00.000279,00.329901]
ptcloud_preprocess 43 00.204254 (00.004750 +- 00.004471) [00.002041,00.017065]
remove_distant_blocks 43 00.007776 (00.000181 +- 00.000228) [00.000029,00.000817]
[ INFO] [1533916733.112463437]: Layer memory: 47226260
[ INFO] [1533916733.112528841]: Updating mesh.
[ INFO] [1533916733.742630756]: Updating mesh.
[ WARN] [1533916734.211257931]: Using latest TF transform instead of timestamp match.
[ INFO] [1533916734.250609617]: Integrating a pointcloud with 106829 points.
[ INFO] [1533916734.608154478]: Finished integrating in 0.357119 seconds, have 960 blocks.
[ INFO] [1533916734.616009911]: Timings:
SM Timing
My current conclusion:
Taking in to account what I see on rviz and the warning message, I expect that the sensor frames are not properly synced with the correct IMU data. I tried to look in more details what is going on. The warning is coming from the Transformer::lookupTransformTf function
(declared in transformer.cc file). Specifically, the “tf_listener_.canTransform” is returning back a false. I’m not sure what that means and could not really find any useful information to help me out. I think I have set up the tf tree correctly.
Any advice why this happens? Did you ever come in to a similar problem?
...But would require switching in all of our infrastructure.
Should discuss.
Based on this discussion
I followed the tutorial and everything war normal but error happened when using catkin build voxblox_ros. The following is the detail. Is there anyone who can help me? Thank you so much!
-> src catkin build voxblox_ros
-------------------------------------------------------
Profile: default
Extending: [explicit] /opt/ros/kinetic
Workspace: /home/bryan/ros_ws
-------------------------------------------------------
Source Space: [exists] /home/bryan/ros_ws/src
Log Space: [missing] /home/bryan/ros_ws/logs
Build Space: [exists] /home/bryan/ros_ws/build
Devel Space: [exists] /home/bryan/ros_ws/devel
Install Space: [unused] /home/bryan/ros_ws/install
DESTDIR: [unused] None
-------------------------------------------------------
Devel Space Layout: merged
Install Space Layout: None
-------------------------------------------------------
Additional CMake Args: -DCMAKE_BUILD_TYPE=Release
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
-------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
-------------------------------------------------------
Workspace configuration appears valid.
NOTE: Forcing CMake to run for each package.
-------------------------------------------------------
[build] Found '12' packages in 0.0 seconds.
[build] Updating package table.
Starting >>> catkin_simple
Finished <<< catkin_simple [ 1.5 seconds ]
Starting >>> eigen_catkin
Starting >>> gflags_catkin
Starting >>> voxblox_msgs
Finished <<< eigen_catkin [ 1.8 seconds ]
Finished <<< voxblox_msgs [ 3.0 seconds ]
___________________________________________________________________________________________________________________________________________________________________________________________________________
Warnings << gflags_catkin:make /home/bryan/ros_ws/logs/gflags_catkin/build.make.000.log
make[3]: warning: -jN forced in submake: disabling jobserver mode.
make[3]: warning: -jN forced in submake: disabling jobserver mode.
cd /home/bryan/ros_ws/build/gflags_catkin; catkin build --get-env gflags_catkin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................
Finished <<< gflags_catkin [ 13.4 seconds ]
Starting >>> glog_catkin
___________________________________________________________________________________________________________________________________________________________________________________________________________
Errors << glog_catkin:make /home/bryan/ros_ws/logs/glog_catkin/build.make.000.log
/bin/sh: 1: autoreconf: not found
make[2]: *** [glog_src-prefix/src/glog_src-stamp/glog_src-configure] Error 127
make[1]: *** [CMakeFiles/glog_src.dir/all] Error 2
make: *** [all] Error 2
cd /home/bryan/ros_ws/build/glog_catkin; catkin build --get-env glog_catkin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................
Failed << glog_catkin:make [ Exited with code 2 ]
Failed <<< glog_catkin [ 5.9 seconds ]
Abandoned <<< eigen_checks [ Unrelated job failed ]
Abandoned <<< minkindr [ Unrelated job failed ]
Abandoned <<< minkindr_conversions [ Unrelated job failed ]
Abandoned <<< voxblox [ Unrelated job failed ]
Abandoned <<< voxblox_rviz_plugin [ Unrelated job failed ]
Abandoned <<< voxblox_ros [ Unrelated job failed ]
[build] Summary: 4 of 11 packages succeeded.
[build] Ignored: 1 packages were skipped or are blacklisted.
[build] Warnings: 1 packages succeeded with warnings.
[build] Abandoned: 6 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 21.0 seconds total.
[build] Note: Workspace packages have changed, please re-source setup files to use them.
Referring to this line: https://github.com/ethz-asl/voxblox/blob/master/voxblox/CMakeLists.txt#L19
Our hashing function has some issues:
Turns out that for all the values I tested if an index is (x, y, z) then hash(x, y, z) == hash(x, -y, -z)
This means we will see a massive amount of hash collisions when exploring near the origin
The debug checks at
https://github.com/ethz-asl/voxblox/blob/master/voxblox/include/voxblox/core/layer.h#L124
https://github.com/ethz-asl/voxblox/blob/master/voxblox/include/voxblox/mesh/mesh_layer.h#L103
https://github.com/ethz-asl/voxblox/blob/master/voxblox/include/voxblox/integrator/integrator_utils.h#L82
prevent compiling when enabled
Not really an issue but this seemed the best place to record what I have found while optimizing voxblox over the last two weeks.
Overall, currently the fast and simple integrators are badly memory bound. While there are a hundred little tweaks/hacks to make them use less CPU, they won't go any faster without reading or writing less data (or vectorizing the reads/writes). The merged integrator does not currently seem to suffer from this same limitation.
Below is a list of possible ways to speed things up and my findings from running some quick tests. Listed roughly in order of viability.
Switch to floats as the FloatingPoint
The fast integrator is badly memory bound, and so while this makes no difference for the merged integrator, for 5cm voxels the fast integrator speeds up by over 30%.
Use fast-math
Initially this put nans in voxel distances, this was fixed by checking if weights were near zero before dividing by them.
Same quick tests gave very small improvement maybe 1-5% faster. This will mostly be coming from the std::floor instruction in transforming coordinates to indexes. Without fast-math floor needs to handle nans and infs in a correct manner that makes it surprisingly expensive.
Switch the underlying hash-map
Looked at a large range of ones on the Internet. I tested them by having them store voxel indexes for 15 seconds and found the per scan time. This was a quite quick test, so don't take these numbers as perfect.
Just looping through all the points without actually casting any rays: 6 ms
Our current std::unordered_map 159 ms
libcuckoo (https://github.com/efficient/libcuckoo)
A concurrent hash map implementation. Note that each thread uses 100% of its core in this test
running in 1 thread: 187 ms
running in 2 threads: 147 ms
running in 4 threads: 114 ms
running in 8 threads: 100 ms
running in 4 threads, and mixing up the order the threads get the indexes: 87 ms
google dense_hash_map (https://github.com/sparsehash/sparsehash)
Well known, but also very memory heavy can take over 4x more than std::unordered_map. Also needs a null hash
run time: 76 ms
flat_hash_map (https://github.com/skarupke/flat_hash_map)
Written by some random guy on a blog, fastest in the test but c++14 only
run time: 73 ms
hopscotch-map (https://github.com/Tessil/hopscotch-map)
Drop in replacement for std::unordered_map that also lets you reuse the hash
run time: 78 ms
junction (https://github.com/preshing/junction/tree/master/junction)
Another concurrent hash_map, claims to be much faster than libcuckoo I could not get it to compile with our code.
boost and intel also have some hashmaps, but every chart and benchmark I saw put them much slow than those listed above.
From the tests I like hopscotch-map as it is almost as fast as the others, is header only, pretty good on ram and has no special conditions.
On testing on our actual situation it seems it could give somewhere between a 5 to 10% performance boost, maybe more if we use its hash lookup options.
Using more experimental compiler flags
Tried profile guided optimization and all these flags -march=native -fassociative-math -fno-signed-zeros -freciprocal-math -frename-registers -funroll-loops -fopenmp -D_GLIBCXX_PARALLEL
Speed gain was less than 1% if any.
using Eigens experimental AlignedVector3 (basicly a wrapper round a vector4) wherever we use indexes.
In some quick tests made things slightly slower, guess this will be due to it making memory bandwidth issues worse.
_Hi, thanks a lot for providing such a useful tool.
I already source devel/setup.bash.
And changed the bag path in cow_and_lady_dataset.launch file.
Use rosrun tf static_transform_publisher 0 0 0 0 0 1 world my_frame 10
to set fixed frame as 'world'.
Then I can see mesh in rviz. However, I am still confused about few questions.
Below is something I am confused with and need your kind help.
` -
x: [0.875, 0.875, 0.8785830140113831]
y: [-2.469820499420166, -2.4749999046325684, -2.4749999046325684]
z: [2.375, 2.3868136405944824, 2.375]
r: [139, 139, 139]
g: [133, 133, 133]
b: [130, 130, 130]
a: [255, 255, 255]
--
header:
seq: 57
stamp:
secs: 1534564190
nsecs: 150633121
frame_id: "world"
mesh_blocks: []
The mesh block is empty.
[ WARN] [1534564560.045967660]: No match found for transform timestamp: 1473521413.111484105
[ WARN] [1534564560.046022270]: Queue front: 1473521411.774098268 back: 1473521412.044124231
Thanks a lot in advance and look forward!
Hi, need your kind help again.
I want to generate high resolution mesh, say resolution = 0.01 or 0.005.
I already set
size_t integrator_threads =7;
However, the calculation speed is still super slow, which result in postpone of mesh generating( rviz showing is also performing bad)
INFO] [1537326932.820455652]: Integrating a pointcloud with 220873 points. [ INFO] [1537326937.923834207]: Finished integrating in 5.103299 seconds, have 16916 blocks. [ INFO] [1537326937.934127858]: Integrating a pointcloud with 220745 points. [ INFO] [1537326941.288767739]: Finished integrating in 3.354571 seconds, have 17747 blocks. [ INFO] [1537326941.298774226]: Integrating a pointcloud with 220395 points. [ INFO] [1537326946.805919204]: Finished integrating in 5.507082 seconds, have 18205 blocks.
The ideal processing speed is supposed to be integrating one point cloud in around 0.1 seconds, But I don't know how to make this comes true. Is it a limitation of PC?(Actually I tried on two computers and both failed to perform well)
Here is the launch file.
fail.launch.txt
Look forward and thanks a lot!!!!!!!!!!!!!
Hello,
first of all, thank you on making this excellent code public!
I am currently experimenting with the Voxblox and looking into its possibilities. The recent change on the possibility of local scene reconstruction looks and works great.
Now, I would also like to use it in my planner, but it does not operate with ESDF. I have tried taking surface point cloud from TSDF and using point cloud to laser scan converter which is able to create a 2D-like scan that I can use in my planner.
However, with the frequency of ~10 Hz, it is too slow. I was wondering do You maybe have an advice on what is the best way to convert TSDF/ESDF to laser scan or to obtain something like laser scan?
Thank You in advance!
(Please edit and add more)
Update required in WIKI page.
Need to add git clone https://github.com/ethz-asl/voxblox.git before wstool init commad.
Thanks,
Hi ,
I want to continue mapping with prebuilt point cloud map, is this supported in your code?
fatal: clone of '[email protected]:ethz-asl/linter.git' into submodule path 'tools/linter' failed
Exception caught during install: Error processing 'voxblox' : [voxblox] Checkout of https://github.com/ethz-asl/voxblox.git version None into /home/krzysztof/catkin_ws/src/voxblox failed.
it seems like voxblox depends on linter submodule that requires ssh authentication.
[submodule "tools/linter"] path = tools/linter url = [email protected]:ethz-asl/linter.git
Hi,
Thanks for sharing the code.
I wonder if this does loop closure?
Kind Regards,
Chang
I am trying to run EuRoC dataset for VoxBlox. I am getting an error stating stereo dense reconstruction not found? From where is the package stereo dense reconstruction nodes being used? Is it possible to get a link to the same? or is it the one from https://github.com/umass-amrl/stereo_dense_reconstruction
Is this download link, http://robotics.ethz.ch/~asl-datasets/iros_2017_voxblox/data.bag, correct?
Velodyne HDL-64E produces a topic (type: sensor_msgs::PointCloud2) showing the environmental pointclouds and odom can produce a topic (type: nav_msgs/Odometry) describing the robot moving. And the transformation between the two frame is showed in tf topic. I wonder the Voxblox could support the data to produce surface mesh.
Hello, thanks for making this useful library open-source...I just ran the cow_and_lady_dataset.launch file and the mesh data was generated perfectly. But the esdf_slice which should be displayed on XY plane as described in the paper did not show up in RVIZ. Could someone help me solve this problem? Thanks.
Hi, are there any examples that I can follow to actually use voxblox for robot planning task (maybe use ESDF to replace costmap in ROS navigation stack or integrate it with existed planner interface)? Thanks!
Hello, friends
When I use the voxblox node, I want to save the TSDF. But when I enter the following instructions:
$ rosservice call /voxblox_node/save_map "test1.vxblx"
But nothing happened, and I couldn't find the saved file. Is it stored in a strange location? Why can't I search for it?
And
$ rosservice type /voxblox_node/save_map | rossrv show
string file_path
---
Hello,
I am using Voxblox to plan arm motions with an ESDF, but I ran intro problems when the viewing angle to the surface is very sharp. Ideally you want to have a big margin of defined voxels around every surface so you can detect collisions early. This isn't the case for sharp viewing angles.
The arm get's into collision because voxels very close to the surface are not defined.
For proper planning it has to look more like this:
I created this by simply setting up a big wall on the left.
Do you have an idea how to implement my use-case? I think it is a common problem for planning with voxblox.
One way might be to add a new esdf integrator that updates and allocates even unobserved neighboring voxels if the voxels' distance is below a certain threshold.
Kind regards,
Martin
Even I find this confusing
Once @margaritaG splits out the testing stuff so I barely have to do anything ;)
Hi, I met with problem in using rosservice call /voxblox_node/generate_mesh "{}"
to save mesh. Here is lunch file.
try .launch.txt
The terminal running rosservice call /voxblox_node/generate_mesh "{}"
shows that ERROR: transport error completing service call: unable to receive data from sender, check sender's logs for details
The terminal running roslaunch voxblox_ros try.launch
shows [voxblox_node-2] process has died [pid 3938, exit code -11, cmd /home/best_jill_forever/catkin_ws/devel/lib/voxblox_ros/tsdf_server -alsologtostderr pointcloud:=/camera/depth_registered/points transform:=/orb_slam_2_ros_node/transform_cam __name:=voxblox_node __log:=/home/best_jill_forever/.ros/log/d4b40912-b1a6-11e8-bfd3-a402b9214b48/voxblox_node-2.log]. log file: /home/best_jill_forever/.ros/log/d4b40912-b1a6-11e8-bfd3-a402b9214b48/voxblox_node-2*.log
And the log file shows that
Log file created at: 2018/09/06 15:31:45
Running on machine: love-mua
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
W0906 15:31:45.825906 3938 mesh_layer.h:56] Returning null ptr to mesh!
What could be the problem?
Good day,
I did try the example data file cow_and_lady_dataset (data.bag)
I can see the slice of the esdf and esdf_map_out has messages on the ROS Topic.
On ROS Topic esdf_pointcloud is never a message.
How can I fix this?
here is my launchfile:
cow_and_lady_dataset.txt
If there is a point that is too close to the camera origin, the ray tracing just goes on forever and crashes due to a bad_alloc
We should really add a check for this!
Based on this discussion.
FYI: @helenol
As the question suggests, I am trying to measure the size of the Voxblox mesh that has been built so that I can calculate the amount of area that has been explored by the UAV.
Any idea on how to implement this?
Good Day,
I really like this ROS package, it does great work.
Is here a way to transport the ESDF so that not a lot bandwidth is consumed?
I didn't see any examples of a ROS message interface, only the map_in subscriber, but that does use a lot of bandwidth doesn't it?
why is the node using a global nodehandle and a local nodehandle?
Thanks for creating this and please keep going.
best regards
A current header is for example:
VOXBLOX_CORE_ESDF_MAP_H_
and linter will prevent commits unless it is changed to:
CORE_ESDF_MAP_H_
I found this unanswered question online. I'm in the same exact situation.
I can run roslaunch voxblox_ros cow_and_lady_dataset.launch
but then I can't visualize the mesh published by voxblox with rviz.
Where can I find an API reference or usage examples?
When I ran the test_protobuf unit tests with a "big" layer, it behaved very strangely.
The unit test allocates a cube of blocks ([-7, -7, -7] to [7, 7, 7]) and after serialization and de-serialization all the blocks that are located on the boarder of the cube, i.e. with one of the index entries being the max index, e.g. [7,1,2] or [-3,7,4] become suddenly [8,1,2] , [-3,8,4]. Something seems to go wrong with the indexing, but I'm not sure it happens because of serialization,
To reproduce:
run the test_protobuf unit test after changing the kBlockVolumeDiameter
to something larger than 12
Hi, the moving object would easily remain on the borderlines of point clouds when I generated the TSDF data ("allow_clear" is "true"). Is there a way to solve this problem? Thanks!
Hi,
I'm trying to create a map using the pose from ethz-asl/orb_slam_2_ros (running from a realsense D435) and the point cloud from the same D435 (/camera/depth_registered/points). I think I've connected everything fine, voxblox node spins, and repeatedly outputs
[ INFO] [1531490886.374945217]: Updating mesh.
to the terminal. However, if I look at the mesh topic the mesh_blocks are always empty:
$ rostopic echo /voxblox_node/mesh
header:
seq: 263
stamp:
secs: 1531490808
nsecs: 375656235
frame_id: "world"
mesh_blocks: []
---
header:
seq: 264
stamp:
secs: 1531490809
nsecs: 375167789
frame_id: "world"
mesh_blocks: []
---
...
what am I'm missing?
this is my launch file:
<launch>
<arg name="voxel_size" default="0.05"/>
<arg name="generate_esdf" default="true" />
<node name="voxblox_node" pkg="voxblox_ros" type="tsdf_server" output="screen" args="-alsologtostderr" clear_params="true">
<remap from="pointcloud" to="~camera/depth_registered/points"/>
<param name="tsdf_voxel_size" value="$(arg voxel_size)" />
<param name="tsdf_voxels_per_side" value="16" />
<param name="voxel_carving_enabled" value="true" />
<param name="color_mode" value="color" />
<param name="use_tf_transforms" value="false" />
<param name="update_mesh_every_n_sec" value="1" />
<param name="min_time_between_msgs_sec" value="0.0" />
<param name="method" value="fast" />
<param name="use_const_weight" value="false" />
<param name="allow_clear" value="true" />
<param name="verbose" value="true" />
<param name="output_mesh_as_pointcloud" value="true" />
<remap from="transform" to="~orb_slam_2_ros_node/transform_cam" />
<rosparam file="$(find voxblox_ros)/cfg/realsense_D435.yaml"/>
<param name="mesh_filename" value="$(find voxblox_ros)/mesh_results/$(anon cow).ply" />
</node>
</launch>
and the realsense_D435.yaml:
T_B_C:
- [1.0, 0.0, 0.0, 0.0]
- [0.0, 1.0, 0.0, 0.0]
- [0.0, 0.0, 1.0, 0.0]
- [0.0, 0.0, 0.0, 1.0]
invert_T_B_C: false
T_B_D:
- [ 1.0, 0.0, 0.0, 0.0]
- [ 0.0, 1.0, 0.0, 0.0]
- [ 0.0, 0.0, 1.0, 0.0]
- [ 0.0, 0.0, 0.0, 1.0]
invert_T_B_D: false
I admittedly don't really know if these transforms are. with the realsense I use aligned color and depth frames so I assume I can put identities for these and at least see something in rviz, even if wrong.
Occasionally, I get segfaults after the latest voxblox update.. Any ideas?
Progress: 0.2% [--------------------------------------------------]I0804 16:13:05.733964 12470 tsdf_integrator.h:312] Went from 67 points to 41 raycasts and 0 clear rays.
*** Error in `/home/fabian/Code/catkin_ws/devel/lib/voxblox_interface/test_voxblox_interface': double free or corruption (!prev): 0x000000000210e8e0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fa767b007e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fa767b0937a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fa767b0d53c]
/home/fabian/Code/catkin_ws/devel/lib/libvoxblox.so(_ZNSt6vectorIN7voxblox6timing13TimerMapValueESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_+0xff)[0x7fa76744143f]
/home/fabian/Code/catkin_ws/devel/lib/libvoxblox.so(+0x38e62)[0x7fa767440e62]
/home/fabian/Code/catkin_ws/devel/lib/libvoxblox.so(_ZN7voxblox6timing5TimerC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x1e)[0x7fa767440fbe]
/home/fabian/Code/catkin_ws/devel/lib/libvoxblox_interface.so(_ZN7voxblox20MergedTsdfIntegrator14integrateVoxelERKN5kindr7minimal26QuatTransformationTemplateIdEERKSt6vectorIN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEENS8_17aligned_allocatorISA_EEERKS7_INS_5ColorESaISG_EEbbRKSt4pairINS9_IiLi3ELi1ELi0ELi3ELi1EEES7_ImSaImEEERKSt13unordered_mapISM_SO_NS_14BlockIndexHashESt8equal_toISM_ENSB_ISL_IKSM_SO_EEEEPSt5queueINS0_9VoxelInfoESt5dequeIS13_SaIS13_EEE+0x5ef)[0x7fa7699789af]
/home/fabian/Code/catkin_ws/devel/lib/libvoxblox_interface.so(_ZN7voxblox20MergedTsdfIntegrator15integrateVoxelsERKN5kindr7minimal26QuatTransformationTemplateIdEERKSt6vectorIN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEENS8_17aligned_allocatorISA_EEERKS7_INS_5ColorESaISG_EEbbRKSt13unordered_mapINS9_IiLi3ELi1ELi0ELi3ELi1EEES7_ImSaImEENS_14BlockIndexHashESt8equal_toISM_ENSB_ISt4pairIKSM_SO_EEEESY_PSt5queueINS0_9VoxelInfoESt5dequeIS10_SaIS10_EEEm+0x1a8)[0x7fa769979448]
/home/fabian/Code/catkin_ws/devel/lib/libvoxblox_interface.so(_ZNSt6thread5_ImplISt12_Bind_simpleIFSt7_Mem_fnIMN7voxblox20MergedTsdfIntegratorEFvRKN5kindr7minimal26QuatTransformationTemplateIdEERKSt6vectorIN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEENSC_17aligned_allocatorISE_EEERKSB_INS3_5ColorESaISK_EEbbRKSt13unordered_mapINSD_IiLi3ELi1ELi0ELi3ELi1EEESB_ImSaImEENS3_14BlockIndexHashESt8equal_toISQ_ENSF_ISt4pairIKSQ_SS_EEEES12_PSt5queueINS4_9VoxelInfoESt5dequeIS14_SaIS14_EEEmEEPS4_S8_SH_SM_bbS10_S10_S19_mEEE6_M_runEv+0x64)[0x7fa769973544]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb8c80)[0x7fa768121c80]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fa76974c6ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fa767b903dd]
======= Memory map: ========
00400000-00417000 r-xp 00000000 103:02 1049832 /home/fabian/Code/catkin_ws/devel/lib/voxblox_interface/test_voxblox_interface
00617000-00618000 r--p 00017000 103:02 1049832 /home/fabian/Code/catkin_ws/devel/lib/voxblox_interface/test_voxblox_interface
00618000-00619000 rw-p 00018000 103:02 1049832 /home/fabian/Code/catkin_ws/devel/lib/voxblox_interface/test_voxblox_interface
00c79000-02182000 rw-p 00000000 00:00 0 [heap]
The max_ray_length_m
param is used properly with the simple integrator, but the merged integrator ignores it. When for instance using VLP-16 clouds as input this becomes apparent really fast as integration time gets very slow with clouds containing points tens of meters away.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.