機(jī)器人綜合項(xiàng)目實(shí)踐教程 課件 第1、2章 緒論;機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)_第1頁(yè)
機(jī)器人綜合項(xiàng)目實(shí)踐教程 課件 第1、2章 緒論;機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)_第2頁(yè)
機(jī)器人綜合項(xiàng)目實(shí)踐教程 課件 第1、2章 緒論;機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)_第3頁(yè)
機(jī)器人綜合項(xiàng)目實(shí)踐教程 課件 第1、2章 緒論;機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)_第4頁(yè)
機(jī)器人綜合項(xiàng)目實(shí)踐教程 課件 第1、2章 緒論;機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩164頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章

緒論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)在無(wú)論成年人還是兒童都經(jīng)常接觸到機(jī)器人這個(gè)概念,比如20世紀(jì)80年代日本動(dòng)畫片《鐵臂阿童木》中的機(jī)器少年阿童木,就給我們留下了深刻的印象。他智慧勇敢,成為了當(dāng)時(shí)的時(shí)代英雄,少年兒童的偶像。讀過(guò)科幻巨匠艾薩克·阿西莫夫《機(jī)器人》系列科幻作品的同學(xué),想必對(duì)強(qiáng)大的機(jī)器人R·丹尼爾·奧利瓦印象深刻。

機(jī)器人在汽車制造業(yè)、電子制造業(yè)等領(lǐng)域,已經(jīng)成為支柱技術(shù)而被廣泛使用。智能機(jī)器人成為制造領(lǐng)域中具有代表意義的前沿、共性技術(shù),正在引領(lǐng)制造業(yè)中相關(guān)技術(shù)的飛速發(fā)展。從古至今,人類就一直對(duì)未知領(lǐng)域的探索充滿興趣,如對(duì)月亮的憧憬,對(duì)太空的好奇,對(duì)大海的敬畏以及對(duì)地藏的渴求等。而由于人類的活動(dòng)能力有限,所以希望能研究出各種智能機(jī)器來(lái)代替人去完成人類不能完成的任務(wù)。

眾所周知,成熟的機(jī)器人技術(shù)產(chǎn)品越來(lái)越受到用戶的追捧和成為時(shí)尚家庭的標(biāo)配,比如大量的玩具機(jī)器人和服務(wù)機(jī)器人已經(jīng)推向市場(chǎng),并取得了良好的效益,例如Wowwee.Inc推出的Robosapien機(jī)器人,國(guó)內(nèi)推出的清掃機(jī)器人等。當(dāng)前,高校、研究機(jī)構(gòu)乃至企業(yè),來(lái)自各方面的研究人員不斷進(jìn)入機(jī)器人的研究領(lǐng)域,可以說(shuō)智能機(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)的場(chǎng)景,有與中小學(xué)共同開展的機(jī)器人科普教育活動(dòng),有機(jī)器人工程及技術(shù)競(jìng)賽交流研究活動(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)部分場(chǎ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ī)械、信息工程、遙感等。而滿足太空探索和國(guó)家安全需求的機(jī)器人,可攜帶武器在戰(zhàn)場(chǎng)上替代士兵的軍用地面移動(dòng)機(jī)器人,以及可自主移動(dòng)車輛等廣義的機(jī)器人,已經(jīng)在發(fā)達(dá)國(guó)家進(jìn)入軍隊(duì)或其他實(shí)用領(lǐng)域。

機(jī)器人應(yīng)用的發(fā)展已處于關(guān)鍵階段,各種各樣的機(jī)器人不但已經(jīng)成為現(xiàn)代高科技的應(yīng)用載體,而且自身也迅速發(fā)展成為一個(gè)相對(duì)獨(dú)立的研究與交叉技術(shù)領(lǐng)域,形成了特有的理論研究和學(xué)術(shù)發(fā)展方向,具有鮮明的學(xué)科特色。可以預(yù)見,機(jī)器人技術(shù)將會(huì)滲透到我們未來(lái)生活的方方面面。而且,從瞬息萬(wàn)變的社會(huì)發(fā)展中我們已經(jīng)可以切身地感受到,機(jī)器人的時(shí)代已悄悄來(lái)臨。

1.2機(jī)器人的分類

一般認(rèn)為,機(jī)器人是一種自動(dòng)化的機(jī)器。與普通的自動(dòng)化機(jī)器有所不同的是,所謂機(jī)器人,必定具備一些與人或生物相似的智能能力,如感知能力、規(guī)劃能力、動(dòng)作能力和協(xié)同能力。所以,機(jī)器人與普通機(jī)器的最主要區(qū)別是機(jī)器人具有人或生物的某些智能能力,如看到墻壁可以躲開,可以尋找設(shè)定目標(biāo),與外界交流等。中國(guó)科學(xué)家之所以把ROBOT意譯為“機(jī)器人”,而不是“智能機(jī)器”,以上說(shuō)明也可能是其中的原因之一吧。

我們可以從不同的角度對(duì)智能機(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ī)器人,或簡(jiǎn)稱為空軍機(jī)器人、海軍機(jī)器人和陸軍機(jī)器人。

1.3人

通常認(rèn)為,人類的智能又可以分為如下幾類:

(1)?記憶力。

記憶力指對(duì)于事物的記憶能力,包括短期和長(zhǎng)期記憶力,形象和抽象記憶力等。

(2)?形象力。形象力指在記憶的基礎(chǔ)上形成形象的能力,也可以說(shuō)是感性認(rèn)識(shí)能力。

(3)?抽象力。抽象力指在形象的基礎(chǔ)上形成抽象概念的能力,也可以說(shuō)是理性認(rèn)識(shí)能力。

(4)?信仰力。信仰力指在形象和抽象思維的基礎(chǔ)上形成的對(duì)于人生和世界總的觀念的能力。

(5)?創(chuàng)造力。創(chuàng)造力指形成新的形象、理論、信仰的能力。

目前衡量人類智能比較常用的理論有智能商數(shù)學(xué)說(shuō)和多元智能理論兩種。

1)?智能商數(shù)學(xué)說(shuō)

(1)?智能商數(shù),亦稱智力商數(shù)(IntelligenceQuotient,IQ)。智力商數(shù)是智力測(cè)驗(yàn)所測(cè)出的數(shù)值,是對(duì)人智力水平的一種表示方式,它代表一種潛在能力,提供記憶、運(yùn)算、問(wèn)題解決等生存必備的能力。

(2)?情緒商數(shù)(EmotionQuotient,EQ)。情緒商數(shù)指面對(duì)多元的社會(huì)變化沖擊,情緒的穩(wěn)定程度。商數(shù)愈高,表示能承受變動(dòng)的能力愈強(qiáng);高EQ不但能順應(yīng)變化的環(huán)境,同時(shí)利用EQ可以調(diào)適環(huán)境,進(jìn)而創(chuàng)造對(duì)環(huán)境的一種積極面情緒。

(3)?判斷商數(shù)(JudgmentQuotient,JQ)。

判斷商數(shù)指能進(jìn)行好的分析與好的判斷的能力。培養(yǎng)高判斷商數(shù),需從分析能力培養(yǎng)起。未來(lái)是與時(shí)間競(jìng)賽,因此要做出好的決策,就須依賴高的判斷商數(shù)。

(4)?逆境商數(shù)(AdversityQuotient,AQ)。

