用自己的数据集跑LINS

编程入门 行业动态 更新时间:2024-10-25 00:36:48

用<a href=https://www.elefans.com/category/jswz/34/1771270.html style=自己的数据集跑LINS"/>

用自己的数据集跑LINS

用自己的数据集跑LINS---LiDAR-inertial-SLAM

  • 前言
  • 一、下载运行代码
  • 二、运行自己的bag包
    • 1.话题
    • 2.--clock

用自己的数据集跑LINS—LiDAR-inertial-SLAM )


前言

一、下载运行代码

官方github:
—LiDAR-inertial-SLAM
网络不行的可以试试这个:
://github/ChaoqinRobotics/LINS—LiDAR-inertial-SLAM

  1. 创建工作空间、初始化、克隆代码:
mkdir -p catkin_LINS/src
cd catkin_LINS/src
catkin_init_workspace
git clone .git
cd ..
catkin_make -j1
  1. 运行
source devel/setup.bash
roslaunch lins run_port_exp.launch

成功运行,但是报错了:
错误主要是在opencv:

OpenCV Error: Assertion failed (tlsSlots.size() > slotIdx) in releaseSlot, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/core/src/system.cpp, line 1092
terminate called after throwing an instance of 'cv::Exception'what():  /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/core/src/system.cpp:1092: error: (-215) tlsSlots.size() > slotIdx in function releaseSlot

找到一个解决办法:
参考链接:Ubuntu18.04 ros-melodic opencv版本冲突问题解决
原因在于我安装的opencv是3.4.12,ros自带的版本是3.2.0,需要以下操作:
2.1 查看自己的opencv版本:

pkg-config opencv --modversion

2.2 改cv_bridgeConfig.cmake文档

cd /opt/ros/melodic/share/cv_bridge/cmake
sudo gedit cv_bridgeConfig.cmake
//输入密码

第94行:

//把if(NOT "include;/usr/include;/usr/include/opencv " STREQUAL " ")注释,改为:
if(NOT "include;/usr/local/include/opencv;/usr/local/include/opencv2 " STREQUAL " ")

第120行:

//把set(libraries "cv_bridge;/usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2.0;/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.3.2.0;/usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3.2.0")注释,改为(我的版本是3.4.12,需要按照自己的版本修改):
set(libraries "cv_bridge;/usr/local/lib/libopencv_core.so.3.4.12;/usr/local/lib/libopencv_imgproc.so.3.4.12;/usr/local/lib/libopencv_imgcodecs.so.3.4.12")

2.3 编译再运行launch文件

catkin_make
source devel/setup.bash
roslaunch lins run_port_exp.launch

不再报错:

二、运行自己的bag包

1.话题

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.–clock

播放官方的bag包:

rosbag play lidar_imu_dataset.bag --clock

一定要在末尾加上"–clock",不然TF会报错:

LINS的坐标系变换有点迷,没有弄清楚

(去年写的草稿,忘发了)

更多推荐

用自己的数据集跑LINS

本文发布于:2024-02-19 18:07:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764873.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自己的   数据   LINS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!