当前位置:   article > 正文

ubuntu18.04 配置 mid360并测试fast_lio_18.04配置mid360

18.04配置mid360

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配置指南

  1. cd ~
  2. # Download Livox Viewer 2
  3. wget https://terra-1-g.djicdn.com/65c028cd298f4669a7f0e40e50ba1131/Mid360/LivoxViewer2%20for%20Ubuntu%20v2.3.0.zip
  4. # Unzip
  5. unzip "LivoxViewer2 for Ubuntu v2.3.0.zip"
  6. # Go to Livox
  7. cd "LivoxViewer2 for Ubuntu v2.3.0"
  8. # Grant permission
  9. chmod +x LivoxViewer2.sh
  10. # Run Livox Viewer 2
  11. ./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

  1. # Install cmake
  2. sudo apt install cmake -y
  3. # Go to Home
  4. cd ~
  5. # Download Livox SDK2
  6. git clone https://github.com/Livox-SDK/Livox-SDK2.git
  7. # Go to the SDK2 package
  8. cd Livox-SDK2
  9. # Create build folder
  10. mkdir build
  11. cd build
  12. # Compile
  13. cmake .. && make -j
  14. # Install SDK2 in system
  15. sudo make install
  16. # Go to demo1
  17. cd samples/livox_lidar_quick_start
  18. # WARNING:
  19. # Remember to modify the mid360_config.json with your PC IP 192.168.1.50

(3)运行demo

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

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

5. Livox Ros配置

(1)配置livox ros

  1. # Download the Livox ROS Driver 2 Package to ws_livox_src
  2. git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
  3. # Update ros dependencies
  4. rosdep install --from-paths src --ignore-src -r -y
  5. # Build the package
  6. source /opt/ros/noetic/setup.sh
  7. # Go to livox
  8. cd livox_ros_driver2/
  9. ./build.sh ROS1
  10. # Source workspace
  11. echo "source ws_livox/devel/setup.sh" >> ~/.bashrc
  12. source ~/.bashrc
  13. # Warning:
  14. # Remember to modify the mid360_config.json with your PC IP 192.168.1.50
  15. # 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

  1. #安装eigen3
  2. sudo apt install libeigen3-dev
  3. #查看版本
  4. $ pkg-config --modversion eigen3

(2)安装pcl

  1. #安装PCL
  2. sudo apt install libpcl-dev
  3. #查看版本
  4. apt-cache show libpcl-dev
  5. #对照如下
  6. #Ubuntu20.04 ——> 1.10.0
  7. #Ubuntu18.04 ——> 1.8.1
  8. #Ubuntu16.04 ——> 1.7.2

(3)安装sophus

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

报错:

  1. ***/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignment
  2. unit_complex_.real() = 1.;
  3. ^~
  4. ***/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignment
  5. unit_complex_.imag() = 0.;

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

  1. //unit_complex_.real() = 1.;
  2. //unit_complex_.imag() = 0.;
  3. unit_complex_.real(1.);
  4. unit_complex_.imag(0.);

安装结果如下:

  1. -- Install configuration: "Release"
  2. -- Up-to-date: /usr/local/include/sophus
  3. -- Installing: /usr/local/include/sophus/se3.h
  4. -- Installing: /usr/local/include/sophus/scso3.h
  5. -- Installing: /usr/local/include/sophus/se2.h
  6. -- Installing: /usr/local/include/sophus/so2.h
  7. -- Installing: /usr/local/include/sophus/sim3.h
  8. -- Installing: /usr/local/include/sophus/so3.h
  9. -- Installing: /usr/local/lib/libSophus.so

(4)FAST_LIO编译

  1. #首先创建一个ROS1的工作空间,在工作空间下的src中运行
  2. cd src
  3. git 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")

修改:

  1. find_package(catkin REQUIRED COMPONENTS
  2. geometry_msgs
  3. nav_msgs
  4. sensor_msgs
  5. roscpp
  6. rospy
  7. std_msgs
  8. pcl_ros
  9. tf
  10. livox_ros_driver # <-修改这里
  11. message_generation
  12. eigen_conversions
  13. )

修改后:

  1. find_package(catkin REQUIRED COMPONENTS
  2. geometry_msgs
  3. nav_msgs
  4. sensor_msgs
  5. roscpp
  6. rospy
  7. std_msgs
  8. pcl_ros
  9. tf
  10. livox_ros_driver2 # <-修改这里
  11. message_generation
  12. eigen_conversions
  13. )

  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

  1. source devel/setup.bash
  2. roslaunch livox_ros_driver2 msg_MID360.launch
  3. #再开一个终端
  4. source devel/setup.bash
  5. roslaunch fast_lio mapping_mid360.launch

(8)展示运行效果

就在室内办公桌前,晃了晃,显示如下:

参考文献:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/920019
推荐阅读
相关标签
  

闽ICP备14008679号