一.編寫服務資料:
在功能包的頂級目錄中,建立srv資料夾,並在裡面建立.srv檔案(先成為a.srv)
在srv檔案中,填入服務資料,如:
int64 a其中,---上方是請求資料,下方是答應資料int64 b
---int64 sum
二.修改cmakelist和package.xml:
cmakelist:
catkin_package(...catkin_depends message_runtime ...
...)
add_service_files(files
a.srv
)
generate_messages(package.xml:dependencies
std_msgs
)
message_generation三.返回工作空間頂級目錄,catkin_make編譯(記得要source,ide的路徑要設定好,我的是message_runtime
/home/ch/fortest/devel/lib/python2.7/dist-packages)
四.編寫服務py檔案:
五.編寫請求py檔案:from beginner_tutorials(功能包名).srv import *
import rospy
def handle_add_two_ints(req): # 請求處理函式,req是請求資料報
print "returning [%s + %s = %s]"%(req.a, req.b, (req.a + req.b))
return addtwointsresponse(req.a + req.b) #返回應答資料報(這裡傳進去的引數按.srv檔案的順序填寫)
def add_two_ints_server():
rospy.init_node('add_two_ints_server(服務節點名)')
s = rospy.service('add_two_ints(服務名)', addtwoints(srv檔名), handle_add_two_ints)
print "ready to add two ints."
rospy.spin()
if __name__ == "__main__":
add_two_ints_server()
#!/usr/bin/env python
import sys
import rospy
from beginner_tutorials.srv import *
def add_two_ints_client(x, y):
rospy.wait_for_service('add_two_ints')
try:
add_two_ints = rospy.serviceproxy('add_two_ints', addtwoints) #獲得乙個請求處理函式的控制代碼,在下面會用到
resp1 = add_two_ints(x, y) # 直接將引數按.srv檔案中的順序填好,傳入控制代碼,即可得到結果
return resp1.sum
except rospy.serviceexception, e:
print "service call failed: %s"%e
def usage():
return "%s [x y]"%sys.ar**[0]
if __name__ == "__main__":
if len(sys.ar**) == 3:
x = int(sys.ar**[1])
y = int(sys.ar**[2])
else:
print usage()
sys.exit(1)
print "requesting %s+%s"%(x, y)
print "%s + %s = %s"%(x, y, add_two_ints_client(x, y))
用python寫乙個簡單的視窗
import sys if name main 建立乙個視窗 w qwidget 設定視窗的尺寸 w.resize 400,200 移動視窗 w.move 300,300 設定視窗的標題 w.setwindowtitle 第乙個基於pyqt5的桌面應用 顯示視窗 w.show 進入程式的主迴圈 並通...
用python寫乙個簡單的彈球遊戲
用python寫乙個簡單的彈球遊戲,可以使用球拍接住球讓球在邊框內不停的彈動,如果球拍沒有接住則遊戲結束 我們需要匯入tkinter模組來建立畫布 匯入時間模組來控制球的速度,就是控制球移動的間隔時間 匯入隨機模組使球彈的方向是隨機的。fromtkinterimport importtime imp...
用python寫乙個簡單的推薦系統
在上篇文章豆瓣電影,電視劇集dm實戰中提及到,我和室友們產生了劇荒,萌生出要做乙個個人用的推薦系統,解決劇荒的問題的想法,經過一輪的死纏爛打,這個個人推薦系統終於成型了。今天來分享一下心得,對此感興趣的朋友可以自己對著寫乙個。首先介紹一下傳統的推薦系統方法,之所以叫它傳統,是因為大部分學習資料上都是...