其中的机器人的配置参数可以在base_local_planner包中的trajectory_planner_ros.cpp中进行修正。其中的holonomic_robot在trajectory_planner.cpp中进行选择。
/holonomic_robot (bool, default: true)
确定是否对完整约束还是对非完整约束机器人进行速度命令。对于完整机器人,扫射速度命令可以发送给机器人。对于非完整机器人,没有扫射速度被发送。
例如:
holonomic_robot: false yaw_goal_tolerance: 0.1 # about 6 degrees xy_goal_tolerance: 0.1 # 10 cm latch_xy_goal_tolerance: false pdist_scale: 0.8 gdist_scale: 0.6 meter_scoring: true heading_lookahead: 0.325 heading_scoring: false heading_scoring_timestep: 0.8 occdist_scale: 0.1 oscillation_reset_dist: 0.05 publish_cost_grid_pc: false prune_plan: true sim_time: 1.0 sim_granularity: 0.025 angular_sim_granularity: 0.025 vx_samples: 8 vtheta_samples: 20 dwa: true simple_attractor: false
若holonomic_robot: true
其中的:yaw_goal_tolerance: 0.1 # about 6 degrees//代表当到达目标时,控制器的偏航/旋转误差 xy_goal_tolerance: 0.1 # 10 cm//到到达目标时,控制器在X Y的位置误差 latch_xy_goal_tolerance: false//如果目标误差被锁定,若机器人达到目标XY位置,它将旋转到位,即使误差没有达到,也会做旋转
代表Goal Tolerance Parametersor,是可以在trajectory_planner_ros.cpp中进行修改的。
sim_time: 1.0//轨迹模拟时间 sim_granularity: 0.025//给定轨迹两点之间的间隔尺寸 angular_sim_granularity: 0.025//给定轨迹两点之间的间隔角度 vx_samples: 50//在X方向上速度空间使用的样本数 vtheta_samples: 200//在角度上速度空间使用的样本数 controller_frequency: 3.0//控制器的频率。当用move_base时,可以只设置controller_frequency参数,可以放心的忽略它。
代表Forward Simulation Parameters,可以在trajectory_planner_ros.cpp中进行修改的。
pdist_scale: 0.8//控制器距离给定的路径有多近的加权值 gdist_scale: 0.4////控制器试图达到局部目标,或者是控制速度的加权值 meter_scoring: true//假设goal_distance and path_distance以米为单位被表示,gdist_scale和pdist_scale参数是否呈现。 heading_lookahead: 0.325//在原地旋转轨迹得分不同时,单位米中向前走多远 heading_scoring: false//是否是基于机器人朝向路径还是它的距离来自路径的得分robot's heading to the path or its distance from the path heading_scoring_timestep: 0.8//当用机器人heading to the path进行模拟路径时,得分 occdist_scale: 0.1//控制器避障的好坏的加权值 publish_cost_grid_pc: false//当规划时,规划器是否发布成本网格。当为true时,sensor_msgs/PointCloud2 在/cost_cloud的topic上可用。将得分参数考虑,每个点云表示成本网格并且具有每个单独的得分函数单元,以及对每个单元的总成本。 dwa: true//是否用DWA模式
代表Trajectory Scoring Parameters,可以在trajectory_planner_ros.cpp中进行修改的。
oscillation_reset_dist: 0.05//在震荡标志复位之前,机器人必须走多远
代表Oscillation Prevention Parameters,可以在trajectory_planner_ros.cpp中进行修改的。
prune_plan: true//当机器人沿着路径走时,是否要耗尽路径。如果为true,机器人移动过的1米时,点将会在计划中消失。
代表Global Plan Parameters,可以在trajectory_planner_ros.cpp中进行修改的。
总之,机器人的/holonomic_robot (bool, default: false)赋值,可以使用base_local_planner_params.yaml修改相应的参数,从而将trajectory_planner_ros.cpp中相应的参数进行修正。