激光雷達與慣導標定 | Lidar_IMU_Init : 編譯

激光雷達與慣導標定:Lidar_IMU_Init 編譯

  • 功能包安裝
    • 安裝ceres-solver-2.0.0 (注意安裝2.2.0不行,必須要安裝2.0.0)

LI-Init是一種魯棒、實時的激光雷達慣性系統初始化方法。該方法可校準激光雷達與IMU之間的時間偏移量和外部參數,以及重力矢量和IMU偏差。我們的方法不需要任何目標或額外的傳感器,特定的結構化環境,先前的環境點圖或初始值的外在和時間偏移。

功能包安裝

需要環境要求:
Ubuntu >= 18.04.
ROS >= Melodic
PCL >= 1.8
Eigen >= 3.3.4

下載源碼

git clone https://github.com/hku-mars/LiDAR_IMU_Init.git

下載完成提示

正克隆到 ‘LiDAR_IMU_Init’…
remote: Enumerating objects: 340, done.
remote: Counting objects: 100% (118/118), done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 340 (delta 79), reused 78 (delta 55), pack-reused 222
接收對象中: 100% (340/340), 46.43 MiB | 2.57 MiB/s, 完成.
處理 delta 中: 100% (161/161), 完成.

在這里插入圖片描述
拷貝到工作空間中進行編譯

報錯提示如下:

CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by “livox_ros_driver”
with any of the following names:
livox_ros_driverConfig.cmake
livox_ros_driver-config.cmake
Add the installation prefix of “livox_ros_driver” to CMAKE_PREFIX_PATH or
set “livox_ros_driver_DIR” to a directory containing one of the above
files. If “livox_ros_driver” provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
LiDAR_IMU_Init/CMakeLists.txt:45 (find_package)

在這里插入圖片描述

原因是該功能包的CMakeLists.txt文件中的第45行:

find_package(catkin REQUIRED COMPONENTSgeometry_msgsnav_msgssensor_msgsroscpprospystd_msgspcl_rostflivox_ros_driver  #需要這個功能包但是沒有找到message_generationeigen_conversions
)

需要livox_ros_driver這個功能包但是沒有找到

安裝這個功能包,需要提前下載安裝好Livox SDK

git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..

成功后提示:

– Configuring done
– Generating done
– Build files have been written to: /home/jk-jone/Livox-SDK/build
在這里插入圖片描述

make

成功后提示:

[100%] Linking CXX executable lidar_utc_sync
[100%] Built target lidar_utc_sync

在這里插入圖片描述

sudo make install

成功后提示:

– Install configuration: “”
– Installing: /usr/local/lib/liblivox_sdk_static.a
– Installing: /usr/local/include/livox_def.h
– Installing: /usr/local/include/livox_sdk.h

在這里插入圖片描述

下載livox_ros_driver功能包

git clone https://github.com/Livox-SDK/livox_ros_driver.git

放到工作空間中進行編譯
則不再提示
Could not find a package configuration file provided by “livox_ros_driver”

再次編譯提示缺少Ceres功能包

Make Error at LiDAR_IMU_Init/CMakeLists.txt:61 (find_package):
By not providing “FindCeres.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “Ceres”, but
CMake did not find one.
Could not find a package configuration file provided by “Ceres” with any of
the following names:
CeresConfig.cmake
ceres-config.cmake
Add the installation prefix of “Ceres” to CMAKE_PREFIX_PATH or set
“Ceres_DIR” to a directory containing one of the above files. If “Ceres”
provides a separate development package or SDK, be sure it has been
installed.

在這里插入圖片描述

安裝ceres-solver-2.0.0 (注意安裝2.2.0不行,必須要安裝2.0.0)

先安裝ceres依賴

sudo apt-get install cmake
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev

下載ceres-solver-2.0.0

git clone https://github.com/ceres-solver/ceres-solver # 這個版本不行
git clone -b 2.0.0 https://github.com/ceres-solver/ceres-solver.git

在這里插入圖片描述
下載完成后形成該文件

然后進行編譯

cd ceres-solver
mkdir build
cd build
cmake ..

成功后提示

– Build the examples.
– Configuring done
– Generating done
– Build files have been written to: /home/jk-jone/ceres-solver/build

在這里插入圖片描述
然后再進行make

make -j4

成功后顯示:

