激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + hector_slam 建图

一、环境配置和基础测试

二、hector_slam 安装

  • 我这里是18.04下的Medolic版本:

    $ sudo apt-get install ros-melodic-hector-slam
    
        
        
    • 1

三、launch 文件编写

  • ~/catkin_ws/src/rplidar_ros/launch/下编写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=“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>

  • 四、运行建图节点
    • 这里首先打开我们的激光雷达节点,然后运行我们刚编写的Slam节点。

      $ roslaunch rplidar_ros rplidar.launch
      $ roslaunch rplidar_ros slam.launch
      
          
          
      • 1
      • 2
    • rviz中的建图效果如图所示:

    在这里插入图片描述

    五、小结

    • 本篇博客主要参考了 Rplidar A1/A2使用及Hector_SLAM建图 这一篇教程。

    • 小提示 1,如果通过github源码编译安装功能包的话,就不需要再利用 sudo apt-get install 的形式进行安装,否则可能会导致索引问题。之前在使用差速轮仿真库arbotix的时候就遇到这种问题,我同时安装了源码和apt的包,节点运行时优先索引到了源码下的功能包,然后提示py文件没权限(py文件很多,去挨个赋予权限肯定不是一劳永逸的办法),最后把源码下的包和catkin_ws/share中的编译文件全删除了,仅用apt的包就一点问题没有,我的经验就是,需要看源码的都用源码安装,只是拿来用的就用apt安装。

    • 小提示 2,在~/catkin_ws/src/rplidar_ros/launch/下新建launch文件:

      $ cd ~/catkin_ws/src/rplidar_ros/launch/
      $ touch slam.launch
      
          
          
      • [转载](https://blog.csdn.net/sinat_25923849/article/details/108527802?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link&utm_relevant_index=2)
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 以下是在Ubuntu 18.04上安装hector-slam的步骤: 1. 打开终端并更新软件包列表: sudo apt-get update 2. 安装hector-slam: sudo apt-get install ros-melodic-hector-slam 3. 安装hector-slam所需的其他依赖项: sudo apt-get install ros-melodic-geographic-msgs ros-melodic-tf2-geometry-msgs ros-melodic-laser-geometry ros-melodic-tf2-sensor-msgs 4. 启动hector-slam: roslaunch hector_slam_launch tutorial.launch 5. 打开另一个终端并启动激光扫描仪: roslaunch hector_slam_launch laser_scan.launch 6. 打开rviz并添加hector-slam节点: rosrun rviz rviz 7. 在rviz中添加hector_mapping节点并设置其参数。 以上是在Ubuntu 18.04上安装hector-slam的步骤。 ### 回答2: Hector-slam是一个开源的二维激光雷达SLAM算法,可以用于在ROS中进行移动机器人的自主导航。在Ubuntu18.04 LTS上安装Hector-slam相对来说比较容易。下面是安装Hector-slam的步骤: 1. 首先要安装ROS Melodic(或更高版本)和雷达驱动程序。可以参考官方文档 https://wiki.ros.org/melodic/Installation/Ubuntu 安装ROS Melodic。 2. 打开终端,输入以下命令,将hector-slam包安装到ROS中: ``` sudo apt-get install ros-melodic-hector-slam ``` 3. 安装完后,输入以下命令,启动Hector-slam演示节点: ``` roslaunch hector_slam_launch tutorial.launch ``` 4. 接下来,启动雷达驱动程序节点: ``` rosrun hokuyo_node hokuyo_node ``` 如果你使用的是其他品牌的激光雷达,需要使用相应的驱动程序节点,例如SICK的雷达需要使用sicktoolbox_wrapper节点。 5. 最后,启动Rviz可视化工具,用于显示SLAM的结果: ``` roslaunch hector_slam_launch tutorial.launch ``` 现在,你应该可以在Rviz中看到机器人的地图和轨迹了。 总的来说,安装hector-slam相对来说比较简单,只需要按照以上步骤依次操作即可, 但在安装过程中,可能会出现一些报错或者其他问题,需要针对具体的问题进行调试。 ### 回答3: 在Ubuntu 18.04上安装Hector SLAM,需要做以下几个步骤: 一、安装Ros: 1、打开终端(Ctrl + Alt + T)。 2、在终端中执行以下命令,来添加ROS软件包的源: ``` sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 3、添加ROS软件包的密钥: ``` sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 ``` 4、更新软件包列表: ``` sudo apt-get update ``` 5、安装ros-desktop-full: ``` sudo apt-get install ros-melodic-desktop-full ``` 二、安装Hector SLAM: 1、安装hector-slam包: ``` sudo apt-get install ros-melodic-hector-slam ``` 2、安装ros-kinetic-gmapping: ``` sudo apt-get install ros-melodic-gmapping ``` 三、运行Hector SLAM: Hector SLAM包提供了hector_mapping节点,通过该节点可以启动Heitor码购买地图建图: ``` roslaunch hector_mapping hector_mapping.launch ``` 启动hector_mapping节点后,还需要订阅雷达或者深度相机的数据,并发布TF变换。 四、查看地图: 在地图生成过程中,hector_mapping节点会发布/map话题,该话题包含了SLAM构建出来的地图。 可以通过rviz来查看地图,启动rviz: ``` rosrun rviz rviz ``` 在rviz中,通过添加Map部分的话题来显示hector_mapping节点发布的地图。可以通过添加LaserScan(或PointCloud2)部分的话题来显示雷达(或深度相机)返回的数据。 以上操作就可以在Ubuntu 18.04上安装Hector SLAM,进行地图建图

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值