999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

主動(dòng)對(duì)象計(jì)算模型在工業(yè)機(jī)器人系統(tǒng)中的應(yīng)用

2018-06-05 11:41:02殷冰磊董伯麟
關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

殷冰磊,董伯麟

(合肥工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 合肥 230009)

0 引言

工業(yè)機(jī)器人控制系統(tǒng)的設(shè)計(jì)包括硬件設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)。目前對(duì)工業(yè)機(jī)器人軟件系統(tǒng)的設(shè)計(jì)主要研究有:(1)依托第三方內(nèi)核實(shí)現(xiàn)可拓展的工業(yè)機(jī)器人控制軟件系統(tǒng)。高美原[1]等結(jié)合ROS和Linux CNC構(gòu)建了一個(gè)可配置的軟件架構(gòu);畢魯雁[2]等采用強(qiáng)實(shí)時(shí)能力的RTX和具備豐富資源的工業(yè)計(jì)算機(jī)為平臺(tái)搭建了一個(gè)開放的可拓展的控制系統(tǒng)平臺(tái)。(2)以總線及以太網(wǎng)技術(shù)為基礎(chǔ)建立易擴(kuò)展的機(jī)器人控制軟件系統(tǒng)。王力宇[3]等采用EtherCAT總線技術(shù)簡化機(jī)器人軟件系統(tǒng)結(jié)構(gòu),提高了系統(tǒng)的穩(wěn)定性。(3)通過采用組件與模塊化技術(shù)建立工業(yè)機(jī)器人軟件系統(tǒng)的開放性結(jié)構(gòu);曹波[4]等基于模塊化的思想將整個(gè)控制系統(tǒng)按功能進(jìn)行了子系統(tǒng)化;周偉花[5]研究了面向制造者和面向用戶的可重構(gòu)模塊化設(shè)計(jì)在機(jī)器人系統(tǒng)上的應(yīng)用。(4)采用分層理論對(duì)機(jī)器人軟件系統(tǒng)進(jìn)行層次劃分。陸偉[6]構(gòu)建的三層軟件架構(gòu)系統(tǒng)有效地避免了機(jī)器人在數(shù)據(jù)處理過程中的信息冗余問題;Fang Jian[7]等將機(jī)器人軟件系統(tǒng)分為交互層、決策層和物理層以提高軟件的穩(wěn)定性和執(zhí)行效率。

以上的軟件研究設(shè)計(jì)均是面向系統(tǒng)的設(shè)計(jì)。當(dāng)系統(tǒng)功能增加、系統(tǒng)行為變得復(fù)雜時(shí),上層應(yīng)用對(duì)象數(shù)目急劇增加,對(duì)象之間和與底層組件之間的交互就會(huì)變得交錯(cuò)復(fù)雜,導(dǎo)致系統(tǒng)的運(yùn)行及維護(hù)繁瑣和低效。

針對(duì)上述問題,基于面向?qū)ο笤O(shè)計(jì)范式,提出主動(dòng)對(duì)象計(jì)算模型來構(gòu)建工業(yè)機(jī)器人系統(tǒng)的方法。主動(dòng)對(duì)象具有低耦合高聚合的特性,能夠降低應(yīng)用對(duì)象交互的復(fù)雜度,有效提高系統(tǒng)軟件的靈活性、可移植性和開放性。

1 主動(dòng)對(duì)象計(jì)算模型

主動(dòng)對(duì)象(Active Object,AO)來自建模統(tǒng)一語言(Unified Modeling Language,UML),在UML規(guī)范里,一個(gè)主動(dòng)對(duì)象是“一個(gè)對(duì)象,它有自己的控制的線程”,以一種運(yùn)行到完成的方式來處理事件,和其他事件通過異步交換事件來通信[8]。簡單來說,主動(dòng)對(duì)象=狀態(tài)機(jī)+控制的線程+事件隊(duì)列。

1.1 行為繼承與面向?qū)ο?/h3>

