1.3-串口方式實現機械臂三維空間移動《智能機器人技術應用》_第1頁
1.3-串口方式實現機械臂三維空間移動《智能機器人技術應用》_第2頁
1.3-串口方式實現機械臂三維空間移動《智能機器人技術應用》_第3頁
1.3-串口方式實現機械臂三維空間移動《智能機器人技術應用》_第4頁
1.3-串口方式實現機械臂三維空間移動《智能機器人技術應用》_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目一機械臂移動與物體抓取創(chuàng)靈實驗平臺串口方式實現機械臂三維空間移動任務四職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務四

串口方式實現機械臂三維空間移動認識串口,了解波特率、數據位以及PythonSerial庫;學習如何使用串口;了解串口協(xié)議發(fā)送指令的方法和原理以及常用串口指令的使用。學習通過串口編寫控制機械臂Python腳本方法并能夠熟練自行編寫對應腳本完成所需要求掌握Python-Serial庫的使用;掌握串口協(xié)議發(fā)送指令的方法;掌握串口返回數據讀取;掌握常用串口控制機械臂指令;掌握使用串口編寫Python腳本控制機械臂。職業(yè)能力目標01實驗目的實驗內容職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務四

串口方式實現機械臂三維空間移動

此任務要求同學們認識串口,了解波特率、數據位以及PythonSerial,學習如何使用串口控制,了解串口協(xié)議發(fā)送指令的方法和原理以及常用串口指令的使用,并學習通過串口編寫控制機械臂Python腳本方法并能夠熟練自行編寫對應腳本完成所需要求。任務描述任務要求下載安裝Python-Serial庫;掌握串口協(xié)議發(fā)送指令的相關函數,并完成相關實驗;完成串口返回數據讀取,得到對應結果;使用常用串口控制機械臂指令,實現機械臂移動到指定位置;能夠獨立使用串口編寫Python腳本控制機械臂。任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務四

串口方式實現機械臂三維空間移動任務分析在引導案例里我們學習了串口,那么什么是串口通信呢?我們要如何通過串口方式實現機械臂三維空間移動三.根據自己的了解,通過串口控制機械臂在生活中還有哪些用途呢?任務分析與計劃03任務計劃表項目名稱創(chuàng)靈實驗平臺任務名稱串口方式實現機械臂三維空間移動計劃方式自主設計計劃要求請用6個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6

通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務四

串口方式實現機械臂三維空間移動05知識儲備串口通信的相關參數及作用2串口通信的原理1Pythonserial庫3

世界上首次推出臺式計算機時,它們帶有串行端口和并行端口。串行端口通常用于連接串口調試設備,并行端口用于打印機。現在部分臺式計算機上已經這兩種類型的端口,因為通信通過以太網端口進行,而連接打印機可以使用USB端口或以太網端口,或者通過wifi/藍牙的無線連接。什么是串口?04串口通信的原理

串口的出現是在1980年前后,數據傳輸率是115kbps~230kbps。串口出現的初期是為了實現連接計算機外設的目的,初期串口一般用來連接鼠標和外置Modem以及老式攝像頭和寫字板等設備。串口也可以應用于兩臺計算機(或設備)之間的互聯(lián)及數據傳輸。由于串口(COM)不支持熱插拔及傳輸速率較低,部分新主板和大部分便攜電腦已開始取消該接口。串口多用于工控和測量設備以及部分通信設備中。串口的由來?04串口通信的原理串口通信的原理

目前,仍有許多計算機接口符合“串行”的要求,常見接口包括SCSI、SATA(用于連接硬盤驅動器等)和USB(還有其他接口)。工業(yè)聯(lián)網設備上常見的串口是RS232串口,RS232串口分為DB-9針和DB-25針。如下圖:串口有幾種形式?幾種接口樣式04串口通信的原理

1.控制臺輸入/輸出嵌入式系統(tǒng)開發(fā)項目的過程中,幾乎都會有一個終端仿真器連接到目標系統(tǒng)上的串口。這與CPU架構和它運行的操作系統(tǒng)無關。即使有到目標的網絡連接,并且可以遠程運行時,可以清楚的了解當前串行連接發(fā)生了什么,特別是如果發(fā)生了意外情況能及時獲取信息。串口有哪些用途?

2.數據通信串口連接可用于系統(tǒng)內的處理器間通信或與系統(tǒng)不同部分的通信。串口提供設備之間的物理連接,但必須使用通信協(xié)議來確保可靠、無差錯的數據路徑。根據鏈路的要求,可以實施簡單的協(xié)議傳輸,或者使用行業(yè)標準協(xié)議,例如PPP或HDLC。這些協(xié)議起源于數據通信,允許主機之間的點對點網絡。這在不包括以太網控制器的簡單、低成本設備中特別有用,因為出于成本、空間或功率考慮。嵌入式系統(tǒng)中使用的TCP/IP協(xié)議棧通常支持使用串行鏈路進行物理連接和PPP或SLIP提供鏈路層協(xié)議

