版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《自動駕駛學(xué)習(xí)任務(wù)1:消息場景設(shè)計》發(fā)布與訂閱智能網(wǎng)聯(lián)創(chuàng)新實驗室學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱1.代碼講解2.實際操作3.視頻演示《上機(jī)實踐部分——自動駕駛場景編程》1代碼講解?python版本的節(jié)點發(fā)布與訂閱由pub1.py和sub1.py實現(xiàn)。?在pub1.py中首先新建一個名為pub1的節(jié)點。if
name
==
'
main
':rospy.in
it
node("pub1")test1()rospy.spin()pass學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》?在函數(shù)test1中創(chuàng)建/test1主題,
發(fā)布的是Twist類型的消息
。
隨后新建一個Twist消息并
設(shè)置好內(nèi)容后發(fā)布。def
test1():whileTrue:pub=rospy.Publisher("/test1",Twist,
queue
size=10)twist
=Twist()twist.linear.x=
1.0twist.angular.z=
1.0pub.publish(twist)學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》?
在sub1.py中首先新建一個名為sub1的節(jié)點并訂閱/test1主題。if
name
==
'
main
':rospy.in
it
node("sub1")rospy.Subscriber("/test1",Twist,test1)rospy.spin()pass?隨后在回調(diào)函數(shù)test1中打印消息。def
test1(msg):print(msg)pass學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》?C++版本的節(jié)點發(fā)布與訂閱由pub2.cpp和sub2.cpp實現(xiàn)。?在pub2.cpp中首先新建一個名為pub2的節(jié)點
。
創(chuàng)建/test2主題,
發(fā)布的是Twist類型的消息
。
隨后新建一個Twist消
息并設(shè)置好內(nèi)容后發(fā)布。#include
"ros/ros.h"#include
"geometry_msgs/Twist.h"int
main(int
argc,
char**
argv){ros::in
it(argc,
argv,
"pub2");ros::NodeHandle
node;geometry_msgs::Twist
msg;ros::Publisher
pub=node.advertise<geometry_msgs::Twist>("/test2",10);while
(ros::ok()){ros::spinOnce();msg.linear.x=
1.0;msg.angular.z=
1.0;pub.publish(msg);}return
0;};學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》在sub2.cpp中首先新建一個名為sub2的節(jié)點并訂閱/test2主題
。在回調(diào)函數(shù)test2中打印消息。intmain(intargc,
char
**argv){ros::in
it(argc,argv,
"sub2");ros::NodeHandlenode;ros::Subscribersub=node.subscribe("/test2",
1,
test2);while
(ros::ok()){ros::spinOnce();}return
0;}voidtest2(constgeometry_msgs::Twist::ConstPtr&msg){ROS_INFO("speed:%.2f,steer:%.2f",msg->linear.x,msg->angular.z);}學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》2實際操作?
新建終端,
輸出roscore啟動Master。學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》cdaliyun_demosourcedevel/setup.bashrosrunraceworldpub1.py?打開終端,
輸入如下命令開啟sub1
。
終端中可以看
到輸出。cdaliyun_demosourcedevel/setup.bashrosrunraceworldsub1.py學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱?打開終端,
輸入如下命令開啟pub1。《上機(jī)實踐部分——自動駕駛場景編程》?打開終端,
輸入如下命令開啟sub2
。
終端中可以看
到輸出。cdaliyun_demosourcedevel/setup.bashrosrunraceworldsub2?打開終端,
輸入如下命令開啟pub2。cdaliyun_demosourcedevel/setup.bashrosrunraceworldpub2學(xué)習(xí)任務(wù)1:
消息發(fā)布與訂閱《上機(jī)實踐部分——自動駕駛場景編程》?
打開終端,
輸入rostopic
list命令查看當(dāng)前所有rostopic
。
可以找到我們代碼中新建的/test1和/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年演藝經(jīng)紀(jì)合同保密條款設(shè)計
- 經(jīng)營場所承包合同
- 2026屆新高考英語沖刺復(fù)習(xí)語填錯題技巧及錯題本指導(dǎo)
- 娛樂公司介紹
- 水暖施工員年終總結(jié)
- 安全培訓(xùn)講師證年審流程課件
- 培訓(xùn)演講能力課件
- 員工規(guī)范培訓(xùn)課件
- 兒童癲癇持續(xù)狀態(tài)診斷治療2026
- 2024年崇州市公務(wù)員考試真題
- 中國熱帶農(nóng)業(yè)科學(xué)院橡膠研究所高層次人才引進(jìn)考試題庫附答案
- 2025年度機(jī)動車輛檢驗檢測機(jī)構(gòu)管理體系內(nèi)審資料
- 喉癌患者吞咽功能康復(fù)護(hù)理
- 2025中原農(nóng)業(yè)保險股份有限公司招聘67人筆試歷年??键c試題專練附帶答案詳解
- 政協(xié)課件教學(xué)
- 2025年安徽省普通高中學(xué)業(yè)水平合格性考試英語試卷(含答案)
- 合法效收賬協(xié)議書
- DB32∕T 5167-2025 超低能耗建筑技術(shù)規(guī)程
- 2025年天津市直機(jī)關(guān)遴選公務(wù)員面試真題及解析
- 糖尿病周圍神經(jīng)病護(hù)理查房
- 雨課堂學(xué)堂在線學(xué)堂云《科學(xué)研究方法與論文寫作(復(fù)大)》單元測試考核答案
評論
0/150
提交評論