ROS2入门到精通—— 2-5 ROS2实战:自定义控制插件

avatar
作者
猴君
阅读量:2

本文将展示如何自定义控制插件,本文可作为编写控制器插件的参考

1 自定义控制插件概述

本文实现nav2_pure_pursuit_controller纯追踪控制器,nav2_pure_pursuit_controller::PurePursuitController 继承自基类nav2_core::Controller

需要实现以下函数:

虚函数方法描述
configure()当控制器服务器进入on_configure状态时调用该方法。理想情况下,该方法应执行ROS参数的声明和控制器成员变量的初始化。该方法接受4个输入参数:父节点的弱引用、控制器名称、tf缓冲区指针和costmap的共享指针
activate()当控制器服务器进入on_activate状态时调用该方法。理想情况下,该方法应实现在控制器进入活动状态之前必要的操作
deactivate()当控制器服务器进入on_deactivate状态时调用该方法。理想情况下,该方法应实现在控制器进入非活动状态之前必要的操作
cleanup()当控制器服务器进入on_cleanup状态时调用该方法。理想情况下,该方法应清理为控制器创建的资源
setPlan()当全局路径更新时调用该方法。理想情况下,该方法应执行转换全局路径和存储路径的操作
computeVelocityCommands()当控制器服务器要求提供新的速度命令,以便机器人按照全局路径行驶时,调用该方法。该方法返回一个geometry_msgs::msg::T

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!