ubuntu18.04 配置 mid360并测试fast_lio

2024-06-12 11:04

本文主要是介绍ubuntu18.04 配置 mid360并测试fast_lio,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.在买到Mid360之后,我们可以看到mid360延伸出来了三组线。

     第一组线是电源线,包含了红色线正极,和黑色线负极。一般可以用来接9-27v的电源,推荐接12v的电源转换器,或者接14.4v的电源转换器。

     第二组线是信号线,共5根线,包含了2根pps线,秒脉冲;包含了2根GPS信号输入和GPS信号输出线,和一根地线。

    第三组线是数据线,是一个网线,直接连接笔记本就可以了

2.IP配置

2.1 先把mid360的电源线接上,通上电;把数据线也就是网线插入到笔记本的网口上。

首先点屏幕右上角的向下箭头,找到【以太网连接】,点开后找到【有线设置】,在PCI以太网选项中,点击【齿轮】按钮,点ipv4,地址:192.168.1.50   子网掩码 255.255.255.0  网管 192.168.1.254

然后就可以用  Livox VIewer2 来显示了。

3. livox mid360配置指南

cd ~
# Download Livox Viewer 2
wget https://terra-1-g.djicdn.com/65c028cd298f4669a7f0e40e50ba1131/Mid360/LivoxViewer2%20for%20Ubuntu%20v2.3.0.zip
# Unzip
unzip "LivoxViewer2 for Ubuntu v2.3.0.zip"
# Go to Livox
cd "LivoxViewer2 for Ubuntu v2.3.0"
# Grant permission
chmod +x LivoxViewer2.sh
# Run Livox Viewer 2
./LivoxViewer2.sh

这时候,就直接可以看到mid360所采集的点云了。

4. livox sdk2 的配置

    (1) 修改mid360_config.json中的IP地址

   首先进入到livox_sdk2/Samples/Livox_lidar_quick_start文件夹中,打开mid360_config.json,把host_ip设置为:192.168.1.50   和之前设置在IPV4中的网址是一样的。

(2)配置livox_sdk2

# Install cmake
sudo apt install cmake -y
# Go to Home
cd ~
# Download Livox SDK2
git clone https://github.com/Livox-SDK/Livox-SDK2.git
# Go to the SDK2 package
cd Livox-SDK2
# Create build folder
mkdir build
cd build
# Compile
cmake .. && make -j
# Install SDK2 in system
sudo make install
# Go to demo1
cd samples/livox_lidar_quick_start
# WARNING: 
# Remember to modify the mid360_config.json with your PC IP 192.168.1.50

(3)运行demo

# Run demo
./livox_lidar_quick_start ../../../samples/livox_lidar_quick_start/mid360_config.json

就可以看到mid360所发出的消息。

5. Livox Ros配置

(1)配置livox ros

# Download the Livox ROS Driver 2 Package to ws_livox_src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
# Update ros dependencies
rosdep install --from-paths src --ignore-src -r -y
# Build the package
source /opt/ros/noetic/setup.sh
# Go to livox
cd livox_ros_driver2/
./build.sh ROS1
# Source workspace
echo "source ws_livox/devel/setup.sh" >> ~/.bashrc
source ~/.bashrc
# Warning:
# Remember to modify the mid360_config.json with your PC IP 192.168.1.50
# and your lidar IP 192.168.1.1XX (xx is the last two digits of the SN code)

(2).修改IP地址

1)首先找到mid360_config.json,在src/Livox_ros_driver2/config文件夹中,host_net_info的子项cmd_data_ip, push_msg_ip, point_data_ip,imu_data_ip这四个都改成192.168.1.50

 2)然后把lidar_configs子项 ip 改为192.168.1.1xx,其中xx为 mid360上的SN码后两位。

(3).运行

roslaunch livox_ros_driver2 rviz_MID360.launch

6. fast-lio安装指南

(1) 安装eigen3

#安装eigen3
sudo apt install libeigen3-dev
#查看版本
$ pkg-config --modversion eigen3

(2)安装pcl

#安装PCL
sudo apt install libpcl-dev
#查看版本
apt-cache show libpcl-dev
#对照如下
#Ubuntu20.04   ——>   1.10.0
#Ubuntu18.04   ——>   1.8.1
#Ubuntu16.04   ——>   1.7.2

(3)安装sophus

# 安装非模版类Sophus
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff  #版本回溯
mkdir build && cd build && cmake .. && sudo make install

报错:

***/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignmentunit_complex_.real() = 1.;^~
***/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignmentunit_complex_.imag() = 0.;

解决:打开so2.cpp修改构造函数:

//unit_complex_.real() = 1.;
//unit_complex_.imag() = 0.;
unit_complex_.real(1.); 
unit_complex_.imag(0.);

安装结果如下:

-- Install configuration: "Release"
-- Up-to-date: /usr/local/include/sophus
-- Installing: /usr/local/include/sophus/se3.h
-- Installing: /usr/local/include/sophus/scso3.h
-- Installing: /usr/local/include/sophus/se2.h
-- Installing: /usr/local/include/sophus/so2.h
-- Installing: /usr/local/include/sophus/sim3.h
-- Installing: /usr/local/include/sophus/so3.h
-- Installing: /usr/local/lib/libSophus.so

(4)FAST_LIO编译

#首先创建一个ROS1的工作空间,在工作空间下的src中运行cd srcgit clone https://github.com/zlwang7/S-FAST_LIO.git --recursive

(5)修改FAST_LIO代码

原因:FAST_LIO默认支持livox_ros_driver但是我们用的是livox_ros_driver2

     1)修改FAST_LIO的CMakelists.txt

添加:

set(Sophus_LIBRARIES "/usr/local/lib/libSophus.so")

修改:

find_package(catkin REQUIRED COMPONENTSgeometry_msgsnav_msgssensor_msgsroscpprospystd_msgspcl_rostflivox_ros_driver                # <-修改这里message_generationeigen_conversions
)

修改后:

find_package(catkin REQUIRED COMPONENTSgeometry_msgsnav_msgssensor_msgsroscpprospystd_msgspcl_rostflivox_ros_driver2                # <-修改这里message_generationeigen_conversions
)

  2)修改FAST_LIO的package.xml

修改前:

<build_depend>livox_ros_driver</build_depend><run_depend>livox_ros_driver</run_depend>

修改后:

<build_depend>livox_ros_driver2</build_depend><run_depend>livox_ros_driver2</run_depend>

3)修改FAST_LIO的头文件引用

分别打开FAST_LIO/src/preprocess.h 、FAST_LIO/src/laserMapping.cpp

修改前:

#include <livox_ros_driver/CustomMsg.h>

修改后:

#include <livox_ros_driver2/CustomMsg.h>

4)修改FAST_LIO的命名空间

分别打开FAST_LIO/src/preprocess.hFAST_LIO/src/preprocess.cppFAST_LIO/src/laserMapping.cpp、FAST_LIO/src/laserMapping_re.cpp 中的命名空间,有多处需要修改

修改前:

livox_ros_driver::

修改后:

livox_ros_driver2::

(6)编译

catkin_make

成功后:

如果还有编译错误提示,那就说明livox_ros_driver::没有全部改成livox_ros_driver2:: ,如下图:

(7)运行demo

source devel/setup.bash
roslaunch livox_ros_driver2 msg_MID360.launch
#再开一个终端
source devel/setup.bash
roslaunch fast_lio mapping_mid360.launch

参考文献:

https://zhuanlan.zhihu.com/p/668966629

这篇关于ubuntu18.04 配置 mid360并测试fast_lio的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054038

相关文章

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则