86Duino Motion Editor

86Duino Motion Editor (86ME) 支援 86Duino 開發板來編輯機器人動作,讓編輯機器人動作的流程更加快速,並且能夠自動產生 86Duino 程式讓機器人操作編輯好動作。86ME 概念影片:

安裝教學

目前 86ME 支援 Windows XP/Vista/7/8/10,環境內必須安裝 MicroSoft .NET framework 4.5。下載86ME並解壓縮後會得到資料夾 86ME ,裡頭的檔案如下圖所示,包含 86ME 執行檔與所需的函式庫和相關說明,在支援的環境下直接執行 86ME.exe 即可開始操作 86ME 。
86ME16_content

事前準備

  1. 建立 86Duino 與 86ME 的橋梁:86ME 會透過 Firmata 函式庫與 86Duino 做指令的傳輸,因此在使用 86ME 之前要將 86Duino Coding 210 的範例草稿(檔案->範例->Servo86->MotionEditor)燒錄到 86Duino 中,建立好雙方溝通的橋梁之後便可以正式開始操作 86ME。
  2. 連線方式與說明:目前 86ME 支援電腦以 COM port 與 86Duino 連接並發送動作訊號,86ME 一開始會讓使用者選擇 86Duino 與電腦的接口,並且分為自動、離線、選定三種模式來初始化連線。在執行 86ME.exe 之前,必須先了解這些模式。圖中的 –auto– 選項會去開啟最後加入的 COM port, COM4 則是 86ME 偵測到目前電腦上存在的 COM port,而 –offline– 選項則表示離線模式,將不會與 86Duino 做溝通。
    86ME19start
    因此,離線模式只支援檔案的編輯與 86Duino 程式產生,不支援即時的馬達控制。若要直接的控制馬達來編輯動作,在使用程式之前得先將 86Duino 上的 USB device 與電腦的 USB 連接並選擇 86Duino 所連上的 COM port(可以使用自動或是選擇已知的COM port)。如果想確認 86Duino 連上哪一個 port,可以嘗試在裝置管理員中找到 86Duino 與其所連接的 COM port,如下圖範例,可以得知 86Duino 與電腦的 COM4 連接。若在沒有連接 86Duino 的情況下選擇自動模式,程式將會在執行過程中切回離線模式。
    P_20150508_172230
    一般來說,離線模式較適合對機器人動作已經非常熟悉的使用者,讓這些使用者方便的去編輯現有的檔案做調整。而自動模式可以讓使用者方便的開始使用 86ME ,但若是電腦接上許多 86Duino 或許多不同的 COM port,為了避免混淆則建議使用選定模式。接著,設定好 COM port 接口後即可按下 Start 按鈕來進入 86ME 主視窗或是按 Exit 按鈕可以離開 86ME。86ME19_start86ME19_Main

功能說明