[ 99%] Built target ba_iterschur_suitesparse_clusttri_user_test
[100%] Linking CXX executable …/…/…/bin/ba_sparsecholesky_suitesparse_user_threads_test
[100%] Built target ba_sparsecholesky_suitesparse_user_threads_test

在這里插入圖片描述
最后進行安裝

sudo make install

成功后顯示 :

– Installing: /usr/local/include/ceres/internal/config.h
– Installing: /usr/local/include/ceres/internal/export.h
– Installing: /usr/local/lib/cmake/Ceres/CeresTargets.cmake
– Installing: /usr/local/lib/cmake/Ceres/CeresTargets-release.cmake
– Installing: /usr/local/lib/cmake/Ceres/CeresConfig.cmake
– Installing: /usr/local/lib/cmake/Ceres/CeresConfigVersion.cmake
– Installing: /usr/local/lib/cmake/Ceres/FindGlog.cmake

在這里插入圖片描述
至此Ceres-solver-2.0.0安裝完畢

這個功能包對ceres-solver的版本有要求,2.2.0的版本有問題,需要2.0.0的版本

再次對工作空間進行編譯

編譯成功

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164687.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164687.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164687.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

unity shaderGraph實例-可交互瀑布

不要問我水在哪里,你自己相像這是一個瀑布,瀑布的效果我還不會做 效果展示 整體結構 這里片元著色器最后輸出的baseColor應該是黑色,白色為錯誤。 各區域內容 區域1 計算球到瀑布的距離,然后減去一個值,實現黑色區域…

UNETR:用于三維醫學圖像分割的Transformer

論文鏈接:https://arxiv.org/abs/2103.10504 代碼鏈接: https://monai.io/research/unetr 機構:Vanderbilt University, NVIDIA 最近琢磨不出來怎么把3d體數據和文本在cnn中融合,因為確實存在在2d里面用的transformer用在3d里面…

wpf使用CefSharp.OffScreen模擬網頁登錄,并獲取身份cookie,C#后臺執行js

目錄 框架信息&#xff1a;MainWindow.xamlMainWindow.xaml.cs爬取邏輯模擬登錄攔截請求Cookie獲取 CookieVisitorHandle 框架信息&#xff1a; CefSharp.OffScreen.NETCore 119.1.20 MainWindow.xaml <Window x:Class"Wpf_CHZC_Img_Identy_ApiDataGet.MainWindow&qu…

API自動化測試:如何構建高效的測試流程

一、引言 在當前的軟件開發環境中&#xff0c;API&#xff08;Application Programming Interface&#xff09;扮演了極為重要的角色&#xff0c;連接著應用的各個部分。對API進行自動化測試能夠提高測試效率&#xff0c;降低錯誤&#xff0c;確保軟件產品的質量。本文將通過實…

SpringMVC(三)

十、攔截器 1、攔截器的配置 SpringMVC中的攔截器用于攔截控制器方法的執行 SpringMVC中的攔截器需要實現HandlerInterceptor SpringMVC的攔截器必須在SpringMVC的配置文件中進行配置&#xff1a; <bean class"com.atguigu.interceptor.FirstInterceptor">…

constexpt

constexpt constexpt是C11引入的新的關鍵字&#xff0c;它用于在編譯時而非運行時計算函數或變量的值。這個特性對于提高程序效率和優化代非常有用。 編譯時常量和運行時常量 編譯時常量&#xff08;Compile-time Constants&#xff09;和運行時常量&#xff08;Runtime Con…

8年經驗之談 —— 如何使用自動化工具編寫測試用例?

以下為作者觀點&#xff0c;僅供參考&#xff1a; 在快速變化的軟件開發領域&#xff0c;保證應用程序的可靠性和質量至關重要。隨著應用程序復雜性和規模的不斷增加&#xff0c;僅手動測試無法滿足行業需求。 這就是測試自動化發揮作用的地方&#xff0c;它使軟件測試人員能…

leetcode做題筆記1410. HTML 實體解析器

「HTML 實體解析器」 是一種特殊的解析器&#xff0c;它將 HTML 代碼作為輸入&#xff0c;并用字符本身替換掉所有這些特殊的字符實體。 HTML 里這些特殊字符和它們對應的字符實體包括&#xff1a; 雙引號&#xff1a;字符實體為 &quot; &#xff0c;對應的字符是 "…

python appium 官網下載

找了半天吐了 https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4

