目标

在ROS上调试使用Hokuyo激光雷达传感器

配置情况

    电脑使用Ubuntu 14.04版本,ROS为 Indigo,激光雷达为Hokuyo(型号UST-10LX,网口型接口)  

如果使用的是USB类插头的,可以按照ROS网站上提供的教程:

http://wiki.ros.org/hokuyo_node/Tutorials/UsingTheHokuyoNode 

以下介绍的是激光雷达在ROS上的配置:

    首先拿到激光雷达要看其是什么接口类型的,一般分USB型和网口型,两种配置方法不一样,USB型的可以参照上面的教程配置使用,网口型就是下面介绍的方法。为什么要配置呢?直接插上去用不可以吗?答案是不可以的,类似我们日常使用的电脑,当你插上U盘时候,电脑首先会对U盘安装驱动,因为没有驱动使用不了U盘。所以类似的,配置过程就是电脑识别激光雷达,获取其数据的过程。当激光雷达上电时候,它就开始转动,开始获取数据了。

拿到的UST-10LX激光雷达有两个头,一个是电源接口,自己换上接口插到turtlebot上使用19V电源供电(因为turtlebot2正常供电范围是12V-24V,另外按照红正黑负的原则选择接口,插到turtlebot之前使用万用表直流档检测正负接口,切记不要接反);另一个是网线插口,插到你的电脑网口出处。

这时候电源接好了,插上了turtlebot的19V电源处,激光雷达开始转动(会发出声音),网口插口也插上了电脑那,那接下来怎么使用它?

看到网口我们想到的是IP地址,对,其实就是网口类插口与电脑之间使用的是IP地址通讯。那重要的一件事是,知道你的激光雷达的初始IP地址,如果忘记了,使用可以查看IP地址的软件去找出你的激光雷达的IP地址。当知道激光雷达的IP地址后事情就很容易解决了,我使用的激光雷达地址为192.168.1.181(每个人的IP不一样的,这个是自己设置的)。查阅资料显示Hokuyo激光雷达的固定IP地址为“192.168.1.10”(出厂设置为“192.168.0.10”)具体为多少,需要自己去查看相关资料。

有了激光雷达的IP地址,那电脑怎么与它进行通讯?

那就要设置电脑的IP频段,前面3个与其相同,即电脑的IP设置为192.168.1.XXX(随便你设置,但是不要和雷达的IP地址一样),掩码设置都是255.255.255.0。那接下来的问题就是怎么设置电脑的静态IP地址了,有两种方法,下面分别介绍。

1、修改ubuntu系统上管理IP地址的文件,添加一个静态IP地址,位置在/etc/network/interfaces

sudo gedit /etc/network/interfaces

运行命令显示以下窗口

在iface lo inet loopback下面添加下面代码

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0

address即添加的电脑静态IP地址,netmask为掩码

2、直接在显示网络那里配置

在网络图标那右键选择Edit Connections

在Ethernet(即以太网)点击Add专门为激光雷达配置一个连接,然后点击IPv4设置地址,在Address添加上面设置的IP地址

至此两种配置电脑静态IP地址方法介绍完了,只要选用其中一种即可,下面就是测试:

ping 192.168.1.181

当你激光雷达IP地址没错时,即可获取到上面的数据。接下来设置在ROS上获取激光雷达的数据,ROS上获取数据主要靠调用节点来获取,那首先要安装网口类激光雷达的节点包

sudo apt-get install ros-indigo-urg-node

然后将激光雷达接在电脑上,执行以下命令:

roscore
rosrun urg_node urg_node _ip_address:=192.168.1.10

当显示上面情况时,即可以在ROS上获取激光雷达数据。另外可以使用以下命令查看激光雷达检测到的数据:

rostopic echo /scan

在rviz中查看激光数据:

#依次运行下面命令
roscore
rosrun urg_node urg_node _ip_address:=192.168.1.181
rosrun rviz rviz

点击左下角的Add按钮,依次添加LaserScan和话题/scan下的LaserScan,然后在左边Displays下修改Fix Frame值为laser

