1. rospy与主要接口

1.1 rospy vs roscpp

rospy是Python版本的ROS客户端库,提供了Python编程需要的接口,你可以认为rospy就是一个Python的模块(Module)。这个模块位于/opt/ros/kineetic/lib/python2.7/dist-packages/rospy之中。

rospy包含的功能与roscpp相似,都有关于node、topic、service、param、time相关的操作。但同时rospy和roscpp也有一些区别:

  1. rospy没有一个NodeHandle,像创建publisher、subscriber等操作都被直接封装成了rospy中的函数或类,调用起来简单直观。
  2. rospy一些接口的命名和roscpp不一致,有些地方需要开发者注意,避免调用错误。

相比于C++的开发,用Python来写ROS程序开发效率大大提高,诸如显示、类型转换等细节不再需要我们注意,节省时间。但Python的执行效率较低,同样一个功能用Python运行的耗时会高于C++。因此我们开发SLAM、路径规划、机器视觉等方面的算法时,往往优先选择C++。

ROS中绝大多数基本指令,例如rostopic,roslaunch都是用python开发的,简单轻巧。

1.2 ROS中Python代码的组织方式

要介绍rospy,就不得不提Python代码在ROS中的组织方式。通常来说,Python代码有两种组织方式,一种

ROS机器人操作系统(rospy)相关推荐

  1. ROS机器人操作系统学习笔记(三)ROS通信架构

    ROS机器人操作系统学习笔记(三)ROS通信架构 ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在.ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等.本章主要介绍了通信架构 ...

  2. ROS机器人操作系统——创建工作空间与功能包(四)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...

  3. ROS 机器人操作系统进阶实战

    ROS(Robot Operating System) 是一个开源的机器人操作系统,目的是提供开发平台.工具及生态给开发人员,可以让开发人员快速开发.本课程通过精心设计的案例,分析技术要点.理解运行原 ...

  4. ros机器人操作系统简介

    机器人操作系统   (Robot Operating System, 或简称 ROS),它可以帮助提高机器人软件的开发效率. ROS 系统的官方定义如下: ROS是面向机器人的开源的元操作系统(met ...

  5. 入门ROS机器人操作系统——准备工作

    近期入门学习ROS机器人操作系统,有时间记录一下踩坑过程,给后来者提供参考,也方便自己后期查阅. 首先,分享几个软件安装包: 1. 虚拟机VMware16 链接:https://pan.baidu.c ...

  6. ROS机器人操作系统学习(二)

    ROS机器人操作系统学习(二) ROS概念 通信机制+开发工具+应用功能+生态系统 提高机器人研发中的软件复用率 通信机制 松耦合分布式通信 开发工具 应用功能 生态系统 节点与节点管理器 话题与服务 ...

  7. ROS机器人操作系统——如何将ROS与STM32连接(十六)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.两种控制器的功能 二.硬件连接 总结 前言 前面学习了ROS的基本操作,仅仅只使用这个操作系统并没有什么用处,还需要讲他与硬件相结合从而 ...

  8. ROS机器人操作系统底层原理及代码剖析

    0 目的 本文介绍ROS机器人操作系统(Robot Operating System)的实现原理,从最底层分析ROS代码是如何实现的. 1 序列化 把通信的内容(也就是消息message)序列化是通信 ...

  9. ROS机器人操作系统学习笔记(一)--基本概念

    ROS机器人操作系统学习教程(一)–基本概念 1. 基本概念 1.1 ROS背景 机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便.功 ...

最新文章

  1. 生物信息行业应该具备哪些基础素养?重点应该放在计算机方面还是生物方面或者说其他?
  2. Gartner:2014年全球MSS市场分析
  3. 【Python】Pandas中的宝藏函数-applymap
  4. 从 bug 中学习:六大开源项目告诉你 go 并发编程的那些坑
  5. 面试官:实现一个带值变更通知能力的Dictionary
  6. 控制台异常:Could not connection
  7. 程序有时能运行有时不能_学法能有什么好处?有时候觉得挺“秃”然的..
  8. [转载] python 函数参数类型检查
  9. npm卸载全局安装的第三方插件注意事项
  10. qmake:未找到命令
  11. 平面设计ai教程笔记
  12. Amesim更改为中文
  13. 7 Papers Radios | 陈丹琦关系抽取新SOTA;上海交大医疗版MNIST数据集
  14. 高维曲面: 方向导数, 梯度, 切平面, 法向量
  15. 【例题】利用伴随矩阵求逆矩阵
  16. python 获取邮箱验证码
  17. wordpress themeforest
  18. 关于国际论文中,国内外人名顺序的问题
  19. Android反编译工具与反编译步骤及常见问题
  20. [LibreOJ 3124]【CTS2019】氪金手游【容斥原理】【概率】【树形DP】

热门文章

  1. AssemblyInfo.cs文件中的程序集属性
  2. python中平均数怎么取,python如何求平均数
  3. 2017阿里研发工程师C/C++实习生招聘笔试题
  4. 全国首批城市级5G车联网应用项目落地!
  5. 【C语言】C语言中赋值语句规则
  6. 【产品管理】产品管理四要素
  7. 硬方案——从数据采样到滤波要求,一步一步教你设计“抗混叠滤波器”
  8. STM32L0系列之【串口收发】
  9. Python——turtle绘制动漫形象(魔法少女小圆晓美焰,super beautiful)
  10. IE、FireFox都支持的收藏本站代码