GazeboROS2使用說明(部分翻譯)

      網(wǎng)友投稿 1134 2022-05-30

      用于與Gazebo通訊的ROS 2包的集合在名為gazebo_ros_pkgs的meta包中。有關(guān)背景信息,請(qǐng)參閱ROS2概述,然后再繼續(xù)。這些軟件包支持ROS 2 Crystal、Dashing和Gazebo 9,可以從debian軟件包或源代碼安裝。

      Dolly是虛擬機(jī)器人小車,可作為Gazebo和ROS 2的實(shí)用介紹。

      機(jī)器人操作系統(tǒng)的最新版本ROS 2提供了熟悉的工具和功能,同時(shí)擴(kuò)展到新的用例。

      Gazebo是一個(gè)功能強(qiáng)大的機(jī)器人模擬器,供工業(yè)界和學(xué)術(shù)界使用,可以計(jì)算物理,生成傳感器數(shù)據(jù)并提供方便的界面。

      開源軟件正在降低進(jìn)入門檻并加快機(jī)器人技術(shù)的進(jìn)步。

      世界各地的機(jī)器人專家正在利用Gazebo和ROS的應(yīng)用,從人形機(jī)器人、無人機(jī)、物流機(jī)器人和自動(dòng)駕駛汽車。

      參考文獻(xiàn):

      http://gazebosim.org/tutorials?tut=ros2_installing

      https://github.com/chapulina/dolly

      介紹

      用于與Gazebo通信的ROS 2包的集合包含在名為gazebo_ros_pkgs的meta包中。有關(guān)背景信息,請(qǐng)參閱ROS2概述,然后再繼續(xù)。這些軟件包支持ROS 2 Crystal和Gazebo 9,可以從debian軟件包或源代碼安裝。

      預(yù)備條件

      了解ROS 2的基本概念,并學(xué)習(xí)了一些?ROS 2教程。

      安裝ROS 2

      可以通過二進(jìn)制包安裝或源安裝來安裝ROS2,請(qǐng)參閱ROS 2安裝頁(yè)面。目前穩(wěn)定的分布是Crystal、Dashing。

      提示:不要忘記按照ROS安裝頁(yè)面上的說明更新腳本。根據(jù)安裝方法,確切的命令會(huì)有所不同(setup.bash)

      如:source /opt/ros/dashing/setup.bash

      安裝Gazebo軟件

      從源代碼或預(yù)制軟件包安裝Gazebo。請(qǐng)參閱安裝Gazebo。

      安裝Gazebo 9。如果從源代碼安裝,請(qǐng)確保編譯?gazebo9發(fā)行版。目前ROS2只支持Gazebo9+版本。

      提示:如果在查找插件和其他資源時(shí)遇到困難,可能需要獲取Gazebo的安裝文件。例如:。source?/usr/share/gazebo/setup.sh

      安裝gazebo_ros_pkgs

      按照說明從debian軟件包安裝,或從源代碼安裝說明。

      從debian軟件包安裝(在Ubuntu上)

      假設(shè)已經(jīng)安裝了一些Dashing debian軟件包,請(qǐng)gazebo_ros_pkgs按如下方式安裝?:

      sudo apt install ros-dashing-gazebo-ros-pkgs

      從源代碼安裝(在Ubuntu上)

      如果您是一名活躍的開發(fā)人員,可以為代碼庫(kù)做出貢獻(xiàn),建議您安裝源代碼,因?yàn)樗梢蕴峁?duì)工作流程的更多訪問和控制。

      提示:這些說明需要使用colcon構(gòu)建工具,這是ROS 2中使用的標(biāo)準(zhǔn)工具。

      需要gazebo_ros_pkgs根據(jù)您正在使用的ROS 2版本選擇對(duì)應(yīng)發(fā)行版。目前支持的發(fā)行版是:

      crystal+dashing:適用于Crystal debians或Crystal、Dashing的?ros2.repos。

      ros2:指向下一個(gè)未發(fā)布的ROS 2龜,目前是Dashing。它適用于主?ros2.repos。

      以下設(shè)置假定使用ros2分支安裝gazebo_ros_pkgs。

      確保git安裝在您的Ubuntu機(jī)器上:

      sudo apt install git

      為colcon工作區(qū)創(chuàng)建一個(gè)目錄并移入其中:

      mkdir -p ~/ws/src

      復(fù)制此文件,獲取gazebo_ros_pkgs所需的其他包:

      cd ~/ws

      wget https://bitbucket.org/api/2.0/snippets/chapulina/geRKyA/f02dcd15c2c3b83b2d6aac00afe281162800da74/files/ros2.yaml

      注意:version?yaml文件中的標(biāo)記表示我們正在檢查特定存儲(chǔ)庫(kù)的發(fā)行版,例如?版本:ros2檢出ros2發(fā)行版。

      將包裝到src目錄中

      cd ~/ws

      vcs import src < ros2.yaml

      安裝所有依賴項(xiàng):

      cd ~/ws

      rosdep install --from-paths src --ignore-src -r -y

      然后編譯所有包:

      cd ~/ws

      colcon build --symlink-install

      注意:在編譯之前,請(qǐng)確保正確獲取ROS 2環(huán)境。

      如果在編譯過程中遇到任何問題,請(qǐng)務(wù)必在answers.gazebosim.org上尋求幫助?。

      確保打開的每個(gè)新終端獲取此工作區(qū)的安裝設(shè)置:

      source ~/ws/install/setup.bash

      提示:可以通過運(yùn)行此命令為每個(gè)新終端自動(dòng)獲取此信息:echo?"source ~/ws/install/setup.bash"?>>?~/.bashrc

      測(cè)試Gazebo和ROS 2集成

      假設(shè)您的ROS 2和Gazebo環(huán)境已經(jīng)正確設(shè)置和構(gòu)建,您現(xiàn)在應(yīng)該能夠加載包含ROS 2插件的Gazebo世界,并在運(yùn)行時(shí)插入具有ROS 2插件的模型。

      Gazebo ROS軟件包為您提供了幾個(gè)演示世界,讓您可以快速了解插件。可以在此處找到演示世界?,默認(rèn)安裝在?。/opt/ros//share/gazebo_plugins/worlds/

      每個(gè)世界文件都附帶頂部的說明,其中包含一些示例命令,您可以運(yùn)行這些命令來測(cè)試其功能,請(qǐng)務(wù)必檢查出來!

      現(xiàn)在嘗試加載其中一個(gè)!

      打開一個(gè)新終端

      安裝ROS 2時(shí)按照說明獲取ROS 2。

      確保安裝了一些核心工具:

      sudo apt install ros-dashing-ros-core ros-dashing-geometry2

      如果gazebo_ros_pkgs從源安裝,請(qǐng)使用工作區(qū):

      . ~/ws/install/setup.bash

      使用Gazebo加載阿克曼汽車模型:

      gazebo --verbose /opt/ros/dashing/share/gazebo_plugins/worlds/gazebo_ros_ackermann_drive_demo.world

      Gazebo GUI應(yīng)該帶有一個(gè)簡(jiǎn)單的車輛:

      在新終端(這是第二個(gè))上,運(yùn)行以下命令以查看world文件。

      gedit /opt/ros/dashing/share/gazebo_plugins/worlds/gazebo_ros_ackermann_drive_demo.world

      看看頂部的塊如何有一些示例命令?打開第三個(gè)終端,再次,導(dǎo)入ROS 2,gazebo_ros_pkgs如上所述。

      然后運(yùn)行其中一個(gè)命令,例如:

      ros2 topic pub /demo/cmd_demo geometry_msgs/Twist '{linear: {x: 0.2}}' -1

      或者使用圖形化工具: rqt

      你會(huì)看到車輛轉(zhuǎn)向前進(jìn):

      多莉機(jī)器人

      它是一只綿羊,它是一個(gè)小車,它是一個(gè)跟隨機(jī)器人。克隆多莉吧!

      用于啟動(dòng)Dolly演示的軟件包,使用Gazebo和ROS 2。

      多莉已通過測(cè)試:

      ROS 2版本:

      ROS水晶:crystal分支

      ROS Dashing:master分支

      操作系統(tǒng):

      Ubuntu Bionic

      OSX Sierra(謝謝,@ Karsten1987!)

      安裝

      安裝Ubuntu Bionic的說明。

      按照此處的說明安裝相應(yīng)的ROS 2版本。

      Gazebo和ROS2的使用說明(部分翻譯)

      安裝gazebo_ros_pkgs,也安裝Gazebo。替換為crystal或dashing:

      sudo apt install ros--gazebo-ros-pkgs

      克隆多莉:

      mkdir -p ~/ws/src

      cd ~/ws/src

      git clone https://github.com/chapulina/dolly

      編譯和安裝:

      cd ~/ws

      colcon build

      運(yùn)行

      設(shè)置環(huán)境變量(順序很重要):

      . /usr/share/gazebo/setup.sh

      . ~/ws/install/setup.bash

      在城市中啟動(dòng)Dolly(這需要一些時(shí)間來下載模型):

      ros2 launch dolly_gazebo dolly.launch.py world:=dolly_city.world

      在一個(gè)空無的世界中啟動(dòng)Dolly:

      ros2 launch dolly_gazebo dolly.launch.py world:=dolly_empty.world

      功能包

      此存儲(chǔ)庫(kù)包含3個(gè)包:

      dolly:Metapackage,提供所有其他包。

      dolly_follow:為節(jié)點(diǎn)提供跟隨邏輯。

      dolly_gazebo:機(jī)器人模型,模擬世界和啟動(dòng)腳本。

      將來完善

      讓Doliz的模型可用于RViz

      多莉是一只機(jī)器人羊。多莉隨身攜帶你的重物。Dolly有兩個(gè)電動(dòng)輪,可以讓機(jī)器人轉(zhuǎn)向,還有一個(gè)激光掃描儀可以檢測(cè)前方的物體。它還有一些代碼可以在激光掃描中找到最近的物體(可能是你)并控制車輪跟隨它。

      莉不是一個(gè)真正的機(jī)器人。這是一個(gè)簡(jiǎn)單的機(jī)器人模擬,作為機(jī)器人專家在世界各地使用的一些強(qiáng)大的開源工具的介紹而創(chuàng)建。盡管多莉本身非常簡(jiǎn)單,但它與許多更復(fù)雜的機(jī)器人共享其大部分代碼,例如自動(dòng)駕駛汽車,倉(cāng)庫(kù)機(jī)器人,工業(yè)武器,四軸飛行器,人形機(jī)器人,甚至是國(guó)際空間站中的三個(gè)機(jī)器人。所有這些軟件的共同點(diǎn)是ROS,即??機(jī)器人操作系統(tǒng)。確切地說,當(dāng)今天聽到“ROS”這個(gè)詞時(shí),多莉并沒有像大多數(shù)人想象的那樣運(yùn)行。多莉?qū)嶋H上正在運(yùn)行最新一代的ROS,稱為ROS 2!

      與之前的ROS 1一樣,ROS 2是用于機(jī)器人應(yīng)用的開源軟件開發(fā)套件。ROS 2的開發(fā)由Open Robotics公司領(lǐng)導(dǎo)??,該公司還負(fù)責(zé)維護(hù)Dolly生活的機(jī)器人模擬器,稱為??Gazebo,以及其他開源機(jī)器人軟件和硬件。這些項(xiàng)目是在BSD??和??Apache 2.0等許可的開源許可下發(fā)布的??,這使得它們對(duì)學(xué)術(shù)界和行業(yè)都具有吸引力。

      機(jī)器人軟件

      “機(jī)器人”這個(gè)詞的定義根據(jù)你的要求而有所不同,但運(yùn)行ROS并在Gazebo中模擬的機(jī)器人的關(guān)鍵特征是??驅(qū)動(dòng)。所以沒有聊天機(jī)器人或垃圾郵件;?我們談?wù)摰氖菣C(jī)器人能夠與他們的環(huán)境進(jìn)行交互,移動(dòng)自己甚至是其他物體。而且他們也不是盲目地移動(dòng)玩具;?他們配備了傳感器,可以觀察周圍世界的變化。將所有這些結(jié)合在一起,他們有邏輯理解這些觀察結(jié)果,以便做出明智的決定,決定接下來完成特定任務(wù)的動(dòng)作。這被稱為感覺 - 思考 - 行為周期,而多莉的軟件被組織起來以反映這三個(gè)部分。

      ROS 2正在開發(fā)中,其目標(biāo)是為工業(yè)界和學(xué)術(shù)界提供標(biāo)準(zhǔn)軟件平臺(tái),從研究和原型設(shè)計(jì)到部署和生產(chǎn)將為他們提供支持。ROS 2建立在ROS 1的成功基礎(chǔ)之上,ROS 1目前已在世界各地的各種機(jī)器人應(yīng)用中使用。這種轉(zhuǎn)變的一個(gè)重要部分是維護(hù)核心ROS概念和工具,使ROS在機(jī)器人社區(qū)中取得如此成功。這些眾所周知的概念之一是“?節(jié)點(diǎn)”,“這是一個(gè)負(fù)責(zé)特定任務(wù)的計(jì)算單位。每個(gè)Dolly的sense-think-act循環(huán)都被映射到一個(gè)節(jié)點(diǎn)。“激光”節(jié)點(diǎn)感知世界,“跟隨”節(jié)點(diǎn)處理該數(shù)據(jù)以找到前方最近的點(diǎn)并生成具有移動(dòng)方向的命令,并且“差異驅(qū)動(dòng)”節(jié)點(diǎn)按指令移動(dòng)輪子(所謂因?yàn)槎嗬蚴遣钏佥喪綑C(jī)器人)。隨著Dolly移動(dòng),其激光讀數(shù)發(fā)生變化,周期再次開始。Dolly的軟件只有三個(gè)節(jié)點(diǎn)以簡(jiǎn)化,但大型機(jī)器人應(yīng)用程序可能有數(shù)百個(gè)節(jié)點(diǎn)協(xié)同工作,每個(gè)節(jié)點(diǎn)負(fù)責(zé)一個(gè)離散的明確定義的任務(wù)。

      ROS中最基本的通信方法是通過稱為“?主題?”的通道使用多對(duì)多發(fā)布者 - 訂閱者機(jī)制。激光節(jié)點(diǎn)在“掃描”主題上發(fā)布掃描,跟隨節(jié)點(diǎn)訂閱;?反過來,follow節(jié)點(diǎn)在diffd驅(qū)動(dòng)節(jié)點(diǎn)訂閱的“cmds”主題上發(fā)布移動(dòng)命令。Dolly只使用主題,但除了這種單向通信之外,ROS還提供了一種稱為“服務(wù)”的請(qǐng)求 - 響應(yīng)機(jī)制,以及用于觸發(fā)更長(zhǎng)行為的“行動(dòng)”。

      在使用這些通信模式時(shí),ROS開發(fā)人員傾向于盡可能使用標(biāo)準(zhǔn)化消息,這樣便于在各種項(xiàng)目之間共享節(jié)點(diǎn)。在這種分布式體系結(jié)構(gòu)中,節(jié)點(diǎn)不關(guān)心他們正在與哪些其他節(jié)點(diǎn)通信,他們只關(guān)心正在使用哪個(gè)主題,服務(wù)或操作。這意味著,如果有一天有人決定移除Dolly的輪子并將它們交換為螺旋槳將其變成飛羊,則他們將不需要觸摸激光器或跟隨節(jié)點(diǎn)。他們只需要將diff-drive節(jié)點(diǎn)交換為其他能夠以與機(jī)器人的新主體相匹配的方式轉(zhuǎn)換cmds主題上的移動(dòng)命令的東西。

      代碼重用的簡(jiǎn)易性是ROS最大的優(yōu)勢(shì)之一,因?yàn)樗试S開發(fā)人員盡可能地利用彼此的工作。通過在ROS生態(tài)系統(tǒng)中構(gòu)建現(xiàn)有軟件,開發(fā)人員可以專注于其特定應(yīng)用程序的獨(dú)特方面。實(shí)際上,實(shí)現(xiàn)Dolly只需要編寫??跟隨節(jié)點(diǎn),該節(jié)點(diǎn)少于100行代碼。激光和差分驅(qū)動(dòng)節(jié)點(diǎn)由gazebo_ros_pkgs提供?,一個(gè)標(biāo)準(zhǔn)的ROS包,它在模擬特定邏輯和非特定邏輯之間建立橋梁。當(dāng)Dolly準(zhǔn)備好成為一個(gè)物理機(jī)器人時(shí),這些節(jié)點(diǎn)將由特定于硬件的驅(qū)動(dòng)程序和控制器代替,但是后續(xù)節(jié)點(diǎn)可以保持相同,因?yàn)樗l(fā)布和訂閱標(biāo)準(zhǔn)消息。但是你可以想象,跟隨節(jié)點(diǎn)并不是最亮的機(jī)器人邏輯。事實(shí)上,多莉無法從樹上告訴一個(gè)人。在實(shí)際應(yīng)用程序中,開發(fā)人員將利用社區(qū)提供的其他功能,例如??導(dǎo)航堆棧,這將允許Dolly在世界范圍內(nèi)自主移動(dòng)。

      上面提到的所有通信模式都已經(jīng)從ROS 1遷移到ROS 2并且在此過程中得到了改進(jìn)。雖然ROS 1使用自定義通信層,但ROS 2構(gòu)建在DDS之上??。DDS是在航空和核電等關(guān)鍵任務(wù)應(yīng)用中得到驗(yàn)證的行業(yè)標(biāo)準(zhǔn)。您可以?在InfoQ上閱讀本文中有關(guān)DDS集成的更多詳細(xì)信息??。

      除了消息傳遞系統(tǒng),ROS 2還提供了強(qiáng)大的開發(fā)人員工具。例如,??RViz??是ROS主題的可視化工具,在應(yīng)用程序開發(fā)和調(diào)試期間非常寶貴。它有一個(gè)3D場(chǎng)景,來自應(yīng)用程序任何部分的數(shù)據(jù)可以一起顯示,例如點(diǎn)云和坐標(biāo)框架。RViz還提供控制界面,例如可以拖動(dòng)以移動(dòng)真實(shí)機(jī)器人的3D標(biāo)記。?RQT?是另一個(gè)方便的圖形工具,它允許開發(fā)人員快速組裝小部件以與其機(jī)器人應(yīng)用程序的任何方面進(jìn)行交互,無論是否模擬。下圖顯示了Doliz在RViz中的激光掃描以及Gazebo的視圖,顯示了模擬中的可視化。RViz將以相同的方式顯示掃描,無論它們是模擬還是來自硬件。

      模擬

      多莉住在Gazebo,這是一個(gè)機(jī)器人模擬器,可以執(zhí)行物理計(jì)算,生成合成傳感器數(shù)據(jù)并提供方便的界面。界面范圍從圖形工具到C ++ API,允許用戶和開發(fā)人員更快地實(shí)現(xiàn)他們的目標(biāo)。Gazebo的目的是成為物理機(jī)器人的最佳軟件替代品。Gazebo的一些用途包括新機(jī)器人的原型設(shè)計(jì),新算法和行為的開發(fā),持續(xù)集成測(cè)試和教育。

      在模擬中,物理引擎處理Dolly如何與環(huán)境交互。這包括諸如重力將Dolly拉到地面,車輪和人行道之間的接觸以及施加在車輪上的扭矩等行為。Gazebo沒有實(shí)現(xiàn)自己的物理引擎;?相反,它提供了一個(gè)抽象層,允許集成多個(gè)引擎。這樣,開發(fā)人員一次描述和編程他們的機(jī)器人,然后在運(yùn)行時(shí)選擇最合適的物理引擎。默認(rèn)情況下,Gazebo使用??Open Dynamics Engine(ODE),但它也支持??Bullet,DART??和??Simbody。

      Dolly配備了單個(gè)傳感器,激光掃描儀,但Gazebo支持十幾種傳感器,如彩色和深度相機(jī),IMU和GPS。開發(fā)人員還可以通過C ++ API創(chuàng)建新的傳感器。像攝像機(jī)和激光掃描儀這樣的傳感器使用??Ogre3D??渲染引擎生成世界圖像,而IMU和聲納等傳感器則利用物理引擎。模擬傳感器的缺點(diǎn)是,與物理傳感器相比,它們往往有點(diǎn)過于完美。因此,傳感器API的一個(gè)重要方面是能夠向生成的數(shù)據(jù)添加各種類型的噪聲并且還會(huì)干擾它們的更新速率。

      Gazebo具有豐富的圖形界面,可幫助用戶構(gòu)建,內(nèi)省并與其模擬進(jìn)行交互。例如,Dolly的城市環(huán)境是使用eRuby??腳本,UI的3D視圖和小部件的組合構(gòu)建的??,這些小部件提供有關(guān)場(chǎng)景中每個(gè)模型的詳細(xì)信息。在模擬運(yùn)行時(shí),3D視圖也是一種可視化激光掃描的方便方法,也可以內(nèi)省各種其他方面,如關(guān)節(jié)位置,質(zhì)心,甚至慣性矩。在迭代算法時(shí),這種模擬能夠提供場(chǎng)景的空中X射線視圖的能力非常有用,并且在現(xiàn)實(shí)世界中很難(如果不是不可能的話)。

      Gazebo還允許開發(fā)人員與他們的機(jī)器人進(jìn)行交互,就像在現(xiàn)實(shí)世界中一樣。理論上,你可以戴上一些VR護(hù)目鏡并使用控制器來踢多莉像一些機(jī)器人專家那樣喜歡他們真正的機(jī)器人。請(qǐng)注意,這里絕對(duì)不鼓勵(lì)濫用機(jī)器人。相反,您可以使用稍微更精細(xì)的方法,例如推動(dòng)機(jī)器人檢查其恢復(fù)行為的3D箭頭。它也可以移動(dòng)人類,添加另一個(gè)機(jī)器人,改變城市的布局......任何有助于您的特定項(xiàng)目的開發(fā)。

      使用模擬描述格式描述Gazebo中的世界??。SDF是一種XML格式,允許指定模擬的各個(gè)方面,從Dolly's waggy尾巴上的彈簧到太陽(yáng)光的顏色。用戶可以將在線數(shù)據(jù)庫(kù)中的3D模型與他們自己的自定義模型相結(jié)合,為他們的機(jī)器人創(chuàng)建各種環(huán)境。實(shí)際上,Dolly周圍的整個(gè)城市環(huán)境都是由Ignition Fuel??在線數(shù)據(jù)庫(kù)中的免費(fèi)模型組成??。Dolly本身就是一個(gè)自定義模型,它的所有細(xì)節(jié)都可以通過UI或直接在其SDF文件中進(jìn)行調(diào)整和改進(jìn)。

      Dolly的例子是Gazebo可以做的最簡(jiǎn)單的模擬之一,但網(wǎng)上有各種精心設(shè)計(jì)的例子。基于模擬的比賽,如??虛擬機(jī)器人挑戰(zhàn)賽,??太空機(jī)器人挑戰(zhàn)賽??和即將舉行的??地下挑戰(zhàn)賽等??都是很好的例子。一些機(jī)器人制造商也在免費(fèi)分發(fā)他們機(jī)器人的Gazebo模擬,例如??Fetch Robotics的倉(cāng)庫(kù)機(jī)器人和??Parrot的無人機(jī)。

      為了解決新的使用案例,Open Robotics團(tuán)隊(duì)正積極致力于Gazebo的下一代產(chǎn)品,即??Ignition。這種重構(gòu)將Gazebo打造成更小,更可重用的庫(kù),具有物理和渲染引擎的抽象層,支持運(yùn)行分布在云中的機(jī)器上的大型模擬,以及使用現(xiàn)代GUI(QtQuick)和傳輸(ZeroMQ)庫(kù)。

      克隆多莉!

      Gazebo和ROS 2現(xiàn)在只需幾次擊鍵即可。您可以??克隆Dolly并按照說明啟動(dòng)并運(yùn)行一個(gè)簡(jiǎn)單的示例。還有關(guān)于??ROS索引??和??Gazebo教程??的各種教程,涵蓋了各種各樣的功能和用例。您可以在社區(qū)中找到有關(guān)ROS Discourse??和??Gazebo社區(qū)的更多深入討論??,以及有關(guān)ROS Answers??和??Gazebo Answers的技術(shù)問題的??答案。最后,但并非最不重要的是,觀看ROS開發(fā)者年度會(huì)議ROSCon的視頻,并確保為澳門發(fā)生的ROSCon 2019預(yù)留座位??。

      Louise Poubel??是Open Robotics的軟件工程師??,致力于機(jī)器人技術(shù)的免費(fèi)和開源工具,如機(jī)器人模擬器Gazebo和機(jī)器人操作系統(tǒng)(ROS)。

      機(jī)器人 機(jī)器翻譯

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:華云開發(fā)者沙龍-杭州站 基于華為ABC應(yīng)用構(gòu)建云快速開發(fā)企業(yè)應(yīng)用
      下一篇:趣談 DHCP 協(xié)議,有點(diǎn)意思。
      相關(guān)文章
      亚洲AV无码第一区二区三区| 色婷婷亚洲一区二区三区| 夜色阁亚洲一区二区三区| 久久亚洲精品国产亚洲老地址| 久久久久亚洲AV片无码下载蜜桃| 亚洲av午夜福利精品一区人妖| 久久亚洲一区二区| 香蕉视频在线观看亚洲| 亚洲天堂男人天堂| 精品亚洲麻豆1区2区3区| 亚洲系列国产精品制服丝袜第| 亚洲综合激情六月婷婷在线观看| 久久精品国产亚洲77777| 久久久久亚洲精品无码蜜桃| 亚洲2022国产成人精品无码区| 亚洲五月激情综合图片区| 亚洲黄色在线观看视频| 亚洲日韩中文字幕| 亚洲AV色吊丝无码| 亚洲午夜免费视频| 久久亚洲精品中文字幕| 亚洲精品美女久久久久| 亚洲免费中文字幕| 亚洲依依成人亚洲社区| 亚洲国产精品无码久久| 国产亚洲福利一区二区免费看| 亚洲国产成人精品无码久久久久久综合 | 亚洲国产精品无码久久久不卡| 亚洲国产第一站精品蜜芽| 久久久久无码精品亚洲日韩| 在线观看亚洲一区二区| 丁香婷婷亚洲六月综合色| 亚洲久热无码av中文字幕 | 亚洲乱码国产乱码精华| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲精品在线播放视频| 亚洲 欧洲 视频 伦小说| 亚洲hairy多毛pics大全| 国产成人亚洲精品电影| 伊人久久精品亚洲午夜| 香蕉视频在线观看亚洲|