- 将velodyne的控制模块通过网线与电脑联连接,电源线接通电源,过一会雷达开始转动。
velodyne的控制模块如下:
连接参考视频
https://v.qq.com/x/page/m0181y3etxj.html? - 配置本地连接
编辑有线连接,设置:
IP地址:192.168.1.x(x可以为1到254除开201以外的所有值,因为201是激光雷达的IP),参考:192.168.1.70
子网掩码:255.255.255.0
网关:192.168.1.1或者不设置
参考设置连接 - 在浏览器中网址处输入192.168.1.201查看雷达配置信息
- 启动ros master
roscore - 启动vlp16 velodyne_pointcloud 发布pointsCloud2 topic
roslaunch velodyne_pointcloud VLP16_points.launch - 执行
rviz打开rviz
将Global Options下的Fixed Frame 改成velodyne,若没有velodyne,执行8
或直接执行rviz -f velodyne可以直接设置Fixed Frame
手动add topic pointsCloud2,此时会显示点云数据 - 手动发布base_link velodyne之间的转换,相当于机器人和雷达的坐标转换关系
rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link velodyne 10 - 手动发布odom base_link之间的转换,相当于里程计和机器人坐标转换关系
rosrun tf static_transform_publisher 0 0 0 0 0 0 odom base_link 10 - 启动gmapping
rosrun gmapping slam_gmapping
如果没有安装gmapping,使用以下命令安装sudo apt install ros-melodic-gmapping - 查看tf树下frame关系是否完整
rosrun rqt_tf_tree rqt_tf_tree - 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/