繼承在軟件構(gòu)建過程中是基礎(chǔ)性的。在面向?qū)ο笤O(shè)計(jì)里,類繼承描述了對(duì)象類之間的關(guān)系,并對(duì)軟件的組織及代碼的重用極為重要。主動(dòng)對(duì)象計(jì)算模型則采用了一種行為重用的方法,被稱為行為繼承,如同Ultimate Hook模式[9]里所采用的差異化編程方式,應(yīng)用程序僅需實(shí)現(xiàn)與系統(tǒng)標(biāo)準(zhǔn)行為不同的部分。行為繼承使得主動(dòng)對(duì)象即使在建模系統(tǒng)復(fù)雜度增加的情況下,行為重用的機(jī)會(huì)也在增加,能夠有效地減少系統(tǒng)的復(fù)雜性。

1.2 層次式狀態(tài)機(jī)

在這個(gè)模型中,狀態(tài)機(jī)是這個(gè)主動(dòng)對(duì)象的核心。傳統(tǒng)的狀態(tài)機(jī)是有限狀態(tài)機(jī)(Fine State Machine,F(xiàn)SM),當(dāng)所需解決的問題規(guī)模較小時(shí),F(xiàn)SM是一個(gè)很好的選擇。然而,當(dāng)所需搭建的系統(tǒng)規(guī)模較大時(shí),即使規(guī)模適中,采用FSM也很難對(duì)所搭建的系統(tǒng)進(jìn)行管理。這是由于FSM所搭建的狀態(tài)圖具有爆炸性、重復(fù)性的特點(diǎn),使得FSM的復(fù)雜性劇增,超過了所描述的基于反應(yīng)性系統(tǒng)的復(fù)雜度。模型中的主動(dòng)對(duì)象基于面向?qū)ο蟮乃枷耄Y(jié)合了抽象和層次的處理方式,采用行為繼承的方法,建立層次式狀態(tài)機(jī),簡化了狀態(tài)機(jī)設(shè)計(jì),極大地減少了重復(fù)性,從而擺脫了狀態(tài)機(jī)狀態(tài)爆炸的現(xiàn)象。圖1展示了簡單形式下的層次狀態(tài)機(jī)。

圖1 層次式狀態(tài)機(jī)

1.3 RTC事件處理

如圖2所示,主動(dòng)對(duì)象的控制線程中,都有一個(gè)對(duì)事件循環(huán)處理的泵,只要事件隊(duì)列中存在事件,它就不斷地通過Queue.get()操作提取事件進(jìn)行處理。而當(dāng)事件隊(duì)列空閑時(shí),它便有效地阻塞這個(gè)循環(huán),直到新的事件到來。

主動(dòng)對(duì)象的執(zhí)行模型是采用運(yùn)行到完成(Run-To-Complete,RTC)方式。RTC意味著狀態(tài)機(jī)對(duì)每個(gè)到來的事件的處理都是不可分割的,當(dāng)前事件Dispatch()操作處理完成之前,新到來的事件只能在隊(duì)列中等待,而不能中斷當(dāng)前執(zhí)行過程。RTC模型并不意味著當(dāng)前執(zhí)行的狀態(tài)機(jī)不能被搶斷,在多任務(wù)系統(tǒng)中,如Windows環(huán)境下不同線程中執(zhí)行的任務(wù)也是可以執(zhí)行的,它可能搶占了其他線程中正在執(zhí)行RTC步驟的任務(wù)。然而采用RTC模型的主動(dòng)對(duì)象要實(shí)現(xiàn)這樣的多任務(wù)搶占性、并發(fā)性,就必須要求主動(dòng)對(duì)象之間的耦合性降到最低,即它們之間不共享資源,這樣才不會(huì)出現(xiàn)并發(fā)性、搶占性危險(xiǎn)。

圖2 主動(dòng)對(duì)象系統(tǒng)

1.4 出版-訂閱式中間層平臺(tái)

