当前位置: 首页 > news >正文

电商平台网站建设重庆seo排名外包

电商平台网站建设,重庆seo排名外包,wordpress更换富文本编辑器,网站模板设计教程由于相机实时在线运行需要ROS,但Ubuntu22.04只支持ROS2,于是重装Ubuntu20.04。上一篇文章跑通的是官方版本的ORB_SLAM2,不支持点云显示。高翔修改版本支持RGB-D相机的点云显示功能。 高翔修改版本ORB_SLAM2:https://github.com/ga…

  1. 由于相机实时在线运行需要ROS,但Ubuntu22.04只支持ROS2,于是重装Ubuntu20.04。
  2. 上一篇文章跑通的是官方版本的ORB_SLAM2,不支持点云显示。高翔修改版本支持RGB-D相机的点云显示功能。

高翔修改版本ORB_SLAM2:https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map

环境:ubunntu20.04、opencv3.4.12编译、pangolin0.5编译、PCL1.10、eigen3.3.7、ROS noetic

  • 查看PCL版本:dpkg -l | grep libpcl
  • 查看eigen版本:pkg-config --modversion eigen3

备注:我先编译的OpenCV3.4.12,再装的ROS noetic,后面一直用的OpenCV3.4.12编译和运行,普通编译和运行问题比较少。但在ROS编译和运行时遇到了很多问题,主要是ROS noetic自带OpenCV4.2.0会和编译的OpenCV3.4.12出现版本冲突,基于ROS编译时由于会使用到cv_bridge,默认调用OpenCV4.2.0,网上也有一些方案修改cv_bridge,但十分麻烦,后来发现直接用OpenCV4编译源代码,只需要修改个别报错,相对简单。因此,可以在配置环境的时候,优先装ROS noetic,自带OpenCV4.2,就可以不用装OpenCV3.4.12了,把报错改一改即可,不用考虑版本冲突带来的奇奇怪怪的报错。


普通编译(以下使用OpenCV3.4.12编译)

  1. 只需要其中的子文件夹 ORB_SLAM2_modified、需要原始ORB SLAM2官方版本中的Vocabulary文件夹
  2. 删除三个build文件夹
ORB_SLAM2_modified/build
ORB_SLAM2_modified/Thirdparty/DBoW2/build 
ORB_SLAM2_modified/Thirdparty/g2o/build 
  1. 编译
chmod +x build.sh
./build.sh

出现一堆pcl相关的报错
在CmakeLists.txt中增加set(CMAKE_CXX_STANDARD 14)
重新编译,就只有eigen3相关的警告了

普通运行

高翔修改的点云版本好像只支持RGBD的点云显示,使用双目运行时,出现当前帧和map Viewer都可以显示、PCL窗口(按R键标准可视化)全黑的情况。而且终端输出显示Global map的Size一直为0。

./bin/stereo_euroc Vocabulary/ORBvoc.bin Examples/Stereo/EuRoC.yaml /home/juling/Documents/data/MH_01_easy/mav0/cam0/data /home/juling/Documents/data/MH_01_easy/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/MH01.txt

双目运行终端
于是跑了一下RGBD的例子,看一下点云是否有输出,排除一下情况。

./bin/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/juling/Documents/data/rgbd_dataset_freiburg1_xyz Examples/RGB-D/associations/fr1_xyz.txt

可以实时显示点云。保存为pcd文件,用pcl_viewer打开。
黑白点云
修改如下代码,恢复彩色点云图。
在这里插入图片描述

稠密程度:TUM1.yaml中的PointCloudMapping.Resolution参数可改变点云稠密程度。
下图左边是0.00001,右边是0.01的情况。

彩色点云

ROS编译

安装ROS Noetic:http://wiki.ros.org/noetic/Installation/Ubuntu

# 配置环境变量
sudo gedit ~/.bashrc
添加source /opt/ros/noetic/setup.bash
source ~/.bashrc

使用ROS编译前,在bashrc中添加环境变量,然后在终端echo一下,看输出是否正确。

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/juling/Documents/projects/ORBSLAM2_with_pointcloud_map-master/ORB_SLAM2_modified
echo $ROS_PACKAGE_PATH

备注: 如果添加的ORB_SLAM的ROS路径在setup.bash路径的前面, echo路径的时候,发现路径没有更改。所以将export的路径放在最后一行即可。

错误一:ModuleNotFoundError: No module named ‘rospkg’

pip install rospkg  

错误二:Unable to find either executable ‘empy’ or Python module ‘em’… try installing the package ‘python3-empy’

pip install python3-empy

错误三:一堆PCL相关报错POINT_CLOUD_REGISTER_POINT_STRUCT

CmakeList.txt中添加set(CMAKE_CXX_STANDARD 14)

错误四:fatal error: pcl/common/transforms.h: No such file or directory 25 | #include <pcl/common/transforms.h>

# CmakeLists.txt中增加PCL库相关
find_package(PCL REQUIRED ) #修改后的set(LIBS 
${OpenCV_LIBS} 
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
${PCL_LIBRARIES} #修改后的