逆境商數(shù)指當(dāng)個(gè)人或組織面對(duì)逆境時(shí),對(duì)待逆境的反應(yīng)能力。一個(gè)人AQ愈高,愈能彈性地面對(duì)逆境,積極樂(lè)觀地接受困難及挑戰(zhàn),愈挫愈勇,最終表現(xiàn)卓越。相反,AQ低的人則會(huì)感到沮喪、迷失,處處抱怨,逃避挑戰(zhàn),往往半途而廢,最終一事無(wú)成。

(5)?創(chuàng)意商數(shù)(CreationQuotient,CQ)。創(chuàng)意商數(shù)指與眾不同即創(chuàng)意的能力。生活中各種事務(wù)的處理、工作中各種問(wèn)題的解決中,若能有新的方式、新的點(diǎn)子,且處理的效果比其他舊有方式的效果好,則這種新點(diǎn)子、新方式產(chǎn)生的能力稱為創(chuàng)意商數(shù)。

(6)?健康商數(shù)(HealthQuotient,HQ)。健康商數(shù)指?jìng)€(gè)人身心狀態(tài)的調(diào)適能力。例如,對(duì)健康知識(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ù)用來(lái)衡量一個(gè)人的理財(cái)能力和創(chuàng)造財(cái)富的智慧程度。理財(cái)商數(shù)包括兩方面的能力:一是正確認(rèn)識(shí)金錢及金錢規(guī)律的能力;二是正確使用金錢及金錢規(guī)律的能力。

2)?多元智能理論

多元智能理論是由美國(guó)哈佛大學(xué)教育研究院的心理發(fā)展學(xué)家霍華德?加德納(HowardGardner)于1983年提出的。加德納研究腦部受創(chuàng)傷的病人,發(fā)覺(jué)到他們?cè)趯W(xué)習(xí)能力上的差異,從而提出了本理論。

(1)?語(yǔ)言智能。語(yǔ)言智能主要是指有效地運(yùn)用口頭語(yǔ)言及文字的能力,即聽說(shuō)讀寫能力,表現(xiàn)為個(gè)人能夠順利而高效地利用語(yǔ)言描述事件、表達(dá)思想并與人交流的能力。這種智能在作家、演說(shuō)家、記者、編輯、節(jié)目主持人、播音員、律師等職業(yè)上有更加突出的表現(xiàn)。

(2)?邏輯數(shù)學(xué)智能。邏輯數(shù)學(xué)智能指有效地運(yùn)用數(shù)字和邏輯推理的能力,包括分類、推論、歸納、計(jì)算和假設(shè)鑒定等能力。從事與數(shù)字有關(guān)工作的人特別需要這種有效運(yùn)用數(shù)字和推理的智能去尋找事物的規(guī)律及邏輯順序。

(3)?空間智能??臻g智能指人對(duì)色彩、線條、形狀、形式、空間及它們之間關(guān)系的敏感性??臻g智能較強(qiáng)的人,感受、辨別、記憶、改變物體的空間關(guān)系并借此表達(dá)思想和情感的能力就比較強(qiáng),且這類人在學(xué)習(xí)時(shí)偏向用意象及圖像來(lái)思考問(wèn)題,因而表現(xiàn)為對(duì)線條、形狀、結(jié)構(gòu)、色彩和空間關(guān)系的敏感,并且他們通過(guò)平面圖形和立體造型將感受到的空間關(guān)系表現(xiàn)出來(lái)的能力也較強(qiáng)。

空間智能可以劃分為形象的空間智能和抽象的空間智能兩種能力。

(4)?肢體運(yùn)作智能。肢體運(yùn)作智能是指善于運(yùn)用整個(gè)身體來(lái)表達(dá)想法和感覺(jué),以及運(yùn)用雙手靈巧地生產(chǎn)或改造事物的能力。這種智能主要是指人調(diào)節(jié)身體運(yùn)動(dòng)及用巧妙的雙手改變物體的技能,表現(xiàn)為能夠較好地控制自己的身體,對(duì)事件能夠做出恰當(dāng)?shù)纳眢w反應(yīng),以及善于利用身體語(yǔ)言來(lái)表達(dá)自己的思想,比如運(yùn)動(dòng)員、舞蹈家、外科醫(yī)生、手藝人都有這種智能優(yōu)勢(shì)。

(5)?音樂(lè)智能。音樂(lè)智能主要是指人敏感地感知音調(diào)、旋律、節(jié)奏和音色等的能力,表現(xiàn)為個(gè)人對(duì)音樂(lè)節(jié)奏、音調(diào)、音色和旋律的敏感性以及通過(guò)作曲、演奏和歌唱等表達(dá)音樂(lè)的能力。比如作曲家、指揮家、歌唱家、樂(lè)師、樂(lè)器制作者、音樂(lè)評(píng)論家等人員都有這種智能優(yōu)勢(shì)。

(6)?人際關(guān)系智能。人際關(guān)系智能是指能夠有效地理解別人及其關(guān)系和與人交往的能力,包括以下四大要素:

組織能力,包括群體動(dòng)員與協(xié)調(diào)能力。

協(xié)商能力,指仲裁與排解紛爭(zhēng)的能力。

分析能力,指能夠敏銳察知他人的情感動(dòng)向與想法,易與他人建立密切關(guān)系的能力。

人際聯(lián)系,指對(duì)他人表現(xiàn)出關(guān)心、善解人意、適于團(tuán)體合作的能力。

(7)?內(nèi)省智能。內(nèi)省智能是指正確認(rèn)識(shí)自己的能力。例如,能正確把握自己的長(zhǎng)處和短處,把握自己的情緒、意向、動(dòng)機(jī)、欲望,對(duì)自己的生活有規(guī)劃,能自尊、自律,會(huì)吸收他人的長(zhǎng)處;會(huì)從各種回饋管道中了解自己的優(yōu)劣;常靜思以規(guī)劃自己的人生目標(biāo);愛獨(dú)處,以深入自我的方式來(lái)思考;喜歡獨(dú)立工作,有自我選擇的空間。內(nèi)省智能優(yōu)秀的人多見于政治家、哲學(xué)家、心理學(xué)家、教師等人群。

(8)?自然探索智能。探索智能指人們認(rèn)識(shí)植物、動(dòng)物和其他自然環(huán)境(如云和石頭)的能力。自然探索智能強(qiáng)的人,在打獵、耕作、生物科學(xué)上的表現(xiàn)較為突出。自然探索智能具體地講,就是人的探索智能,包括個(gè)人對(duì)社會(huì)的探索或?qū)ψ匀坏奶剿鲀蓚€(gè)方面。

(9)?存在智能。存在智能指人們表現(xiàn)出的對(duì)生命、死亡和終極現(xiàn)實(shí)提出問(wèn)題,并思考這些問(wèn)題的傾向性程度。

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,從模仿人類智能方面來(lái)分析機(jī)器人的功能,我們還可以從構(gòu)架系統(tǒng)、感知系統(tǒng)、執(zhí)行系統(tǒng)、決策系統(tǒng)、能源系統(tǒng)等五大部分功能上來(lái)綜合分析機(jī)器人與人類智能的類比關(guān)系。

(1)感知系統(tǒng)。感知系統(tǒng)相當(dāng)于人的眼睛、耳朵、鼻子、皮膚等,可以感知外界的各種信息,如距離、聲音、氣味、溫度、濕度、形狀、顏色等。

