国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ubuntu20.04下運行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM

這篇具有很好參考價值的文章主要介紹了Ubuntu20.04下運行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Ubuntu20.04下運行LOAM系列:A-LOAM、LeGO-LOAM、LIO-SAM 和 LVI-SAM

在我第一篇博文Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3運行環(huán)境+ROS實時運行ORB-SLAM2+Gazebo仿真運行ORB-SLAM2+各種相關庫的安裝的基礎環(huán)境下跑通LOAM系列

首先按照上一篇文章已經安裝好了ROS noetic、Eigen3.4.0、OpenCV4.2.0和PCL1.10等三方庫,它們的安裝不再贅述,另外文章中使用的數據已經在評論區(qū)分享

一、安裝A-LOAM

A-LOAM在Github的開源地址:https://github.com/HKUST-Aerial-Robotics/A-LOAM。接下來根據代碼要求,需要安裝Ceres,另外環(huán)境的變化導致源碼不能編譯通過,需要修改源碼

1.1 安裝Ceres

(1)下載源碼包
參考Github,點擊Follow Ceres Installation轉到安裝網站,點擊You can start with the latest stable release,直接把Ceres包給下載下來。
(2)安裝依賴

#CMake(已安裝)
sudo apt-get install cmake
#google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
#Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
#Eigen3(已安裝)
sudo apt-get install libeigen3-dev
#SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev

(3)編譯源碼并安裝
在安裝包目錄下:

tar zxf ceres-solver-2.1.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.1.0
make -j4
make test
#Optionally install Ceres, it can also be exported using CMake which
#allows Ceres to be used without requiring installation, see the documentation
#for the EXPORT_BUILD_DIR option for more information.
sudo make install

(4)測試
ceres-bin目錄下運行下面例子:

bin/simple_bundle_adjuster ../ceres-solver-2.1.0/data/problem-16-22106-pre.txt

運行結果:
aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

1.2 修改功能包

1.2.1 修改CMakeLists.txt

  • 由于PCL版本1.10,將C++標準改為14:
#set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "-std=c++14")
  • 找到OpenCV4.2.0包:
#find_package(OpenCV REQUIRED)
set(CMAKE_PREFIX_PATH "/usr/include/opencv4") 
find_package(OpenCV 4.0 QUIET)

1.2.2 修改源碼

  • 將四個.cpp文件中的/camera_init修改為camera_init,/camera改成camera,/map改成map
  • scanRegistration.cpp中的 #include <opencv/cv.h> 修改為#include <opencv2/imgproc.hpp>
  • 修改kittiHelper.cppCV_LOAD_IMAGE_GRAYSCALEcv::IMREAD_GRAYSCALE
  • 如果編譯遇到大量未找到Eigen相關錯誤,將四個.cpp文件中的#include <eigen3/Eigen/Dense>修改為#include <Eigen/Dense>

1.3 編譯A-LOAM

在原來的工作空間或新建工作空間下,將修改的源功能包移動到~/catkin_ws/src,編譯:

cd ~/catkin_ws/src
cd ../
catkin_make
#可添加到 ~/.bashrc 文件中:
source ~/catkin_ws/devel/setup.bash

1.4 運行A_LOAM示例并保存地圖

下載nsh_indooroutdoor.bag測試數據,打開終端輸入下面代碼開始運行:

roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

再打開一個終端記錄地圖

rosbag record -o bag_out /laser_cloud_map

nsh_indooroutdoor.bag所在文件夾下打開終端,開始播放數據集:

rosbag play nsh_indoor_outdoor.bag 

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

跑完之后ctrl+c關閉記錄地圖的終端會生成一個bag文件,將其轉化為pcd格式

rosrun pcl_ros bag_to_pcd bag_out_xxxx.bag /laser_cloud_map pcd

在生成的文件夾pcd目錄下,使用pcl_viewer工具打開點云,last.pcd為最后一個pcd文件名:

pcl_viewer last.pcd

1.5 運行KITTI數據集

A-LOAM運行KITTI數據集需要運行kittiHelper節(jié)點,首先要將KITTI數據轉換成ROS 的 Topic 或者 rosbag,讀取KITTI數據集的 圖像\雷達\時間戳 并發(fā)布topic和保存bag,跑之前修改launch文件:

