Robofun 機器人論壇

標題: 請問各位大大 先進 [打印本頁]

作者: hero728    時間: 2014-1-14 22:28
標題: 請問各位大大 先進
2足壓程式.txt (2.92 KB, 下載次數: 1875)

我上面的程式碼 搭配兩組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