本帖最後由 Super169 於 2015-7-21 14:59 編輯
回覆 Super169
又學到野
你唔講我都唔知, 你講左我又好覺
唔怪得左右腳板提起既數值都唔 ...
dtom 發表於 2015-7-21 13:29 
好多時機械人既程式, 最簡單都係 tune 件野去到某個位, 然後記低當時既數值, 下次再要做同樣動作, 就 send 番 D 數值出去. 基本上係每個動作獨立去諗.
如果要用相對位置, 比如話其中一個 servo 轉 30 度, 當中要考慮既野就好複雜了, 夠唔夠位轉, 會唔會同另一個 part 撞. 成個系統都複雜好多.
我估呢隻機械人仔, 都係記低左每個動作既數值, 例如 4 個電機 (90, 90, 90, 90) 就係企直, (45, 135, 90, 90) 就提右腳, (90, 90, 45, 135) 就提左腳, (唔好認真諗 D 數值, 我只係舉例, D數字亂作既)
當由企直之後, 想 提完右腳, 企番好, 再提左腳, 就會 send 絕對位置
(45, 135, 90, 90) , (90, 90, 90, 90), (90, 90, 45, 135), (90, 90, 90, 90)
而唔相對位置
(-45, 45, 0, 0) , (45, -45, 0, 0), (0, 0, -45, +45), (0, 0, 45, -45)
有 D 人幫人做機械人, 一套動作做好哂, 但每個機械人既中位都可能有貿別. 用番呢個例子, 如果今次果隻個 中位由 (90, 90, 90, 90) shift 左去 (87, 93, 92, 88), 就 記低一個 delta, 即 (-3, 3, 2, -2), send 之前就補番. 咁樣做可以一套動作, 隨時配合唔同既機械人了.
不過, 有時 D 動作要配合埋時間, 就複雜好多了. Arduino 既 servo library default 係全速, 有個 varSpeedServo 既 library 可以幫你減速 (當然, 只可以減), 配合黎用可以多D變化. |