ros2 action相关
总体代码参考:
一定要先看这里的示例,后续是对这个示例的说明补充
重点关注execute中,思考action的客户端与服务端联动过程中需要的是,任务执行的一些状态信息交互,就能明补execute为什么这样写了
代码讲解
void execute(const std::shared_ptr<GoalHandleFibonacci> goal_handle)
{
// 日志:开始执行目标
RCLCPP_INFO(this->get_logger(), "Executing goal");
// 设置循环频率为 1Hz(每秒执行一次)
rclcpp::Rate loop_rate(1);
// 获取目标参数(目标中的 Fibonacci 序列长度)
const auto goal = goal_handle->get_goal();
// 创建用于发送反馈的对象
auto feedback = std::make_shared<Fi