当前位置: 首页 > wzjs >正文

苏州网站设计师招聘信息阿里云速美建站

苏州网站设计师招聘信息,阿里云速美建站,网站前台和后台对接,免费logo设计生成器在线制作文章目录 一、自定义插件抽象类二、编写第一个插件1. 插件定义2. 插件实现3. 插件描述文件4. 编辑 CMakeList.txt5. 编写自定义测试程序三、不同插件间热插拔在 创建基于Move_Base的自定义局部规划器框架 博客里 自己整理了 ROS1 版本的自定义局部规划器的框架,今天整理ROS2的…

文章目录

  • 一、自定义插件抽象类
  • 二、编写第一个插件
    • 1. 插件定义
    • 2. 插件实现
    • 3. 插件描述文件
    • 4. 编辑 CMakeList.txt
    • 5. 编写自定义测试程序
  • 三、不同插件间热插拔

在 创建基于Move_Base的自定义局部规划器框架 博客里 自己整理了 ROS1 版本的自定义局部规划器的框架,今天整理ROS2的自定义插件实现热插拔。

一、自定义插件抽象类

首先,确保已安装pluginlib插件库:

sudo apt install -y ros-$ROS_DISTRO-pluginlib

接着,创建测试工作空间、自定义插件功能包及自定义插件抽象类:

# 创建 plugins_test工作空间
mkdir -p plugins_test/src && cd plugins_test/src/# 创建 motion_control_plugins功能包
ros2 pkg create motion_control_plugins --dependencies pluginlib rclcpp --build-type ament_cmake --license Apache-2.0

plugins_test/src/motion_control_plugins/include/motion_control_plugins 路径下新建motion_control_interface.hpp 做为抽象类:

#ifndef MOTION_CONTROL_INTERFACE_HPP
#define MOTION_CONTROL_INTERFACE_HPPnamespace motion_control_plugins {class MotionController {
public:virtual void start() = 0;virtual void stop() = 0;virtual ~MotionController() {}
};} // namespace motion_control_plugins#endif // MOTION_CONTROL_INTERFACE_HPP

说明

  • virtual : 关键字用于声明虚函数;
  • = 0:用于声明纯虚函数(包含至少一个纯虚函数的类被称为抽象类);

二、编写第一个插件

1. 插件定义

plugins_test/src/motion_control_plugins/include/motion_control_plugins 路径下新建linear_motion_controller.hpp 表示线性运动的插件:

#ifndef LINEAR_MOTION_CONTROLLER_HPP
#define LINEAR_MOTION_CONTROLLER_HPP#include "motion_control_plugins/motion_control_interface.hpp"namespace motion_control_plugins
{class LinearMotionController : public MotionController{public:void start() override;void stop() override;};} // namespace motion_control_plugins#endif // LINEAR_MOTION_CONTROLLER_HPP

说明
在 motion_control_plugins 命名空间下定义 类LinearMotionController ,继承抽象 类MotionController,声明 start() 、stop()成员方法,使用 override关键字表示派生类的成员函数覆盖基类的虚函数。

2. 插件实现

接着在plugins_test/src/motion_control_plugins/src/ 路径下新建 linear_motion_controller.cpp 文件:

#include <iostream>
#include "motion_control_plugins/linear_motion_controller.hpp"
namespace motion_control_plugins
{void LinearMotionController::start(){// 实现线性运动控制逻辑std::cout << "LinearMotionController::start" << std::endl;<

文章转载自:

http://5C3niCGn.bccLs.cn
http://aaUeL0j9.bccLs.cn
http://x5yUKXjz.bccLs.cn
http://R2xGd54E.bccLs.cn
http://jir2utAD.bccLs.cn
http://VG4UARB2.bccLs.cn
http://Vc110Vhh.bccLs.cn
http://TCmhBG6S.bccLs.cn
http://SmD8RsLA.bccLs.cn
http://Gh7R8pcO.bccLs.cn
http://B8rMboCl.bccLs.cn
http://wV4UvbSn.bccLs.cn
http://rTODV0Eb.bccLs.cn
http://S0PJlVXj.bccLs.cn
http://G57VcMI5.bccLs.cn
http://Onag4WaV.bccLs.cn
http://IsOv0OXG.bccLs.cn
http://HpXj3rwu.bccLs.cn
http://NnQTsKg9.bccLs.cn
http://HpJHEpSb.bccLs.cn
http://LE53rO97.bccLs.cn
http://wbpJr9ti.bccLs.cn
http://B7ZZW5Q3.bccLs.cn
http://OFbX5IJM.bccLs.cn
http://Nnh5w0z0.bccLs.cn
http://RnAxzxu3.bccLs.cn
http://GGesLm7X.bccLs.cn
http://L7kOtRCZ.bccLs.cn
http://uiZ5hcZp.bccLs.cn
http://CuyZxxKy.bccLs.cn
http://www.dtcms.com/wzjs/656001.html

相关文章:

  • 学院后勤处网站建设方案书泰安企业网站制作
  • 青海省公路建设管理局官方网站网络营销方式有哪些自动售货机景区运营
  • 网站推广活动方案wordpress字体加速
  • 上海做网站建设免费网站模板 下载
  • 简述网站制作方案和主要内容微网站微名片
  • 网站标ico怎么做郴州新网房屋出租
  • 廊坊网站设计制作空间和域名一年多少钱
  • 打鱼网站建设360搜索引擎网址
  • 四川省的住房和城乡建设厅网站网页设计培训哪家正规
  • 青岛网站建设公司专业公司wordpress 突然加速
  • 个性化网站建设多少钱济南莱芜又出新情况了
  • 凡客诚品官方网站做艺术字的网站
  • 动漫设计和动画设计seo外链建设的方法
  • 如何做招聘网站运营河南安阳市有几个县
  • 嘉兴做网站美工的工作深圳新增130例
  • 从事网站开发需要什么哪个平台建网站比较好
  • 网站功能模块什么意思网站如何做查询表单
  • 楚雄网站制作软件平台化
  • 大连建设科技网站衡水做网站服务商
  • 哪里网站建设联系章丘做网站哪家强
  • 手机网站后台短视频推广计划
  • 学校部门网站建设情况汇报深圳网页设计兴田德润i优惠吗
  • 陕西交通建设集团网站贴吧企业数据哪里找
  • 网站建设的常用技术有哪些做网站要租服务器吗
  • 泊头公司做网站最新网站架构
  • 企业门户网站建设费用会展设计案例
  • 南昌网站建设网站推广高端做网站
  • 中国制造网官方网站入口网址标志设计说明
  • 南宁建网站新闻发布会的意义
  • iH5做网站建设一个网站的所有代码