欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請碼778899分享:機(jī)器人系統(tǒng)仿真

柚子快報(bào)邀請碼778899分享:機(jī)器人系統(tǒng)仿真

http://yzkb.51969.com/

0、何為仿真

通過計(jì)算機(jī)對實(shí)體機(jī)器人系統(tǒng)進(jìn)行模擬的技術(shù)。

? ?

1、為何仿真

低成本: 機(jī)器人實(shí)體一般價(jià)格昂貴,為降低機(jī)器人學(xué)習(xí)、調(diào)試的成本;高效: 搭建的環(huán)境更為多樣且靈活,可以提高測試效率以及測試覆蓋率;高安全性: 仿真環(huán)境下,無需要考慮耗損問題。

? ?

2、仿真技術(shù)的內(nèi)容與要求

1、【建?!繉W(xué)習(xí)如何創(chuàng)建 并 顯示機(jī)器人模型 能夠獨(dú)立使用urdf創(chuàng)建機(jī)器人模型,并在Rviz與Gazebo中分別顯示; 2、【搭建環(huán)境】學(xué)習(xí)如何搭建仿真環(huán)境 能夠使用Gazebo搭建仿真環(huán)境; 3、【感知環(huán)境】學(xué)習(xí)如何實(shí)現(xiàn)機(jī)器人模型與仿真環(huán)境的交互 能夠使用機(jī)器人模型中的傳感器【相機(jī)、雷達(dá)…】獲取仿真環(huán)境數(shù)據(jù)Rviz。

? ?

2.0、介紹創(chuàng)建ros包的流程。

創(chuàng)建工作空間 創(chuàng)建Ros包 編寫源碼 編譯 運(yùn)行包

?

2.0.1 創(chuàng)建工作空間【并初始化】

mkdir -p catkin_ws/src // 若創(chuàng)建嵌套文件夾,必須使用 -p,創(chuàng)建單個(gè)文件夾則不用

cd catkin_ws // 進(jìn)入該工作空間

catkin_make // 初始化工作空間

?

2.0.2 創(chuàng)建Ros包【使用依賴】

cd src // 進(jìn)入工作空間的src內(nèi)

catkin_create_pkg ros_test roscpp rospy std_msgs

?

2.0.3 編寫源碼

cd catkin_ws/src/ros_test/src

編寫 src 內(nèi)的源碼文件 ***.cpp

cd catkin_ws/src/ros_test

改寫 ros_test 內(nèi)的 CMakeLists.txt 文件

?

2.0.4 編譯Ros包

cd catkin_ws

catkin_make

?

2.0.5 運(yùn)行Ros包

// 新開終端,執(zhí)行

roscore

//另一終端執(zhí)行

ca catkin_ws

source devel/setup.bash

rosrun ros_test ros_test_node // rusrun 包名 節(jié)點(diǎn)名

?

?

3、 URDF

URDF是 Unified Robot Description Format 的首字母縮寫,直譯為 統(tǒng)一(標(biāo)準(zhǔn)化)機(jī)器人描述格式 ,可以以一種 XML 的方式描述機(jī)器人的部分結(jié)構(gòu),比如底盤、攝像頭、激光雷達(dá)、機(jī)械臂以及不同關(guān)節(jié)的自由度…,該文件可以被 C++ 內(nèi)置的解釋器轉(zhuǎn)換成可視化的機(jī)器人模型,是 ROS 中實(shí)現(xiàn)機(jī)器人仿真的重要組件。

URDF 不能單獨(dú)使用,需要結(jié)合 Rviz 或 Gazebo,URDF 只是一個(gè)文件,需要在 Rviz 或 Gazebo 中渲染成圖形化的機(jī)器人模型。

? ?

4、 URDF 集成 Rviz 流程

1. 準(zhǔn)備: 新建功能包,導(dǎo)入依賴;

創(chuàng)建一個(gè)新的功能包,導(dǎo)入依賴 urdf xacro

// 創(chuàng)建工作空間 并 初始化

mkdir -p catkin_ws/src

cd catkin_ws

catkin_make

// 創(chuàng)建功能包 并 導(dǎo)入依賴

cd catkin_ws/src/

catkin_create_pkg ros_test urdf xacro

