Lidar论文学习

文章复现-speed and accuracy tradeoff for LiDAR Data…@作者

初出茅庐-文章复现
文章复现大致包括:环境配置+数据复现+个人数据库尝试

环境配置
vpn: https://www.maomi.in/user/tutorial?os=linux&client=clash##

https://github.com/wangguojun2018/LidarRoadBoundaryDetection

Install proto3
Please check README.md for proto3 installation instructions.
软件包:
安装后:更新protobu文件
protoc -I=S R C D I R − − c p p o u t = SRC_DIR --cpp_out=SRC
D

IR−−cpp
o

ut=DST_DIR $SRC_DIR/addressbook.proto
例如:当前目录里的proto
protoc -I=./ --cpp_out=./ xxx.proto

Install glog
原文的打不开,现在用的pip install glog

Install OpenCV 3.4.5++ and PCL 1.7++

opencv 安装-参考链接:
https://www.cnblogs.com/phyger/p/14069437.html

原文俩出小修改:
修改1:opencv_contrib 无法下载,可从下链接下载:
https://github.com/opencv/opencv_contrib/tree/3.4.5

修改2:
opencv安装opencv_contrib出现无法打开包括文件: “opencv2/xfeatures2d/cuda.hpp”的解决方法:
这里比较简单的就是直接改掉头文件

解决办法: 在CMakeLists.txt增加以下内容: (这里原文有点问题,大家注意修改一个是路径,还有一个是版本是自己安装的opencv版本)INCLUDE_DIRECTORIES("<你的路径>/opencv-3.4.5/opencv_contrib-3.4.5/modules/xfeatures2d/include")
CMakeLists.txt文件所在路径为: <你的路径>/opencv-3.4.5/modules/stitching/ CMakeLists.txt

验证是否安装成功:
首先ubuntu打开相机:
直接在活动中找到茄子(cheese),如果没有请安装:sudo apt-get install cheese

opencv demo验证:
cd <你的路径>/opencv-3.4.5/samples/cpp/example_cmake
cmake.
make
./opencv_example
如果能打开相机说明成功!!!!!!!

PCL安装 - 参考链接:
https://blog.csdn.net/HHT0506/article/details/104439748
我在20.04.3实验成功

limbo build:
clone limbo
cd LidarRoadBoundaryDetection
git clone https://github.com/resibots/limbo

Build limbo
Then please check official documentation to build and intall limbo:https://github.com/resibots/libcmaes
有时候网络问题:GitHub的文件无法clone,需要翻墙。

目前这里有些问题,好像没有编成,导致demo frame无法运行。

编译问题:
1 error:#error PCL requires C++14 or above
解决:在CMakeList中新增一句:
set(CMAKE_CXX_STANDARD 14)
2 boost ‘boost::mutex’ has not been declared:
解决: 安装boost
https://blog.csdn.net/hailangdeyingzi/article/details/73527877
上面不行,试试:
www.cnblogs.com/oracleloyal/p/6060779.html

boost 测试代码:
https://blog.csdn.net/Jailman/article/details/86150810?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1.essearch_pc_relevant&spm=1001.2101.3001.4242.2

main_thread.cpp修改:
添加头文件:
#include<boost/thread/mutex.hpp>
#include<boost/thread/thread.hpp>

bug补充:
intel TBB Installation
https://blog.csdn.net/weixin_35782556/article/details/113584141?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-5.no_search_link&spm=1001.2101.3001.4242.4
copy reference below:
https://blog.csdn.net/tfb760/article/details/106096245
下载:
first:选择合适的版本分支
最后:
注意添加路径需要修改自己的路径

test
cd examples
make

NLopt Installation
https://blog.csdn.net/eaglecoder/article/details/104335822?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-1-104335822.pc_agg_new_rank&utm_term=nlopt%E5%AE%89%E8%A3%85+ubuntu&spm=1000.2123.3001.4430

交叉编译工具安装:
gcc: https://blog.csdn.net/weixin_33672400/article/details/93757824
sudo apt-get install gcc-arm-linux-gnueabi
g++:
sudo apt-get install g+±arm-linux-gnueabi