Hibernate批量處理數據

概念&#xff1a; 批量處理數據是指在一個事務場景中處理大量數據。 在應用程序中難以避免進行批量操作&#xff0c;Hibernate提供了以下方式進行批量處理數據&#xff1a; (1)使用HQL進行批量操作 數據庫層面 executeUpdate() (2)使用JDBC API進行批量操作 數據庫層面 …

Vue學習筆記-Object.defineproperty函數

文章目錄 前文提要Object.defineProperty作用Object.defineProperty參數使用例圖getter&#xff0c;也就是get函數setter&#xff0c;也就是set函數 前文提要 本人僅做個人學習記錄&#xff0c;如有錯誤&#xff0c;請多包涵 Object.defineProperty作用 當在js中聲明了一個變…

王道p150 20.將給定的表達式樹轉化為等價的中綴表達式(通過括號反應操作符的計算次序)

本題代碼如下 void btreetoexp(tree t, char deep) {if (t NULL)return;else if (t->lchild NULL && t->rchild NULL)printf("%c", t->data);//輸出操作數&#xff0c;不加括號else {if (deep > 1)printf("(");btreetoexp(t->l…

Rust語言入門教程(二) - 變量與作用域

變量與作用域 變量的聲明與初始化 Rust的基本語法格式如下&#xff1a; fn main(){let bunnies 2; }語句以分號結尾&#xff0c;用花括號包含語句塊。 Rust的語法其實借鑒了很多其他的語言&#xff0c;比如C語言和Python&#xff0c; 所以變量定義的格式看起來也跟很多我們…

shell 腳本的函數和數組

函數 —— 封裝的一個公式&#xff1a;sin、cos、tan —— 函數為腳本的別名 —— 函數就是一個功能模塊&#xff0c;在函數中寫執行的命令即可&#xff1b;使用函數可以避免代碼重復&#xff0c;增加可讀性&#xff0c;簡化腳本&#xff0c;使用函數可以將大的工程分割為若…

Vue中動態class方法

1.方法一&#xff1a;只需要展示一個class樣式&#xff0c;但是動態取值 <div :class"aaa"></div>data:{return () {aaa:colorRed} }.colorRed {color: red; } 2.方法二&#xff1a;表達式判斷是否展示class里面的樣式 <div :class"{colorRed…

函數與數組

一.函數 1、函數的作用 定義較為復雜的但是需要重復使用的內容&#xff0c;以便再次使用&#xff0c;可以直接調用&#xff0c;節約時間&#xff0c;提高效率。 語句塊定義成函數約等于別名&#xff0c;定義函數&#xff0c;再引用函數。 封裝的可重復利用的具有特定功能的…

python+django高校科研項目管理系統2u3mx

高校科研項目管理系統采用擬開發的高校科研項目管理系統通過測試,確保在最大負載的情況下穩定運轉,各個模塊工作正常,具有較高的可用性。系統整體界面簡潔美觀,用戶使用簡單,滿足用戶需要。在因特網發展迅猛的當今社會,高校科研項目管理系統必然會成為在數字信息化建設的一個重…

Linux 查看 CPU 信息相關命令

目錄 lscpu top htop lscpu lscpu 命令是用于顯示有關 CPU 架構的信息&#xff0c;而不是用于實時監視 CPU 負載。它提供有關 CPU 類型、核心數、線程數、架構等的詳細信息。 lscpu top 命令會顯示系統的實時狀態&#xff0c;包括 CPU 使用率、內存使用率等。按下鍵盤上的…

一文詳解Vue生命周期

Vue是一種流行的用于構建用戶界面的漸進式JavaScript框架。Vue框架在開發過程中&#xff0c;特別強調對生命周期的理解和管理。通過使用生命周期鉤子函數&#xff0c;開發者能夠精確地控制Vue實例的創建、掛載、更新以及銷毀過程。本文將對Vue的生命周期進行詳細的介紹&#xf…

YOLOv8訓練自己的目標檢測數據集

YOLOv8訓練自己的目標檢測數據集 目錄標題 源碼下載環境配置安裝包訓練自己的數據集數據集文件格式數據集文件配置超參數文件配置訓練數據集命令行訓練腳本.py文件訓練 進行detect顯示detect的效果 源碼下載 YOLOv8官方的GitHub代碼&#xff0c;同時上面也有基礎環境的配置要…