(2)決策系統(tǒng)。決策系統(tǒng)相當(dāng)于人的大腦,它將機(jī)器人從感知系統(tǒng)感知的各種外界信息進(jìn)行處理、判斷,然后做出決策,并發(fā)出信號(hào),控制執(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ù),如取物、滅火、營(yíng)救、排爆、踢球等人們?cè)O(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國(guó)內(nèi)外競(jìng)賽平臺(tái)實(shí)例

1.國(guó)際機(jī)器人足球賽讓機(jī)器人踢足球的想法是在1995年由韓國(guó)科學(xué)技術(shù)院(KAIST)的金鐘煥(Jong-HwanKim)教授提出的。1996年11月,他在韓國(guó)政府的支持下首次舉辦了微型機(jī)器人世界杯足球比賽(即FIRAMiroSot’96)。如圖1.3所示為作者學(xué)校3VS3足球機(jī)器人賽臺(tái)。圖1.33VS3足球機(jī)器人賽臺(tái)

2.國(guó)內(nèi)機(jī)器人競(jìng)賽

國(guó)內(nèi)機(jī)器人綜合比賽主要包括國(guó)際機(jī)器人奧林匹克競(jìng)賽、FLL世錦賽和ABU大學(xué)生機(jī)器人電視大賽,其詳細(xì)情況可以查閱相關(guān)賽事網(wǎng)站。全國(guó)范圍內(nèi)的機(jī)器人賽事主要有以下四項(xiàng):FIRA中國(guó)機(jī)器人足球錦標(biāo)賽,中國(guó)機(jī)器人大賽暨RoboCup公開賽,全國(guó)大學(xué)生機(jī)器人電視大賽(CCTV-ROBOCON),中國(guó)青少年機(jī)器人競(jìng)賽。北京信息科技大學(xué)承辦的機(jī)器人賽事主要有:華北五省機(jī)器人競(jìng)賽,校內(nèi)選拔機(jī)器人競(jìng)賽,智能車競(jìng)賽。各種類型的機(jī)器人競(jìng)賽一般是在20世紀(jì)末興起的。

這里簡(jiǎn)單介紹華北五省機(jī)器人武術(shù)擂臺(tái)賽的兩個(gè)項(xiàng)目,即無(wú)差別組和輕量級(jí)仿人組項(xiàng)目。便于讀者自主設(shè)計(jì)和制作可以參加機(jī)器人武術(shù)擂臺(tái)賽的機(jī)器人,其相關(guān)技術(shù)操作說(shuō)明可以參考本書后續(xù)章節(jié)內(nèi)容。其中,圖1.4所示為武術(shù)擂臺(tái)賽無(wú)差別組場(chǎng)地尺寸示意圖。圖1.4武術(shù)擂臺(tái)賽無(wú)差別組場(chǎng)地尺寸

1.5.2機(jī)器人競(jìng)賽創(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)件等,可以用來(lái)安裝電機(jī)、結(jié)構(gòu)件,把各個(gè)部分組成一個(gè)整體,完成創(chuàng)新機(jī)器人的組裝。如圖1.5所示為作者創(chuàng)新團(tuán)隊(duì)成員設(shè)計(jì)機(jī)器人的場(chǎng)景示例。圖1.5作者創(chuàng)新團(tuán)隊(duì)成員設(shè)計(jì)機(jī)器人的場(chǎng)景示例

圖1.6所示為創(chuàng)意之星機(jī)器人套件制作的10種典型類別作品,具體介紹如下:

圖1.6創(chuàng)意之星機(jī)器人套件及其典型作品設(shè)計(jì)

①?“小書童”書法機(jī)器人:指可以使用普通的毛筆蘸墨汁寫書法對(duì)聯(lián)的六自由度并聯(lián)機(jī)器人。

機(jī)器狗:指采用MultiFLEX2-PXA270視覺(jué)控制器,能夠演示機(jī)器寵物狗的20個(gè)自由度動(dòng)作的仿生機(jī)器人。

六足蜘蛛:指具有18自由度仿生六足蜘蛛機(jī)器人,能夠通過(guò)編輯步態(tài),增加傳感器,實(shí)現(xiàn)六足蜘蛛式自律爬行的機(jī)器人。

六自由度(6DOF)機(jī)械臂:指能夠應(yīng)用運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)學(xué)習(xí)模仿工業(yè)機(jī)器人實(shí)踐對(duì)象的六自由度機(jī)械臂。

帶視覺(jué)的全向運(yùn)動(dòng)機(jī)器人小車:指能夠設(shè)計(jì)模仿視覺(jué)足球機(jī)器人動(dòng)作的全向運(yùn)動(dòng)機(jī)器人小車,可以作為機(jī)器視覺(jué)的入門級(jí)簡(jiǎn)單編程對(duì)象。

簡(jiǎn)易仿人形機(jī)器人:指通過(guò)傳感、控制模塊組合運(yùn)行,能夠執(zhí)行多種簡(jiǎn)單、趣味性動(dòng)作的四自由度人形機(jī)器人。

仿生蛇形機(jī)器人:指能實(shí)現(xiàn)簡(jiǎn)單、趣味、典型仿生動(dòng)作的8~10個(gè)自由度蛇形機(jī)器人。

自動(dòng)避碰機(jī)器人小車:指通過(guò)控制、傳感、執(zhí)行模塊功能組合運(yùn)行,能夠?qū)崿F(xiàn)簡(jiǎ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)賽仿人組競(jìng)賽要求,能夠?qū)W習(xí)復(fù)雜武術(shù)擂臺(tái)競(jìng)賽策略的機(jī)器人。

2.機(jī)器人競(jìng)賽創(chuàng)新加工平臺(tái)實(shí)例

在筆者學(xué)校北京市卓越聯(lián)盟實(shí)驗(yàn)室智慧工廠里,針對(duì)機(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)用粉末狀金屬或塑料等可黏合材料,通過(guò)逐層打印的方式來(lái)構(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ī)的操作面板??梢栽谕瓿上嚓P(guān)激光切割機(jī)工作參數(shù)設(shè)置后,按下“開始”鍵。如圖1.9(b)所示為激光切割運(yùn)行場(chǎng)景。圖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)對(duì)運(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è)要求,如能夾持焊鉗或焊槍,對(duì)汽車或摩托車車體進(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)的問(wèn)題,促使機(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)制造模塊包括智能倉(cāng)儲(chǔ)、智能制造單元、搬運(yùn)機(jī)器人、視覺(jué)測(cè)量?jī)x、智能裝配、生產(chǎn)裝配線、電子標(biāo)簽輔助揀選、自動(dòng)分揀和生產(chǎn)監(jiān)控系統(tǒng)等;其中,智能倉(cāng)儲(chǔ)包含自動(dòng)化立體倉(cāng)庫(kù)和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ī)器人、視覺(jué)單元和點(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è)流水線包括變位立體倉(cāng)庫(kù)、智能制造單元、車床、一鍵式測(cè)量?jī)x、智能裝配單元,以及智能尋跡運(yùn)送機(jī)器人小車。

(2)工廠接單。

工廠在電腦終端接收訂單指令,并把訂單指令下達(dá)給各個(gè)工作區(qū)域,從而整個(gè)工廠圍繞該訂單展開生產(chǎn)工作。

(3)原料供給。

原料供給主要通過(guò)空間坐標(biāo)機(jī)械臂抓取貨物,并將貨物放在循跡運(yùn)輸車中進(jìn)入下一個(gè)單元。

(4)銑床加工。

通過(guò)銑床等機(jī)械加工方法,加工得到生產(chǎn)工件,并利用裝載機(jī)械臂的機(jī)器人小車將做好的工件放入公差測(cè)量?jī)x進(jìn)行檢測(cè)。

