「TI Rover」功能表

注意: 在建立使用此模組的新程式時,建議使用 Rover 編碼程式類型。如此將可確保所有相關模組皆已匯入。

項目

說明

將 ti_rover 匯入為 rv

從「rv」命名空間中的 ti_rover 模組匯入所有方法(函數)。因此,從功能表貼上的所有函數名稱最前面都會有「rv」。

 

驅動

項目

說明

forward(distance)

以指定距離(格線單位)將 Rover 向前移動。

backward(distance)

以指定距離(格線單位)將 Rover 向後移動。

left(angle_degrees)

以指定角度(度數)將 Rover 向左轉動。

right(angle_degrees)

以指定角度(度數)將 Rover 向右轉動。

stop()

立即停止任何目前的動作。

stop_clear()

立即停止所有目前動作並清除所有待處理的指令。

resume()

繼續處理指令。

stay(time)

Rover 在指定的時間(秒)內維持在原位(選用)。

如果沒有指定時間,Rover 會維持 30 秒不動。

to_xy(x,y)

將 Rover 移至虛擬格線上的座標位置 (x,y)。

to_polar(r,theta_degrees)

將 Rover 移至虛擬格線上的極座標位置 (r, theta)。

角度單位為「度」。

to_angle(angle,"unit")

將 Rover 旋轉至虛擬格線中的指定角度。

角度是相對於在虛擬格線中向下指向 x 軸的零角度而言。

 

驅動 > 帶有選項的驅動

項目

說明

forward_time(time)

在指定的時間內將 Rover 向前移動。

backward_time(time)

在指定的時間內將 Rover 向後移動。

forward(distance,"unit")

以預設速度將 Rover 向前移動至指定距離。

可以使用格線單位、公尺或輪旋轉數指定距離。

backward(distance,"unit")

以預設速度將 Rover 向後移動至指定距離。

可以使用格線單位、公尺或輪旋轉數指定距離。

left(angle,"unit")

以指定角度將 Rover 向左轉動。

角度可以是度數、徑度或梯度。

right(angle,"unit")

以指定角度將 Rover 向右轉動。

角度可以是度數、徑度或梯度。

forward_time(time,speed,"rate")

在指定時間以指定速度將 Rover 向前移動。

可以使用格線單位/秒、公尺/秒或輪旋轉數/秒指定速度。

backward_time(time,speed,"rate")

在指定時間以指定速度將 Rover 向後移動。

可以使用格線單位/秒、公尺/秒或輪旋轉數/秒指定速度。

forward(distance,"unit",speed,"rate")

以指定速度將 Rover 向前移動指定距離。

可以使用格線單位、公尺或輪旋轉數指定距離。

可以使用格線單位/秒、公尺/秒或輪旋轉數/秒指定速度。

backward(distance,"unit",speed,"rate")

以指定速度將 Rover 向後移動指定距離。

可以使用格線單位、公尺或輪旋轉數指定距離。

可以使用格線單位/秒、公尺/秒或輪旋轉數/秒指定速度。

 

輸入

項目

說明

ranger_measurement()

讀取 Rover 前方的超音波距離感應器,並傳回目前的距離(公尺)。

color_measurement()

傳回 1 到 9 的數值,指出 Rover 色彩輸入感應器「看見」的主要色彩。

1 = 紅色

2 = 綠色

3 = 藍色

4 = 青色

5 = 洋紅色

6 = 黃色

7 = 黑色

8 = 灰色

9 = 白色

red_measurement()

傳回介於 0 和 255 之間的值,指出色彩輸入感應器看見的感知紅色水準。

green_measurement()

傳回介於 0 和 255 之間的值,指出色彩輸入感應器看見的感知綠色水準。

blue_measurement()

傳回介於 0 和 255 之間的值,指出色彩輸入感應器看見的感知藍色水準。

gray_measurement()

傳回介於 0 和 255 之間的值,指出色彩輸入感應器看見的感知灰色水準。

encoders_gyro_measurement()

傳回包含左輪與右輪編碼器計數以及目前陀螺儀航向的值的清單。

gyro_measurement()

以度為單位傳回代表目前陀螺儀讀數的值(包括漂移量)。

ranger_time()

傳回從 TI-Rover 距離感應器的超音波訊號到達物件的時間(「飛行時間」)。

 

輸出

項目

說明

color_rgb(r,g,b)

將 Rover RGB LED 的色彩設定為指定的紅色、綠色與藍色值。

color_blink(frequency,time)

設定選取色彩的閃爍頻率以及持續期間。

color_off()

關閉 Rover RGB LED。

motor_left(speed,time)

在指定持續期間將左邊馬達馬力設定為指定值。

速度範圍為 -255 到 255,0 表示停止。正速度值是以逆時針方向旋轉,負速度值是順時針方向旋轉。

選用時間參數(如果有指定)的有效範圍為 0.05 到 655.35 秒。如果沒有指定,則會使用 5 秒的預設時間。

motor_right(speed,time)

