




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章
緒論1.1引言1.2機(jī)器人的分類1.3人類智能1.4模仿人類智能的機(jī)器人1.5機(jī)器人綜合項(xiàng)目平臺(tái)實(shí)例
1.1引言
“機(jī)器人”在現(xiàn)代人們的腦海里早已不是什么新鮮事物了?,F(xiàn)在無論成年人還是兒童都經(jīng)常接觸到機(jī)器人這個(gè)概念,比如20世紀(jì)80年代日本動(dòng)畫片《鐵臂阿童木》中的機(jī)器少年阿童木,就給我們留下了深刻的印象。他智慧勇敢,成為了當(dāng)時(shí)的時(shí)代英雄,少年兒童的偶像。讀過科幻巨匠艾薩克·阿西莫夫《機(jī)器人》系列科幻作品的同學(xué),想必對強(qiáng)大的機(jī)器人R·丹尼爾·奧利瓦印象深刻。
機(jī)器人在汽車制造業(yè)、電子制造業(yè)等領(lǐng)域,已經(jīng)成為支柱技術(shù)而被廣泛使用。智能機(jī)器人成為制造領(lǐng)域中具有代表意義的前沿、共性技術(shù),正在引領(lǐng)制造業(yè)中相關(guān)技術(shù)的飛速發(fā)展。從古至今,人類就一直對未知領(lǐng)域的探索充滿興趣,如對月亮的憧憬,對太空的好奇,對大海的敬畏以及對地藏的渴求等。而由于人類的活動(dòng)能力有限,所以希望能研究出各種智能機(jī)器來代替人去完成人類不能完成的任務(wù)。
眾所周知,成熟的機(jī)器人技術(shù)產(chǎn)品越來越受到用戶的追捧和成為時(shí)尚家庭的標(biāo)配,比如大量的玩具機(jī)器人和服務(wù)機(jī)器人已經(jīng)推向市場,并取得了良好的效益,例如Wowwee.Inc推出的Robosapien機(jī)器人,國內(nèi)推出的清掃機(jī)器人等。當(dāng)前,高校、研究機(jī)構(gòu)乃至企業(yè),來自各方面的研究人員不斷進(jìn)入機(jī)器人的研究領(lǐng)域,可以說智能機(jī)器人的研究已經(jīng)處于一個(gè)由前沿探索轉(zhuǎn)向產(chǎn)業(yè)化、實(shí)用化的關(guān)鍵時(shí)期。
圖1.1所示為我校北京市卓越聯(lián)盟實(shí)驗(yàn)室機(jī)器人教學(xué)中日常部分創(chuàng)新活動(dòng)的場景,有與中小學(xué)共同開展的機(jī)器人科普教育活動(dòng),有機(jī)器人工程及技術(shù)競賽交流研究活動(dòng),如足球機(jī)器人訓(xùn)練活動(dòng)、武術(shù)擂臺(tái)機(jī)器人演示活動(dòng)以及機(jī)器人智能算法系列專家講座等相關(guān)技術(shù)實(shí)踐活動(dòng)。圖1.1北京市卓越聯(lián)盟實(shí)驗(yàn)室機(jī)器人日常創(chuàng)新活動(dòng)部分場景
機(jī)器人技術(shù)建立在多學(xué)科發(fā)展的基礎(chǔ)之上,具有應(yīng)用領(lǐng)域廣、技術(shù)新、學(xué)科綜合與交叉性強(qiáng)等特點(diǎn)。傳統(tǒng)的機(jī)器人技術(shù)涉及機(jī)械、電子、自動(dòng)控制等學(xué)科;現(xiàn)代機(jī)器人技術(shù)綜合了廣泛的學(xué)科和技術(shù)領(lǐng)域,如計(jì)算機(jī)技術(shù)、仿生學(xué)、生物工程、人工智能、材料、結(jié)構(gòu)、微機(jī)械、信息工程、遙感等。而滿足太空探索和國家安全需求的機(jī)器人,可攜帶武器在戰(zhàn)場上替代士兵的軍用地面移動(dòng)機(jī)器人,以及可自主移動(dòng)車輛等廣義的機(jī)器人,已經(jīng)在發(fā)達(dá)國家進(jìn)入軍隊(duì)或其他實(shí)用領(lǐng)域。
機(jī)器人應(yīng)用的發(fā)展已處于關(guān)鍵階段,各種各樣的機(jī)器人不但已經(jīng)成為現(xiàn)代高科技的應(yīng)用載體,而且自身也迅速發(fā)展成為一個(gè)相對獨(dú)立的研究與交叉技術(shù)領(lǐng)域,形成了特有的理論研究和學(xué)術(shù)發(fā)展方向,具有鮮明的學(xué)科特色。可以預(yù)見,機(jī)器人技術(shù)將會(huì)滲透到我們未來生活的方方面面。而且,從瞬息萬變的社會(huì)發(fā)展中我們已經(jīng)可以切身地感受到,機(jī)器人的時(shí)代已悄悄來臨。
1.2機(jī)器人的分類
一般認(rèn)為,機(jī)器人是一種自動(dòng)化的機(jī)器。與普通的自動(dòng)化機(jī)器有所不同的是,所謂機(jī)器人,必定具備一些與人或生物相似的智能能力,如感知能力、規(guī)劃能力、動(dòng)作能力和協(xié)同能力。所以,機(jī)器人與普通機(jī)器的最主要區(qū)別是機(jī)器人具有人或生物的某些智能能力,如看到墻壁可以躲開,可以尋找設(shè)定目標(biāo),與外界交流等。中國科學(xué)家之所以把ROBOT意譯為“機(jī)器人”,而不是“智能機(jī)器”,以上說明也可能是其中的原因之一吧。
我們可以從不同的角度對智能機(jī)器人進(jìn)行分類,如機(jī)器人的控制方式、信息輸入方式、結(jié)構(gòu)形式、移動(dòng)方式、智能程度、用途等。
1)?按照機(jī)器人的控制方式分類
按照控制方式,可以把機(jī)器人分為非伺服機(jī)器人和伺服控制機(jī)器人兩種類型。其中,伺服控制機(jī)器人又可分為點(diǎn)位伺服控制和連續(xù)路徑(軌跡)伺服控制兩種類型;非伺服機(jī)器人有遙控型機(jī)器人、程控型機(jī)器人、示教再現(xiàn)型機(jī)器人等。
2)?按照機(jī)器人的運(yùn)動(dòng)方式分類
按照運(yùn)動(dòng)方式,可以把機(jī)器人分為固定式機(jī)器人、輪式機(jī)器人、履帶式機(jī)器人、足式機(jī)器人、固定機(jī)翼式機(jī)器人、撲翼式機(jī)器人、內(nèi)驅(qū)動(dòng)式機(jī)器人、混合式機(jī)器人等。
3)?按照機(jī)器人的智能程度分類
按照機(jī)器人的智能程度分類,可以分為如下兩種:
(1)?一般機(jī)器人,不具有智能,只具有一般編程能力和操作功能。
(2)?智能機(jī)器人,具有不同程度的智能,又可分為傳感型機(jī)器人、
交互型機(jī)器人、
自主型機(jī)器人。
4)?按照機(jī)器人的用途分類
按照機(jī)器人的用途分類,可以分為如下四種:
(1)?工業(yè)機(jī)器人或產(chǎn)業(yè)機(jī)器人,應(yīng)用在工農(nóng)業(yè)生產(chǎn)中,主要應(yīng)用在制造業(yè)部門,進(jìn)行焊接、噴漆、裝配、搬運(yùn)、檢驗(yàn)、農(nóng)產(chǎn)品加工等作業(yè)。
(2)?探索機(jī)器人,用于進(jìn)行太空和海洋探索,也可用于地面和地下探險(xiǎn)、探索。
(3)?服務(wù)機(jī)器人,一種半自主或全自主工作的機(jī)器人,其所從事的服務(wù)工作可使人類生存得更好,使制造業(yè)以外的設(shè)備工作得更好,比如送餐機(jī)器人、迎賓機(jī)器人、醫(yī)療服務(wù)機(jī)器人。
(4)?軍事機(jī)器人,用于軍事目的,或進(jìn)攻性的,或防御性的。這類機(jī)器人又可分為空中軍用機(jī)器人、海洋軍用機(jī)器人和地面軍用機(jī)器人,或簡稱為空軍機(jī)器人、海軍機(jī)器人和陸軍機(jī)器人。
1.3人
類
智
能
通常認(rèn)為,人類的智能又可以分為如下幾類:
(1)?記憶力。
記憶力指對于事物的記憶能力,包括短期和長期記憶力,形象和抽象記憶力等。
(2)?形象力。形象力指在記憶的基礎(chǔ)上形成形象的能力,也可以說是感性認(rèn)識(shí)能力。
(3)?抽象力。抽象力指在形象的基礎(chǔ)上形成抽象概念的能力,也可以說是理性認(rèn)識(shí)能力。
(4)?信仰力。信仰力指在形象和抽象思維的基礎(chǔ)上形成的對于人生和世界總的觀念的能力。
(5)?創(chuàng)造力。創(chuàng)造力指形成新的形象、理論、信仰的能力。
目前衡量人類智能比較常用的理論有智能商數(shù)學(xué)說和多元智能理論兩種。
1)?智能商數(shù)學(xué)說
(1)?智能商數(shù),亦稱智力商數(shù)(IntelligenceQuotient,IQ)。智力商數(shù)是智力測驗(yàn)所測出的數(shù)值,是對人智力水平的一種表示方式,它代表一種潛在能力,提供記憶、運(yùn)算、問題解決等生存必備的能力。
(2)?情緒商數(shù)(EmotionQuotient,EQ)。情緒商數(shù)指面對多元的社會(huì)變化沖擊,情緒的穩(wěn)定程度。商數(shù)愈高,表示能承受變動(dòng)的能力愈強(qiáng);高EQ不但能順應(yīng)變化的環(huán)境,同時(shí)利用EQ可以調(diào)適環(huán)境,進(jìn)而創(chuàng)造對環(huán)境的一種積極面情緒。
(3)?判斷商數(shù)(JudgmentQuotient,JQ)。
判斷商數(shù)指能進(jìn)行好的分析與好的判斷的能力。培養(yǎng)高判斷商數(shù),需從分析能力培養(yǎng)起。未來是與時(shí)間競賽,因此要做出好的決策,就須依賴高的判斷商數(shù)。
(4)?逆境商數(shù)(AdversityQuotient,AQ)。
逆境商數(shù)指當(dāng)個(gè)人或組織面對逆境時(shí),對待逆境的反應(yīng)能力。一個(gè)人AQ愈高,愈能彈性地面對逆境,積極樂觀地接受困難及挑戰(zhàn),愈挫愈勇,最終表現(xiàn)卓越。相反,AQ低的人則會(huì)感到沮喪、迷失,處處抱怨,逃避挑戰(zhàn),往往半途而廢,最終一事無成。
(5)?創(chuàng)意商數(shù)(CreationQuotient,CQ)。創(chuàng)意商數(shù)指與眾不同即創(chuàng)意的能力。生活中各種事務(wù)的處理、工作中各種問題的解決中,若能有新的方式、新的點(diǎn)子,且處理的效果比其他舊有方式的效果好,則這種新點(diǎn)子、新方式產(chǎn)生的能力稱為創(chuàng)意商數(shù)。
(6)?健康商數(shù)(HealthQuotient,HQ)。健康商數(shù)指個(gè)人身心狀態(tài)的調(diào)適能力。例如,對健康知識(shí)的了解力與生活習(xí)慣的適當(dāng)性判斷力等。身心健康程度愈高,商數(shù)愈高;健康知識(shí)認(rèn)知愈正確,商數(shù)愈高;生活習(xí)慣愈佳,商數(shù)愈高。此三項(xiàng)常會(huì)交互影響,任何一項(xiàng)朝正向發(fā)展,即可影響其他兩項(xiàng)往正向發(fā)展。要維持高的健康商數(shù),需時(shí)時(shí)檢驗(yàn)身心狀態(tài),多吸收相關(guān)知識(shí)并維持良好的習(xí)慣。
(7)?理財(cái)商數(shù)(FinanceQuotient,F(xiàn)Q)。理財(cái)商數(shù)用來衡量一個(gè)人的理財(cái)能力和創(chuàng)造財(cái)富的智慧程度。理財(cái)商數(shù)包括兩方面的能力:一是正確認(rèn)識(shí)金錢及金錢規(guī)律的能力;二是正確使用金錢及金錢規(guī)律的能力。
2)?多元智能理論
多元智能理論是由美國哈佛大學(xué)教育研究院的心理發(fā)展學(xué)家霍華德?加德納(HowardGardner)于1983年提出的。加德納研究腦部受創(chuàng)傷的病人,發(fā)覺到他們在學(xué)習(xí)能力上的差異,從而提出了本理論。
(1)?語言智能。語言智能主要是指有效地運(yùn)用口頭語言及文字的能力,即聽說讀寫能力,表現(xiàn)為個(gè)人能夠順利而高效地利用語言描述事件、表達(dá)思想并與人交流的能力。這種智能在作家、演說家、記者、編輯、節(jié)目主持人、播音員、律師等職業(yè)上有更加突出的表現(xiàn)。
(2)?邏輯數(shù)學(xué)智能。邏輯數(shù)學(xué)智能指有效地運(yùn)用數(shù)字和邏輯推理的能力,包括分類、推論、歸納、計(jì)算和假設(shè)鑒定等能力。從事與數(shù)字有關(guān)工作的人特別需要這種有效運(yùn)用數(shù)字和推理的智能去尋找事物的規(guī)律及邏輯順序。
(3)?空間智能??臻g智能指人對色彩、線條、形狀、形式、空間及它們之間關(guān)系的敏感性??臻g智能較強(qiáng)的人,感受、辨別、記憶、改變物體的空間關(guān)系并借此表達(dá)思想和情感的能力就比較強(qiáng),且這類人在學(xué)習(xí)時(shí)偏向用意象及圖像來思考問題,因而表現(xiàn)為對線條、形狀、結(jié)構(gòu)、色彩和空間關(guān)系的敏感,并且他們通過平面圖形和立體造型將感受到的空間關(guān)系表現(xiàn)出來的能力也較強(qiáng)。
空間智能可以劃分為形象的空間智能和抽象的空間智能兩種能力。
(4)?肢體運(yùn)作智能。肢體運(yùn)作智能是指善于運(yùn)用整個(gè)身體來表達(dá)想法和感覺,以及運(yùn)用雙手靈巧地生產(chǎn)或改造事物的能力。這種智能主要是指人調(diào)節(jié)身體運(yùn)動(dòng)及用巧妙的雙手改變物體的技能,表現(xiàn)為能夠較好地控制自己的身體,對事件能夠做出恰當(dāng)?shù)纳眢w反應(yīng),以及善于利用身體語言來表達(dá)自己的思想,比如運(yùn)動(dòng)員、舞蹈家、外科醫(yī)生、手藝人都有這種智能優(yōu)勢。
(5)?音樂智能。音樂智能主要是指人敏感地感知音調(diào)、旋律、節(jié)奏和音色等的能力,表現(xiàn)為個(gè)人對音樂節(jié)奏、音調(diào)、音色和旋律的敏感性以及通過作曲、演奏和歌唱等表達(dá)音樂的能力。比如作曲家、指揮家、歌唱家、樂師、樂器制作者、音樂評論家等人員都有這種智能優(yōu)勢。
(6)?人際關(guān)系智能。人際關(guān)系智能是指能夠有效地理解別人及其關(guān)系和與人交往的能力,包括以下四大要素:
①
組織能力,包括群體動(dòng)員與協(xié)調(diào)能力。
②
協(xié)商能力,指仲裁與排解紛爭的能力。
③
分析能力,指能夠敏銳察知他人的情感動(dòng)向與想法,易與他人建立密切關(guān)系的能力。
④
人際聯(lián)系,指對他人表現(xiàn)出關(guān)心、善解人意、適于團(tuán)體合作的能力。
(7)?內(nèi)省智能。內(nèi)省智能是指正確認(rèn)識(shí)自己的能力。例如,能正確把握自己的長處和短處,把握自己的情緒、意向、動(dòng)機(jī)、欲望,對自己的生活有規(guī)劃,能自尊、自律,會(huì)吸收他人的長處;會(huì)從各種回饋管道中了解自己的優(yōu)劣;常靜思以規(guī)劃自己的人生目標(biāo);愛獨(dú)處,以深入自我的方式來思考;喜歡獨(dú)立工作,有自我選擇的空間。內(nèi)省智能優(yōu)秀的人多見于政治家、哲學(xué)家、心理學(xué)家、教師等人群。
(8)?自然探索智能。探索智能指人們認(rèn)識(shí)植物、動(dòng)物和其他自然環(huán)境(如云和石頭)的能力。自然探索智能強(qiáng)的人,在打獵、耕作、生物科學(xué)上的表現(xiàn)較為突出。自然探索智能具體地講,就是人的探索智能,包括個(gè)人對社會(huì)的探索或?qū)ψ匀坏奶剿鲀蓚€(gè)方面。
(9)?存在智能。存在智能指人們表現(xiàn)出的對生命、死亡和終極現(xiàn)實(shí)提出問題,并思考這些問題的傾向性程度。
1.4模仿人類智能的機(jī)器人
一般地,機(jī)器人是模仿人類等生物的結(jié)構(gòu)、思維而構(gòu)建的機(jī)器系統(tǒng),是以我們自身為范本進(jìn)行模仿設(shè)計(jì)的機(jī)器。如圖1.2所示為機(jī)器人與人類智能的類比框圖。圖1.2機(jī)器人與人類智能的類比框圖
結(jié)合圖1.2,從模仿人類智能方面來分析機(jī)器人的功能,我們還可以從構(gòu)架系統(tǒng)、感知系統(tǒng)、執(zhí)行系統(tǒng)、決策系統(tǒng)、能源系統(tǒng)等五大部分功能上來綜合分析機(jī)器人與人類智能的類比關(guān)系。
(1)感知系統(tǒng)。感知系統(tǒng)相當(dāng)于人的眼睛、耳朵、鼻子、皮膚等,可以感知外界的各種信息,如距離、聲音、氣味、溫度、濕度、形狀、顏色等。
(2)決策系統(tǒng)。決策系統(tǒng)相當(dāng)于人的大腦,它將機(jī)器人從感知系統(tǒng)感知的各種外界信息進(jìn)行處理、判斷,然后做出決策,并發(fā)出信號,控制執(zhí)行系統(tǒng)按照程序預(yù)設(shè)的方式進(jìn)行處理。決策系統(tǒng)常用的控制芯片有C51單片機(jī)、PIC單片機(jī)、AVR單片機(jī)等。
(3)執(zhí)行系統(tǒng)。執(zhí)行系統(tǒng)相當(dāng)于人的肌肉和四肢,可以使機(jī)器人具有行走、移動(dòng)等功能,并完成特定的任務(wù),如取物、滅火、營救、排爆、踢球等人們設(shè)計(jì)的各種動(dòng)作和任務(wù)。
(4)構(gòu)架系統(tǒng)。構(gòu)架系統(tǒng)相當(dāng)于人體的軀干和骨骼,它承載著機(jī)器人的所有部件,是機(jī)器人存在的物質(zhì)基礎(chǔ)。
(5)能源系統(tǒng)。能源系統(tǒng)相當(dāng)于人的心臟和肺,它給機(jī)器人的感知系統(tǒng)、執(zhí)行系統(tǒng)、決策系統(tǒng)等部分提供能量,如電能、熱能、機(jī)械能等。
1.5機(jī)器人綜合項(xiàng)目平臺(tái)實(shí)例
1.5.1國內(nèi)外競賽平臺(tái)實(shí)例
1.國際機(jī)器人足球賽讓機(jī)器人踢足球的想法是在1995年由韓國科學(xué)技術(shù)院(KAIST)的金鐘煥(Jong-HwanKim)教授提出的。1996年11月,他在韓國政府的支持下首次舉辦了微型機(jī)器人世界杯足球比賽(即FIRAMiroSot’96)。如圖1.3所示為作者學(xué)校3VS3足球機(jī)器人賽臺(tái)。圖1.33VS3足球機(jī)器人賽臺(tái)
2.國內(nèi)機(jī)器人競賽
國內(nèi)機(jī)器人綜合比賽主要包括國際機(jī)器人奧林匹克競賽、FLL世錦賽和ABU大學(xué)生機(jī)器人電視大賽,其詳細(xì)情況可以查閱相關(guān)賽事網(wǎng)站。全國范圍內(nèi)的機(jī)器人賽事主要有以下四項(xiàng):FIRA中國機(jī)器人足球錦標(biāo)賽,中國機(jī)器人大賽暨RoboCup公開賽,全國大學(xué)生機(jī)器人電視大賽(CCTV-ROBOCON),中國青少年機(jī)器人競賽。北京信息科技大學(xué)承辦的機(jī)器人賽事主要有:華北五省機(jī)器人競賽,校內(nèi)選拔機(jī)器人競賽,智能車競賽。各種類型的機(jī)器人競賽一般是在20世紀(jì)末興起的。
這里簡單介紹華北五省機(jī)器人武術(shù)擂臺(tái)賽的兩個(gè)項(xiàng)目,即無差別組和輕量級仿人組項(xiàng)目。便于讀者自主設(shè)計(jì)和制作可以參加機(jī)器人武術(shù)擂臺(tái)賽的機(jī)器人,其相關(guān)技術(shù)操作說明可以參考本書后續(xù)章節(jié)內(nèi)容。其中,圖1.4所示為武術(shù)擂臺(tái)賽無差別組場地尺寸示意圖。圖1.4武術(shù)擂臺(tái)賽無差別組場地尺寸
1.5.2機(jī)器人競賽創(chuàng)新平臺(tái)實(shí)例
1.北京博創(chuàng)公司“創(chuàng)意之星”機(jī)器人套件
北京博創(chuàng)公司的“創(chuàng)意之星”機(jī)器人套件,是用于高等工程創(chuàng)新實(shí)踐教育的模塊化機(jī)器人套件包,為數(shù)百個(gè)基本“積木”單元組合而成。這些“積木”單元包括傳感器單元、執(zhí)行器單元、控制器單元、可通用的結(jié)構(gòu)零件等。作者創(chuàng)新團(tuán)隊(duì)成員們采用北京博創(chuàng)公司的“創(chuàng)意之星”機(jī)器人套件,包括底板、舵機(jī)框架,以及連接底板和舵機(jī)的結(jié)構(gòu)件等,可以用來安裝電機(jī)、結(jié)構(gòu)件,把各個(gè)部分組成一個(gè)整體,完成創(chuàng)新機(jī)器人的組裝。如圖1.5所示為作者創(chuàng)新團(tuán)隊(duì)成員設(shè)計(jì)機(jī)器人的場景示例。圖1.5作者創(chuàng)新團(tuán)隊(duì)成員設(shè)計(jì)機(jī)器人的場景示例
圖1.6所示為創(chuàng)意之星機(jī)器人套件制作的10種典型類別作品,具體介紹如下:
圖1.6創(chuàng)意之星機(jī)器人套件及其典型作品設(shè)計(jì)
①?“小書童”書法機(jī)器人:指可以使用普通的毛筆蘸墨汁寫書法對聯(lián)的六自由度并聯(lián)機(jī)器人。
②
機(jī)器狗:指采用MultiFLEX2-PXA270視覺控制器,能夠演示機(jī)器寵物狗的20個(gè)自由度動(dòng)作的仿生機(jī)器人。
③
六足蜘蛛:指具有18自由度仿生六足蜘蛛機(jī)器人,能夠通過編輯步態(tài),增加傳感器,實(shí)現(xiàn)六足蜘蛛式自律爬行的機(jī)器人。
④
六自由度(6DOF)機(jī)械臂:指能夠應(yīng)用運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)學(xué)習(xí)模仿工業(yè)機(jī)器人實(shí)踐對象的六自由度機(jī)械臂。
⑤
帶視覺的全向運(yùn)動(dòng)機(jī)器人小車:指能夠設(shè)計(jì)模仿視覺足球機(jī)器人動(dòng)作的全向運(yùn)動(dòng)機(jī)器人小車,可以作為機(jī)器視覺的入門級簡單編程對象。
⑥
簡易仿人形機(jī)器人:指通過傳感、控制模塊組合運(yùn)行,能夠執(zhí)行多種簡單、趣味性動(dòng)作的四自由度人形機(jī)器人。
⑦
仿生蛇形機(jī)器人:指能實(shí)現(xiàn)簡單、趣味、典型仿生動(dòng)作的8~10個(gè)自由度蛇形機(jī)器人。
⑧
自動(dòng)避碰機(jī)器人小車:指通過控制、傳感、執(zhí)行模塊功能組合運(yùn)行,能夠?qū)崿F(xiàn)簡單、趣味、典型自動(dòng)避碰動(dòng)作的機(jī)器人。
⑨
自動(dòng)挖掘機(jī)器人:指采用履帶式驅(qū)動(dòng)的自動(dòng)工業(yè)模型,能夠?qū)崿F(xiàn)多種自動(dòng)挖掘動(dòng)作的機(jī)器人。
⑩
擂臺(tái)賽機(jī)器人:指可以采取履帶式驅(qū)動(dòng)設(shè)計(jì),根據(jù)擂臺(tái)賽仿人組競賽要求,能夠?qū)W習(xí)復(fù)雜武術(shù)擂臺(tái)競賽策略的機(jī)器人。
2.機(jī)器人競賽創(chuàng)新加工平臺(tái)實(shí)例
在筆者學(xué)校北京市卓越聯(lián)盟實(shí)驗(yàn)室智慧工廠里,針對機(jī)器人創(chuàng)新設(shè)計(jì)與制作的加工平臺(tái),主要有電路覆銅板雕刻機(jī)、3D打印機(jī)、激光切割機(jī)以及工業(yè)機(jī)械臂、生產(chǎn)線拓?fù)浣Y(jié)構(gòu)與流程功能區(qū)塊。
1)電路板雕刻機(jī)
電路板雕刻機(jī)能夠在單面鍍銅電路板或雙面鍍銅電路板上雕刻電路。事先的設(shè)計(jì)工作主要是將Protel99軟件安裝進(jìn)電腦,查看發(fā)送設(shè)計(jì)特定功能電路圖的文件,下載設(shè)計(jì)好的電路文件,啟動(dòng)實(shí)現(xiàn)相應(yīng)電路板的雕刻。雕刻機(jī)電路板與實(shí)物如圖1.7所示。圖1.7雕刻機(jī)的電路板與實(shí)物圖
2)?3D打印機(jī)
3D打印機(jī)是以一種數(shù)字模型文件為基礎(chǔ),運(yùn)用粉末狀金屬或塑料等可黏合材料,通過逐層打印的方式來構(gòu)造物體的。如圖1.8(a)所示為3D打印機(jī),圖1.8(b)所示為由3D打印機(jī)打印的實(shí)物。圖1.83D打印機(jī)及打印的實(shí)物
3)激光切割機(jī)
如圖1.9所示為激光切割機(jī)運(yùn)行照片。在本平臺(tái)操作時(shí),首先將需要切割的工件放置在激光切割機(jī)初始化位置上,在激光切割機(jī)的面板上查看傳送到的工程文件。如圖1.9(a)所示為激光切割機(jī)的操作面板。可以在完成相關(guān)激光切割機(jī)工作參數(shù)設(shè)置后,按下“開始”鍵。如圖1.9(b)所示為激光切割運(yùn)行場景。圖1.9激光切割機(jī)運(yùn)行照片
4)?工業(yè)機(jī)械臂
工業(yè)機(jī)械臂是擬人手臂、手腕和手功能的串聯(lián)式關(guān)節(jié)型機(jī)器人機(jī)械電子裝置,包括腰部回轉(zhuǎn)、肩關(guān)節(jié)旋轉(zhuǎn)、肘關(guān)節(jié)旋轉(zhuǎn)、腕關(guān)節(jié)回轉(zhuǎn)、腕關(guān)節(jié)俯仰、末端回轉(zhuǎn),共六個(gè)自由度。如圖1.10(a)所示為工業(yè)機(jī)械臂的整體。其中可把任一物件或工具按空間位姿(位置和姿態(tài))的時(shí)變要求進(jìn)行移動(dòng),根據(jù)機(jī)器人自身機(jī)構(gòu)對運(yùn)動(dòng)轉(zhuǎn)動(dòng)角度的限制,以及機(jī)構(gòu)運(yùn)動(dòng)方式所產(chǎn)生的壓力角大小,機(jī)械轉(zhuǎn)動(dòng)效率等選取最優(yōu)解,編寫最佳位姿的求解程序。
如圖1.10(b)所示為工業(yè)機(jī)械臂的操作編程界面,能夠完成某一工業(yè)生產(chǎn)的作業(yè)要求,如能夾持焊鉗或焊槍,對汽車或摩托車車體進(jìn)行點(diǎn)焊或弧焊;搬運(yùn)壓鑄或沖壓成型的零件或構(gòu)件;進(jìn)行激光切割;噴涂;裝配機(jī)械零部件等等。圖1.10工業(yè)機(jī)械臂的實(shí)物照片
理論上六自由度工業(yè)機(jī)器人可進(jìn)行全方位運(yùn)動(dòng)工作,但由于機(jī)器本身結(jié)構(gòu)的問題,促使機(jī)器人在工作時(shí)會(huì)存在一些盲點(diǎn),故在應(yīng)用機(jī)器人進(jìn)行工作的時(shí)候,應(yīng)盡量避免觸及這些機(jī)械盲點(diǎn),以求得工作效率最大化。
5)?生產(chǎn)線拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)
生產(chǎn)線拓?fù)浣Y(jié)構(gòu)制造模塊包括智能倉儲(chǔ)、智能制造單元、搬運(yùn)機(jī)器人、視覺測量儀、智能裝配、生產(chǎn)裝配線、電子標(biāo)簽輔助揀選、自動(dòng)分揀和生產(chǎn)監(jiān)控系統(tǒng)等;其中,智能倉儲(chǔ)包含自動(dòng)化立體倉庫和3臺(tái)AGV智能機(jī)器人小車;智能制造單元由1臺(tái)數(shù)控車床、3臺(tái)數(shù)控銑床、1套柔性輸送線、1臺(tái)YASKAWA機(jī)器人和機(jī)器人行走機(jī)構(gòu)組成;智能裝配有1臺(tái)YAMAHA機(jī)器人、視覺單元和點(diǎn)膠機(jī):生產(chǎn)監(jiān)控系統(tǒng)包含1臺(tái)全景攝像頭、4臺(tái)機(jī)床生產(chǎn)監(jiān)控相機(jī)和多種工況信息傳感器采集系統(tǒng)。
6)?流程功能區(qū)塊
流程功能區(qū)塊包括:
(1)?工業(yè)流水線。
工業(yè)流水線包括變位立體倉庫、智能制造單元、車床、一鍵式測量儀、智能裝配單元,以及智能尋跡運(yùn)送機(jī)器人小車。
(2)工廠接單。
工廠在電腦終端接收訂單指令,并把訂單指令下達(dá)給各個(gè)工作區(qū)域,從而整個(gè)工廠圍繞該訂單展開生產(chǎn)工作。
(3)原料供給。
原料供給主要通過空間坐標(biāo)機(jī)械臂抓取貨物,并將貨物放在循跡運(yùn)輸車中進(jìn)入下一個(gè)單元。
(4)銑床加工。
通過銑床等機(jī)械加工方法,加工得到生產(chǎn)工件,并利用裝載機(jī)械臂的機(jī)器人小車將做好的工件放入公差測量儀進(jìn)行檢測。
(5)工件糾偏與裝載出庫。
將工件放入指定位置,利用機(jī)器人視覺對指定工件圖像進(jìn)行處理,實(shí)現(xiàn)將生產(chǎn)完成的工件封裝裝載到循跡機(jī)器人小車上出庫。如圖1.11所示為智能裝配系統(tǒng)現(xiàn)場場景。圖1.11智能裝配系統(tǒng)
1.5.3機(jī)器人工程類人才的創(chuàng)新培養(yǎng)平臺(tái)實(shí)例
法國工程類人才培養(yǎng)模式是:以五年制工程教育為例,分兩個(gè)階段,預(yù)科基礎(chǔ)階段(與高中合辦,相當(dāng)于我國大學(xué)大一的基礎(chǔ)階段),預(yù)科階段(相當(dāng)于我國大學(xué)的大二、大三、大四階段)升工程師階段(類似于國內(nèi)高校的兩年碩士階段,考核合格即達(dá)到工程師水平)。以預(yù)科階段的一門工業(yè)科學(xué)與技術(shù)課程考核為例,該課程實(shí)踐部分的任務(wù)是完成實(shí)驗(yàn)對象的建模、仿真分析和實(shí)驗(yàn)驗(yàn)證設(shè)計(jì);考核現(xiàn)場流程是學(xué)生現(xiàn)場隨機(jī)抽取題目,每個(gè)題目出自特定的創(chuàng)新考核平臺(tái)。如圖1.12所示為課程考核現(xiàn)場部分工程創(chuàng)新考核平臺(tái)實(shí)物照片。圖1.12工業(yè)科學(xué)與技術(shù)課程考試現(xiàn)場部分創(chuàng)新過程考核平臺(tái)
工程類人才創(chuàng)新考核平臺(tái)按照工程類體系進(jìn)行專業(yè)細(xì)分,比如分為機(jī)械系統(tǒng)、自動(dòng)控制系統(tǒng)、邏輯與時(shí)序控制系統(tǒng)、工業(yè)系統(tǒng)機(jī)器人以及工業(yè)系統(tǒng)中的計(jì)算系統(tǒng)和數(shù)控系統(tǒng)等,具體教學(xué)平臺(tái)模塊包括如下幾個(gè)部分:
(1)?機(jī)械系統(tǒng)。機(jī)械系統(tǒng)是指如葡萄分揀系統(tǒng)實(shí)驗(yàn)平臺(tái)、電機(jī)加載及驅(qū)動(dòng)綜合平臺(tái)、輔助機(jī)械手實(shí)驗(yàn)平臺(tái)、助力自行車實(shí)驗(yàn)平臺(tái)、四自由度舵機(jī)實(shí)驗(yàn)平臺(tái)等機(jī)械類系統(tǒng)。
(2)?自動(dòng)控制系統(tǒng)。自動(dòng)控制系統(tǒng)指如停車場自動(dòng)欄桿系統(tǒng)、血液采集系統(tǒng)、乒乓球包裝模擬生產(chǎn)線系統(tǒng)、太陽能電池板自動(dòng)調(diào)姿系統(tǒng)等。
(3)?邏輯與時(shí)序控制系統(tǒng)。邏輯與時(shí)序控制系統(tǒng)指如典型位移/速度伺服系統(tǒng)實(shí)驗(yàn)平臺(tái)、機(jī)械伺服系統(tǒng)實(shí)驗(yàn)平臺(tái)等系統(tǒng)。
(4)?工業(yè)系統(tǒng)機(jī)器人。工業(yè)系統(tǒng)機(jī)器人指如樂高機(jī)器人、擬人機(jī)器人控制系統(tǒng)等。
(5)?工業(yè)系統(tǒng)中的計(jì)算系統(tǒng)。工業(yè)系統(tǒng)中的計(jì)算系統(tǒng)指如飛行觀測控制實(shí)驗(yàn)系統(tǒng)、信號處理系統(tǒng)綜合試驗(yàn)平臺(tái)、汽車電動(dòng)助力系統(tǒng)實(shí)驗(yàn)平臺(tái)等系統(tǒng)。
(6)?工業(yè)系統(tǒng)中的數(shù)控系統(tǒng)。工業(yè)系統(tǒng)中的數(shù)控系統(tǒng)指如陀螺儀、球拍拉弦裝置、船舶導(dǎo)航操舵系統(tǒng)等。
在法國,工程類教師人才創(chuàng)新考核平臺(tái)數(shù)量也很多,被考核的教師需要從不少于45個(gè)工業(yè)模擬系統(tǒng)創(chuàng)新考核平臺(tái)中選取一種,在4個(gè)小時(shí)之內(nèi)完成該平臺(tái)實(shí)踐任務(wù)的板書書寫和實(shí)驗(yàn)系統(tǒng)的搭建,并在45分鐘內(nèi)面向三位評委講解演示所有實(shí)驗(yàn)結(jié)果,回答評委老師的提問。如圖1.13所示為法國工程類教師人才創(chuàng)新考核現(xiàn)場。圖1.13預(yù)科學(xué)??己私處煹目荚囉^摩現(xiàn)場
因此,法國工程師教育學(xué)制5年(三年制學(xué)院需在入學(xué)前接受兩年預(yù)科教育),規(guī)模小、專業(yè)少、工程專業(yè)化程度高;通過與企業(yè)共同制定課程,教學(xué)內(nèi)容根據(jù)企業(yè)的需要,參與企業(yè)工業(yè)項(xiàng)目的研究工作,不斷地調(diào)整工程教學(xué)內(nèi)容、教學(xué)環(huán)境而達(dá)到與工業(yè)界實(shí)際技術(shù)環(huán)境接近甚至同一。這個(gè)系統(tǒng)非常接近中國的研究生院,培養(yǎng)工程師的工程實(shí)踐創(chuàng)新競爭力,提高其受企業(yè)歡迎程度。第二章
機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)2.1機(jī)器人編程語言基礎(chǔ)2.2以機(jī)器人小車為例的典型問題解析2.3機(jī)器人移動(dòng)機(jī)構(gòu)設(shè)計(jì)問題解析
2.1機(jī)器人編程語言基礎(chǔ)
2.1.1機(jī)器人編程語言簡介我們常把計(jì)算機(jī)語言分成以下三類:
(1)機(jī)器語言,指計(jì)算機(jī)中用二進(jìn)制表示的數(shù)據(jù)或指令,計(jì)算機(jī)可以直接執(zhí)行;
(2)自然語言,類似于人類交流使用的語言,常用于表示算法;
(3)高級語言,介于機(jī)器語言與自然語言之間的編程語言。
一般地,機(jī)器人編程中的整個(gè)程序設(shè)計(jì)思想可以分為面向過程和面向?qū)ο髢纱箢悾渲幸淮箢悇e如擂臺(tái)賽、足球賽、舞蹈比賽等由機(jī)器人個(gè)體自身控制器控制機(jī)器人競賽的軟件,大多數(shù)采用面向過程的程序設(shè)計(jì)語言如C語言。
面向過程編程思想是:程序的執(zhí)行總是從一個(gè)主控模塊開始,該主控模塊就像一個(gè)家庭的戶主,負(fù)責(zé)整個(gè)程序的執(zhí)行流程管理,包括程序的開始、執(zhí)行、運(yùn)行過程以及運(yùn)行結(jié)果的最終輸出等;另一大類別如仿生魚群、FIRA等集控式軟件,即利用電腦主機(jī)對場上多個(gè)機(jī)器人進(jìn)行統(tǒng)一調(diào)度和集中控制競賽的軟件,主要采用面向?qū)ο蟮某绦蛟O(shè)計(jì)語言如C++、C#、Java等。
面向?qū)ο缶幊趟枷胧牵撼绦驁?zhí)行模擬現(xiàn)實(shí)世界的對象交流方式,先定義同類對象的模板,即程序設(shè)計(jì)語言中的類,然后由類產(chǎn)生對象,通過對象之間的消息通信及交互實(shí)現(xiàn)整個(gè)程序的功能。通常這兩種編程思想應(yīng)用優(yōu)勢的比較結(jié)果是:面向過程的語言在解決小規(guī)模的問題上非常精確、方便,但對于大型、復(fù)雜問題則有些力不從心;而面向?qū)ο蟮某绦蛟O(shè)計(jì)語言對于解決大規(guī)模的問題卻比較方便和快捷。
C語言是一種面向過程的高級編程語言,它的功能十分強(qiáng)大,用法十分靈活,是控制機(jī)器人常用的設(shè)計(jì)語言,其程序的設(shè)計(jì)思路為:
(1)?針對求解的問題,提出解題思路,即算法;
(2)?按照C語言程序的特點(diǎn),將算法對應(yīng)地改寫為程序;
(3)?編譯、調(diào)試程序,形成可執(zhí)行文件;
(4)?運(yùn)行可執(zhí)行文件,給出問題結(jié)果。
例:求兩數(shù)之和。程序如下:
由此例可以看到:C語言程序是由函數(shù)構(gòu)成的。一個(gè)C語言源程序包含且僅包含一個(gè)main函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù)。因此,函數(shù)是C語言程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù)(例如print和scanf函數(shù)),也可以是用戶根據(jù)自己編制設(shè)計(jì)的程序。C語言的這種特點(diǎn)較易實(shí)現(xiàn)程序模塊化。
一個(gè)函數(shù)由兩部分組成:函數(shù)首部與函數(shù)體。
(1)?函數(shù)首部。函數(shù)首部即函數(shù)的第一行,包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)名、參數(shù)類型。
例如: int max (intx,inty)
函數(shù)類型
函數(shù)名
參數(shù)類型、函數(shù)參數(shù)名
一個(gè)函數(shù)名后面必須跟一對圓括號,括號內(nèi)寫函數(shù)的參數(shù)名及其類型。函數(shù)可以沒有參數(shù),如main()。
(2)?函數(shù)體。函數(shù)體即函數(shù)首部下面花括號內(nèi)的部分。函數(shù)體一般包括兩部分。
聲明部分:在這部分定義所用到的變量和對所調(diào)用函數(shù)的聲明。如上例中對變量的定義“inta,b,sum”。
執(zhí)行部分:由若干個(gè)語句組成。一個(gè)C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個(gè)程序中的位置如何。
C程序書寫格式自由,一行內(nèi)可寫幾個(gè)語句,一個(gè)語句可以分寫在多行上。每個(gè)語句和數(shù)據(jù)聲明的最后必須有一個(gè)分號。C語言本身沒有輸入輸出語句。輸入輸出的操作是由庫函數(shù)scanf和print等函數(shù)來完成的??梢杂?*……*/對C程序中的任何部分做注釋,以增加程序的可讀性。在大多數(shù)現(xiàn)代編譯器中,也可以使用“//”符號來標(biāo)明單行注釋。
2.1.2數(shù)據(jù)類型
機(jī)器人控制算法處理的對象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式存在的(例如整數(shù)、實(shí)數(shù)、字符等形式)。
1.?常量與變量
在程序中對用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型。一般數(shù)據(jù)分為常量與變量,例如整型數(shù)據(jù)包括整型常量和整型變量。常量是在程序運(yùn)行過程中值不能被改變的量。如12、0、-8為整型常量,4.6、-1.23為實(shí)型常量,‘a(chǎn)’、‘b’為字符常量。變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,它用來存放數(shù)據(jù),也就是變量的值,在程序運(yùn)行期間,這些值是可以改變的。
2.?整型數(shù)據(jù)量的進(jìn)制表達(dá)
不同類型的整型常量類別表示的數(shù)據(jù)取值范圍不同,如表2.1所示,整型常量分為有/無符號基本整型、有/無符號短整型、有/無符號長整型常量,各類型對應(yīng)不同比特(位)數(shù)和不同的取值范圍。
C語言程序中所有用到的整型變量都必須在程序中進(jìn)行相應(yīng)的變量定義。對變量的定義一般是放在一個(gè)函數(shù)的開頭部分,即變量聲明部分(也可以放在函數(shù)中某一段程序內(nèi),但作用域只限所在的分程序)。例如:
3.?數(shù)組
數(shù)組是有序數(shù)據(jù)的集合。數(shù)組中的每一個(gè)元素都屬于同一個(gè)數(shù)據(jù)類型。
1)?一維數(shù)組的定義方式
定義格式:
類型說明符
數(shù)組名[常量表達(dá)式];
例如:inta[10];表示定義了一個(gè)整型數(shù)組,數(shù)組名為a,此數(shù)組有10個(gè)元素。
2)?一維數(shù)組元素的引用
數(shù)組必須先定義然后才可使用。C語言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組。
數(shù)組元素的表示形式為數(shù)組名[下標(biāo)],例如:
inta[10]; /*定義數(shù)組長度為10*/
t=a[6]; /*引用a數(shù)組中序號為6的元素,此處6不代表數(shù)組長度*/
4.?C語言運(yùn)算操作符簡介
C語言的運(yùn)算符范圍很寬,它把除了控制語句和輸入輸出以外的幾乎所有的基本操作都作為運(yùn)算符處理。C語言的操作運(yùn)算符是一些特定的字符,執(zhí)行一些特定的操作,一般有以下幾類:
(1)算術(shù)運(yùn)算符。算術(shù)運(yùn)算符有:+、-、*、/、%。
(2)?關(guān)系運(yùn)算符。關(guān)系運(yùn)算符有:×、<、==、>=、<=、!=。
(3)?邏輯運(yùn)算符。邏輯運(yùn)算符有:!、&&、||。
(4)?位運(yùn)算符。位運(yùn)算符有:<、<>、>、~、|、&。
(5)?賦值運(yùn)算符。賦值運(yùn)算符有:=。
(6)?條件運(yùn)算符。條件運(yùn)算符有:?、:。
(7)?逗號運(yùn)算符。逗號運(yùn)算符有:,。
(8)?指針運(yùn)算符。指針運(yùn)算符有:*?和?&。
下面著重講一下自增、自減運(yùn)算符,其作用是使變量的值增1或減1,例如:
(1)?++i、--i。++i、--i運(yùn)算的原則是在使用i之前,先使i的值加(減)1。
(2)?i++、i--。i++、i--運(yùn)算的原則是在使用i之后,使i的值加(減)1。
粗略地看,++i、i++的作用都相當(dāng)于i=i+1,而兩者的不同在于,如果i的原值等于3,運(yùn)算j=++i,則j=++i運(yùn)算結(jié)果是i的值賦值4,再賦給j,j的值為4;運(yùn)算j=i++,則j=i++運(yùn)算結(jié)果是先將i的值3賦給j,j的值為3,然后i變?yōu)?。表2.2展示了一般的運(yùn)算操作順序,高優(yōu)先級的運(yùn)算在頂部,低優(yōu)先級的運(yùn)算在底部。
這里為了方便初學(xué)者閱讀學(xué)習(xí),我們將表2.2運(yùn)算符操作順序中賦值符號與數(shù)學(xué)相等運(yùn)算符號進(jìn)行對比說明,給出如下“疑點(diǎn)解析”。
2.1.3機(jī)器人控制程序算法設(shè)計(jì)基礎(chǔ)
1.簡介
現(xiàn)在,讓我們用一道簡單的計(jì)算題來回想一下人腦的工作方式。題目很簡單:8+4/2=?看到這個(gè)題目,我們想到的是什么?四則混合運(yùn)算、運(yùn)算優(yōu)先級、九九乘法口訣。經(jīng)過思考,大腦完成的計(jì)算過程是:先用腦算出4/2=2這一中間結(jié)果,并記錄于紙上,然后再用腦算出8+2=10這一最終結(jié)果,并記錄于紙上。
機(jī)器人控制算法中遵循的邏輯代數(shù)是由英國科學(xué)家喬治·布爾(George·Boole)創(chuàng)立的,故又稱布爾代數(shù)。作為工程數(shù)學(xué)分支的邏輯代數(shù),是一種用于描述客觀事物邏輯關(guān)系的數(shù)學(xué)方法,有一套完整的運(yùn)算規(guī)則,包括公理、定理和定律。參與邏輯運(yùn)算的變量叫邏輯變量,用字母A、B…表示。每個(gè)變量的取值非0即1。0、1不表示數(shù)的大小,而是代表兩種不同的邏輯狀態(tài)。
邏輯代數(shù)的正、負(fù)邏輯規(guī)定:
(1)?正邏輯體制規(guī)定:高電平為邏輯1,低電平為邏輯0。
(2)?負(fù)邏輯體制規(guī)定:低電平為邏輯1,高電平為邏輯0。
邏輯函數(shù):當(dāng)邏輯代數(shù)的邏輯狀態(tài)多于2種時(shí)(如0、1、2或更多狀態(tài)時(shí)),可以采用若干個(gè)邏輯變量(如A、B、C、D),按與、或、非三種基本運(yùn)算組合在一起,得到一個(gè)表達(dá)式L。對邏輯變量的任意一組取值(如0000、0001、0010)L有唯一的值與之對應(yīng),則稱L為邏輯函數(shù)。邏輯變量A、B、C、D的邏輯函數(shù)記為:L=f(A、B、C、D)。
一般數(shù)學(xué)中常規(guī)的乘法原理、加法原理可以看作是與邏輯和或邏輯的定量表述;與邏輯和或邏輯可以看作是乘法原理、加法原理的定性表述。當(dāng)然邏輯變量的取值只有兩種,即邏輯0和邏輯1,0和1稱為邏輯常量,并不表示數(shù)量的大小,而是表示兩種對立的邏輯狀態(tài)。規(guī)定:
(1)?所有可能出現(xiàn)的數(shù)只有0和1兩個(gè)。
(2)?基本運(yùn)算只有“與”“或”“非”三種。
這樣,把人類規(guī)劃出的求解問題轉(zhuǎn)化成機(jī)器人能夠識(shí)別的程序算法,這些完成特定功能的程序就是軟件;其中算法是一系列解決問題的清晰指令;算法可以理解為由基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解題步驟;或者看成按照要求設(shè)計(jì)好的有限的確切的計(jì)算序列,并且這樣的步驟和序列可以解決一類問題;也就是說,能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。如果一個(gè)算法有缺陷,或不適合于某個(gè)問題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問題。
算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來說,機(jī)器人算法是問題規(guī)模n的函數(shù)f(n),算法的時(shí)間復(fù)雜度也因此記做T(n)=Ο(f(n))。因此,問題的規(guī)模n越大,時(shí)間復(fù)雜度越大,算法執(zhí)行的時(shí)間的增長率與f(n)的增長率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度。算法的空間復(fù)雜度是指算法需要消耗的空間資源。其計(jì)算和表示方法與時(shí)間復(fù)雜度類似,一般都用復(fù)雜度的漸近性來表示。同時(shí)間復(fù)雜度相比,空間復(fù)雜度的分析要簡單得多。
綜上所述,一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:
(1)?有窮性。有窮性是一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束。
(2)?確切性。確切性是算法的每一步驟必須有確切的定義。
(3)?輸入。一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對象的初始情況(所謂0個(gè)輸入,是指算法本身定義了初始條件)。
(4)?輸出。一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果,沒有輸出的算法是毫無意義的。
(5)?可行性??尚行允撬惴ㄔ瓌t上能夠精確地運(yùn)行,而且人們用筆和紙做了有限多次運(yùn)算后即可完成。
2.脈寬調(diào)制(PWM)
一般來講,機(jī)器人執(zhí)行機(jī)構(gòu)如舵機(jī)或電機(jī)是通過運(yùn)行脈寬調(diào)制(PulseWidthModulation,PWM)信號實(shí)現(xiàn)PWM控制算法的設(shè)計(jì)的。下面就以機(jī)器人的舵機(jī)為例介紹其內(nèi)部自動(dòng)控制工作原理:首先,在舵機(jī)的內(nèi)部有一個(gè)信號基準(zhǔn)電路,產(chǎn)生周期為20?ms、寬度為1.5?ms的基準(zhǔn)信號,如圖2.1所示為PWM控制機(jī)器人小車舵機(jī)正反轉(zhuǎn)的信號波形示意圖。圖2.1
PWM控制機(jī)器人小車舵機(jī)正反轉(zhuǎn)的信號波形示意圖
其次,舵機(jī)的PWM控制信號經(jīng)由接收機(jī)的通道端口進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓,舵機(jī)在接收到控制信號后,將獲得的對應(yīng)直流偏置電壓與電位器的基準(zhǔn)信號電壓進(jìn)行比較計(jì)算,從而輸出兩者之間的電壓差。最后,該電壓差的正負(fù)值將輸出到電機(jī)驅(qū)動(dòng)芯片,從而控制電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速達(dá)到一定時(shí),通過內(nèi)部的級聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),從而使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。而從宏觀上觀察到的電機(jī)轉(zhuǎn)動(dòng)速度的快慢決定于如圖2.2所示控制電機(jī)舵機(jī)的PWM信號占空比值,此PWM信號占空比中高電位間隔持續(xù)時(shí)間或周期是PWM頻率的倒數(shù)。圖2.2控制電機(jī)舵機(jī)的PWM信號占空比示意圖
2.1.4運(yùn)行程序基本語句和過程
一般程序語句結(jié)構(gòu)化設(shè)計(jì)的基本結(jié)構(gòu)形式有三種:順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。同時(shí),這三種結(jié)構(gòu)形式也是結(jié)構(gòu)化程序設(shè)計(jì)的基本組成方式,如圖2.3所示為常用的三種結(jié)構(gòu)化程序設(shè)計(jì)示意圖。
圖2.2控制電機(jī)舵機(jī)的PWM信號占空比示意圖
1.順序結(jié)構(gòu)
順序結(jié)構(gòu)就是按照程序的書寫順序執(zhí)行程序。下面介紹C語言中四個(gè)常用的順序讀寫輸入輸出函數(shù)。
(1)?putchar函數(shù)。
(2)?getchar函數(shù)。
(3)?print函數(shù)。
(4)?scanf函數(shù)。
2.?條件結(jié)構(gòu)
條件結(jié)構(gòu)(亦稱選擇結(jié)構(gòu))程序的作用是,根據(jù)所指定的條件是否滿足,決定從給定的兩組操作中選擇其一。
1)?if語句的三種形式
在C語言中選擇結(jié)構(gòu)通常是用if語句來實(shí)現(xiàn)的。if語句是用來判定所給定的條件是否滿足的,并根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。
(1)?if(表達(dá)式)語句。例如:if(x>y)print("%d",x);
(2)?if(關(guān)系表達(dá)式)語句1else語句2。例如:
if(x>y)
print("%d",x)
else
print("%d",y);
(3)?if(表達(dá)式1)語句1。例如:
elseif(表達(dá)式2)語句2
elseif(表達(dá)式3)語句3
…
elseif(表達(dá)式m)語句m
else語句n
2)?switch語句
switch語句是多分支選擇語句。if語句只有兩個(gè)分支可供選擇,而實(shí)際問題中常常需用到多分支的選擇,例如,紅外傳感器是否檢測到障礙。一般形式如下:
switch(表達(dá)式)
{
case常量表達(dá)式1:
語句1
case常量表達(dá)式2:
語句2
…
case常量表達(dá)式n:
語句n
default: 語句n+1
}
3)?break與continue語句
break語句用在其他控制語句內(nèi),作用是把程序流直接轉(zhuǎn)移到循環(huán)的結(jié)尾處,break語句只能用于循環(huán)語句和switch語句兩種情況中;不管是for循環(huán),還是while循環(huán),或者是do…while循環(huán),都可以用break跳出來,但是break只能跳出一層循環(huán)。當(dāng)有多層循環(huán)嵌套的時(shí)候,break只能跳出“包裹”它的最里面的那一層循環(huán),即不執(zhí)行本次循環(huán)中break后面的語句,無法一次跳出所有循環(huán)。同樣,在多層switch嵌套的程序中,break也只能跳出其所在的距離它最近的switch語句。
3.?循環(huán)控制
1)?goto語句
goto語句為無條件轉(zhuǎn)向語句,它的一般形式為:goto語句標(biāo)號;該語句可以與if語句一起構(gòu)成循環(huán)結(jié)構(gòu),可以從循環(huán)體中跳轉(zhuǎn)到循環(huán)體外,但在C語言中可以用break語句和continue語句跳出本循環(huán)和結(jié)束本次循環(huán)。goto語句一般不宜采用,只在不得已時(shí)(例如能大大提高效率)才用。
2)?用while語句實(shí)現(xiàn)循環(huán)
while語句用來實(shí)現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)。其一般形式是:while(表達(dá)式)語句,當(dāng)表達(dá)式為非0值時(shí),執(zhí)行while語句中的內(nèi)嵌語句,其流程圖見圖2.3。其特點(diǎn)是:先判斷表達(dá)式,后執(zhí)行語句。
3)?用do…while語句實(shí)現(xiàn)循環(huán)
do…while語句的特點(diǎn)是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。其一般形式為:
do
循環(huán)體語句
while(表達(dá)式)
即先執(zhí)行一次指定的循環(huán)體語句,然后判別表達(dá)式,當(dāng)表達(dá)式的值為非0(“真”)時(shí),返回重新執(zhí)行循環(huán)體語句,如此反復(fù),直到表達(dá)式的值等于0為止,此時(shí)循環(huán)結(jié)束。
4)?用for語句實(shí)現(xiàn)循環(huán)
C語言中的for語句使用最為靈活,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況,它完全可以代替while語句。
for語句的一般表達(dá)式為:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句
for語句最簡單的應(yīng)用形式也就是最容易理解的語句形式如下:
for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語句
它的執(zhí)行過程如下:
①
先求解表達(dá)式1。
②
求解表達(dá)式2,若其值為真(非0),則執(zhí)行for語句中指定的內(nèi)嵌語句,然后執(zhí)行下面第三步;若為假(值為0),則退出循環(huán),轉(zhuǎn)到第⑤步。
③
求解表達(dá)式3。
④
轉(zhuǎn)回上面第②步,繼續(xù)執(zhí)行。
⑤
循環(huán)結(jié)束,執(zhí)行for語句下面的一條語句。
面向過程的C語言程序的基本組成可以概括為如程序2.1所示的以main關(guān)鍵字為代表的函數(shù)體結(jié)構(gòu)的組成形式。
2.2以機(jī)器人小車為例的典型問題解析2.2.1開關(guān)程序控制問題電子開關(guān)是指利用電子電路以及電力電子器件實(shí)現(xiàn)電路通斷的運(yùn)行單元,至少包括一個(gè)可控的電子驅(qū)動(dòng)器件,如晶閘管、晶體管、場效應(yīng)管、可控硅、繼電器等。例如借助機(jī)械操作使觸點(diǎn)斷開電路、接通電路、轉(zhuǎn)換電路的元件稱為機(jī)械開關(guān)。按極、位分類可分為:單極開關(guān)、多極開關(guān);按結(jié)構(gòu)分類可分為:旋轉(zhuǎn)式波段開關(guān)、直鍵(琴鍵)式波段開關(guān)、撥動(dòng)式波段開關(guān)、撥碼(撥盤)式波段開關(guān)、鈕子開關(guān)、波動(dòng)開關(guān)、微動(dòng)開關(guān)等。
1.?撥動(dòng)式開關(guān)任務(wù)
(1)?任務(wù)來源:以日常電燈開關(guān)為例,其硬件開關(guān)有撥動(dòng)式和點(diǎn)動(dòng)式,分析講解對應(yīng)軟件程序控制的編寫實(shí)踐。
(2)?任務(wù)設(shè)定:硬件開關(guān)采用撥動(dòng)式結(jié)構(gòu),圖2.4為撥動(dòng)式開關(guān)實(shí)物與程序設(shè)計(jì)流程圖。
(3)?任務(wù)解析:撥動(dòng)式結(jié)構(gòu)的硬件開關(guān)如圖2.4(a)所示,該開關(guān)能夠通過在硬件上操作開關(guān)按下與否,直接設(shè)定條件判斷開關(guān)變量為0或1,因此在程序設(shè)計(jì)中可以直接引入硬件開關(guān)變量進(jìn)行程序條件判斷與執(zhí)行。如圖2.4(b)所示為撥動(dòng)式開關(guān)程序設(shè)計(jì)流程圖。圖2.4撥動(dòng)式開關(guān)實(shí)物與程序設(shè)計(jì)流程圖
2.?點(diǎn)動(dòng)式開關(guān)任務(wù)
(1)?任務(wù)來源:在實(shí)際使用過程中,點(diǎn)動(dòng)式電子開關(guān)主要是指觸摸開關(guān)、感應(yīng)開關(guān)、聲控開關(guān)、無線開關(guān)等直接安裝在墻壁上或便攜的開關(guān)。
(2)任務(wù)設(shè)定:硬件開關(guān)采用點(diǎn)動(dòng)式結(jié)構(gòu),圖2.5是點(diǎn)動(dòng)式開關(guān)實(shí)物和程序設(shè)計(jì)流程圖。
(3)任務(wù)實(shí)現(xiàn)動(dòng)作要求:按一下開關(guān)開燈,再按一下開關(guān)關(guān)燈。
(4)任務(wù)解析:點(diǎn)動(dòng)式結(jié)構(gòu)的硬件開關(guān)如圖2.5(a)所示,該開關(guān)不能夠通過硬件上開關(guān)按下與否來直接設(shè)定條件判斷開關(guān)變量為0或1,因此在程序設(shè)計(jì)中可以直接引入用來記憶燈的狀態(tài)的變量——Light開關(guān)變量進(jìn)行程序條件判斷與執(zhí)行。如圖2.5(b)所示為點(diǎn)動(dòng)式開關(guān)程序設(shè)計(jì)流程圖。
(5)?問題討論:請大家思考比較如圖2.4、圖2.5所示的程序控制流程的不同點(diǎn),判斷程序流程圖設(shè)計(jì)中是否存在bug。圖2.5點(diǎn)動(dòng)式開關(guān)實(shí)物和程序設(shè)計(jì)流程圖
2.2.2定點(diǎn)停車問題
1.機(jī)器人前進(jìn)至黑色停車線停車任務(wù)
(1)任務(wù)來源:以制作循跡機(jī)器人小車編程為例,實(shí)現(xiàn)定點(diǎn)停車編程。圖2.6是定點(diǎn)停車任務(wù)a的路面信息數(shù)據(jù)圖和程序設(shè)計(jì)流程圖。
(2)任務(wù)設(shè)定:白色地板,黑色停車線,車頭光電傳感器指向地面。已知光電傳感器對地板讀數(shù)為80,對停車線讀數(shù)為20。如圖2.6(a)所示為定點(diǎn)停車路面信息的數(shù)字化數(shù)據(jù)圖。
(3)任務(wù)要求:機(jī)器人前進(jìn)至黑色停車線停車。
假定A為光電傳感器實(shí)時(shí)讀數(shù)變量名稱。
(4)?問題討論:圖2.6(b)所示的左、右兩個(gè)流程圖的不同點(diǎn)在哪里?圖2.6定點(diǎn)停車任務(wù)a的路面信息數(shù)據(jù)圖和程序設(shè)計(jì)流程圖
2.?機(jī)器人前進(jìn)至灰色停車線停車任務(wù)
(1)?任務(wù)設(shè)定:將停車線改為灰色。已知光電傳感器對地板讀數(shù)為80,光電傳感器對停車線讀數(shù)未知。圖2.7是定點(diǎn)停車任務(wù)b的路面信息數(shù)字化數(shù)據(jù)圖。
(2)?任務(wù)要求:機(jī)器人前進(jìn)至停車線停車。
(3)?任務(wù)出現(xiàn)情況:機(jī)器人前進(jìn)至停車線不停車,為什么?
(4)?問題討論:圖2.7中灰線的作用。圖2.7定點(diǎn)停車任務(wù)b的路面信息數(shù)字化數(shù)據(jù)圖
3.?機(jī)器人定點(diǎn)停車任務(wù)
(1)?任務(wù)設(shè)定:白色地板,黑色停車線,車頭光電傳感器指向地面。已知光電傳感器對地板的讀數(shù)為80,對停車線的讀數(shù)為20。圖2.8是定點(diǎn)停車任務(wù)的程序設(shè)計(jì)流程圖。
(2)?任務(wù)要求:機(jī)器人跨過第一條停車線,在第二條停車線停車。
(3)?任務(wù)出現(xiàn)情況:機(jī)器人前進(jìn)至第一條線就停車,為什么?
(4)?問題討論:如圖2.8所示的定點(diǎn)停車任務(wù)程序設(shè)計(jì)流程圖是否能完成定點(diǎn)停車任務(wù)?圖2.8定點(diǎn)停車任務(wù)的程序設(shè)計(jì)流程圖
2.2.3多路判斷綜合問題
1.?仿生昆蟲觸角機(jī)器人小車多路判斷任務(wù)
(1)?任務(wù)來源:以制作機(jī)器人小車的多觸覺編程示例實(shí)現(xiàn)多路判斷目標(biāo)。圖2.9是昆蟲機(jī)器人及任務(wù)程序設(shè)計(jì)流程圖,如圖2.9(a)所示為仿生昆蟲觸角機(jī)器人小車,圖2.9(b)為編程設(shè)計(jì)流程圖。
(2)?任務(wù)設(shè)定:仿生昆蟲觸角機(jī)器人小車的車頭左右各有一觸角。左觸覺傳感器為A,被碰觸時(shí)A=1,右觸覺傳感器為B,被碰觸時(shí)B=1。
(3)?任務(wù)實(shí)現(xiàn)動(dòng)作要求:讓機(jī)器人小車像昆蟲一樣靠觸角避障。
(4)?問題討論:請大家思考按圖2.9(b)所示設(shè)計(jì)流程圖能否完成多路目標(biāo)判斷的任務(wù)。圖2.9昆蟲機(jī)器人及任務(wù)程序設(shè)計(jì)流程圖
2.?采用定時(shí)器設(shè)計(jì)響鈴任務(wù)
(1)?任務(wù)對象:通過定時(shí)器的調(diào)用,編程設(shè)計(jì)響鈴任務(wù)。圖2.10是定時(shí)器不同延時(shí)的響鈴任務(wù)程序設(shè)計(jì)流程圖。
(2)?任務(wù)設(shè)定:輸出設(shè)備有屏幕和喇叭。輸入設(shè)備有左鍵(L)、右鍵(R)、確認(rèn)鍵(OK)。
(3)?任務(wù)具體要求:定時(shí)3秒后響鈴,屏幕上有倒計(jì)時(shí)。
(4)?任務(wù)解析:圖2.10(a)為定時(shí)器延時(shí)3?s響鈴任務(wù)編程設(shè)計(jì)流程圖,圖2.10(b)為定時(shí)器延時(shí)300?ms響鈴任務(wù)設(shè)計(jì)流程圖,請大家參考設(shè)計(jì)。
(5)?問題討論:請大家思考按圖2.10設(shè)計(jì)流程圖能否完成定時(shí)任務(wù)。圖2.10定時(shí)器不同延時(shí)的響鈴任務(wù)程序設(shè)計(jì)流程圖
2.2.4智能規(guī)劃問題
針對如圖2.11所示復(fù)雜路徑智能規(guī)劃問題,即黑色S形彎曲復(fù)雜路徑實(shí)現(xiàn)穩(wěn)準(zhǔn)的循跡任務(wù),采取了復(fù)雜路徑的智能規(guī)劃控制策略,首先,結(jié)合具體S形彎曲路徑參數(shù)進(jìn)行有效循跡路徑設(shè)計(jì),將更加有利于智能車縮短完成行駛路段的時(shí)間。其次,實(shí)際上S形彎道比都是直進(jìn)直出的路線有一定的偏差,設(shè)計(jì)S形彎道控制規(guī)則時(shí)不能單一地使小車沿直線行駛,要保持一定范圍的轉(zhuǎn)角控制,即讓舵機(jī)在一個(gè)較小的范圍調(diào)整轉(zhuǎn)角即可,否則小車有可能沖出賽道。
為了實(shí)現(xiàn)穩(wěn)準(zhǔn)快地循跡黑線,我們采取了如圖2.11所示三個(gè)不同的帶箭頭紅色路線循跡的路徑規(guī)劃曲線圖,分別采取了不同的路徑規(guī)劃算法,通過計(jì)算不同路徑控制機(jī)器人小車運(yùn)動(dòng)軌跡,實(shí)現(xiàn)了三種最優(yōu)路徑規(guī)劃結(jié)果。其中如圖2.11(a)所示為采用一般控制的路徑規(guī)劃優(yōu)化算法,即未優(yōu)化的智能車行駛軌跡,但這并不是最佳的方法,因?yàn)榘凑誗形行駛,既加長了行駛路線又使得智能車不斷搖擺,使智能車的穩(wěn)定性變得很差;圖2.11(b)中采用了模糊控制的路徑規(guī)劃算法;圖2.11(c)中為自適應(yīng)的路徑規(guī)劃算法。
這三種不同算法其復(fù)雜性控制參數(shù)的設(shè)定,需要結(jié)合機(jī)器人的慣性作用力和實(shí)際場地地面摩擦力的綜合情況調(diào)試完成。最理想的方法是讓其不隨S彎轉(zhuǎn)動(dòng),以直線通過S彎,因此智能小車規(guī)劃行駛軌跡如圖2.11(b)(c)所示。圖2.11復(fù)雜路徑智能規(guī)劃問題
圖2.12所示為彎道內(nèi)側(cè)行駛軌跡示意圖。其中小彎的路徑進(jìn)一步規(guī)劃是:對于小彎,控制時(shí),由于彎道很急,多級的轉(zhuǎn)角應(yīng)該盡快達(dá)到較大的轉(zhuǎn)角幅度,以免智能車沖出彎道,于是在設(shè)計(jì)模糊控制規(guī)則時(shí)可以使輸出量很大。同時(shí)在轉(zhuǎn)彎時(shí),可知彎道內(nèi)側(cè)的距離小于彎道外側(cè)的距離,如果智能車能沿著彎道內(nèi)側(cè)行駛則可以節(jié)省時(shí)間,也可以減小沖出賽道的幾率,這就要求舵機(jī)的轉(zhuǎn)角要足夠大、轉(zhuǎn)速要足夠快。圖2.12彎道內(nèi)側(cè)行駛軌跡示意圖
2.2.5機(jī)器人的視覺技術(shù)簡介
機(jī)器人視覺指用計(jì)算機(jī)實(shí)現(xiàn),使機(jī)器人具有人類的視覺功能,也就是使機(jī)器人能對客觀世界的三維場景具有感知、識(shí)別和理解能力。機(jī)器人視覺的主要研究目標(biāo)是建成機(jī)器人視覺系統(tǒng),完成各種視覺任務(wù)。
(1)?圖像獲取。圖像獲取是機(jī)器人視覺中的第一步。圖像獲取的過程是模仿人類視覺來完成的。
(2)?數(shù)字化圖像。數(shù)字化圖像是指因?yàn)閿z像頭輸出的視頻信號還不能直接被計(jì)算機(jī)使用,必須通過數(shù)字化處理將視頻信號變成可以被計(jì)算機(jī)使用的信息化過程。這個(gè)過程一般是由攝像頭通過數(shù)據(jù)線把模擬信號傳送到視頻采集卡上,轉(zhuǎn)化為數(shù)字信號,再送到主機(jī)系統(tǒng)中,然后由圖像處理程序進(jìn)行處理。
(3)?圖像分割。圖像分割是指在機(jī)器人視覺系統(tǒng)中,由于攝像機(jī)的位置和環(huán)境是已知的,因此,可通過一些基本的幾何知識(shí)來描述和確定圖像中目標(biāo)的形狀及空間位姿。
(4)?目標(biāo)圖像識(shí)別。目標(biāo)圖像識(shí)別系統(tǒng)是通過圖像分割完成圖像的二值化,從而可以把目標(biāo)從圖像之中檢測出來。經(jīng)過圖像識(shí)別之后,由控制器將處理結(jié)果發(fā)送給機(jī)器人,機(jī)器人會(huì)對此信號進(jìn)行避碰和迎擊。
1.?攝像頭
如果沒有“眼睛”,機(jī)器人只能像無頭蒼蠅一樣四處亂撞,我們用攝像頭來實(shí)現(xiàn)機(jī)器人的“眼睛”。比如實(shí)驗(yàn)室常用一款Vimicro301攝像頭,圖2.13所示即為Vimicro301攝像頭產(chǎn)品實(shí)物圖。圖2.13
Vimicro301攝像頭實(shí)物圖
Vimicro301攝像頭產(chǎn)品參數(shù)如表2.3所示。
2.圖像采集與攝像模型
機(jī)器視覺是光學(xué)成像問題的逆問題,即通過對三維世界所感知的二維圖像來提取出三維景物的幾何物理特征。在成像過程中,有下述三個(gè)方面的影響是至關(guān)重要的:
(1)?三維場景投影成二維圖像過程中損失了大量信息。
(2)?成像灰度受場景中諸多因素的影響。
(3)?成像過程中或多或少地引入了畸變和噪聲。
3.圖像預(yù)處理
機(jī)器人視覺系統(tǒng)圖像預(yù)處理主要包括:
(1)?圖像獲取。圖像獲取是在機(jī)器視覺中,模仿人類的視覺過程進(jìn)行的處理過程。
(2)?圖像增強(qiáng)。圖像增強(qiáng)是根據(jù)所處環(huán)境的光照條件和所選擇的顏色模型,對視覺系統(tǒng)所用到的有關(guān)顏色的參數(shù)進(jìn)行優(yōu)化。
(3)?圖像恢復(fù)。圖像恢復(fù)是指對光學(xué)鏡頭幾何形變的矯正,補(bǔ)償由于光學(xué)鏡頭所帶來的圖像形變。
(4)?圖像壓縮。圖像壓縮是指以較少的比特有損或無損地表示原來的像素矩陣的技術(shù),也稱圖像編碼,目的是減少圖像數(shù)據(jù)中的冗余信息從而用更加高效的格式存儲(chǔ)和傳輸數(shù)據(jù)。
4.圖像識(shí)別及應(yīng)用
圖像識(shí)別包括圖像分割和目標(biāo)識(shí)別,它是整個(gè)視覺系統(tǒng)的核心工作。為了使目標(biāo)從圖像背景中分離出來,在機(jī)器人視覺系統(tǒng)中,攝像機(jī)的位置和環(huán)境是已知的,因此,可通過一些基本的幾何知識(shí)來描述和確定圖像中目標(biāo)的形狀及空間位姿。尋找目標(biāo)與非目標(biāo)的差異過程稱為目標(biāo)識(shí)別。而根據(jù)所識(shí)別的不同目標(biāo)之間的某些特征差異對圖像進(jìn)行區(qū)域劃分則稱為圖像分割。對目標(biāo)進(jìn)行辨識(shí),首先需要對圖像中的目標(biāo)進(jìn)行分割。
通過圖像分割,使得數(shù)字圖像二值化,即將圖像中的所有像素劃分成目標(biāo)和非目標(biāo)兩類,對應(yīng)目標(biāo)像素的點(diǎn)置1,而其他像素點(diǎn)置0,在經(jīng)過圖像的二值化之后,可以把目標(biāo)從圖像之中檢測出來。經(jīng)過圖像識(shí)別之后,控制器將處理結(jié)果發(fā)送給機(jī)器人,機(jī)器人會(huì)對找到所要辨識(shí)的目標(biāo)信號進(jìn)行避碰和迎擊。
2.3機(jī)器人移動(dòng)機(jī)構(gòu)設(shè)計(jì)問題解析
2.3.1輪式組合移動(dòng)結(jié)構(gòu)輪式組合移動(dòng)結(jié)構(gòu)是一種很常見的車輛移動(dòng)機(jī)構(gòu),日常街道上跑著的車輛,除了摩托車、自行車,輪式車輛一般不止2個(gè)輪子同時(shí)著地,這樣能夠讓車輛在任何時(shí)候都保持平衡。如表2.4所示為電機(jī)與底盤的運(yùn)動(dòng)關(guān)系對照表,車輛需保持前進(jìn)或后退狀態(tài)時(shí),給左右兩邊的輪子同樣向前或向后的電機(jī)轉(zhuǎn)速,底盤就會(huì)前進(jìn)或者后退;車輛需在轉(zhuǎn)彎狀態(tài)時(shí),需給左右兩邊的輪子不一樣的轉(zhuǎn)速,底盤就會(huì)轉(zhuǎn)向。
對于只有兩個(gè)輪子的結(jié)構(gòu),讓其平衡是最大的工作,下面我們分析常見的輪式底盤結(jié)構(gòu)。如表2.5所示為常見輪子底盤結(jié)構(gòu)對照表。這里以表2.5中序號5小車輪子底盤結(jié)構(gòu)為例來設(shè)計(jì)輪式機(jī)器人,我們通過控制四個(gè)電機(jī)讓機(jī)器人能夠靈活運(yùn)動(dòng)起來,四個(gè)電機(jī)轉(zhuǎn)向和機(jī)器人底盤的運(yùn)動(dòng)方向有一定的對應(yīng)關(guān)系。
2.3.2全向輪結(jié)構(gòu)
全向機(jī)器人的根本特征是使用全向輪,可以任意方向行進(jìn)。首先我們需要了解一下什么是全向輪,與常規(guī)的輪子有何區(qū)別。如圖2.14所示是當(dāng)前比較常見的全向輪,根據(jù)載荷的不同,全向輪的大小、面積、輥?zhàn)訑?shù)量各有不同。圖2.14各種全向輪
“創(chuàng)意之星”軟件系統(tǒng)高級版提供了四個(gè)全向輪,如圖2.15有3個(gè)或4個(gè)全向輪的底盤,這里我們來用全向輪搭建一個(gè)移動(dòng)底盤。移動(dòng)底盤如何布置全向輪,布置幾個(gè)全向輪才能比較合適呢?我們來進(jìn)行一下分析:
2輪式:2輪式底盤無法保持平衡,必須配合萬向輪使用。
3輪式:3點(diǎn)可以支撐起一個(gè)平面,所以3輪式底盤可以保持平衡。我們可以按圖2.15(a)所示布置3個(gè)全向輪。圖中1號、2號全向輪按箭頭方向運(yùn)動(dòng)時(shí),3號輪子作為從動(dòng)輪運(yùn)動(dòng)(輥?zhàn)愚D(zhuǎn)動(dòng)),整個(gè)底盤的運(yùn)動(dòng)方向由3個(gè)全向輪的合成運(yùn)動(dòng)決定。當(dāng)給定3個(gè)全向輪不同的運(yùn)動(dòng)方向和速度時(shí),即可合成任意方向的運(yùn)動(dòng)。圖2.15
3個(gè)與4個(gè)全向輪的底盤
4輪式:如圖2.15(b)所示,4個(gè)全向輪對稱分布在底板上。將4個(gè)輪子的運(yùn)動(dòng)矢量合成即可得到前進(jìn)、后退、轉(zhuǎn)向、側(cè)移等任意方向的運(yùn)動(dòng)。根據(jù)上述分析可知,3輪和4輪都是可行的方案,但是3輪的動(dòng)力明顯要小于4輪方案的動(dòng)力。例如,前進(jìn)時(shí)3輪方案只有2個(gè)輪子驅(qū)動(dòng),第3個(gè)輪子為從動(dòng),而4輪方案中每個(gè)輪子都可以分解出前進(jìn)分量。另外,機(jī)器人運(yùn)動(dòng)時(shí),最常用的運(yùn)動(dòng)是前進(jìn)、后退、側(cè)移、旋轉(zhuǎn),而3輪方案的側(cè)移不好控制,故選擇4輪全向構(gòu)型。請按圖2.16所示搭建過程搭建全向輪底盤。圖2.16全向輪底盤的搭建
2.3.3履帶結(jié)構(gòu)
多自由度機(jī)器人關(guān)節(jié)太少,不具備行走能力。我們主要對履帶行走結(jié)構(gòu)進(jìn)行討論。機(jī)器人搏擊的主要力量來自輪胎的摩擦力,而摩擦力=正壓力×摩擦系數(shù),所以當(dāng)履帶式結(jié)構(gòu)套在輪子上時(shí),能夠增大與地面接觸面積,增大機(jī)器人輪子移動(dòng)摩擦力,適應(yīng)變化的地形,增強(qiáng)抓地的能力和爬坡的能力;能夠提升機(jī)器人的移動(dòng)穩(wěn)定性。
1.?同步帶/齒形帶
同步帶/齒形帶傳動(dòng)具有帶傳動(dòng)、鏈傳動(dòng)和齒輪傳動(dòng)的優(yōu)點(diǎn)。同步帶傳動(dòng)時(shí)帶與帶輪是靠嚙合傳遞運(yùn)動(dòng)的動(dòng)力,帶與帶輪間無相對滑動(dòng),能保證準(zhǔn)確的傳動(dòng)比。同步帶通常以鋼絲繩或玻璃纖維繩為抗拉體,氯丁橡膠或聚氨酯為基體,這種履帶薄而且輕,故可用于較高速度。傳動(dòng)時(shí)的線速度可達(dá)50?m/s,傳動(dòng)比可達(dá)10,效率可達(dá)98%。傳動(dòng)噪音比帶傳動(dòng)、鏈傳動(dòng)和齒輪傳動(dòng)小,耐磨性好,不需用油潤滑,壽命比摩擦帶長。其主要缺點(diǎn)是制造和安裝精度要求較高,中心距要求較嚴(yán)格。所以同步帶廣泛應(yīng)用于要求傳動(dòng)比準(zhǔn)確的中、小功率傳動(dòng)中,如家用電器、計(jì)算機(jī)、儀器及機(jī)床、化工、石油等機(jī)械。如圖2.17所示為幾種常見的同步帶和帶輪。圖2.17幾種常見的同步帶和帶輪
2.?活節(jié)履帶
活節(jié)履帶是將履帶分解為單獨(dú)的履帶塊,通過連接軸對接各個(gè)履帶塊?;罟?jié)履帶的最大缺點(diǎn)是效率較低,且承載能力有限,需克服履帶意外脫出的問題;其優(yōu)點(diǎn)是履帶設(shè)計(jì)較簡單,成本較低,多用于小型機(jī)器人。如圖2.18為履帶底盤的搭建過程示意。圖2.18履帶底盤的搭建過程
2.3.4足(腿)式結(jié)構(gòu)
大自然的各種生物除了水里的魚和微生物,其他的生物一般都有或多或少的腿。自然界中生物的活動(dòng)環(huán)境是非結(jié)構(gòu)化、粗糙、復(fù)雜的,昆蟲需要翻越的障礙可以比它們的高度高出一個(gè)數(shù)量級。腿式運(yùn)動(dòng)以一系列機(jī)器人與地面之間的點(diǎn)接觸為基本特征,其優(yōu)點(diǎn)是具有在復(fù)雜地形上的自適應(yīng)性和機(jī)動(dòng)性,其缺點(diǎn)是動(dòng)力、控制、結(jié)構(gòu)的復(fù)雜性高。足(腿)式機(jī)器人就是把腿用作主要行進(jìn)方式的機(jī)器人。如圖2.19所示為各種腿式機(jī)器人。圖2.19各種腿式機(jī)器人
一般在研究腿式機(jī)器人的特征時(shí),主要考慮以下幾個(gè)方面:腿的數(shù)目(和地面接觸點(diǎn)的數(shù)目);腿的自由度;靜態(tài)和動(dòng)態(tài)穩(wěn)定性。
1.?腿的數(shù)目
大型的哺乳動(dòng)物都有4條腿,而昆蟲則更多,它們可能有6條、8條甚至幾十上百條腿。人僅靠兩條腿就可以完美地行走,甚至可以用單腿跳躍前進(jìn),不過這也是有代價(jià)的,維持平衡需要更復(fù)雜的主動(dòng)控制。
2.?腿的自由度
生物種類繁多,各種生物遵循著不同的演化過程,而腿是生物軀體最重要的一部分之一,其構(gòu)造也各式各樣。毛毛蟲的腿有1個(gè)自由度,通過構(gòu)建體腔和增加壓力可以使腿伸展,通過釋放液壓可以使腿回收。而另一個(gè)極端方向,人的腿有7個(gè)以上的主自由度,18個(gè)以上的肌肉群,如果算上腳趾頭的自由度和肌肉群,數(shù)量將非常大。
機(jī)器人需要多少自由度呢?這個(gè)是沒有定論的,就像不同的生物在不同的生活環(huán)境和生活方式的刺激下,進(jìn)化出了不同構(gòu)造的腿一樣,由于機(jī)器人運(yùn)用場合的不同,對自由度的要求也不一樣。圖2.20為機(jī)器人不同自由度的腿示意,一般情況下,圖2.20(a)中機(jī)器人的腿有兩個(gè)關(guān)節(jié),可以實(shí)現(xiàn)抬腿、向前擺動(dòng)、著地后蹬等一系列動(dòng)作。如果需要面對更復(fù)雜的任務(wù)要求,需要再增加1個(gè)自由度,如圖2.20(b)。相比之下,仿人機(jī)器人的腿的自由度更多,結(jié)構(gòu)更復(fù)雜,例如ASIMO每條腿都有6個(gè)自由度。圖2.20機(jī)器人不同自由度的腿示意圖
3.?穩(wěn)定性
在此我們需要先明確兩個(gè)和穩(wěn)定性相關(guān)的概念:靜平衡、動(dòng)平衡。在機(jī)器人研究中,我們將不需要依靠運(yùn)動(dòng)過程中產(chǎn)生的慣性力而實(shí)現(xiàn)的平衡叫作靜平衡。比如兩輪自平衡機(jī)器人就沒有辦法實(shí)現(xiàn)靜平衡。機(jī)器人運(yùn)動(dòng)過程中,如果重力、慣性力、離心力等讓機(jī)器人處于一個(gè)可持續(xù)的穩(wěn)定狀態(tài),我們將這種穩(wěn)定狀態(tài)稱為動(dòng)平衡狀態(tài)。圖2.21所示為自平衡機(jī)器人小車的受力示意圖。圖2.21自平衡機(jī)器人小車的受力示意圖
圖2.21中示出了兩輪自平衡機(jī)器人小車的輪子向前滾動(dòng)時(shí),地面的摩擦力(?f?)、支持力(N)、重力(G)、慣性力(F)的矢量方向和讓機(jī)器人保持向前傾斜一個(gè)小角度的狀態(tài)。這個(gè)過程中輪子必須不斷地加速,慣性力(F)保持不變,從而保證合力不變。通過分析我們可以知道,機(jī)器人的腿越多,穩(wěn)定性越好。第三章Arduino/C語言編程開發(fā)環(huán)境3.1
Arduino/C語言基礎(chǔ)3.2Arduino平臺(tái)體系結(jié)構(gòu)3.3
Arduino/C語言的特點(diǎn)3.4
Arduino基礎(chǔ)應(yīng)用實(shí)戰(zhàn)
3.1
Arduino/C語言基礎(chǔ)
3.1.1
Arduino/C語言概述
Arduino平臺(tái)是一個(gè)能夠用來感應(yīng)和控制現(xiàn)實(shí)物理世界的計(jì)算平臺(tái),由一個(gè)基于單片機(jī)、開放源碼的硬件平臺(tái)和開發(fā)環(huán)境組成。圖3.1所示為北京信息科技大學(xué)舉辦的Arduino平臺(tái)輪式機(jī)器人競速競賽中學(xué)生備賽場景的照片。圖3.1
Arduino機(jī)器人競速競賽學(xué)生備賽場景
在C語言編程中,為了定義變量、表達(dá)語句功能和對一些文件進(jìn)行預(yù)處理,還必須用到一些具有特殊意義的字符,這就是關(guān)鍵字。關(guān)鍵字已被編譯系統(tǒng)本身使用,所以用戶編寫程序時(shí)不能夠使用這些關(guān)鍵字來作為標(biāo)識(shí)符。Arduino平臺(tái)語言是建立在C/C++基礎(chǔ)上的,其關(guān)鍵字和主要符號有以下幾類:
(1)?類型說明符類。
(2)?語句定義符類。
(3)?預(yù)處理命令符類。
(4)?其他符號類。
3.1.2
ArduinoIDE
Arduino集成開發(fā)環(huán)境(ArduinoIDE)由工具欄、狀態(tài)窗口以及串口監(jiān)視器窗口共三部分組成,包含了一個(gè)用于寫代碼的文本編輯器、一個(gè)消息區(qū)、一個(gè)文本控制臺(tái)以及一個(gè)帶有常用功能按鈕和文本菜單的工具欄。以Windows為例,其他操作系統(tǒng)上的軟件安裝都是如此,Arduino開源的IDE可以免費(fèi)下載得到,其driver目錄內(nèi)有控制板usb芯片驅(qū)動(dòng)程序,地址是http://arduino.cc/en/Main/Softwarearduino.exe。
安裝ArduinoIDE的基本步驟如下:
第一步:打開Arduino官網(wǎng)地址arudino.cc,點(diǎn)擊圖中畫圈的地方;
第二步:在右側(cè)藍(lán)色方框內(nèi)選擇與自己電腦操作系統(tǒng)對應(yīng)的安裝包,Arduino軟件(IDE)1.0版本之后保存文件的擴(kuò)展名是.ino。
3.2
Arduino平臺(tái)體系結(jié)構(gòu)
Arduino機(jī)器人套件是一套由近百個(gè)基本“積木”單元組合而成的套件包;這些“積木”包括傳感器單元、執(zhí)行器單元、控制器單元、通用機(jī)構(gòu)零件等。Arduino平臺(tái)體系結(jié)構(gòu)主要包含兩部分:硬件部分是可以用來做電路連接的Arduino電路板,可以搭載其他外部組件,如電機(jī)、燈泡、攝像頭、蜂鳴器等配件完成硬件機(jī)器的組裝;另外一部分則是ArduinoIDE,是計(jì)算機(jī)中的程序開發(fā)環(huán)境,采用該IDE進(jìn)行程序編寫進(jìn)而實(shí)現(xiàn)控制Arduino硬件部分。如圖3.2所示為四種類型應(yīng)用較廣泛的Arduino平臺(tái)控制板。
如圖3.2(a)中的ArduinoYUN是以ArduinoLeonardo(ATmega32U4)為基礎(chǔ)、內(nèi)嵌獨(dú)立的AtherosAR9331晶片無線路由處理器,組成了一個(gè)具有Wifi功能的微控制器,也是Arduino家族中首個(gè)WiFi系的成員,將嵌入式Linux裝置、Arduino和WiFi傳輸器以及其他拓展板全部整合到一個(gè)開發(fā)板上。而圖3.2(b)中ArduinoDUE采用32bitCortex-M3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度外資企業(yè)部分股權(quán)轉(zhuǎn)讓與合資合同范本
- 2025成都海裝修項(xiàng)目智能家居系統(tǒng)集成與優(yōu)化合同
- 2025版工廠設(shè)備維護(hù)保養(yǎng)與檢測服務(wù)合同范本
- 2025版大數(shù)據(jù)技術(shù)培訓(xùn)服務(wù)合同模板
- 二零二五年度公司向個(gè)人借款抵押擔(dān)保合同
- 口腔感染防控新標(biāo)準(zhǔn)
- 第5章練習(xí)卷(進(jìn)階)小學(xué)數(shù)學(xué)三年級上冊 人教新版同步單元分層作業(yè)(含解析)
- 司變革管理制度
- 2025年注冊測繪師考試測繪地理信息工程設(shè)計(jì)與測量技術(shù)挑戰(zhàn)與預(yù)測試卷
- 2025年職業(yè)指導(dǎo)師(初級)考試試卷:面試技巧解析
- 2025合同協(xié)議范本采購合同補(bǔ)充協(xié)議
- 2025年中國鐵路呼和浩特局集團(tuán)有限公司招聘高校畢業(yè)生406人(三內(nèi)蒙古)筆試歷年參考題庫附帶答案詳解
- 分級護(hù)理管理制度培訓(xùn)
- 慶?;顒?dòng)證件管理辦法
- 全國博士后流動(dòng)站一覽表
- 重點(diǎn)實(shí)驗(yàn)室建設(shè)保障措施
- 社會(huì)組織薪酬管理制度
- 調(diào)度督辦事項(xiàng)管理制度
- 培訓(xùn)學(xué)校藝體生管理制度
- 學(xué)校十五五發(fā)展規(guī)劃【范本模板】
- 模擬飛行理論試題及答案
評論
0/150
提交評論