3.外部設備通訊調試新設備或更新系統(tǒng)參數通常需要通過串口連接到一臺設備并與服務程序交互。網絡工程師通常以這種方式設置交換機和其他網絡基礎設施。通常,來自一組設備的串口連接到終端服務器,允許工程師通過網絡接口連接到其中的任何一個。串口還用于將設備連接在一起,例如一種或另一種類型的調制解調器(PSTN、3G、衛(wèi)星)、GPS裝置、望遠鏡、傳感器、電源逆變器和許多類型的工業(yè)控制設備。04

串口形容一下就是一條車道,而并口就是有8個車道同一時刻能傳送8位(一個字節(jié))數據。但是并不是說并口快,由于8位通道之間的互相干擾(串擾),傳輸時速度就受到了限制,傳輸容易出錯。串口沒有互相干擾。并口同時發(fā)送的數據量大,但要比串口慢。串口硬盤就是這樣被人們重視的。串口與并口的區(qū)別?04串口通信的原理串口通信的原理04

串口通信(SerialCommunicaTIons)的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數據的同時用另一根線接收數據。它很簡單并且能夠實現遠距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設備線總長不得超過20米,并且任意兩個設備間的長度不得超過2米;而對于串口而言,長度可達1200米。串口通信的原理04

典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數據同時在另一根線上接收數據。其他線用于握手,但不是必須的。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通信的端口,這些參數必須匹配。思考一下,在生活中我們有哪些地方用到了串口通信?05知識儲備串口通信的相關參數及作用2串口通信的原理1Pythonserial庫3串口通信的相關參數及作用04

這是一個衡量符號傳輸速率的參數。指的是信號被調制以后在單位時間內的變化,即單位時間內載波參數變化的次數,如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數據位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。一般調制速率大于波特率,比如曼徹斯特編碼)。波特率:串口通信的相關參數及作用04

這是衡量通信中實際數據位的參數。如何設置取決于你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標準ASCII碼),那么每個數據包使用7位數據。每個包是指一個字節(jié),包括開始/停止位,數據位和奇偶校驗位。由于實際數據位取決于通信協(xié)議的選取,術語“包”指任何通信的情況。數據位:停止位04

用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數據是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數越多,不同時鐘同步的容忍程度越大,但是數據傳輸率同時也越慢。思考一下,我們要怎么在串口中設置呢?串口通信的相關參數及作用04

在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設置校驗位(數據位后面的一位),用一個值確保傳輸的數據有偶個或者奇?zhèn)€邏輯高位。例如,如果數據是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。高位和低位不奇偶校驗位:串口通信的相關參數及作用04

真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數據是否不同步。奇偶校驗位:05知識儲備串口通信的相關參數及作用2串口通信的原理1Pythonserial庫3Pythonserial庫04

Pythonserial是Python用來進行串口操作的一個庫,庫集成了串口常見操作,如:打開串口、關閉串口、串口寫數據、串口讀數據等。例如:lser.close##關閉串口lserial.Serial##打開串口lis_open##判斷串口是否正常開啟lser.write##寫入數據lser.read##讀取數據并有以下幾個常用命令:Pythonserial庫04

在了解完Pythonserial以及他的常用命令后,我們要如何安裝Pythonserial庫呢?

安裝serial庫的方法是使用pip進行安裝,安裝指令【pipinstallpyserial】!pipinstallpyserial

在介紹完安裝serial庫后,我們來看看serial庫命令的使用:Pythonserial庫04serial打開串口:importserialser=serial.Serial("/dev/ttyACM0",115200)#第一個參數是設備、第二個參數是波特率serial關閉串口:ser.close()serial串口寫入數據importserialimporttimeser=serial.Serial("/dev/ttyACM0",115200)#serial串口設置、波特率設置data=b"#5P2205"ser.write(data)time.sleep(1)ser.close()Pythonserial庫04serial串口查看返回值importserialser=serial.Serial("/dev/ttyACM0",115200)data=b"#5P2205"ser.write(data)whileTrue:line=ser.readline()print(line)職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務四

串口方式實現機械臂三維空間移動串口控制機械臂移動到指定位置205任務實施常見機械臂操作串口指令1

串口方式實現機械臂三維空間移動任務四常見機械臂操作串口命令:l移動機械臂

b"G0X<x坐標值>Y<y坐標值>Z<z坐標值>F90\n"l打開末端吸泵

b"M2231V1\n"l關閉末端吸泵

b"M2231V0\n"l讀取機械臂信息

b"#5P2205"

請根據串口控制機械臂移動中實驗預覽的相關代碼,了解常用機械臂操作串口命令。串口連接機械臂05任務實施串口控制機械臂移動到指定位置2常見機械臂操作串口指令13

