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