ROS学习(14)自定义四轮小车的ROS导航

文章目录

  • 前言
  • 一、创建编译功能包
  • 二、代价地图配置
  • 三、基本局部规划器配置
  • 四、创建导航包的启动文件
  • 五、导航仿真
  • 六、总结


前言

本篇为自定义四轮小车的ROS导航仿真,与前面自定义机器人导航类似。该篇源码非原创,特此说明,作者博客地址在这里:https://blog.csdn.net/wangchao7281/article/details/53691351,本想转载,但是没找到快捷键。。。所以再记录一下吧。

一、创建编译功能包

切换到catkin_ws/src目录下,如下:

catkin_create_pkg nav_sim urdf xacro

切换到catkin_ws目录下,编译该功能包,如下:

catkin_make nav_sim

在该功能包下创建include、src、launch、urdf文件夹,在urdf文件下创建urdf文件夹和xacro文件夹。

二、代价地图配置

新建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]]
#robot_radius: ir_of_robot
inflation_radius: 0.6
cost_scaling_factor: 10.0
observation_sources: scan
scan: {sensor_frame: hokuyo_link,  observation_persistence: 0.0, max_obstacle_height: 0.4, min_obstacle_height: 0.0, data_type: LaserScan, topic: /scan, marking: true, clearing: true}

新建global_costmap_params.yaml配置文件(即全局代价地图配置),内容如下:

global_costmap:
  global_frame: /map
  robot_base_frame: /base_footprint
  update_frequency: 1.0
  static_map: true

新建local_costmap_params.yaml配置文件(即局部代价地图配置),内容如下:

local_costmap:
  global_frame: /map
  robot_base_frame: /base_footprint
  update_frequency: 5.0
  publish_frequency: 1.0
  static_map: false
  rolling_window: true
  width: 5.0
  height: 5.0
  resolution: 0.05
  tranform_tolerance: 1.0
  planner_frequency: 1.0
  planner_patiente: 5.0
#plugins:
# {name: obstacles, type: "costmal_2d::ObstacleLayer",
# name: inflation, type: "costmal_2d::InflationLayer"}

三、基本局部规划器配置

新建base_local_planner_params.yaml配置文件(即本地代价地图配置),用于产生一个速度命令来移动机器人,内容如下:

TrajectoryPlannerROS:
  controller_frequency: 3.0
  max_vel_x: 0.3
  min_vel_x: 0.05
  max_rotational_vel: 0.5
  min_in_place_rotational_vel: 0.01
  min_in_place_vel_theta: 0.5
  escape_vel: -0.1
  max_vel_theta: 1.0
  min_vel_theta: -1.0
  acc_lim_theta: 3.2
  acc_lim_x: 2.5
  acc_lim_y: 2.5
  yaw_goal_tolerance: 0.1
  xy_goal_tolerance: 0.1
  pdist_scale: 0.8
  gdist_scale: 0.4
  holonomic_robot: false
  meter_scoring: true

四、创建导航包的启动文件

新建myrobot_world.launch启动文件,内容如下:


  
  
  
  
  
  
  

  
    
    
    
    
  
  
  
  
  
 
  
   
  

  
  


新建move_base.launch启动文件,内容如下:





  
   

  
   

  
    
    
    
    
    
    
    
  


使用如下命令依次执行启动文件:

roslaunch nav_sim myrobot_world.launch
roslaunch nav_sim move_base.launch

五、导航仿真

单击2D Nav Goal按钮,设置导航目标,可以观察到路径规划,四轮小车向目标点移动,如图:

六、总结

再次声明,本篇源码非原创,作者链接见前言,四轮小车成功移动到目标点。

你可能感兴趣的:(ROS,ROS)