版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《ROS原理與技術(shù)應(yīng)用》能力模塊四掌握線控底盤的調(diào)試方法
任務(wù)一實現(xiàn)自動駕駛系統(tǒng)的遠(yuǎn)程登錄導(dǎo)入隨著自動駕駛技術(shù)的不斷發(fā)展,在L3級別的自動駕駛面臨的最大的挑戰(zhàn)是循序雙手暫時離開方向盤,而更高級別的自動駕駛則需要達(dá)到解放雙手雙腳以及眼睛的效果,完全依靠感知層、決策層和執(zhí)行層來控制汽車自動駕駛。目錄
CONTENTS0102串口通信的定義串口通信在智慧貓上的應(yīng)用03ros_arduino_bridge通信包的文件結(jié)構(gòu)新授一、串口通信的定義串行接口簡稱串口,也稱串行通信接口(通常指COM接口),是采用串行通信方式的擴展接口。
串口通信(SerialCommunications)是指指外設(shè)和計算機間,通過數(shù)據(jù)信號線、地線、控制線等,按位(bit)發(fā)送和接收字節(jié),進行傳輸數(shù)據(jù)的一種通訊方式。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。
串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通信的端口,這些參數(shù)必須匹配。下面將對波特率、數(shù)據(jù)位、停止位和奇偶校驗這幾個概念進行簡單介紹一、串口通信的定義1波特率這是一個衡量字符傳輸速率的參數(shù),配置了波特率就知道了傳輸每個位(bit)所需要的時間。波特率指的是信號被調(diào)制以后在單位時間內(nèi)的變化,即單位時間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。波特率不能隨意設(shè)定,因為通信雙方需要事先設(shè)定先溝通的波特率才能通信成功,否則接收不到通信內(nèi)容。一般最常見的波特率是9600或115200(低端單片機如51常用9600,高端單片機和嵌入式SOC常用115200)。2數(shù)據(jù)位這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當(dāng)計算機發(fā)送一個信息包,實際真正有效數(shù)據(jù)位數(shù)是可以選擇的,標(biāo)準(zhǔn)的值是6~8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn)ASCII碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。一、串口通信的定義3停止位用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。4奇偶校驗位在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。一、串口通信的定義實際的串口通訊的數(shù)據(jù)包傳輸過程是發(fā)送設(shè)備通過自身的TXD接口傳輸?shù)浇邮赵O(shè)備的RXD接口。其數(shù)據(jù)包內(nèi)容為:起始位、數(shù)據(jù)位、校驗位以及停止位組成,通信雙方的數(shù)據(jù)包格式需要約定一致才能正常的收發(fā)數(shù)據(jù),數(shù)據(jù)包的具體構(gòu)成如圖二、串口通信在智慧貓上的應(yīng)用當(dāng)我們想要具體利用決策單元控制智慧貓的底盤之前,我們首先需要了解上位機與下位機的概念。上位機是指可以直接發(fā)出操控命令的計算機,通常是PC、hostcomputer、mastercomputer、決策模塊。下位機是指能夠直接控制設(shè)備運作、獲取設(shè)備狀態(tài)信息的計算機,一般是指PLC(可編程邏輯控制器,ProgrammableLogicController)、單片機、slavecomputer等。上位機發(fā)出命令傳遞給下位機,下位機再根據(jù)命令直接控制相應(yīng)設(shè)備。下位機讀取設(shè)備狀態(tài)數(shù)據(jù)反饋給上位機。二、串口通信在智慧貓上的應(yīng)用在智慧貓線控底盤通信中上下位機分別是串口接收決策單元和線控底盤控制單元。想實現(xiàn)智慧主控制器與底盤控制器的通信,步驟大致分為以下三步:?將行云橋智慧貓自帶的HDMI接口跟桌面顯示器相連,USB接口連接無線鍵鼠接收器。?打開電源,進入到Ubuntu系統(tǒng)。?啟動ROS與arduino的通信節(jié)點。其中智慧貓的線控底盤控制單元(下位機)通過串口接收決策單元(上位機)發(fā)送過來的底盤行駛的線速度和角速度,同時,下位機也通過串口向上位機發(fā)送四個驅(qū)動電機的實時轉(zhuǎn)速。
智慧貓的上位機采用JetsonNano作為主控模塊(決策模塊),然后通過串口連接至底盤的控制器(ArduinoMega2560)。上位機JetsonNano上已經(jīng)安裝好了ROS系統(tǒng),并通過ros_arduino_bridge通信功能包實現(xiàn)與下位機arduino之間的串行通信。三、ros_arduino_bridge通信包的文件結(jié)構(gòu)os_arduino_bridge功能包集包括了Arduino庫(ROSArduinoBridge)和一系列用來控制基于Arduino的ROS功能包,它使用的是標(biāo)準(zhǔn)的ROS消息和服務(wù),且不依賴于ROS串口。ros_arduino_bridge包含了一個底盤控制器(basecontroller),該底盤控制器是用來控制一個兩輪差速驅(qū)動的機器人,可以接受ROSTwist格式的消息和發(fā)布里程計數(shù)據(jù)到主控電腦(上位機)。目前ros_arduino_bridge功能包支持的電機驅(qū)動板有PololuVNH5019雙路電機控制板和PololuMC33926雙路電機控制板。除了默認(rèn)支持的控制板,我們也可以通過修改代碼來擴充其他型號的電機驅(qū)動板。該軟件包處理支持驅(qū)動電機,還有一些其他功能:?直接支持各種超聲波傳感器(如:HY-SRF05超聲波模塊)和Sharp紅外測距傳感器(如:GP2D12)?可以從通用的模擬和數(shù)字信號的傳感器讀取數(shù)據(jù)?可以直接控制數(shù)字信息信號的輸出?能夠支出PWM伺服舵機控制三、ros_arduino_bridge通信包的文件結(jié)構(gòu)接下來,我們來介紹一下ros_arduino_bridge功能包集的整體文件結(jié)構(gòu)??偟膩碚f,ros_arduino_bridge功能包包括四大部分:ros_arduino_bridge模塊、ros_arduino_firmware模塊、ros_arduino_msgs模塊以及ros_arduino_python模塊。具體的內(nèi)部文件結(jié)構(gòu)如圖三、ros_arduino_bridge通信包的文件結(jié)構(gòu)其中ros_arduino_msgs文件夾內(nèi)部包含了ROS使用的各類信息格式和各類服務(wù)。內(nèi)部的msg文件夾內(nèi)容主要用于定義消息,srv文件夾內(nèi)容用于定義服務(wù)。具體包含的功能文件如圖三、ros_arduino_bridge通信包的文件結(jié)構(gòu)其中ros_arduino_python文件夾內(nèi)部包含了上位機中需要運行的主要代碼,由pythonb編寫。內(nèi)部結(jié)構(gòu)為config、launch、nodes和src/ros_arduino_python文件夾。一一對應(yīng)的具體功能文件展示如圖三、ros_arduino_bridge通信包的文件結(jié)構(gòu)在實現(xiàn)實現(xiàn)線控底盤主機與底層控制板Arduino的通信之前,需要確認(rèn)線控底盤的主機通信包已安裝,必須先啟動底盤通信節(jié)點,相關(guān)命令如下(1)遠(yuǎn)程登錄到線控底盤主機側(cè):(2)啟動底盤通信節(jié)點:正確啟動后界面顯示如圖任務(wù)實施一、任務(wù)準(zhǔn)備(一)軟件、硬件準(zhǔn)備(二)安全要求及注意事項1.安裝好ROS系統(tǒng)的桌面電腦一臺;2.燒錄好智慧貓線控底盤控制系統(tǒng)程序的ArduinoMega2560控制板一塊;11.檢查桌面電腦ROS系統(tǒng)是否已經(jīng)安裝好;22.檢查Arduino板的程序是否已經(jīng)燒錄完成。
檢查桌面電腦ROS系統(tǒng)是否已安裝好實施步驟有:二、實施步驟首先需要完成工作空間的創(chuàng)建01編譯與環(huán)境配置02配置線控底盤的參數(shù)03啟動底盤通信節(jié)點04二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟1:首先需要完成工作空間的創(chuàng)建
(1)在home/inwinic目錄下創(chuàng)建多級文件夾目錄:(2)初始化工作空間:二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟2:編譯與環(huán)境配置
(2)編譯與環(huán)境配置將配套提供的ros_arduino_bridge功能包拷貝到文件夾目錄/home/inwinic/inwinic_ws/src下,并完成編譯和環(huán)境的配置。編譯的指令如下:環(huán)境的配置指令如下:二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟3:配置線控底盤的參數(shù)
將Arduino控制板連接至桌面電腦的USB端口,如果是在桌面電腦的虛擬機上安裝的ROS,需要在虛擬機窗口欄中選擇“虛擬機”->“可移動設(shè)備”,在“可移動設(shè)備”列表中找到arduino對應(yīng)的設(shè)備并連接。具體參數(shù)的配置步驟如下:(1)查詢arduino控制板與虛擬機的連接端口號及權(quán)限設(shè)置:首先查詢端口號:顯示如圖所示:二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟3:配置線控底盤的參數(shù)
常見設(shè)備連接后,端口顯示一般為ttyUSB*或ttyACM*,“*”代表數(shù)字“0,1,2……”,如果不確定,可以在Arduino控制板連接至上位機控制板前查詢下端口號,然后在Arduino控制板連接至上位機控制板后,再查詢下端口號,新增加的端口號即為Arduino控制板的連接端口。在查詢到端口號為/dev/ttyUSB0后,可以通過如下指令查詢端口的權(quán)限:指令執(zhí)行后,顯示如圖所示:紅色標(biāo)注部分表示端口的權(quán)限,詳情如表所示二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟3:配置線控底盤的參數(shù)
端口在賦予權(quán)限的時候是通過數(shù)字來實現(xiàn)的,每組權(quán)限r(nóng)wx分別對應(yīng)3位二進制數(shù),然后轉(zhuǎn)換成十進制數(shù)后的對應(yīng)關(guān)系如表所示:為了實現(xiàn)上位機和下位機之間通過連接端口傳輸數(shù)據(jù),我們將所有者的權(quán)限、同組用戶權(quán)限、其他用戶權(quán)限都為rwx,即在權(quán)限賦值時設(shè)置權(quán)限值為777即可。指令如下:指令執(zhí)行后,端口所有的權(quán)限均為rwx。二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟3:配置線控底盤的參數(shù)
(2)修改通信節(jié)點的啟動參數(shù):打開文件夾目錄ros_arduino_bridge/ros_arduino_python/config,然后打開my_arduino_params.yaml文件(如果沒有該文件,可以復(fù)制arduino_params.yaml文件,然后修改文件名為my_arduino_params.yaml),并進行參數(shù)的修改,具體操作指令如下:二、實施步驟(一)創(chuàng)建工作空間并初始化
步驟3:配置線控底盤的參數(shù)
打開my_arduino_params.yaml參數(shù)后,參考如下內(nèi)容來修改my_arduino_params.yaml文件:(行前面如果包含“#”,代表該行設(shè)定的參數(shù)無效):特別需要指出的是這個參數(shù)設(shè)置文件內(nèi),編碼器分辨率(encoder_resolu
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 不期而遇的溫暖作文600字(5篇)
- 《燕子》說課稿15篇
- 2024年度汽車機電產(chǎn)品批量定制與銷售合同3篇
- 八年級歷史上冊 第七單元 人民解放戰(zhàn)爭第23課 內(nèi)戰(zhàn)爆發(fā)教學(xué)實錄 新人教版
- 左耳觀后感作文800字
- 九年級語文上冊 第17課 智取生辰綱教學(xué)實錄 (新版)新人教版
- 2024秋二年級道德與法治上冊 3.12 我們小點兒聲教學(xué)實錄 新人教版
- 人力資源的實習(xí)報告(集錦15篇)
- 感恩教師主題演講稿(15篇)
- 幼兒園外出學(xué)習(xí)總結(jié)10篇
- 2024屆高考專題復(fù)習(xí):詩歌鑒賞之愛情詩 課件(共30張PPT)
- 腦惡性腫瘤的護理查房
- 夫妻房產(chǎn)過戶給子女協(xié)議書
- 女子水晶樂坊
- 出境竹木草制品公司原輔料采購驗收制度
- 2023年臨床醫(yī)學(xué)(軍隊文職)題庫(共五套)含答案
- 關(guān)于學(xué)校學(xué)生意外死亡的情況報告
- 2022公務(wù)員錄用體檢操作手冊(試行)
- 2023-2024學(xué)年江西省小學(xué)語文六年級期末??伎荚囶}附參考答案和詳細(xì)解析
- 山東省菏澤市高職單招2023年綜合素質(zhì)自考測試卷(含答案)
- 中國兒童注意缺陷多動障礙(ADHD)防治指南
評論
0/150
提交評論