学习使用turtlebot2——调试Hokuyo激光雷达(型号UST-10LX)的更多相关文章

  1. 学习使用turtlebot2——turtlebot2上使用Hokuyo激光雷达(型号UST-10LX)

    目标     在turtlebot2上添加Hokuyo激光雷达传感器,使用激光雷达调用gmapping进行建图. 配置情况     电脑使用Ubuntu 14.04版本,ROS为 Indigo,激光雷 ...

  2. 学习使用turtlebot2——安装ROS Indigo系统

    最近在学习使用turtlebot2,特此做一些学习记录. 安装ROS前要先决定自己电脑的Ubuntu(乌班图)系统.现在学习ROS常使用的Ubuntu系统有Ubuntu 16.04 和Ubuntu14 ...

  3. 转 Python3 错误和异常/ Python学习之错误调试和测试

    ########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名> ...

  4. BIND9源码学习笔记1---gdb调试篇

    学习bind9源码之前,首先要知道如何用gdb来调试bind.BIND9的源码我是先看代码弄懂它的架构,像什么event-drive,epoll等, 再去看它的业务流程.看业务流程的时候要追踪它的数据 ...

  5. linux学习之四---gdb调试

    在Linux应用程序开发中,最经常使用的调试器是gdb. 一.启动和退出gdb gdb调试的对象是可运行文件,而不是程序的源码.假设要使一个可运行文件能够被gdb调试,那么使用编译器gcc编译时须要增 ...

  6. React学习笔记--程序调试

    React学习笔记 二 程序调试   前面我们搭建好了React的基本开发环境,可以编写基本的React js程序了.但完成的开发环境肯定包含调试器,怎么调试用React编写的JS程序呢?有浏览器,比 ...

  7. Android JNI和NDK学习(04)--NDK调试方法(转)

    本文转自:http://www.cnblogs.com/skywang12345/archive/2013/05/23/3092812.html 本文主要介绍在ndk中添加log的方法.然后,我们就可 ...

  8. cocos2d-js 学习笔记 --安装调试(1)

    目前从国内来看,比较知名的,适合前端程序员使用的游戏框架,基本是 egret 和cocos2d-js;刚好两个框架都学习了下, egret的是最近兴起的一个框架主要使用TypeScript.js语言做 ...

  9. [Android学习笔记]Android调试

    Eclipse Debug 快捷键: [Ctrl + Shift + B]: 添加/取消断点 [F5]:进入方法中 [F6]:单步执行 [F7]:执行完毕此方法 [F8]:继续执行,直接跳到下一个断点 ...

随机推荐

  1. Git使用总结 Asp.net生命周期与Http协议 托管代码与非托管代码的区别 通过IEnumerable接口遍历数据 依赖注入与控制反转 C#多线程——优先级 AutoFac容器初步 C#特性详解 C#特性详解 WPF 可触摸移动的ScrollViewer控件 .NET(C#)能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用

    一,原理 首先,我们要明白Git是什么,它是一个管理工具或软件,用来管理什么的呢?当然是在软件开发过程中管理软件或者文件的不同版本的工具,一些作家也可以用这个管理自己创作的文本文件,由Linus开发的 ...

  2. Quartz.NET 实现定时任务调度

    Quartz.NET Quick Start Guide Welcome to the Quick Start Guide for Quartz.NET. As you read this guide ...

  3. POJ 3087 Shuffle&#39;m Up(模拟退火)

    Description A common pastime for poker players at a poker table is to shuffle stacks of chips. Shuff ...

  4. atitit。全局变量的设计与实现 java php的异同

    atitit.全局变量的设计与实现 java php的异同 1. 超级全局(Superglobals)"变量 1 2. 全局变量和"global"关键字 1 3. 更加好 ...

  5. Sublime Text 2/3如何支持中文GBK编码(亲测实现)

    Sublime Text 2/3如何支持中文GBK编码 听语音 | 浏览:17594 | 更新:2014-03-17 10:52 1 2 3 4 5 分步阅读 Sublime Text默认是只支持UT ...

  6. C# 冒泡排序

    class Program { static void swap( ref int atemp, ref int btemp)//注意ref的使用 { int temp = atemp; atemp ...

  7. 213. String Compression【easy】

    Implement a method to perform basic string compression using the counts of repeated characters. For ...

  8. 0053 用注解方式配置Spring MVC

    按照0052中的办法,如果一个站点设计有1000个请求,那就得写1000个controller,还得配置1000个<bean id="helloController" cla ...

  9. 某某水表-M1卡数据算法分析

    # 某某水表-M1卡数据算法分析 ## 卡片数据-----------------------------扇区数据 | 金额:--- |:---13EC 0000 0000 0000 0000 000 ...

  10. PHP学习笔记(13)班级和学生管理---班级

    两个文件夹,一个班级cls,一个学生stu. 两个表,一个班级cls,一个学生stu. 每个文件夹里有7个php文件:主界面cls.php-------增add.php,insert.php----- ...