天天看点

ROS学习——Client Library——rospy

rospy-Node相关函数

init_node(name)#注册和初始化node
MasterProxy		get_master()#获取master的句柄
bool			is_shutdown()#返回是否关闭
				on_shutdown(fn)#在node关闭时调用函数
str				get_node_uri()#返回节点的URL
				get_name()#返回本节点的全名
				get_namespace()#返回本节点的名字空间
           

rospy-Topic相关

函数

[[str,str]]		get_published_topics()#返回正在被发布的所有topic的名称和类型
Message			wait_for_message(topic,topic_type,time_out=None)#等待指定的topic的一个message
				spin()#触发topic或service的处理,会阻塞直到关闭
           

Publisher类

_init_(self,name,data_class,queue_size=None)#构造函数
publish(self,msg)#成员函数,发布消息
unregister(self)#成员函数,停止发布
           

_init_(self,name,data_class,call_back=None,queue_size=None)#构造函数
unregister(self)#成员函数,停止订阅
           

rospy-Service相关

函数

wait_for_service(service,timeout=None)#阻塞直到服务可用
           

Service类

_init_(self,name,service_class,handler)#构造函数,提供服务
shutdown(self)#成员函数,关闭服务
           

ServiceProxy类

_init_(self,name,service_class)#构造函数,服务的请求方
Response	call(self,*args,**kwds)#调用服务
			_call_(slef,*args,**kwds)#调用服务
           

rospy-Param相关

函数

get_param(param_name,defult=_unspecified)#获取参数的值
get_param_names()#获取参数的名称
set_param(param)name,param_calue)#设置参数的值
delete_param(param_name)#删除参数
has_param(param_name)#参数是否存在于参数服务器上
search_param()#搜索参数
           

rospy-Time相关

函数

Time 	get_rostime()#当前时刻的Time对象
float	get_time()#返回当前时间,返回float单位秒
		sleep(duration)#执行挂起
           

Time类(表示时刻)

_init_(self,secs=0,nsecs=0)#构造函数
Time	now()#静态方法,返回当前时刻的Time对象
           

Rate类

_init_(self,frequency)#构造函数
		sleep(self)#挂起,考虑上一次的rate.sleep()时间
Time	remaining(self)#成员函数,剩余sleep时间
           

Duration类(表示时间)

_init_(self,secs=0,nsecs=0)#构造函数,秒和纳秒
           

写topic步骤

1⃣️创建package
2⃣️msg
3⃣️写talker.py
4⃣️写listener.py
5⃣️修改CMakeLists.txt&package.xml
           

写service步骤

1⃣️创建package
2⃣️src
3⃣️写server.py
4⃣️写client.py
5⃣️修改CMakeLists.txt&package.xml
           
ros