ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)

测试系统:ubuntu 16.04 (64位)
Ros版本:kinetic

文章目录

    • 1.传感器与电脑利用网线进行连接
    • 2.安装ROS依赖
    • 3.创建ROS工程
    • 4.连接好设备
    • 5.运行并查看数据
    • 6.记录数据
    • 7.显示点云图

1.传感器与电脑利用网线进行连接

配置好本机有线连接的IP地址
(1)点击电脑右上角的网络标志,然后点最下面Edit Connections.
(2)点击Add,添加Ethernet。
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第1张图片
(3)将connection name改为velodyne,method:Manual。
(4)更改IPv4 Settings
Addresses:(Address:192.168.1.77;Netmask:255.255.255.0;Gateway:192.168.1.1)
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第2张图片
最后保存即可。

2.安装ROS依赖

sudo apt-get install ros-kinetic-velodyne

3.创建ROS工程

mkdir -p catkin_velodyne/src
cd catkin_velodyne/src
git clone https://github.com/ros-drivers/velodyne.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro indigo -y
catkin_make
source devel/setup.bash

在执行rosdep install --from-paths src --ignore-src --rosdistro indigo -y。报了一个错,如下:
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第3张图片

解决方法:在http://github.com/ros/roslint上下载roslint,并将它放在/catkin_velodyne/src/路径下。重新运行该命令。
然后编译成功(注:ROS必须在python2中执行)
(编译过程中报了一个错,说no module named rospkg)
需要添加rospkg模块,执行命令pip install rospkg
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第4张图片

查看linux系统python版本:python --version
linux python版本切换(改成2就对应写Python2,改成3就对应写python3):

echo alias python=python2 >>~/.bashrc
soure ~/.bashrc

4.连接好设备

激光雷达正常供电,与电脑通过网线连接。

5.运行并查看数据

(1)打开网页,网址处输入192.168.1.201
激光雷达参数页面:
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第5张图片
(2)在catkin_velodyne目录下打开终端,输入命令:

roslaunch velodyne_pointcloud VLP16_points.launch

ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第6张图片
(3)打开rviz,查看3D数据,在catkin_velodyne目录下重新打开一个终端,输入命令

rviz

ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第7张图片

更改:将Fixed Frame:may改为velodyne;
添加Add——pointcloud2——By topic——/velodyne_points.
并将catkin_velodyne——src——velodyne——velodyne_pointcloud——launch——VLP16_points.launch文件中的第14行2368改为3201.

即可显示点云图。
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第8张图片

6.记录数据

rosbag record -o out /velodyne_points

只保存/velodyne_points这个topic的数据,保存在当前目录的out.bag,按ctrl+c退出。
rostopic list -v查看当前可用的topic

rosbag record -a out /velodyne_points

保存当前所有topic的数据。

7.显示点云图

(1)将保存的.bag文件转化为.pcd

参考:http://wiki.ros.org/pcl_ros
方法一:bag_to_pcd



    rosrun pcl_ros bag_to_pcd <input_file.bag> <topic> <output_directory> 
	# 创建文件夹,将文件保存在文件夹内
	# example:
	rosrun pcl_ros bag_to_pcd data.bag /velodyne_points ./pcd

我在catkin_velodyne目录下创建了一个data_bag文件夹,在该目录下打开终端,输入命令:rosrun pcl_ros bag_to_pcd out.bag /velodyne_points ./pcd

此时报了一个错:
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第9张图片
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第10张图片
首先提示报错后我输入的命令是:sudo apt install rosbash
接着又报错,大概意思好像镜像出现问题。找了好久才发现当时我连的是激光雷达的网,后面换成自己的网后就安装成功了。
(2)pcl_viewer显示.pcd点云
如果没有pcl_viewer,首先得安装。
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第11张图片
输入命令:sudo apt install pcl-tools
安装好之后,输入命令:pcl_viewer (pcd文件夹下得最后一个文件名)
即显示保存好的点云图。
ubuntu16.04 Velodyne VLP16在ROS下使用(遇见各种报错及解决方法)_第12张图片

pcl_viewr几个常用的命令:
r键: 重现视角。如果读入文件没有在主窗口显示,不妨按下键盘的r键一试。
j键:截图功能。
g键:显示/隐藏 坐标轴。
鼠标:左键,使图像绕自身旋转; 滚轮, 按住滚轮不松,可移动图像,滚动滚轮,可放大/缩小 图像; 右键,“原	地”放大/缩小。
-/+:-(减号)可缩小点; +(加号),可放大点。
pcl_viewe -bc r,g,b /path/to/.pcd:可改变背景色.
pcl_viewer还可以用来直接显示pfh,fpfh(fast point feature histogram),vfh等直方图。
常用的pcl_viewer 好像就这些,其他未涉及到的功能可通过pcl_viewer /path/.pcd 打开图像,按键盘h(获取帮	助)的方式获得

你可能感兴趣的:(激光雷达,ROS,linux,linux,ubuntu)