使用速腾16线激光雷达与IMU 实现Cartographer 3D建图

这篇具有很好参考价值的文章主要介绍了使用速腾16线激光雷达与IMU 实现Cartographer 3D建图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

平台:ubuntu18.04 + rosmelodic

设备: 速腾16线激光雷达(RS-Helios-16P)、IMU(WHT901B-485),使用方法见前文

1.创建backpack_2d_rs_16urdf文件

(路径:car2_ws/install_isolated/share/cartographer_ros/urdf)

<robot name="cartographer_backpack_2d">
  <material name="orange">
    <color rgba="1.0 0.5 0.2 1" />
  </material>
  <material name="gray">
    <color rgba="0.2 0.2 0.2 1" />
  </material>

  <link name="imu_link">
    <visual>
      <origin xyz="0 0 0" />
      <geometry>
        <box size="0.06 0.04 0.02" />
      </geometry>
      <material name="orange" />
    </visual>
  </link>

  <link name="rslidar">
    <visual>
      <origin xyz="0 0 0" />
      <geometry>
        <cylinder length="0.05" radius="0.03" />
      </geometry>
      <material name="gray" />
    </visual>
  </link>

  <link name="base_link" />

  <joint name="imu_link_joint" type="fixed">
    <parent link="base_link" />
    <child link="imu_link" />
    <origin xyz="0 0 0" />
  </joint>

  <joint name="laser_joint" type="fixed">
    <parent link="base_link" />
    <child link="rslidar" />
    <origin xyz="0.1007 0 0.0558" />
  </joint>

</robot>

2.创建rs16_3d.lua文件

(路径:car2_ws/src/cartographer_ros/cartographer_ros/configuration_files)

include "map_builder.lua"
include "trajectory_builder.lua"

options = {
  map_builder = MAP_BUILDER,
  trajectory_builder = TRAJECTORY_BUILDER,
  map_frame = "map",
  tracking_frame = "base_link",  
  published_frame = "base_link",
  odom_frame = "odom",
  provide_odom_frame = false,
  publish_frame_projected_to_2d = false,
  use_pose_extrapolator = false,
  use_odometry = false,
  use_nav_sat = false,
  use_landmarks = false,
  num_laser_scans = 0,
  num_multi_echo_laser_scans = 0,
  num_subdivisions_per_laser_scan = 1,
  num_point_clouds = 1,
  lookup_transform_timeout_sec = 0.2,
  submap_publish_period_sec = 0.3,
  pose_publish_period_sec = 5e-3,
  trajectory_publish_period_sec = 30e-3,
  rangefinder_sampling_ratio = 1.,
  odometry_sampling_ratio = 1.,
  fixed_frame_pose_sampling_ratio = 1.,
  imu_sampling_ratio = 1.,
  landmarks_sampling_ratio = 1.,
}

TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 1

MAP_BUILDER.use_trajectory_builder_3d = true
MAP_BUILDER.num_background_threads = 7
POSE_GRAPH.optimization_problem.huber_scale = 5e2
POSE_GRAPH.optimize_every_n_nodes = 320
POSE_GRAPH.constraint_builder.sampling_ratio = 0.03
POSE_GRAPH.optimization_problem.ceres_solver_options.max_num_iterations = 10
POSE_GRAPH.constraint_builder.min_score = 0.62
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.66

return options

3.创建cartographer_rs16_3d.launch文件

(路径:car2_ws/src/cartographer_ros/cartographer_ros/launch)

<launch>
  <param name="robot_description"
#对应之前的urdf文件
    textfile="$(find cartographer_ros)/urdf/backpack_2d_rs_16.urdf" />  

  <node name="robot_state_publisher" pkg="robot_state_publisher"
    type="robot_state_publisher" />

  <node name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files
#对应之前的lua文件
           -configuration_basename rs16_3d.lua"
      output="screen">

#对应自己的激光点云话题
    <remap from="points2" to="/rslidar_points" />

#对应自己的IMU话题
     <remap from="imu" to="/wit/imu" /> 
  </node>

  <node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"
      type="cartographer_occupancy_grid_node" args="-resolution 0.05" />
</launch>

4.创建demo_rs16_3d.launch文件

(路径:car2_ws/src/cartographer_ros/cartographer_ros/launch)

<!--
  Copyright 2016 The Cartographer Authors

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<launch>
  <param name="/use_sim_time" value="false" />

  <include file="$(find cartographer_ros)/launch/cartographer_rs16_3d.launch" />

  <node name="rviz" pkg="rviz" type="rviz" required="true"
      args="-d $(find cartographer_ros)/configuration_files/demo_3d.rviz" />
</launch>

5.编译并运行

catkin_make_isolated --install --use-ninja
source ./devel_isolated/setup.bash
roslaunch cartographer_ros demo_rs16_3d.launch

6.运行 激光雷达和IMU【见 前文】

catographer 3d雷达建图,cartographer,3d,ubuntu,机器人

 catographer 3d雷达建图,cartographer,3d,ubuntu,机器人

7. 结果:

1.rqt_grapher

