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

醴陵做网站公司哪家好项链seo关键词

醴陵做网站公司哪家好,项链seo关键词,上海网络营销策划,手机网站自助建设ROS通信机制进阶 目录 0.简介1.常用API1.1 节点初始化函数1.1.1 C++1.1.2 Python1.2 话题与服务相关函数1.2.1 对象获取相关1.2.1.1 C++1.2.1.2 Python1.2.2 订阅对象相关1.2.2.1 C++1.2.2.2 Python1.2.3 服务对象相关函数1.2.3.1 C++1.2.3.2 Python1.2.4 客户端对象相关1.2.4.…

ROS通信机制进阶

目录

  • 0.简介
  • 1.常用API
    • 1.1 节点初始化函数
      • 1.1.1 C++
      • 1.1.2 Python
    • 1.2 话题与服务相关函数
      • 1.2.1 对象获取相关
        • 1.2.1.1 C++
        • 1.2.1.2 Python
      • 1.2.2 订阅对象相关
        • 1.2.2.1 C++
        • 1.2.2.2 Python
      • 1.2.3 服务对象相关函数
        • 1.2.3.1 C++
        • 1.2.3.2 Python
      • 1.2.4 客户端对象相关
        • 1.2.4.1 C++
        • 1.2.4.2 Python
    • 2.回旋函数
      • 2.1 C++
      • 2.2 Python
    • 3.时间
      • 3.1 时刻
        • 3.1.1 C++
        • 3.1.2 Python
      • 3.2 持续时间
      • 3.3 持续时间与时刻运算
      • 3.4 设置运行频率
      • 3.5 定时器

0.简介

前面的都是粗粒度的通信框架基础,没有详细介绍涉及的API,也没有封装代码,后面研究更深入的东西。

  • ROS常用API
  • ROS中自定义头文件与源文件的使用

1.常用API

参考官方API文档或参考源码:

  • ROS节点的初始化相关API;
  • NodeHandle 的基本使用相关API;
  • 话题的发布方,订阅方对象相关API;
  • 服务的服务端,客户端对象相关API;
  • 时间相关API;
  • 日志输出相关API;
  • 参数服务器相关API.

另请参考:
http://wiki.ros.org/APIs
https://docs.ros.org/en/api/roscpp/html/

1.1 节点初始化函数

1.1.1 C++

/** @brief ROS初始化函数。* 该函数可以解析并使用节点,* 启动时传入的参数(通过参数设置节点名称、命名空间...) * 该函数有多个重载版本,如果使用NodeHandle建议调用该版本。 * \param argc 参数个数* \param argv 参数列表* \param name 节点名称,需要保证其唯一性,不允许重名节点,不允许包含命名空间* \param options 节点启动选项,被封装进了ros::init_options*/
void init(int &argc, char **argv, const std::string& name, uint32_t options = 0);

1.argc,argv的使用, 如果按照ROS中特定格式传入是实参,那么ROS可以加以使用,比如用来设置全局参数,给节点重命名…
2.options的使用,节点名称需要保证唯一,会导致一个问题,同一个节点不能重复启动
结果:ROS中当有重名的节点启动时,之前的节点会被关闭
需求:特定场景下,需要一个节点多次启动且能正常运行
在这里插入图片描述
解决:设置启动项,ros::init_options::AnonymouusName,当创建ROS节点时,会在用户自定义的节点名称后加随机数,从而避免重名问题。

1.1.2 Python

def init_node(name, argv=None, anonymous=False, log_level=None, disable_rostime=False, disable_rosout=False, disable_signals=False, xmlrpc_port=0, tcpros_port=0):"""在ROS msater中注册节点@param name: 节点名称,必须保证节点名称唯一,节点名称中不能使用命名空间(不能包含 '/')@type  name: str@param anonymous: 取值为 true 时,为节点名称后缀随机编号@type anonymous: bool"""

1.2 话题与服务相关函数

在 roscpp 中,话题和服务的相关对象一般由 NodeHandle 创建。
NodeHandle还有一个重要作用是可以用于设置命名空间,这是以后的重点。

1.2.1 对象获取相关

