工作记录-镭神雷达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

安装完成后,重新编译