当前位置: 首页 > news >正文

ros noetic使用pointcloud_to_laserscan 将2d激光雷达与深度摄像头数据融合

配置文件

src/wpb_home/wpb_home_tutorials/nav_depth/local_costmap_params.yaml

local_costmap: global_frame: odom robot_base_frame: base_footprint static_map: false rolling_window: true width: 3.0 height: 3.0 update_frequency: 10.0 publish_frequency: 10.0 transform_tolerance: 1.0 plugins: - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} - {name: inflation_layer, type: "costmap_2d::InflationLayer"}

配置文件

src/wpb_home/wpb_home_tutorials/nav_depth/costmap_common_params.yaml

robot_radius: 0.25 obstacle_layer: obstacle_range: 3.0 raytrace_range: 6.0 observation_sources: base_lidar depth_scan base_lidar: data_type: LaserScan topic: /scan marking: true clearing: true depth_scan: data_type: LaserScan topic: /depth_scan marking: true clearing: true inflation_layer: inflation_radius: 0.5

配置文件

src/wpb_home/wpb_home_tutorials/nav_depth/global_costmap_params.yaml

global_costmap: global_frame: map robot_base_frame: base_footprint static_map: false rolling_window: true update_frequency: 1.0 publish_frequency: 1.0 transform_tolerance: 1.0 recovery_behaviors: - name: 'conservative_reset' type: 'clear_costmap_recovery/ClearCostmapRecovery' - name: 'rotate_recovery' type: 'rotate_recovery/RotateRecovery' - name: 'aggressive_reset' type: 'clear_costmap_recovery/ClearCostmapRecovery' conservative_reset: reset_distance: 2.0 layer_names: ["obstacle_layer"] aggressive_reset: reset_distance: 0.0 layer_names: ["obstacle_layer"]

配置文件

src/wpb_home/wpb_home_tutorials/nav_depth/depth_to_scan.yaml

target_frame: base_footprint transform_tolerance: 0.3 min_height: 0.10 max_height: 2.00 angle_min: -1.57 angle_max: 1.57 angle_increment: 0.005 scan_time: 0.1 range_min: 0.4 range_max: 6.0 use_inf: true

launch文件

<launch> <!-- 载入 机器人 和 RoboCup@Home 的仿真场景 --> <include file="$(find wpr_simulation)/launch/wpb_stage_robocup.launch"/> <!-- Gmapping --> <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping"/> <!-- Rviz --> <arg name="rvizconfig" default="$(find wpr_simulation)/rviz/slam.rviz" /> <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" required="true" /> <!-- 手柄控制 --> <node respawn="true" pkg="joy" type="joy_node" name="joy_node" > <param name="dev" type="string" value="/dev/input/js0" /> <param name="deadzone" value="0.12" /> </node> <param name="axis_linear" value="1" type="int"/> <param name="axis_angular" value="0" type="int"/> <param name="scale_linear" value="0.5" type="double"/> <param name="scale_angular" value="1" type="double"/> <node pkg="wpr_simulation" type="teleop_js_node" name="teleop_js_node"/> <node pkg="move_base" type="move_base" name="move_base"> <rosparam file="$(find wpb_home_tutorials)/nav_depth/costmap_common_params.yaml" command="load" ns="global_costmap" /> <rosparam file="$(find wpb_home_tutorials)/nav_depth/costmap_common_params.yaml" command="load" ns="local_costmap" /> <rosparam file="$(find wpb_home_tutorials)/nav_depth/global_costmap_params.yaml" command="load" /> <rosparam file="$(find wpb_home_tutorials)/nav_depth/local_costmap_params.yaml" command="load" /> <param name="base_global_planner" value="global_planner/GlobalPlanner" /> <param name="base_local_planner" value="wpbh_local_planner/WpbhLocalPlanner" /> </node> <node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan" output="screen"> <!-- name="pointcloud_to_laserscan" 将命名空间载入 rosparam,所以--> <!-- 载入参数 --> <rosparam file="$(find wpb_home_tutorials)/nav_depth/depth_to_scan.yaml" /> <!-- 输入点云 --> <remap from="cloud_in" to="/kinect2/sd/points"/> <!-- 输出 LaserScan --> <remap from="scan" to="/depth_scan"/> </node> <node pkg="wpr_simulation" type="demo_map.py" name="explore_then_return" output="screen" > </node> <node pkg="wpr_simulation" type="save_map_and_start_amcl.py" name="save_map_and_start_amcl" output="screen" > </node> <node pkg="wpr_simulation" type="initialpose_service.py" name="initialpose_service" output="screen" > </node> </launch>
http://www.cnnetsun.cn/news/54657.html

相关文章:

  • 企业级RPA利器OpenRPA:零基础快速部署与实战应用完全指南
  • 如何免费解锁百度网盘SVIP极速下载:终极完整指南
  • OpenWRT插件中心iStore:5分钟快速上手终极指南
  • Java Excel处理性能革命:FastExcel如何实现20倍效率提升
  • 终极Windows日志管理方案:快速搭建专业级监控中心
  • 2025年12月14日全球AI前沿动态
  • 剪映自动化神器:Python编程实现智能视频剪辑的革命性突破
  • 终极硬件信息获取指南:5分钟掌握hwinfo跨平台监控技术
  • MacOS鼠标滚动终极优化:如何让外接鼠标体验超越触控板?[特殊字符]
  • 【Java毕设全套源码+文档】基于springboot的电影院订票信息管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • Unity反向遮罩黑科技:彻底颠覆传统UI设计思维
  • 3大技巧玩转Equalizer APO:从入门到精通的音频增强终极指南
  • 10分钟精通AMD处理器调试:SMU工具的完整使用指南
  • GridPlayer终极指南:轻松实现多视频同步播放的免费神器
  • 如何用OneMore插件实现终极笔记管理:开源免费的效率神器
  • Bilibili-Evolved终极评测:从基础体验到专业玩家的全面升级指南
  • ubuntu常用命令
  • wvp-GB28181-pro国标视频平台完整使用教程:从零搭建到实战应用
  • 终极指南:LXMusic音源全面解析与使用技巧
  • GridPlayer:免费开源的多视频网格播放器终极解决方案
  • Terraria地图编辑器终极使用指南:5步轻松打造完美游戏世界
  • iStore插件中心终极指南:5步轻松搞定OpenWRT插件安装与管理
  • OneMore插件:让OneNote效率提升10倍的神器
  • 终极指南:快速上手轻量级文本转语音引擎eSpeak NG
  • 云顶之弈智能挂机助手:解放双手的自动化游戏神器
  • 图像分割标注转换:从入门到精通的全方位指南
  • 3步精通Draw.io Mermaid插件:小白也能快速上手的文本转图表神器
  • 12.14周报
  • 3分钟掌握Easy-Scraper:零基础网页数据抓取神器
  • 飞书文档批量导出终极指南:告别手动烦恼,实现高效迁移