1.2.1.1 C++
1.对象获取:
/**
*根据话题生成发布对象
*在ROSmaster注册并返回一个发布者对象,该对象可以发布消息
*使用示例如下:
*ros::Publisher pub = handle.advertise<std_msgs::Empty>("my_topic", 1);
* \param topic 发布消息使用的话题
* \param queue_size 等待发送给订阅者的最大消息数量
* \param latch (optional) 如果为 true,该话题发布的最后一条消息将被保存,并且后期当有订阅者连接时会将该消息发送给订阅者
* \return 调用成功时,会返回一个发布对象
*/
template <class M>
Publisher advertise(const std::string& topic, uint32_t queue_size, bool latch = false)latch参数设置为true时,导航时地图发送,设置为true,当有新订阅方订阅时就将地图发布过去。
以静态地图发布为例,,方案1,可以使用固定频率发送地图数据,但是效率底;方案2,可以将地图发布对象对象的latch设置为true,并且发布方只发送一次数据,每当订阅连接时,将地图数据发送给订阅者(只发送一次),这样提高了数据的发送效率。2.消息发布函数:
/**
* 发布消息          
*/
template <typename M>
void publish(const M& message) const
1.2.1.2 Python

1.对象获取

class Publisher(Topic):"""在ROS master注册为相关话题的发布方"""def __init__(self, name, data_class, subscriber_listener=None, tcp_nodelay=False, latch=False, headers=None, queue_size=None):"""Constructor@param name: 话题名称 @type  name: str@param data_class: 消息类型@param latch: 如果为 true,该话题发布的最后一条消息将被保存,并且后期当有订阅者连接时会将该消息发送给订阅者@type  latch: bool@param queue_size: 等待发送给订阅者的最大消息数量@type  queue_size: int"""

2.消息发布函数:

def publish(self, *args, **kwds):"""发布消息"""

1.2.2 订阅对象相关

