在Windows系统下使用Livox HAP非常简单,直接在Livox官网下载Livox Viewer2,在其中观察点云和录制点云视频即可。
Livox Viewer2下载链接:LiDAR Sensors - Livox (livoxtech.com)
但相较于在ubuntu中能实现的功能较少,尤其是不同点云格式间的转换问题,如点云视频bag转为点云帧pcd等,只能通过ROS系统来解决,所以接下来细说如何在ubuntu中使用HAP。
本文包括的内容大体可以分为两部分:
1、配置HAP在ubuntu中需要的环境
2、在ROS系统中使用HAP的方法
我所使用的环境是Ubuntu 20.04(ubuntu版本与安装的ROS系统有关,所以需要搞清楚自己的版本,当然不一定非要20.04,只要清楚自己的版本即可)
下面开始配置环境
配置环境
一、安装ROS系统
可以通过一键安装的方法简易安装ROS系统,输入下面这行代码就可以自动安装了。
按照步骤输入想安装的ROS版本。我安装的是ROS1的Noetic。
wget http://fishros.com/install -O fishros && . fishros
ubuntu版本要与ROS系统版本对应,可以参考这篇博客:ROS版本与Ubuntu对应版本
注意要区别ROS1和ROS2。
ROS系统安装完成后该部分就完成了。
二、编译Livox SDK2
首先下载cmake,打开终端输入:
sudo apt install cmake
接着开始编译Livox SDK2
注意:一定使用SDK2,HAP型号需要使用SDK2
先将SDK2的文件下载在ubuntu中,下载链接:Livox-SDK2下载链接
将文件按照livox/src/Livox-SDK2的方式放入对应文件夹的位置。
顺便将livox_ros_driver2也下载好一并放入该文件夹中。
livox_ros_driver2下载链接:livox_ros_driver2下载链接
我的文件所在位置和结构:
或者利用git的方法(如下面命令所示)
git clone https://github.com/Livox-SDK/Livox-SDK2.git
下载完成后,依次输入下列命令编译SDK2
cd Livox SDK2
mkdir build
cd build
cmake ..
make -j4
sudo make install
依次出现下面两张图说明编译成功。
如果在使用cmake时出现No CMAKE_CXX_COMPILER could be found.这样的错误,可以输入下列命令:
sudo apt-get install build-essential
再重新运行上面的代码。
三、安装livox_ros_driver2
先进入livox_ros_driver2所在的文件夹位置
cd livox/src
根据ROS的版本选择不同的输入指令。
我的版本为Noetic,所以输入下列两行代码:
source /opt/ros/noetic/setup.sh
./build.sh ROS1
如果是 ROS2 Foxy,代码为:
source /opt/ros/foxy/setup.sh
./build.sh ROS2
如果为ROS2 Humble,代码为:
source /opt/ros/humble/setup.sh
./build.sh humble
根据自己的ROS版本三种选择一种即可。
出现下图表示安装成功。
四、Ubuntu连接激光雷达HAP
1、Ubuntu设置静态IP
点击ubuntu右上角的下箭头,点击图中的设置按钮。
点击【IPv4】,设置静态IP。
我设置的静态IP为192.168.1.102,你们可以根据需要设置其他的,子网掩码和网关如图所示。
点击应用就设置完成了,需要重启ubuntu才能生效。
重启完成后静态IP就设置成功了。
2、更改虚拟机的设置(关键一步)
这一步一定要设置好,否则后面可能连不上雷达,原因可能是雷达不能识别虚拟机的存在。
首先需要将虚拟机的连接改为桥接模式。
在虚拟机关闭状态下,点击【编辑虚拟机设置】进入下图界面,将【网络连接】改为桥接模式。
接着点击虚拟机左上角【编辑】>>【虚拟网络编辑器】进入下图的界面, 点击右下角【更改设置】。
将【VMnet信息】中的【以桥接至:】改为下图的形式。
3、修改配置文件
找到配置文件【HAP_config.json】,我的路径为livox/src/livox_ros_driver2/config。
将里面所有的192.168.1.5都改为刚刚设置好的静态IP,如我的就改为192.168.1.102。
{
"lidar_summary_info" : {
"lidar_type": 8
},
"HAP": {
"lidar_net_info" : {
"cmd_data_port": 56000,
"push_msg_port": 0,
"point_data_port": 57000,
"imu_data_port": 58000,
"log_data_port": 59000
},
"host_net_info" : {
"cmd_data_ip" : "192.168.1.102",
"cmd_data_port": 56000,
"push_msg_ip": "",
"push_msg_port": 0,
"point_data_ip": "192.168.1.102",
"point_data_port": 57000,
"imu_data_ip" : "192.168.1.102",
"imu_data_port": 58000,
"log_data_ip" : "",
"log_data_port": 59000
}
},
"lidar_configs" : [
{
"ip" : "192.168.1.100",
"pcl_data_type" : 1,
"pattern_mode" : 0,
"extrinsic_parameter" : {
"roll": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"x": 0,
"y": 0,
"z": 0
}
}
]
}
4、连接激光雷达Livox HAP
先进入livox_ros_driver2所在的文件夹,再打开终端,我的位置为/livox/src/livox_ros_driver2。
输入下列两行代码:
source ../../devel/setup.sh
roslaunch livox_ros_driver2 rviz_HAP.launch
可以使用下面代码测试ubuntu和雷达是否连接成功
ping 192.168.1.100
此时就可以成功连接HAP了,连接界面如图。
HAP的使用方法
一、录制点云视频bag
保持雷达的连接状态,在你想保存文件的路径下打开新终端,输入代码:
rosbag record -a
需要停止录制时按下ctrl C即可停止,录制的点云视频会自动放在该路径下。
二、播放点云视频bag
打开终端,输入下列代码打开ros
roscore
再新打开一个终端,输入下列代码代开rviz:
rosrun rviz rviz
设置rviz,在左边选项卡的左下角选add选项,添加PointCloud2。
并将其下的topic改为**/livox/lidar**
同时,将fixed_frame修改为livox_frame
接着打开新终端,输入:
rosbag play xxx.bag
xxx.bag就是你的bag文件名称。
此时文件就可以在rviz中播放了。
三、bag格式转pcd格式
首先需要知道自己的bag格式的topics信息,打开bag文件所在路径的终端,输入下面的命令:
rosbag info *.bag
找到topics那一行,将后面的内容复制。
rosrun pcl_ros bag_to_pcd 1.bag /livox/lidar pcd
1.bag为bag文件名称;/livox/lidar为刚刚获取的topics位置;pcd为生成的pcd保存路径。
四、查看pcd文件
可以利用pcd_viewer查看pcd文件,输入下面命令
pcl_viewer xxx.pcd
基本的使用方法就介绍到这里了,如果觉得有用记得关注、点赞、收藏!!!
有任何问题欢迎随时评论,我看到后会及时回复的!
版权归原作者 深度学习的nora 所有, 如有侵权,请联系我们删除。