目錄
定位方案
編譯tbb
ros2humble安裝
命令 colcon commond not found
柵格地圖生成:
evo畫軌跡曲線
安裝gtsam4.0.2
安裝ceres-solver1.14.0
定位方案
1 方案一:改動最多
fasterlio 建圖,加閉環優化,參考fast-lio增加關鍵幀
定位: 用讀入pcd點云,創建體素ivox結構地圖,用ieskf ikfom ivox結構緊耦合匹配輸出位姿
重定位:用讀入pcd點云,創建體素ivox結構,給定初始位姿用ieskf定位
柵格地圖生成:用octomap mapserver生成,離線。或改為在線生成。
2 方案二:直接測試
建圖:fastlio 建圖,fast-lio-slam 包含閉環和優化
定位/重定位:用fast-lio-localization包含定位功能,配合open3d
柵格地圖生成:用octomap mapserver生成,離線。或改為在線生成。
3 方案三:改動多
建圖:fasterlio,加閉環優化,參考fast-lio增加關鍵幀
定位重定位:參考《自動駕駛與機器人中的slam技術》十講,進行前端融合。
柵格地圖生成:用octomap mapserver生成,離線。或改為在線生成。
4 方案四:入門級別
建圖、定位、重定位:參考《自動駕駛與機器人中的slam技術》九講十講
柵格地圖生成:用octomap mapserver生成,離線。或改為在線生成。
編譯tbb
make compiler=gcc-9 stdver=c++17 tbb_build_prefix=my_tbb_build
sudo mkdir /usr/local/oneTBB-2019_U8
sudo cp -r include /usr/local/oneTBB-2019_U8/include
sudo ln -s /usr/local/oneTBB-2019_U8/include/tbb /usr/local/include/tbb
sudo cp -r build/my_tbb_build_release /usr/local/oneTBB-2019_U8/lib
sudo ln -s /usr/local/oneTBB-2019_U8/lib/libtbb.so.2 /usr/local/lib/libtbb.so
sudo ln -s /usr/local/oneTBB-2019_U8/lib/libtbbmalloc.so.2 /usr/local/lib/libtbbmalloc.so
sudo ln -s /usr/local/oneTBB-2019_U8/lib/libtbbmalloc_proxy.so.2 ? ? ?/usr/local/lib/libtbbmalloc_proxy.so
echo 'export LD_LIBRARY_PATH=/usr/local/oneTBB-2019_U8/lib:$LD_LIBRARY_PATH' ?>> ? ? ?~/.bashrc
source ~/.bashrc
/usr/local/lib/libtbb.so
/usr/local/lib/libtbbmalloc.so
/usr/local/lib/libtbbmalloc_proxy.so
ros2humble安裝
1.首先將本地的編碼格式修改為utf-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
2.添加ROS2 GPG key
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
3.安裝ROS2
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc?
source ~/.bashrc ?#使環境生效
wget http://fishros.com/install -O fishros && . fishros
?rosdepc update
命令 colcon commond not found
?pip3 install -U colcon-common-extensions
?sudo apt update && sudo apt install -y \
? build-essential \
? cmake \
? git \
? python3-colcon-common-extensions \
? python3-pip \
? python-rosdep \
? python3-vcstool
柵格地圖生成:
octomap 安裝
sudo apt-get install ros-melodic-octomap-ros
sudo apt-get install ros-melodic-octomap-msgs
sudo apt-get install ros-melodic-octomap-server
sudo apt-get install ros-melodic-octomap-rviz-plugins
map_server 安裝
sudo apt-get install ros-melodic-map-server
?
evo畫軌跡曲線
?tum格式是 time x y z qx qy qz qw ? KITTI格式的數據通常是一個4x4的變換矩陣 ? ? 不包含時間戳
pip install evo --upgrade --no-binary evo
evo_traj tum --ref=gt.txt 1.txt 2.txt 3.txt ?-a ?-p ?--save_plot ?./output.pdf
evo_traj tum --ref=traj.txt optimized_poses.txt ?-a ?-p ?--save_plot ?./output.pdf
evo_traj tum traj.txt ?-a ?-p ?--save_plot ?./output.pdf
軌跡對比
evo_traj tum --ref=bef.txt aft.txt ?-a ?-p ?--save_plot ?./output.pdf
絕對差
evo_ape tum bef.txt aft.txt ? -va -p?
安裝gtsam4.0.2
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.2/
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j4
安裝ceres-solver1.14.0
sudo apt-get install -y libgoogle-glog-dev
sudo apt-get install -y libatlas-base-dev
wget -O ~/Downloads/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
cd ~/Downloads/ && unzip ceres.zip -d ~/Downloads/
cd ~/Downloads/ceres-solver-1.14.0
mkdir ceres-bin && cd ceres-bin
cmake ..
sudo make install -j4