串口方式實現機械臂三維空間移動任務四實驗預覽:importtime#導入庫importserialser=serial.Serial("/dev/ttyACM0",115200)#串口通信time.sleep(2)#延時data=b"G0X120Y0Z60F90\n"#將機械臂移動到x=120,y=0,z=60的位置ser.write(data)whileTrue:line=ser.readline()print(line)以通過重啟內核,來停止代碼中的while循環(huán),如圖所示:串口控制機械臂移動到指定位置我們要怎樣根據實驗預覽代碼去編寫機械臂右移、上移等?我們要如何使用串口控制機械臂完成所需任務呢?在學習完后,我們要怎么幫所學整合利用,學以致用呢?串口方式實現機械臂三維空間移動

05通過上面的思考,你是否對本任務要完成的任務有所了解?接下來我們進入使用串口控制機械臂移動到指定位置編寫控制機械臂的Python腳本的環(huán)節(jié)進行學習吧!串口方式實現機械臂三維空間移動05進入學習通過串口方式編寫Python腳本串口方式實現機械臂三維空間移動05動手練習:(根據實驗預覽中所學知識,我們來試試自行編寫代碼完成所需任務吧!)1.在<1>、<2>、<3>處,填入相應的值,使得機械臂移動到x=130,y=30,z=70。2.在<4>處填寫對應的代碼,使得代碼能將機械臂移動指定的位置。importtimeimportserialser=serial.Serial("/dev/ttyACM0",115200)time.sleep(2)data=b"G0X<1>Y<2>Z<3>F90\n"<4>whileTrue:line=ser.readline()print(line)在完成動手練習后,接下來我們來學習串口方式打開機械臂末端吸泵吧!串口方式打開機械臂末端吸泵05實驗預覽:importtime#導入庫importserialser=serial.Serial("/dev/ttyACM0",115200)#串口通信time.sleep(2)#延時data=b"M2231V1\n"#打開ser.write(data)whileTrue:line=ser.readline()#讀取數據print(line)以通過重啟內核,來停止代碼中的while循環(huán),如圖所示:除了串口方式打開機械臂末端,我們還要學習串口方式關閉機械臂末端吸泵。串口方式關閉機械臂末端吸泵05實驗預覽:以通過重啟內核,來停止代碼中的while循環(huán),如圖所示:importtimeimportserialser=serial.Serial("/dev/ttyACM0",115200)time.sleep(2)data=b"M2231V0\n"#關閉ser.write(data)whileTrue:line=ser.readline()#讀入數據print(line)使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(詳細代碼運行結果請參照Jupyter,任務三、串口方式編寫腳本控制機械臂)使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(詳細代碼運行結果請參照Jupyter,任務三、串口方式編寫腳本控制機械臂)打開串口編寫腳本實驗使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(運行以下代碼,查看實驗效果)左移動機械臂move_left()

stop()右移動機械臂move_right()stop()使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(運行以下代碼,查看實驗效果)左移動機械臂move_left()

stop()右移動機械臂move_right()stop()move_forward()stop()前移動機械臂使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(運行以下代碼,查看實驗效果)后移動機械臂move_backward()

stop()上移動機械臂move_up()stop()使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(運行以下代碼,查看實驗效果)后移動機械臂move_backward()

stop()上移動機械臂move_up()stop()move_down()stop()下移動機械臂使用串口方式編寫Python腳本控制機械臂05通過使用serial庫編寫一個可以左右上下移動機械臂和吸泵開關的腳本(根據常用的串口控制機械臂指令調用進行編寫)。接下來讓我們進入實驗預覽。實驗預覽:(運行以下代碼,查看實驗效果)打開吸泵set_pump_on()

關閉吸泵set_pump_off()ser.close斷開連接職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08任務四

串口方式實現機械臂三維空間移動任務檢查與評價06序號評價內容評價標準分值得分1知識運用(20%)掌握相關理論知識,理解本次任務要求,制定詳細計劃,計劃條理清晰,邏輯正確(20分)20分

理解相關理論知識,能根據本次任務要求、制定合理計劃(15分)了解相關理論知識,有制定計劃(10分)無制定計劃(0分)2專業(yè)技能(40%)完成串口方式編寫Python腳本控制機械臂,并能獨立完成更改相應代碼塊實現任務目標。(40分)40分

完成串口控制機械臂移動到指定位置實驗,并完成動手練習。(25分)完成串口控制機械臂移動到指定位置實驗。(10分)沒有完成串口控制機械臂移動到指定位置實驗。(0分)3核心素養(yǎng)(20%)具有良好的自主學習能力、分析解決問題的能力、整個任務過程中有指導他人(20分)20分

具有較好的學習能力和分析解決問題的能力,任務過程中無指導他人(15分)能夠主動學習并收集信息,有請教他人進行解決問題的能力(10分)不主動學習(0分)4課堂紀律(20%)設備無損壞、設備擺放整齊、工位區(qū)域內保持整潔、無

溫馨提示

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

評論

0/150

提交評論