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

做转发赚钱的网站oa网站建设价格

做转发赚钱的网站,oa网站建设价格,在微信上怎么卖自己的产品,google seo网站 被k文章目录 一、自定义插件抽象类二、编写第一个插件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/a/560286.html

相关文章:

  • 北京网站设计制作网站天津做网站要多少钱
  • 小米果怎么做视频网站公司网站建设的请示
  • 二级网站怎么做做网站开发 用的最多的语言
  • 怎么做网站点击率监控工具东莞网站建设设计公司
  • 移动网站开发培训如何建立一个网站来卖东西
  • 成都网站建设公司创新互联做seo哪些网站会好点
  • 图书管理系统网站开发西昌网站建设公司
  • 淘宝客网站返利程序昆明商城网站开发
  • 大兴网站建设服务公司包头网站开发建设
  • 河南省建设厅网站 吴浩网络营销工具中
  • 自己开发一个网站多少钱阳江网红打卡景点
  • 网站信息抽查评估网站建设公司国内技术最强
  • 亿唐微方网站建设杭州建设工程网
  • 建设网站服务器怎么弄网店运营管理与营销推广
  • 汕头网站建设设计公司淘宝客网站静态还是动态好
  • 各大网站rss订阅源地址9158个人空间登录
  • 删负面的网站中小企业网站建设开题报告
  • 百度推广移动端网站大兴网站定制开发
  • 太原谁家网站做的好在线设计平台市场环境
  • 城乡建设部网站 挂证域名的申请及注册流程
  • 咨询网站公司建设计划书网站建设和实现论文
  • 网站建设使用的什么软件网站设计技术文章
  • dw做静态网站百度seo关键词排名优化软件
  • 网站策划专员所需知识主要的cms系统有哪些
  • 泉州seo网站推广威海网站设计公司
  • 一流的微商城网站建设网站建设的会计分录
  • 网站临时会话公司门户网站
  • 建设单位网站cms是什么公司简称
  • 做网站东莞长沙网站建设策划
  • 足球外围网站怎么做做进口产品的网站好