ROS服務資料自定義

2021-10-24 18:09:41 字數 1612 閱讀 6258

服務資料的定義與話題資料大部分相同,唯一要注意的一處是在cmakelists.txt檔案中,服務資料的定義應為:

add_service_files(files man.srv)
#!/usr/bin/env python

# -*- coding: utf-8 -*-

import time, thread

import rospy

from geometry_msgs.msg import twist

from test.srv import man,manresponse,manrequest

pubcommand=

true

defcallback

(req)

:global pubcommand

pubcommand =

bool(1

- pubcommand)

rospy.loginfo(

"call the callback! %s"

, pubcommand)

return manresponse(req.name)

def******service()

: rospy.init_node(

'sxcservice'

) s = rospy.service(

'/test01'

, man, callback)

print man

print

'wait!!'

rospy.spin(

)if __name__ ==

'__main__'

: ******service(

)

#!/usr/bin/env python

# coding=utf-8

import rospy

from test.srv import man,manrequest

defshowresult()

:# ros節點初始化,生成節點addturtle

rospy.init_node(

'addturtle'

)# 等待'/spawn'服務,若無一直等待

rospy.wait_for_service(

'/test01'

)try

:# 建立乙個連線名為'/spawn'的服務,資料型別為spawn

showin = rospy.serviceproxy(

'/test01'

, man)

# 呼叫請求服務,輸入請求引數,並得到服務端返回結果

response = showin(

'sxc',1

,1)return response.result

except rospy.serviceexception, e:

print e

if __name__ ==

'__main__'

: rospy.loginfo(

"creat turtle,name: %s"

,(showresult())

)

ROS之自定義服務資料

在我們編譯原始碼時,會經常遇到以下問題 home zztsj catkin ws src as 6dof arm as arm control src check collision.cpp 11 10 fatal error as arm description checkcollisionval...

ROS服務程式設計 1,自定義服務資料 srv檔案

ros中的服務資料可以通過srv檔案進行語言無關的定義介面,一般放在srv資料夾,包含請求與問答兩個資料域,使用 分割開。針對加法運算服務請求,建立乙個服務型別的srv檔案 catkin ws src my package srv addtwoints.srv int64 a int64 b int...

ROS自定義資料型別

自定義資料報可以在使用資料的功能包內進行建立,也可以單獨建立乙個功能包來專門進行自定義資料型別.1.建立乙個功能包 進入工作空間catkin ws src catkin create pkg test msgs actionlib std msgs message generation action...