在當(dāng)前功能包下,再新建幾個(gè)目錄:

urdf:存儲(chǔ)urdf文件的目錄

meshes:存儲(chǔ)機(jī)器人模型渲染文件

config:存儲(chǔ)配置文件,比如 **.rviz 文件

launch:存儲(chǔ)launch啟動(dòng)文件

// 功能包內(nèi)新建文件夾

cd catkin_ws/src/ros_test

mkdir -p urdf/urdf // 此為創(chuàng)建均為urdf的兩層目錄,也可以只創(chuàng)建一層urdf目錄【雙層是為了之后建urdf/xacro】

mkdir meshes

mkdir config

mkdir launch

2.1 核心: 編寫【 urdf 文件】 與 launch 文件

// 創(chuàng)建urdf文件,并填入相應(yīng)內(nèi)容

cd catkin_ws/src/ros_test/urdf/urdf

gedit urdf01_HelloWorld.urdf

// 填入如下內(nèi)容

// 解釋urdf文件

一、robot

urdf 中為了保證 xml 語法的完整性,使用了robot標(biāo)簽作為根標(biāo)簽,

所有的 link 和 joint 以及其他標(biāo)簽都必須包含在 robot 標(biāo)簽內(nèi),在該標(biāo)簽內(nèi)可以通過 name 屬性設(shè)置機(jī)器人模型的名稱

1.屬性

name: 指定機(jī)器人模型的名稱

2.子標(biāo)簽

其他標(biāo)簽都是子級(jí)標(biāo)簽

// 解釋urdf文件

二、link

urdf 中的 link 標(biāo)簽用于描述機(jī)器人某個(gè)部件(也即剛體部分)的外觀和物理屬性,比如: 機(jī)器人底座、輪子、激光雷達(dá)、攝像頭...

每一個(gè)部件都對應(yīng)一個(gè) link, 在 link 標(biāo)簽內(nèi),可以設(shè)計(jì)該部件的形狀、尺寸、顏色、慣性矩陣、碰撞參數(shù)等一系列屬性

1.屬性

name ---> 為連桿命名

2.子標(biāo)簽

visual ---> 描述外觀(對應(yīng)的數(shù)據(jù)是可視的)

geometry 設(shè)置連桿的形狀

標(biāo)簽1: box(盒狀)

屬性:size=長(x) 寬(y) 高(z)

標(biāo)簽2: cylinder(圓柱)

屬性:radius=半徑 length=高度

標(biāo)簽3: sphere(球體)

屬性:radius=半徑

標(biāo)簽4: mesh(為連桿添加皮膚)

屬性: filename=資源路徑(格式:package:////文件)

origin 設(shè)置偏移量與傾斜弧度

屬性1: xyz=x偏移 y便宜 z偏移

屬性2: rpy=x翻滾 y俯仰 z偏航 (單位是弧度)

metrial 設(shè)置材料屬性(顏色)

屬性: name

標(biāo)簽: color

屬性: rgba=紅綠藍(lán)權(quán)重值與透明度 (每個(gè)權(quán)重值以及透明度取值[0,1])

collision ---> 連桿的碰撞屬性

Inertial ---> 連桿的慣性矩陣

在此,只演示visual使用。

?

link 案例

需求:分別生成長方體、圓柱與球體的機(jī)器人部件

URDF文件示例如下:

? ?

// 解釋urdf文件

三、joint

urdf 中的 joint 標(biāo)簽用于描述機(jī)器人關(guān)節(jié)的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)屬性,還可以指定關(guān)節(jié)運(yùn)動(dòng)的安全極限,機(jī)器人的兩個(gè)部件(分別稱之為 parent link 與 child link)以"關(guān)節(jié)"的形式相連接,不同的關(guān)節(jié)有不同的運(yùn)動(dòng)形式: 旋轉(zhuǎn)、滑動(dòng)、固定、旋轉(zhuǎn)速度、旋轉(zhuǎn)角度限制....,比如:安裝在底座上的輪子可以360度旋轉(zhuǎn),而攝像頭則可能是完全固定在底座上。

joint標(biāo)簽對應(yīng)的數(shù)據(jù)在模型中是不可見的

1.屬性

name ---> 為關(guān)節(jié)命名

