机器人设计与应用专题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自走車
控制馬達前近 一小段距離
控制馬達後退 一小段距離
無窮迴圈
單光感循跡
挑戰問題:如何讓機器人使用一個光感應器, 控制兩個馬達,依循地上黑線前進 ?
單光感循跡演算法
演算法說明 step 1 光感應偵測地面亮度 step 2 若偵測到亮-左馬達出力 step 3 若偵測到暗-右馬達出力 不斷重複上面步驟,即可循跡前進
•電機控制元件
–控制器 –伺服馬達 –感測器
•圖控式程式發展 環境
•積木元件
8
9
電機控制元件
• 包含NXT 控制器、伺 服馬達、感應器组成
• NXT控制器就像人的大 腦,伺服馬達好比人 的肌肉,提供動力, 感應器就像人的五官 ,偵測外界環境並轉 換成數位資料,再傳 送回NXT控制器,驅動 伺服馬達做出反應
}
• 討論單光感循跡演算法的特性,優缺點分析 • 演算法的特性--有限性、明確性 • 準備難度較高的圖形再試試看,並且討論失敗
的原因,歸納出演算法的缺點
進階挑戰地圖
雙光感循跡
•控制機器人以雙光感測 器循跡前進,且行經到 底線時能自動停止
程式說明
程式執行原理,與之前的閃黃燈程式相同,依序是: • 點亮連接PortA的綠燈->等3秒鐘->熄滅PortA綠燈 • 點亮連接PortB的黃燈->等1秒鐘->熄滅PortB的黃燈 • 點亮連接PortC的紅燈->等4秒鐘->熄滅PortC的紅燈
閃黃燈變換紅綠燈
•使用感測器控制閃黃燈切換紅綠燈 •展示事先錄製的影片 •依照建構圖,將零件組合完畢
• 迴圈內的前兩個物件,負責偵測Port1按鈕、Port2按鈕是 否被按下
• 若按鈕被按下,|則綠色的線會送出true的訊號,由迴圈 內的第三個物件(邏輯物件)匯整後作出判斷(本例為OR)
常用的邏輯判斷
AND運算: 只有兩個輸入值都為“真”時結果才為 “真”;其他情況輸出結果都為“假”
OR運算: 兩個輸入值至少一個為“真”,輸出結 果則為“真”;否則輸出結果為“假”
• 基本運算模式 輸入->處理->輸出
• 圖控式程式發展環境
選擇結構: 若按下按鈕 責執行上半側的指令, 反之則走下半側
開 始
迴圈結構
物件 屬性
•程式虛擬碼
while(true) { if (touch_sensor_is_pressed) { beep(); show_picture_on_screen() }
理方式。
學習目標
•學習如何使用光感應器製作循跡機器人 •學習使用超音波感應器製作巡邏機器人 •以解決機器人克服難關問題為例,介紹如
何解決各種機器人挑戰關卡,並從中應用 解題概念,做為問題解決的基本核心策略 。
電腦解題教學工具
可程式化機器人
LEGO Mindstorms NXT
樂高機器人 NXT 9797
• 下圖為超音波感應器偵測到物體距離小於15cm時,條件為真
• 下圖為光感應器偵測到光線亮度大於50%時,條件為真
延伸討論
•程式編輯的技巧(copy-paste、捲動程式) •將程式改成超音波感測,這樣有路人站立
在路口時,不用按鈕也能自動感應,控制 燈號進入紅綠燈狀態 •將條件設定改成聲控的話,那麼路人站在 路口時,就可以用聲音的方式啟動控制 •也請同學們想想看還有哪些變化,可以擴 充控制的方式
– 若是Port1按鈕被按下,則點亮PortA燈 – 若是Port1按鈕未被按下,接著再判斷若Port2按鈕被按下,則點亮PortC燈
延伸討論
•問題1: 先判斷Port1按鈕,接著才判斷 Port2按鈕,是否不公平?
•問題2: 是否會出現誤判?
•是否有別的程式寫法 ?
三輪自走車
組合基本車身 前進後退
XOR運算: 兩個輸入值相同則輸出為”假”,兩個輸 入值相異則輸出為”真”,可以用簡單口 訣幫助記憶”同性相斥、異性相吸”
NOT運算:取相反值 若輸入“真”,則輸出”假”, 若輸入“假”,則輸出” 真”
程式解說
• 先暫停程式2秒鐘,點亮PortB燈 • 接著進入迴圈,若Port1按鈕或 Port2按鈕被按下,則迴圈中止 • 緊接著立刻判斷是哪一個按鈕被按下
機器人設計與應用專題
國立豐原高中 郭再興
學習目標
•了解機器人設計的基本原理 •能瞭解流程圖概念,以及如何應用於解決
問題。 •藉由圖控式程式發展環境,以及控制機器
人解決循跡問題,了解演算法百度文库程控制的 基本輸入、處理步驟、輸出等基本概念
學習目標
•學習迴圈結構以及控制燈泡物件 •學習選擇結構以及按鈕感應器物件 •學習邏輯判斷物件(AND、OR、NOT、XOR) •練習分析問題,包括輸入、輸出、資料處
電子搶答機
•引起動機--益智類型電視節目搶答 •問題說明--電子搶答機 •依照建構圖,將零件組合完畢 •說明使用邏輯物件控制迴圈
–下圖程式若按下Port1或Port2所接的按鍵(也就是按下 任何一個按鍵),無窮迴圈就會被中斷
使用邏輯物件控制迴圈
• 迴圈物件,可以設定為無窮迴圈(forever),下圖是設定 成當邏輯輸入為true時迴圈中止
選擇結構
•說明選擇結構概念 •設定各種感測器條件 •討論並實作
程式說明
•選擇結構(switch)最簡單的用法,就是判斷感測 器輸入的資料是否符合預期,例如上圖中就是判 斷接在Port1的按鈕感測器是否被壓下,若條件成 立則程式走上半部,反之則走下半部。
其他感測器設定
• 下圖為光感應器偵測到光線亮度大於50%時,條件為真
} •感測器若被壓下,則由喇叭播放音效,螢幕也會
顯示笑臉畫面,學生在此可學到基本程式撰寫方 法,以及三種基本流程
閃黃燈程式
•挑戰題目--製作閃黃燈程式 •展示事先錄製的閃黃燈影片 •依照建構圖,將零件組合完畢
範例程式說明
紅綠燈程式
•挑戰題目--製作紅綠燈程式 •展示事先錄製的紅綠燈影片 •依照建構圖,將零件組合完畢
光感測到亮,則走上 半側路徑控制馬達左 轉;反之則走下半側 控制馬達右轉
參考程式
右馬達停止
左馬達運轉
無窮迴圈
虛擬碼
while(true) { if (LightSensor_detect_white) { motorB_stop ( ); motorC_run( ); } else { motorC_stop ( ); motorB_run( ); }