亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        自動導引車系統(tǒng)運行路徑規(guī)劃軟件的開發(fā)

        2017-11-03 08:13:53于煥李明儒劉桂娟
        物流技術與應用 2017年10期
        關鍵詞:畫法圓弧鼠標

        于煥 李明儒 劉桂娟/文

        自動導引車系統(tǒng)運行路徑規(guī)劃軟件的開發(fā)

        于煥 李明儒 劉桂娟/文

        自動導引車系統(tǒng)(AGVS)是現(xiàn)今工業(yè)自動化系統(tǒng)內(nèi)一種比較典型的應用,與其相關的研究與開發(fā)方向很多。本文闡述了在Visual C++可視化編程環(huán)境下如何規(guī)劃AGV運行路徑,并探討了地圖的開發(fā)步驟和方法。本文介紹的地圖生成軟件按照AGVS的客觀要求,實現(xiàn)了自動導引車運行環(huán)境中路徑、建筑物及地面設備的可視化繪制、編輯、保存,并最終形成特定格式的地圖數(shù)據(jù)文件用以控制AGV的現(xiàn)場運行。

        自動導引車系統(tǒng)、地圖、路徑規(guī)劃、軟件開發(fā)

        自動導引車系統(tǒng)(Automated Guided Vehicle System)通常被稱為AGVS,是廣泛應用于柔性生產(chǎn)線、自動化倉庫、無人車間等領域的一種無人駕駛輸送系統(tǒng)。一個AGVS由多臺AGV及中央監(jiān)控系統(tǒng)、通信系統(tǒng)、導引系統(tǒng)、充電系統(tǒng)、地面輔助系統(tǒng)等組成。目前的AGV大多是以固定路線運行的。固定路線在AGVS中通常被稱為地圖,其作用是導引AGV小車進行往復循環(huán)運行。

        本文詳細描述了在Visual C++(微軟公司的C++開發(fā)工具,具有集成開發(fā)環(huán)境,可提供C++等編程語言)可視化編程環(huán)境下如何規(guī)劃AGV運行路徑,研究地圖的開發(fā)步驟和方法。本文介紹的地圖生成軟件按照AGVS的客觀要求,實現(xiàn)了自動導引車運行環(huán)境中路徑、建筑物及地面設備的可視化繪制、編輯、保存,并最終形成特定格式的地圖數(shù)據(jù)文件用以控制AGV的現(xiàn)場運行;軟件實現(xiàn)了各種路徑連接點的相關特性,實現(xiàn)了路徑自動編號、查找,可以隨時更改地圖坐標原點,進行無極縮放和滾動,能根據(jù)實際需要對地圖進行編輯修改。能進行地圖有效性驗證,保證AGV運行的安全可靠;在地圖繪制過程中,軟件還具有自動跟蹤、智能判斷以及提示功能,保證用戶十分輕松地完成各種復雜的操作。

        一、路徑規(guī)劃軟件的圖形基礎

        圖1:圓弧動態(tài)畫法

        由于本軟件基于圖形界面,所以首先需要確立必要的圖形基礎。

        1.定義圖形對象

        根據(jù)Visual C++面向對象的特性,把地圖中各種構成要素抽象為不同的類別,如建筑物類、地面設備類及路徑類。建筑物基類又可分為圓形建筑物、方形建筑物等不同類型的建筑物;設備基類可分為方形設備、多邊形設備等不同類型的設備;路徑基類可分為直線路徑、圓弧路徑、側移路徑等不同類型的路徑。對地圖中各圖形元素的操作,實際上就是對以上定義的各個類型對象的操作。

        圖2:備件管理信息化系統(tǒng)結構示意圖

        圖3:以下代碼舉例說明圓弧路徑的選中操作

        2.確定屏幕的映射方式

        一般情況下,屏幕繪圖都以像素作為繪圖單位,稱之為設備坐標。在進行繪圖操作的時候,不可避免要用到設備坐標系。WINDOWS提供了幾種映射方式(或稱坐標系),可以通過它們來和設備上下文相聯(lián)系。一般來說,最常用的就是WM_TEXT方式,在此軟件設計中也采用WM_TEXT方式。在WM_TEXT坐標方式下,坐標被映射到像素,X值向右方遞增,Y值向下方遞增。當確定了設備上下文的映射方式之后,就可以利用CDC類的LptoDP函數(shù)及DPtoLP函數(shù),在邏輯坐標和設備坐標之間進行轉換,為圖形在屏幕上的顯示做好準備。

        3. 系統(tǒng)坐標的變換

        由于本軟件是有關地圖操作的,所以其呈現(xiàn)在用戶面前的坐標系應該是符合人們?nèi)粘A晳T的以米為單位的笛卡爾坐標系,即X值向右方遞增,Y值向上方遞增,這與上面采用的WM_TEXT屏幕映射方式有概念上的差異,因此需要推導一套坐標變換公式實現(xiàn)兩套坐標系之間的轉換。

        程序中最終存儲的各圖形元素的坐標為實際坐標,使用DPtoVP函數(shù)把實際坐標轉換為邏輯坐標,即可實現(xiàn)屏幕顯示。相反,使用VPtoDP函數(shù)把屏幕圖形的邏輯坐標轉換為實際坐標,即可實現(xiàn)坐標的存儲。

        二、軟件設計的指導思想和實現(xiàn)方法

        以下詳細描述該軟件的設計思想及實現(xiàn)方法,具體劃分為幾個不同方面:

        1. 圖形的畫法實現(xiàn)

        地圖中包括路徑類、建筑物類、設備類等三大類圖形,每一類中又包括十幾種不同的圖形元素,面對如此種類繁多的圖形對象,軟件應該提供十分豐富的畫法,如直線路徑的畫法有給定起點畫法、給定起點及終點畫法、給定傾角及長度畫法、鼠標任意拖拽畫法等;圓弧也可以根據(jù)其旋轉方向的不同而選擇不同的畫法。由于圖形元素太多,畫法也各異,不便一一介紹,在此選擇比較有代表性的圓弧畫法進行介紹。

        假設通過工具欄選擇順時針鼠標拖拽畫弧,首先在程序中構建一個圓弧類對象,在視圖類的鼠標移動事件響應函數(shù)OnMouseMove中將光標的形狀設置為十字形,等待按下鼠標選取圓弧起點。一旦按下鼠標左鍵,在視圖類的鼠標單擊事件響應函數(shù)OnLButtonDown中便可得到圓弧對象的起點m_pntStart,此后移動鼠標進入選取圓心階段,同樣在OnMouseMove函數(shù)中進行處理,在屏幕上畫出以鼠標當前點為圓心且經(jīng)過m_pntStart點的一個圓,并畫出圓的半徑。隨著鼠標的移動,圓和半徑也不斷更新,提示操作者將要得到的圓弧便在此圓周上。當再次按下鼠標左鍵,便選中了鼠標的按下點作為圓弧的圓心。此后便進入圓弧選取階段,當再次按下鼠標左鍵并拖動時,屏幕上出現(xiàn)一段以m_pntStart為起點并隨鼠標移動不斷改變弧長的圓弧,此時抬起鼠標左鍵,便可得到圓弧的終點。其值為經(jīng)過兩點(鼠標按下點及圓心點)的直線與圓周的交點。至此一段圓弧繪制完畢,同時在程序中保存此圓弧類對象到程序的圖形對象數(shù)組中。同理,可以完成各種圖形元素的繪制及保存工作。圖1可簡要說明圓弧動態(tài)畫法。

        2.圖形的選中

        對于地圖軟件視圖窗口中的所有圖形元素,都可以用鼠標來進行選中操作,被選中的圖形以不同于平時的方式進行顯示,并且可以進行屬性的修改操作。由于操作鼠標準確度的差異,對于封閉圖形還好辦,只要鼠標落點在封閉的面積范圍內(nèi)就可以將其認為是要選中的圖形,而對于像直線圓弧之類的線條形的圖形元素來說,鼠標按下點往往很難恰好落在圖形上。解決這個問題當然不能強求操作者,而要在軟件上實現(xiàn)一定程度的模糊控制。

        具體做法在此舉兩個例子:第一個例子是直線路徑。從數(shù)學上來講,直線路徑實質上就是一條直線段,軟件在這條直線段的兩側及兩端點附近開放一定范圍,具體的范圍值依據(jù)操作的靈活程度來確定。本軟件的開放范圍定為4個像素,只要在此范圍內(nèi)按下鼠標鍵,便選中圖形。第二個例子是圓弧路徑。對于圓周上的一段圓弧,要判斷一點是否在其上,首先要判斷此點到圓心的距離是否等于圓的半徑,然后要判斷此點相對于圓心的角度是否在圓弧兩個端點相對于圓心的角度范圍內(nèi),如果鼠標按下點滿足以上兩個條件,便選中圖形。然而如果按照上面的做法要用鼠標選中一個圓弧是相當困難的,解決的方法是放寬點到圓心距離的判斷條件,實現(xiàn)了在一定的區(qū)域范圍內(nèi)進行選中操作。對于其它圖形,軟件也都做了不同的處理。上頁代碼舉例說明圓弧路徑的選中操作,如圖3:

        3.軟件中某些智能畫法的實現(xiàn)

        在進行路段繪制時,大多數(shù)情況要求與某條已存在的路段相連。要實現(xiàn)路段相連,可以用給定起點的方法畫路段。但這種方法的不足之處是需要手工輸入起點坐標,為此軟件提供了兩種比較智能的方法實現(xiàn)路段的相連畫法:第一種方法稱為自動跟蹤法,即當移動鼠標到路段的端點(設為PointA點)附近時(幾個像素范圍內(nèi)),按下鼠標左鍵,程序將自動取PointA點作為將要繪制的路段的起點。第二種方法稱為參考路段法。當操作者需要在路段端點比較集中的區(qū)域內(nèi)選擇一條路段端點作為繪圖起點時,利用自動跟蹤法往往很難選中預期的起點,此時便可以利用參考路段法。首先選中一條路段,該路段將以選中狀態(tài)顯示;一旦選中了參考路段并指定了參考點,接下來的路段繪制將無條件地以參考路段的參考點作為繪制的起點。

        一般來說,AGV系統(tǒng)的運行路線至少有一段是閉合曲線。繪制由首尾相連的路段組成的封閉圖形,最大的難點往往不是路段繪制的本身,而是如何最后實現(xiàn)地圖的閉合;因為最后一條路段的終點往往不能恰好與將要相連路段的起點重合,即使對其中某一點的坐標進行修正,也很難滿足連接點的相切特性?;谝陨显颍浖峁┝艘环N非常智能的方法,一步即可實現(xiàn)地圖的閉合,且滿足相切性的要求,這就是圓弧連接法。此項功能的實現(xiàn)主要是根據(jù)兩條直線的直線方程、端點坐標及兩直線夾角平分線的直線方程,計算出滿足相切條件的圓方程,進而得到所需的圓弧。

        三、結論

        本文所介紹的AGV系統(tǒng)運行路徑的規(guī)劃與開發(fā)方法,是以Visual C++6.0為編譯環(huán)境所開發(fā)的WINDOWS圖形應用程序,并且已經(jīng)在實際工程中得到廣泛應用,特別是在美國通用全球多個汽車制造廠的應用,AGV系統(tǒng)的穩(wěn)定性及易用性得到了一致好評。由于C++語言本身面向對象的特性及代碼的可重用性,使得本軟件的后期完善和維護工作變得相對簡單,即使進行功能上大的改動也不會浪費太多的人力、財力。

        作者單位為新松機器人自動化股份有限公司

        猜你喜歡
        畫法圓弧鼠標
        鱷魚的畫法
        淺析圓弧段高大模板支撐體系設計與應用
        Progress in Neural NLP: Modeling, Learning, and Reasoning
        Engineering(2020年3期)2020-09-14 03:42:00
        外圓弧面銑削刀具
        水禽的畫法(六)
        老年教育(2018年12期)2018-12-29 12:43:02
        夜景的畫法
        童話世界(2018年20期)2018-08-06 08:57:38
        菊花的畫法
        丹青少年(2017年1期)2018-01-31 02:28:27
        數(shù)控車削圓弧螺紋程序編制與加工
        等截面圓弧無鉸板拱技術狀況評價
        45歲的鼠標
        少年科學(2009年1期)2009-01-20 03:25:10
        日本免费大片一区二区| 久久久99精品成人片中文字幕| 少妇bbwbbw高潮| 1000部精品久久久久久久久| 中文精品久久久久中文| 国产熟女自拍视频网站| 一区二区三区精品免费| 亚洲人成网线在线播放va蜜芽| 国产成人精品av| 欧美精品v欧洲高清| 亚洲韩日av中文字幕| 久久人人爽av亚洲精品| 成年午夜无码av片在线观看| 人妻精品一区二区三区视频| 日本久久视频在线观看| 厨房人妻hd中文字幕| 欧美丰满熟妇aaaaa片| 熟妇人妻不卡中文字幕| 亚洲女同系列在线观看| 国产a国产片国产| 污污污污污污污网站污| 亚洲精品熟女乱色一区| 无遮挡很爽很污很黄的女同| 男女车车的车车网站w98免费| 亚洲V在线激情| 日本人妻高清免费v片| 99久久免费看精品国产一| 啦啦啦www播放日本观看| 亚洲欧洲日产国码无码AV一 | 久久99久久99精品免视看国产成人| 91成人自拍视频网站| 又硬又粗进去好爽免费| 亚洲国产长腿丝袜av天堂| 香港三级欧美国产精品| 精品极品一区二区三区| 国产在线高清理伦片a| 亚洲av日韩av高潮潮喷无码 | 亚洲日本VA午夜在线电影| 日本一区二区国产精品| 色综合久久久久久久久久| 国产免费专区|