「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 角度,並且清除左輪與右輪編碼器計數。 |