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

专业网站建设找哪家公司做网站要学的技术

专业网站建设找哪家公司,做网站要学的技术,wordpress网址重定向,wordpress打赏key插件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.常用API1.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常用APIROS中自定义头文件与源文件的使用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.advertisestd_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://www.yingshimen.cn/news/12664/

相关文章:

  • 官网建设建站网站数据展示
  • 烟台网站建设公司婚庆公司创业计划书
  • 网站优化推广培训16岁做分期网站
  • 织梦网站建设过程中国城投建设集团网站
  • 物理学可建设网站建设说明网站建设所需素材
  • 动漫网站logo网站开发项目标书
  • 如何设置中国建设银行网站首页网站功能定制
  • 问问建设网站的人WordPress tips
  • 网站建设与维护就业怎么样网站后期运营方案步骤
  • 网站建设报价单及项目收费明细表郑州seo优化外包
  • vs做网站怎样加数据库新像素ui设计培训学校
  • 百度网站上做推广受骗做网站 珠海
  • 远程桌面做网站欧泰国际物流网站
  • dede网站安全设置防挂马教程江西省建设监理网站
  • php建站系统惠州网站小程序建设
  • 浙江网站建设推广公司哪家好动漫设计与制作属于什么类别
  • 软件网站建设外贸建站wordpress主题
  • 红酒购物网站源码成都网站设计学校
  • 西宁整站优化googlechrome
  • 网站建设 知乎主网站怎么做熊掌号优化
  • 很大气的网站 营销python建设网站实例
  • 网站建设网址网站制作电商平台有哪些
  • 网站做可以退款吗大连工业大学考研
  • 网站规划与设计方向云主机下载
  • 山东省住房与建设厅网站东莞做棋牌网站建设
  • 网站建设功能介绍陕西的网站建设公司
  • 河南信阳网站建设公司电话200M电信宽带做网站
  • 重庆网站建设公司那好网站开发技术要求
  • 网站开发需要什么基础只是哪家做的网站有利于百度推广
  • 箱包网站建设策划报告咪呜瀑布流WordPress模板