Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3145|回復: 3
打印 上一主題 下一主題

請問各位大大 先進

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-1-14 22:28:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2足壓程式.txt (2.92 KB, 下載次數: 1347)

我上面的程式碼 搭配兩組flexiforce a201-100lb 。 RF都各給 10K歐姆

可是 我當在運作程式碼時  換算出來的壓力值 會有負值而且有時很大。
可以各位大大 幫我檢視一下程式碼嗎!?
2#
發表於 2014-1-15 16:24:28 | 只看該作者
哈哈
一堆轉換

數值不對,那就應該要檢查過程每一部分你的輸出
看是否和想想不一樣
EX: 給100 公克壓力,你要先把整個流程的數值都"先在紙上推導出來"
然後實際給他100克 <<< 這可輕易使用砝碼辦到
然後把推導的數值和實際輸出去比較,看看是哪一關出問題
理論上公式沒問題,出來的數值應該會差不多

不過也不太會完全一樣
電阻本身有誤差等等的原因會導致他會稍有出入
3#
發表於 2014-1-15 16:29:42 | 只看該作者
另外
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 ,這樣轉換的過程你還會有小數點的損失
反而增加誤差@@
應修改公式去跳過這個問題才是, 至少減少錯誤率
4#
發表於 2014-1-15 16:32:09 | 只看該作者
不然,你就要自己寫一個來取代原有的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;
}
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-28 03:23 , Processed in 0.077631 second(s), 11 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表