王智昱 游碧文 戈彪 張欣宇
摘 要:在二十一世紀,隨著計算機技術(shù)和AI智能技術(shù)的創(chuàng)新和不斷進步,人們在不同方面都存在有人工智能的支持和幫助。我們設(shè)計的自動模擬仿真書寫系統(tǒng)就是為了書寫遠離雙手,通過機器代替人類來完成那些必須手寫完成的長篇大論的文章,讓人們擺脫書寫的痛苦,同時也能減少因為長時間書寫而引發(fā)的各類疾病。我們的設(shè)計是通過Bresenham畫圓算法完成對文字的書寫,然后通過藍牙通信,運用手機APP控制單片機來實現(xiàn)自動書寫工作。
關(guān)鍵字:畫圓算法、硬件設(shè)計、藍牙通信、手機APP控制
1、引 言
目前我們國家在自動模擬仿真書寫系統(tǒng)發(fā)展方面還存在很多不足,虛擬機的出現(xiàn)使傳統(tǒng)的產(chǎn)品開發(fā)模式發(fā)生改變,人們利用虛擬機技術(shù)建立機械系統(tǒng)的數(shù)學模型,再通過仿真分析來用圖形的方式使用圖形方式來展現(xiàn)在不同條件下的不同表現(xiàn)方式,從而我們能從中找到我們需要的最優(yōu)方法,使其不斷進步、不斷更新、越來越全能。在未來機器人的邏輯推理能力會越來越強,就像我們使用的輸入法的智能聯(lián)想,在我們設(shè)計的新一代自動模擬仿真書寫系統(tǒng)也會自動聯(lián)想詞匯,達到理想的效果。
2、自動模擬仿真書寫系統(tǒng)的Bresenham畫圓算法
2.1 Bresenham畫圓方法選擇
畫圓的方法有兩種,一種是通過用圓的幾何方程畫圓;另一種是通過畫半圓,利用圓的對稱性畫圓。
方法一:用圓的幾何方程畫圓,該方法要使用浮點計算和近似處理的問題,使用單片機編程很難實現(xiàn),所以我門否定了該方法;
方法二:利用圓的對稱性,把圓分成八等份然后進行掃描轉(zhuǎn)化,就能逐步完成整個圓,進而應用到漢字書寫。
2.2 Bresenham畫圓的原理
Bresenham 畫圓,是結(jié)合圓弧的時鐘方向,根據(jù)目前坐標點所在的象限進行判斷,得到獲選點,然后通過殘差來控制從候選點中找到新的坐標點,通過計算和驗證設(shè)計出新的終止條件的判定方法。
(1) 候選點的選取和產(chǎn)生:
候選點的生成主要利用了圓弧的時鐘方向及當前坐標點所在象限進行生成。而生成的 3 個候選點的選擇則使用殘差控制,選擇殘差范圍小的點,形成新的坐標點。
(2) 終止條件和坐標轉(zhuǎn)換:
終止條件選取的方法是使用當前坐標點M與終止點的重合度評價。常見的有兩點之間距離的判定方法和兩點之間橫坐標之差的絕對值與縱坐標的絕對值之和判斷。
2.3 Bresenham畫圓算法總結(jié)
Bresenham畫圓算法通過構(gòu)造判別式的方法是算法回到整數(shù)運算,簡化了計算,提高了畫圓效率,該算法的算法條理清晰,優(yōu)化邏輯判斷,考慮到時間效率,利于計算機編程實現(xiàn),也利于代碼移植。
3、自動模擬仿真書寫系統(tǒng)硬件設(shè)計方案
3.1 自動模擬書寫仿真系統(tǒng)的組成
該系統(tǒng)主要由步進電機、STC89C52單片機、步進電機驅(qū)動器、LCD 顯示組成。
3.2自動模擬書寫仿真系統(tǒng)設(shè)計目標
從最初進行硬件電路設(shè)計時我們就既定了系統(tǒng)的設(shè)計目標:可靠、高效、簡潔,在整個系統(tǒng)設(shè)計過程中嚴格按照規(guī)范進行。我們在對電路進行了詳細分析后,對電路進行了簡化,合理設(shè)計元件排列、電路走線,使本系統(tǒng)硬件電路部分輕量化指標都達到了設(shè)計要求。
3.3PID算法
3.3.1 PID參數(shù)作用基本介紹
(1)比例調(diào)節(jié)(P)作用:
是按比例反應系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用,以減少偏差。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。
(2)積分調(diào)節(jié)(I)作用:
是使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度。因為有誤差,積分調(diào)節(jié)就進行,直至無差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值。積分作用的強弱取決于積分時間常數(shù)Ti,Ti越小,積分作用就越強。反之Ti越大則積分作用越弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)控制器或PID調(diào)節(jié)器。
(3)微分調(diào)節(jié)(D)作用:
微分作用反映系統(tǒng)偏差信號的變化率,具有預見性,能預見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除。因此,可以改善系統(tǒng)的動態(tài)性能。在微分時間選擇合適情況下,可以減少超調(diào),減少調(diào)節(jié)時間。微分作用不能單獨使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,組成PD或PID控制器。
3.3.2PID的運用
PID控制主要使用位置式PID控制和增量式PID控制。
位置式PID控制多用于舵機控制,我們舵機控制多采用PD控制,可達到快速反應、提前打角的效果。位置式PD公式:Uk=Kp*ek+Kd*[ek-e(k-1)]。ek是本次誤差,e(k-1)是上一次誤差。就是這么一個簡單的公式就是PID的內(nèi)核算法,一切算法通過它來實現(xiàn)。
3.4步進電機
步進電機有兩種基本的形式:可變磁阻型和混和型。步進電機的的工作過程是這樣的:當有一相繞組被激勵時,磁通從正相齒,經(jīng)過軟鐵芯的轉(zhuǎn)子,并以最短的路徑流向負相齒,而其他六個凸齒并無磁通。為使磁通路徑最短,在磁場力的作用下,轉(zhuǎn)子被強迫移動,使最近的一對齒與被激勵的一相對準。電機步長(步距角)是步進電機的主要性能指標之一,不同的應用場合,對步長大小的要求不同。改變控制繞組數(shù)(相數(shù))或極數(shù)(轉(zhuǎn)子齒數(shù)),可以改變步長的大小。它們之間的相互關(guān)系,
4、自動模擬仿真書寫系統(tǒng)項目設(shè)計和完成步驟
4.1機器人結(jié)構(gòu)選擇
首先,我們對結(jié)構(gòu)進行查閱資料了解,最經(jīng)典的xyz的結(jié)構(gòu),多用于3D打印機上,xyz優(yōu)點在于結(jié)構(gòu)非常簡單,控制簡單些,但由于三個方向的運動都是解耦的(幾種方向不會相互影響),而且相對來說是由于是純線性驅(qū)動,所以運動精度還比較容易;還有就是DELTA結(jié)構(gòu),最大優(yōu)點是靈活,但由于杠桿效應,運動速度快,但同時消耗更大的cpu資源,而且更加復雜的機械結(jié)構(gòu)和解算公式和推導,所以我們選擇了CoreXY結(jié)構(gòu)。與傳統(tǒng)XY結(jié)構(gòu)不同,CoreXY是一種僅使用一根同步帶就可以控制末端在XY兩個方向運動的結(jié)構(gòu),非常巧妙。
4.2用 bresenham 畫圓算法原理對電機進行控制
為了使電機能更好的的運行和控制,我們利用 bresenham 畫圓算法原理對電機進行控制。
4.3用手機app控制機器運行
對電機實現(xiàn)精確的控制后,我們想利用手機APP控制機器運行。我們通過手機的藍牙與單片機進行通信來控制電機運動,當我們在手機上發(fā)送指令,就可以寫出想要的內(nèi)容,我們編寫了一個簡單APP,然后進行藍牙連接,通過APP來控制,使操作更加方便。
5、小結(jié)
文中,我主要介紹了自動模擬仿真書寫系統(tǒng)中自動手寫的基本思路,包括機械、電路以及最重要的控制算法的創(chuàng)新思想。在機械結(jié)構(gòu)方面,分析了舵機轉(zhuǎn)向系統(tǒng)的軟件程序改進方法。在電路方面,以模塊形式分類,在主板、電機驅(qū)動等模塊分別設(shè)計,經(jīng)過不斷實驗,最后決定了最終的電路圖。在程序方面,使用C語言編程,利用開發(fā)工具調(diào)試程序,經(jīng)過小組成員不斷討論、改進,終于設(shè)計出一套比較通用穩(wěn)定的版本。
參考文獻
[1]康華光《電子技術(shù)基礎(chǔ)模擬部分》[M].北京高等教育出版社2006年第五版.
[2]譚浩強.《C程序設(shè)計》[M].北京清華大學出版社2003
作者簡介:王智昱(1999-),男,漢族,大二本科在讀全日制學生,現(xiàn)就讀院校及專業(yè):長春工程學院 電氣與信息工程學院 電子信息工程專業(yè)。