在此,我們會先將程式介面分為幾個區塊來做說明。
86ME19_area

  1. 這個部分有三個下拉式選單 File、Options、Help,其展開後的選項如下
    86ME19_filetool

    • File 選單的功能包含新增專案、讀取專案、儲存專案和結束程式,眼尖的讀者可能會發現許多的按鈕一開始呈現灰色不可點擊的狀態,若要編輯動作、測試動作就需要先以 File->New Project 來建立專案或是以 File->Open Project 來讀取之前儲存的專案。而 File->Save Project 可以儲存目前所編輯的專案,File->Exit 則可以結束程式。
      那麼如何新增專案呢?點選 File->New Project 會彈出一個 Robot Configuration 視窗,在這個視窗中可以設定四項機器人相關的設定。
      (1) 86Duino Board:用來選擇機器人所使用的 86Duino 型號,目前有 86Duino One/Zero/EduCake 供使用者選擇,選用不同型號的 86Duino 會開起數量不同的 SetServo 讓使用者設定,例如 86Duino One 有45根可以控制馬達的接腳,則 SetServo 0~44 都會出現,而 86Duino Zero 則只會出現 SetServo 0~13 和 42~44。
      86ME191_boardver
      (2) IMU Settings:設定機器人所使用的 Inertial Measurement Unit (IMU) ,目前支援的 IMU 型號有 86Duino One 上內建的 IMU 與 RM-G146 兩種。選擇 IMU 型號並處在連線模式時,可透過 “Initialize IMU” 這個按鈕對連接在 86Duino 上的 IMU 做初始化,並且可以透過 “Auto Detect Orientation” 來偵測目前 IMU 的 Base Orientation。這些設定完成之後才能正確使用 IMU 補償功能,以利於機器人的平衡。
      86ME191_IMU
      (3) SetServo :用來設定連接在 86Duino 上的馬達,在這邊提供了馬達型號、偏移量(offset)、起始位置(homeframe)、馬達所支援的最大(Max)、最小值(min)來讓使用者設定,目前所支援的馬達型號如下:
      86ME191_servos
      選擇馬達後,就可以藉由下圖中的捲軸操控選項來調整偏移量、起始位置,並且勾選 Sync 控制項後可以將偏移量、起始位置的角度同步在馬達上,可以即時調整。而馬達的可接受數值範圍在選擇馬達之後會自動變更,若要手動修改必須先勾選右上角的 min Max 控制項。而有設定 IMU 的話,即可設定 IMU Src 來開啟 IMU 補償功能並選擇補償來源,並透過 Gain 欄位來設定補償係數,想要增加第二個補償來源可以按下 Src 1 圖示切換到 Src 2 來設定第二組補償來源。
      86ME191_robotconfig
      (4) Load Robot Picture:為了方便對應馬達的位置到機器人的各個部位,使用者可以選擇一張圖片做為機器人的代表圖,可在編輯 Frame 時選擇伺服機與圖片的對應位置,方便使用者辨認所伺服機與實際機器人的對應關係。
      (5) Load Mirror Config: 此功能可讀取使用者定義的鏡像組態,用來方便編輯有對稱關係之機器人,如人形機器人,當編輯好左半邊的動作時,可利用此功能複製左半身的動作到右半身去,加速動作編輯的過程。而鏡像組態存在副檔名為 cfg 之檔案,內容表明伺服機一對一之對應關係,每一行寫上一組對應,中間以 “-” 號分隔,例如 1-2,表示 Pin 腳 1 和 2 上的伺服機是對稱邊,1 表左,2 表右,以此類推。
    • Options 選單包含了 Robot Configuration 選項,用來編輯目前的機器人相關設定,所包含的內容如同 File->New Project。
    • Preference 選單是提供使用者選擇操作介面的語言,目前支援英語繁體中文簡體中文日本語
    • Help 選單包含了 Tutorials 和 About 選項,點擊 Tutorials 會跳轉到 86Duino 網站上關於 86ME 的說明文件,而 About 則會顯示出 86ME 相關的訊息,如作者資訊、86Duino 官方粉絲頁等等。
  2. Edit Settings 區塊有以下功能
    86ME19_editsettings
    (1) Sync 功能可以讓使用者決定是否同步目前所選到的 Frame 即時反應在機器人身上。
    (2) 這邊的拉霸可以決定 sync 時馬達轉動的速度,共區分成五級,右邊為最快,左邊最慢。
    (3) 釋放馬達,讓馬達不再出力。
    (4) Capture,用來讀取目前馬達的角度,目前所支援的馬達為 Kondo、Hitec、Futaba 這三個系列,使用時請特別小心,因為 Capture 功能會先將所有馬達釋放掉,如果沒有支撐好機器人可能會讓機器人跌倒。
  3. Action 區塊,可以用在
    86ME19_action
    (1) 設定移動到此動作的時間,單位為毫秒。
    (2) 當選擇的 Action 為 Frame 時,Action 區塊會出現 儲存/讀取 86Duino Frame File 的兩個按鈕。儲存功能可以將目前所選 Frame 的伺服機角度存在一個文字檔中,而讀取功能可以將已經存好的 Frame File 數值讀取至當前的 Frame。
    86ME15_slframefile
  4. Hint 區塊,在這個區塊會提供使用者一些操作提示,如要怎麼新增動作列表、執行動作時有哪些注意事項等等,若已經對 86ME 非常熟悉,可以按自己的想法去操作程式,小提示基本上是針對剛開始使用 86ME 的使用者來提供下一步。
  5. Motion區塊,用來編輯和測試機器人的動作。每個動作會以 “Motion Name” 區隔,例如使用者可以新增如走、揮拳、蹲下等等的動作,按下 “+” 按鈕會跳出一個視窗來讓使用者決定 “Motion Name”,如下圖:
    86ME19_motionanme
    按下 “OK” 後即可新增動作。而當要新增別的動作時再按下 “+” 並重複相同流程即可,若要編輯已經存在的其他動作則可以利用 “Motion Name” 欄位的捲軸選取。而最右方的齒輪型按鈕提供了一些管理 Motion 的功能,包含複製、更名、刪除、匯入與匯出
    86ME19_addmotion
    Action List:
    建立 Motion 之後就可以開始編輯動作列表(Action List),例如某個的動作如果需要四個 Frame 來呈現,就可以在 “Action List” 中按滑鼠右鍵新增動作。
    86ME191_addaction
    關於 Action List 的操作主要有
    (1) 新增 Action,總共有九個類型的 Action
    (2) 對所選的 Frame 執行鏡像操作(如上右圖,共五種操作),包含鏡像複製(左至右及右至左,其左右關係定義在鏡像檔中)、以反向數值(相對於伺服機 home 值)鏡像複製、及左右交換。
    (3) 刪除所選的 Action
    (4) 可以複製 Frame 或 HomeFrame 在下一格
    而 actions 的上移下移可以利用下方的兩個按鈕來完成。
    86ME19_arrow
    Action List 還有一個方便的功能,當 Frame 的後頭緊接著 Frame 的狀況下會開啟一個功能可以插入一個 Frame ,各個馬達的角度為前後兩個 Frame 相對應馬達相加後除二的結果,這個功能可以方便編輯移動距離很大的兩個 Frame 之間的動作。而動作參數的調整會在區塊6與使用範例說明。
    86ME191_intermediate
    將動作列編輯好之後,若是在與 86Duino 連線的狀況,按下播放按鈕就可以測試 Action List 中從第一個動作到最後一個動作了,使用者可以經由這個功能測試動作。
    86ME19_motiontest.png
    Trigger:
    至於最下面的兩個按鈕,則是將目前的專案輸出成可以燒進 86Duino 的 ino 程式檔,Generate 86Duino Sketch (with Frame Files) 會產生一個 ino 檔和若干個動作設定檔,而 Generate 86Duino Sketch (All in One) 則會將所有設定都寫進一份 ino 程式。而檔案是依照目前所編輯的所有動作加上每個動作各自的 Trigger、Property 所產生,Trigger 的設定是選定一個 Motion 後轉到 Trigger 分頁即可設定,目前所支援的 Trigger 方式有五種,分別為 auto、keyboard、bluetooth、ps2 controller 和 Accelerometer 。
    86ME16_triggers
    (1) Auto 底下分為 Always On、Always Off 和 Start Up,Always On 表示此動作要永遠展現,Always Off 則表示永遠不展現此動作,Start Up 則是會在 86Duino 啟動時展現一次。
    (2) Keyboard 可以設定 Key 與 Type,Key 目前提供 A~Z 與上下左右、空白、ESC 可以選擇,Type 則提供 First Press、Pressed 與 Release,在 Key 與對應的情況下就會觸發 Motion 。例如將機器人的行走設定為 Key A、Pressed 狀態下,機器人回到站立姿勢設定為 Key A、Release ,當我們按下 A 鍵機器人即可一直走,放開 A 鍵則回到站姿 ,更完善的話還可以加入 Key A、First Press 為跨半部之類的起始步伐。
    (3) Bluetooth 可以選擇一個單一字元的 Key 輸入,以及 Mode 與藍芽模組所在的 Baud Rate 和 Serial Port。例如我們將藍芽模組裝在 86Duino 的 Serial1,設定向前走的 Motion 之 Key 為 B,產生程式並燒錄後,就可以用手機 APP 軟體(目前只支援傳送單一字元的APP)傳送訊號控制機器人向前走了。而 Mode 選項分為 OneShot 與 Continuous,OneShot 模式會讓訊號只觸發動作一次,可以用在機器人揮拳,踢腿之類的動作,而 Continuous 則會不斷去觸發動作,可以用在前進、後退等動作。
    (4) PS2 Controller 可以選擇 PS2 搖桿上的按鈕作為 Key ,以及與鍵盤一樣可以設定觸發此按鈕的 Type 。除此之外,如果像用 PS2 搖桿控制機器人,還必須設定 PS2 與 86Duino 連接的四個腳位,分別為 DAT(data)、CMD(command)、ATT(attention)、CLK(clock) 這四根腳所對應到的 86Duino pin 腳。
    86ME19_acc
    (5) Accelerometer 可以選擇加速度計 X、Y、Z 三軸的讀數來當作出發條件,只要設定好三個軸的範圍,和讀數持續在這個範圍的時間即可。而 “Auto Detect” 按鈕是當 IMU 正確在 Robot Configuration 被初始化後,可以自動偵測目前加速度計的讀數,並自動選取範圍填入空格中。
    86ME19_wifi602
    (6) WiFi Camera (WiFi602) 是一個視訊串流模組,腳位有 5V、GND、TX 和 RX,通電後會建立一個 WiFi AP,讓手機連上此 WiFi 並開啟 APP 就可以取得串流了。除此之外還可經由 Serial Port 傳送 APP 的按鈕狀態,因此要選擇一個 Serial Port,而目前所支援的 Key 如圖所示有 Up、Down、Left、Right、A 和 B,在 APP 中的位置如下圖所示。
    86ME19_wifi602app
    86ME191_analogtrigger
    (7) Analog 可以藉由類比訊號來觸發動作,如下圖所示,Pin 用來設定類比來源腳位,中間的 Combo Box 用來選取判斷條件,包括 =、≠、≧、≦、>、<,而 Value 用來選擇數值,當條件成立時即觸發動作。 86ME195_esp8266trigger
    (8) ESP8266 觸發目前支援此 APP,首先要將 ESP8266 與 86Duino 接上,並將之設定為 AP 基地台模式,接著在 86ME 裡設定對應的 Baud Rate 、所連接的 Serial Port 與 ESP8266 的 CH_PD 腳位是接到 86Duino 的哪個 PIN,接著再設定 Key 來與 APP 中的圖片對應即大功告成,APP 中的按鈕如下圖所示,其 Key 值為圖片編號前加上 “$PM”,例如向左按鈕之 Key 為 “$PM00″。
    86ME195_jrobotapp
    最後,要編譯產生出來的程式前,需利用 Coding IDE 中匯入程式庫功能匯入 ESP8266 涵式庫。成功編譯後即完成 ESP8266、86Duino 與 APP 之串接。

    Property:
    86ME19_property
    Property 的設定目前分為:
    (1) Blocking 和 Non-Blocking:Blocking 的 Motion 在產生的程式中不會被其他的 Motion 中斷,而 Non-Blocking 的 Motion 則會因為其他 Motion 的觸發而中斷。
    (2) Motion Layer:設定動作所在的層級,這個功能是為了能讓不同層級的動作能夠同時被觸發,舉例來說,當人型機器人在移動的同時,依然可以觸發揮拳的動作。然而若兩個層級的動作會使用到相同的伺服機,就會牽涉優先權的問題,此處是層級 1 的動作會較層級 0 的優先。所以當某個動作設定為 Motion Layer 1 之後,使用者要去 Frame 屬性中勾選要使用到的伺服機,如下圖所示,這樣一來當同時觸發層級 0 與層級 1 的動作時,被勾選的伺服機 CH 2 和 CH 3 就會優先去執行層級 1 所編輯之動作。
    86ME19_chooseServo
    (3) Trajectory:設定動作軌跡規劃之方式,目前支援 Linear、Constrained Cubic、Natural Cubic 和 Catmull-Rom Spline 四種方式,三種 Cubic 的規劃方式比起 Linear 能夠減少運動時產生的震動,又以 Natural Cubic 效果最為顯著,只不過 Natural Cubic 的規劃方式有可能會有 overshooting 的產生,即動作的曲線可能會變得幅度過大,採用 Catmull-Rom Spline 和 Constrained Cubic 的規劃方式則可避免此問題的產生,其中以 Constrained Cubic 最能抑制 overshooting,但減少震動的效果就沒有 Natural Cubic 那樣驚艷。而三種 Cubic 的規劃方式目前僅支援全為 Frame 的動作,即不能含有除了 Frame 以外的 Action,若有其他 Action 會自動退化回 Linear,使用上請多加留意。
    (4) IMU Compensation Range:設定 IMU 補償功能的有效角度 (0~180度,0表示關閉補償功能),只有在 (-設定值 ~ +設定值) 角度內,IMU 才會產生補償值,這個功能可以設定補償的有效範圍,若是有些動作不需要補償功能,也可以設定為 0 來關閉補償。

    最終產生出來的程式有兩種類型,其燒錄方式也略有不同。
    86ME19_program.png
    Generate 86Duino Sketch (with Frame Files) 所生出的檔案除了要將 ino 程式燒錄進 86Duino 外,還需要將產生出來的設定檔資料夾放入 86Duino SD 卡中(製作 86Duino SD 卡)的根目錄底下才可正確執行。而 Generate 86Duino Sketch (All in One) 只會產生出一個 ino 程式,只要將產生出來的程式燒進 86Duino 即可。

  6. 這個區塊是用來修改 Action List 裡頭每個不同動作的詳細內容,例如每個 Frame 中馬達的角度。而要詳細的演示如何操作,在下面會以一個較完整的使用範例來說明。

