智能機(jī)器人保姆
2.3.2 視頻設(shè)計(jì)
視頻采用的是已經(jīng)集成的模塊,其接線圖如下圖10所示:
圖10 視頻接線圖
設(shè)計(jì)中為了能夠提供很好的視頻效果,還專門設(shè)計(jì)了照明燈。其設(shè)計(jì)電路圖如圖11所示:
圖11 照明電路圖
同樣,為了使用者很好的視覺效果,攝像頭部分設(shè)計(jì)了移動(dòng)云臺(tái)。攝像頭云臺(tái)的作用是通過遙控,控制云臺(tái)的兩個(gè)電機(jī)的轉(zhuǎn)動(dòng),帶動(dòng)攝像頭運(yùn)動(dòng),從而使得操作者能更好的觀察平臺(tái)端周圍的環(huán)境,獲得更多的信息,也能在一定程度上消除視覺死角,對(duì)機(jī)械手的運(yùn)動(dòng)操作更加方便。云臺(tái)的硬件如圖12所示,兩個(gè)小型直流減速電機(jī)成90度安裝,電機(jī)1的正反轉(zhuǎn)帶動(dòng)攝像頭左右轉(zhuǎn)動(dòng),使攝像頭獲得可調(diào)的水平視角,電機(jī)2的正反轉(zhuǎn)帶動(dòng)攝像頭的俯仰角度發(fā)生變化,使攝像頭獲得可調(diào)的俯仰視角,電機(jī)的控制和手臂驅(qū)動(dòng)電機(jī)的控制方法和電路是一樣的。
圖12 云臺(tái)設(shè)計(jì)示意圖
2.3.3 智能機(jī)器人軟件設(shè)計(jì)
本設(shè)計(jì)采用結(jié)構(gòu)化和模塊化的編程思想,二者相輔相成實(shí)現(xiàn)各模塊間的連接,各個(gè)模塊之間程序保持獨(dú)立,模塊之間通過入口參數(shù)和出口參數(shù)聯(lián)系,這樣有利于程序的調(diào)試與修改。
遙控端主程序設(shè)計(jì)
遙控端的主程序的任務(wù)是采集當(dāng)前操作者的操作指令,對(duì)數(shù)據(jù)處理并發(fā)送給小車端,主程序完成遙控系統(tǒng)的初始化,AD轉(zhuǎn)換器初始化,串行數(shù)據(jù)端口初始化,IO口初始化,終端服務(wù)程序初始化,遙控端主程序流程圖如圖13所示。
串型數(shù)據(jù)傳輸程序
在遙控端,數(shù)據(jù)完成采集之后,需要無線發(fā)送給平臺(tái)端,作為控制信號(hào)來遙控平臺(tái)端的各個(gè)執(zhí)行機(jī)構(gòu)完成操縱者的指令,單片機(jī)自帶兩個(gè)串行數(shù)據(jù)口,數(shù)據(jù)的傳輸使用到了單片機(jī)的串口0,將采集到的數(shù)據(jù)通過串行端口發(fā)送給無線收發(fā)模塊,模塊在接收到數(shù)據(jù)后,會(huì)自動(dòng)的將數(shù)據(jù)轉(zhuǎn)存之后按照設(shè)定的波特率發(fā)送給接受端,接收端在接收到數(shù)據(jù)后會(huì)返回一個(gè)值給發(fā)送端,作為發(fā)確認(rèn)接收和送下一數(shù)據(jù)的信號(hào),這個(gè)過程由無線收發(fā)模塊自動(dòng)完成。程序設(shè)計(jì)流程圖如圖14所示:
圖14串行數(shù)據(jù)發(fā)送程序流程圖
機(jī)械手控制程序設(shè)計(jì)
機(jī)械手的控制是通過分別控制5個(gè)舵機(jī)來控制的,在機(jī)械手控制程序中,根據(jù)舵機(jī)的控制原理,編程使得單片機(jī)能根據(jù)串口得到的遙控?cái)?shù)據(jù),計(jì)算出控制舵機(jī)的PWM波的占空比,并輸出這個(gè)占空比,由此來控制電機(jī)。程序設(shè)計(jì)框圖如圖15所示:
平臺(tái)端驅(qū)動(dòng)程序設(shè)計(jì)
平臺(tái)端的驅(qū)動(dòng)電機(jī)采用12V電壓供電的直流減速電機(jī),電機(jī)控制信號(hào)通過光電隔離器,加載在LM298芯片上,實(shí)現(xiàn)單片機(jī)對(duì)電機(jī)的控制,對(duì)電機(jī)的控制也采用控制PWM波的占空比方式。程序設(shè)計(jì)框圖如圖16所示:
圖16 平臺(tái)驅(qū)動(dòng)電機(jī)控制程序流程圖
總結(jié)
本次設(shè)計(jì)在開始采用的是模塊設(shè)計(jì)的思想,在設(shè)計(jì)過程遇到了不少的問題。同時(shí)最后沒有能夠最后完成所有模塊的組裝調(diào)試。遇到的主要問題有:
肌電檢測(cè)不準(zhǔn)確,通過本文設(shè)計(jì)的電路和軟件檢測(cè)肌電信號(hào)很不準(zhǔn)確,主要是由于設(shè)計(jì)原理過于簡(jiǎn)單,所有器件誤差大,同時(shí)軟件上沒有很好的處理。從而導(dǎo)致機(jī)器人的控制部分沒有得到很好的解決,因此在機(jī)器人設(shè)計(jì)部分我們只有采用電位器的方式來進(jìn)行調(diào)試。
在對(duì)機(jī)械手硬件制作的時(shí)候,先測(cè)試了用一塊單片機(jī)采集遙控臂上的電位器電壓信號(hào),采用同一塊單片機(jī)的定時(shí)器B輸出PWM波來控制機(jī)械手,這個(gè)過程實(shí)現(xiàn)起來沒有太大的問題,但后當(dāng)用一塊單片機(jī)A采集遙控信號(hào),并通過無線模塊將數(shù)據(jù)發(fā)送至另一塊單片機(jī)B,單片機(jī)B根據(jù)接收到的數(shù)據(jù)產(chǎn)生PWM波來控制機(jī)械手,這時(shí)出現(xiàn)機(jī)械手控制失靈甚至失效的問題,從理論上來講,只要數(shù)據(jù)一致,定時(shí)器B產(chǎn)生的PWM波一致,就不會(huì)存在這個(gè)問題,但是在實(shí)際測(cè)試中結(jié)果卻不如同理論分析結(jié)果。
在對(duì)機(jī)器人軟件設(shè)計(jì)上很多BUG沒有處理的很好,比如機(jī)器人在得到控制命令后會(huì)有誤操作的情況,這是由于控制命令發(fā)來后,由于數(shù)據(jù)量相對(duì)較大,就造成了誤判的產(chǎn)生。同時(shí)在舵機(jī)的設(shè)計(jì)上沒有很好的硬件設(shè)計(jì),有些時(shí)候給一個(gè)小幅度動(dòng)作信號(hào),但是手臂運(yùn)動(dòng)幅度很大。
評(píng)論