rocon app

2023-05-16

规格:

Rapp指代rocon_app或者叫robot_app,用在机器人的控制中Robotics in Concert,这是通过 Rapp Manager 安装和执行的元数据。它旨在允许更高级别的控制器采用提供所需公共接口的系统,而不管其平台如何。Rapps 根据平台相关参数(例如启动)和 Rapp 继承的存在分为实现/虚拟和祖先/子级。

rapp类型

虚拟祖先:是rapp;包含公共接口,没有与平台相关的信息;不可执行;示例:rocon_apps/teleop
实现子:不完整的rapp;包含与平台相关的数据,但没有公共 API。它从父母那里继承参数,成为一个完整的 Rapp;示例:turtle_concert/teleop
实现祖先:是完整的rapp;包含要执行的完整信息;例 : turtle_concert/turtle_stroll
虚拟子:无效的rapp;有关详细信息,请参阅设计决策。

rapp参数

下表描述了每种 rapp 类型和要求的特征

R = 必需
O = 可选
N = 不允许
i = 从父级继承(如果不存在)

 功能依赖关系

ROS中功能的概念是机器人拥有的大多数“能力”存在更高级别的接口。格式遵循功能接口规范。

- name: <capability interface name>
    interface:
      topics:
        requires:
          <interface topic>: <rapp topic>
        provides:
          <interface topic>: <rapp topic>
      services:
        requires:
          <interface service>: <rapp service>
        provides:
          <interface service>: <rapp service>
      actions:
        requires:
          <interface action>: <rapp action>
        provides:
          <interface action>: <rapp action>

设计决策

虚拟/实现rapp

如果存在以下两个,则它是 rapp 实现。否则,它是一个虚拟的rapp。

  • compatibility : Rocon URI
  • launch - <package_name>/</.launch>

如果是rapp以下三个参数是可选的

  • icon
  • capabilities

父 VS 祖先

如果rapp是连接的,继承则会涉及多个rapp,父是子继承的rapp,如果一个孩子从它继承,一个子可以同时是一个父。不从另一个子/父继承的父项是祖先。

child -> parent/child -> parent/child -> parent(ancestor)

子 VS 祖先

如果存在以下内容,则为子rapp。否则就是祖先的rapp。

  • parent_name : <package_name>/<rapp name>

 parent_name和public_interface是相互排斥的。

祖先可以是虚拟的也可以是实现的

子rapp必须是实现的

为什么没有虚拟子rapp

引入了虚拟和实现 rapp 的分离,以简化 rapp 组合并最大限度地提高各种平台之间的可移植性。Virtual Child被丢弃,因为其他三个都可以满足所有rapp设计选择。

列子

Chirp -虚拟祖先rapp


# rocon_apps/chirp
display: Chirp
description: Make an audible "chirp" sound.
icon: chirp_bubble_icon.png
public_interface: chirp.interface
public_parameters: chirp.parameters  

Chirp -子rapp是实现


# turtlebot_apps/chirp
description: Make a "moo" sound.
launch: chirp.launch
compatibility: rocon:/turtlebot
parent_name: rocon_apps/chirp  

 Kobuki Random Walker-功能型rapp


# kobuki_apps/random_walker
display:          Random Walker
description:      Makes Kobuki wander off and explorer the world
compatibility:    rocon:/kobuki|turtlebot2
launch:           random_walker.launch.xml
public_interface: random_walker.interface
icon:             random_walker.png
required_capabilities:
  - name: std_capabilities/DifferentialMobileBase
    interface:
      topics:
        requires:
          '/cmd_vel': 'kobuki_random_walker_controller/commands/velocity'
        provides: []
  - name: kobuki_capabilities/KobukiLED1
    interface:
      topics:
        requires:
          '/kobuki_led1': 'kobuki_random_walker_controller/commands/led1'
        provides: []
  - name: kobuki_capabilities/KobukiLED2
    interface:
      topics:
        requires:
          '/kobuki_led2': 'kobuki_random_walker_controller/commands/led2'
        provides: []  

输出


...
<export>
  <rocon_app>RELATIVE_PATH_IN_PACKAGE</rocon_app>
  <!--<rocon_app>apps/chirp/chirp.rapp</rocon_app>-->
