Comments (46)
我短时间内不大会考虑,比较类似openCV之类的东西移植到arm上面肯定是一堆兼容性问题,扎进这一堆工程细节一堆bug上就没完没了,先考虑下怎么样才能毕业吧。。。头秃。。。
from r3live.
我也是
光流模块内存分配失败,然后r3live_mapping就shutdown了。
from r3live.
我也是 光流模块内存分配失败,然后r3live_mapping就shutdown了。
那您现在解决了吗,是我的系统有问题吗
from r3live.
from r3live.
from r3live.
from r3live.
你的内存才7.51Gb啊。。。建议分配下swap试下
from r3live.
你参考下这个教程,你添加下swap(虚拟内存)试试?
https://www.cnblogs.com/bigben0123/p/13066136.html
from r3live.
大佬你好,16GB物理内存和2GB虚拟内存,也是报这个错误,r3live是对内存大小要求很高吗?多少能正常运行呢?
from r3live.
16GB 肯定是够的,一般来说空余内存大于12GB就行,你这问题有点奇怪,能否详细阐述下?
关于内存占用问题,是因为在程序里面一开始我为了避免std constainer频繁动态分配内存导致整体程序整体性能低下,所以我在一开始就reserve好一个比较大的buffer,如:pointcloud_rgbd.cpp 中的168行这里,以及光流模块image的buffer的allocate。
r3live/r3live/src/rgb_map/pointcloud_rgbd.cpp
Line 168 in bd8d8af
from r3live.
from r3live.
你尝试把pointcloud_rgbd.cpp 中的168行里面的1e9改小一点试试,例如1e7之类的?如果是这个问题的话,我提交下代码修下这个bug
from r3live.
我在DJI-manifold (8GB RAM+ 8 GB swap) 上面验证了这个bug,一开始在16GB内存的机子上的确有bad malloc的问题,1e9一开始确实分配有点大了,我改成:
m_rgb_pts_vec.reserve( 1e8 );
就可以了。
这是改之前的
这是改之后的:
我稍等把修复推上去
from r3live.
你尝试把pointcloud_rgbd.cpp 中的168行里面的1e9改小一点试试,例如1e7之类的?如果是这个问题的话,我提交下代码修下这个bug
我修改过后还是不可以,但是我可以用r3live_bag.launch运行自己采集的数据(只使用了一台avia),仍然可以完成建图,用fastlio也可以运行您google网盘上传的数据。
from r3live.
我擦,这就奇怪了,我DJI manifold 8GB RAM + 8GB swap都可以跑额。。。
from r3live.
这是我在DJI-manifold2 (8GB RAM+ 8 GB swap) 上的测试结果
from r3live.
我擦,这就奇怪了,我DJI manifold 8GB RAM + 8GB swap都可以跑额。。。
我在编译的过程中爆出一个这样的waring,会不会是这里有问题。或者是我的opencv版本不兼容?但是如果是这里有问题为啥我自己的数据又可以运行
这个是我用r3live_bag.launch运行自己的数据的一些截图
from r3live.
这是因为你没有图像导致的,你看camera-frame那儿都是0
from r3live.
你命令行窗口输入这个我看下:
pkg-config --modversion opencv
from r3live.
from r3live.
你刚才截图给我的时候,你编译的时候openCV版本是4.5.4,可是为什么你的运行环境里面是4.5.3呢?
from r3live.
另外你有没有按照readme里面说的按照ros的相关packages?
sudo apt-get install ros-XXX-cv-bridge ros-XXX-tf ros-XXX-message-filters ros-XXX-image-transport ros-XXX-image-transport*
如果你没有安装ros-XXX-image-transport*,有可能你是没有解压解compressed_image的相关模块
from r3live.
另外你有没有按照readme里面说的按照ros的相关packages? sudo apt-get install ros-XXX-cv-bridge ros-XXX-tf ros-XXX-message-filters ros-XXX-image-transport ros-XXX-image-transport* 如果你没有安装ros-XXX-image-transport*,有可能你是没有解压解compressed_image的相关模块
readme里面提到的我有安装,您看一下有问题没。opencv这个问题我再研究一下,我做系统的时候就是装的4.5.4,以前我查询过opencv显示确实也是4.5.3,但是一直没有什么错误,我也就没在意
from r3live.
你使用下rqt_image_view, 看能否看到compressed image?就是rosbag play的你能否看到图像?如果能看到,说明你的解压模块没有问题
from r3live.
from r3live.
from r3live.
看起来是对的,然后你跑我的example报什么错误来着?
from r3live.
from r3live.
额,我也看不出问题了,要不你先保证下openCV的编译版本和运行版本一致?不排除是不是这个原因导致的,openCV的问题也一直折腾了我很久。又或者换一个干净的环境重新试下?有结果了和我同步下?
from r3live.
额,我也看不出问题了,要不你先保证下openCV的编译版本和运行版本一致?不排除是不是这个原因导致的,openCV的问题也一直折腾了我很久。又或者换一个干净的环境重新试下?有结果了和我同步下?
恩恩,好的没问题,另外想问一下您后续的工作中会考虑将r3live部署到arm架构下进行测试吗
from r3live.
你尝试把pointcloud_rgbd.cpp 中的168行里面的1e9改小一点试试,例如1e7之类的?如果是这个问题的话,我提交下代码修下这个bug
我修改过后还是不可以,但是我可以用r3live_bag.launch运行自己采集的数据(只使用了一台avia),仍然可以完成建图,用fastlio也可以运行您google网盘上传的数据。
16GB 肯定是够的,一般来说空余内存大于12GB就行,你这问题有点奇怪,能否详细阐述下? 关于内存占用问题,是因为在程序里面一开始我为了避免std constainer频繁动态分配内存导致整体程序整体性能低下,所以我在一开始就reserve好一个比较大的buffer,如:pointcloud_rgbd.cpp 中的168行这里,以及光流模块image的buffer的allocate。
r3live/r3live/src/rgb_map/pointcloud_rgbd.cpp
Line 168 in bd8d8af
改成1e8和1e7都不行,我安装的是最新的OpenCV 4.5.5,刚发现编译的时候有以下警告:
/usr/bin/ld: warning: libopencv_imgcodecs.so.3.2, needed by /opt/ros/melodic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.405
/usr/bin/ld: warning: libopencv_imgproc.so.405, needed by /home/wb/3rd/opencv-4.5.5/build/lib/libopencv_imgcodecs.so.4.5.5, may conflict with libopencv_imgproc.so.3.2
可能跟这个有关吧?
from r3live.
关于内存预分配的问题,我提交的修改如下,当检测到内存小于12Gb的时候,之分配1e8个点的buffer,否则就分配多一点的内存(1e9)
from r3live.
你尝试把pointcloud_rgbd.cpp 中的168行里面的1e9改小一点试试,例如1e7之类的?如果是这个问题的话,我提交下代码修下这个bug
我修改过后还是不可以,但是我可以用r3live_bag.launch运行自己采集的数据(只使用了一台avia),仍然可以完成建图,用fastlio也可以运行您google网盘上传的数据。
16GB 肯定是够的,一般来说空余内存大于12GB就行,你这问题有点奇怪,能否详细阐述下? 关于内存占用问题,是因为在程序里面一开始我为了避免std constainer频繁动态分配内存导致整体程序整体性能低下,所以我在一开始就reserve好一个比较大的buffer,如:pointcloud_rgbd.cpp 中的168行这里,以及光流模块image的buffer的allocate。
r3live/r3live/src/rgb_map/pointcloud_rgbd.cpp
Line 168 in bd8d8af
改成1e8和1e7都不行,我安装的是最新的OpenCV 4.5.5,刚发现编译的时候有以下警告:
/usr/bin/ld: warning: libopencv_imgcodecs.so.3.2, needed by /opt/ros/melodic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.405
/usr/bin/ld: warning: libopencv_imgproc.so.405, needed by /home/wb/3rd/opencv-4.5.5/build/lib/libopencv_imgcodecs.so.4.5.5, may conflict with libopencv_imgproc.so.3.2可能跟这个有关吧?
额,能否确保下这2者一样?编译时用的库和实际运行的库不match的话总会出现一些奇怪的问题。
from r3live.
额,我也看不出问题了,要不你先保证下openCV的编译版本和运行版本一致?不排除是不是这个原因导致的,openCV的问题也一直折腾了我很久。又或者换一个干净的环境重新试下?有结果了和我同步下?
您好,问题解决了,应该就是版本没有管理好,我重新装了一个opencv3.4.16,修改了cmake文件。
from r3live.
可以可以,大佬666,感谢你分享你的解决过程
from r3live.
可以可以,大佬666,感谢你分享你的解决过程
不敢当不敢当,谢谢你帮我逐个排查问题
from r3live.
I am facing the same problem.
I heard that you modified cmake, can you tell me which part you edited?
My current environment is as follows.
ROS:melodic
额,我也看不出问题了,要不你先保证下openCV的编译版本和运行版本一致?不排除是不是这个原因导致的,openCV的问题也一直折腾了我很久。又或者换一个干净的环境重新试下?有结果了和我同步下?
from r3live.
I downgraded the OpenCV version from 4.5.1 to 3.4.0 as shown below and rebuilt and it worked.
Thanks.
I am facing the same problem. I heard that you modified cmake, can you tell me which part you edited? My current environment is as follows. ROS:melodic
额,我也看不出问题了,要不你先保证下openCV的编译版本和运行版本一致?不排除是不是这个原因导致的,openCV的问题也一直折腾了我很久。又或者换一个干净的环境重新试下?有结果了和我同步下?
from r3live.
Nice!!! It seems that I need to add this point to ReadME.md for helping other users to address the same problem.
from r3live.
我将 OpenCV 版本从 4.5.1 降级到 3.4.0,如下所示,并重新构建,它工作正常。 谢谢。
我面临同样的问题。听说你修改了cmake,能告诉我你修改了哪个部分吗?我现在的环境如下。ROS:旋律
,我也看不出问题了,不你先保证下openCV的编译版本和运行版本?不排除这个原因导致的,openCV的问题也一直折腾了我。又或者换一个干净的环境重试下?有结果了和我同步下?
Sorry,I was taking an exam just now.
from r3live.
额,我也看不出问题了,要不你先保证下openCV的编译版本和运行版本一致?不排除是不是这个原因导致的,openCV的问题也一直折腾了我很久。又或者换一个干净的环境重新试下?有结果了和我同步下?
你好,我也遇到了一样的问题,我用的melodic,安装ros的时候自动安装了opencv3.2,然后想换到opencv4.5.3的,但是配置一直有问题,我发现链接的时候还是链接到了/usr/lib/x86_64-linux-gnu目录下面的opencv的so库了,修改cv_bridge下面的cmake之后,不找这个路径了,但是cv_bridge开始报错找不到函数定义了,能请教下你是怎么更新的opencv版本嘛?谢谢哈~~
from r3live.
你好我也同样遇到了类似的问题,之前系统自动安装的opencv3。2不符合标准,我再次装了一个opencv4.5.3,编译可以成功,但是运行数据集就报错,希望能得到指导,本人功力尚浅,对于这些路径,配置不太擅长,希望能说说具体的解决方式
from r3live.
from r3live.
我是参考这两个网页连接中的内容配置的,你可以研究下
https://blog.csdn.net/qq_36758461/article/details/119819161
https://blog.csdn.net/bigdog_1027/article/details/79092263
from r3live.
你好,多谢指点,我尝试了rqt_image命令发现没有图像,后面发现opencv的运行版本是直接在cmaklist中直接制定4。5。3,通过命令查询得到的版本是3。2,不知道是不是这个问题
from r3live.
不客气,应该就是版本不一致导致的,我之前遇到的是跑起来会挂掉,统一版本后才能正常运行,但是那个三维重建mesh的节点运行还是有问题,后面没再研究mesh
from r3live.
Related Issues (20)
- Get pointcloud data from ros messages fail HOT 6
- Image input error HOT 2
- Segmentation fault on ikd-tree algorithm HOT 1
- 您好,请问有碰到过这个问题吗? HOT 1
- Can r3live run in the AirSim? HOT 1
- 林博,你好,你有遇到过移动过程中path和odometry抖动得非常剧烈的情况吗?隔一段时间后,产生严重漂移。 HOT 1
- Is it possible to use Livox Mid 360 (a spinning lidar) and two cameras on two side of the lidar and use the algorithm to colorize 360 degrees data? HOT 4
- LIO/VIO cost time HOT 1
- Disable VIO subsystem HOT 1
- why the Per-frame cost time is much different. HOT 1
- Ouster Rosbag link not working HOT 2
- Map memory size is increasing all the time HOT 1
- Drifts even though it's not moving. HOT 1
- Compitability with lslidar? HOT 1
- [r3live_mapping -3] has died ! HOT 1
- Error accessing the Google Drive/MS OneDrive Link for the Dataset HOT 5
- 这个代码是对应r3live++ 论文还是r3live的论文? HOT 1
- pcd文件是如何保存的 HOT 1
- About r3live_config_nclt.yaml HOT 1
- Formula question 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 r3live.