使用範例

此使用範例希望能讓使用者了解 86ME 的操作流程,會以 86ME 操作一個三顆伺服馬達所組成的六足機器人來當範例。此六足以一片 86Duino Zero 和三顆 DMP_RS0263 為主體,分別將左、中、右三隻腳對應到 86Duino 的第 11、43、44腳位。
86ME_hexapod.png

步驟一:
86ME19_step1.png

  1. 在 86ME 資料夾中對 86ME.exe 雙擊左鍵執行。
  2. 選擇 –auto– 來自動連接 COM port 並按下 Start 按鈕。

步驟二:
86ME191_step2.png

  1. 點擊 New Project 來新增一個專案,接著會彈出 Robot Configuration 視窗。
  2. 設定 86Duino Board 為 86Duino Zero,這為此範例的 86Duino 型號,此範例無 IMU 因此設定為 None。
  3. 設定 11、43、44 接腳為馬達 DMP_RS0263 伺服馬達,此處的 offset、homeframe、Max&min 可以依照使用者的需求去設定,此次的範例採用預設值。IMU 補償方面設定為不補償。
  4. 按下 OK 按鈕完成設定。

步驟三:
86ME19_step3.png

  1. 建立好專案後可以發現 “+” 按鈕亮起來,我們可以利用此按鈕來新增動作,按下 “+” 按鈕
  2. 彈出 Create a New Motion 視窗,在 Motion Name 欄位輸入要新增的動作名稱,此處的舉例為 right (右轉)
  3. 按下 “OK” 完成動作的建立

