ros 建图导航参数配置

目录

1.平滑减速功能包 yocs_velocity_smoother

Gmapping 建图参数

Move_base 参数

Amcl 蒙特卡罗定位

全局路径规划: global_planner

局部路径规划:base_local_planner

局部路径规划: teb_local_planner

局部路径规划算法: dwa_local_planner

代价地图: costmap_2d

costmap_common_params.yaml

global_costmap_params.yaml

local_costmap_params.yaml


1.平滑减速功能包 yocs_velocity_smoother

  yocs_velocity_smoother是一个速度、加速度限制器,用来防止robot navigation的速度/转速过快,

加速度/快减速过大

订阅的话题:

  raw_cmd_vel:原始速度指令

  Odometry: 接收里程计信息,确保下发的运动命令没有大的跳跃。根据feedback参数配置

  robot_cmd_vel:  接受robot 命令信息,确保下发的运动命令没有大的跳跃。

                               根据feedback参数配置

发布的话题:

  smooth_cmd_vel:  限制幅度后的速度

 

参数文件:yocs_velocity_smoother.yaml

参数

含义

现用值

默认值

speed_lim_v

最大线速度

0.4

 

speed_lim_w

最大角速度

0.5

 

accel_lim_v

最大线加速度

0.15

 

accel_lim_w

最大角加速度

0.5

 

frequency

输出速度频率。不论输入命令的频率。必要时插值

20.0

 

decel_factor

加减速比,使减速更快,对于惯性大的机器人

 

10.0

 

robot_feedback

速度反馈

0

 

 

使用例子

  <arg name="node_name"             value="velocity_smoother"/>

  <arg name="nodelet_manager_name"  value="nodelet_manager"/>

  <arg name="config_file"           value="$(find smart_node)/config/yocs_velocity_smoother.yaml"/>

  <arg name="raw_cmd_vel_topic"     value="cmd_vel"/>

  <arg name="smooth_cmd_vel_topic"  value="smoother_cmd_vel"/>

  <arg name="robot_cmd_vel_topic"   value="robot_cmd_vel"/>

  <arg name="odom_topic"            value="odom"/>

  <!-- nodelet manager -->

  <node pkg="nodelet" type="nodelet" name="$(arg nodelet_manager_name)" args="manager" respawn="true"/>

  <!-- velocity smoother -->

  <include file="$(find yocs_velocity_smoother)/launch/velocity_smoother.launch">

    <arg name="node_name"             value="$(arg node_name)"/>

    <arg name="nodelet_manager_name"  value="$(arg nodelet_manager_name)"/>

    <arg name="config_file"           value="$(arg config_file)"/>

    <arg name="raw_cmd_vel_topic"     value="$(arg raw_cmd_vel_topic)"/>

    <arg name="smooth_cmd_vel_topic"  value="$(arg smooth_cmd_vel_topic)"/>

    <arg name="robot_cmd_vel_topic"   value="$(arg robot_cmd_vel_topic)"/>

    <arg name="odom_topic"            value="$(arg odom_topic)"/>

  </include>

 

参考网址:

https://www.cnblogs.com/21207-iHome/p/8118875.html

https://www.cnblogs.com/21207-iHome/p/8228356.html

 

Gmapping 建图参数

参数

含义

现用值

默认值

base_frame

机器人坐标系

 

 

odom_frame

里程计坐标系

 

 

map_update_interval

地图更新的频率(时间间隔)

0.01

 

maxUrange

使用距离范围内的激光数据

8.0

 

maxRange

有效的最大激光范围

10.0

 

sigma

匹配使用的sigma

0.05

 

kernelSize

最多使用内核数(用于似然匹配)

3

 

lstep

优化机器人移动的初始值(距离)

0.05

 

astep

优化optimize机器人移动的初始值(角度)

0.05

 

iterations

扫描匹配器的迭代次数

5

 

lsigma

用于计算的波束可能性的sigma

0.075

 

ogain

在评估可能性时使用的增益,用于平滑重采样效果

3.0

 

lskip

为0,表示所有的激光都处理

0

 

minimumScore

判断scanmatch是否成功的阈值

30

 

srr

运动模型的噪声参数

0.01

 

srt

运动模型的噪声参数

0.02

 

str

运动模型的噪声参数

0.01

 

stt

运动模型的噪声参数

0.01

 

linearUpdate

机器人移动linearUpdate距离,进行scanmatch

0.05

 

angularUpdate

机器人选装angularUpdate角度,进行scanmatch