<launch>
    <node name="kittiHelper" pkg="aloam_velodyne" type="kittiHelper" output="screen"> 
        <param name="dataset_folder" type="string" value="/data/KITTI/odometry/" />
        <param name="sequence_number" type="string" value="00" />
        <param name="to_bag" type="bool" value="false" />
        <param name="output_bag_file" type="string" value="/tmp/kitti.bag" /> <!-- replace with your output folder -->
        <param name="publish_delay" type="int" value="1" />
    </node>
</launch>

其中/data/KITTI/odometry/修改為kitti數據集的路徑,to_bag的值可以為false或者true,選擇是否將kitti數據集計算軌跡的同時打包成bag輸出,輸出路徑為out_bag_file的值。以上文件夾路徑部分需要根據自己的電腦路徑進行修改,均使用絕對路徑。publish_delay為發(fā)布延時。kitti 數據集的文件結構,注意這個和程序里面的路徑設置有關,不一致則讀不到數據(可修改源碼讀自己安排的路徑):

—kitti_data
------poses
---------00.txt
------sequence
---------00
------------image_0
------------------000000.png
------------image_1
------------------000000.png
------------calib.txt
------------times.txt
------velodye
---------sequence
------------00
---------------velodye
------------------000000.bin

上述文件目錄中,poses文件夾下存放的是路徑真值,sequences文件夾下是00文件夾,00文件夾下是圖片image_0、image_1和時間戳time.txt,veledyne存放的是64線激光雷達數據,為bin文件,在后面的計算中,只使用的velodyne的數據,其它的數據在rviz中用作顯示。
修改好之后,運行l(wèi)aunch文件,打開rviz逐幀顯示KITTI數據集:

roslaunch aloam_velodyne kitti_helper.launch

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛
接下來運行SLAM:

roslaunch aloam_velodyne kitti_helper.launch
roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

二、安裝LeGO-LOAM

將下載好的LeGO-LOAM源碼放入建立好的ros工作空間下,接下來需要安裝gtsam以及修改源碼,使其能夠在上述環(huán)境下運行(參考文章)

2.1 安裝gtsam

wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd gtsam-4.0.0-alpha2
mkdir build && cd build
cmake ..
make
sudo make install

2.2 修改CMakeLists.txt

與A-LOAM一樣:

  • 由于PCL版本1.10,將C++標準改為14:
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3")
set(CMAKE_CXX_FLAGS "-std=c++14")
  • 找到OpenCV4.2.0包:
#find_package(OpenCV REQUIRED QUIET)
set(CMAKE_PREFIX_PATH "/usr/include/opencv4") 
find_package(OpenCV 4.0 QUIET)

-如果出現(xiàn)錯誤

 /usr/bin/ld: cannot find -lBoost::serialization
/usr/bin/ld: cannot find -lBoost::thread

加入:

find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)

2.3 修改源碼

(1)找到utility.h中的:#include<opencv/cv.h>,修改為

#include <opencv2/imgproc.hpp>

(2)將四個.cpp文件中的/camera_init修改為camera_init

2.4 編譯LeGO-LOAM

cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1  

第一次編譯代碼時,需要在“catkin_make”后面加上“-j1”來生成一些消息類型。以后的編譯不需要“-j1”

  • 如果報錯
/usr/include/pcl-1.10/pcl/filters/voxel_grid.h:340:21: error: ‘Index’ is not a member of ‘Eigen’ 340 | for (Eigen::Index ni = 0; ni < relative_coordinates.cols (); ni++)

voxel_grid.h中(340/669行)報錯的 Eigen::Index 修改成int

sudo gedit /usr/include/pcl-1.10/pcl/filters/voxel_grid.h

for (Eigen::Index ni = 0; ni < relative_coordinates.cols (); ni++)
-> for (int ni = 0; ni < relative_coordinates.cols (); ni++)

2.5 運行LeGO-LOAM

運行:

roslaunch lego_loam run.launch

播放數據集,雖然/imu/data 是可選的,但如果提供它可以大大提高估計精度:

rosbag play *.bag --clock --topic /velodyne_points /imu/data
  • 如果報錯mapOptmization be killed
[mapOptmization-7] process has died [pid 14493, exit code 127, cmd 
/home/zard/catkin_ws/devel/lib/lego_loam/mapOptmization __name:=mapOptmization __log:
=/home/zard/.ros/log/922c7a94-0354-11ed-951b-8d0be314719f/mapOptmization-7.log].