在指定持續期間將左邊馬達馬力設定為指定值。

速度範圍為 -255 到 255,0 表示停止。正速度值是以逆時針方向旋轉,負速度值是順時針方向旋轉。

選用時間參數(如果有指定)的有效範圍為 0.05 到 655.35 秒。如果沒有指定,則會使用 5 秒的預設時間。

motors("ldir",left_val,"rdir",right_val,time)

將左輪與右輪設定為指定的速度等級,作為選用的時間量(秒)。

速度 (left_val, right_val) 值的範圍為 0 到 255,0 表示停止。ldir 和 rdir 參數可指定各自輪的 CW 或 CCW 旋轉。

選用時間參數(如果有指定)的有效範圍為 0.05 到 655.35 秒。如果沒有指定,則會使用 5 秒的預設時間。

 

路徑

項目

說明

waypoint_xythdrn()

讀取 x-coord、y-coord、時間、航向、行經距離、輪旋轉數、目前定位點的指令數目。傳回包含所有這些元素值的列表。

waypoint_prev

讀取 x-coord、y-coord、時間、航向、行經距離、輪旋轉數、先前定位點的指令數目。

waypoint_eta

傳回驅動至定位點的預估時間。

path_done()

傳回 0 或 1 的值,取決於 Rover 是否正在移動 (0) 或是已完成所有移動 (1)。

pathlist_x()

傳回從開始到目前定位點 X 值(含)的 X 值列表。

pathlist_y()

傳回從開始到目前定位點 Y 值(含)的 Y 值列表。

pathlist_time()

傳回從開始到目前定位點時間值(含)的時間(單位為秒)列表。

pathlist_heading()

傳回從開始到目前定位點航向值(含)的航向列表。

pathlist_distance()

傳回從開始到目前定位點距離值(含)的行經距離列表。

pathlist_revs()

傳回從開始到目前定位點旋轉數值(含)的行經旋轉數列表。

pathlist_cmdnum()

傳回路徑的指令數目列表。

waypoint_x()

傳回目前定位點的 x 座標。

waypoint_y()

傳回目前定位點的 y 座標。

waypoint_time()

傳回從前一個定位點行經到目前定位點所花費的時間。

waypoint_heading()

傳回目前定位點的絕對航向。

waypoint_distance()

傳回前一個定位點與目前定位點之間的行經距離。

waypoint_revs()

傳回前一個定位點與目前定位點之間行經所需的旋轉數。

 

設定

項目

說明

units/s

將速度以每秒格線單位數顯示的選項。

m/s

將速度以每秒公尺數顯示的選項。

revs/s

將速度以每秒輪旋轉數顯示的選項。

單位

將距離以格線單位顯示的選項。

公尺

將距離以公尺顯示的選項。

revs

將距離以輪旋轉數顯示的選項。

degrees

顯示旋轉度數的選項。

radians

顯示旋轉徑度的選項。

gradians

顯示旋轉梯度的選項。

clockwise

指定輪方向的選項。

counter-clockwise

指定輪方向的選項。

 

指令

這些指令是其他模組以及 TI Rover 模組的函數集合。

項目

說明

sleep(seconds)

在指定的秒數期間暫停執行程式。

已從 time 模組匯入。

text_at(row,"text","align")

在繪圖區域以指定的「align」顯示「text」。

已從 ti_plotlib 模組匯入。

cls()

清除 Shell 畫面以進行繪製。

已從 ti_plotlib 模組匯入。

while get_key() != "esc":

在「while」迴圈中執行指令,直到按下「esc」鍵為止。

wait_until_done()

暫停程式,直到 Rover 完成目前指令為止。

此指令對於將非 Rover 指令與 Rover 動作同步很有用。

while not path_done()

以「while」迴圈執行指令,直到 Rover 完成所有移動為止。

path_done() 函數傳回 0 或 1 的值,具體取決於 Rover 是否正在移動 (0) 或是已完成所有移動 (1)。

position(x,y)

將虛擬格線上的 Rover 位置設定為指定的 x,y 座標。

position(x,y,heading,"unit")

將虛擬格線上的 Rover 位置設定為指定的 x,y 座標,同時如果有提供航向(以指定的角度單位),則會設定相對於虛擬 x 軸的虛擬航向。

0 到 360 的正角是假設從正向 x 軸以逆時針方向旋轉。0 到 -360 的負角是假設從正向 x 軸以順時針方向旋轉。

grid_origin()

將 RV 設定為位於目前格線的 (0,0) 原點。

grid_m_unit(scale_value)

將每個單位的虛擬格線間隔公尺數 (m/unit) 設定為指定值。0.1 為預設 m/unit,並且轉換為 1 單位 = 100 mm 或 10 cm 或 1 dm 或是 0.1 m。

有效 scale_value 的範圍是從 0.01 到 10.0。

path_clear()

清除任何預先存在的路徑或是定位點資訊。

zero_gyro()

將 Rover 陀螺儀重設為 0.0 角度,並且清除左輪與右輪編碼器計數。