type ---> 關(guān)節(jié)運(yùn)動(dòng)形式

continuous: 旋轉(zhuǎn)關(guān)節(jié),可以繞單軸無限旋轉(zhuǎn)

revolute: 旋轉(zhuǎn)關(guān)節(jié),類似于 continues,但是有旋轉(zhuǎn)角度限制

prismatic: 滑動(dòng)關(guān)節(jié),沿某一軸線移動(dòng)的關(guān)節(jié),有位置極限

planer: 平面關(guān)節(jié),允許在平面正交方向上平移或旋轉(zhuǎn)

floating: 浮動(dòng)關(guān)節(jié),允許進(jìn)行平移、旋轉(zhuǎn)運(yùn)動(dòng)

fixed: 固定關(guān)節(jié),不允許運(yùn)動(dòng)的特殊關(guān)節(jié)

2.子標(biāo)簽

parent(必需的)

parent link的名字是一個(gè)強(qiáng)制的屬性:

link:父級(jí)連桿的名字,是這個(gè)link在機(jī)器人結(jié)構(gòu)樹中的名字。

child(必需的)

child link的名字是一個(gè)強(qiáng)制的屬性:

link:子級(jí)連桿的名字,是這個(gè)link在機(jī)器人結(jié)構(gòu)樹中的名字。

origin

屬性: xyz=各軸線上的偏移量 rpy=各軸線上的偏移弧度。

axis

屬性: xyz用于設(shè)置圍繞哪個(gè)關(guān)節(jié)軸運(yùn)動(dòng)。

?

joint 案例

需求:創(chuàng)建機(jī)器人模型,底盤為長方體,在長方體的前面添加一攝像頭,攝像頭可以沿著 Z 軸 360 度旋轉(zhuǎn)。

URDF文件示例如下:

2.2 核心: 編寫 urdf 與【 launch 文件】

編寫launch文件, launch文件示例如下:

cd launch

gedit

? ?

3. 核心: 在launch文件集成URDF與Rviz;

在 launch 目錄下,新建一個(gè)launch文件,該 launch 文件需要啟動(dòng) Rviz,并導(dǎo)入 urdf 文件【此處的包名應(yīng)為 ros_test】,Rviz 啟動(dòng)后可以自動(dòng)載入解析urdf文件,并顯示機(jī)器人模型,核心問題:如何導(dǎo)入 urdf 文件? 在 ROS 中,可以將 urdf 文件的路徑設(shè)置到參數(shù)服務(wù)器,使用的參數(shù)名是:robot_description,示例代碼如下:

cd catkin_ws/src/ros_test/launch

gedit urdf01_HelloWorld.launch

// 填入如下內(nèi)容

? ?

4. 1 顯示: 在Rviz中顯示機(jī)器人模型。

roslaunch ros_test urdf01_HelloWorld.launch

rviz 啟動(dòng)后,會(huì)發(fā)現(xiàn)并沒有盒裝的機(jī)器人模型,這是因?yàn)槟J(rèn)情況下沒有添加機(jī)器人顯示組件,需要手動(dòng)添加,添加方式如下: 設(shè)置完畢后,可以正常顯示了 ? ?

4. 2.優(yōu)化 rviz 啟動(dòng)

重復(fù)啟動(dòng)launch文件時(shí),Rviz 之前的組件配置信息不會(huì)自動(dòng)保存,需要重復(fù)執(zhí)行步驟4的操作,為了方便使用,可以使用如下方式優(yōu)化: 首先,將當(dāng)前配置保存進(jìn)config目錄

// 在當(dāng)前路徑下:

catkin_ws/src/ros_test/config/

// 保存rivz配置文件

show_mycar.rviz

?

然后,urdf01_HelloWorld.launch文件中 Rviz 的啟動(dòng)配置添加參數(shù):args,值設(shè)置為-d 配置文件路徑

最后再啟動(dòng)時(shí),就可以包含之前的組件配置了,使用更方便快捷。

? ? ?

5、 xacro 集成Rviz【單個(gè)xacro文件】

// 創(chuàng)建工作空間 并 初始化

mkdir -p catkin_ws/src

cd catkin_ws

catkin_make

// 創(chuàng)建ros功能包

cd catkin_ws/src

