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

ROS move base 简易调试

本地地图加载

本地地图加载参考之前文章

Move base配置

<launch><node pkg="move_base" type="move_base" name="move_base" output="screen"><!-- 加载全局规划器 (二选一) --><param name="base_global_planner" value="global_planner/GlobalPlanner" /><!-- 或使用navfn:<param name="base_global_planner" value="navfn/NavfnROS" /> --><!-- 加载局部规划器 --><param name="base_local_planner" value="base_local_planner/TrajectoryPlannerROS" /><param name="global_costmap/transform_tolerance" value="0.5" /><param name="local_costmap/transform_tolerance" value="0.5" /><param name="trajectory_planner/transform_tolerance" value="0.5" /><!-- 加载配置文件 --><rosparam file="$(find z_move_base)/config/costmap_common_params.yaml" command="load" ns="global_costmap" /><rosparam file="$(find z_move_base)/config/costmap_common_params.yaml" command="load" ns="local_costmap" /><rosparam file="$(find z_move_base)/config/global_costmap_params.yaml" command="load" /><rosparam file="$(find z_move_base)/config/local_costmap_params.yaml" command="load" /><rosparam file="$(find z_move_base)/config/base_local_planner_params.yaml" command="load" /></node>
</launch>

注意,tolerance一定设置,否则无法正常工作

配置地图

在ROS包中创建配置文件(如my_robot_config目录):
​​(1) 通用代价地图参数 (costmap_common_params.yaml)​​

obstacle_range: 2.5        # 障碍物探测范围
raytrace_range: 3.0         # 清理自由空间的探测范围
footprint: [[-0.2, -0.2], [-0.2, 0.2], [0.2, 0.2], [0.2, -0.2]]  # 机器人轮廓
inflation_radius: 0.15     # 膨胀半径
cost_scaling_factor: 10.0   # 代价缩放因子

传感器配置(根据实际传感器修改)

observation_sources: scan
scan: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}

​​(2) 全局代价地图参数 (global_costmap_params.yaml)​​

global_costmap:global_frame: map          # 全局坐标系robot_base_frame: base_link  # 机器人基坐标系update_frequency: 1.0        # 更新频率publish_frequency: 0.5static_map: true             # 使用静态地图rolling_window: false        # 禁用滚动窗口(全局地图固定)

配置局部地图

​​(3) 局部代价地图参数 (local_costmap_params.yaml)​​

local_costmap:global_frame: odom           # 局部使用odom坐标系robot_base_frame: base_linkupdate_frequency: 5.0publish_frequency: 2.0static_map: false            # 动态更新局部地图rolling_window: true         # 启用滚动窗口width: 3.0                   # 窗口宽/高 (单位:米)height: 3.0resolution: 0.05             # 分辨率 (与cost_map一致)

配置规划器

​​(4) 规划器参数 (base_local_planner_params.yaml)​​

TrajectoryPlannerROS:  # 使用默认的局部规划器max_vel_x: 0.3         # 最大线速度min_vel_x: 0.1max_vel_theta: 0.5     # 最大角速度xy_goal_tolerance: 0.1  # 目标位置容差yaw_goal_tolerance: 0.05 # 目标角度容差sim_time: 1.0          # 预测轨迹时长

tf发布

rosrun tf static_transform_publisher 0 0 0 0 0 0 odom base_link 1000
rosrun tf static_transform_publisher 300 50 0 0 0 0 map odom 1000

相关文章:

  • 在postgresql中,group by时取第一个值
  • AIGC 基础篇 Python基础 04 for循环与while循环
  • 华为仓颉语言初识:并发编程之同步机制(下)
  • 华为0528笔试
  • 基于流形迁移学习的快速动态多目标进化算法(MMTL-MOEA/D)求解FDA1-FDA5和dMOP1-dMOP3,提供完整MATLAB代码
  • C++中的跳转语句
  • 大模型中Function Call的定义与核心功能
  • MMaDA: Multimodal Large Diffusion Language Models
  • AWS Lambda Python + AWS Secrets Manager + AWS Aurora Mysql
  • jupyterhub的浅浅使用-重点在解决无法登录
  • 第四章 RAG 知识库基础
  • visual studio 2022更改主题为深色
  • 深度学习:概念、特点和发展史
  • Python实例题:Python计算实变函数
  • linux libusb使用libusb_claim_interface失败(-6,Resource busy)解决方案
  • 【javascript】泡泡龙游戏中反弹和查找匹配算法
  • 第十三章 RTC 实时时钟
  • 走迷宫 II
  • NIFI的处理器:ConsumeMQTT 2.4.0
  • Java异步编程之消息队列疑难问题拆解
  • 哪个学校有网站建设/平台做推广的技巧
  • 网站app开发流程/软文500字范文
  • 怎么做展示型网站/emlog友情链接代码
  • 哪个cms方便快速建站/线上如何推广自己的产品
  • 昆明网站开发公司/搜索引擎优化方法包括
  • 厦门网站建设哪家好厦门最好的网站建设/seo工具下载