我上午就先去林益成的機甲人形師的覓星工坊攤位拜訪,並帶著之前會跳極樂淨土舞的 OTTO like 給他擺攤,益成又送我一隻紅色進化版的 OTTO like 有加強腳部結構,還加裝一個電源按鍵,可以控制四顆四號電池電源,它的外觀就是左邊照片的那一隻,因為是紅色的,我就當它是綠色 OTTO like 的女朋友。
這隻帶回家就先幫她安裝 ROSA 程式,不過發現她的動作跟她的男朋友不太一樣,原來紅 OTTO like 下肢馬達安裝方向是相反的,這在設計 ROSA 的時候早就意料到,在 ROSA_SERVO.cpp 中 byte gServo_Reverse[] = { 0, 1, 1, 1, 0, 0, 0 };
把紅字 1 改為 0,0 改為 1,就可反轉馬達方向,不用重新拆裝馬達。
改好後程式再跑一次,腳的角度還是有點差異,因此 OTTO_Motion.h 中,左腿及右腿下肢角度重新調整,註解的數值是原來綠色 OTTO like 的角度設定,你會發現不同 SG90 馬達差異真的很大,而且還不線性,不過這些問題 ROSA 都可以輕易解決。改好後隔天,再把它送回給益成擺攤。
// Servo 的角度定義 -------------------------------------
// 右腿上肢
#define RR6 30 // 注意 LR4 才不會卡到
#define RR4 40
#define RR3 65
#define RMD 100
#define RL3 135
#define RL4 150
#define RL6 166
#define RL9 180
// 左腿上肢
#define LR9 20 // 0
#define LR6 45 // 28
#define LR4 60 // 48
#define LR3 75 // 62
#define LMD 120 // 90
#define LL3 150 //125
#define LL4 165 //140
#define LL6 180 //155 // 注意 RL4 才不會卡到
// 右腿下肢
#define RU9 0 // 3
#define RU6 20 // 33
#define RU4 35 // 48
#define RU3 55 // 63
#define RU2 65 // 73
#define RSD 90 // 97
#define RD3 120 //127
#define RD4 135 //142
#define RD6 155 //157
#define RD9 180 //180
// 左腿下肢
#define LU9 0 // 0
#define LU6 12 // 35
#define LU4 27 // 45
#define LU3 45 // 65
#define LU2 55 // 75
#define LSD 75 //105
#define LD3 110 //135
#define LD4 125 //145
#define LD6 140 //155
#define LD9 180 //180
並且從一些 maker 了解機器人製作需求,看來 ROSA 仍有很大空間可以努力。
感謝汪大分享這麼方便的系統啊~讓機器人程式更容易上手了
回覆刪除ROSA持續開發中,歡迎反應意見,謝謝支持本土開源軟體。
刪除