原因是未安裝 libmetis 庫。通過安裝libparmetis-dev修復它重新運行即可:

sudo apt-get install libparmetis-dev

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

  • nsh_indoor_outdoor.bag數據集
roslaunch lego_loam run.launch
rosbag play nsh_indoor_outdoor.bag --clock --topic /velodyne_points

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛最后生成的點云及軌跡結果會默認保存到/tmp/文件夾下,如果需要更改保存位置,就修改頭文件utility.h

extern const string fileDirectory = "/tmp/";

三、安裝SC-LeGO-LOAM

韓國KAIST在github開源的代碼,其實質上是融合了ScanContext和Lego LOAM,SC-LeGO-LOAM(地址)與LeGO-LOAM的安裝基本一樣,需要注意的是原作者使用的是Ouster OS-64雷達,需要更改utility.h文件中適配自己的雷達類型

3.1 雷達參數修改

(1)首先修改pointCloudTopic:

//extern const string pointCloudTopic = “/os1_points”;
extern const string pointCloudTopic =/velodyne_points”;

(2)修改激光雷達部分參數(KITTI為例):

// Ouster OS1-64
//extern const int N_SCAN = 64;
//extern const int Horizon_SCAN = 1024;
//extern const float ang_res_x = 360.0/float(Horizon_SCAN);
//extern const float ang_res_y = 33.2/float(N_SCAN-1);
//extern const float ang_bottom = 16.6+0.1;
//extern const int groundScanInd = 15;

// // HDL-64E
extern const int N_SCAN = 64;
extern const int Horizon_SCAN = 1800;
extern const float ang_res_x = 360.0/float(Horizon_SCAN);
extern const float ang_res_y = 41.33/float(N_SCAN-1);
extern const float ang_bottom = 30.67;
extern const int groundScanInd = 20;

3.2 編譯運行

(1)編譯
CMakelists、源碼修改以及報錯與LeGO-LOAM一樣的處理

mkdir -p sc_lego_loam/src
cd sc_lego_loam/src
git clone https://github.com/AbangLZU/SC-LeGO-LOAM.git
cd …
catkin_make

(2)運行

source devel/setup.bash
roslaunch lego-loam run.launch
rosbag play --clock ***.bag

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

sc_lego_loam算法已經添加了自動保存地圖的功能,bag包播放結束后,使用ctrl+c即可結束,地圖保存在map文件夾下。

四、安裝LIO-SAM

將下載好的LIO-SAM源碼放入建立好的ros工作空間下,需要的依賴上面都安裝過了,接下來需要修改源碼,使其能夠在上述環(huán)境下運行

4.1 修改CMakeLists.txt和源碼

與上面一樣,修改一下幾項:

  • 由于PCL版本1.10,將C++標準改為14:
#set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "-std=c++14")
  • 找到OpenCV4.2.0包:
#find_package(OpenCV REQUIRED QUIET)
set(CMAKE_PREFIX_PATH "/usr/include/opencv4") 
find_package(OpenCV 4.0 QUIET)
  • /usr/bin/ld問題,修改:
# find_package(Boost REQUIRED COMPONENTS timer)
find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)
  • 找到utility.h中的:#include<opencv/cv.h>,修改為
// #include<opencv/cv.h>
#include <opencv2/imgproc.hpp>

4.2 LIO-SAM的編譯

cd ~/catkin_ws
catkin_make -j1  

4.3 運行示例數據集

運行l(wèi)aunch文件:

roslaunch lio_sam run.launch

播放數據包(根據電腦性能自行選擇頻率):

rosbag play park_dataset.bag -r 3
  • 若報錯:ERROR: cannot launch node of type [robot_localization/ekf_localization_node]: robot_localization,安裝功能包:
sudo apt-get install ros-noetic-fake-localization
sudo apt-get install ros-noetic-robot-localization
  • 若報錯:[lio_sam_imuPreintegration-2][lio_sam_mapOptmization-5],是GTSAM的問題,缺少一些庫。它們已安裝但不可用,因為不在 LD_LIBRARY_PATH 環(huán)境變量中。所以將 /usr/local/lib 目錄添加到變量中:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛
如果要保存點云及軌跡等結果,在參數文件params.yaml中打開并修改保存路徑:

savePCD: true
savePCDDirectory: "/Downloads/LIOSAM/"

park數據集可驗證GPS松組合效果,如果要使用GPS數據,則需要進行如下修改:

gpsTopic: "odometry/gpsz"  改為 gpsTopic: "odometry/gps"  
useImuHeadingInitialization: false 改為 useImuHeadingInitialization: true

4.4 運行KITTI數據集

kitti2bag工具輸出的bag文件LIO-SAM是不能跑的,IMU頻率跟雷達一樣很低頻,無法滿足代碼需求,而且沒有ring和time標簽。LIO-SAM作者自己改了kitti2bag就在源碼的文件夾LIO-SAM/config/doc/kitti2bag下,你需要準備如下文件(文件位置需對應):

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

然后,在2011_09_30文件夾的上一級目錄,即kitti2bag.py文件下打開終端,輸入:

python3 kitti2bag.py -t 2011_09_30 -r 0033 raw_synced

運行結果(注意文件目錄結構一定按照上面的要求來,否則無法運行):

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

參數文件配置,主要修改以下兩個文件的內容:

# params_kitti.yaml

# Topics
pointCloudTopic: "/points_raw"               # Point cloud data
imuTopic: "/imu_raw"                         # IMU data

# KITTI
sensor: velodyne                            # lidar sensor type, either 'velodyne' or 'ouster'
N_SCAN: 64                                  # number of lidar channel (i.e., 16, 32, 64, 128)
Horizon_SCAN: 2083                          # lidar horizontal resolution (Velodyne:1800, Ouster:512,1024,2048)
downsampleRate: 1                           # default: 1. Downsample your data if too many points. i.e., 16 = 64 / 4, 16 = 16 / 1
lidarMinRange: 1.0                          # default: 1.0, minimum lidar range to be used
lidarMaxRange: 1000.0                       # default: 1000.0, maximum lidar range to be used

# IMU內參影響不大,這里也沒改

# kitti外參
# extrinsicTrans、extrinsicRot表示imu -> lidar的坐標變換
extrinsicTrans: [-8.086759e-01, 3.195559e-01, -7.997231e-01]
extrinsicRot: [9.999976e-01, 7.553071e-04, -2.035826e-03,
               -7.854027e-04, 9.998898e-01, -1.482298e-02,
               2.024406e-03, 1.482454e-02, 9.998881e-01]
# extrinsicRPY用于旋轉imu坐標系下的歐拉角(姿態(tài)信息)到lidar坐標下,由于lio-sam作者使用的imu的歐拉角旋轉指向與lidar坐標系不一致(左手系),因此使用了兩個不同的旋轉矩陣,但是大部分的設備兩個旋轉應該是設置為相同的
extrinsicRPY: [9.999976e-01,  7.553071e-04, -2.035826e-03,
               -7.854027e-04, 9.998898e-01, -1.482298e-02,
               2.024406e-03, 1.482454e-02, 9.998881e-01]
	<!-- run_kitti.launch -->
	<!-- Parameters -->
    <rosparam file="$(find lio_sam)/config/params_kitti.yaml" command="load" />

運行:

roslaunch lio_sam run.launch
rosbag play kitti_2011_09_30_drive_0033_synced.bag

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

五、安裝LVI-SAM

將下載好的LVI-SAM源碼放入建立好的ros工作空間下,同樣的,LVI-SAM依賴的gtsam和ceres上面都安裝過了,接下來需要修改源碼,使其能夠在上述環(huán)境下運行

5.1 修改CMakeLists.txt和源碼

  • C++標準改為14:
#set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "-std=c++14")
  • 找到OpenCV4.2.0包:
#find_package(OpenCV REQUIRED QUIET)
set(CMAKE_PREFIX_PATH "/usr/include/opencv4") 
find_package(OpenCV 4.0 QUIET)
  • 修改
# find_package(Boost REQUIRED COMPONENTS filesystem program_options system timer)
find_package(Boost REQUIRED COMPONENTS filesystem program_options system timer thread serialization chrono)

5.2 編譯

cd ~/catkin_ws
catkin_make -j1  
  • 出現(xiàn)錯誤:
error: ‘ScalarBinaryOpTraits’ is not a class template

出現(xiàn)這個問題的原因是當前版本ceres需要eigen版本>=3.3,但是我們安裝的eigen明明是3.4.0?。。??這里沒有查到解決辦法。我參考其他版本的ceres的jet.h文件,在其相應代碼區(qū)域添加 #if--#endif 約束,不知道這樣會不會對其他代碼有影響,但總算是編譯通過了