(5)工件糾偏與裝載出庫(kù)。

將工件放入指定位置,利用機(jī)器人視覺(jué)對(duì)指定工件圖像進(jìn)行處理,實(shí)現(xiàn)將生產(chǎn)完成的工件封裝裝載到循跡機(jī)器人小車上出庫(kù)。如圖1.11所示為智能裝配系統(tǒng)現(xiàn)場(chǎng)場(chǎng)景。圖1.11智能裝配系統(tǒng)

1.5.3機(jī)器人工程類人才的創(chuàng)新培養(yǎng)平臺(tái)實(shí)例

法國(guó)工程類人才培養(yǎng)模式是:以五年制工程教育為例,分兩個(gè)階段,預(yù)科基礎(chǔ)階段(與高中合辦,相當(dāng)于我國(guó)大學(xué)大一的基礎(chǔ)階段),預(yù)科階段(相當(dāng)于我國(guó)大學(xué)的大二、大三、大四階段)升工程師階段(類似于國(guó)內(nèi)高校的兩年碩士階段,考核合格即達(dá)到工程師水平)。以預(yù)科階段的一門工業(yè)科學(xué)與技術(shù)課程考核為例,該課程實(shí)踐部分的任務(wù)是完成實(shí)驗(yàn)對(duì)象的建模、仿真分析和實(shí)驗(yàn)驗(yàn)證設(shè)計(jì);考核現(xiàn)場(chǎng)流程是學(xué)生現(xiàn)場(chǎng)隨機(jī)抽取題目,每個(gè)題目出自特定的創(chuàng)新考核平臺(tái)。如圖1.12所示為課程考核現(xiàn)場(chǎng)部分工程創(chuàng)新考核平臺(tái)實(shí)物照片。圖1.12工業(yè)科學(xué)與技術(shù)課程考試現(xiàn)場(chǎng)部分創(chuàng)新過(guò)程考核平臺(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)指如停車場(chǎng)自動(dòng)欄桿系統(tǒng)、血液采集系統(tǒng)、乒乓球包裝模擬生產(chǎn)線系統(tǒng)、太陽(yá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ī)器人指如樂(lè)高機(jī)器人、擬人機(jī)器人控制系統(tǒng)等。

(5)?工業(yè)系統(tǒng)中的計(jì)算系統(tǒng)。工業(yè)系統(tǒng)中的計(jì)算系統(tǒng)指如飛行觀測(cè)控制實(shí)驗(yàn)系統(tǒng)、信號(hào)處理系統(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)等。

在法國(guó),工程類教師人才創(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)面向三位評(píng)委講解演示所有實(shí)驗(yàn)結(jié)果,回答評(píng)委老師的提問(wèn)。如圖1.13所示為法國(guó)工程類教師人才創(chuàng)新考核現(xiàn)場(chǎng)。圖1.13預(yù)科學(xué)??己私處煹目荚囉^摩現(xiàn)場(chǎng)

因此,法國(guó)工程師教育學(xué)制5年(三年制學(xué)院需在入學(xué)前接受兩年預(yù)科教育),規(guī)模小、專業(yè)少、工程專業(yè)化程度高;通過(guò)與企業(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)非常接近中國(guó)的研究生院,培養(yǎng)工程師的工程實(shí)踐創(chuàng)新競(jìng)爭(zhēng)力,提高其受企業(yè)歡迎程度。第二章

機(jī)器人綜合實(shí)戰(zhàn)基礎(chǔ)2.1機(jī)器人編程語(yǔ)言基礎(chǔ)2.2以機(jī)器人小車為例的典型問(wèn)題解析2.3機(jī)器人移動(dòng)機(jī)構(gòu)設(shè)計(jì)問(wèn)題解析

2.1機(jī)器人編程語(yǔ)言基礎(chǔ)

2.1.1機(jī)器人編程語(yǔ)言簡(jiǎn)介我們常把計(jì)算機(jī)語(yǔ)言分成以下三類:

(1)機(jī)器語(yǔ)言,指計(jì)算機(jī)中用二進(jìn)制表示的數(shù)據(jù)或指令,計(jì)算機(jī)可以直接執(zhí)行;

(2)自然語(yǔ)言,類似于人類交流使用的語(yǔ)言,常用于表示算法;

(3)高級(jí)語(yǔ)言,介于機(jī)器語(yǔ)言與自然語(yǔ)言之間的編程語(yǔ)言。

一般地,機(jī)器人編程中的整個(gè)程序設(shè)計(jì)思想可以分為面向過(guò)程和面向?qū)ο髢纱箢悾渲幸淮箢悇e如擂臺(tái)賽、足球賽、舞蹈比賽等由機(jī)器人個(gè)體自身控制器控制機(jī)器人競(jìng)賽的軟件,大多數(shù)采用面向過(guò)程的程序設(shè)計(jì)語(yǔ)言如C語(yǔ)言。

面向過(guò)程編程思想是:程序的執(zhí)行總是從一個(gè)主控模塊開始,該主控模塊就像一個(gè)家庭的戶主,負(fù)責(zé)整個(gè)程序的執(zhí)行流程管理,包括程序的開始、執(zhí)行、運(yùn)行過(guò)程以及運(yùn)行結(jié)果的最終輸出等;另一大類別如仿生魚群、FIRA等集控式軟件,即利用電腦主機(jī)對(duì)場(chǎng)上多個(gè)機(jī)器人進(jìn)行統(tǒng)一調(diào)度和集中控制競(jìng)賽的軟件,主要采用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言如C++、C#、Java等。

面向?qū)ο缶幊趟枷胧牵撼绦驁?zhí)行模擬現(xiàn)實(shí)世界的對(duì)象交流方式,先定義同類對(duì)象的模板,即程序設(shè)計(jì)語(yǔ)言中的類,然后由類產(chǎn)生對(duì)象,通過(guò)對(duì)象之間的消息通信及交互實(shí)現(xiàn)整個(gè)程序的功能。通常這兩種編程思想應(yīng)用優(yōu)勢(shì)的比較結(jié)果是:面向過(guò)程的語(yǔ)言在解決小規(guī)模的問(wèn)題上非常精確、方便,但對(duì)于大型、復(fù)雜問(wèn)題則有些力不從心;而面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言對(duì)于解決大規(guī)模的問(wèn)題卻比較方便和快捷。

C語(yǔ)言是一種面向過(guò)程的高級(jí)編程語(yǔ)言,它的功能十分強(qiáng)大,用法十分靈活,是控制機(jī)器人常用的設(shè)計(jì)語(yǔ)言,其程序的設(shè)計(jì)思路為:

(1)?針對(duì)求解的問(wèn)題,提出解題思路,即算法;

(2)?按照C語(yǔ)言程序的特點(diǎn),將算法對(duì)應(yīng)地改寫為程序;

(3)?編譯、調(diào)試程序,形成可執(zhí)行文件;

(4)?運(yùn)行可執(zhí)行文件,給出問(wèn)題結(jié)果。

例:求兩數(shù)之和。程序如下:

由此例可以看到:C語(yǔ)言程序是由函數(shù)構(gòu)成的。一個(gè)C語(yǔ)言源程序包含且僅包含一個(gè)main函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù)。因此,函數(shù)是C語(yǔ)言程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫(kù)函數(shù)(例如print和scanf函數(shù)),也可以是用戶根據(jù)自己編制設(shè)計(jì)的程序。C語(yǔ)言的這種特點(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ù)名后面必須跟一對(duì)圓括號(hào),括號(hào)內(nèi)寫函數(shù)的參數(shù)名及其類型。函數(shù)可以沒(méi)有參數(shù),如main()。

