VLP-16配置及gmapping/loam应用-基于ubuntu-ros-melodic

VLP-16配置

安装vlp驱动:
sudo apt-get install ros-melodic-velodyne

  1. 将velodyne的控制模块通过网线与电脑联连接,电源线接通电源,过一会雷达开始转动。
    在这里插入图片描述
    velodyne的控制模块如下:
    在这里插入图片描述
    连接参考视频
    https://v.qq.com/x/page/m0181y3etxj.html?
  2. 配置本地连接
    编辑有线连接,设置:
    IP地址:192.168.1.x(x可以为1到254除开201以外的所有值,因为201是激光雷达的IP),参考:192.168.1.70
    子网掩码:255.255.255.0
    网关:192.168.1.1或者不设置
    参考设置连接
    注:设置有线连接,不影响无线联网,可以使用无线上网。
  3. 在浏览器中网址处输入192.168.1.201查看雷达配置信息
    在这里插入图片描述
  4. 启动ros master
    roscore
  5. 启动vlp16 velodyne_pointcloud 发布pointsCloud2 topic
    roslaunch velodyne_pointcloud VLP16_points.launch
  6. 执行rviz打开rviz
    将Global Options下的Fixed Frame 改成velodyne,若没有velodyne,执行7
    或直接执行rviz -f velodyne可以直接设置Fixed Frame
    手动add topic pointsCloud2,此时会显示点云数据
    在这里插入图片描述
    vlp 16 velodyne_pointcloud 发布pointsCloud2 点云坐标系,是北东天(前左上)

VLP16 运行gmapping测试

参考链接:Velodyne VLP-16 gmapping 建图

  1. 手动发布base_link velodyne之间的转换,相当于机器人和雷达的坐标转换关系
    rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link velodyne 10

  2. 启动gmapping
    rosrun gmapping slam_gmapping

  3. 启动 laser_scan_matcher_node,并指定 fixed_frame 为 odom:即使用 laser_scan_matcher作为前端里程计,即使 laser_scan_matcher发布odom tf,gmapping接收odom tf,发布map tf
    rosrun laser_scan_matcher laser_scan_matcher_node _fixed_frame:=odom
    如果没有安装gmapping,使用以下命令安装
    sudo apt install ros-melodic-gmapping

  4. 查看tf树下frame关系是否完整
    rosrun rqt_tf_tree rqt_tf_tree

  5. rviz add from topic map显示map信息
    在这里插入图片描述

遇到错误:
[ WARN] [1580994954.426403779]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.
总结此类问题,大多是frame之间的转换关系缺少导致,
使用 rosrun rqt_tf_tree rqt_tf_tree参看tf树下frame关系是否完整,如下:
在这里插入图片描述

https://blog.csdn.net/weixin_44827364/article/details/104202536
https://answers.ros.org/question/246928/messagefilter-dropped-100-of-messages/


VLP-16 运行LOAM

LOAM安装运行:

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
  1. 运行vlp
roslaunch velodyne_pointcloud VLP16_points.launch
  1. 运行loam
roslaunch loam_velodyne loam_velodyne.launch

如遇到multiScanRegistration错误,将loam_velodyne/CMakeLists.txt,下面删除第35行,add_definitions(-march = native),重新编译

结果图:
在这里插入图片描述
增加了path topic及tum轨迹保存代码:https://gitee.com/nie_xun/loam_velodyne.git
轨迹的保存位置,可以在
loam_velodyne/ launch / loam_velodyne_xsens.launch文件中更改。

轨迹显示及评测工具可以使用evo。测评工具evo安装与使用
evo安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple evo --upgrade --no-binary evo
轨迹绘制:
evo_traj tum traj_tumxxx.txt -p便可显示轨迹。


VLP-16 运行A-LOAM

A-LOAM安装:

cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
  1. 运行vlp
roslaunch velodyne_pointcloud VLP16_points.launch
  1. 运行A-LOAM
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

运行结果图:去掉点云地图,只显示路径,不得不说loam真的是一种实时性及准确性都很好的算法。
在这里插入图片描述

A_LOAM建图同时构建栅格地图

参考:A_LOAM建图同时构建栅格地图

sudo apt-get install ros-kinetic-octomap-ros #安装octomap
sudo apt-get install ros-kinetic-octomap-msgs
sudo apt-get install ros-kinetic-octomap-server
sudo apt-get install ros-kinetic-octomap-rviz-plugins
OccupancyGrid:显示三维概率地图
OccupancyMap:显示二维占据栅格地图。

DEMO-lidar编译问题

opencv 编译问题参考:ubuntu1804 编译opencv2问题及解决办法
DEMO_RGBD在UBUNTU16.04上运行的一些修改

个人遇到的一些问题

     no matching function for call to ‘cv::Mat::Mat(IplImage*&)

问题出现在featureTracking.cpp中的

Mat imageShowMat(imageShow);
if (showCount == showSkipNum) {
    //Mat imageShowMat(imageShow);
    Mat imageShowMat(cv::cvarrToMat(imageShow));
    bridge.image = imageShowMat;
    bridge.encoding = "mono8";
    sensor_msgs::Image::Ptr imageShowPointer = bridge.toImageMsg();
    imageShowPubPointer->publish(imageShowPointer);
  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值