圖3展示了出版-訂閱式模式下主動(dòng)對(duì)象之間的交互通信。主動(dòng)對(duì)象相互之間不需要共享資源,通過中間層平臺(tái)(Quantum Platform,QP)來實(shí)現(xiàn)彼此的通信,并通過中間層的平臺(tái)抽象層(Platform Abstract Layer,PAL)提供接口訪問底層的組件/庫和實(shí)時(shí)操作系統(tǒng)提供的服務(wù),實(shí)現(xiàn)了低耦合高聚合的特性。QF是這個(gè)QP架構(gòu)的核心,它負(fù)責(zé)上層主動(dòng)對(duì)象的核心調(diào)度、事件池的管理、時(shí)間事件管理、通信、注冊(cè)等。主動(dòng)對(duì)象通過出版-訂閱式異步通信,采用事件零復(fù)制機(jī)制實(shí)現(xiàn)通信。每個(gè)主動(dòng)對(duì)象在注冊(cè)初始化時(shí)訂閱它們所關(guān)心的事件,每個(gè)主動(dòng)對(duì)象產(chǎn)生的事件通過QF中間層進(jìn)行發(fā)布。

圖3 出版-訂閱式中間層平臺(tái)

2 主動(dòng)對(duì)象計(jì)算模型的實(shí)現(xiàn)架構(gòu)

圖4展示了主動(dòng)對(duì)象的類實(shí)現(xiàn)圖。主動(dòng)對(duì)象繼承基類CActiveObject,CActiveOject類則包含了前面所述的主動(dòng)對(duì)象的三個(gè)要素:狀態(tài)機(jī)(CHsm類)、控制的線程Thread和事件隊(duì)列Queue。

圖4 主動(dòng)對(duì)象類實(shí)現(xiàn)圖

采用主動(dòng)對(duì)象計(jì)算模型需要設(shè)計(jì)一個(gè)新的工業(yè)機(jī)器人軟件系統(tǒng)架構(gòu),傳統(tǒng)的工業(yè)機(jī)器人軟件系統(tǒng)架構(gòu)需要改變。根據(jù)主動(dòng)對(duì)象計(jì)算模型,構(gòu)建如圖5所示的體系架構(gòu)。

圖5 系統(tǒng)體系架構(gòu)圖

運(yùn)行系統(tǒng)總體架構(gòu)可分為以下幾部分:

(1)實(shí)時(shí)操作系統(tǒng)層:實(shí)時(shí)操作系統(tǒng)負(fù)責(zé)提供整個(gè)控制軟件運(yùn)行的基本環(huán)境、系統(tǒng)資源。不同的實(shí)時(shí)操作系統(tǒng)有著不同的實(shí)時(shí)性特性。

(2)中間層:中間層是這個(gè)分層體系架構(gòu)的核心層。它包含了平臺(tái)抽象、組件接口服務(wù)、實(shí)時(shí)框架服務(wù)三個(gè)部分。平臺(tái)抽象將實(shí)時(shí)操作系統(tǒng)相關(guān)的一些資源和接口封裝起來。組件接口服務(wù)功能是對(duì)組件層提供的接口進(jìn)一步抽象封裝,以提供對(duì)系統(tǒng)可重構(gòu)性和開放性的支持。實(shí)時(shí)框架采用QF來負(fù)責(zé)任務(wù)的調(diào)度、事件管理、時(shí)間管理、通信管理以及應(yīng)用層的管理。中間層的三個(gè)部分不是獨(dú)立工作的,QF提供了上層運(yùn)行時(shí)的基本的環(huán)境,而平臺(tái)抽象則隱藏了運(yùn)行時(shí)硬件和軟件的差異,組件接口服務(wù)則實(shí)現(xiàn)了系統(tǒng)動(dòng)態(tài)配置的功能。

