Windows下连接只需要安装驱动+sopas软件(sick官网下载)具体步骤请参考[1]
前言
激光雷达的连接有两种方式:
- USB串口连接(较为简单,参见[1])
- EtherNet网口连接
本文主要介绍第二种EtherNet网口连接方式。首先,支持sick的激光雷达有两个package包:
- sick_tim:支持tim xx系列的雷达;
- sicktoolbox:支持LMS xx系列雷达。
连接前工作:软件包
在ros kinetic上连接tim581,先安sick_tim软件包:
创建工作空间,可以是新的也可以是原有的,然后cd到当前目录:
mkdir -p ~/sick_ws/src
cd ~/sick_ws/src
克隆sick_tim软件包,网站从sick官网中对应的激光雷达ROS驱动包获取(实验证明TIM5xx系列均为以下网站),然后在工作空间下编译:
git clone -b kinetic https://github.com/uos/sick_tim.git
cd ~/sick_ws
catkin_make
编译成功,会在相应的
~/sick_ws/devel/lib
下生成libsick_tim_3xx.so
和~/sick_ws/devel/lib/sick_tim/
目录下生成sick_tim551_2050001
等几个elf 的文件。[2]
ROS下连接激光雷达
设置激光雷达和Ubuntu的IP在同一个网段才能连接,[3]介绍了两种设置IP地址的方式
查看激光雷达IP,将电源线和以太网口连接至PC,读取激光雷达IP地址169.254.221.233(我在这里使用了一个极度愚蠢的办法,打开windows的SOPAS,查看激光雷达数据,查看其IP地址。如果有简便方式请务必告知)
插入图片
-
在Ubuntu下“编辑连接”——“以太网”——“添加”创建一个名为TIM581的有线连接
TIM581 IP地址.png - 切换选项卡IPv4设置-方法:手动-地址:169.254.221.xxx-子网掩码:255.255.0.0-网关:0.0.0.0
- 连接网络 - 以太网
在终端上输入代码ping 169.254.221.233
,如图所示即为连接成功。
ping IP_Address.png
读取激光雷达数据
gedit打开sick_ws/src/sick_tim/launch/sick_tim571_2050101.launch
启动文件(经过反复实验TIM581和TIM571通用,TIM551和TIM561通用),去除文档中的注释,修改其中<param name="hostname" type="string" value="169.254.221.233" />
,把value改为激光雷达的IP地址。修改后的启动文件如下所示:
记得
source ~/sick_ws/devel/setup.bash
之后(如果工作空间以后要常用,则source ~/.bashrc
),再执行
roslaunch sick_tim sick_tim571_2050101.launch
成功后如下图所示:
可视化激光雷达数据
rosrun rviz rviz
- 打开rviz-Add-By topic-LaserScan-OK
- 修改Fixed Frame为Laser-正确配置好后,如下图所示:
rviz读取激光雷达.png
此外还可以对终端执行rostopic hz scan
查看刷新率。文章[2]还对软件包sick_tim code进行分析。
参考:
[1]. https://blog.csdn.net/u013453604/article/details/50725833
[2]. https://blog.csdn.net/feixin620/article/details/78260609
[3]. https://www.cnblogs.com/jxfighting/p/9721225.html
[4]. https://www.cnblogs.com/21207-iHome/p/7944220.html
[5]. https://www.sick.com/cn/zh/detection-and-ranging-solutions/2d-lidar-/tim5xx/tim581-2050101/p/p619344
[6]. https://github.com/SICKAG/sick_scan