規(guī)劃與導(dǎo)航是機(jī)器人技術(shù)基礎(chǔ)
出處:NI公司 發(fā)布于:2011-09-04 21:28:29
概覽
機(jī)器人(Robot)是自動(dòng)執(zhí)行工作的機(jī)器裝置。它既可以接受人類指揮,又可以運(yùn)行預(yù)先編排的程序,也可以根據(jù)以人工智能技術(shù)制定的原則綱領(lǐng)行動(dòng)。它的任務(wù)是協(xié)助或取代人類工作的工作,例如生產(chǎn)業(yè)、建筑業(yè),或是危險(xiǎn)的工作。
機(jī)器人是整合控制論、機(jī)械電子、計(jì)算機(jī)、材料和仿生學(xué)的產(chǎn)物。在工業(yè) 本田公司ASIMO機(jī)器人、醫(yī)學(xué)、農(nóng)業(yè)、建筑業(yè)甚至軍事等領(lǐng)域中均有重要用途。
現(xiàn)在,國際上對機(jī)器人的概念已經(jīng)逐漸趨近一致。一般說來,人們都可以接受這種說法,即機(jī)器人是靠自身動(dòng)力和控制能力來實(shí)現(xiàn)各種功能的一種機(jī)器。聯(lián)合國標(biāo)準(zhǔn)化組織采納了美國機(jī)器人協(xié)會(huì)給機(jī)器人下的定義:“一種可編程和多功能的,用來搬運(yùn)材料、零件、工具的操作機(jī);或是為了執(zhí)行不同的任務(wù)而具有可用電腦改變和可編程動(dòng)作的專門系統(tǒng)?!?/P>
路徑規(guī)劃
給定地圖和目的地情況下的路徑規(guī)劃指的是機(jī)器人通過軌跡識(shí)別行進(jìn)至目的地的能力。路徑規(guī)劃是至關(guān)重要的問題解決能力,因?yàn)闄C(jī)器人必須有能力決定在到達(dá)目的地前的路程中如何行進(jìn)。
路徑規(guī)劃可分為兩部分:表達(dá)與算法。路徑規(guī)劃人員首先將機(jī)器人環(huán)境轉(zhuǎn)化為適合路徑規(guī)劃的形式。路徑規(guī)劃算法通??捎糜趲缀跛信渲每臻g的表達(dá),雖然某些方法會(huì)更適合特定表達(dá)。圖1展示了LabVIEW中繪制的Voronoi圖。

圖1.LabVIEW中的Voronoi圖
由于多數(shù)表達(dá)可轉(zhuǎn)換為圖表,初始節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的路徑可通過圖搜索算法來計(jì)算。圖搜索算法被計(jì)算機(jī)科學(xué)充分理解,然而,許多算法要求程序訪問圖上的每個(gè)節(jié)點(diǎn),以此來決定初始節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)間的短路徑。對于松連通圖來說,訪問每個(gè)節(jié)點(diǎn)是容易計(jì)算的,如Voronoi圖;但對于緊連通圖來說計(jì)算開銷迅速變大,如規(guī)則網(wǎng)格圖。
避障
路徑規(guī)劃人員僅考慮預(yù)先知道的環(huán)境障礙。在路徑執(zhí)行中可能由于地圖或動(dòng)態(tài)環(huán)境等因素,造成機(jī)器人真實(shí)傳感器的值與預(yù)期值之間存在差異。因此,機(jī)器人必須能根據(jù)真實(shí)傳感器的值實(shí)時(shí)改變運(yùn)動(dòng)路徑。這正是避障能力重要的原因。一些通用的避障方法包括Bug算法、VFH算法。
Bug算法
一種直接的路徑規(guī)劃方法是沿機(jī)器人行進(jìn)路線中每個(gè)障礙的輪廓繞行。Bug1算法中,機(jī)器人完全沿障礙物輪廓環(huán)繞,并在到達(dá)離目標(biāo)地點(diǎn)近的點(diǎn)時(shí)分離。Bug2算法顯著縮短了機(jī)器人的行進(jìn)路程,但仍不是的。
VFH算法
Bug算法的一個(gè)限制是機(jī)器人每一刻的行為一般為傳感器近時(shí)刻讀數(shù)的函數(shù)。這就可能導(dǎo)致機(jī)器人的瞬時(shí)傳感器讀數(shù)不能為穩(wěn)定的避障能力提供足夠的信息。VFH技術(shù)通過創(chuàng)建機(jī)器人周圍環(huán)境的地圖克服了該限制。在避障時(shí)生成極坐標(biāo)柱狀圖來確定轉(zhuǎn)向。首先,識(shí)別能夠讓機(jī)器人通過的所有通道。然后,執(zhí)行考慮目標(biāo)方向、輪方向和前一刻方向的代價(jià)函數(shù)。

圖2.LabVIEWVI的前面板運(yùn)行VFH避障算法
在中LabVIEW使用算法
通過LabVIEW用戶可選擇有效的語法來開發(fā)算法,或使用內(nèi)置工具來導(dǎo)入其它基于文本語言寫的算法。繼承代碼中已有的搜索算法及其它機(jī)器人庫可輕松導(dǎo)入LabVIEW、LabVIEWReal-Time和LabVIEWFPGA中。
調(diào)用函數(shù)庫節(jié)點(diǎn)
LabVIEW用戶可利用調(diào)用庫函數(shù)節(jié)點(diǎn)在Windows機(jī)器和實(shí)時(shí)嵌入式控制器中調(diào)用DLL。該節(jié)點(diǎn)用于在LabVIEW中創(chuàng)建調(diào)用專為LabVIEW編寫的已有庫或新庫的接口。下圖的調(diào)用庫函數(shù)節(jié)點(diǎn)輸入4個(gè)字節(jié)的浮點(diǎn)數(shù),并輸出其平方值。

圖3.調(diào)用函數(shù)庫節(jié)點(diǎn)可在LabVIEW中用于導(dǎo)入繼承代碼
公式節(jié)點(diǎn)
公式節(jié)點(diǎn)可用于LabVIEW和LabVIEWReal-Time中的算法開發(fā)。公式節(jié)點(diǎn)是一種簡單的基于文本語言的節(jié)點(diǎn),用于在LabVIEW框圖中執(zhí)行數(shù)學(xué)操作。用戶無需連接任何外部代碼或應(yīng)用,也無需連接低級算法函數(shù)來創(chuàng)建等式。除了基于文本的等式表達(dá),公式節(jié)點(diǎn)還能接受基于文本版的if聲明、while循環(huán)、for循環(huán)和do循環(huán),這些都是C語言用戶所熟悉的。

圖4.公式節(jié)點(diǎn)采用類似C語言的語法
HDL節(jié)點(diǎn)
HDL接口節(jié)點(diǎn)允許用戶在LabVIEWFPGA中綜合硬件描述語言(HDL)寫的算法或應(yīng)用。用戶可以直接在HDL接口節(jié)點(diǎn)中輸入HDL代碼,或引用外部HDL文件,下圖的例子中,HDL輸入節(jié)點(diǎn)包括了VHDL代碼,將兩個(gè)32比特?cái)?shù)字相加并返回結(jié)果。

圖5.HDL節(jié)點(diǎn)允許用于向LabVIEWFPGA中導(dǎo)入HDL代碼
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04