(3)應(yīng)用層:應(yīng)用層是由各個(gè)主動(dòng)對(duì)象構(gòu)成的,不同的主動(dòng)對(duì)象負(fù)責(zé)處理不同的事務(wù)。由于應(yīng)用層的平臺(tái)無關(guān)性,當(dāng)?shù)讓影l(fā)生變動(dòng)時(shí),若客戶需求沒有改變,應(yīng)用層同樣也不需改動(dòng),極大地提高了系統(tǒng)軟件的可移植性,減少了系統(tǒng)軟件的設(shè)計(jì)開發(fā)成本。

3 HN-Robot機(jī)器人控制系統(tǒng)應(yīng)用

HN-Robot是以Windows CE6.0為軟件平臺(tái)的開放式可重構(gòu)嵌入式機(jī)器人控制系統(tǒng),可以根據(jù)具體需求實(shí)現(xiàn)對(duì)Scara、Puma等多種機(jī)器人的控制。表1所示為HN-Robot 機(jī)器人控制系統(tǒng)的規(guī)格參數(shù)。在這一部分將重點(diǎn)展示中間層和應(yīng)用層的實(shí)現(xiàn)。

表1 HN-Robot系統(tǒng)規(guī)格參數(shù)

3.1 HN-Robot機(jī)器人系統(tǒng)中間層實(shí)現(xiàn)

3.1.1框架服務(wù)

為了實(shí)現(xiàn)對(duì)上層應(yīng)用的管理,部分框架的接口定義如下。

void QF_init()

//初始化框架

void QF_poolInit()

//初始化上層事件池

void QF_psInit()

//初始化事件訂閱表

void QActive_ctor()

//初始化上層活動(dòng)對(duì)象

void QActive_start()

//開啟活動(dòng)對(duì)象線程

int16_t QF_run()

//運(yùn)行框架服務(wù)

void QF_publish()

//事件出版

void QAcitve_subscribe()

//事件訂閱

框架提供上層應(yīng)用運(yùn)行時(shí)的環(huán)境。例如,上層主動(dòng)對(duì)象之間通過框架的出版-訂閱式的服務(wù)接口QF_publish()和QActive_subscribe()就能實(shí)現(xiàn)通信。這樣,框架便隱藏了操作系統(tǒng)的異構(gòu)性,使得上層應(yīng)用與實(shí)時(shí)操作系統(tǒng)解耦,大大提高了上層應(yīng)用的可移植性。

3.1.2組件接口服務(wù)

為了實(shí)現(xiàn)對(duì)組件/庫的管理,部分組件接口服務(wù)定義如下。

bool CLI_OpenHMI()

//打開HMI模塊

void CLI_CloseHMI()

//關(guān)閉HMI模塊

void CLI_MOVEP()

//機(jī)器人指定點(diǎn)位運(yùn)動(dòng)

void CLI_MOVEL()

//機(jī)器人指定直線運(yùn)動(dòng)

void CLI_MOVEC()

//機(jī)器人指定圓弧運(yùn)動(dòng)

int CLI_HOME()

//機(jī)器人回原點(diǎn)

int CLI_Stop()

//機(jī)器人停止運(yùn)動(dòng)

void CLI_ReadDO()

//讀取輸出口狀態(tài)

組件接口服務(wù)對(duì)那些提供相似服務(wù)的接口進(jìn)行抽象,這種抽象能夠在不改變系統(tǒng)其他部分的情況下實(shí)現(xiàn)組件的替換或更新。如在實(shí)現(xiàn)四自由度和六自由度的點(diǎn)位運(yùn)動(dòng)中,將具有這些相似功能的點(diǎn)位運(yùn)動(dòng)接口定義為CLI_MOVEP(P1,P2,…),就能實(shí)現(xiàn)控制這類型的運(yùn)動(dòng)。通過這樣一種抽象封裝,上層就無需了解底層的實(shí)現(xiàn)細(xì)節(jié),系統(tǒng)也能夠在不改動(dòng)的情況下實(shí)現(xiàn)正常運(yùn)行。

3.1.3平臺(tái)抽象

