Livox-avia+FAST-LIO麻瓜使用教程

Livox-avia+FAST-LIO算法安装及使用流程

一、版本号

Ubuntu VersionUbuntu 20.04.6 LTS

PCL Version:1.10.0

Eigen Version:3.3.4

ROS:noetic

Fast-LIO & Livox-SDK:当前仓库中最新的即可

  • 安装流程
  1. 安装ROS

ROS (Robot Operating System)软件源添加到Ubuntu系统:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

设置ROS公钥:

sudo apt install curl # if you haven't already installed curl

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

更新索引:

sudo apt update

安装ROS完整版:

sudo apt install ros-noetic-desktop-full

环境变量配置:

source /opt/ros/noetic/setup.bash

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

安装rosdepc(由于rosdep国内安装需要翻墙,所以安装rosdepc):

wget http://fishros.com/install -O fishros && . fishros(选择安装rosdepc即可)

  1. PCL安装

sudo apt install libpcl-dev

  1. Eigen安装

git clone https://gitlab.com/libeigen/eigen.git

cd eigen

git checkout 3.3.4

mkdir build

cd build

cmake ..

sudo make install

sudo cp -r /usr/local/include/eigen3 /usr/include

  1. Livox_Ros_Driver 安装(在根目录下)

Livox-SDK安装:

git clone  Livox-SDK: nics-robot/Livox-SDK

cd Livox-SDK

cd build && cmake ..

make

Sudo make install

Livox-ros-driver安装(github有些时候会卡,可以使用gitee地址):

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

(Gitee地址:Livox-SDK: nics-robot/Livox-SDK)

cd ws_livox

catkin_make

source ./devel/setup.sh

  1. Fast-lio安装

cd ws_livox/src

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

cd FAST_LIO

git submodule update --init

cd ../..

catkin_make

(6)验证安装是否成功(能正常执行并打开即可):

roslaunch fast_lio mapping_avia.launch

roslaunch livox_ros_driver livox_lidar_msg.launch

  • 报错解决方法
  1. 出现include livox-xx.h的错误:livox-SDK安装或编译失败,重新再安装编译一次上面的Livox-SDK安装
  2. 使用我上述办法安装的是国内的rosdep 就是 rosdepc,所以如果有跟rosdep相关操作直接改成rosdepc就行。
  3. git submodule update --init 无法正常执行

若是git submodule update --init报错或者失败的话:修改Fast-lio文件中的.gitmodules文件中的地址,将里面的github地址改为码云地址https://gitee.com/joosoo/ikd-Tree.git就可以了

(4)报错显示缺少包如下图,大概率是ROS版本和Ubuntu版本没对上,再次确认Ubuntu和ROS是否分别为20.04.6和ROS-noetic。

  • 每次数据采集需要的操作及指令

以下每一步都需要打开新的终端执行:

(1)打开ROS核心:

roscore

(2)打开fastlio消息采集launch

cd ws_livox/src

source /opt/ros/noetic/setup.bash

roslaunch livox_ros_driver livox_lidar_msg.launch

(3)打卡fastlio制图launch

cd ws_livox/src

source /opt/ros/noetic/setup.bash

roslaunch fast_lio mapping_avia.launch

(4)打开ros记录topic数据

rosbag record -a

### Livox Avia 点云数据采集与处理 #### 硬件规格概述 Livox Avia 是一款高性能的激光雷达传感器,具有独特的非重复性扫描模式。这种特性使得其能够覆盖更广泛的区域,并且在相同的视场范围内捕获更多的细节信息[^2]。 #### 数据采集方式 对于点云数据的采集,可以通过 ROS (Robot Operating System) 中特定的话题来获取来自 Livox 雷达的数据流。例如,`rostopic info /livox/lidar` 命令可以用来查看 livox 设备发布的点云消息格式是否为 `customMsg` 类型[^1]。这表明该设备正在发送自定义的消息结构用于表示三维空间内的点集合。 #### 数据处理流程 为了有效地利用这些原始点云数据,通常需要经过一系列预处理步骤: - **去噪**:去除异常值或噪声点以提高后续算法性能。 - **滤波**:应用体素网格过滤器或其他类型的滤波技术减少冗余点的数量而不丢失重要特征。 - **配准/对齐**:当存在多台 LiDAR 或者移动平台时,需将不同视角下的点云统一到同一坐标系下。 - **分割**:识别并分离出感兴趣的物体部分,比如行人检测中的个体轮廓提取。 - **特征提取**:从点云中寻找几何形状、边缘等显著属性作为进一步分析的基础。 ```cpp // C++代码片段展示如何订阅LiDAR话题并简单打印接收到的信息 #include "ros/ros.h" #include "sensor_msgs/PointCloud2.h" void lidarCallback(const sensor_msgs::PointCloud2ConstPtr& msg){ // 处理接收到的点云数据... std::cout << "Received point cloud with width=" << msg->width << ", height=" << msg->height << std::endl; } int main(int argc, char **argv){ ros::init(argc, argv, "lidar_subscriber"); ros::NodeHandle nh; ros::Subscriber sub = nh.subscribe("/livox/lidar", 10, lidarCallback); ros::spin(); } ``` #### 应用场景实例 - **自动驾驶汽车感知系统**:通过安装于车辆上的 Livox Avia 获取周围环境精确模型,辅助实现障碍物避让等功能。 - **机器人导航定位服务**:结合 SLAM 技术构建未知环境地图的同时估计自身位姿变化情况。 - **工业自动化领域**:如仓储物流中心自动叉车路径规划以及货物盘点作业;建筑工地安全监控预警机制建设等方面均有广泛应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小周bb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值