这次连接的设备如下:(以下是一步步的设备连接到采集数据的介绍,没法再详细了吧)
-----第一步:连接硬件----
首先雷达需要的供电电压是12V,PC需要的供电电压是24V。所以本次连接是两个电源。
------第二步:通信-----
之后就是在ROS下给实现PC与雷达的通信了。
首先在Ubuntu下打开一个终端,为了防止下次下次查找,我是直接在Documents下建立一个HoKuyo的文件夹,方便下次查找直接在哪里存放的。
所以每次打开终端首先进入该文件夹,cd Documents 之后cd Hokuyo 进入这个文件下:
(1)首先安装驱动。输入如下命令:
$ sudo apt-get install ros-kinetic-urg-node
(2)查看你自己电脑的IP地址,命令如下:
ifconfig
此时会出现如下:
你的台式机的网卡名称:enp5s0。在这个下边查看你的IP(就是inet addr:192.168.0.2),为下一步服务。
(3)添加一个静态的IP地址。命令如下:
sudo gedit /etc/network/interfaces
输入命令后会出现如下输入窗口:
因为Hokuyo激光雷达的固定IP地址是“192.168.1.10”(出厂设置是“192.168.0.10”),我们的激光雷达未修改ip,出厂设置是“192.168.0.10”
所以在Ubuntu上添加IP地址时,使用“192.168.0.XX”,最后两个数字应该和“10区分”,前面三段和激光雷达的IP一样(即电脑的IP前三个段与激光雷达的IP一样,最后一个2和10做以区分)。因为右上边可以知道我的电脑IP是192.168.0.2与激光雷达的IP192.168.0.10本来就前三段一样,第四个不一样所以很方便不用更改。
(4)重启网卡;使之配置生效。命令如下:
sudo /etc/init.d/networking restart
(5)打开终端:ping 雷达 IP,测试硬件是否连接正常。命令如下:
ping 192.168.0.10
运行界面如下,从icmp_seq=1开始会不断的递增,直至你摁下ctrl+c键结束他为止。
-------------至此说明通信正常而已----之后就是用雷达跑gmapping或者跑cartographer吧,可以比gmapping少用一个传感器,来接受数据进行数据处理。
---------我们还可以查看激光雷达:
(1)启动。命令如下:
roscore
输入roscore这个命令后会出现下边情况:
这是在干嘛呢???啥也不干就是正常的一些信息,就是一些版本,还有rosmaster的信息。
这步之后就需要重新开启一个终端,(进入HoKuyo文件夹)输入命令如下:
rosrun urg_node urg_node _ip_address:=192.168.0.10
输入命令之后就是如下:
这个时候需要再开启一个终端,才能执行命令。
(2)查看激光雷达检测到的数据。在上一步的基础上再打开终端输入命令如下:
rostopic echo /scan
这个时候就会看到实时采集的数据了如下:
在显示数据的过程中,我是强制按下ctrl+c结束的。
(3)查看激光雷达扫描的消息类型和消息结构。命令如下:需要分两步查看:
第一步命令:
rostopic type /scan
第二步命令:
rosmsg show sensor_msgs/LaserScan
结果如下:
(4)在rviz中查看激光数据。输入命令如下:
rviz
会同时打开Rviz这个界面。
但是我这个Rviz里面什么也没有显示啊???是需要添加的。
点击左下方Add图标,然后下滑找到LaserScan,ok先添加进来。
虽然添加上了但是还是没有呢??之后需要在左侧栏进行选择配置。
首先在左侧栏打开LaseScan项,然后把topic选择/scan,
如果此时还是不可的话,左侧栏第一项Global Option下的Fixed Frame ,选择为base_footprint,或者改写为laser。
然后现在应该没问题了,可以看到rviz中有传感器数据了。如上右图。