(2)?函數(shù)體。函數(shù)體即函數(shù)首部下面花括號(hào)內(nèi)的部分。函數(shù)體一般包括兩部分。

聲明部分:在這部分定義所用到的變量和對(duì)所調(diào)用函數(shù)的聲明。如上例中對(duì)變量的定義“inta,b,sum”。

執(zhí)行部分:由若干個(gè)語(yǔ)句組成。一個(gè)C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個(gè)程序中的位置如何。

C程序書寫格式自由,一行內(nèi)可寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以分寫在多行上。每個(gè)語(yǔ)句和數(shù)據(jù)聲明的最后必須有一個(gè)分號(hào)。C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句。輸入輸出的操作是由庫(kù)函數(shù)scanf和print等函數(shù)來(lái)完成的。可以用/*……*/對(duì)C程序中的任何部分做注釋,以增加程序的可讀性。在大多數(shù)現(xiàn)代編譯器中,也可以使用“//”符號(hào)來(lái)標(biāo)明單行注釋。

2.1.2數(shù)據(jù)類型

機(jī)器人控制算法處理的對(duì)象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式存在的(例如整數(shù)、實(shí)數(shù)、字符等形式)。

1.?常量與變量

在程序中對(duì)用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型。一般數(shù)據(jù)分為常量與變量,例如整型數(shù)據(jù)包括整型常量和整型變量。常量是在程序運(yùn)行過(guò)程中值不能被改變的量。如12、0、-8為整型常量,4.6、-1.23為實(shí)型常量,‘a(chǎn)’、‘b’為字符常量。變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,它用來(lái)存放數(shù)據(jù),也就是變量的值,在程序運(yùn)行期間,這些值是可以改變的。

2.?整型數(shù)據(jù)量的進(jìn)制表達(dá)

不同類型的整型常量類別表示的數(shù)據(jù)取值范圍不同,如表2.1所示,整型常量分為有/無(wú)符號(hào)基本整型、有/無(wú)符號(hào)短整型、有/無(wú)符號(hào)長(zhǎng)整型常量,各類型對(duì)應(yīng)不同比特(位)數(shù)和不同的取值范圍。

C語(yǔ)言程序中所有用到的整型變量都必須在程序中進(jìn)行相應(yīng)的變量定義。對(duì)變量的定義一般是放在一個(gè)函數(shù)的開頭部分,即變量聲明部分(也可以放在函數(shù)中某一段程序內(nèi),但作用域只限所在的分程序)。例如:

3.?數(shù)組

數(shù)組是有序數(shù)據(jù)的集合。數(shù)組中的每一個(gè)元素都屬于同一個(gè)數(shù)據(jù)類型。

1)?一維數(shù)組的定義方式

定義格式:

類型說(shuō)明符

數(shù)組名[常量表達(dá)式];

例如:inta[10];表示定義了一個(gè)整型數(shù)組,數(shù)組名為a,此數(shù)組有10個(gè)元素。

2)?一維數(shù)組元素的引用

數(shù)組必須先定義然后才可使用。C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組。

數(shù)組元素的表示形式為數(shù)組名[下標(biāo)],例如:

inta[10]; /*定義數(shù)組長(zhǎng)度為10*/

t=a[6]; /*引用a數(shù)組中序號(hào)為6的元素,此處6不代表數(shù)組長(zhǎng)度*/

4.?C語(yǔ)言運(yùn)算操作符簡(jiǎn)介

C語(yǔ)言的運(yùn)算符范圍很寬,它把除了控制語(yǔ)句和輸入輸出以外的幾乎所有的基本操作都作為運(yùn)算符處理。C語(yǔ)言的操作運(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)?逗號(hào)運(yùn)算符。逗號(hào)運(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)先級(jí)的運(yùn)算在頂部,低優(yōu)先級(jí)的運(yùn)算在底部。

這里為了方便初學(xué)者閱讀學(xué)習(xí),我們將表2.2運(yùn)算符操作順序中賦值符號(hào)與數(shù)學(xué)相等運(yùn)算符號(hào)進(jìn)行對(duì)比說(shuō)明,給出如下“疑點(diǎn)解析”。

2.1.3機(jī)器人控制程序算法設(shè)計(jì)基礎(chǔ)

1.簡(jiǎn)介

現(xiàn)在,讓我們用一道簡(jiǎn)單的計(jì)算題來(lái)回想一下人腦的工作方式。題目很簡(jiǎn)單:8+4/2=?看到這個(gè)題目,我們想到的是什么?四則混合運(yùn)算、運(yùn)算優(yōu)先級(jí)、九九乘法口訣。經(jīng)過(guò)思考,大腦完成的計(jì)算過(guò)程是:先用腦算出4/2=2這一中間結(jié)果,并記錄于紙上,然后再用腦算出8+2=10這一最終結(jié)果,并記錄于紙上。

機(jī)器人控制算法中遵循的邏輯代數(shù)是由英國(guó)科學(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。對(duì)邏輯變量的任意一組取值(如0000、0001、0010)L有唯一的值與之對(duì)應(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ù)量的大小,而是表示兩種對(duì)立的邏輯狀態(tài)。規(guī)定:

(1)?所有可能出現(xiàn)的數(shù)只有0和1兩個(gè)。

(2)?基本運(yùn)算只有“與”“或”“非”三種。

這樣,把人類規(guī)劃出的求解問(wèn)題轉(zhuǎn)化成機(jī)器人能夠識(shí)別的程序算法,這些完成特定功能的程序就是軟件;其中算法是一系列解決問(wèn)題的清晰指令;算法可以理解為由基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解題步驟;或者看成按照要求設(shè)計(jì)好的有限的確切的計(jì)算序列,并且這樣的步驟和序列可以解決一類問(wèn)題;也就是說(shuō),能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。如果一個(gè)算法有缺陷,或不適合于某個(gè)問(wèn)題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問(wèn)題。

算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),機(jī)器人算法是問(wèn)題規(guī)模n的函數(shù)f(n),算法的時(shí)間復(fù)雜度也因此記做T(n)=Ο(f(n))。因此,問(wèn)題的規(guī)模n越大,時(shí)間復(fù)雜度越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度。算法的空間復(fù)雜度是指算法需要消耗的空間資源。其計(jì)算和表示方法與時(shí)間復(fù)雜度類似,一般都用復(fù)雜度的漸近性來(lái)表示。同時(shí)間復(fù)雜度相比,空間復(fù)雜度的分析要簡(jiǎn)單得多。

綜上所述,一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:

(1)?有窮性。有窮性是一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束。

(2)?確切性。確切性是算法的每一步驟必須有確切的定義。

(3)?輸入。一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對(duì)象的初始情況(所謂0個(gè)輸入,是指算法本身定義了初始條件)。

(4)?輸出。一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果,沒(méi)有輸出的算法是毫無(wú)意義的。

(5)?可行性??尚行允撬惴ㄔ瓌t上能夠精確地運(yùn)行,而且人們用筆和紙做了有限多次運(yùn)算后即可完成。

2.脈寬調(diào)制(PWM)