catkin_create_pkg demo_pkg urdf xacro

// 功能包內(nèi)創(chuàng)建多個(gè)文件夾

cd catkin_ws/src/demo_pkg

mkdir -p urdf/xacro

mkdir launch

mkdir config

cd urdf/xacro

gedit my_car.urdf.xacro

// 填入如下內(nèi)容

cd launch

gedit my_car.launch

// 填入如下內(nèi)容

// 進(jìn)入工作空間內(nèi)進(jìn)行編譯

cd catkin_ws

catkin_make

// 執(zhí)行權(quán)限

source devel/setup.bash

// 啟動(dòng)launch文件

roslaunch demo_pkg my_car.launch

// Rviz啟動(dòng)后,將對Rviz界面進(jìn)行設(shè)置【同上面】,設(shè)置好后將其保存進(jìn)config文件夾內(nèi),命名my_car.rviz

// 修改my_car.launch

// 修改如下:指定了Rviz的路徑

// 再次啟動(dòng)launch文件

roslaunch demo_pkg my_car.launch

// 會(huì)看到模型就在打開的Rviz界面內(nèi)。

? ?

6、 xacro 集成Rviz【多個(gè)xacro文件】

// 創(chuàng)建工作空間 并 初始化

mkdir -p catkin_ws/src

cd catkin_ws

catkin_make

// 創(chuàng)建ros功能包

cd catkin_ws/src

catkin_create_pkg demo_pkg urdf xacro

// 功能包內(nèi)創(chuàng)建多個(gè)文件夾

cd catkin_ws/src/demo_pkg

mkdir -p urdf/xacro

mkdir launch

mkdir config

cd urdf/xacro

// 此處需要?jiǎng)?chuàng)建多個(gè)xacro文件

gedit my_car.urdf.xacro

gedit my_camrea.urdf.xacro

gedit my_laser.urdf.xacro

gedit my_car_camera_laser.urdf.xacro

// 分別填入如下內(nèi)容

cd launch

gedit my_car_camera_laser.launch

// 填入如下內(nèi)容

// 進(jìn)入工作空間內(nèi)進(jìn)行編譯

cd catkin_ws

catkin_make

// 執(zhí)行權(quán)限

source devel/setup.bash

// 啟動(dòng)launch文件

roslaunch demo_pkg my_car_camera_laser.launch

// Rviz啟動(dòng)后,將對Rviz界面進(jìn)行設(shè)置【同上面】,設(shè)置好后將其保存進(jìn)config文件夾內(nèi),命名my_car_camera_laser.rviz

config/my_car_camera_laser.rviz

// 修改my_car.launch

// 修改如下:指定了Rviz的路徑

// 再次啟動(dòng)launch文件

roslaunch demo_pkg my_car_camera_laser.launch

// 會(huì)看到模型就在打開的Rviz界面內(nèi)。

? ?

7、URDF 集成Gazebo

URDF 與 Gazebo 集成流程與 Rviz 實(shí)現(xiàn)類似,主要步驟如下:

1. 創(chuàng)建功能包,導(dǎo)入依賴項(xiàng) 2. 編寫 URDF 或 Xacro 文件 3. 啟動(dòng) Gazebo 并顯示機(jī)器人模型

?

7.1 創(chuàng)建功能包

創(chuàng)建新功能包,導(dǎo)入依賴包: urdf、xacro、gazebo_ros、gazebo_ros_control、gazebo_plugins

// 創(chuàng)建工作空間 并 初始化

mkdir -p catkin_ws/src

cd catkin_ws

catkin_make

// 創(chuàng)建Ros功能包 并 導(dǎo)入依賴

cd catkin_ws/src

catkin_create_pkg demo_pkg urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins

?

7.2 編寫URDF文件

// 新建功能包內(nèi)的文件夾

mkdir urdf

mkdir launch

mkdir config

cd urdf

gedit urdf01_helloworld.urdf

// 填入如下內(nèi)容

Gazebo/Blue

