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

凡科网站后台南京小程序开发公司

凡科网站后台,南京小程序开发公司,网站logo设计思路,哈尔滨一个好网站建设目录 一、ROS2接口文件定义二、创建接口文件步骤三、验证是否创建成功,以及自定义接口文件的使用 一、ROS2接口文件定义 ROS2中接口文件的格式根据通信的类型可以分为三种: 话题通信:.msg文件 常用格式为:[消息类型] 消息名称 #话…

目录

  • 一、ROS2接口文件定义
  • 二、创建接口文件步骤
  • 三、验证是否创建成功,以及自定义接口文件的使用

一、ROS2接口文件定义

 ROS2中接口文件的格式根据通信的类型可以分为三种:

  • 话题通信:.msg文件
    常用格式为:[消息类型] 消息名称
	#话题通信接口格式#[消息类型] 消息名称int64 numint64 sum...
  • 服务通信:.srv文件
    常用格式为:
    [请求消息类型] 请求消息名称
    (三个短横杠隔开)
    [响应消息类型] 响应消息名称
	#服务通信接口格式#请求int64 num..---#响应int64 sum..
  • 动作通信:.action文件
    常用格式为:
    [请求消息类型] 请求消息名称
    (三个短横杠隔开)
    [响应消息类型] 响应消息名称
    (三个短横杠隔开)
    [反馈消息类型] 反馈消息名称
	#动作通信接口格式 #请求int64 num..---#响应int64 sum..---#反馈float feedback..

消息变量的类型

  1. 数字型:intXX,floatXX等
  2. 时间类型:time,duration
  3. 字符串类型:string
  4. 变长数组与定长数组
    定长数组例如:int64[100]、float[100]等,变长数组例如 int[]、float[<=100]等
  5. 其它的msg文件(嵌套)
    特别谈一下嵌套,嵌套类型的定义语法为 完整包名/消息类型名的格式(package_name/TypeName)例如:geometry_msgs/Pose current_pose,并且需要在package.xml中包含所依赖的包

字段名必须小写字母开头,并且禁止双下划线与下划线结尾

二、创建接口文件步骤

  1. 工作空间/src下创建功能包(包名全小写):
ros2 pkg create [package_name] --build-type ament_cmake --dependencies [nested_package_name]
  1. 在功能包目录下创建文件夹:(msg\srv\action),并编写相应的接口文件(.msg\.srv\.action接口文件首字母必须大写且不包含下划线
  2. 在package.xml中添加 3 依赖:
<buildtool_depend>rosidl_default_generators</buildtool_depend> <!-- 构建依赖 --> 
<exec_depend>rosidl_default_runtime</exec_depend>              <!-- 运行时依赖 --> 
<member_of_group>rosidl_interface_packages</member_of_group>   <!-- 功能包依赖 --> 
  1. 在CmakeList中添加2编译规则:
find_package(rosidl_default_generators REQUIRED)rosidl_generate_interfaces(${PROJECT_NAME}"[msg/srv/action]/xxx.msg/.srv/.action" #自定义
)
  1. 返回工作空间目录下,并执行编译:
colcon build --packages-select [package_name]

三、验证是否创建成功,以及自定义接口文件的使用

  1. 使用命令行工具查看接口:
. install/setup.bash 
ros2 interface show [package_name]/[msg/srv/action]/[interface_name]

如果能成功输出,则说明自定义接口文件成功!

  1. 如何在cpp程序中调用?
  • 首先,需要在package.xml中添加依赖: <depend>[interface_pkgname]</depend>
  • 其次,在CmakeList中加入find_package([interface_pkgname] REQUIRED),并在ament_target_dependencies()中加入interface_pkgname
    以上两步确保编译时能加入接口文件,并且在构建pkg时可以通过参数自动实现依赖添加(–dependencies interface_pkgname)
  • 在程序中引用时,需要包含头文件interface_pkgname/[msg/srv/action]/xxx.hpp
  • 使用时通过命名空间:using interface_pkgname::[msg/srv/action]::xxx引入接口类型。
http://www.dtcms.com/a/428483.html

相关文章:

  • B端界面设计的进化:从功能堆叠到用户体验驱动
  • 企业网站建设规划可行性分析网页设计网站开发需要什么
  • 【数据结构】图论核心应用:关键路径算法详解——从AOE网到项目管理实战​
  • 泰安市网站建设啥十小企业网站建设
  • 【Linux篇】--进程
  • 网站内链怎么删除合肥制作企业网站
  • 金融互助平台网站制作八喜网站建设
  • 西安微网站建设江西网站制作的公司哪家好
  • win10程序(十)慢速xls转xlsx
  • 河北建设厅网站设置阿凡达网站建设
  • 响应式学校网站模板下载重庆重庆网站建设
  • 拷贝构造和运算符重载
  • EasyDSS点播管理功能升级!转码、检索、播放全流程更灵活
  • 酒店网站建设便宜软件开发的工作内容
  • 手机网站做落地页贸易公司做网站怎么样
  • 网站建设专题的意义电商网站建设基础ppt
  • 【UE4/UE5】在虚幻引擎中创建控制台指令的几种方法
  • 51个人网站产品推广策划方案怎么做
  • 如何解决 pip install 安装报错 ImportError: cannot import name ‘xxx’ from ‘yyy’ 问题
  • 在Centos的Linux中安装Windows10系统
  • 小型企业做网站的价格自媒体自助下单网站怎么做
  • 解码数据结构树
  • 通信中级(综合能力)小范围重点
  • 私人做网站有什么用建设网站需要哪些元素
  • 网站开发整体流程公众号怎么做微网站吗
  • 网站制作上首页图片在线设计网站
  • 多线程逻辑备份工具 mydumper 全方位解析:备份恢复原理与实战用法
  • C++ 运算符重载与友元:实现优雅直观的类操作
  • 开源外贸网站升降平台找企汇优做网站推广
  • 汽车之家 网站建设网站设计的风格有哪些