//创建waypoint_follower实例
waypoint_follower::PurePursuitNode ppn;
//执行构造函数pure puresuit_core中构造函数
PurePursuitNode::PurePursuitNode()
: private_nh_("~")
, pp_()
, LOOP_RATE_(30)
, is_waypoint_set_(false)
, is_pose_set_(false)
, is_velocity_set_(false)
, is_config_set_(false)
, current_linear_velocity_(0)
, command_linear_velocity_(0)
, param_flag_(-1)
, const_lookahead_distance_(4.0)
, const_velocity_(5.0)
, lookahead_distance_ratio_(2.0)
, minimum_lookahead_distance_(6.0)
{
initForROS();
// initialize for PurePursuit
pp_.setLinearInterpolationParameter(is_linear_interpolation_);
}
//运行ros
ppn.run();
//run函数中的computeLookaheadDistance函数
//最大前向距离为当前速度乘以10

本文深入解析了Autoware中的waypoint_follower模块,特别是PurePursuitNode类及其PurePursuit核心算法。PurePursuitNode的构造函数详细配置了节点参数,如循环速率、目标点设置、位置和速度状态。run()函数中,computeLookaheadDistance函数动态计算最大前向距离,基于当前速度和预设比例因子。算法计算车辆曲率,以实现对目标点的精确跟踪。
最低0.47元/天 解锁文章
4691

被折叠的 条评论
为什么被折叠?



