Robofun 機器人論壇
標題:
請問各位大大 先進
[打印本頁]
作者:
hero728
時間:
2014-1-14 22:28
標題:
請問各位大大 先進
2足壓程式.txt
(2.92 KB, 下載次數: 1875)
2014-1-14 22:26 上傳
點擊文件名下載附件
程式碼
我上面的程式碼 搭配兩組flexiforce a201-100lb 。 RF都各給 10K歐姆
可是 我當在運作程式碼時 換算出來的壓力值 會有負值而且有時很大。
可以各位大大 幫我檢視一下程式碼嗎!?
作者:
mzw2008
時間:
2014-1-15 16:24
哈哈
一堆轉換
數值不對,那就應該要檢查過程每一部分你的輸出
看是否和想想不一樣
EX: 給100 公克壓力,你要先把整個流程的數值都"先在紙上推導出來"
然後實際給他100克 <<< 這可輕易使用砝碼辦到
然後把推導的數值和實際輸出去比較,看看是哪一關出問題
理論上公式沒問題,出來的數值應該會差不多
不過也不太會完全一樣
電阻本身有誤差等等的原因會導致他會稍有出入
作者:
mzw2008
時間:
2014-1-15 16:29
另外
map 這個指令在這個情況建議不要用
他的prototype
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
是傳回long ,這樣轉換的過程你還會有小數點的損失
反而增加誤差@@
應修改公式去跳過這個問題才是, 至少減少錯誤率
作者:
mzw2008
時間:
2014-1-15 16:32
不然,你就要自己寫一個來取代原有的map功能
double my_map(long x, long in_min, long in_max, long out_min, long out_max)
{
return ((double)x - (double)in_min) * ((double)out_max - (double)out_min) / ((double)in_max - (double)in_min) + (double)out_min;
}
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2