注意, 當(dāng) URDF 需要與 Gazebo 集成時(shí),和 Rviz 有明顯區(qū)別: 1.必須使用 collision 標(biāo)簽,因?yàn)榧热皇欠抡姝h(huán)境,那么必然涉及到碰撞檢測,collision 提供碰撞檢測的依據(jù)。 2.必須使用 inertial 標(biāo)簽,此標(biāo)簽標(biāo)注了當(dāng)前機(jī)器人某個(gè)剛體部分的慣性矩陣,用于一些力學(xué)相關(guān)的仿真計(jì)算。 3.顏色設(shè)置,也需要重新使用 gazebo 標(biāo)簽標(biāo)注,因?yàn)橹暗念伾O(shè)置為了方便調(diào)試包含透明度,仿真環(huán)境下沒有此選項(xiàng)。

?

7.3 啟動(dòng)Gazebo并顯示模型

cd launch

gedit urdf01_helloworld.launch

// 填入如下內(nèi)容

? ?

8、xacro 集成Gazebo

在 ctrl+c 退出gazebo時(shí),出現(xiàn)killed

再次啟動(dòng)roslaunch時(shí),就會(huì)報(bào)如下錯(cuò)誤:

翻譯過來的意思就是說: “執(zhí)行XXX/gzserver 時(shí)進(jìn)程掛掉,程序退出; ?執(zhí)行XXX/gzclient 時(shí)進(jìn)程掛掉,程序退出?!?? 根據(jù)報(bào)錯(cuò)解釋可以確定,主要是gazebo在之前的操作中打開過,而沒有完全的關(guān)閉,使用ctrl+c僅關(guān)閉了了gazebo的gui界面,并沒有完全關(guān)閉gazebo。

解決方法:終端執(zhí)行 killall gzserver && killall gzclient

// 解決方法---輸入如下指令:

killall gzserver && killall gzclient

[gazebo-1] process has died [pid 108415, exit code 255, cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -e ode /home/hzx/hzx_ws/demo_gazebo_ws/src/demo_gazebo/world/box_house.world __name:=gazebo __log:=/home/hzx/.ros/log/fd9008b8-0d3a-11ef-9a38-000c29915674/gazebo-1.log].

log file: /home/hzx/.ros/log/fd9008b8-0d3a-11ef-9a38-000c29915674/gazebo-1*.log

[gazebo_gui-2] process has died [pid 108418, exit code 134, cmd /opt/ros/melodic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/hzx/.ros/log/fd9008b8-0d3a-11ef-9a38-000c29915674/gazebo_gui-2.log].

log file: /home/hzx/.ros/log/fd9008b8-0d3a-11ef-9a38-000c29915674/gazebo_gui-2*.log

8.1

報(bào)如下錯(cuò)誤:Error [Converter.cc:151] Unable to convert from SDF version 1.7 to 1.6

翻譯過來的意思就是說: “無法將SDF的版本從1.7轉(zhuǎn)成1.6” ? 根據(jù)報(bào)錯(cuò)解釋可以確定在執(zhí)行world.launch 文件時(shí)出現(xiàn)了錯(cuò)誤,通過查看world.launch文件,發(fā)現(xiàn)啟動(dòng)該launch文件時(shí)調(diào)用了如下三個(gè)文件:。

具體三個(gè)文件如下: ?1、my_car_camera_laser.urdf.xacro ?2、empty_world.launch ?3、box_house.world

通過逐個(gè)文件排查,發(fā)現(xiàn)是 3、box_house.world 文件存在問題,

解決方法:將box_house.world中的 1.7 改寫成 1.6 就可以正常啟動(dòng)了。

? ?

報(bào)如下錯(cuò)誤:UnicodeEncodeError: ‘a(chǎn)scii’ codec can’t encode characters in position 7323-7324: ordinal not in range(128)

翻譯過來的意思就是說: “Unicode編碼錯(cuò)誤:“ascii”編解碼器無法對位置7323-7324中的字符進(jìn)行編碼:序號(hào)不在范圍內(nèi)(128)” ? 根據(jù)報(bào)錯(cuò)解釋可以確定,在啟動(dòng) my_sensors_car_camera_laser.launch文件時(shí)需要調(diào)用一些xacro文件,這些文件中應(yīng)該是存在中文,導(dǎo)致編碼錯(cuò)誤。 ubuntu18.04 melodic版本中一般使用python2.7環(huán)境,該環(huán)境下urdf文件中不能有中文注釋出現(xiàn),否則報(bào)錯(cuò)

