·······### ubuntu工作总结
本博客写于2024年3月18日,因为重新打开虚拟机以后开始报各种错误,所以重新构建整个工程,做个记录
1.首先配网
虚拟机——》设置——》硬件——》网络适配器——》桥接模式直接连接网络物理状态
三个设备处于同一网段时 三个设备之间可以互通
这时主机和雷达以及虚拟机是可以互通的
在NAT(共享主机IP的)时候 三个设备在同一网段反而是不可行的 但是在该模式下虚拟机网络在 DHCP模式下时三个设备又是可以互通的了 但是虚拟机和主机以及雷达不处在同一网段
2.构建ROS工作目录
终端执行
mkdir -p 2024_3_19/src
cd 2024_3_19
catkin_make
code . #使用VScode 打开该项目 ctrl + shirt + B 可以快速编译该项目
2.1 移植livox_ros_driver2
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd 2024_3_19
source /opt/ros/melodic/setup.sh
cd 2024_3_19/src/livox_ros_driver2
./build.sh ROS1
报错Could NOT find pcl_ros (missing: pcl_ros_DIR)
sudo apt-get install ros-melodic-pcl-ros
接着报错
ros-melodic-pcl-ros : 依赖: libpcl-dev 但是它将不会被安装
依赖: ros-melodic-pcl-conversions 但是它将不会被安装
移除vtk7.1
sudo apt-get remove libvtk7.1-qt
sudo apt-get remove libvtk7.1
移除后重新执行,但是以上两个包移除以后会有其他什么影响 暂时没有遇到,如果遇到了,记着重新装一下
sudo apt-get install libpcl-dev
sudo apt-get install ros-melodic-pcl-ros
安装完成
配置livox_ros_driver2/config/MID360_config.json
{
"lidar_summary_info" : {
"lidar_type": 8
},
"MID360": {
"lidar_net_info" : {
"cmd_data_port": 56100,
"push_msg_port": 56200,
"point_data_port": 56300,
"imu_data_port": 56400,
"log_data_port": 56500
},
"host_net_info" : {
"cmd_data_ip" : "192.168.1.50", # 主机IP
"cmd_data_port": 56101,
"push_msg_ip": "192.168.1.50", # 主机IP
"push_msg_port": 56201,
"point_data_ip": "192.168.1.50", # 主机IP
"point_data_port": 56301,
"imu_data_ip" : "192.168.1.50", # 主机IP
"imu_data_port": 56401,
"log_data_ip" : "",
"log_data_port": 56501
}
},
"lidar_configs" : [
{
"ip" : "192.168.1.112", # 雷达IP
"pcl_data_type" : 1,
"pattern_mode" : 0,
"extrinsic_parameter" : {
"roll": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"x": 0,
"y": 0,
"z": 0
}
}
]
}
启动雷达在RVIZ中显示
source ../../devel/setup.sh
roslaunch livox_ros_driver2 rviz_MID360.launch
2.2 移植livox_mapping
安装 opencv 3.4.10
在cmake阶段的时候会出现一堆****.i文件下载不了 这时先不管它 让它接着执行
等cmake完了以后 把下载的那一堆****.i复制到opencv_contrib/modules/xfeatures2d/src下
再 make就行了
在cmake阶段下载不了也不用管它
https://blog.csdn.net/djj199301111/article/details/107774229
Quick start
Build core modules
# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
# Create build directory
mkdir -p build && cd build
# Configure
cmake ../opencv-4.x
# Build
cmake --build .
Build with opencv_contrib
# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
unzip opencv.zip
unzip opencv_contrib.zip
# Create build directory and switch into it
mkdir -p build && cd build
# Configure
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
# Build
cmake --build .
eign 3.3.4
PCL1.8.1
git clone https://github.com/Livox-SDK/livox_mapping.git
cd ..
catkin_make
报错CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by “livox_ros_driver”
因为我用的是livox_ros_driver2所以要改CMakeLists.txt和package.xml中
livox_ros_driver改成livox_ros_driver2 共有三处
CMakeLists.txt中一处
package.xml中两处
接着报错
livox_mapping/src/livox_repub.cpp:3:10: fatal error: livox_ros_driver/CustomMsg.h: 没有那个文件或目录
#include "livox_ros_driver/CustomMsg.h"
修改livox_ros_driver/CustomMsg.h 中livox_ros_driver 改为livox_ros_driver2 一共四处
编译过了以后 开始愉快的建图了
实时建图的话,需要对话题进行转发
roslaunch livox_ros_driver2 msg_MID360.launch
roslaunch livox_mapping mapping_horizon_simple.launch
但是发现并没有任何图像,需要修改RVIZ中mpping->surround->style改成其他风格的点就可以看到实时的雷达点云
mpping->currpoints->style 改成squares可以看到配准后的点云,但是这里并不是全局点云,在RVIZ中做了一个时延,保留了历史点云,仅仅只是看起来像是全局的点云