一般來(lái)講,機(jī)器人執(zhí)行機(jī)構(gòu)如舵機(jī)或電機(jī)是通過(guò)運(yùn)行脈寬調(diào)制(PulseWidthModulation,PWM)信號(hào)實(shí)現(xiàn)PWM控制算法的設(shè)計(jì)的。下面就以機(jī)器人的舵機(jī)為例介紹其內(nèi)部自動(dòng)控制工作原理:首先,在舵機(jī)的內(nèi)部有一個(gè)信號(hào)基準(zhǔn)電路,產(chǎn)生周期為20?ms、寬度為1.5?ms的基準(zhǔn)信號(hào),如圖2.1所示為PWM控制機(jī)器人小車舵機(jī)正反轉(zhuǎn)的信號(hào)波形示意圖。圖2.1

PWM控制機(jī)器人小車舵機(jī)正反轉(zhuǎn)的信號(hào)波形示意圖

其次,舵機(jī)的PWM控制信號(hào)經(jīng)由接收機(jī)的通道端口進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓,舵機(jī)在接收到控制信號(hào)后,將獲得的對(duì)應(yīng)直流偏置電壓與電位器的基準(zhǔn)信號(hào)電壓進(jìn)行比較計(jì)算,從而輸出兩者之間的電壓差。最后,該電壓差的正負(fù)值將輸出到電機(jī)驅(qū)動(dòng)芯片,從而控制電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速達(dá)到一定時(shí),通過(guò)內(nèi)部的級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),從而使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。而從宏觀上觀察到的電機(jī)轉(zhuǎn)動(dòng)速度的快慢決定于如圖2.2所示控制電機(jī)舵機(jī)的PWM信號(hào)占空比值,此PWM信號(hào)占空比中高電位間隔持續(xù)時(shí)間或周期是PWM頻率的倒數(shù)。圖2.2控制電機(jī)舵機(jī)的PWM信號(hào)占空比示意圖

2.1.4運(yùn)行程序基本語(yǔ)句和過(guò)程

一般程序語(yǔ)句結(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信號(hào)占空比示意圖

1.順序結(jié)構(gòu)

順序結(jié)構(gòu)就是按照程序的書寫順序執(zhí)行程序。下面介紹C語(yǔ)言中四個(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語(yǔ)句的三種形式

在C語(yǔ)言中選擇結(jié)構(gòu)通常是用if語(yǔ)句來(lái)實(shí)現(xiàn)的。if語(yǔ)句是用來(lái)判定所給定的條件是否滿足的,并根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。

(1)?if(表達(dá)式)語(yǔ)句。例如:if(x>y)print("%d",x);

(2)?if(關(guān)系表達(dá)式)語(yǔ)句1else語(yǔ)句2。例如:

if(x>y)

print("%d",x)

else

print("%d",y);

(3)?if(表達(dá)式1)語(yǔ)句1。例如:

elseif(表達(dá)式2)語(yǔ)句2

elseif(表達(dá)式3)語(yǔ)句3

elseif(表達(dá)式m)語(yǔ)句m

else語(yǔ)句n

2)?switch語(yǔ)句

switch語(yǔ)句是多分支選擇語(yǔ)句。if語(yǔ)句只有兩個(gè)分支可供選擇,而實(shí)際問(wèn)題中常常需用到多分支的選擇,例如,紅外傳感器是否檢測(cè)到障礙。一般形式如下:

switch(表達(dá)式)

{

case常量表達(dá)式1:

語(yǔ)句1

case常量表達(dá)式2:

語(yǔ)句2

case常量表達(dá)式n:

語(yǔ)句n

default: 語(yǔ)句n+1

}

3)?break與continue語(yǔ)句

break語(yǔ)句用在其他控制語(yǔ)句內(nèi),作用是把程序流直接轉(zhuǎn)移到循環(huán)的結(jié)尾處,break語(yǔ)句只能用于循環(huán)語(yǔ)句和switch語(yǔ)句兩種情況中;不管是for循環(huán),還是while循環(huán),或者是do…while循環(huán),都可以用break跳出來(lái),但是break只能跳出一層循環(huán)。當(dāng)有多層循環(huán)嵌套的時(shí)候,break只能跳出“包裹”它的最里面的那一層循環(huán),即不執(zhí)行本次循環(huán)中break后面的語(yǔ)句,無(wú)法一次跳出所有循環(huán)。同樣,在多層switch嵌套的程序中,break也只能跳出其所在的距離它最近的switch語(yǔ)句。

3.?循環(huán)控制

1)?goto語(yǔ)句

goto語(yǔ)句為無(wú)條件轉(zhuǎn)向語(yǔ)句,它的一般形式為:goto語(yǔ)句標(biāo)號(hào);該語(yǔ)句可以與if語(yǔ)句一起構(gòu)成循環(huán)結(jié)構(gòu),可以從循環(huán)體中跳轉(zhuǎn)到循環(huán)體外,但在C語(yǔ)言中可以用break語(yǔ)句和continue語(yǔ)句跳出本循環(huán)和結(jié)束本次循環(huán)。goto語(yǔ)句一般不宜采用,只在不得已時(shí)(例如能大大提高效率)才用。

2)?用while語(yǔ)句實(shí)現(xiàn)循環(huán)

while語(yǔ)句用來(lái)實(shí)現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)。其一般形式是:while(表達(dá)式)語(yǔ)句,當(dāng)表達(dá)式為非0值時(shí),執(zhí)行while語(yǔ)句中的內(nèi)嵌語(yǔ)句,其流程圖見圖2.3。其特點(diǎn)是:先判斷表達(dá)式,后執(zhí)行語(yǔ)句。

3)?用do…while語(yǔ)句實(shí)現(xiàn)循環(huán)

do…while語(yǔ)句的特點(diǎn)是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。其一般形式為:

do

循環(huán)體語(yǔ)句

while(表達(dá)式)

即先執(zhí)行一次指定的循環(huán)體語(yǔ)句,然后判別表達(dá)式,當(dāng)表達(dá)式的值為非0(“真”)時(shí),返回重新執(zhí)行循環(huán)體語(yǔ)句,如此反復(fù),直到表達(dá)式的值等于0為止,此時(shí)循環(huán)結(jié)束。

4)?用for語(yǔ)句實(shí)現(xiàn)循環(huán)

C語(yǔ)言中的for語(yǔ)句使用最為靈活,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況,它完全可以代替while語(yǔ)句。

for語(yǔ)句的一般表達(dá)式為:

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句

for語(yǔ)句最簡(jiǎn)單的應(yīng)用形式也就是最容易理解的語(yǔ)句形式如下:

for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語(yǔ)句

它的執(zhí)行過(guò)程如下:

先求解表達(dá)式1。

求解表達(dá)式2,若其值為真(非0),則執(zhí)行for語(yǔ)句中指定的內(nèi)嵌語(yǔ)句,然后執(zhí)行下面第三步;若為假(值為0),則退出循環(huán),轉(zhuǎn)到第⑤步。

求解表達(dá)式3。

轉(zhuǎn)回上面第②步,繼續(xù)執(zhí)行。

循環(huán)結(jié)束,執(zhí)行for語(yǔ)句下面的一條語(yǔ)句。

面向過(guò)程的C語(yǔ)言程序的基本組成可以概括為如程序2.1所示的以main關(guān)鍵字為代表的函數(shù)體結(jié)構(gòu)的組成形式。

