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

惠州h5网站建设快点tv下载安装

惠州h5网站建设,快点tv下载安装,深圳网站建设深圳企业网站建设,深圳龙岗做网站文章目录 一、自定义插件抽象类二、编写第一个插件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://www.dtcms.com/wzjs/369515.html

相关文章:

  • 网站收录做关键词排名衡阳seo服务
  • 如何查看一个网站做的外链西安网站推广排名
  • 餐饮网站程序爱站工具网
  • 网站开发准备工作怎么做关键词排名靠前
  • 红色简约的手机社区类网站html5响应式模板下载seo技术网网
  • 深圳网站建设评价google框架三件套
  • 辽宁网站建站优化公司seo网站优化师
  • 可信网站认证必需做吧爱站关键词挖掘工具
  • 做刀模线网站深圳龙岗区优化防控措施
  • 百度公司注册地址系统优化的例子
  • 装修案例介绍文案一键优化免费下载
  • 个人网站可以做咨询吗济源网络推广
  • 一个网站怎么做软件下载百度首页登录官网
  • 无锡哪里有做网站seo站内优化公司
  • 网站被百度收录seo技术平台
  • 照片做3d网站百度seo排名查询
  • wordpress开发手册中文搜索引擎优化策略有哪些
  • 已经有了域名怎么做网站互联网怎么打广告推广
  • 如何建设一家网站怎么自己做一个网址
  • 建站合同百度官网下载安装
  • 网站开发和运营维护企业培训课程开发
  • 做色情灰色网站怎么判刑有没有帮忙推广的平台
  • 网页视频怎么下载到u盘上西安网站seo工作室
  • b站付费推广推广网站seo
  • 汽车网站建设流程图成品ppt网站国外
  • 汕头网页建站模板网络营销推广实战宝典
  • phpcms v9做网站百度公司推广
  • 爱的网站歌曲专业推广图片
  • 黄山旅游景点网站做优化一开始怎么做
  • 如何选择网站域名网址怎么注册