// file:/usr/local/include/ceres/jet.h
#if EIGEN_VERSION_AT_LEAST(3, 3, 0)
// Specifying the return type of binary operations between Jets and scalar types
// allows you to perform matrix/array operations with Eigen matrices and arrays
// such as addition, subtraction, multiplication, and division where one Eigen
// matrix/array is of type Jet and the other is a scalar type. This improves
// performance by using the optimized scalar-to-Jet binary operations but
// is only available on Eigen versions >= 3.3
template <typename BinaryOp, typename T, int N>
struct ScalarBinaryOpTraits<ceres::Jet<T, N>, T, BinaryOp> {
  using ReturnType = ceres::Jet<T, N>;
};
template <typename BinaryOp, typename T, int N>
struct ScalarBinaryOpTraits<T, ceres::Jet<T, N>, BinaryOp> {
  using ReturnType = ceres::Jet<T, N>;
};
#endif  // EIGEN_VERSION_AT_LEAST(3, 3, 0)
  • 出現(xiàn)錯誤:
error: ‘CV_RGB2GRAY’ was not declared in this scope

這是opencv2的用法,現(xiàn)在opencv3和4是COLOR_GARY2BGR,因此將代碼中的CV_GRAY2BGR改成COLOR_GRAY2BGR:

  // cv::cvtColor(image, aux, CV_RGB2GRAY);
  cv::cvtColor(image, aux, cv::COLOR_GRAY2BGR);

5.3 運行

運行l(wèi)aunch文件:

roslaunch lvi_sam run.launch
  • 若報錯:[lvi_sam_imuPreintegration-5][lvi_sam_mapOptmization-8],與LIO-SAM解決辦法一樣

播放數據包:

rosbag play handheld.bag

注意:所提供的示例bag文件中的圖像均為壓縮格式。因此,launch/include/module_sam.launch的最后一行有解壓縮命令:

<!-- Image conversion -->
<node pkg="image_transport" type="republish" name="$(arg project)_republish" args="compressed in:=/camera/image_raw raw out:=/camera/image_raw" output="screen" respawn="true"/>

如果你自己的bag文件記錄了原始圖像數據,請注釋此解壓縮命令。示例數據的傳感器套件包括:
LiDAR: Velodyne VLP-16
Camera: FLIR BFS-U3-04S2M-CS
IMU: MicroStrain 3DM-GX5-25
GPS: Reach RS+
aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛

aloam,lio-sam,lvi-sam,SLAM主流開源框架部署,ubuntu,自動駕駛
保存結果的方式與LIO-SAM一樣,修改參數配置文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-735505.html