平臺(tái)抽象通過一系列的宏定義和接口定義,將不同操作系統(tǒng)的資源和API接口進(jìn)行了統(tǒng)一。這樣,平臺(tái)抽象層就能隱藏框架運(yùn)行時(shí)軟硬件環(huán)境的不同。部分抽象層宏定義和接口定義如下。

//宏定義,通過改寫宏進(jìn)行相應(yīng)系統(tǒng)移植

#define QF_INT_LOCK …

#define QF_INT_UNLOCK …

#define QACITVE_EQUEUE_WAT …

#define QACITVE_EQUEUE_SIGNAL …

#define QACITVE_EQUEUE_ONEMPTY …

3.2 HN-Robot機(jī)器人系統(tǒng)應(yīng)用層實(shí)現(xiàn)

主動(dòng)對(duì)象采用UML進(jìn)行設(shè)計(jì),并使用QM建模工具(QM Modeling Tool,QMMT)進(jìn)行開發(fā)。以下給出了HN-Robot機(jī)器人控制系統(tǒng)中幾個(gè)主動(dòng)對(duì)象UML狀態(tài)圖設(shè)計(jì),它們隱藏了大部分的細(xì)節(jié),從整體上給出狀態(tài)分析及轉(zhuǎn)換的實(shí)現(xiàn)方式。

3.2.1譯碼主動(dòng)對(duì)象

如圖6所示,譯碼主動(dòng)對(duì)象負(fù)責(zé)管理對(duì)程序的編譯處理。初始化后,主動(dòng)對(duì)象處于Get_Code狀態(tài),等待用戶選擇相應(yīng)程序。當(dāng)收到CODE事件后,轉(zhuǎn)換到Interpret狀態(tài),之后根據(jù)DECODE事件對(duì)程序進(jìn)行編譯。如果操作失敗,則進(jìn)入Error狀態(tài)報(bào)錯(cuò)。

圖6 譯碼主動(dòng)對(duì)象UML圖

3.2.2運(yùn)行主動(dòng)對(duì)象

如圖7所示,運(yùn)行主動(dòng)對(duì)象負(fù)責(zé)管理程序的運(yùn)行。初始化后,主動(dòng)對(duì)象處于wait狀態(tài),等待用戶設(shè)置運(yùn)行程序。用戶可以進(jìn)行自動(dòng)運(yùn)行或者單步運(yùn)行操作,主動(dòng)對(duì)象則根據(jù)相應(yīng)的事件進(jìn)行處理,并進(jìn)入working狀態(tài)。主動(dòng)對(duì)象接收到PAUSE事件后進(jìn)入Pause狀態(tài),暫停等待用戶進(jìn)一步操作。

圖7 運(yùn)行主動(dòng)對(duì)象UML圖

3.2.3示教主動(dòng)對(duì)象

如圖8所示,示教主動(dòng)對(duì)象負(fù)責(zé)管理HMI中的示教操作。初始化后,主動(dòng)對(duì)象從disable狀態(tài)轉(zhuǎn)換到enable的ready子狀態(tài),等待用戶的示教指令。當(dāng)有示教指令產(chǎn)生后,主動(dòng)對(duì)象會(huì)根據(jù)不同的指令進(jìn)行不同的事件處理。

圖8 示教主動(dòng)對(duì)象UML圖

3.3 HN-Robot機(jī)器人控制系統(tǒng)軟件實(shí)現(xiàn)

各個(gè)事務(wù)處理的主動(dòng)對(duì)象設(shè)計(jì)好后,就可以在中間層上進(jìn)行創(chuàng)建了。設(shè)計(jì)譯碼主動(dòng)對(duì)象的偽代碼實(shí)現(xiàn)如下:

//主動(dòng)對(duì)象創(chuàng)建實(shí)例

$declare(AOs::Interpret)

//封裝了譯碼主動(dòng)對(duì)象的聲明

static Interpret l_Interpret;

//唯一的譯碼主動(dòng)對(duì)象實(shí)例

//譯碼主動(dòng)對(duì)象唯一的公共接口

QActive *AO_Interpret = (QActive *)&l_Interpret;

