s2e激光雷达环境配置和Cartographer建图

配置思岚s2e激光雷达使用环境,最终成功launch调出rviz界面并看到点云,并使用Cartographer根据雷达点云进行建图。

准备阶段

配置好ros环境,博主的配置为Ubuntu20.04,ros版本为noetic,这里推荐小鱼的一键安装:

wget http://fishros.com/install -O fishros && . fishros 

调出可视化点云界面

首先访问思岚科技(SLAMTEC)资源下载中心及技术支持联系方式并下载应用手册:

查看位于第5页的“Linux/MacOs 网络配置”并按照提示操作连接激光雷达,在此之前需要将激光雷达通过数据线连接电脑并插上电源。

注意,这里的接口名称需要根据实际情况进行调整,可以在终端使用 ifconfig 查看。

然后在你自己的工作环境下创建ros_ws文件夹,在目录下创建src文件夹并从链接网址GitHub - Slamtec/rplidar_ros中获取rplidar安装包。

mkdir ros_ws
cd ros_ws
mkdir src
cd src
git clone https://github.com/Slamtec/rplidar_ros.git

下载后在/ros_ws路径下执行以下代码即可调出可视化界面看到雷达点云。

colcon build
source ./install/setup.bash
roslaunch rplidar_ros rplidar_s2e.launch

点云示例如下:

使用Cartographer进行建图

可以自行上网检索Cartographer安装方法,这里还是推荐小鱼的一键安装

wget http://fishros.com/install -O fishros && . fishros 

这个代码还可以安装很多其他工具,大家可以自行探索。

根据提示选择 9 安装Cartographer,完成后进入/cartographer_ws文件夹(博主的是在主目录里,这个可能与安装时执行代码的终端路径有关)下运行以下代码进行编译:

colcon build

等待几分钟编译完成即可。

接着找到

/catographer_ws/src/cartographer_ros/cartographer_ros/configuration_files/revo_lds.lua

文件进行修改,修改如下,一共修改了三处:

  tracking_frame = "laser",  --horizontal_laser_link改为laser
  published_frame = "laser",  --horizontal_laser_link改为laser
  odom_frame = "odom",
  provide_odom_frame = true,
  publish_frame_projected_to_2d = false,
  use_pose_extrapolator = on,  --此处将true改为on

再找到

/catographer_ws/src/cartographer_ros/cartographer_ros/launch/demo_revo_lds.launch

对launch文件进行修改,修改后的代码如下:

<launch>
  <param name="/use_sim_time" value="true" />
  <node name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files
          -configuration_basename revo_lds.lua"
      output="screen">
    <remap from="scan" to="scan" />   
    <!--horizontal_laser_2d改为scan,这里我的激光雷达发出的时scan单线话题-->
  </node>
 
  <node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"
      type="cartographer_occupancy_grid_node" args="-resolution 0.05" />
 
  <node name="rviz" pkg="rviz" type="rviz" required="true"
      args="-d $(find cartographer_ros)/configuration_files/demo_2d.rviz" />   
  <!--删除了一个rosbag play节点-->
</launch>

修改好后需要重新编译

catkin_make_isolated --install --use-ninja

这样准备工作就完成了,回到cartographer_ws目录下,运行代码打开可视化界面:

cd catographer_ws
source install_isolated/setup.bash
roslaunch cartographer_ros demo_revo_lds.launch

运行结果如下:

非常好,您已经掌握了一些ROS方面的知识。那么,接下来我可以为您介绍一些关于智能车激光SLAM的方法。 智能车激光SLAM主要包括两个步骤:定位。其中,是指利用激光雷达SLAM算法,将车辆周围的环境信息转化为地。定位是指利用车载传感器,比如GPS、IMU等,结合地信息,确定车辆在地中的位置。 在ROS中,我们可以使用gmapping算法来实现激光SLAM。具体来说,我们需要启动雷达节点gmapping算法,然后通过RViz可视化工具来查看立的地。 启动雷达节点gmapping算法可以使用gmapping.launch文件。该文件中会启动雷达节点,并且将激光数据传输到gmapping算法中进行完成后,可以使用mapSaver.launch文件实现自动保存地。 除了gmapping算法外,还有其他一些SLAM算法可供选择,比如Hector SLAM、Cartographer等。每种算法都有其适用的场景优缺点,需要根据实际需求来选择。 在定位方面,我们可以使用AMCL算法来实现。AMCL算法是一种基于粒子滤波的定位算法,可以结合地信息传感器数据来确定车辆的位置。具体来说,我们需要启动雷达节点AMCL算法,然后通过RViz可视化工具来查看车辆在地中的位置。 希望这些信息能对您有所帮助。如果您有其他问题,可以随时问我。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值