0010-智能機器人傳菜員行走機械結構的設計、控制及制作【全套21張CAD圖+PROE模型+文獻翻譯+說明書】
0010-智能機器人傳菜員行走機械結構的設計、控制及制作【全套21張CAD圖+PROE模型+文獻翻譯+說明書】,全套21張CAD圖+PROE模型+文獻翻譯+說明書,智能,機器人,傳菜員,行走,機械,結構,設計,控制,節(jié)制,制作,全套,21,cad,proe,模型,文獻,翻譯,說明書,仿單
1 導言
1.1 主題來源
隨著現(xiàn)代工業(yè)化進程的加快,機械自動化成為了社會的一種趨勢。在工業(yè)生產(chǎn)中已經(jīng)大量運用機器人完成生產(chǎn)線的加工與制造。隨著人們對生活中物質文化需求的增多,機器人也漸漸走入了人們的生活之中。尤其是在餐飲行業(yè),一款良好的送餐機器人可以良好的減緩企業(yè)用工的壓力。但現(xiàn)在的餐飲行業(yè)多是以人力進行工作及送餐,人流量大,工作強度高,對勞動人員的精神及體力無疑是一種嚴峻的考驗;對企業(yè)來說,即使花很高的價錢也很難留住勞動人員。但此類服務的技術含量相對較低,大量的雇傭勞動人員又會造成人才的不合理利用,人力資源造成不必要的浪費,而且雇傭人力還會存在著衛(wèi)生等隱患。
1.2 智能機器人傳菜員研究目的
如能開發(fā)一款以機器人代替人力進行送餐的機械設備,無疑可以減少企業(yè)的用工難,工作壓力大等問題,對于食品衛(wèi)生安全方面也會有進一步的保證。企業(yè)也可以避免長期花費高價雇傭服務員等費用,對企業(yè)來說又是一筆額外的收益。而且以機器人代替人力還會使餐廳成為亮點,吸引顧客,對企業(yè)的發(fā)展有著良好的市場前景。因此,送餐機器人將會成為未來餐飲行業(yè)的必然趨勢。
1.3 智能機器人傳菜員課題規(guī)劃
本課題在于不僅設計一款集機、液、電、傳感技術、自動控制一體化餐廳服務機器人,并按照設計完成制造全過程;該產(chǎn)品不僅要具有靈巧的機械行走結構,穩(wěn)定的液壓四自由度端盤機械手、還要具有清晰的軌跡識別/盤子定位抓取/障礙物識別避讓等多組傳感器、其程序控制上能具有餐桌識別能力的智能控制系統(tǒng)。完全代替人工實現(xiàn)尋找餐桌、識別該餐桌所需要的若干菜盤并將其端放到餐桌上的指定區(qū)域,菜品運送完畢后,能夠原地掉頭按照原來的軌跡路線返回到起點。
1.4 智能機器人傳菜員設計的意義及市場前景
智能機器人傳菜員可以完全代替人力在餐廳進行服務工作,對未來餐飲行業(yè)的運營形式有著深遠的影響,這將是使機器人進入人們生活所邁出的一大步,全智能的服務可以為顧客提供一個方便、快捷、衛(wèi)生的體驗,也會成為餐廳的一大賣點,更為經(jīng)營者省去了一大筆服務人員的雇傭費用。目前,擁有機器人服務的餐廳還比較少,這是一個蘊藏著商機的新興市場,在未來將會迅速的發(fā)展起來,成為一種潮流,也將預示著以機器人為主導的時代即將來臨。
2 課題設計任務書
2.1 課題名稱
智能機器人傳菜員行走機械結構的設計、控制及制作
2.2 設計任務
本題目主要任務是:完成該機械行走傳動方案的總體設計、液壓端盤機械手的液壓系統(tǒng)圖的設計、多組識別傳感器的總體設計、控制程序的框圖的總體設計、并完成按照上述設計工程圖紙完成元器件制作(采購)、系統(tǒng)總體裝配、調試等全部過程。還要負責全部參賽全過程的組織協(xié)調。根據(jù)以上描述,可以知道該題目屬于真正的全面設計、制作、調試聯(lián)合完成的真題真做類型課題。是對畢業(yè)生一種難得的鍛煉和挑戰(zhàn)。
2.3 設計要求
對該機械結構進行總體方案的設計、并著重設計機器人行走機械結構以及端盤機械手的液壓系統(tǒng)結構,對其控制結構的總體控制方式進行框架結構的設計。具體如下:
1) 主要根據(jù)總體方案圖,完成繪制系統(tǒng)裝配圖,并依裝配圖繪制全套零件圖
2) 輔助完成依據(jù)液壓系統(tǒng)圖,對液壓系統(tǒng)進行制作的過程。
3) 輔助完成三組傳感器安排和設計。
4) 主要完成該機器人控制程序設計框圖。并輔助編制控制程序
5) 輔助完成根據(jù)設計圖紙監(jiān)控該機器人制造全過程。并實施裝配
6) 輔助完成對機器人/傳感器和控制程序的運動調試。
3 工作原理與制作過程
3.1 概述
智能機器人傳菜員的整體由三大部分組成,即機械系統(tǒng)、液壓系統(tǒng)、控制系統(tǒng)??刂葡到y(tǒng)可以實現(xiàn)對輪子轉向、前進、停止以及液壓系統(tǒng)的控制,實現(xiàn)對盤子的抓取??刂葡到y(tǒng)還設有紅外遙控程序,當機器人的電源接通時,利用遙控器輸入相應的桌號,機器人便會啟動到達相應的桌位實現(xiàn)送餐過程。機器人的行走部分是通過機械系統(tǒng)實現(xiàn)的,機械系統(tǒng)由一個驅動輪、直流電機、步進電機、灰度傳感器組成,為了使該機器人結構簡單,動作靈活,利用其機器人特有的獨輪結構實現(xiàn)輪子的直線行走及轉彎,結構簡單靈活;在其外殼四周加裝了四個輔助萬向腳輪,保證它無論向何方運動都能穩(wěn)定。大輪子由為電機配重的大齒輪固定,步進電機被固定在小齒輪支架圈上,大齒輪底部裝有排在一排的八個灰度傳感器。機器人循跡的軌跡為黑色線條,利用傳感器對黑線的檢測來控制機器人的行走方向,當機器人偏離軌道時,外側的傳感器會檢測到黑線,根據(jù)傳感器位置的不同,傳感器將信號發(fā)送到控制系統(tǒng),由控制系統(tǒng)的單片機對機器人進行糾偏。這時,輪子會向反方向轉偏離的角度,使大輪子會的軌跡的正中央,在八個傳感器的前方另裝有一個傳感器,當機器人總到指定桌位時,九個傳感器同時檢測到黑線,機器人停止行走,執(zhí)行抓盤子程序。此時手爪張開,步進電機以大輪子中軸線為中心進行旋轉,機械手執(zhí)行找盤子動作,手爪中心裝有紅外線傳感器,盤子放置的高度高于臺面,當傳感器正對于臺面時,傳感器的檢測距離小于臺面,不能檢測到物體,繼續(xù)旋轉。一旦傳感器轉到盤子下面時,手抓回轉到盤子中心位置,此時液壓系統(tǒng)啟動。液壓鋼的運動是通過控制系統(tǒng)的單片機控制繼電器的吸合與斷開控制的,再通過與繼電器相連的電磁換向閥來控制液壓缸的伸長與收縮。豎直液壓缸由最高點下降至距離盤子一定高度后停止。此時手爪缸收縮,機械手抓取盤子。抓完盤子后液壓缸轉回到初始位置,水平液壓缸伸長,豎直缸下降,當盤底與桌子相接觸的時候,機械手張開,盤子放到桌子上。之后機械手收回,液壓系統(tǒng)恢復初始狀態(tài)。繼續(xù)執(zhí)行抓盤子過程,餐臺共有四個盤子,當機械手依次抓完盤子以后,端菜過程結束。步進電機掉頭旋轉180度,直線電機啟動,原路返回。機器人裝有避障裝置,當前方遇到障礙物時,機器人會自動停止行走,以免撞到障礙。障礙物撤離后,直流電機又會啟動,繼續(xù)前行,返回路徑初始位置,實現(xiàn)了送餐的全智能化。
3.2 工作原理
智能機器人傳菜員在工作前應當在所要操作空間的地面上粘貼或制作寬度為45mm的寬條線作為其循跡的導引線,其餐廳相應布置如圖1。因黑色對于光的吸收最為明顯,白色對光的吸收最弱,所以建議將軌跡鋪成黑色,地面為白色效果最佳。該機器人的供電選用兩塊串聯(lián)的12V、12Ah鋰電池,步進電機接24V電,直流電機接12V電。導引線貼好后,將充滿電的機器人放在導引線的起點位置,并調整好大齒輪下表面一排的八個灰度傳感器的寬度位置,使左右兩邊最靠近輪子的傳感器分別位于寬條導引線的內(nèi)側邊緣處,打開電源進入待操作狀態(tài),將盛好菜肴的四個盤子放到餐臺上,利用遙控器對送餐機器人輸入需要送達的桌號,再按下確認鍵,步進電機和直流電機啟動,驅動該智能機器人傳菜員沿導引線運動,其間大齒輪下表面上的灰度傳感器分別拾取導引線的兩個邊緣,當其他相鄰的兩個灰度傳感器進入導引線時,說明機器人偏離了運行軌道,傳感器會將信號傳送給單片機,此時單片機會根據(jù)傳感器的相對位置進行反方向的糾偏,由步進電機連接的小齒輪發(fā)生旋轉,帶動中間的大齒輪以及固定在大齒輪上的輪子發(fā)生旋轉,使兩邊靠近輪子的傳感器回到導引線內(nèi)部,輪子能夠沿著正確的軌跡前進。如此不斷自動修正,保持沿導引線正確的運動(單片機程序中應含有“防抖動”程序,即用以減少或避免機器人在不斷糾偏不斷來回抖動中蛇形前進)。當其抵達某軌跡的岔口時,輪子一側的四個傳感器就會同時檢測到信號,發(fā)出一個信號給單片機,單片機對此信號給以計數(shù),并判斷執(zhí)行轉90度彎或是繼續(xù)前進。當達到了設定的目的地坐標數(shù)值后,單片機發(fā)出轉彎角度指令使輸送機器人按指令沿導引線轉彎送達某目的地坐標地點。在坐標地點貼有相對較寬的黑的區(qū)域。當一排的八個灰度傳感器同時檢測到黑色時,直流電機停止運動,機器人停在坐標地點,驅動大輪的正前方另裝有第九個灰度傳感器,當這九個傳感器同時檢測到黑色時,控制系統(tǒng)會發(fā)出信號使總繼電器吸合,液壓系統(tǒng)進入待工作狀態(tài),控制液壓泵的電機啟動,液壓泵開始工作。液壓缸的每個行程分別由6個分繼電器控制,每一個分繼電器與電磁換向閥的一端相連,繼電器控制液壓缸在一個方向上的運動與停止,電磁閥用來控制液壓缸的伸長與收縮。機械手先執(zhí)行找盤子過程,手爪缸伸長,機械手張開,因為機器人的餐臺在運動過程中受大齒輪的影響自身會發(fā)生旋轉,所以此過程分為兩種情況:(1)機器人停在目標位置時,要抓取的第一個盤子正好在機械手中心紅外線傳感器的監(jiān)測范圍內(nèi)時,機械手順時針旋轉到盤子的邊緣,當檢測信號消失時,機械手逆時針旋轉到盤子中心(從盤子邊緣到盤子中心是通過延時來控制的),執(zhí)行抓盤子動作。(2)機器人停在目標位置時,要抓取的第一個盤子不在機械手中心紅外線傳感器的監(jiān)測范圍內(nèi)時,機械手順時針旋轉到盤子的邊緣,當紅外線傳感器檢測到盤子時,單片機啟動延時程序,轉到盤子中心,執(zhí)行抓盤子動作。抓盤子時,控制豎直缸下降的繼電器與換向閥啟動,單片機通過延時是機械手下降到抓取盤子的高度,控制豎直缸下降的繼電器與換向閥斷開,控制手爪缸收縮的繼電器與換向閥啟動,對盤子進行抓取。抓住盤子后,控制手爪缸收縮的繼電器與換向閥斷開,控制豎直缸上升的繼電器與換向閥啟動,液壓缸上升到最高點,控制豎直缸上升的繼電器與換向閥斷開,控制水平缸伸長的繼電器與換向閥啟動,水平缸伸到最長,控制水平缸伸長的繼電器與換向閥斷開,控制豎直缸下降的繼電器與換向閥啟動,當豎直缸下降到盤子底部與餐桌接觸時,控制豎直缸下降的繼電器與換向閥斷開,控制手爪缸伸長的繼電器與換向閥啟動,機械手張開,盤子被放到餐桌上??刂曝Q直缸上升的繼電器與換向閥啟動,液壓缸上升到最高點,控制豎直缸上升的繼電器與換向閥斷開,控制水平缸收縮的繼電器與換向閥啟動,水平缸收縮至最短,自此完成一次端菜過程。在抓取第二、三、四個盤子時,首先會執(zhí)行找盤子程序中的情況(2),然后按端菜程序依次將盤子送至餐桌。當完成第四個端菜過程后,控制手爪缸收縮的繼電器與換向閥啟動,機械手閉合,表示端菜過程結束??刂埔簤罕玫碾姍C停止運轉,液壓系統(tǒng)完成工作。步進電機帶動大齒輪中間的大輪子旋轉180度。機器人原路返回至導引線起點位置,機器人送餐完畢。當餐臺上初始的盤子數(shù)量小于四個時,機械手抓完最后一個盤子,會順時針旋轉0度,如在其過程中紅外線傳感器并未檢測到盤子,控制系統(tǒng)結束端菜過程,控制手爪缸收縮的繼電器與換向閥啟動,機械手閉合,步進電機帶動大齒輪中間的大輪子旋轉180度。機器人原路返回至導引線起點位置,機器人送餐完畢。由于液壓缸的缸桿為圓柱體,故在其軸向伸縮的同時會伴隨著軸向的旋轉,因此在水平缸與豎直缸的缸體與缸桿之間安裝有導向架,以防止因軸向旋轉而使運動軌跡偏離預定目標。在水平桿的導向架最前端裝有紅外線避障傳感器,其檢測距離為10cm,當機器人在運動過程中遇到前方有障礙物時,避障傳感器將接收到信號發(fā)送給單片機,單片機發(fā)出指令,直流電機停止運動,機器人停在原地不動;當將障礙物移開后,單片機發(fā)出指令,直流電機繼續(xù)工作,機器人開始運動。此設計可以有效的避免機器人在送餐過程中撞倒行人,為顧客和機器人提供了安全保障。
圖1
3.3 行走部分機構的設計及控制
行走部分主要采用自行設計的獨輪機構,通過直流電機驅動前進,獨輪通過爪型固定架,安裝在從動轉向輪中心。在機箱底部均布有四個萬向腳輪,是機器人在行走時能夠保持平衡。轉向部分通過與步進電機直接相連的轉向齒輪控制,大齒輪與三個小齒輪相嚙合,通過42兩相四拍步進電機對其實現(xiàn)精確地轉向控制。
圖2 圖3
圖4 圖5
3.4 液壓控制系統(tǒng)的設計
本液壓系統(tǒng)設定壓力為0.8MPa,大臂升降A缸選用內(nèi)徑40行程320mm ,安裝方式后法蘭安裝。水平伸縮缸B采用內(nèi)徑32,行程220mm??刂剖肿埡细證內(nèi)徑25行程100mm。泵選用型號:CB-B4,流量1.8L/min,齒輪泵,壓力2.5MPA 轉速1450 n/min,電機采用24V 直流電機其功率0.13KW ,電流5.2A,轉速1500 n/min。油管管徑采用6mm,郵箱油量5.4L電磁閥采用三位四通,通徑4,通量6L/min如圖7。其原理圖如圖6,液壓缸之間的鏈接如圖8。
圖6
圖7
圖8
3.5 三組傳感器的布局及功能
3.5.1行走部分傳感器
行走控制系統(tǒng)通過固定于從動大齒輪底面的9個PH6002A光耦傳感器實現(xiàn)循跡的糾偏、轉彎、桌定位及掉頭。其排布左右各四個,正前方一個,利用黑色吸光性強的原理,將光耦輸出模擬信號通過LM339四相電壓比較器轉換為數(shù)字信號輸出到單片機上。單片機通過脈沖信號實現(xiàn)對步進電機不同轉角的控制。如圖9
圖9
在行走,轉彎時主要依靠左右四個傳感器不同的返回值,控制步進電機的轉角,實現(xiàn)糾偏,轉彎。其糾偏狀態(tài)如表1所示:
L4
L3
L2
L1
R1
R2
R3
R4
狀態(tài)
1
1
1
0
1
1
1
1
微左偏
1
1
0
0
1
1
1
1
稍微左偏
1
1
0
1
1
1
1
1
稍左偏
1
0
0
1
1
1
1
1
稍左偏
1
0
1
1
1
1
1
1
左偏
0
0
1
1
1
1
1
1
為嚴重左偏
0
1
1
1
1
1
1
1
嚴重左偏
1
1
1
1
0
1
1
1
微右偏
1
1
1
1
0
0
1
1
稍微右偏
1
1
1
1
1
0
1
1
稍右偏
1
1
1
1
1
0
0
1
稍右偏
1
1
1
1
1
1
0
1
右偏
1
1
1
1
1
1
0
0
微嚴重右偏
1
1
1
1
1
1
1
0
嚴重右偏
表1
3.5.2避障傳感器
避障傳感器將其安排在水平缸的前端如圖10,位于小導向架的頂部,此位置也是機器人整體的最前端,其檢測距離為20cm。當機器人運行時,如前方遇到障礙物,傳感器跳轉至低電平觸發(fā),信號反饋到單片機,單片機發(fā)出停止前進的指令。此功能可防止機器人運行時撞到顧客,發(fā)生意外事故。
圖10
3.5.3 盤子定位傳感器
盤子定位傳感器布置在機械手的軸套內(nèi)部,其內(nèi)部設置了凹槽,便于傳感器的安放,盤子定位主要通過光電開關進行定位并確定盤子中心進行端菜過程。如圖11
圖11
3.6 機器人整體程序的設計框圖及編寫
初始化,首先通過單片機(MCU)對液晶屏及紅外接收初始化清零,遙控器輸入設定桌號,經(jīng)紅外接收頭將信號輸入到MCU中,并顯示在液晶屏上。同上述所述,用遙控器啟動機器人。單片機整體控制如圖12。
圖12
機器人啟動以后,機器人開始沿著黑色膠帶鋪設好的軌跡行走。循跡主要依托于對稱排布與機器人底部的八個循跡傳感器,其排布左右各四個。不同位置不同數(shù)目的循跡傳感器檢測到黑線具有不同的返回值,其將電信號轉換成數(shù)字信號輸入到上述MCU中。上述MCU根據(jù)上述不同的返回值,利用步進電機驅動器控制步進電機相應的轉角來保證機器人沿著黑線中心行走。如圖13
遙控器輸入相應餐桌位置
遙控器輸入啟動
步進電機繼電器置1
直流電機置0
步進電機糾偏
直流電機轉動
打開總電源
液晶屏顯示
圖13
當上述循跡傳感器有一側四個循跡傳感器同時檢測到時,如果是輸入行號或列號,機器人執(zhí)行90度轉外。否則上述MCU只進行計數(shù)。
為保證機器人到達桌位能夠停下來,在機器人底盤加設第九個循跡傳感器。當九個同時檢測到黑線時,機器人到達指定桌位。如圖14
機器人啟動
傳感器返回值是否為0FFFF
步進電機轉一定的角度糾偏
NO
行號t+1
液晶屏顯示
t是否等于餐桌列號
小于
r=t-行號
大于
r是否等于行號
YES
YES
直流電機繼電器置1
獨輪轉相應方向的90°
置0
YES
小于
圖14
在機器人到達指定桌位以后,直流電機繼電器斷開,機器人停止行走。液壓電機繼電器打開,液壓泵開始工作。
液壓機械手通過六個繼電器模塊控制電磁閥依次動作保證液壓機械手的整個動作。
為保證機械手能準確抓到盤子,在機械手上設有紅外定位傳感器。如果菜盤位于上述液壓機械手下方,現(xiàn)尋找中心在抓取菜盤。然后再依次抓取所有的盤子。如果盤子不在機械手下方,則先尋找盤子,在定位抓取。機械手尋找盤子旋轉由步進電機控制,如圖15。機械手動作順序如表2。
到達指定桌位
液壓泵繼電器
置0
手爪
張開
是否有盤子
步進電機旋轉
步進電機旋轉
是否有盤子
步進電機旋轉30°
是否有盤子
步進電機旋轉30°
機械手送菜
獨輪是否已轉360°
置1
No
YES
No
YES
YES
No
No
YES
圖15
動作順序
YA1
YA2
YA3
YA4
YA6
YA7
YA8
YA9
YA10
YA11
YA12
YA13
電機啟動
+
手抓張開
+
+
手臂下降
+
+
手抓抓取盤子
+
+
手臂上升
+
+
手臂前伸
+
+
手臂下降
+
+
手抓張開
+
+
手臂上升
+
+
手抓收合
+
+
泵卸載
表2
當所有盤子都抓取結束時,機器人通過步進電機控制180度掉頭。
回函數(shù)主要控制其按原路返回。如果有一側四個循跡傳感器同時檢測到黑線時機器人90度轉彎。但第一測到機器人轉彎但不計數(shù)。如圖16。
送餐結束
獨輪旋轉180°
直流電機
傳感器狀態(tài)返回值
步進電機轉一定角度
X+1
Y是否等于餐桌列號
液晶顯示
Y=X-行號
是否為輸入行號
獨輪轉90°
一側4個
檢測到
X=1
X>1
大于
NO
YES
NO
YES
置0
偏離
圖16
在整個全過程中如果避障傳感器測到障礙物,上述繼電器模塊直流電機繼電器立即斷開,機器人停止行走,待障礙物移開時機器人可繼續(xù)行走。如圖17。
輸入餐桌號并啟動機器人
前進函數(shù)
前進函數(shù)
前進函數(shù)
系統(tǒng)停止工作
是否有障礙
有障礙物
有障礙物
有障礙物
有障礙物
無障礙物
無障礙物
無障礙物
YES
NO
NO
NO
NO
圖17
機器人整體程序如下:
/****************************************************************/
/****************************************************************/
/*主控芯片 :STC89C52 */
/* 步進電機啟停設有加減速。正常10kHZ , 減速5kHZ */
/***************************************************************/
/* 紅外遙控器控制 :1、控制步進(綠)和直流(藍)電機啟動 */
/*(液晶配合顯示) 2、數(shù)字按鍵:確定餐桌序號 */
/*此程序是針對uPD6121系列遙控器的取碼程序,解碼值在Im[2]中,當IrOK=1時解碼有效*/
/***************************************************************/
/*機械手控制:電磁閥繼電器:0--開(燈亮),1--閉合
50
/*****************************/
/*****************************/
#include < reg52.h >
#include < intrins.h >
//#include"inf-test.h"
/**********函數(shù)聲明***********/
#define uint unsigned int
#define uchar unsigned char
/******糾偏部分*******/
void delayms(uint x);
void jiupian();
void motor_bj_left();
void motor_bj_right();
void time2_init();
void maichong();
void speed();
void goahead();
void comeback();
/******避障部分*******/
void bizhang();
/******紅外控制部分******/
//sfr P2M0 = 0X96;
//sfr P2M1 = 0X95;
#define uchar unsigned char
#define Imax 14000
#define Imin 8000
#define Inum1 1450
#define Inum2 700
#define Inum3 3000
void init_inf();
void control();
void site();
void inf_address();
/******lcd顯示部分******/
void delay1(uint x);
void write_com(uchar com);
void write_data(uchar dat);
void init();
/******機械手部分*******/
void fa_cz_up_zhua();
void fa_cz_down_zhua();
void fa_cz_up_fang();
void fa_cz_down_fang();
void fa_sp_shen();
void fa_sp_suo();
void fa_hand_jiance();
void fa_hand_fang();
void fa_hand_zhua();
void fa_hand_init();
void hand_start();
void find();
void find_1();
void find_2();
void qucai();
void hand_stop();
void goback();
void jixieshou();
/*********位定義************/
/******糾偏部分*******/
sbit PWM1=P2^0;
sbit PWM2=P2^1;
sbit graysensor_1=P2^3;
/******避障部分*******/
sbit zhangai=P3^0;
/******機械手部分*******/
sbit fa_cz1=P0^0;
sbit fa_cz2=P0^2;
sbit fa_sp1=P0^3;
sbit fa_sp2=P0^4;
sbit fa_hand1=P0^5;
sbit fa_hand2=P0^6;
sbit JXS_ZKG=P2^4;
sbit handsingle=P3^3;
/******紅外控制部分******/
sbit Relay = P2^5 ;
sbit hongwai=P3^2;
sbit Relay_bj=P2^2;
/******定義變量和數(shù)組*******/
/******糾偏部分*******/
unsigned long int i=0;
unsigned long int n;
unsigned long int count1;
unsigned long int count2;
uint time;
uchar graysensor;
uchar k=0;
//sfr T2MOD=0xc9;
/******機械手部分*******/
unsigned long int c;
uchar d=0;
uchar h=0;
uchar l=0;
uchar aa=0;
uchar bb=0;
/******紅外控制部分******/
uchar Im[4] = {0x00,0x00,0x00,0x00};
uchar show[2]={0,0};
uchar f;
uchar IrOK;
unsigned long Tc;
unsigned long m;
uchar t=0;
uchar r;
uchar s;
static uchar u;
static uchar v;
/******lcd顯示部分******/
uchar code table_num1[]={11,12,21,22};
uchar code table_num2[]={11,12,13,21,22,23,31,32,33};
uchar code table1[]="0123456789";
uchar code xuyan1[]="welcome to R&R";
uchar code xuyan2[]="REBOT RESTAURANT";
sbit rs=P3^5;
sbit lcden=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
/*此程序是針對uPD6121系列遙控器的取碼程序,解碼值在Im[2]中,當IrOK=1時解碼有效*/
/*****************************/
/* 紅外遙控器控制 */
/*****************************/
void init_inf()
{
m = 0;
f = 0;
EA = 1;
IT0 = 1;
EX0 = 1;
TMOD = 0x11;
TH0 = 0;
TL0 = 0;
TR0 = 1;
}
/*****外部中斷解碼程序******/
void intersvr0(void) interrupt 0 using 1
{
Tc = TH0 * 256 + TL0;
TH0 = 0;
TL0 = 0;
if((Tc > Imin) && (Tc < Imax))
{
m = 0;
f = 1;
return;
}
if(f == 1)
{
if(Tc > Inum1 && Tc < Inum3)
{
Im[m / 8] = Im[m / 8] >> 1 | 0x80;
m++;
}
if(Tc > Inum2 && Tc < Inum1)
{
Im[m / 8] = Im[m / 8] >> 1;
m++;
}
if(m == 32)
{
m = 0;
f = 0;
if(Im[2] ==~ Im[3])
{
IrOK =1 ;
}
else
{
IrOK = 0;
}
}
}
}
/***紅外接收處理函數(shù)與顯示***/
void delay1(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=10;b>0;b--);
}
void write_com(uchar com)
{
P0=com;
rs=0;
lcden=0;
delay1(10);
lcden=1;
delay1(10);
lcden=0;
}
void write_data(uchar dat)
{
P0=dat;
rs=1;
lcden=0;
delay1(10);
lcden=1;
delay1(10);
lcden=0;
}
void init()
{
dula=0;
wela=0;
write_com(0x38);
delay1(20);
write_com(0x0f);
delay1(20);
write_com(0x06);
delay1(20);
write_com(0x01);
delay1(20);
}
void lcd()
{
uchar e;
write_com(0x80+17);
delay1(20);
for(e=0;e<14;e++)
{
write_data(xuyan1[e]);
delay1(20);
}
write_com(0xc0+17);
delay1(50);
for(e=0;e<16;e++)
{
write_data(xuyan2[e]);
delay1(40);
}
}
/*指定位置*/
void site()
{
u=(s/10);
v=(s%10);
}
void inf_address()
{
if(IrOK == 1)
{
switch(Im[2])
{
case 0x0c:
s=table_num1[0];
write_data(table1[1]);
break;
case 0x18:
s=table_num1[1];
write_data(table1[2]);
break;
case 0x5e:
s=table_num1[2];
write_data(table1[3]);
break;
case 0x08:
s=table_num1[3];
write_data(table1[4]);
break;
case 0x1c:
s=table_num2[4];
write_data(table1[5]);
break;
case 0x5a:
s=table_num2[5];
write_data(table1[6]);
break;
case 0x42:
s=table_num2[6];
write_data(table1[7]);
break;
case 0x52:
s=table_num2[7];
write_data(table1[8]);
break;
case 0x4a:
s=table_num2[8];
write_data(table1[9]);
break;
case 0x43:
Relay =~ Relay;
write_data(table1[0]);
k=1;
break;
case 0x40:
Relay_bj=~Relay_bj;
write_data(table1[0]);
break;
}
IrOK = 0;
}
site();
}
void control(void)
{
while(k==0)
{
inf_address();
}
while((k==1)&&(aa==0))
{
jiupian();
}
}
void init_kg()
{
JXS_ZKG=1;
Relay=1;
Relay_bj=0;
}
/**************************/
/*機械手程序 */
/**************************/
void fa_cz_up_zhua()
{
fa_cz1=0;
delayms(8400); //6400
fa_cz1=1;
delayms(1);
}
void fa_cz_down_zhua()
{
fa_cz2=0;
delayms(6200); //7200 8800 6200
fa_cz2=1;
delayms(1);
}
void fa_cz_up_fang()
{
fa_cz1=0;
delayms(8400);
fa_cz1=1;
delayms(1);
}
void fa_cz_down_fang()
{
fa_cz2=0;
delayms(6700); //4700
fa_cz2=1;
delayms(1);
}
void fa_sp_shen()
{
fa_sp1=0;
delayms(6000); //4700
fa_sp1=1;
delayms(1);
}
void fa_sp_suo()
{
fa_sp2=0;
delayms(7500);
fa_sp2=1;
delayms(1);
}
/*手部行程:從完全收縮到完全伸出-----機械手呈現(xiàn):抓-張-抓(此處只用到上半行程*/
void fa_hand_jiance()
{
fa_hand1=0;
delayms(1600); //1700
fa_hand1=1;
delayms(1);
}
void fa_hand_init()
{
fa_hand2=0;
delayms(2700);
fa_hand2=1;
delayms(1);
}
void fa_hand_fang()
{
fa_hand1=0;
delayms(1100);
fa_hand1=1;
delayms(2000);
}
void fa_hand_zhua()
{
fa_hand2=0;
delayms(1600); //1650
fa_hand2=1;
delayms(2000);
}
void qucai()
{
i=0;
d++;
fa_cz_down_zhua();
fa_hand_zhua();
fa_cz_up_zhua();
delayms(500);
if(bb==0)
{
n=c;
motor_bj_left();
i=0;
}
delayms(500);
if(i==0)
{
fa_sp_shen();
fa_cz_down_fang();
fa_hand_fang();
fa_cz_up_fang();
fa_sp_suo();
}
EX1=1;
h=d;
bb=0;
}
void fand_1()
{
uint g=0;
while(handsingle==0)
{
n=1;
motor_bj_right();
g++;
}
if(handsingle==1)
{
bb=1;
if((g>155)||(g=155))
c=g-155;
else c=155-g;
delayms(500);
n=0;
count2=20;
n=170;
motor_bj_left();
qucai();
}
}
void find_2()
{
n=2560;
motor_bj_right();
if(handsingle==0)
{
EX1=1;
n=155;
motor_bj_right();
delayms(500);
if(handsingle==0)
{
qucai();
}
else
{
EX1=1;
n=(2560-c);
motor_bj_right();
}
}
}
void intersvr1() interrupt 2
{
c=i+155;
n=0;
count2=20;
EX1=0;
delayms(20);
}
void find()
{
EX1=0;
if((handsingle==0)&&(d==0))
{
EX1=0;
fand_1();
}
else
{
bb=0;
find_2();
}
}
void hand_start()
{
Relay=1;
aa=1;
n=0;
i=0;
count2=20;
EA=0;
P0=0xff;
delayms(1000);
JXS_ZKG=0;
delayms(1000);
}
void hand_stop()
{
fa_hand_init();
JXS_ZKG=1;
EX1=0;
if(h==4)
{
n=1400;
motor_bj_right();
delayms(65);
}
else
{
n=1720;
motor_bj_right();
delayms(2000);
}
EA=1;
n=0;
i=0;
count2=20;
Relay=0;
r=0;
t=0;
aa=0;
}
void jixieshou()
{
hand_start();
delayms(1000);
fa_hand_jiance();
delayms(500);
EA=1;
EX1=1;
IT1=0;
while((d!=4)&&(i<2500))
{
find();
}
if((h==4)||(i>=2500))
{
hand_stop();
}
}
/**************************/
/*糾偏程序 */
/*****************************/
void delayms(uint x)
{
uint y;
for(x;x>0;x--)
for(y=110;y>0;y--);
}
void jiupian()
{
graysensor=P1;
switch(graysensor)
{
case 0xfe:
n=321 ;
motor_bj_right();
break;
case 0x7f:
n=311;
motor_bj_left();
break;
case 0xfc:
n=243;
motor_bj_right();
break;
case 0x3f:
n=233;
motor_bj_left();
break;
case 0xf4:
n=204;
motor_bj_right();
break;
case 0x1f:
n=194;
motor_bj_left();
break;
case 0xfd:
n=204;
motor_bj_right();
break;
case 0xbf:
n=194;
motor_bj_left();
break;
case 0xf9:
n=170;
motor_bj_right();
break;
case 0x9f:
n=155;
motor_bj_left();
break;
case 0xfb:
n=126;
motor_bj_right();
break;
收藏
資源目錄
編號:1109810
類型:共享資源
大?。?span id="00mce8y" class="font-tahoma">29.45MB
格式:RAR
上傳時間:2019-10-07
35
積分
- 關 鍵 詞:
-
全套21張CAD圖+PROE模型+文獻翻譯+說明書
智能
機器人
傳菜員
行走
機械
結構
設計
控制
節(jié)制
制作
全套
21
cad
proe
模型
文獻
翻譯
說明書
仿單
- 資源描述:
-
0010-智能機器人傳菜員行走機械結構的設計、控制及制作【全套21張CAD圖+PROE模型+文獻翻譯+說明書】,全套21張CAD圖+PROE模型+文獻翻譯+說明書,智能,機器人,傳菜員,行走,機械,結構,設計,控制,節(jié)制,制作,全套,21,cad,proe,模型,文獻,翻譯,說明書,仿單
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。