ROS学习心得——定位-SLAM-hector_mapping
FOR THE SIGMA
FOR THE GTINDER
FOR THE ROBOMASTER
简介:
产品相关数据与官方文档:http://www.slamtec.com/cn/Lidar/A2
操作系统版本:Ubuntu16.04(注意:不同的ROS版本对应相应的Ubuntu操作系统版本的切勿安装错误)
http://www.ubuntu.org.cn/download/desktop 桌面版ubuntu16.04 下载
http://mirror.pnl.gov/releases/xenial/ Ubuntu系列镜像文件下载列表(amd64为64位,i386为32位)
ROS版本:kinetic-火箭龟
http://www.ros.org/ ROS官网
http://wiki.ros.org/kinetic/Installation ROS-kinetic下载地址(wiki里面的教程很不错的)
激光雷达驱动-ROS包:rplidar_ros
https://github.com/robopeak/rplidar_ros
https://github.com/ncnynl/rplidar_ros
或是利用git安装
1.sudo apt-get install git
2.git clone https://github.com/robopeak/rplidar_ros.git 或是 git clone https://github.com/ncnynl/rplidar_ros.git
注意:有人会问为什么两个链接看起来都一样,实际上是两个不同的人或是组织所建立的相同的内容,不同的库。
虚拟机版本:VMware15(注意:如果可以的话尽量不要用虚拟机,容易出现崩坏显现,为啥作者要用呢?当然是没钱啊!>_<
https://my.vmware.com/cn/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0
15版下载,密匙百度
国内源推荐:阿里云、sohu、cn99
运行步骤
1.请先确认RPLIDAR A2是否配置完成
参考链接:https://blog.csdn.net/whl970831/article/details/88097321
ROS学习心得——正确运行RPLIDAR A2激光雷达(让它转起来吧!)
2.下载并安装hector_mapping (注意ROS版本)
sudo apt-get install ros-kinetic-hector-slam
3.在rplidar_ros/launch/目录下新建hector_mapping_demo.launch文件
内容如下:
<launch>
<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
<!-- Frame names -->
<param name="pub_map_odom_transform" value="true"/>
<param name="map_frame" value="map" />
<param name="base_frame" value="base_link" />
<param name="odom_frame" value="base_link" />
<!-- Tf use -->
<param name="use_tf_scan_transformation" value="true"/>
<param name="use_tf_pose_start_estimate" value="false"/>
<!-- Map size / start point -->
<param name="map_resolution" value="0.05"/>
<param name="map_size" value="2048"/>
<param name="map_start_x" value="0.5"/>
<param name="map_start_y" value="0.5" />
<param name="laser_z_min_value" value = "-1.0" />
<param name="laser_z_max_value" value = "1.0" />
<param name="map_multi_res_levels" value="2" />
<param name="map_pub_period" value="2" />
<param name="laser_min_dist" value="0.4" />
<param name="laser_max_dist" value="5.5" />
<param name="output_timing" value="false" />
<param name="pub_map_scanmatch_transform" value="true" />
<!--<param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />-->
<!-- Map update parameters -->
<param name="update_factor_free" value="0.4"/>
<param name="update_factor_occupied" value="0.7" />
<param name="map_update_distance_thresh" value="0.2"/>
<param name="map_update_angle_thresh" value="0.06" />
<!-- Advertising config -->
<param name="advertise_map_service" value="true"/>
<param name="scan_subscriber_queue_size" value="5"/>
<param name="scan_topic" value="scan"/>
</node>
<node pkg="rplidar_ros" type="rplidarNode" name="rplidarNode" output="screen">
<param name="serial_port" type="string" value="/dev/ttyUSB0"/>
<param name="serial_baudrate" type="int" value="115200"/>
<param name="frame_id" type="string" value="laser"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool" value="true"/>
</node>
<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>
</launch>
最后保存下来。
4.插上rplidar a2并配置端口权限 (若已经完成步骤1的可以跳过该步骤)
ls -l /dev |grep ttyUSB
sudo chmod 666 /dev/ttyUSB0
source devel/setup.bash (这是位于在turtlebot_ws的路径下的指令)
5.运行写好的launch文件
先 roscore
再新终端 roslaunch rplidar_ros hetor_mapping_demo.launch
得到结果图
评论(0)
您还未登录,请登录后发表或查看评论