-
開發日誌
-
pypot使用方法
-
討論
-
開發日誌 ===
實作部分
-步驟一
製作一個.ttt,必須要組裝好而且要進行組立完成
-步驟二
在Vrep裡面的環境設定部份加上一個child script,Non-threaded child script進行程式碼的溝通,這個部分主要把pypot和vrep進行溝通,不需要額外設定別的馬達。
程式碼如下
(註記: lua brush 名稱要使用小寫)
-- DO NOT WRITE CODE OUTSIDE OF THE if-then-end SECTIONS BELOW!! if (sim_call_type==sim_childscriptcall_initialization) then simSetScriptAttribute(sim_handle_self,sim_childscriptattribute_automaticcascadingcalls,false) end if (sim_call_type==sim_childscriptcall_actuation) then if not firstTimeHere93846738 then firstTimeHere93846738=0 end simSetScriptAttribute(sim_handle_self,sim_scriptattribute_executioncount,firstTimeHere93846738) firstTimeHere93846738=firstTimeHere93846738+1 ------------------------------------------------------------------------------ -- Check the end of the script for some explanations! if (simGetScriptExecutionCount()==0) then end simHandleChildScripts(sim_call_type) local currentTime=simGetSimulationTime() simSetFloatSignal('CurrentTime',currentTime) end if (sim_call_type==sim_childscriptcall_sensing) then simHandleChildScripts(sim_call_type) end if (sim_call_type==sim_childscriptcall_cleanup) then -- Put some restoration code here end
-步驟三
製作一份每個軸(joint)上面馬達的json格式檔,這邊的馬達選用基本上都是使用dynamixel motors公司所販售的,這間公司的馬達每顆都含有力回饋、熱回饋、等多種感測器在馬達上面。
json格式表,可以設定的部分
- 控制器(controller)
- 連線方式(串列通訊方式) 這邊還要看可不可以改成Arduino來使用
- 是否要同步運作(sync)可以連同模擬器一起進行real time控制
- 設定馬達群組(Group)
- 針對每顆馬達設計它的極限角度以及型號
{ "controllers": { "my_dxl_controller": { "sync_read": true, "protocol": 2, "attached_motors": [ "base" ], "port": "/dev/ttyAMA0", "syncloop": "LightDxlController" } }, "motorgroups": { "base": [ "m1" ] }, "motors": { "m1": { "offset": 0.0, "type": "XL-320", "id": 1, "angle_limit": [ -90.0, 90.0 ], "orientation": "direct" } } }
-步驟四
這部分可以使用我寫好的小外掛來做,下載我倉儲系統裡面的小型外掛,可以利用圖形化介面進行Vrep內部的控制,還有一些會凍結畫面的小BUG,我再進行處理,已經可以使用自訂的方法進行內部Vrep控制。
-討論部分
1.實體同步控制部分還在想要怎麼進行測試,光是控制器的選用或馬達選用,這邊都有待討論,還在和開發的相關人員問是否可以使用Arduino之類的控制器進行控制,這部分要等待他們回覆。
2.因為沒有實體部分可以進行測試,只能用Vrep內部的機器,在群組馬達的部分我還是不太理解他是怎麼區分的,範例檔裡面的那隻poppy因為太過複雜,無法理解他是如何定義他的馬達群組方法。
3.目前我都還無法控制由我們自己組裝的機器,像是最簡單的單軸選轉的部分,我沒辦法使用他的lib進行Vrep內部的模擬,這邊可能是我們組的方法有錯或者是內部那根軸影響到實際模擬,這邊還需要討論。
Comments
comments powered by Disqus