工作记录-镭神雷达ROS系统运行过程
安装ROS系统, 使用”鱼香一键安装”
wget http://fishros.com/install -O fishros && . fishros
配置 ROS 工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
# 这会在 ~/catkin_ws 下生成 build、devel、src 等文件夹。
每次打开新终端时,需要 source 工作空间环境变量,否则找不到你的包。可以在 ~/.bashrc
里加入如下内容:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
这样以后每次打开新终端都自动加载环境。开发新包或编译下载的包,直接放到 ~/catkin_ws/src
目录下,然后回到 ~/catkin_ws
编译即可。
典型流程总结
# 1. 创建工作空间
mkdir -p ~/catkin_ws/src
# 2. 进入工作空间
cd ~/catkin_ws
# 3. 编译
catkin_make
# 4. 配置环境变量
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
把驱动源码放到 src
目录下
cd ~/catkin_ws/src
git clone -b C16_V2.6/2.8/3.0 https://github.com/Lslidar/Lslidar_ROS1_driver.git
编译源码
# 回到工作空间根目录并编译:
cd ~/catkin_ws
catkin_make
编译成功后,记得 source
一下环境变量:
# 确保已经source了环境
source devel/setup.bash
# 在任意目录下启动
# roslaunch lslidar_driver lslidar_c16.launch
roslaunch lslidar_driver lslidar_cx.launch
连接雷达硬件
将雷达设备通过网线连接到你的电脑,并确保网络配置正确(IP地址等),具体配置可以参考雷达说明书或仓库的 README 文件。
启动驱动节点
进入包目录,运行驱动节点:
#roslaunch lslidar_c16_driver lslidar_c16.launch
roslaunch lslidar_driver lslidar_cx.launch
或者(根据你的雷达型号和 launch 文件名):
roslaunch lslidar_driver lslidar_cx.launch # 机械式雷达
roslaunch lslidar_driver lslidar_ch.launch # 905雷达
roslaunch lslidar_driver lslidar_ls.launch # 1550雷达
查看数据
用如下命令查看点云数据:
rosrun rviz rviz
或者直接修改.launch文件,去掉rviz的注释
<launch>
<arg name="device_ip" default="192.168.1.200" />
<arg name="msop_port" default="2368" />
<arg name="difop_port" default="2369" />
<arg name="return_mode" default="1" />
<arg name="time_synchronization" default="true" />
<node pkg="lslidar_c16_driver" type="lslidar_c16_driver_node" name="lslidar_c16_driver_node" output="screen">
<param name="device_ip" value="$(arg device_ip)" />
<param name="msop_port" value="$(arg msop_port)" />
<param name="difop_port" value="$(arg difop_port)"/>
<param name="frame_id" value="laser_link"/>
<param name="add_multicast" value="false"/>
<param name="group_ip" value="224.1.1.2"/>
<param name="rpm" value="600"/>
<param name="return_mode" value="$(arg return_mode)"/>
<param name="time_synchronization" value="$(arg time_synchronization)"/>
</node>
<node pkg="lslidar_c16_decoder" type="lslidar_c16_decoder_node" name="lslidar_c16_decoder_node" output="screen">
<param name="calibration_file" value="$(find lslidar_c16_decoder)/params/lslidar_c16_db.yaml" />
<param name="min_range" value="0.15"/>
<param name="max_range" value="150.0"/>
<param name="cbMethod" value="true"/>
<param name="config_vert" value="true"/>
<param name="print_vert" value="false"/>
<param name="return_mode" value="$(arg return_mode)"/>
<param name="config_vert_file" value="false"/>
<param name="distance_unit" value="0.25"/>
<param name="time_synchronization" value="$(arg time_synchronization)"/>
</node>
<!--node name="rviz" pkg="rviz" type="rviz" args="-d $(find lslidar_c16_decoder)/launch/lslidar_c16.rviz"/-->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find lslidar_c16_decoder)/launch/lslidar_c16.rviz"/>
</launch>
常见错误以及解决办法
报错是:
fatal error: pcap.h: 没有那个文件或目录
这说明系统缺少 libpcap
的开发头文件和库。pcap.h
是网络抓包库(libpcap)的头文件,很多激光雷达驱动都依赖它。
安装 libpcap 开发包
对于 Ubuntu 系统,执行下面的命令:
sudo apt-get update
sudo apt-get install libpcap-dev
安装完成后,重新编译