$define(AOs::Interpret_ctor)

//譯碼主動(dòng)對(duì)象創(chuàng)建函數(shù)

$define(AOs::Interpret)

//譯碼主動(dòng)對(duì)象狀態(tài)機(jī)實(shí)現(xiàn)

//主動(dòng)對(duì)象創(chuàng)建運(yùn)行

int Create_ActiveObject(){

Interpret_ctor();

//譯碼主動(dòng)對(duì)象創(chuàng)建

//其他主動(dòng)對(duì)象創(chuàng)建

QF_init();

//框架服務(wù)初始化

….

//其他初始化

QActive_start(AO_Interpret,…)

//譯碼主動(dòng)對(duì)象運(yùn)行線程創(chuàng)建

//其他主動(dòng)對(duì)象運(yùn)行線程創(chuàng)建

QF_run();

//框架服務(wù)啟動(dòng)運(yùn)行}

代碼中首先創(chuàng)建唯一一個(gè)譯碼主動(dòng)對(duì)象l_Interpret,并采用QM內(nèi)置函數(shù)MYMdefine(AOs::Interpret)將UML圖的狀態(tài)機(jī)轉(zhuǎn)化成代碼,最后通過QActive_start(AO_Interpret,…)函數(shù)創(chuàng)建主動(dòng)對(duì)象的運(yùn)行線程。當(dāng)所有主動(dòng)對(duì)象完成創(chuàng)建后,就可以通過調(diào)用QP中間層平臺(tái)提供的接口QF_run()啟動(dòng)框架的服務(wù)。

圖9為HN-Robot機(jī)器人控制系統(tǒng)的HMI整體展示。從整體上可將區(qū)域劃分為菜單區(qū)、功能區(qū)、狀態(tài)區(qū)、信息提示區(qū)。該圖展示了手動(dòng)模式下進(jìn)行手動(dòng)示教的過程。

圖9 HN-Robot 人機(jī)界面

4 結(jié)論

從上述軟件設(shè)計(jì)過程可以看出:

(1)層次式狀態(tài)能夠幫助設(shè)計(jì)者隱藏內(nèi)部細(xì)節(jié),行為繼承方式使得主動(dòng)對(duì)象通過重用機(jī)制(Umltimate Hook模式)減小系統(tǒng)復(fù)雜性。中間層架構(gòu)的出版-訂閱式平臺(tái)降低了主動(dòng)對(duì)象之間的耦合性,有效提高了程序的靈活性和可維護(hù)性。

(2)可視化主動(dòng)對(duì)象設(shè)計(jì)。應(yīng)用層采用UML圖形化設(shè)計(jì)開發(fā),如圖6、圖7、圖8所示,使得軟件分析和邏輯結(jié)構(gòu)清晰,能夠有效、快速開發(fā)出機(jī)器人控制軟件相應(yīng)的業(yè)務(wù)功能,降低了軟件設(shè)計(jì)的復(fù)雜度。

(3)采用主動(dòng)對(duì)象計(jì)算模型設(shè)計(jì)的分層架構(gòu)有效實(shí)現(xiàn)對(duì)各個(gè)資源的有效劃分和管理。在該架構(gòu)的實(shí)現(xiàn)中,底層對(duì)上層而言是透明的,中間層封裝了實(shí)時(shí)操作系統(tǒng)和組件的服務(wù)接口,隱藏了軟/硬件的差異,為應(yīng)用層提供了獨(dú)立于平臺(tái)的運(yùn)行環(huán)境,提高了軟件的可移植性。

[1] 高美原, 秦現(xiàn)生, 白晶,等. 基于ROS和LinuxCNC的工業(yè)機(jī)器人控制系統(tǒng)開發(fā)[J]. 機(jī)械制造, 2015, 53(10):21-24.

[2] 畢魯雁, 劉立生. 基于RTX的工業(yè)機(jī)器人控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2013(3):87-89.

[3] 王力宇, 曹其新, 董忠. 基于EtherCAT總線的工業(yè)機(jī)器人控制系統(tǒng)設(shè)計(jì)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2017(10):79-81,86.

[4] 曹波, 曹其新, 陳培華. 基于模塊化設(shè)計(jì)的碼垛機(jī)器人控制系統(tǒng)開發(fā)[J]. 機(jī)床與液壓, 2012, 40(23):90-92.

[5] 周偉花. 軟件構(gòu)件化技術(shù)在工業(yè)機(jī)器人集成系統(tǒng)的應(yīng)用研究[D]. 長沙:中南大學(xué), 2013.

[6] 陸偉. 一種工業(yè)機(jī)器人三層軟件架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電氣自動(dòng)化, 2016, 38(2):18-19.

[7] Fang Jian, Zhao Jianghai, He Feng, et al. Design and research of three-layers open architecture model for industrial robot software system[C]// IEEE International Conference on Mechatronics and Automation. IEEE, 2013:104-109.

[8] MIRO S.Practical UML Statcharts in C/C++ (Second Edition)[M]. Burlington: Newnes, 2008.

[9] PETZOLD C, PAUL Y. Programming Windows 95[M].Microsoft Press, 1996.

猜你喜歡
系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過海——仿生設(shè)計(jì)萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 久热这里只有精品6| 国产视频一区二区在线观看| 日韩av无码DVD| 中文字幕中文字字幕码一二区| 国产福利一区视频| 91精品人妻互换| av大片在线无码免费| 激情综合网址| 亚洲中文无码av永久伊人| a欧美在线| 最新亚洲人成网站在线观看| 一级毛片在线直接观看| 亚洲精品少妇熟女| 国产丝袜丝视频在线观看| 无码精品国产dvd在线观看9久| 国产资源免费观看| 日韩无码黄色网站| 国产又黄又硬又粗| 伊人色综合久久天天| 亚洲无线国产观看| 一本二本三本不卡无码| 国产91熟女高潮一区二区| 亚洲欧美国产五月天综合| 午夜视频日本| 欧美乱妇高清无乱码免费| 青青草原偷拍视频| 最新国产精品鲁鲁免费视频| 亚洲色图欧美在线| 国产亚洲美日韩AV中文字幕无码成人| 国产va免费精品观看| 亚洲AV无码精品无码久久蜜桃| av无码久久精品| 国产特级毛片aaaaaaa高清| 免费中文字幕在在线不卡| 国产三级视频网站| 国产精品人成在线播放| 国产精品xxx| 亚洲va精品中文字幕| 尤物国产在线| 久久精品66| 久久青青草原亚洲av无码| 亚洲天堂久久| 波多野结衣一区二区三视频 | 免费看黄片一区二区三区| 在线观看免费人成视频色快速| 久久久久久久蜜桃| 免费国产小视频在线观看| 久久人搡人人玩人妻精品| 国产成人夜色91| 欧美色视频网站| 在线亚洲天堂| 国产成人精品男人的天堂| 中文字幕av无码不卡免费 | 国产福利免费视频| 久久精品国产国语对白| 午夜视频免费一区二区在线看| 久久综合五月婷婷| 亚洲精品无码在线播放网站| 亚洲码在线中文在线观看| 看看一级毛片| 欧美伊人色综合久久天天| 992tv国产人成在线观看| 国产成年无码AⅤ片在线 | 婷婷五月在线视频| 亚洲AV无码乱码在线观看代蜜桃 | 国产福利微拍精品一区二区| 国内自拍久第一页| 欧美爱爱网| 91精品网站| 国产欧美高清| 日韩av无码精品专区| 美女高潮全身流白浆福利区| 日本不卡视频在线| av一区二区三区高清久久| 亚洲人成在线精品| 国产网站免费观看| 亚洲成在人线av品善网好看| 成人福利一区二区视频在线| 亚洲午夜片| 亚洲区第一页| 国产综合无码一区二区色蜜蜜| 日韩欧美国产另类|