</export>
...  

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rocon app 的相关文章

  • 如何在没有 USB 数据线的情况下使用 Android Studio 在手机中安装 Android

    背景 如何在没有 USB 数据线的情况下使用 Android Studio 在手机中安装 Android 应用程序 运行调式一个Android项目 写下必要的代码后 接下来的任务是在模拟器或手机上运行应用程序 测试应用程序是否正常 及deb
  • android sdk配置图文教程

    首先配置 java sdk 下载java sdk java sdk也有很多版本 问清项目版本 下载相对应的 然后配置环境变量 下图是我电脑下载的版本 下载好就就是配置环境变量了 配置java sdk 环境变量 右击我的电脑 属性 高级系统设
  • android开机自启动APP及使用adb命令测试

    android开机自动运行APP实现方式其实很简单 在android系统运行时 会发出 android intent action BOOT COMPLETED 这个系统广播 因此我们监听它 并进行打开APP的操作即可 现在大多数的andr
  • APP移动应用测试策略与工具思维导图

    2张图构建移动应用测试知识体系 1 APP移动测试策略 2 移动测试常用工具 目前觉得好用的 因还有其它事 故这里不再啰嗦 想要听我啰嗦的 改天书里见
  • Android7.1.2修改以太网静态设置

    如何设置以太网有线网络静态配置 从源码看设置以太网配置调用的是EthernetManager的setConfiguration方法 所以我们就只需要创建IpConfiguration这个实例 他的构造方法传入值是 最终配置的参数就是Stat
  • iOS开发实战之app获取通讯录(iOS 9)

    在做通讯类APP的时候 时常会访问到手机的通讯录 来获取联系人的各种属性 那么本文就来讨论一下怎么获取通讯录 注意 iOS 9 版本上可以行 其他版本未试 第一步 先导入系统库 Contacts framework 然后在 h上导入头文件
  • 基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(一)

    目录 前言 总体设计 系统整体结构图 系统流程图 运行环境 Python环境 TensorFlow环境 Keras环境 Android环境 1 安装AndroidStudio 2 导入TensorFlow的jar包和so库 3 导入Open
  • 【uniapp关联unicloud,阿里云云服务空间】unicloud本地调试服务启动失败:当前项目未关联unicloud服务空间,请调整后重新运行,已解决

    最近开发app项目 很多都是第一次上手 1 在Hbuider中运行项目 出现如下提示 2 项目根目录下已有uniCloud文件夹 3 如果云开发环境未创建 可以右击项目 选择创建uniCloud云开发环境 4 创建好的目录如下 index
  • 我这里有一款情侣之间用来记录生活的app Android端和web端的

    我这里有一款情侣之间用来记录生活的app app下载地址 复制链接到网页下载即可 web网页端地址 当今社会 情侣之间的交流方式越来越多样化 而一款专门为情侣设计的数据共享应用程序也应运而生 这款应用程序可以帮助情侣们更好地分享彼此的生活
  • Android APP 与STM32无线环境控制系统

    本系统为安卓APP的环境参数远程监控系统 以STM32F103单片机作为本设计的中控中心 结合物联网技术 以Android智能手机作为远程控制的客户端 通过8266 WiFi模块实现环境监控系统硬件与Android手机的交互 环境参数的反馈
  • uniapp uview 登录页

  • 记录一次iPhone5s的iCloud bypass经历

    之前成功过一次 使用的是checkra1n v0 9 5 越狱成功后 使用ssh连接手机 执行以下几个命令 正在挂载根目录文件系统为读写 bash 3 2 mount o rw union update bash 3 2 echo gt g
  • 【uniapp】原生子窗体subNvue的使用与踩坑

    需求 最近接到个需求 需要在video组件上弹出弹窗 也就是覆盖video这个原生组件 未播放时 弹窗可以覆盖 但是当video播放时 写的弹窗就覆盖不了了 因为video是原生组件 层级非常高 普通标签是覆盖不了的 map标签同理 覆盖原
  • 抓包工具篇|Charles

    1 简介 Charles 是在 Mac 下常用的网络封包截取工具 在做 移动开发时 我们为了调试与服务器端的网络通讯协议 常常需要截取网络封包来分析 Charles 是收费软件 可以免费试用 30 天 试用期过后 未付费的用户仍然可以继续使
  • 校园社区app

    此项目是面向在校大学生开发的一个集预约购物 组织活动 实事热帖于一体的社区app 前后台交互数据采用的是json数据格式 网络请求采用的是volley 后台采用mysql数据库 如果有写的不好的地方还望大家指正 主要功能为 预约购物 组织活
  • Android MediaPlayer播放本地音频

    reference Android 第一行代码 MediaPlayer类常用的方法 setDataSource 设置要播放的音频文件的路径 prepare 开始播放之前调用这个方法完成准备工作 start 开始或继续播放 pause 暂停播
  • swift项目桥接通过cocoapods pod下来的第三方oc文件引入不成功

    最近想试着开始写学着swift项目了 然后就在用cocoapods pod下来的第三方框架的时候出现了问题 先以为是自己创建桥接文件后 配置出错了 但是网上的那些文章都还是能把桥接文件处理好 言归正传 先上图 pod的文件和桥接header
  • iOS App打包上架详细流程

    一 前言 作为一名iOS开发者 把辛辛苦苦开发出来的App上传到App Store是件必要的事 但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤 二 准备 一个已付费的开发者账号 可分为 账号类型分为个
  • 如何在 iOS 设备上运行 .app [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有应用程序的 app 文件 我有 mac 和 iPhone 但没有安装 Xcode 如何在没有 Xcode 的情况下在 iPhone 上
  • 如何通过安装 .app(二进制)文件在设备上测试应用程序? (不使用Xcode进行测试)

    我创建了一个应用程序 我想将其发送给另一个人进行测试 他有一部 iPhone 和一台 Mac 但他的 Mac 上没有 xcode 他不是 iPhone 程序员 所以 如果我发送 app 文件 他可以在他的 iPhone 上测试吗 如果没有

随机推荐

  • 登录报错后,状态码是401并弹出登录框

    前后端分离的项目 xff0c 登录失败后会弹出一个非前端页面登录框 这是因为登录失败 xff0c 返回的响应表头里添加了WWW Authenticate属性 WWW Authenticate Basic realm 61 34 oauth2
  • 解决secureCRT账号密码正确,无法连接服务器,那大概因为不支持新的密钥交换算法

    连接比较新版本的linux类服务器 xff0c 是否出现下面这些问题 xff1f 或者是openstack新建centos7镜像的时候 xff0c 无法连接新创建的centos7系统 我百度或者谷歌好像都没有找到答案啊 xff0c 所以才写
  • 树莓派SSH连接-SSH服务安装与开机自动启动

    1 SSH连接 SSH连接比Telnet远程桌面连接使用更为安全 xff0c 已经成为行业标准 使用SSH连接树莓派 xff0c 可以对树莓派进行远程控制与编程开发 xff0c 在没有桌面环境的条件下使用SSH连接是非常合适的选择 第2节和
  • 【VSCode Git】stage和stash的区别

    VSCode Git stage和stash的区别 问题来源 用vscode提交变更的文件时 xff0c 会发现2个相似的选项 Stage Changes 和 Stash Changes xff0c 乍一看不知道用哪个 xff0c 它们有什
  • canal文档

    简介 github地址 canal k n l xff0c 译意为水道 管道 沟渠 xff0c 主要用途是基于 MySQL 数据库增量日志解析 xff0c 提供增量数据订阅和消费 canal 工作原理 canal 模拟 MySQL slav
  • 自然拼读与词根词缀简版

    词根词缀 词根词缀重点 1 ab abs 表示远离 或否定 2 ac acr 表示尖 xff0c 酸 xff1b 3 aer aero 表示空气 xff0c 天空 4 am 表示爱 5 ambi ambul 表示周围 xff1b 6 ani
  • MySQL递归查询上下级菜单

    正文 在传统的后台管理系统里面经常会需要展示多级菜单关系 xff0c 今天我们来学一下如何使用一条SQL语句展示多级菜单 现在我们有一张corpinfo单位表 xff0c 里面有一个belong字段指向上级单位 xff0c 首先来看一下现在
  • 基于ESP32双无刷FOC电机的瓦力平衡机器人(2)

    恍恍惚惚中 xff0c 感觉瓦力已经慢慢悠悠的向我走来 xff0c 看了他的孤独 xff0c 感觉自己的也就不算什么了 断断续续搞了差不多两周的时间 xff0c 总算是把这些底层模块都调通了 xff08 虽然还完全看不出任何瓦力的影子 xf
  • 嵌入式 职位描述 职位要求

    来于智联招聘 前程无忧 xff0c 有关工作经验 xff0c 管理经验 xff0c 学历一并删掉 xff0c 只剩职位描述 职位要求 看看自己还缺些什么 嵌入式软件工程师 关专业 xff0c 本科或以上学历 xff1b 2 基础扎实 xff
  • 信道脉冲响应CIR

    博客写作技巧 xff1a 遇到的问题 如何解决问题 需要那种帮助 信道脉冲响应 xff1a CIR 问题 xff1a 场强测量系统需要获取场强和信道信息 xff0c 那么CIR是什么 xff1f 如何利用CIR反映信道特性 xff1f 解决
  • OpenMV数据打包发送以及STM32对数据的解析(串口方式)

    今天尝试了使用Openmv用串口发送数据 xff0c 32接收 xff0c 遇到了一些坑 xff0c 但是最后还是实现了 xff0c 难住我的地方并不是关于传输的代码 xff0c 而是那个板子串口3不知道因为什么原因接收到的数据是错误的 x
  • linux下 c++ 服务器开发(一)

    苦逼的c 43 43 程序员还没找到工作 xff0c 所以顺便开始写服务器练手 对内容不满意不要喷我我是写给自己看的 xff08 把自己犯得错误记下来 xff09 1 我的电脑是win10的 xff0c 所以先去网上下虚拟机 xff0c 我
  • 最优化算法——常见优化算法分类及总结

    之前做特征选择 xff0c 实现过基于群智能算法进行最优化的搜索 xff0c 看过一些群智能优化算法的论文 xff0c 在此做一下总结 最优化问题 在生活或者工作中存在各种各样的最优化问题 xff0c 比如每个企业和个人都要考虑的一个问题
  • 利用手机摄像头采集图片运行ORB-SLAM2

    一 ROS配置安装 二 ORB SLAM2配置安装 可参考前文 ROS仿真环境安装与配置 身在江湖的郭大侠的博客 CSDN博客 三 Android手机摄像头与ROS建立通信 GitHub有个开源的项目 xff0c 可以通过wifi将摄像头捕
  • VINS_FUSION

    VINS FUSIO xff2e 意义 VINS Fusion在VINS Mono的基础上 xff0c 添加了GPS等可以获取全局观测信息的传感器 xff0c 使得VINS可以利用全局信息消除累计误差 xff0c 进而减小闭环依赖 此外 x
  • VINS_FUSION编译运行

    一 ROS安装 见前文 二 ceres安装 GitHub地址 xff1a GitHub ceres solver ceres solver A large scale non linear optimization library 14 0
  • Turtlebot2简单控制

    遥控 遥控前为了让turtlebot接受命令 xff0c 需要启动 roslaunch turtlebot bringup minimal lauch 键盘操作命令 xff1a roslaunch turtlebot teleop keyb
  • turtlebot2利用turtlebot_exploration_3d进行自主建图

    安装octomap ros和rviz插件 sudo apt get install ros indigo octomap 源码安装 xff1a turtlebot exploration 3d 本机为Ubuntu16对应的ros版本为kin
  • CSDN周赛第十二期

    CSDN的比赛难度相对而且比较简单 xff0c 适合小白练手 xff0c 而且刷题本身在于锻炼思维 xff0c 写出题目不难 xff0c 但是需要拥有缜密的思维才能通过全部的用例 1 豚鼠排名榜 已知字符A B C 每个字符都有自己的权值q
  • rocon app

    规格 xff1a Rapp指代rocon app或者叫robot app 用在机器人的控制中Robotics in Concert xff0c 这是通过 Rapp Manager 安装和执行的元数据 它旨在允许更高级别的控制器采用提供所需公