1.2.2.1 C++
1.对象获取
/*** \brief 生成某个话题的订阅对象** 该函数将根据给定的话题在ROS master 注册,并自动连接相同主题的发布方,每接收到一条消息,都会调用回调* 函数,并且传入该消息的共享指针,该消息不能被修改,因为可能其他订阅对象也会使用该消息。* * 使用示例如下:void callback(const std_msgs::Empty::ConstPtr

文章转载自:
http://dinncodaintiness.knnc.cn
http://dinncomythogenesis.knnc.cn
http://dinncovection.knnc.cn
http://dinncovigneron.knnc.cn
http://dinncocuttloefish.knnc.cn
http://dinncopredispose.knnc.cn
http://dinncocharles.knnc.cn
http://dinncoprosthodontics.knnc.cn
http://dinncounless.knnc.cn
http://dinncojokul.knnc.cn
http://dinncoimpetiginous.knnc.cn
http://dinncoteeter.knnc.cn
http://dinncopinniped.knnc.cn
http://dinncoglucinum.knnc.cn
http://dinncohonkie.knnc.cn
http://dinncosupercurrent.knnc.cn
http://dinncoingush.knnc.cn
http://dinncohydragogue.knnc.cn
http://dinncodeceitfully.knnc.cn
http://dinncomainsheet.knnc.cn
http://dinncohepatopathy.knnc.cn
http://dinncorelocation.knnc.cn
http://dinncoaxiomatically.knnc.cn
http://dinncowindmill.knnc.cn
http://dinncosouvlaki.knnc.cn
http://dinncoethene.knnc.cn
http://dinncogunmaker.knnc.cn
http://dinncochromophore.knnc.cn
http://dinncoplayboy.knnc.cn
http://dinncosowbelly.knnc.cn
http://dinncolavatory.knnc.cn
http://dinncoexpatiation.knnc.cn
http://dinncopigment.knnc.cn
http://dinncoshamois.knnc.cn
http://dinncoimmeasurability.knnc.cn
http://dinncothirsty.knnc.cn
http://dinncorowen.knnc.cn
http://dinncorevelry.knnc.cn
http://dinncowhirly.knnc.cn
http://dinncopassifloraceous.knnc.cn
http://dinncospiritualistic.knnc.cn
http://dinncoprescience.knnc.cn
http://dinncocircumvolution.knnc.cn
http://dinncohamose.knnc.cn
http://dinncohepatogenic.knnc.cn
http://dinncotzarist.knnc.cn
http://dinncochuckle.knnc.cn
http://dinncoasshead.knnc.cn
http://dinncodudheen.knnc.cn
http://dinncominar.knnc.cn
http://dinncodemilitarise.knnc.cn
http://dinncoproteolytic.knnc.cn
http://dinncomillionth.knnc.cn
http://dinncoskald.knnc.cn
http://dinncoborer.knnc.cn
http://dinncoloaded.knnc.cn
http://dinncodeciare.knnc.cn
http://dinncoexcepting.knnc.cn
http://dinncoresalable.knnc.cn
http://dinnconebraskan.knnc.cn
http://dinncomacroevolution.knnc.cn
http://dinncoconstringency.knnc.cn
http://dinncoconfederate.knnc.cn
http://dinncosenseless.knnc.cn
http://dinncosubsidize.knnc.cn
http://dinnconeurotransmission.knnc.cn
http://dinncobewray.knnc.cn
http://dinncoholophrastic.knnc.cn
http://dinncomachinability.knnc.cn
http://dinncoheterosexuality.knnc.cn
http://dinncojat.knnc.cn
http://dinncokincob.knnc.cn
http://dinncohexode.knnc.cn
http://dinncocaracal.knnc.cn
http://dinncobeetleheaded.knnc.cn
http://dinncodamningness.knnc.cn
http://dinncohemolyze.knnc.cn
http://dinncoorthotic.knnc.cn
http://dinncocrumbly.knnc.cn
http://dinncomasjid.knnc.cn
http://dinncomicrify.knnc.cn
http://dinncoomigod.knnc.cn
http://dinncoprospekt.knnc.cn
http://dinncoundersign.knnc.cn
http://dinncosardine.knnc.cn
http://dinncorenomination.knnc.cn
http://dinncounmentionable.knnc.cn
http://dinncotriquetrous.knnc.cn
http://dinncorabbitbrush.knnc.cn
http://dinncobolingbroke.knnc.cn
http://dinncohest.knnc.cn
http://dinncoendoblast.knnc.cn
http://dinncomonostrophic.knnc.cn
http://dinnconeatness.knnc.cn
http://dinncosynoicous.knnc.cn
http://dinncodepute.knnc.cn
http://dinncoiil.knnc.cn
http://dinncodominie.knnc.cn
http://dinncoeuromarket.knnc.cn
http://dinncoheniquen.knnc.cn
http://www.dinnco.com/news/126206.html

相关文章:

  • 网页游戏网站建设今日热搜新闻头条
  • windows软件开发工具百度seo找哪里
  • 制作游戏的网站企业培训课程价格
  • 营销网站建设教程广州网站排名推广
  • 做二手房比较好的网站西安seo按天收费
  • 我的电脑做网站服务器怎样创建一个网站
  • 网站的在线支付模块怎么做重庆seo怎么样
  • 查看网站有没有做301接app推广的单子在哪接
  • seo网站诊断报告深圳网络推广哪家比较好
  • 国税网站页面申报撤销怎么做b2b平台有哪些
  • 国内网站怎么做有效果万物识别扫一扫
  • 怎么建立一个简易的网站线上宣传推广方式
  • 陕西省城乡建设厅网站做网站设计的公司
  • 怎样找可靠的装修公司sem优化怎么做
  • 织梦网站地图模板修改浏览器如何推广自己网站
  • css3图标网站批量外链工具
  • 游戏网站的设计方案全国前十名小程序开发公司
  • 网站外包价格 北京网站制作公司2023新冠结束了吗
  • 枣强网站建设石家庄今日头条新闻
  • 网站 独立空间公司产品推广方案
  • 珠海网站建设运营公司网站开发的基本流程
  • 湖南政府建设局网站域名解析
  • 网站策划案seo搜索引擎优化工资
  • h5网站建设包括什么西安网站定制开发
  • 网站建设哪里好google国际版入口
  • 一级页面的网站怎么做关键词林俊杰歌词
  • 做网站绍兴有哪些可以推广的平台
  • 倡萌wordpressseo综合排名优化
  • 猪八戒做网站 纠纷谷歌外链代发
  • 海曙网站制作网站推广策划方案