树莓派+ROS Indigo+urg_node连接Hokuyo网口激光雷达

笔者最近接触到一个项目,要用树莓派3B实现对Hokuyo北洋公司的网口激光雷达的量测数据录取,终于在近日得以实现,前前后后花了很多时间,找了很多资料,不得不说真的是入了一个深坑…
本文致力于带领一波像楼主一样的小白用户,脱离苦海,从ROS连接激光雷达的坑里爬出来。

硬件平台

  • 树莓派3B
  • UTM30-LX-EW激光雷达(网口)

软件平台

  • 操作系统:Raspbian Jessie
  • ROS版本:ROS Indigo完整版

此处就不详细讲Raspbian怎么装ROS啦,因为笔者也不会安装o(╥﹏╥)o,ROS的镜像源基本都在国外,访问困难,安装步骤复杂,笔者跟它杠了很多时日,都没有进展。。。那是不是没办法了呢?显然不是hhh。毕竟有很多有法子的网友,还是把ROS装好了,并且打包成镜像上传到了网上。笔者就是用的网友corvin_zhang制作的基于Raspbian Jessie的ROS indigo镜像包安装的,非常好使,省了好多事,再次表示感谢~,传送门:发布v1.2版本基于Jessie的ROS Indigo完整版树莓派3B镜像
读者只需将该打包好的镜像像安装一般的镜像一样,安装在树莓派的SD卡上,就可以啦,装好的系统自带ROS Indigo完整版,用起来很方便。

Hokuyo公司提供了针对ROS Indigo的软件包。现在已经有了ROS indigo,接下来就要安装这个软件包了。笔者在网上查到很多办法都是说输入命令
$ sudo apt-get install ros-indigo-urg-node
就可以直接下载urg_node包了,然而笔者试了并没有什么用,或许几年前是可以的,现在似乎在国内无法正常访问这个软件包的下载站点了。
现在只有一条路可以走了,就是下载urg_node包的源代码,自己编译再使用,接下来详细解答如何下载并编译urg_node,成功实现激光雷达数据采集。

STEP1 建立工作空间

在终端输入以下命令

source /opt/ros/indigo/setup.bash
mkdir -p ~/catakin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make 
STEP2 下载安装urg_node及相应支持包

在终端输入以下命令

 cd ~/catkin_ws/src
 git clone https://github.com/ros-perception/laser_proc.git
 git clone https://github.com/ros-drivers/urg_c.git
 cd ~/catkin_ws
 catkin_make

等待其编译完后,继续输入

 cd ~/catkin_ws/src
 git clone https://github.com/ros-drivers/urg_node
 cd ~/catkin_ws
 catkin_make
 catkin_make install

至此,urg_node的包就编译并安装完成了

STEP3 设置IP地址

由于utm30-lx-ew激光雷达的初始IP地址是192.168.0.10,要实现与之通信,需设置树莓派的IP地址和激光雷达在同一个网段,因此要保证IP地址前三位与之相同,最后一位不同,且不为0和255就行。
在终端输入命令:
sudo nano /etc/network/interfaces
找到

auto lo    
iface lo inet loopback 


并在其下面增添以下语句:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
“`
按CTRL+O保存文件,再按CTRL+X退出
在文件中设置完静态IP,还需要在树莓派的window界面设置相同的IP
这里写图片描述
右击树莓派window界面右上角的联网图标,选第一项,并在弹出窗口中修改IP地址和子网掩码,如图所示
这里写图片描述

至此,树莓派的IP地址已设置完成,接下来将树莓派的网络端口与激光雷达相连,可以尝试在终端中ping 192.168.0.10看看是不是通的。

STEP4 启动URG

先启动roscore,在终端中输入
roscore
再重新设置路径

cd catkin_ws
source devel/setup.bash 

接着输入
rosrun urg_node urg_node _ip_address:=192.168.0.10
此时如果连接成功,会有提示,若连接不成功,会有红字报错并不断重试

到这里,连接成功即代表hokuyo网口的urg_node包安装成功,接下来就是愉快的应用了,至于怎么获取数据,相关的文章有很多。例如:妹子教你在ROS中使用Hokuyo激光雷达UST-10LX和UST-30LX
本文主要为ros初学者解决了在无法使用apt-get install下载urg_node包的情况下,如何通过github下载代码,并自行编译程序,实现安装urg_node,希望以自己的一点小小的经验能给大家带来帮助。
笔者水平有限(其实也不是很懂),难免出错,还望多多指教。

参考

  1. ros kinetic +hokuyo 源码安装
  2. ROS与激光雷达入门教程-ROS中使用激光雷达(Hokuyo网口)
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值