错误五:undefined reference to symbol,error adding symbols: DSO missing from command line
在ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/CMakeLists.txt文件中添加-lboost_system没有解决问题
应该是OpenCV3与ROS自带OpenCV4冲突的问题
github issues:https://github.com/raulmur/ORB_SLAM2/issues/990
参考解决:https://blog.csdn.net/YLYwj/article/details/131766994


sudo apt install mlocate
locate libopencv_imgproc.so
locate libopencv_core.so

可以看到相关文件的路径,一般在/usr/lib/x86_64-linux-gnu/文件夹下搜索,即可找到libopencv_imgproc.so.4.2.0和libopencv_core.so.4.2.0文件,复制到ORB_SLAM2_modified/lib文件夹中,然后ORB_SLAM2/Examples/ROS/ORB_SLAM2路径下的CmakeLists.txt中添加两行。

set(LIBS 
${OpenCV_LIBS} 
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
${PCL_LIBRARIES} ####### 5
#-lboost_system ####### 6
${PROJECT_SOURCE_DIR}/../../../lib/libopencv_imgproc.so.4.2.0  ####### 7
${PROJECT_SOURCE_DIR}/../../../lib/libopencv_core.so.4.2.0	####### 8

重新编译以后,编译通过。但有版本冲突的警告。

ROS运行

roscore
rosrun ORB_SLAM2 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true

运行报segmentation fault (core dumped) 错误。
修改Example/ROS下的CmakeLists.txt,删除-march=native重新编译,没有解决问题。

有没有可能是点云版本的只支持RGBD的ROS功能包,用RGBD试一下,排除一下问题。
https://vision.in.tum.de/data/datasets/rgbd-dataset/download

roscore
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml
rosbag play --pause /home/juling/Documents/data/rgbd_dataset_freiburg1_room.bag

rosrun仍然报核心已转储的错误。应该是OpenCV版本冲突的问题,因为基于OpenCV3编译成功以后,有警告。


删除所有build的文件夹,修改所有CmakeLists.txt中的OpenCV版本为4.2.0,重新进行普通编译(因为ROS编译需要用到DBoW2和g2o),再进行ROS编译。

find_package(OpenCV 4.2 QUIET)

错误:error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope

修改所有的CV_LOAD_IMAGE_UNCHANGED为cv::IMREAD_UNCHANGED即可

此时编译通过,且没有版本冲突的警告。


再次运行RGBD的例子。此时,报了一个pcl no data的错误。并且出现bag运行,map Viewer以及点云窗口都无显示的情况。
在这里插入图片描述

注意:TUM 数据官网中提到 “factor = 5000 # for the 16-bit PNG files,OR: factor = 1 # for the 32-bit float images in the ROS bag files”。这个问题就是5000是普通模式下的,此处是ROS模式。将TUM1.yaml复制出来,重命名为TUM1_ROS.yaml,并将深度校正系数DepthMapFactor改为1.0。即可解决这个问题。另外,注意前面提到的bashrc中的ROS_PACKAGE_PATH。


运行成功。

在这里插入图片描述
参考:
https://blog.csdn.net/Evanzxh/article/details/120993982
https://www.jianshu.com/p/5e7b8358893f
https://blog.csdn.net/crp997576280/article/details/104220926/

http://www.hkea.cn/news/689916/

相关文章:

  • 中国建筑公司网站谷歌浏览器官方app下载
  • 厦门网站建设策划seo网站优化培训找哪些
  • 宝安区住房和建设局官方网站seo搜索引擎优化书籍
  • 省建设厅执业资格注册中心网站2023搜索最多的关键词
  • 本地wordpress上传搜索引擎营销优化策略有哪些
  • html手机网站模板培训心得体会800字
  • 合肥做网站公司哪家好经典的软文广告
  • 网站备案哪个部门北京推广
  • 澳环网站设计公司网站建设方案
  • 云南旅行社网站建设网络推广有多少种方法
  • 龙岗做商城网站建设网络营销战略的内容
  • 网站建设网络公整站排名
  • 南昌购物网站制作软文广告成功案例
  • 鞍山找工作哪个网站最靠谱千度搜索引擎
  • 济南做网站互联网公司英文seo推广
  • 给企业做网站的公司品牌整合营销传播
  • 互联网技术应用学什么杭州优化建筑设计
  • 重庆网站建设要点襄阳seo优化排名
  • 哪个网站用织梦做的seo站长工具查询系统
  • 本地wordpress 上传搜索引擎优化简历
  • 个人创业做网站软文营销怎么写
  • wordpress相册点击弹出框金华seo全网营销
  • 郑州手机网站建设搜狗网站收录提交入口
  • 清风网站建设抖音推广方式有哪些
  • 工作室网站开发广东网站seo营销
  • 广州正佳广场攻略深圳债务优化公司
  • 如何自己免费建网站seo网站有哪些
  • 南昌网站建设案例如何制作自己的链接
  • wordpress大流量专业的网站优化公司
  • 做进口零食批发网站百度站长管理平台