2.2以機(jī)器人小車為例的典型問(wèn)題解析2.2.1開關(guān)程序控制問(wèn)題電子開關(guān)是指利用電子電路以及電力電子器件實(shí)現(xiàn)電路通斷的運(yùn)行單元,至少包括一個(gè)可控的電子驅(qū)動(dòng)器件,如晶閘管、晶體管、場(chǎng)效應(yīng)管、可控硅、繼電器等。例如借助機(jī)械操作使觸點(diǎn)斷開電路、接通電路、轉(zhuǎn)換電路的元件稱為機(jī)械開關(guān)。按極、位分類可分為:?jiǎn)螛O開關(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ù)來(lái)源:以日常電燈開關(guān)為例,其硬件開關(guān)有撥動(dòng)式和點(diǎn)動(dòng)式,分析講解對(duì)應(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ò)在硬件上操作開關(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ù)來(lái)源:在實(shí)際使用過(guò)程中,點(diǎn)動(dòng)式電子開關(guān)主要是指觸摸開關(guān)、感應(yīng)開關(guān)、聲控開關(guān)、無(wú)線開關(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ò)硬件上開關(guān)按下與否來(lái)直接設(shè)定條件判斷開關(guān)變量為0或1,因此在程序設(shè)計(jì)中可以直接引入用來(lái)記憶燈的狀態(tài)的變量——Light開關(guān)變量進(jìn)行程序條件判斷與執(zhí)行。如圖2.5(b)所示為點(diǎn)動(dòng)式開關(guān)程序設(shè)計(jì)流程圖。

(5)?問(wèn)題討論:請(qǐng)大家思考比較如圖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)停車問(wèn)題

1.機(jī)器人前進(jìn)至黑色停車線停車任務(wù)

(1)任務(wù)來(lái)源:以制作循跡機(jī)器人小車編程為例,實(shí)現(xiàn)定點(diǎn)停車編程。圖2.6是定點(diǎn)停車任務(wù)a的路面信息數(shù)據(jù)圖和程序設(shè)計(jì)流程圖。

(2)任務(wù)設(shè)定:白色地板,黑色停車線,車頭光電傳感器指向地面。已知光電傳感器對(duì)地板讀數(shù)為80,對(duì)停車線讀數(shù)為20。如圖2.6(a)所示為定點(diǎn)停車路面信息的數(shù)字化數(shù)據(jù)圖。

(3)任務(wù)要求:機(jī)器人前進(jìn)至黑色停車線停車。

假定A為光電傳感器實(shí)時(shí)讀數(shù)變量名稱。

(4)?問(wèn)題討論:圖2.6(b)所示的左、右兩個(gè)流程圖的不同點(diǎn)在哪里?圖2.6定點(diǎn)停車任務(wù)a的路面信息數(shù)據(jù)圖和程序設(shè)計(jì)流程圖

2.?機(jī)器人前進(jìn)至灰色停車線停車任務(wù)

(1)?任務(wù)設(shè)定:將停車線改為灰色。已知光電傳感器對(duì)地板讀數(shù)為80,光電傳感器對(duì)停車線讀數(shù)未知。圖2.7是定點(diǎn)停車任務(wù)b的路面信息數(shù)字化數(shù)據(jù)圖。

(2)?任務(wù)要求:機(jī)器人前進(jìn)至停車線停車。

(3)?任務(wù)出現(xiàn)情況:機(jī)器人前進(jìn)至停車線不停車,為什么?

(4)?問(wèn)題討論:圖2.7中灰線的作用。圖2.7定點(diǎn)停車任務(wù)b的路面信息數(shù)字化數(shù)據(jù)圖

3.?機(jī)器人定點(diǎn)停車任務(wù)

(1)?任務(wù)設(shè)定:白色地板,黑色停車線,車頭光電傳感器指向地面。已知光電傳感器對(duì)地板的讀數(shù)為80,對(duì)停車線的讀數(shù)為20。圖2.8是定點(diǎn)停車任務(wù)的程序設(shè)計(jì)流程圖。

(2)?任務(wù)要求:機(jī)器人跨過(guò)第一條停車線,在第二條停車線停車。

(3)?任務(wù)出現(xiàn)情況:機(jī)器人前進(jìn)至第一條線就停車,為什么?

(4)?問(wèn)題討論:如圖2.8所示的定點(diǎn)停車任務(wù)程序設(shè)計(jì)流程圖是否能完成定點(diǎn)停車任務(wù)?圖2.8定點(diǎn)停車任務(wù)的程序設(shè)計(jì)流程圖

2.2.3多路判斷綜合問(wèn)題

1.?仿生昆蟲觸角機(jī)器人小車多路判斷任務(wù)

(1)?任務(wù)來(lái)源:以制作機(jī)器人小車的多觸覺(jué)編程示例實(shí)現(xiàn)多路判斷目標(biāo)。圖2.9是昆蟲機(jī)器人及任務(wù)程序設(shè)計(jì)流程圖,如圖2.9(a)所示為仿生昆蟲觸角機(jī)器人小車,圖2.9(b)為編程設(shè)計(jì)流程圖。

(2)?任務(wù)設(shè)定:仿生昆蟲觸角機(jī)器人小車的車頭左右各有一觸角。左觸覺(jué)傳感器為A,被碰觸時(shí)A=1,右觸覺(jué)傳感器為B,被碰觸時(shí)B=1。

(3)?任務(wù)實(shí)現(xiàn)動(dòng)作要求:讓機(jī)器人小車像昆蟲一樣靠觸角避障。

(4)?問(wèn)題討論:請(qǐng)大家思考按圖2.9(b)所示設(shè)計(jì)流程圖能否完成多路目標(biāo)判斷的任務(wù)。圖2.9昆蟲機(jī)器人及任務(wù)程序設(shè)計(jì)流程圖

2.?采用定時(shí)器設(shè)計(jì)響鈴任務(wù)

(1)?任務(wù)對(duì)象:通過(guò)定時(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ì)流程圖,請(qǐng)大家參考設(shè)計(jì)。

(5)?問(wèn)題討論:請(qǐng)大家思考按圖2.10設(shè)計(jì)流程圖能否完成定時(shí)任務(wù)。圖2.10定時(shí)器不同延時(shí)的響鈴任務(wù)程序設(shè)計(jì)流程圖

2.2.4智能規(guī)劃問(wèn)題

針對(duì)如圖2.11所示復(fù)雜路徑智能規(guī)劃問(wèn)題,即黑色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ī)劃算法,通過(guò)計(jì)算不同路徑控制機(jī)器人小車運(yùn)動(dòng)軌跡,實(shí)現(xiàn)了三種最優(yōu)路徑規(guī)劃結(jié)果。其中如圖2.11(a)所示為采用一般控制的路徑規(guī)劃優(yōu)化算法,即未優(yōu)化的智能車行駛軌跡,但這并不是最佳的方法,因?yàn)榘凑誗形行駛,既加長(zhǎng)了行駛路線又使得智能車不斷搖擺,使智能車的穩(wěn)定性變得很差;圖2.11(b)中采用了模糊控制的路徑規(guī)劃算法;圖2.11(c)中為自適應(yīng)的路徑規(guī)劃算法。

這三種不同算法其復(fù)雜性控制參數(shù)的設(shè)定,需要結(jié)合機(jī)器人的慣性作用力和實(shí)際場(chǎng)地地面摩擦力的綜合情況調(diào)試完成。最理想的方法是讓其不隨S彎轉(zhuǎn)動(dòng),以直線通過(guò)S彎,因此智能小車規(guī)劃行駛軌跡如圖2.11(b)(c)所示。圖2.11復(fù)雜路徑智能規(guī)劃問(wèn)題

