本文主要是介绍在ROS中使用Hokuyo激光雷达UST-10LX和UST-30LX,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简述:
本文讲述的是hokuyo UST-10LX 和 UST-30LX 在Ubuntu14.04.5 ROS Indigo下进行实验。
运行环境:
系统:Ubuntu14.04.5 amd64(下载)
ROS:ROS Indigo Igloo
UST-10LX 或UST-30LX IP地址:192.168.211.221
其中,ROS 安装及配置请参考ROS 安装和配置;hokuyo_node 相关资料请参考:hokuyo_node
如果你安装的是Ubuntu 16.04,只需要把下面所有出现 *-indigo-* 的地方换成 *-kinetic-*就好了(源码安装的除外)。
1、安装节点包
有两种安装方式,一种是deb包安装,即apt-get方式;另一种为源码安装。
1 > deb包安装,即apt-get方式(推荐)
① 如果用的是UST-10LX(以太网接口),需要下载urg_node 包
$ sudo apt-get install ros-indigo-urg-node
② 如果用的是UST-30LX(USB接口),需要下载 hokuyo_node 包
$ sudo apt-get install ros-indigo-hokuyo-node
注意:通过apt-get方式安装下载的包(一般为deb),一般可以在/var/cache/apt/archives下找到。
2 > 通过源码安装
① 建立catkin工作空间(也可以利用现有的)
$ source /opt/ros/indigo/setup.bash $ mkdir -p ~/catkin_ws/src //连续创建两个目录 $ cd ~/catkin_ws/src //进入目录 $ catkin_init_workspace //初始化工作空间创建CMakeLists.txt $ cd ~/catkin_ws/ $ catkin_make
② 下载源码
$ cd ~/catkin_ws/src $ git clone https://github.com/ros-drivers/urg_node $ git clone https://github.com/ros-drivers/urg_c
也可以在百度云盘下载:urg_node (密码:tvp1)
urg_c (密码:jjld)
③ 编译
$ cd ~/catkin_ws $ catkin_make --pkg urg_node $ catkin_make --pkg urg_c $ source devel/setup.bash $ ROS_PACKAGE_PATH=/home/hebbe/catkin_ws/src/:$ROS_PACKAGE_PATH
2、Ubuntu ping通激光雷达
因为UST-10LX 或UST-30LX的IP地址为固定IP192.168.211.221,所以需要修改Ubuntu IP地址与之为同一网段,如192.168.211.199。
1 > 若Ubuntu为虚拟机,修改方法可以参考虚拟机与本机ping通
2 > 若Ubuntu 为本机,还可以用以下方法:
① 编辑/etc/network/interfaces,添加一个静态的IP地址
$ sudo gedit /etc/network/interfaces
② 在
auto lo iface lo inet loopback
下面添加以下语句:auto eth0 allow-hotplug eth0 iface eth0 inet staticaddress 192.168.211.199netmask 255.255.255.0
③ 连接激光雷达,在终端输入 ping 192.168.211.221
3、获取激光雷达数据
确认激光雷达已通电并连接上电脑后,便可以获取激光雷达数据了。
分别打开2个终端,并分别输入指令(每个终端输入一条):
$ roscore $ rosrun urg_node urg_node _ip_address:=192.168.211.221
如果激光雷达是通过USB连接的,Ubuntu会自动识别并连接。
4、在终端查看激光雷达数据
1 > 查看激光雷达检测到的数据
再打开一个终端,输入以下指令查看激光雷达检测到的数据,可以看到数据跳动得很快。
$ rostopic echo /scan
2 > 查看激光雷达扫描的消息类型和消息结构
在第三个终端输入以下指令:
$ rostopic type /scan $ rosmsg show sensor_msgs/LaserScan
![]()
5、 在rviz 中查看激光数据
rviz ,图形化模拟环境,可以直观地实时观测数据。
1 > 把 “ Global Options ” 下 “Fixed Frame ” 的值改为 “laser ” 。
2 > 点击 “ Add ” 按钮,在弹出的对话框中的 “ By display type ” 选项卡选择 “ LaserScan” ,点击 “OK”
3 > 同上,点击 “ Add ” 按钮,在弹出的对话框中的 “By topic ” 选项卡选择 “ LaserScan” ,点击 “OK”
4 > 观测数据。至此,已成功了。
6、 深入了解 apt
前面已经提到,通过apt-get方式安装下载的包(一般为deb),一般可以在/var/cache/apt/archives下找到。
如,
$ sudo apt-get install ros-indigo-urg-node
然后,可以通过以下方式了解 ros-indigo-urg-node 包
在/var/cache/apt/archives目录下便可以找到这些包。
其他apt用法请参考:apt用法
7、
这篇关于在ROS中使用Hokuyo激光雷达UST-10LX和UST-30LX的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!