步驟四:
86ME19_step4.png
在 Action List 下方的空白處點滑鼠右鍵 -> add action at the first field 來選擇一種 Action 新增動作到動作列中。
共有九種 Action,其功能說明如下,
Frame
86ME19_addframe.png

    選擇 Frame 之後可以調整當初所設定過的三個馬達,並且有幾個功能會開啟讓使用者調整。

  1. 勾選 Sync 會讓機器人立即反應目前所設定的值,在勾選著 Sync 的狀態下去移動下面的捲軸或改變數字,都可以讓機器人即時的反應。而 Sync 旁的拉霸可以調整 Sync 時馬達轉動的速度。
  2. Free Motors 按鈕可以將所有出力狀態的馬達釋放掉,不再出力。
  3. Capture,用來讀取目前馬達的角度,目前所支援的馬達為 Kondo、Hitec、Futaba 這三個系列,使用時請特別小心,因為 Capture 功能會先將所有馬達釋放掉,如果沒有支撐好機器人可能會讓機器人跌倒。
  4. Play Time 為移動到目前所設定的馬達角度要花上多少毫秒,直接輸入數字即可設定,如果設定為 0 的話動作是會被跳過的,所以請記得設定 Play Time。
  5. 設定要傳給馬達的 PWM 訊號數值,可以拉捲軸或是輸入數值來設定。最右方有個圓形的按鈕,用來個別決定馬達要不要被 Sync,預設的狀況下所有馬達在被 Sync 時都會依照所給的目標 PWM 數值去轉動,顯示為綠色的 “ON”,當點選這個按鈕時圖片會轉變為紅色的 “OFF”,並會讓馬達停止出力,此功能可以讓目前不需要加入編輯的馬達休息,以避免長時間的出力導致燒壞。

