偏鄉服務課程
ROBOTICS
機器人 X 程式設計
ROBOTICS
第八單元
機器人走出去 (一)
1.依據特定步驟製作自走車機構
2.學習自走車移動控制
3.運用序列化指令完成任務
在這單元我們將學到:
課程內容
中華機器人科技教育學會
4
十分鐘小車組裝
課程01
課程01:插入馬達連接線
中華機器人科技教育學會
25
車子前進方向
站在車子後面
面對行進方向時,左A 右B
左邊馬達
插 A 孔
右邊馬達
插 B 孔
運動積木的說明
課程02
設定執行環境
自走車的兩顆馬達是接輪胎的零件,因此要告訴主機,我們要使用這二個端口(連接埠),
來控制左右馬達(輪胎)
〔一定要設定〕
這個積木代表兩顆馬達的轉速設定相同的50%,如果任務內容會需要設定兩顆馬達要有不同轉速,那麼這個積木就不需要放入。
〔不一定要設定〕
定義端口
馬達轉速
運動積木:設置運轉電機
中華機器人科技教育學會
28
運動積木可同時控制兩個馬達
第一個指定的端口用於設置左側馬達
第二個指定的端口用於設置右側馬達
不指定時,預設端口為:A(左)、B(右)
運動積木:設置運轉電機
中華機器人科技教育學會
29
設定:左邊馬達插 A 孔
設定:右邊馬達插 B 孔
點選端口編號,可進行變更
左邊、右邊馬達的端口設定很重要,一定要設定正確
如果馬達的插線不是左A右B,請自行更改
運動積木:馬達運轉速度
中華機器人科技教育學會
30
設定馬達運轉速度,速度範圍為:-100%到100%,
負值表示馬達逆時針運轉。
預設速度為:50%
輸入數值超出設定範圍,以最大上限/下限值進行馬達控制
範圍:-100~100%
一次設定兩個馬達的速度,無法分開設定
-100~0%
0~100%
運動積木:移動指定單位數
運動積木:移動指定單位數
中華機器人科技教育學會
32
向「前」的方向,運行「10」「cm」,之後停止移動�預設端口為A(左)和B(右)
預設速度為50%
前進方向
設定想轉動的單位:
公分、英吋、圈數、秒數、度數
車子前進:左右馬達順時鐘旋轉
車子後退:左右馬達逆時鐘旋轉
車子逆時針旋轉:左馬達逆時鐘、右馬達順時針旋轉
車子順時針旋轉:左馬達順時鐘、右馬達逆時針旋轉
公分
英吋
圈數
度數
秒數
必須搭配另一個積木,才能發揮作用
試試看:移動指定單位數
中華機器人科技教育學會
33
程式編輯完成後,在SPIKE軟體的右下角
選擇程式號碼(0~19),按下「 ▶ 」,
將程式傳到SPIKE主機內
傳輸並執行程式
停止程式
試試看:移動指定單位數
中華機器人科技教育學會
34
下面兩個程式,執行後觀察機器人的動作,有什麼不一樣嗎?
提示:
建議使用
不建議使用
試試看:移動指定單位數
中華機器人科技教育學會
35
請分別執行右邊程式,�觀察:
試試看:移動指定單位數
中華機器人科技教育學會
36
請分別執行右邊程式,�觀察:
順時針的轉動方向
中華機器人科技教育學會
37
馬達轉動圈數 與 馬達轉動度數 的關係
中華機器人科技教育學會
38
0 度
90 度=0.25 圈
180 度=0.5 圈
270 度=0.75 圈
360 度=1 圈
45 度=0.125圈
135 度=0.375 圈
225 度=0.625 圈
315 度=0.875圈
馬達轉動圈數 與 馬達轉動度數 的關係
中華機器人科技教育學會
39
0
360
中華機器人科技教育學會
40
運動積木:移動指定單位數
中華機器人科技教育學會
41
設定端口為A(左)和B(右)
等待「1」秒
向「前」的方向,運行「1圈」
向「後」的方向,運行「1圈」
程式沒有指定速度,�使用預設速度50%
停止,並離開程式
向「前」的方向,運行「1圈」
向「後」的方向,運行「1圈」
停止,並離開程式
試試看:移動指定單位數
中華機器人科技教育學會
42
向「逆時針」的方向,運行「2圈」
向「逆時針」的方向,運行「2秒」
程式沒有指定速度,�使用預設速度50%
試試看:移動指定單位數
中華機器人科技教育學會
43
向「逆時針」的方向,運行「2秒」
向「順時針」的方向,運行「2秒」
順時針方向
如果車子的實際旋轉方向與程式設定的轉向相反,代表左右馬達的接線與程式設定不一樣。
試試看:移動指定單位數
中華機器人科技教育學會
44
設定端口為A(左)和B(右)
向「前」的方向,運行「2圈」
停止,並離開程式
設定馬達運轉速度=50%
設定馬達運轉速度=100%
車子的移動速度,是不是變快了?
試試看:移動指定單位數
中華機器人科技教育學會
45
設定端口為A(左)和B(右)
向「前」的方向,運行「2圈」
設定馬達運轉速度=100%
兩個程式的動作相同
設定馬達運轉速度=-100%
注意
移動方向
停止,並離開程式
試試看:移動指定單位數
中華機器人科技教育學會
46
設定端口為A(左)和B(右)
向「順時針」的方向,運行「90度」
設定馬達運轉速度=100%
停止,並離開程式
程式執行後,觀察看看,車子大概轉了幾度?
車子,真的有轉90度嗎?
90度,是指馬達旋轉90度,車子不一定也會轉90度
試試看:讓車子順時針旋轉90度
中華機器人科技教育學會
47
運動積木:持續移動
中華機器人科技教育學會
48
運動積木:持續移動
中華機器人科技教育學會
49
向「前」的方向,開始移動�預設端口為A(左)和B(右)
預設速度為50%
移動方向
車子前進:左右馬達順時鐘旋轉
車子後退:左右馬達逆時鐘旋轉
車子逆時針旋轉:左馬達逆時鐘、右馬達順時針旋轉
車子順時針旋轉:左馬達順時鐘、右馬達逆時針旋轉
??似曾相識??
比較差異:持續移動
中華機器人科技教育學會
50
向「前」的方向移動
這行程式指令結束,執行下一行的程式指令
向「前」的方向移動,運行「10 cm」後停止移動
這行程式指令結束,執行下一行的程式指令
沒有設定停止移動的條件,馬達會繼續按照設定的轉動方向,持續運轉,
直到程式停止執行 或 後面的程式有設定馬達運轉改變的指令出現。
試試看:持續移動
中華機器人科技教育學會
51
執行左邊的兩個程式,觀察車子的運轉狀態
小心!!
有一個程式,會讓車子一直持續移動,不會停止
試試看:持續移動
中華機器人科技教育學會
52
這兩個程式執行後,動作是相同的。
實際感受看看吧!!
為什麼要使用:持續移動
中華機器人科技教育學會
53
向「前」開始移動
等待觸碰感測器C,被「按壓」
停止移動
在觸碰感測器C被「按壓」之前,A、B馬達會持續一直保持向前運轉的狀態
運動積木:轉向移動指定單位數
中華機器人科技教育學會
54
運動積木:轉向移動指定單位數
中華機器人科技教育學會
55
向「straight:0」的方向,運行「10」「cm」,之後停止移動�預設端口為A(左)和 B(右)
預設速度為50%
移動方向
設定想轉動的單位:
公分、英吋、圈數、秒數、度數
公分
英吋
圈數
度數
秒數
必須搭配另一個積木,才能發揮作用
設定值:-100~0~100
運動積木:前後、轉向移動
中華機器人科技教育學會
56
設定端口為A(左)和 B(右)
向「前」的方向,運行「1圈」
預設速度為50%
兩個程式的動作是相同的
試試看:轉向移動指定單位數
中華機器人科技教育學會
57
執行下面的程式,觀察車子運轉的狀態
觀察電腦內程式上方,顯示的馬達狀態
試試看:轉向移動指定單位數
中華機器人科技教育學會
58
向右:30
右側輪子變慢
向右:50
右側輪子不動
向右:100
左、右側輪子
轉速相同、方向不同
試試看
中華機器人科技教育學會
59
60公分
試試看:向前走 2 秒,向後走 2 秒
中華機器人科技教育學會
60
試試看:向前走、直角、向前走
中華機器人科技教育學會
61
補充:讓SPIKE告訴你轉了幾度?
中華機器人科技教育學會
62
陀螺儀歸零
將陀螺儀數值,顯示在螢幕上
設定端口為A(左)和B(右)
設定馬達運轉速度=20%
向「順時鐘」的方向,運行「0.56圈」
將陀螺儀數值,顯示在螢幕上
停止,並離開程式
試試看:向前30公分
中華機器人科技教育學會
63
使用SPIKE小輪胎
直徑:5.6 cm
試試看:相同的程式,更換不同尺寸的輪胎
中華機器人科技教育學會
64
EV3大輪胎
直徑:6.88 cm
中輪胎
直徑:5.6 cm
EV3小輪胎
直徑:4.32 cm
實驗不同輪胎的移動距離
中華機器人科技教育學會
65
輪胎編號 | 輪胎直徑 | 馬達運轉1圈前進的距離 | 前進距離 ÷ 輪胎直徑 |
| | | |
| | | |
| | | |
| | | |
| | | |
運動積木:馬達旋轉一圈的移動距離
中華機器人科技教育學會
66
運動積木:馬達旋轉一圈的移動距離
67
校正車子的輪胎尺寸,設定馬達旋轉一圈會移動的距離數值
讓運動積木內的距離單位(cm、in),能夠移動出正確的距離
EV3大輪胎
直徑:6.88 cm
圓周長:21.6 cm
中輪胎
直徑:5.6 cm
圓周長:17.5 cm
SPIKE小輪胎
直徑:5.6 cm
圓周長:17.5 cm
EV3小輪胎
直徑:4.32 cm
圓周長:13.5 cm
輪胎大小與前進距離
中華機器人科技教育學會
68
17.5 cm
SPIKE小輪胎的圓周長 = 5.6 × 3.14
= 17.5. cm = 17.5 公分
17.5 ÷ 360 度 = 0.0486 公分
圓周長 = 直徑 × π =直徑 × 3.14
馬達裝上SPIKE小輪胎,
馬達轉 1 圈,理論上,車子會移動 17.5 公分
馬達轉 1 度,理論上,車子會移動 0.0486 公分
直
徑
圓周長與直徑
中華機器人科技教育學會
69
誰走的比較遠?
中華機器人科技教育學會
70
下面的兩個人,向前走十步,一般的情況下,誰走的距離可能會比較遠?
圓周長與直徑
中華機器人科技教育學會
71
按住紅色「×」
上下移動滑鼠
可以改變直徑大小
拉動紅色「●」,可以展開圓周長
量度圓周率
中華機器人科技教育學會
72
試試看:向前30公分
中華機器人科技教育學會
73
設定馬達轉一圈(輪胎轉一圈)的距離=17.5 cm
SPIKE小輪胎的圓周長 = 17.5 公分
30公分 ÷ 17.5= 1.714 圈
動作相似
試試看:向前30公分
中華機器人科技教育學會
74
安裝不同尺寸的輪胎時,要更改這個數值,車子才會正確前進30 cm
EV3大輪胎
直徑:6.88 cm
圓周長:21.6 cm
中輪胎
直徑:5.6 cm
圓周長:17.5 cm
SPIKE小輪胎
直徑:5.6 cm
圓周長:17.5 cm
EV3小輪胎
直徑:4.32 cm
圓周長:13.5 cm
試試看:走一個正方形
中華機器人科技教育學會
75
試試看:走一個正方形
中華機器人科技教育學會
76
直走
轉彎
直走
轉彎
直走
轉彎
直走
重
複
三
次
運動積木:以設定速度移動指定單位數
中華機器人科技教育學會
77
新增運動擴充積木
中華機器人科技教育學會
78
左下角找到
Show block extensions
來新增擴充積木
點選
新增擴充積木
新增運動擴充積木
中華機器人科技教育學會
79
勾選後關閉
左邊綠框是擴充後增加的新積木
收集在顏色程式列的最下方
可以做更多雙馬達的程式控制
今天要介紹的是這個積木
運動積木:以設定速度移動指定單位數
中華機器人科技教育學會
81
讓左邊、右邊馬達,以設定的速度運轉,轉動到指定單位數
預設端口為A(左)和B(右)
預設速度為50%
設定想轉動的單位:
公分、英吋、圈數、秒數、度數
公分
英吋
圈數
度數
秒數
必須搭配另一個積木,才能發揮作用
速度範圍:-100~100%
左側馬達
速度設定
右側馬達
速度設定
移動「10」「cm」,
設定
左側馬達為「50」%的速度,
右側馬達為「50」%的速度
試試看:以設定速度移動指定單位數
中華機器人科技教育學會
82
分別執行下面兩個程式,觀察車子的動作
兩個程式的動作是相同的
試試看:以設定速度移動指定單位數
中華機器人科技教育學會
83
分別執行下面兩個程式,觀察車子的動作
兩個程式的動作是相同的
試試看:以設定速度移動指定單位數
中華機器人科技教育學會
84
想一想,如果要讓車子跑快一點
例如:讓全部的速度=100%
這兩個程式要如何修改??
分別執行下面兩個程式,觀察車子的動作。兩個程式的動作是相同的。
試試看:不同速度差異的轉向
中華機器人科技教育學會
85
分別這幾個程式,觀察車子的動作與轉彎的幅度
車子前進原理
車子向前,直線行進,
是左右兩輪同時間、同速度
向前轉動的狀態。
左
右
車子前進積木
左
右
當程式執行時
車子以左輪用 50%的速度� 右輪用 50%的速度� 移動30公分
設定馬達端口為左A、右B
A
B
仔細觀察左右馬達的轉動方向,其實是相反的,有發現嗎?
因為這行指令,讓SPIKE程式自動幫我們修正轉動方向
車子後退原理
車子向後,直線行進(倒車)
是左右兩輪同時間、同速度
向後轉動的狀態。
左
右
車子後退積木
當程式執行時
車子以左輪用 -50%的速度� 右輪用 -50%的速度� 移動30公分
設定馬達端口為A和B
左
右
A
B
任務一
向前移動30公分,再向後30公分
我們可以發現,車子會向前走和向後退,是因為設定數值的正值或負值。
調整數值的正負值,可以改變馬達轉動的方向。
任務一:程式解答
中華機器人科技教育學會
91
車子左轉原理(邊軸旋轉)
不轉
轉
旋轉
中心
左
右
左輪不動,右輪向前轉,
可以讓車子以左輪為中心,
向左轉彎。
車子左轉積木(邊軸旋轉)
當程式執行時
車子以左輪用100%的速度� 右輪用100%的速度� 移動30公分
設定馬達端口為A和B
不轉
轉
旋轉
中心
左
右
車子右轉原理(邊軸旋轉)
轉
不轉
旋轉
中心
左
右
右輪不動,左輪向前轉,
可以讓車子以右輪為中心,
向右轉彎。
車子右轉積木(邊軸旋轉)
當程式執行時
車子以左輪用100%的速度� 右輪用100%的速度� 移動30公分
設定馬達端口為A和B
轉
不轉
旋轉
中心
左
右
轉彎測試
左
右
試試看,讓車子左轉一個直角(90度)
再試試看,讓車子右轉一個直角(90度)
連續動作,左轉90度後,�再右轉90度。
任務二-實驗時間
請讓車子走出像左圖的移動路線
任務二-實驗結果-差速
車子走出像左圖的移動路線-差速轉彎
50
20
?
左右馬達設定不同數值,兩輪同時移動但速度不同,形成差速,因此移動軌跡成為弧線繞圈。
邊軸旋轉
一輪不動,只轉另一輪,讓車子以不動的那輪為中心移動,做出轉彎動作。��我們還有另一種轉法。
轉
不轉
左
右
中軸旋轉
兩輪同時向不同的方向旋轉,
旋轉速率相同、方向相反
會形成以車子中心為旋轉中心的方式旋轉
左
右
任務三
任務四
試試看:進階圖形
中華機器人科技教育學會
103
運動積木:總結
中華機器人科技教育學會
104
向「前」的方向,運行「1圈」
向「前」開始移動
向「right:30」的方向,運行「1圈」
向「right:30」的方向,開始移動
以左馬達50、右馬達50,運行「1圈」
以左馬達50、右馬達50,開始移動