? 解決方法一:將調(diào)用的xacro文件中的中文全部去掉即可。

解決方法二:進(jìn)行一些設(shè)置,可以避免報(bào) error,但會(huì)引入其他問題【引入的問題不影響啟動(dòng)xacro文件】參考鏈接在此。

// urdf文件不注釋閱讀起來很麻煩,可以通過如下解決:

// cd到根目錄下

cd /opt/ros/melodic/lib/python2.7/dist-packages

sudo gedit sitecustomize.py

// 在其中添加如下內(nèi)容:

#coding=utf8

import sys

reload(sys)

sys.setdefaultencoding('utf8')

// 引入的問題如下:

Error in sitecustomize; set PYTHONVERBOSE for traceback:

NameError: name 'reload' is not defined

Error in sitecustomize; set PYTHONVERBOSE for traceback:

NameError: name 'reload' is not defined

// 不影響啟動(dòng) xacro 文件,介意者可以選擇方法一。

? ?

9、載入

? ?

100、ROS過程中的錯(cuò)誤

1. RLException: multiple files named XXX

hzx@vm:~/hzx_ws/demo_gazebo_ws$ roslaunch demo_gazebo my_sensors_car_camera_laser.urdf.xacro

RLException: multiple files named [my_sensors_car_camera_laser.urdf.xacro] in package [demo_gazebo]:

- /home/hzx/hzx_ws/demo_gazebo_ws/src/demo_gazebo/urdf/xacro/my_sensors_car_camera_laser.urdf.xacro

- /home/hzx/hzx_ws/demo_gazebo_ws/src/demo_gazebo/launch/my_sensors_car_camera_laser.urdf.xacro

Please specify full path instead

The traceback for the exception was written to the log file

翻譯過來的意思就是說: “報(bào)了一個(gè)RLException錯(cuò)誤,在【demo_gazebo】功能包內(nèi),有多個(gè)叫做【my_sensors_car_camera_laser.urdf.xacro】的文件, 并且之后也給你指出了這重名文件的各個(gè)路徑?!?? 根據(jù)報(bào)錯(cuò)解釋可以明顯的發(fā)現(xiàn)問題所在,直接修改重名文件即可。

?

2、RLException: Invalid roslaunch XML syntax: no root < launch> tag

hzx@vm:~/hzx_ws/demo_gazebo_ws$ roslaunch demo_gazebo my_sensors_car_camera_laser.urdf.xacro

... logging to /home/hzx/.ros/log/fd9008b8-0d3a-11ef-9a38-000c29915674/roslaunch-vm-110873.log

Checking log directory for disk usage. This may take a while.

Press Ctrl-C to interrupt

Done checking log file disk usage. Usage is <1GB.

RLException: Invalid roslaunch XML syntax: no root tag

The traceback for the exception was written to the log file

翻譯過來的意思就是說: “ 報(bào)了一個(gè)RLException錯(cuò)誤,無效的roslaunch XML語法:沒有根< launch>標(biāo)記 ” ? 根據(jù)報(bào)錯(cuò)解釋可以明顯的發(fā)現(xiàn)問題所在,執(zhí)行roslaunch時(shí),選定的launch文件有問題,一看確實(shí)有問題,修改launch文件就好了。

?

3、RLException: [my_sensors_car_camera_laser.launch] is neither a launch

報(bào)如下錯(cuò)誤:RLException: [my_sensors_car_camera_laser.launch] is neither a launch file in package [demo_gazebo] nor is [demo_gazebo] a launch file name

翻譯過來的意思就是說: “XXX.launch 既不是demo_gazebo 功能包內(nèi)的launch文件,也不是demo_gazebo 功能包內(nèi)的launch文件名” ? 根據(jù)報(bào)錯(cuò)解釋可以確定,此刻并未將devel/setup.bash添加到系統(tǒng)。

? 解決方法:進(jìn)入工作空間,執(zhí)行source,具體如下:

hzx@vm:~/hzx_ws/demo_gazebo_ws$ source devel/setup.bash

第三

第 5號(hào)大小

柚子快報(bào)邀請碼778899分享:機(jī)器人系統(tǒng)仿真

http://yzkb.51969.com/

參考閱讀

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18920224.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