Delay
86ME19_adddelay.png
可以讓使用者設定 Delay,而這邊的延遲是單純的停滯,不會讓機器人有任何動作的產生。

Flag & Goto

  • Goto 和 Flag 是讓使用者可以以迴圈的方式測試動作,而不用寫一大串的 Frame 出來。Flag 只需要設定好名字,即可查看 Action List 裡頭的 Flag 是否加上剛剛所設定的名字了,若是有則設定成功。

86ME19_addflag.png

  • 而 Goto 除了設定名稱之外,還必須設定迴圈次數與是否觸發與 Goto 次數或可以選擇無窮跳轉。Goto 詳細的行為是在播放狀態下,執行到 Goto 時會去檢查是否要執行此 Goto,若要執行,則去尋找 Goto 所設定的目標 Flag 名稱,找到後再一次從 Flag 那邊開始執行動作。

86ME19_addgoto.png

  1. 寫好目標 Flag 的名稱,此處寫上跟剛剛所建立之 Flag 相同的 test。
  2. 設定是否執行。
  3. 設定是否無窮執行 Goto。
  4. 設定執行次數。

HomeFrame
選擇 HomeFrame 會加入一個值為初始位置且不可更改的 Frame,要更改 HomeFrame 的值只能在 Options -> Robot Configuration 中修改。這一選擇是方便使用者歸 Home ,並且能辨認出哪裡會執行歸 Home 的動作。
86ME19_addhomeframe.png
GotoMotion
GotoMotion 能方便的使機器人操作其他 Motion 的內容,只需要簡單的設定 Target Motion 與 Method。而 GotoMotion 只會反應在產生出來的程式之中,目前不支援使用 86ME 的播放來測試。

  1. Target Motion:要執行的 Motion,在選擇 Target Motion 時需要特別注意 86ME 目前不支援遞迴呼叫,例如呼叫自己或是互相呼叫對方,這些狀況可能會導致不可預期的動作出現,還請大家特別注意!
  2. Method:分為 Call target motion、Jump to the target motion,Call target motion 會在執行完 target motion 後繼續執行目前 Motion 剩餘的 Action;Jump to the target motion 則不會回到目前的 Motion。