catographer 3d雷达建图,cartographer,3d,ubuntu,机器人文章来源地址https://www.toymoban.com/news/detail-772359.html

到了这里,关于使用速腾16线激光雷达与IMU 实现Cartographer 3D建图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编译LeGo-LOAM,并且采用速腾聚创激光雷达与之相连

    参考链接:实车部署采用速腾聚创RS16激光雷达的LeGo-LOAM LeGO-LOAM初探:原理,安装和测试 1.gtsam安装(install的过程比较慢,需要耐心等待) 2.下载并编译LeGO-LOAM 3.数据集试运行 数据集的百度云地址:https://pan.baidu.com/s/1SkrqfN82il1m6jhkLZT-WA 密码: oqo8 打开 LeGO-LOAM/LeGO-LOAM/launch/run.

    2024年02月08日
    浏览(67)
  • 镭神智能N10激光雷达测评+ROS_Cartographer应用测试

      将N10雷达连接ROS主控(本次使用Nvidia Jetson nano+melodic系统进行测试),通过Ubuntu电脑或虚拟机查看构建好的地图。   N10雷达的扫描频率为 6~12HZ的可调区间 ,对应可实现 0.48°~0.96°的角度分辨率,N10采用TOF的测距技术,每秒4500次的高速激光测距采样能力,可以在25米半径

    2024年02月16日
    浏览(79)
  • 使用Open3D实现3D激光雷达可视化:以自动驾驶的2DKITTI深度框架为例(下篇)

    原创 | 文 BFT机器人  【原文链接】使用Open3D实现3D激光雷达可视化:以自动驾驶的2DKITTI深度框架为例(上篇) 05 Open3D可视化工具 多功能且高效的3D数据处理:Open3D是一个全面的开源库,为3D数据处理提供强大的解决方案。它具有优化的后端架构,可实现高效的并行化,非常适

    2024年02月04日
    浏览(61)
  • 使用Open3D实现3D激光雷达可视化:以自动驾驶的2DKITTI深度框架为例(上篇)

    原创 | 文 BFT机器人  3DLiDAR传感器(或)三维光探测和测距是一种先进的发光仪器,能够像我们人类一样在三维空间中感知现实世界。这项技术特别彻底改变了地球观测、环境监测、侦察和现在的自动驾驶领域,它提供准确和详细数据的能力有助于促进我们对环境和自然资源

    2024年02月03日
    浏览(56)
  • Ubuntu18.04+ros-melodic Fast-lio2安装与实物运行【速腾16线+imu】

    对应使用方法: 速腾16线激光雷达(RS-Hellos-16P)在windows与ubuntu18.04下的调试与点云数据格式转换(pointclould2-->laserscan)_百川01的博客-CSDN博客使用2D雷达laser+imu实现cartographer实时建图_百川01的博客-CSDN博客 参考链接:使用速腾雷达32线Helios和fast-LIO2算法建图(一)_32线雷达数

    2024年02月16日
    浏览(73)
  • 如何实现基于图像与激光雷达的 3d 场景重建?

    智影S100是一款基于图像和激光点云融合建模技术的 高精度轻巧手持SLAM三维激光扫描仪。 设备机身小巧、手持轻便,可快速采集点云数据;支持实时解算、实时预览点云成果,大幅提高内外业工作效率;同时支持一键生成实景三维Mesh模型,实现城市建筑、堆体、室内空间等

    2024年02月21日
    浏览(53)
  • 使用激光雷达(LiDAR)和相机进行3D物体跟踪

    使用相机和激光雷达进行时间到碰撞(TTC)计算 在我的先前文章中,我介绍了通过检测关键点和匹配描述符进行2D特征跟踪的主题。在本文中,我将利用这些文章中的概念,以及更多的内容,开发一个软件流水线,使用相机和激光雷达测量在3D空间中检测和跟踪对象,并使用

    2024年02月05日
    浏览(49)
  • 3D激光雷达-Robotsense使用---LIO_SAM测试

    1. 参考链接 TixiaoShan/LIO-SAM: LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping lio-sam运行自己的rosbag_heirenlop的博客-CSDN博客 LIO-SAM:配置环境、安装测试、适配自己采集数据集_有待成长的小学生的博客-CSDN博客_lio-sam 2. 雷达驱动-更改点云类型 运行lio-sam需要用到 ring 和

    2024年02月03日
    浏览(40)
  • 4D毫米波雷达和3D雷达、激光雷达全面对比

              众所周知,传统3D毫米波雷达存在如下性能缺陷:         1)静止目标和地物杂波混在一起,难以区分;         2) 横穿车辆和行人多普勒为零或很低,难以检测;         3) 高处物体和地面目标不能区分,容易造成误刹,影响安全性;        

    2024年02月05日
    浏览(58)
  • 3D激光雷达和相机融合

    主要看重投影误差,cv的标定识别率也太低了。。。原因是找到了,相机给的曝光时间5ms,增大曝光时间成功率大大提升,但曝光时间给打了,影响实时性,头疼。。 主要是3D-2D的标定 采集标定数据 参照以下采集标定数据和处理标定数据,pcd角点选取和图像角点选取: https:

    2024年02月06日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包