ROS机器人操作系统:从入门到放弃(八)rospy

rospy与roscpp

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开发的, 简单轻巧。

rospy中的API

具体API请查看http://docs.ros.org/api/rospy/html/rospy-module.html。

Node

ROS机器人操作系统:从入门到放弃(八)rospy

Topic

函数:
ROS机器人操作系统:从入门到放弃(八)rospy
Publisher类:
ROS机器人操作系统:从入门到放弃(八)rospy
Subscriber类:
ROS机器人操作系统:从入门到放弃(八)rospy

Service

函数:
ROS机器人操作系统:从入门到放弃(八)rospy
Service类(server):
ROS机器人操作系统:从入门到放弃(八)rospy
ServiceProxy类(client):
ROS机器人操作系统:从入门到放弃(八)rospy

Param

函数:
ROS机器人操作系统:从入门到放弃(八)rospy

时钟

函数:
ROS机器人操作系统:从入门到放弃(八)rospy
Time类:
ROS机器人操作系统:从入门到放弃(八)rospy
Duration类:
ROS机器人操作系统:从入门到放弃(八)rospy

ROS机器人操作系统:从入门到放弃(八)rospyROS机器人操作系统:从入门到放弃(八)rospy r = a (1-sinθ) 发布了34 篇原创文章 · 获赞 6 · 访问量 2092 私信 关注
上一篇:机器视觉处理


下一篇:rospy 让机器人绕圈、矩形行走(碰到障碍物停止)