智能網(wǎng)聯(lián)汽車計算平臺部署與測試 課件 學習任務1:消息發(fā)布與訂閱_第1頁
智能網(wǎng)聯(lián)汽車計算平臺部署與測試 課件 學習任務1:消息發(fā)布與訂閱_第2頁
智能網(wǎng)聯(lián)汽車計算平臺部署與測試 課件 學習任務1:消息發(fā)布與訂閱_第3頁
智能網(wǎng)聯(lián)汽車計算平臺部署與測試 課件 學習任務1:消息發(fā)布與訂閱_第4頁
智能網(wǎng)聯(lián)汽車計算平臺部署與測試 課件 學習任務1:消息發(fā)布與訂閱_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《自動駕駛學習任務1:消息場景設計》發(fā)布與訂閱智能網(wǎng)聯(lián)創(chuàng)新實驗室學習任務1:

消息發(fā)布與訂閱1.代碼講解2.實際操作3.視頻演示《上機實踐部分——自動駕駛場景編程》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學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》?在函數(shù)test1中創(chuàng)建/test1主題,

發(fā)布的是Twist類型的消息

隨后新建一個Twist消息并

設置好內容后發(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)學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》?

在sub1.py中首先新建一個名為sub1的節(jié)點并訂閱/test1主題。if

name

==

'

main

':rospy.in

it

node("sub1")rospy.Subscriber("/test1",Twist,test1)rospy.spin()pass?隨后在回調函數(shù)test1中打印消息。def

test1(msg):print(msg)pass學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》?C++版本的節(jié)點發(fā)布與訂閱由pub2.cpp和sub2.cpp實現(xiàn)。?在pub2.cpp中首先新建一個名為pub2的節(jié)點

。

創(chuàng)建/test2主題,

發(fā)布的是Twist類型的消息

。

隨后新建一個Twist消

息并設置好內容后發(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;};學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》在sub2.cpp中首先新建一個名為sub2的節(jié)點并訂閱/test2主題

。在回調函數(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);}學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》2實際操作?

新建終端,

輸出roscore啟動Master。學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》cdaliyun_demosourcedevel/setup.bashrosrunraceworldpub1.py?打開終端,

輸入如下命令開啟sub1

。

終端中可以看

到輸出。cdaliyun_demosourcedevel/setup.bashrosrunraceworldsub1.py學習任務1:

消息發(fā)布與訂閱?打開終端,

輸入如下命令開啟pub1?!渡蠙C實踐部分——自動駕駛場景編程》?打開終端,

輸入如下命令開啟sub2

。

終端中可以看

到輸出。cdaliyun_demosourcedevel/setup.bashrosrunraceworldsub2?打開終端,

輸入如下命令開啟pub2。cdaliyun_demosourcedevel/setup.bashrosrunraceworldpub2學習任務1:

消息發(fā)布與訂閱《上機實踐部分——自動駕駛場景編程》?

打開終端,

輸入rostopic

list命令查看當前所有rostopic

。

可以找到我們代碼中新建的/test1和/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論