locate: https://blog.csdn.net/chenshe1571/article/details/100714197
locate如果没有反应:可以试试关闭终端再打开+ sudo updatedb

limbo build:

error:
/usr/bin/ld: 当搜索用于 /usr/local/lib/libnlopt.a 时跳过不兼容的 -lnlopt

尝是不是NLopt安装不成功。

更新nlopt安装方式:
http://www.resibots.eu/limbo/tutorials/compilation.html
./configure --with-cxx --enable-shared --without-python --without-matlab --without-octave
make
sudo make install

limbo build成功

出现return errr

usr/bin/ld: lib/libextract.a(road_boundary.pb.cc.o)😦.data.rel.ro+0x50): more undefined references to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)’ follow
collect2: error: ld returned 1 exit status
以下操作仍然不能解决,但proto安装成功
proto anzhuang gengxin:
https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
https://blog.csdn.net/kdchxue/article/details/81046192

上个 error solved!

/home/gj/lidar/LidarRoadBoundaryDetection/limbo/src/limbo/serialize/text_archive.hpp:72:35: error: variable ‘std::ofstream ofs’ has initializer but incomplete type
72 | std::ofstream ofs(fname(object_name).c_str());

头文件添加:
#include

最新 error:
应该是protobuf问题
在这里插入图片描述
CMakeLists做了如下修改:

cmake_minimum_required(VERSION 2.8)

project(boundary_detection)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS “-std=c++11 -march=native”)
set(CMAKE_BUILD_TYPE Release CACHE STRING “set build type to release”)
set(CMAKE_MODULE_PATH C M A K E M O D U L E P A T H " {CMAKE_MODULE_PATH} " CMAKEMODULEPATH"{CMAKE_CURRENT_LIST_DIR}/cmake")
set(LIMBO_INCLUDE_DIRS ./limbo/src)

find_package(OpenMP REQUIRED)
find_package(Protobuf REQUIRED)
if(PROTOBUF_FOUND)
message(STATUS “protobuf library found”)
else()
message(FATAL_ERROR “protobuf library is needed but cant be found”)
endif()

find_package(Boost)
find_package(PCL REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(OpenCV REQUIRED)
find_package(Glog REQUIRED)

include_directories(/home/gj/lidar/LidarRoadBoundaryDetection/limbo/src
${PCL_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS}
${Qt5Charts_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS}
${LIMBO_INCLUDE_DIRS} ${Protobuf_INCLUDE_DIRS} G L O G I N C L U D E D I R S . ) I N C L U D E D I R E C T O R I E S ( {GLOG_INCLUDE_DIRS} .) INCLUDE_DIRECTORIES( GLOGINCLUDEDIRS.)INCLUDEDIRECTORIES({CMAKE_CURRENT_BINARY_DIR})

link_directories(${PCL_LIBRARY_DIRS} /home/gj/lidar/LidarRoadBoundaryDetection/limbo/build/src)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS road_boundary.proto)

protobuf_generate_cpp(road_boundary.pb.cpp road_boundary.pb.h road_boundary.proto)

add_definitions(${PCL_DEFINITIONS})

add_subdirectory(./lib)

#add_library(extract ${SRC})
#target_link_libraries(extract ${PCL_LIBRARIES} OpenMP::OpenMP_CXX)

add_executable(demo_frame src/main.cpp)

target_link_libraries(demo_frame ${PCL_LIBRARIES} ${OpenCV_LIBS} extract
${Protobuf_LIBRARIES} ${GLOG_LIBRARIES})

add_executable(demo_video src/main_thread.cpp ${PROTO_SRCS} ${PROTO_HDRS})

target_link_libraries(demo_video ${PCL_LIBRARIES} ${OpenCV_LIBS} extract
${Protobuf_LIBRARIES} ${GLOG_LIBRARIES})

————————————————
版权声明:本文为CSDN博主「mark_GJ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mark_GJ/article/details/121210107

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值