86ME19_addgotomotion.png
If
If 提供了動作編輯的彈性,目前提供五十個變數以及若干個實用的系統變數來供使用者運用,只需要設定好的判斷條件成立,就會 Goto 到指定的 Flag 去。

  1. 設定左子式的變數,”V0~V49″ 為可讓使用者自行運用的變數,要注意的是這些變數是各個動作所共用的。其他系統變數有 “NowTime” 表示 86Duino 目前的時間(ms)、”Random” 表示隨機數、”Analog0~Analog5″ 為 86Duino 上 A0~A5 的讀數、”AccX/Y/Z” 為加速度計 X Y Z 三個軸的讀數,”GyroRoll” 和 “GyroPitch” 則為目前 IMU 相較於 Base Orientation 的傾角,Roll 對應到 X 軸,Pitch 對應至 Y 軸,”VKeyUp”、”VKeyDown” 等等為虛擬按鈕,當按鈕沒被壓下時數值為 0,被壓下時非零,虛擬鍵盤可與 PS2 搖桿對應。
  2. 設定左右兩個變數的判斷子,支援等於、不等於、大於等於、小於等於、大於、小於
  3. 設定右子式,與左子式相同,但不可選擇虛擬按鈕。
  4. 若右子式為常數,可以選擇此方式並輸入數字。
  5. 設定 If 成立時要跳轉到的目標。

