Robofun 機器人論壇

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

新人 對KONDO HV-788馬達的問題 求各位協助

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-9-24 16:46:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原本買來的機器人是KIT套件
組裝起來以後 想換個晶片控制(FPGA)

問題1.我現在馬達會連續動作了 可是 速度不可以調整 他動太快了 誇張到 揮手就甩尾跌倒
===> 有甚麼方法(或是原理)讓我揮手 輕柔 動作順暢 不會甩手
=====>(簡單的說 就是馬達速度可以調整讓他慢慢的揮拳) 畢竟手的問題解決 還有腳

問題2.有人告訴我說要用T型或是S型 曲線原理去控制 可是我上網查了許久 就是搞不懂呀~ 只知道 利用曲線可以控制馬達的速度!? 有沒有人有參考的資料可以解救一下我的疑惑>"<
如果只是速度可以調整 需要用到複雜的曲線原理嗎?
2#
發表於 2008-9-25 20:41:19 | 只看該作者
我這有兩種方式:

1.可以將程式架構可分為主程式,用來指定SERVO定位值!
   及控制程式,通常是Task或中斷函式,重點就是這控制函式,
   配合Timer每次將目前定位值累加或減,直到主程式指定的定位值則停止
   那Timer就是定位速度

2.另一種方式就是使用腳本方法,這就像是黏土動畫一樣,每次定位都只一點點
   配合Timer調整速度

以上參考看看!
3#
發表於 2008-9-26 06:15:24 | 只看該作者
可以試試看漸進式PWM,公式如下:

linear_selection=平滑化選擇(前段加速~後段加速) (Range=1~20)
px=產生控制點的數值(預先計算)
N=平滑化時間(>10)
for(px=0;px<N;px++)
{
for(t=0;t<X;t++) //X=響應速度
{
      pout(t,px)=pout(t,px)*(pow(((N-2*(N/2-(t)))/(2N)),(px)))*pow(((N-2*(t-N/2))/(N)),(linear_selection/1.0005+0.4));
}
}

用MATLAB模擬如下:
2D plot:


3D:






這個公式還不完美...只是臨時的一點構想,有誤請指正....:)

------更新-----
後來看了看...感覺只有一條能用.....XD
我在修正看看...orz

不然可以試試看Fuzzy Logic...一b一

[ 本帖最後由 omegaCD 於 2008-9-26 06:59 編輯 ]
4#
 樓主| 發表於 2008-9-27 12:30:05 | 只看該作者
感謝你們的回應阿XD
我會把這些列印出來 做參考的^^ 或是拿去問人XD
因為還是有些地方看不太懂

剛入門的笨蛋新手XD
nichal 該用戶已被刪除
5#
發表於 2008-10-15 17:41:57 | 只看該作者
請問一下大大是怎麼控制的呢?

記得以前在工廠實習時有操作機器手臂的經驗
教授說要寫一段程式
讓手臂可以端杯子從A點到B點
但杯子裡的水不能濺出來
如果讓手臂一開始就到定位
那麼水肯定是會濺出來的

所以
解決的方法是
把A到B拆成10個或是100個點
先從A到A1, 然後 A1到A2,.....,A9到B
每到一點就停一下下
這樣水就不會濺出來了

調整SERVO時如果要動到計算
那往往很複雜
因為每個SERVO的動靜磨擦係數都不相同
啟動到完成動作的時間也不會一樣
所以即使送了正確的PWM信號
並不代表SERVO會在期望的時間停在期望的角度

有了這樣的概念後
就可以讓機器人的動作變得比較平順了
實際的作法很多
上面幾位大大的意見也都很讚唷
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 04:05 , Processed in 0.286006 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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