0.0436

 

temporalUpdate

如果上次扫描处理的时间早于更新时间(秒),则处理扫描。小于零的值将关闭基于时间的更新

-1.0

 

resampleThreshold

基于Neff的重采样阈值

0.5

 

particles

粒子个数,用于粒子滤波算法

50

 

xmin

map初始化的大小

-1.0

 

ymin

map初始化的大小

-1.0

 

xmax

map初始化的大小

1.0

 

ymax

map初始化的大小

1.0

 

delta

地图的分辨率

0.05

 

llsamplerange

可能性的平移采样范围

0.01

 

llsamplestep

可能性的平移采样步骤

0.01

 

lasamplerange

角度采样范围的可能性

0.005

 

lasamplestep

角度采样步骤的可能性

0.005

 

scan

激光数据主题

 

 

 

Move_base 参数

参数

含义

现用值

默认值

shutdown_costmaps

当move_base在不活动状态时,是否关掉costmap

false

 

controller_frequency

向底盘发送控制命令的频率(往cmd_vel主题中发)

4.0

 

controller_patience

在空间清理操作执行前,控制器花多长时间等有效控制下发

3.0

 

planner_frequency

全局规划操作的执行频率.如果设置为0.0,则全局规划器仅在接收到新的目标点或者局部规划器报告路径堵塞时才会重新执行规划操作

1.0

 

planner_patience

在空间清理操作执行前,留给规划器多长时间来找出一条有效规划

3.0

 

oscillation_timeout

执行修复机制前,允许振荡的时长

5.0

 

oscillation_distance

来回运动在多大距离以上不会被认为是振荡

0.2

 

base_global_planner

指定全局规划器为global

"global_planner/GlobalPlanner"

 

base_local_planner

指定局部规划器为teb

"teb_local_planner/TebLocalPlannerROS"

 

max_planning_retries

 

1

 

recovery_behavior_enabled

 

true

 

clearing_rotation_allowed

 

true

 

recovery_behaviors: //清除costmap 的策略

  - name:

'aggressive_reset'

type:

'clear_costmap_recovery/ClearCostmapRecovery'

 

aggressive_reset:

  reset_distance: 0.3

  layer_names: [obstacle_layer]

move_slow_and_clear: //机器人低速移动时限制

  clearing_distance: 0.5

  limited_trans_speed: 0.1

  limited_rot_speed: 0.4

  limited_distance: 0.3

Amcl 蒙特卡罗定位

常用地图有2种:

    1.基于特征,仅指明在指定位置(地图中包含的对象的位置)的环境的形状。特征表示使得

### 使用ROS进行SLAM 在机器人操作系统(ROS)环境中,实现同步定位与地(SLAM)是一项核心任务。对于希望利用ROS来进行工作的开发者而言,存在多种方法和技术可供选择。 #### 加载机器人模型 为了准备环境,需要先加载机器人的模文件[^1]。这些文件包含了关于机器人物理特性的详细描述,比如外形轮廓、具体尺寸以及所配备的各种传感器的信息。这一步骤至关重要,因为它确保了后续操作能够基于准确的硬件参数展开。 #### 选用合适的SLAM算法库 针对不同类型的感知设备,可以选择不同的SLAM解决方案。例如,ORB-SLAM2是一个适用于视觉传感器如单目、双目或RGB-D摄像头的强大工具,它不仅能够追踪摄像机路径还能创三维空间内的稀疏特征点云[^3]。而当涉及到激光测距仪时,则可以考虑采用`slam_toolbox`这样的专门软件包,在此过程中可以通过编辑配置文件来自定义诸如地精度、探测距离等重要参数设置[^4]。 #### 配置并启动SLAM节点 以`slam_toolbox`为例说明具体的实施过程。用户应当依据实际需求调整默认设定,并保存为新的`.yaml`格式配置文档(假设命名为`laoer.yaml`)。之后借助如下指令即可顺利激活该功能模块: ```bash ros2 launch slam_toolbox online_async_launch.py params_file:=laoer.yaml ``` 上述命令会读取指定位置处经过优化处理过的参数集合作为目标运行条件的一部分传递给对应的launch脚本执行。 #### 学习资源推荐 对于想要深入学习如何运用ROS开展SLAM研究的人来说,《机器人导航(仿真)-SLAM》系列教程提供了详尽的操作指南和理论基础介绍[^2]。这份资料覆盖了从基础知识到高级应用各个层面的内容,非常适合初学者逐步掌握这项技能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值