Comments (7)
I've noticed too this morning the long compilation of CoreWrapper.cpp. On Trusty, the amd64 binary of rtabmap_ros took around 50 min:
- Indigo 49 min (http://jenkins.ros.org/job/ros-indigo-rtabmap-ros_binarydeb_trusty_amd64/33/)
- Jade 55 min (http://jenkins.ros.org/job/ros-jade-rtabmap-ros_binarydeb_trusty_amd64/2/)
I've already seen a long compilation time of rtabmap_ros when I used "catkin -j4" on a machine with RAM available below 6 Gig. Some files require over 1 Gig to compile (thx PCL!), so with 4 threads, the swap was required. Using the swap memory increases a lot the compilation time.
Well, I tried with a fresh virtual machine with Ubuntu 15.04 + Jade and built rtabmap + rtabmap_ros. It builds flawlessly. The maximum RAM used was 1.9 Gig for CoreWrapper.cpp. This may be the problem.
from rtabmap_ros.
ok, well, you're on top of it :) Probably highly templated code.Maybe you can split it in smaller files.
from rtabmap_ros.
I'll check if I can split some of the PCL headers to reduce the memory load used for compilation. What is the RAM available on the buildfarm machines so I can target a memory usage limit?
from rtabmap_ros.
some code could not use PCL. E.g. https://github.com/introlab/rtabmap_ros/blob/master/src/CoreWrapper.cpp#L765 could use tf2_sensor_msgs by keeping a PointCloud2 (got added recently). You don't even need the whole tf2 infrastructure, you can just use: https://github.com/ros/geometry_experimental/blob/indigo-devel/tf2_sensor_msgs/include/tf2_sensor_msgs/tf2_sensor_msgs.h#L59
from rtabmap_ros.
Thank you, I'll look at this!
from rtabmap_ros.
Some refactoring were done in upstream rtabmap library (particularly the big rtabmap/core/util3d.h file, which included many pcl headers) as well as splitting CoreWrapper.cpp in two files.
Looking on Jenkins, the long build time seems not here anymore. It took 18 min on the latest version 0.9.0 on vivid amd64 (instead of 1 hr 34 min for previous 0.8.12 version):
http://jenkins.ros.org/job/ros-jade-rtabmap-ros_binarydeb_vivid_amd64/5/
from rtabmap_ros.
thx !
from rtabmap_ros.
Related Issues (20)
- Please help me. OpenCV xfeatures2d: true, but the results seem to be the same even if different feature algorithms are used. HOT 1
- Odom topic in python HOT 1
- 2d Map Editor in database viewer save issue HOT 1
- Fusing RGBD odometry and wheel odometry on ROS2 Humble HOT 4
- D435+ROS Noetic+RTABMap does not start HOT 16
- High network usage for remote mapping and RTABMap blank HOT 1
- a small question to mapping HOT 6
- rtabmap not subscribe to odom HOT 2
- euroc_datasets.launch - nothing being processed in RTAB/Map HOT 1
- VIO on ROS2 humble with simulated depth camera in Unity. HOT 6
- ROS2: cannot change image_transport plugin used by rtabmap's nodes
- Did not receive data since 5 seconds! HOT 2
- [icp_odometry]: Did not receive data since 5 seconds! & initial pose cannot be set HOT 3
- map is shifting during recording HOT 1
- RTABMAP shows black screen in 3D map and the visualizer frames are very laggy. HOT 5
- Odometry wrongly reporting topic(s) not received for 5 seconds if odometry is lost or input topics have all invalid values
- Rtabmap fatal error UException (external landmark detection while node wrongly deemed "intermediate" in localization mode). HOT 1
- RTAB Map with ModalAI Starling 2 HOT 1
- Rtabmap odom doesn't publish tf with correct time HOT 1
- Still waiting for data on topic imu/data_raw. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rtabmap_ros.