圖2.12所示為彎道內(nèi)側(cè)行駛軌跡示意圖。其中小彎的路徑進(jìn)一步規(guī)劃是:對(duì)于小彎,控制時(shí),由于彎道很急,多級(jí)的轉(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ī)器人的視覺(jué)技術(shù)簡(jiǎn)介

機(jī)器人視覺(jué)指用計(jì)算機(jī)實(shí)現(xiàn),使機(jī)器人具有人類的視覺(jué)功能,也就是使機(jī)器人能對(duì)客觀世界的三維場(chǎng)景具有感知、識(shí)別和理解能力。機(jī)器人視覺(jué)的主要研究目標(biāo)是建成機(jī)器人視覺(jué)系統(tǒng),完成各種視覺(jué)任務(wù)。

(1)?圖像獲取。圖像獲取是機(jī)器人視覺(jué)中的第一步。圖像獲取的過(guò)程是模仿人類視覺(jué)來(lái)完成的。

(2)?數(shù)字化圖像。數(shù)字化圖像是指因?yàn)閿z像頭輸出的視頻信號(hào)還不能直接被計(jì)算機(jī)使用,必須通過(guò)數(shù)字化處理將視頻信號(hào)變成可以被計(jì)算機(jī)使用的信息化過(guò)程。這個(gè)過(guò)程一般是由攝像頭通過(guò)數(shù)據(jù)線把模擬信號(hào)傳送到視頻采集卡上,轉(zhuǎn)化為數(shù)字信號(hào),再送到主機(jī)系統(tǒng)中,然后由圖像處理程序進(jìn)行處理。

(3)?圖像分割。圖像分割是指在機(jī)器人視覺(jué)系統(tǒng)中,由于攝像機(jī)的位置和環(huán)境是已知的,因此,可通過(guò)一些基本的幾何知識(shí)來(lái)描述和確定圖像中目標(biāo)的形狀及空間位姿。

(4)?目標(biāo)圖像識(shí)別。目標(biāo)圖像識(shí)別系統(tǒng)是通過(guò)圖像分割完成圖像的二值化,從而可以把目標(biāo)從圖像之中檢測(cè)出來(lái)。經(jīng)過(guò)圖像識(shí)別之后,由控制器將處理結(jié)果發(fā)送給機(jī)器人,機(jī)器人會(huì)對(duì)此信號(hào)進(jìn)行避碰和迎擊。

1.?攝像頭

如果沒(méi)有“眼睛”,機(jī)器人只能像無(wú)頭蒼蠅一樣四處亂撞,我們用攝像頭來(lái)實(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ī)器視覺(jué)是光學(xué)成像問(wèn)題的逆問(wèn)題,即通過(guò)對(duì)三維世界所感知的二維圖像來(lái)提取出三維景物的幾何物理特征。在成像過(guò)程中,有下述三個(gè)方面的影響是至關(guān)重要的:

(1)?三維場(chǎng)景投影成二維圖像過(guò)程中損失了大量信息。

(2)?成像灰度受場(chǎng)景中諸多因素的影響。

(3)?成像過(guò)程中或多或少地引入了畸變和噪聲。

3.圖像預(yù)處理

機(jī)器人視覺(jué)系統(tǒng)圖像預(yù)處理主要包括:

(1)?圖像獲取。圖像獲取是在機(jī)器視覺(jué)中,模仿人類的視覺(jué)過(guò)程進(jìn)行的處理過(guò)程。

(2)?圖像增強(qiáng)。圖像增強(qiáng)是根據(jù)所處環(huán)境的光照條件和所選擇的顏色模型,對(duì)視覺(jué)系統(tǒng)所用到的有關(guān)顏色的參數(shù)進(jìn)行優(yōu)化。

(3)?圖像恢復(fù)。圖像恢復(fù)是指對(duì)光學(xué)鏡頭幾何形變的矯正,補(bǔ)償由于光學(xué)鏡頭所帶來(lái)的圖像形變。

(4)?圖像壓縮。圖像壓縮是指以較少的比特有損或無(wú)損地表示原來(lái)的像素矩陣的技術(shù),也稱圖像編碼,目的是減少圖像數(shù)據(jù)中的冗余信息從而用更加高效的格式存儲(chǔ)和傳輸數(shù)據(jù)。

4.圖像識(shí)別及應(yīng)用

圖像識(shí)別包括圖像分割和目標(biāo)識(shí)別,它是整個(gè)視覺(jué)系統(tǒng)的核心工作。為了使目標(biāo)從圖像背景中分離出來(lái),在機(jī)器人視覺(jué)系統(tǒng)中,攝像機(jī)的位置和環(huán)境是已知的,因此,可通過(guò)一些基本的幾何知識(shí)來(lái)描述和確定圖像中目標(biāo)的形狀及空間位姿。尋找目標(biāo)與非目標(biāo)的差異過(guò)程稱為目標(biāo)識(shí)別。而根據(jù)所識(shí)別的不同目標(biāo)之間的某些特征差異對(duì)圖像進(jìn)行區(qū)域劃分則稱為圖像分割。對(duì)目標(biāo)進(jìn)行辨識(shí),首先需要對(duì)圖像中的目標(biāo)進(jìn)行分割。

通過(guò)圖像分割,使得數(shù)字圖像二值化,即將圖像中的所有像素劃分成目標(biāo)和非目標(biāo)兩類,對(duì)應(yīng)目標(biāo)像素的點(diǎn)置1,而其他像素點(diǎn)置0,在經(jīng)過(guò)圖像的二值化之后,可以把目標(biāo)從圖像之中檢測(cè)出來(lái)。經(jīng)過(guò)圖像識(shí)別之后,控制器將處理結(jié)果發(fā)送給機(jī)器人,機(jī)器人會(huì)對(duì)找到所要辨識(shí)的目標(biāo)信號(hào)進(jìn)行避碰和迎擊。

2.3機(jī)器人移動(dòng)機(jī)構(gòu)設(shè)計(jì)問(wèn)題解析

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)系對(duì)照表,車輛需保持前進(jìn)或后退狀態(tài)時(shí),給左右兩邊的輪子同樣向前或向后的電機(jī)轉(zhuǎn)速,底盤就會(huì)前進(jìn)或者后退;車輛需在轉(zhuǎn)彎狀態(tài)時(shí),需給左右兩邊的輪子不一樣的轉(zhuǎn)速,底盤就會(huì)轉(zhuǎn)向。

對(duì)于只有兩個(gè)輪子的結(jié)構(gòu),讓其平衡是最大的工作,下面我們分析常見的輪式底盤結(jié)構(gòu)。如表2.5所示為常見輪子底盤結(jié)構(gòu)對(duì)照表。這里以表2.5中序號(hào)5小車輪子底盤結(jié)構(gòu)為例來(lái)設(shè)計(jì)輪式機(jī)器人,我們通過(guò)控制四個(gè)電機(jī)讓機(jī)器人能夠靈活運(yùn)動(dòng)起來(lái),四個(gè)電機(jī)轉(zhuǎn)向和機(jī)器人底盤的運(yùn)動(dòng)方向有一定的對(duì)應(yīng)關(guān)系。

2.3.2全向輪結(jié)構(gòu)

全向機(jī)器人的根本特征是使用全向輪,可以任意方向行進(jìn)。首先我們需要了解一下什么是全向輪,與常規(guī)的輪子有何區(qū)別。如圖2.14所示是當(dāng)前比較常見的全向輪,根據(jù)載荷的不同,全向輪的大小、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論