86ME195_addif.png
Compute
Compute 可以用來做簡易的計算,並將數值存入指定的變數中(V0~V49)。

  1. 設定左子式的變數,可選擇 “V0~V49″。
  2. 選擇要使用公式,第一條公式可以對兩個變數做運算,包含加、減、乘、除、次方、取餘數、AND 運算和 OR 運算。第二條公式提供對某個變數做運算,包含 NOT、開根號、exp、對數、絕對值、負號、sin、cos。第三條公式為單純的 assignment。第四條公式可以指定常數。
  3. 設定好選用的式子後就完成了。

86ME19_addcompute.png
Release
在執行到 Release 時會使所有伺服機停止出力,而此 Action 不須設定,被執行到後會立即動作,可以在機器人將遭遇危險(例如跌倒)時使用,避免馬達瞬間承受過大的力量而導致損壞。

步驟五:
編輯好自己所希望的動作後,就可以利用播放、暫停、停止按鈕進行測試,一般的執行順序如左下圖 ,若是在執行 Goto 的狀況則如右下圖。
86ME19_mtest.png

接著,使用者們可以選擇繼續編輯不同專案 (回到步驟二),或是不同的動作 (回到步驟三)。或是選擇存檔 ( File->Save Project ),會產生一個 .rbm 檔案,下一次若用 ( File->Load Project )則可以繼續使用上次儲存的專案。

加入圖片:
這個功能的目的是為了讓使用者方便對應馬達,不用每次讀取專案都還要回想馬達的對應到機器人的哪個位置。在新增專案( File-> New Project ) 或是修改專案組態 ( Options->Robot Configuration ) 時都可以加入機器人圖片,利用 Load Robot Picture 按鈕可以讀取 PNG、JPG、GIF 檔案來當作機器人圖片。一旦讀取之後便不可再移除,而設定好之後, Action List 中的 Frame 型別動作就可以讓馬達自由移動,來達到馬達與機器人部位對應的效果。
86ME19_picmode.png
若是讀取圖片後存檔,所儲存的 .rbm 檔案會記住圖片在電腦中的路徑,因此若是圖片位置有變更或移除,下一次讀取專案時可能會找不到,還請使用者們多多注意!

原始碼

86ME 為開源的動作編輯器,原始碼發布在GitHub上,歡迎有興趣的朋友下載或分享。此專案建置的環境為 Windows 7/10 + Visual Studio 2013 社群版。


對於文件的更正與建議,請發表至論壇