到了這里,關于Ubuntu20.04下運行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • LeGo-LOAM 源碼解析

    LeGo-LOAM 源碼解析

    A lightweight and ground optimized lidar odometry and mapping (LeGO-LOAM) system for ROS compatible UGVs. The system takes in point cloud from a Velodyne VLP-16 Lidar (placed horizontal) and optional IMU data as inputs. It outputs 6D pose estimation in real-time. LeGO-LOAM(激光SLAM,IMU+LiDAR),以LOAM為基礎,實現(xiàn)與其同等的精度同時大大

    2024年02月09日
    瀏覽(22)
  • LeGO-Loam代碼解析(一) 項目介紹、論文解讀、配置安裝

    LeGO-Loam代碼解析(一) 項目介紹、論文解讀、配置安裝

    目錄 1.項目介紹 2. 論文解讀? LeGO-LOAM:輕量級且地面優(yōu)化的可變地形激光里程計與建圖 2.1 摘要 2.2 介紹 2.3 正文部分1 --- System Review 2.4 正文部分2 --- Segmatation(地面點角面點分離) 2.5? Feature Extraction 正文部分3 --- 特征提取 2.6 Lidar Odom 正文部分4 --- 前端里程計 2.7 Liadr Mapping?

    2024年02月12日
    瀏覽(31)
  • 激光slam:LeGO-LOAM---代碼編譯安裝與gazebo測試

    激光slam:LeGO-LOAM---代碼編譯安裝與gazebo測試

    LeGO-LOAM 的英文全稱是 lightweight and ground optimized lidar odometry and mapping 。輕量化具有地面優(yōu)化的激光雷達里程計和建圖 其框架如下,大體和LOAM是一致的 LeGO-LOAM是基于LOAM的改進版本,其主要目的是為了實現(xiàn)小車在多變地形下的定位和建圖,針對前端和后端都做了一系列的改進。

    2024年02月15日
    瀏覽(51)
  • 3D激光slam:LeGO-LOAM---地面點提取方法及代碼分析

    3D激光slam:LeGO-LOAM---地面點提取方法及代碼分析

    地面點提取方法 LeGO-LOAM中前端改進中很重要的一點就是充分利用地面點,本片博客主要講解 如何進行地面點提取 如下圖所示,相鄰的兩個scan的同一列,打在地面上,形成兩個點A和B。 它們的垂直高度差為h,這個值在理想情況(雷達水平安裝,地面是水平的)接近于0 水平距

    2023年04月09日
    瀏覽(45)
  • 編譯LeGo-LOAM,并且采用速騰聚創(chuàng)激光雷達與之相連

    編譯LeGo-LOAM,并且采用速騰聚創(chuàng)激光雷達與之相連

    參考鏈接:實車部署采用速騰聚創(chuàng)RS16激光雷達的LeGo-LOAM LeGO-LOAM初探:原理,安裝和測試 1.gtsam安裝(install的過程比較慢,需要耐心等待) 2.下載并編譯LeGO-LOAM 3.數據集試運行 數據集的百度云地址:https://pan.baidu.com/s/1SkrqfN82il1m6jhkLZT-WA 密碼: oqo8 打開 LeGO-LOAM/LeGO-LOAM/launch/run.

    2024年02月08日
    瀏覽(23)
  • 3D激光SLAM:LeGO-LOAM論文解讀---激光雷達里程計與建圖

    3D激光SLAM:LeGO-LOAM論文解讀---激光雷達里程計與建圖

    激光雷達里程計模塊的功能就是 :估計相鄰幀之間的位姿變換。 估計的方式 :在相鄰幀之間做點到線的約束和點到面的約束 具體的方式和LOAM一樣 針對LOAM的改進 1 基于標簽的匹配 在特征提取部分提取的特征點都會有個標簽(在點云分割時分配的) 因此在找對應點時,標簽

    2023年04月09日
    瀏覽(28)
  • ubuntu20.04 編譯安裝運行emqx

    ubuntu20.04 編譯安裝運行emqx

    Erlang/OTP OTP 24 或 25 版本 GCC 4.8 或更高版本 Git make openssl-devel libcurl-devel

    2024年02月11日
    瀏覽(31)
  • Ubuntu20.04--開機自動運行腳本(命令)--方法/實例

    原文網址:Ubuntu20.04--開機自動運行腳本(命令)--方法/實例_IT利刃出鞘的博客-CSDN博客 本文介紹Ubuntu20.04如何開機自動運行命令。(也適用于Ubuntu22.04版本) 然后修改/etc/systemd/system/rc-local.service,在文件最下方添加如下兩行: 創(chuàng)建 /etc/rc.local ,里邊寫自己想要運行的命令。例:

    2024年02月09日
    瀏覽(28)
  • ubuntu20.04環(huán)境下安裝運行Colmap+OpenMVS

    ubuntu20.04環(huán)境下安裝運行Colmap+OpenMVS

    ? 我創(chuàng)作這篇博客的初衷是因為我在ubuntu20.04環(huán)境下跑Colmap+OpenMVS這個算法框架的時候踩了很多坑,一方面是網上現(xiàn)在很多教程都是基于Windows環(huán)境下的,而Windows環(huán)境和Linux環(huán)境相比還是有很大的差異的;二是現(xiàn)在網上的很多教程基本很多步驟一帶而過了,而往往這些一帶而過

    2024年03月09日
    瀏覽(42)
  • Linux系列---【Ubuntu 20.04安裝KVM】

    Linux系列---【Ubuntu 20.04安裝KVM】

    1.安裝kvm 2. 將當前用戶添加至libvirt 、 kvm組 3.驗證安裝 4.啟動libvert 至此,kvm安裝完畢! 1.安裝xrdp 2.查看ubuntu的ip 3.打開windows遠程連接工具 登錄成功后,記得修改登錄密碼。不然,系統(tǒng)一鎖屏,就打不開了。通過這里輸入原來ubuntu的root密碼,解不了休眠鎖。 1.安裝virt-manager

    2024年02月16日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包