日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

ROS基本概念 文件系统 创建ROS软件包 ROS中的一些命令

發(fā)布時間:2025/3/12 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS基本概念 文件系统 创建ROS软件包 ROS中的一些命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ROS基本概念 文件系統(tǒng) 創(chuàng)建ROS軟件包 ROS中的一些命令

    • ROS是什么
    • ROS文件系統(tǒng)
      • 文件系統(tǒng)工具:rospack、roscd、rosls
    • 創(chuàng)建ROS 軟件包
      • catkin是什么
      • 創(chuàng)建和構(gòu)建一個catkin工作空間:
      • catkin軟件包的結(jié)構(gòu)
      • catkin工作空間中存放軟件包的結(jié)構(gòu)
      • 創(chuàng)建catkin軟件包-catkin_create_pkg
      • 構(gòu)建一個catkin工作區(qū)并生效配置文件
      • package.xml文件內(nèi)容
    • ROS一些基本概念
      • 節(jié)點(diǎn):
      • 客戶端庫:
      • roscore:
      • rosnode:獲取節(jié)點(diǎn)信息的ROS工具
      • rosrun:運(yùn)行給定的軟件包中的節(jié)點(diǎn)
      • ROS話題:節(jié)點(diǎn)之間是通過一個ROS話題來相互通信的
      • rqt_graph:顯示當(dāng)前運(yùn)行的節(jié)點(diǎn)和話題
      • rostopic:獲取ROS話題的信息
      • rostopic echo:顯示在某個話題上發(fā)布的數(shù)據(jù)
      • rostopic list:列出當(dāng)前已被訂閱和發(fā)布的所有話題。
      • ROS消息:話題的通信是通過節(jié)點(diǎn)間發(fā)送ROS消息實(shí)現(xiàn)的
      • rostopic type:查看所發(fā)布話題的消息類型
      • rostopic pub:把數(shù)據(jù)發(fā)布到當(dāng)前某個正在廣播的話題上
      • rostopic hz:報告數(shù)據(jù)發(fā)布的速率
      • rqt_plot:在滾動時間圖上顯示發(fā)布到某個話題上的數(shù)據(jù)
      • ROS服務(wù):節(jié)點(diǎn)之間通訊的另一種方式
      • rosservice:有許多可用于服務(wù)的命令
      • rosservice list:顯示節(jié)點(diǎn)提供的服務(wù)
      • rosservice type:查看服務(wù)的類型
      • rosservice call:調(diào)用服務(wù)
      • rosparam:在ROS參數(shù)服務(wù)器上存儲和操作數(shù)據(jù)
      • rosparam list:查看參數(shù)服務(wù)器上都有哪些參數(shù)
      • rosparam set:改變參數(shù)服務(wù)器上參數(shù)的值
      • rosparam get:查看參數(shù)服務(wù)器上參數(shù)的值
      • rqt_console:連接ROS的日志框架,顯示節(jié)點(diǎn)的輸出信息
      • rqt_logger_level:在節(jié)點(diǎn)運(yùn)行時改變輸出信息的詳細(xì)級別
      • roslaunch:啟動定義在launch(啟動)文件中的節(jié)點(diǎn)
      • launch XML文件的內(nèi)容
      • 使用roslaunch:運(yùn)行l(wèi)aunch文件

ROS是什么

中間件,連接了真正的操作系統(tǒng)和程序,提供了類似操作系統(tǒng)的功能。

它提供了操作系統(tǒng)應(yīng)有的服務(wù),包括硬件抽象,底層設(shè)備控制,常用函數(shù)的實(shí)現(xiàn),進(jìn)程間消息傳遞,以及包管理。

ROS包括:框架+工具+功能+社區(qū)

框架:分布式、進(jìn)程管理、進(jìn)程間通信

ros采用分布式架構(gòu),可以同時運(yùn)行多個進(jìn)程,每個進(jìn)程可以單獨(dú)設(shè)計,并且組合起來。

ros用節(jié)點(diǎn)Node代表進(jìn)程。

機(jī)器人控制是一個Node,激光雷達(dá)laser是一個node。ros提供了一套框架管理這些node,并且提供他們之間相互通信的橋梁。

分布式架構(gòu),擴(kuò)展性好,軟件復(fù)用率高。如果換一個高級激光雷達(dá),只用修改節(jié)點(diǎn),不需要修改通信。

工具:仿真、數(shù)據(jù)可視化、圖形界面、數(shù)據(jù)記錄

提供一些工具 比如:Gazebo、Rviz等

功能:控制、規(guī)劃、視覺、建圖

有一些功能包

社區(qū):軟件包管理、文檔、教程

ROS文件系統(tǒng)

軟件包(Packages):包是ROS代碼的軟件組織單元,每個軟件包都可以包含程序庫、可執(zhí)行文件、腳本或其他構(gòu)件。

Manifests (package.xml): 清單(Manifest)是對軟件包的描述。它用于定義軟件包之間的依賴關(guān)系,并記錄有關(guān)軟件包的元信息,如版本、維護(hù)者、許可證等。

文件系統(tǒng)工具:rospack、roscd、rosls

1.rospack

rospack獲取軟件包的有關(guān)信息,rospack find,可以返回軟件包的所在路徑。

用法:

$ rospack find [package_name]

例子:

jym@ubuntu:~$ rospack find roscpp /opt/ros/noetic/share/roscpp

2.roscd

roscd接切換目錄到某個軟件包或者軟件包集當(dāng)中。

例子:

jym@ubuntu:~$ roscd roscpp jym@ubuntu:/opt/ros/noetic/share/roscpp$

roscd只能切換到那些路徑已經(jīng)包含在ROS_PACKAGE_PATH環(huán)境變量中的軟件包。

使用echo $ROS_PACKAGE_PATH查看查看ROS_PACKAGE_PATH中包含的路徑。

jym@ubuntu:~$ echo $ROS_PACKAGE_PATH /opt/ros/noetic/share

打開這個文件夾,可以找到這些包。

roscd也可以切換到一個軟件包或軟件包集的子目錄中。

jym@ubuntu:~$ roscd roscpp/cmake jym@ubuntu:/opt/ros/noetic/share/roscpp/cmake$ pwd /opt/ros/noetic/share/roscpp/cmake

3.rosls

允許直接按軟件包的名稱執(zhí)行 ls 命令(而不必輸入絕對路徑)。

jym@ubuntu:~$ rosls roscpp_tutorials cmake launch package.xml srv

創(chuàng)建ROS 軟件包

catkin是什么

代碼變成可執(zhí)行文件,叫做編譯(compile);先編譯這個,還是先編譯那個(即編譯的安排),叫做構(gòu)建(build)。

catkin是ros定制的編譯構(gòu)建系統(tǒng)。

ros代碼都放在catkin workspace中,這個工作空間需要通過指令catkin_make創(chuàng)建。

創(chuàng)建和構(gòu)建一個catkin工作空間:

jym@ubuntu:~$ source /opt/ros/noetic/setup.bash jym@ubuntu:~$ mkdir -p ~/catkin_ws/src jym@ubuntu:~$ cd ~/catkin_ws/ jym@ubuntu:~/catkin_ws$ catkin_make

終端:

jym@ubuntu:~$ source /opt/ros/noetic/setup.bash jym@ubuntu:~$ mkdir -p ~/catkin_ws/src jym@ubuntu:~$ cd ~/catkin_ws/ jym@ubuntu:~/catkin_ws$ catkin_make Base path: /home/jym/catkin_ws Source space: /home/jym/catkin_ws/src Build space: /home/jym/catkin_ws/build Devel space: /home/jym/catkin_ws/devel Install space: /home/jym/catkin_ws/install Creating symlink "/home/jym/catkin_ws/src/CMakeLists.txt" pointing to "/opt/ros/noetic/share/catkin/cmake/toplevel.cmake" #### #### Running command: "cmake /home/jym/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/jym/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/jym/catkin_ws/install -G Unix Makefiles" in "/home/jym/catkin_ws/build" #### -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Using CATKIN_DEVEL_PREFIX: /home/jym/catkin_ws/devel -- Using CMAKE_PREFIX_PATH: /opt/ros/noetic -- This workspace overlays: /opt/ros/noetic -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3") -- Using PYTHON_EXECUTABLE: /usr/bin/python3 -- Using Debian Python package layout -- Found PY_em: /usr/lib/python3/dist-packages/em.py -- Using empy: /usr/lib/python3/dist-packages/em.py -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/jym/catkin_ws/build/test_results -- Forcing gtest/gmock from source, though one was otherwise available. -- Found gtest sources under '/usr/src/googletest': gtests will be built -- Found gmock sources under '/usr/src/googletest': gmock will be built -- Found PythonInterp: /usr/bin/python3 (found version "3.8.10") -- Found Threads: TRUE -- Using Python nosetests: /usr/bin/nosetests3 -- catkin 0.8.10 -- BUILD_SHARED_LIBS is on -- BUILD_SHARED_LIBS is on -- Configuring done -- Generating done -- Build files have been written to: /home/jym/catkin_ws/build #### #### Running command: "make -j2 -l2" in "/home/jym/catkin_ws/build" ####

最終可以在Home-catkin_ws中找到:

接下來source一下新生成的setup.*sh文件:

$ source devel/setup.bash
要保證工作區(qū)被安裝腳本正確覆蓋,需確定ROS_PACKAGE_PATH環(huán)境變量包含當(dāng)前的工作空間目錄:

$ echo $ROS_PACKAGE_PATH

jym@ubuntu:~/catkin_ws$ source devel/setup.bash jym@ubuntu:~/catkin_ws$ echo $ROS_PACKAGE_PATH /home/jym/catkin_ws/src:/opt/ros/noetic/share

catkin軟件包的結(jié)構(gòu)

一個包要想稱為catkin軟件包,必須符合以下要求:

1.這個包必須有一個符合catkin規(guī)范的package.xml文件

這個package.xml文件提供有關(guān)該軟件包的元信息

2.這個包必須有一個catkin版本的CMakeLists.txt文件

如果它是個Catkin元包的話,則需要有一個CMakeList.txt文件的相關(guān)樣板

3.每個包必須有自己的目錄
這意味著在同一個目錄下不能有嵌套的或者多個軟件包存在

my_package/CMakeLists.txtpackage.xml

catkin工作空間中存放軟件包的結(jié)構(gòu)

workspace_folder/ -- WORKSPACEsrc/ -- SOURCE SPACECMakeLists.txt -- 'Toplevel' CMake file, provided by catkinpackage_1/CMakeLists.txt -- CMakeLists.txt file for package_1package.xml -- Package manifest for package_1...package_n/CMakeLists.txt -- CMakeLists.txt file for package_npackage.xml -- Package manifest for package_n

創(chuàng)建catkin軟件包-catkin_create_pkg

1.切換到剛才創(chuàng)建的空白catkin工作空間中的源文件空間目錄

$ cd ~/catkin_ws/src

2.使用catkin_create_pkg命令創(chuàng)建一個名為beginner_tutorials的新軟件包,這個軟件包依賴于std_msgs、roscpp和rospy

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

終端:

jym@ubuntu:~/catkin_ws$ cd ~/catkin_ws/src jym@ubuntu:~/catkin_ws/src$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp Created file beginner_tutorials/package.xml Created file beginner_tutorials/CMakeLists.txt Created folder beginner_tutorials/include/beginner_tutorials Created folder beginner_tutorials/src Successfully created files in /home/jym/catkin_ws/src/beginner_tutorials. Please adjust the values in package.xml.

可以觀察到對應(yīng)的文件夾:

構(gòu)建一個catkin工作區(qū)并生效配置文件

在上面已經(jīng)有介紹過創(chuàng)建和構(gòu)建一個catkin工作空間,那邊主要目的是創(chuàng)建一個空白的catkin工作空間

到了這個地方主要目的是構(gòu)建一個catkin工作空間。

1.在catkin工作區(qū)中構(gòu)建軟件包

$ cd ~/catkin_ws $ catkin_make

2.工作空間構(gòu)建完成后,要將這個工作空間添加到ROS環(huán)境中,需要source一下生成的配置文件

$ . ~/catkin_ws/devel/setup.bash jym@ubuntu:~/catkin_ws/src$ cd ~/catkin_ws jym@ubuntu:~/catkin_ws$ catkin_make Base path: /home/jym/catkin_ws Source space: /home/jym/catkin_ws/src Build space: /home/jym/catkin_ws/build Devel space: /home/jym/catkin_ws/devel Install space: /home/jym/catkin_ws/install #### #### Running command: "cmake /home/jym/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/jym/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/jym/catkin_ws/install -G Unix Makefiles" in "/home/jym/catkin_ws/build" #### -- Using CATKIN_DEVEL_PREFIX: /home/jym/catkin_ws/devel -- Using CMAKE_PREFIX_PATH: /home/jym/catkin_ws/devel;/opt/ros/noetic -- This workspace overlays: /home/jym/catkin_ws/devel;/opt/ros/noetic -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3") -- Using PYTHON_EXECUTABLE: /usr/bin/python3 -- Using Debian Python package layout -- Using empy: /usr/lib/python3/dist-packages/em.py -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/jym/catkin_ws/build/test_results -- Forcing gtest/gmock from source, though one was otherwise available. -- Found gtest sources under '/usr/src/googletest': gtests will be built -- Found gmock sources under '/usr/src/googletest': gmock will be built -- Found PythonInterp: /usr/bin/python3 (found version "3.8.10") -- Using Python nosetests: /usr/bin/nosetests3 -- catkin 0.8.10 -- BUILD_SHARED_LIBS is on -- BUILD_SHARED_LIBS is on -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~ traversing 1 packages in topological order: -- ~~ - beginner_tutorials -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- +++ processing catkin package: 'beginner_tutorials' -- ==> add_subdirectory(beginner_tutorials) -- Configuring done -- Generating done -- Build files have been written to: /home/jym/catkin_ws/build #### #### Running command: "make -j2 -l2" in "/home/jym/catkin_ws/build" #### jym@ubuntu:~/catkin_ws$ . ~/catkin_ws/devel/setup.bash

package.xml文件內(nèi)容

描述標(biāo)簽:內(nèi)容是描述信息。

<description>The beginner_tutorials package</description>

維護(hù)者標(biāo)簽:它能夠讓其他人聯(lián)系到軟件包的相關(guān)人員。

<!-- One maintainer tag required, multiple allowed, one person per tag --><!-- Example: --><!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --><maintainer email="jym@todo.todo">jym</maintainer>

許可證標(biāo)簽:些常見的開源許可協(xié)議有BSD、MIT、Boost Software License、GPLv2、GPLv3、LGPLv2.1和LGPLv3

<!-- One license tag required, multiple allowed, one license per tag --><!-- Commonly used license strings: --><!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --><license>TODO</license>

依賴項標(biāo)簽:標(biāo)簽描述了軟件包的依賴關(guān)系,這些依賴項分為build_depend、buildtool_depend、run_depend、test_depend。

<?xml version="1.0"?> <package format="2"><name>beginner_tutorials</name><version>0.0.0</version><description>The beginner_tutorials package</description><!-- One maintainer tag required, multiple allowed, one person per tag --><!-- Example: --><!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --><maintainer email="jym@todo.todo">jym</maintainer><!-- One license tag required, multiple allowed, one license per tag --><!-- Commonly used license strings: --><!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --><license>TODO</license><!-- Url tags are optional, but multiple are allowed, one per tag --><!-- Optional attribute type can be: website, bugtracker, or repository --><!-- Example: --><!-- <url type="website">http://wiki.ros.org/beginner_tutorials</url> --><!-- Author tags are optional, multiple are allowed, one per tag --><!-- Authors do not have to be maintainers, but could be --><!-- Example: --><!-- <author email="jane.doe@example.com">Jane Doe</author> --><!-- The *depend tags are used to specify dependencies --><!-- Dependencies can be catkin packages or system dependencies --><!-- Examples: --><!-- Use depend as a shortcut for packages that are both build and exec dependencies --><!-- <depend>roscpp</depend> --><!-- Note that this is equivalent to the following: --><!-- <build_depend>roscpp</build_depend> --><!-- <exec_depend>roscpp</exec_depend> --><!-- Use build_depend for packages you need at compile time: --><!-- <build_depend>message_generation</build_depend> --><!-- Use build_export_depend for packages you need in order to build against this package: --><!-- <build_export_depend>message_generation</build_export_depend> --><!-- Use buildtool_depend for build tool packages: --><!-- <buildtool_depend>catkin</buildtool_depend> --><!-- Use exec_depend for packages you need at runtime: --><!-- <exec_depend>message_runtime</exec_depend> --><!-- Use test_depend for packages you need only for testing: --><!-- <test_depend>gtest</test_depend> --><!-- Use doc_depend for packages you need only for building documentation: --><!-- <doc_depend>doxygen</doc_depend> --><buildtool_depend>catkin</buildtool_depend><build_depend>roscpp</build_depend><build_depend>rospy</build_depend><build_depend>std_msgs</build_depend><build_export_depend>roscpp</build_export_depend><build_export_depend>rospy</build_export_depend><build_export_depend>std_msgs</build_export_depend><exec_depend>roscpp</exec_depend><exec_depend>rospy</exec_depend><exec_depend>std_msgs</exec_depend><!-- The export tag contains other, unspecified, tags --><export><!-- Other tools can request additional information be placed here --></export> </package>

可以結(jié)合具體情況進(jìn)行修改 ,修改后的package.xml

<?xml version="1.0"?> <package format="2"><name>beginner_tutorials</name><version>0.1.0</version><description>The beginner_tutorials package</description><maintainer email="jym@todo.todo">jym</maintainer><license>BSD</license><buildtool_depend>catkin</buildtool_depend><build_depend>roscpp</build_depend><build_depend>rospy</build_depend><build_depend>std_msgs</build_depend><build_export_depend>roscpp</build_export_depend><build_export_depend>rospy</build_export_depend><build_export_depend>std_msgs</build_export_depend><exec_depend>roscpp</exec_depend><exec_depend>rospy</exec_depend><exec_depend>std_msgs</exec_depend><!-- The export tag contains other, unspecified, tags --><export><!-- Other tools can request additional information be placed here --></export> </package>

ROS一些基本概念

計算圖(Computation Graph)是一個由ROS進(jìn)程組成的點(diǎn)對點(diǎn)網(wǎng)絡(luò),它們能夠共同處理數(shù)據(jù)。

ROS的基本計算圖概念有節(jié)點(diǎn)(Nodes)、主節(jié)點(diǎn)(Master)、參數(shù)服務(wù)器(Parameter Server)、消息(Messages)、服務(wù)(Services)、話題(Topics)和袋(Bags),它們都以不同的方式向圖(Graph)提供數(shù)據(jù)。

節(jié)點(diǎn)(Nodes):節(jié)點(diǎn)是一個可執(zhí)行文件,它可以通過ROS來與其他節(jié)點(diǎn)進(jìn)行通信。

消息(Messages):訂閱或發(fā)布話題時所使用的ROS數(shù)據(jù)類型。

話題(Topics):節(jié)點(diǎn)可以將消息發(fā)布到話題,或通過訂閱話題來接收消息。

主節(jié)點(diǎn)(Master):ROS的命名服務(wù),例如幫助節(jié)點(diǎn)發(fā)現(xiàn)彼此。

rosout:在ROS中相當(dāng)于stdout/stderr(標(biāo)準(zhǔn)輸出/標(biāo)準(zhǔn)錯誤)。

roscore:主節(jié)點(diǎn) + rosout + 參數(shù)服務(wù)器。

節(jié)點(diǎn):

節(jié)點(diǎn)實(shí)際上只不過是ROS軟件包中的一個可執(zhí)行文件。ROS節(jié)點(diǎn)使用ROS客戶端庫與其他節(jié)點(diǎn)通信。節(jié)點(diǎn)可以發(fā)布或訂閱話題,也可以提供或使用服務(wù)。

機(jī)器人和遙控器開始工作后,就是兩個節(jié)點(diǎn)。機(jī)器人是一個節(jié)點(diǎn)、遙控器也是一個節(jié)點(diǎn)。

遙控器起到了下達(dá)指 令的作用;機(jī)器人負(fù)責(zé)監(jiān)聽遙控器下達(dá)的指令,完成相應(yīng)動作。

節(jié)點(diǎn)是一個能執(zhí)行特定工作任務(wù)的工作單元,并且能夠相互通信,從而實(shí)現(xiàn)一個機(jī)器人系統(tǒng)整體的功能。

客戶端庫:

ROS客戶端庫可以讓用不同編程語言編寫的節(jié)點(diǎn)進(jìn)行相互通信:

  • rospy = Python客戶端庫
  • roscpp = C++客戶端庫

roscore:

roscore = ros+core:主節(jié)點(diǎn)(為ROS提供命名服務(wù)) + rosout (stdout/stderr) + 參數(shù)服務(wù)器

roscore是你在運(yùn)行所有ROS程序前首先要運(yùn)行的命令。

rosnode:獲取節(jié)點(diǎn)信息的ROS工具

打開一個新終端,可以使用rosnode看看roscore運(yùn)行時干了些什么。

要保持以前的終端開著。

rosnode顯示當(dāng)前正在運(yùn)行的ROS節(jié)點(diǎn)信息。rosnode list命令會列出這些活動的節(jié)點(diǎn)。

jym@ubuntu:~$ roscore ... logging to /home/jym/.ros/log/13b5ebe2-3581-11ec-8099-99fb076f9407/roslaunch-ubuntu-4683.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.started roslaunch server http://ubuntu:41325/ ros_comm version 1.15.13SUMMARY ========PARAMETERS* /rosdistro: noetic* /rosversion: 1.15.13NODESauto-starting new master process[master]: started with pid [4694] ROS_MASTER_URI=http://ubuntu:11311/setting /run_id to 13b5ebe2-3581-11ec-8099-99fb076f9407 process[rosout-1]: started with pid [4710] started core service [/rosout] jym@ubuntu:~$ rosnode list /rosout

rosout這個節(jié)點(diǎn)用于收集和記錄節(jié)點(diǎn)的調(diào)試輸出,所以它總是在運(yùn)行的。

rosnode info命令返回的是某個指定節(jié)點(diǎn)的信息。

可以進(jìn)一步查看rosout的信息, 比如說實(shí)際上它是發(fā)布了一個/rosout_agg話題。

jym@ubuntu:~$ rosnode info /rosout -------------------------------------------------------------------------------- Node [/rosout] Publications: * /rosout_agg [rosgraph_msgs/Log]Subscriptions: * /rosout [unknown type]Services: * /rosout/get_loggers* /rosout/set_logger_levelcontacting node http://ubuntu:45389/ ... Pid: 4710

rosrun:運(yùn)行給定的軟件包中的節(jié)點(diǎn)

rosrun可以用包名直接運(yùn)行軟件包內(nèi)的節(jié)點(diǎn)。

開一個新終端,運(yùn)行turtlesim包中的turtlesim_node。

rosrun turtlesim turtlesim_node

會看到turtlesim窗口。

再開一個新終端,輸入rosnode list,會看到下面的輸出信息:

jym@ubuntu:~$ rosnode list /rosout /turtlesim

停止節(jié)點(diǎn):關(guān)閉turtlesim窗口以停止節(jié)點(diǎn)(或回到rosrun turtlesim的終端并按Ctrl+C)。

改變節(jié)點(diǎn)名稱:使用重映射參數(shù)來改變節(jié)點(diǎn)名稱:

$ rosrun turtlesim turtlesim_node __name:=my_turtle

測試節(jié)點(diǎn)是否正常運(yùn)行:ping,來測試它是否正常。

rosnode ping my_turtle jym@ubuntu:~$ rosnode ping my_turtle rosnode: node is [/my_turtle] pinging /my_turtle with a timeout of 3.0s xmlrpc reply from http://ubuntu:45307/ time=0.414848ms xmlrpc reply from http://ubuntu:45307/ time=1.438141ms xmlrpc reply from http://ubuntu:45307/ time=1.352310ms xmlrpc reply from http://ubuntu:45307/ time=0.378132ms xmlrpc reply from http://ubuntu:45307/ time=0.369549ms xmlrpc reply from http://ubuntu:45307/ time=0.383854ms xmlrpc reply from http://ubuntu:45307/ time=0.408173ms ^Cping average: 0.677858ms

ROS話題:節(jié)點(diǎn)之間是通過一個ROS話題來相互通信的

三個終端輸入:

$ roscore $ rosrun turtlesim turtlesim_node $ rosrun turtlesim turtle_teleop_key

選中turtle_teleop_key的終端窗口以確保按鍵輸入能夠被捕獲。

可以使用鍵盤上的方向鍵來控制turtle運(yùn)動了。

turtlesim_node節(jié)點(diǎn)和turtle_teleop_key節(jié)點(diǎn)之間是通過一個ROS話題來相互通信的。

turtle_teleop_key在話題上發(fā)布鍵盤按下的消息,turtlesim則訂閱該話題以接收消息。

rqt_graph:顯示當(dāng)前運(yùn)行的節(jié)點(diǎn)和話題

使用rqt_graph來顯示當(dāng)前運(yùn)行的節(jié)點(diǎn)和話題。

打開一個新終端:

$ rosrun rqt_graph rqt_graph

會看到一個窗口:

如果把鼠標(biāo)放在/turtle1/command_velocity上方,相應(yīng)的ROS節(jié)點(diǎn)(這里是藍(lán)色和綠色)和話題(這里是紅色)就會高亮顯示。可以看到,turtlesim_node和turtle_teleop_key節(jié)點(diǎn)正通過一個名為/turtle1/command_velocity的話題來相互通信。

rostopic:獲取ROS話題的信息

rostopic命令工具能讓你獲取ROS話題的信息。

使用幫助選項查看可用的rostopic的子命令

rostopic -h jym@ubuntu:~$ rostopic -h rostopic is a command-line tool for printing information about ROS Topics.Commands:rostopic bw display bandwidth used by topicrostopic delay display delay of topic from timestamp in headerrostopic echo print messages to screenrostopic find find topics by typerostopic hz display publishing rate of topic rostopic info print information about active topicrostopic list list active topicsrostopic pub publish data to topicrostopic type print topic or field typeType rostopic <command> -h for more detailed usage, e.g. 'rostopic echo -h'

接下來,將使用其中的一些子命令來了解turtlesim

rostopic echo:顯示在某個話題上發(fā)布的數(shù)據(jù)

rostopic echo可以顯示在某個話題上發(fā)布的數(shù)據(jù)。

打開新終端輸入:

rostopic echo /turtle1/cmd_vel

可以通過按下鍵盤方向鍵讓turtle_teleop_key節(jié)點(diǎn)發(fā)布數(shù)據(jù)。

然后按下向上鍵時可以看到:

jym@ubuntu:~$ rostopic echo /turtle1/cmd_vel linear: x: 2.0y: 0.0z: 0.0 angular: x: 0.0y: 0.0z: 0.0 --- linear: x: 2.0y: 0.0z: 0.0 angular: x: 0.0y: 0.0z: 0.0 ---

此時再看一下rqt_graph:

rostopic echo現(xiàn)在也訂閱了turtle1/command_velocity話題。

rostopic list:列出當(dāng)前已被訂閱和發(fā)布的所有話題。

rostopic list能夠列出當(dāng)前已被訂閱和發(fā)布的所有話題。

開一個新終端:查看一下list子命令需要的參數(shù)

rostopic list -h jym@ubuntu:~$ rostopic list -h Usage: rostopic list [/namespace]Options:-h, --help show this help message and exit-b BAGFILE, --bag=BAGFILElist topics in .bag file-v, --verbose list full details about each topic-p list only publishers-s list only subscribers--host group by host name

在rostopic list中使用verbose選項:

$ rostopic list -v

會列出所有發(fā)布和訂閱的主題及其類型的詳細(xì)信息。

jym@ubuntu:~$ rostopic list -vPublished topics:* /rosout_agg [rosgraph_msgs/Log] 1 publisher* /rosout [rosgraph_msgs/Log] 4 publishers* /turtle1/pose [turtlesim/Pose] 1 publisher* /turtle1/color_sensor [turtlesim/Color] 1 publisher* /turtle1/cmd_vel [geometry_msgs/Twist] 1 publisherSubscribed topics:* /rosout [rosgraph_msgs/Log] 1 subscriber* /turtle1/cmd_vel [geometry_msgs/Twist] 2 subscribers* /statistics [rosgraph_msgs/TopicStatistics] 1 subscriber

ROS消息:話題的通信是通過節(jié)點(diǎn)間發(fā)送ROS消息實(shí)現(xiàn)的

話題的通信是通過節(jié)點(diǎn)間發(fā)送ROS消息實(shí)現(xiàn)的。為了使發(fā)布者(turtle_teleop_key)和訂閱者(turtulesim_node)進(jìn)行通信,發(fā)布者和訂閱者必須發(fā)送和接收相同類型的消息。這意味著話題的類型是由發(fā)布在它上面消息的類型決定的。使用rostopic type命令可以查看發(fā)布在話題上的消息的類型

rostopic type:查看所發(fā)布話題的消息類型

rostopic type命令用來查看所發(fā)布話題的消息類型。

運(yùn)行:

$ rostopic type /turtle1/cmd_vel

可以使用rosmsg查看消息的詳細(xì)信息

$ rosmsg show geometry_msgs/Twist jym@ubuntu:~$ rostopic type /turtle1/cmd_vel geometry_msgs/Twist jym@ubuntu:~$ rosmsg show geometry_msgs/Twist geometry_msgs/Vector3 linearfloat64 xfloat64 yfloat64 z geometry_msgs/Vector3 angularfloat64 xfloat64 yfloat64 z

現(xiàn)在已經(jīng)知道了turtlesim節(jié)點(diǎn)想要的消息類型,然后就可以發(fā)布命令給turtle了。

rostopic pub:把數(shù)據(jù)發(fā)布到當(dāng)前某個正在廣播的話題上

rostopic pub可以把數(shù)據(jù)發(fā)布到當(dāng)前某個正在廣播的話題上。

$ rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

以上命令會發(fā)送一條消息給turtlesim,告訴它以2.0大小的線速度和1.8大小的角速度移動。

jym@ubuntu:~$ rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]' publishing and latching message for 3.0 seconds
  • rostopic pub命令將消息發(fā)布到指定的話題
  • -1 這一選項會讓rostopic只發(fā)布一條消息,然后退出
  • /turtle1/cmd_vel是要發(fā)布到的話題的名稱
  • geometry_msgs/Twist是發(fā)布到話題時要使用的消息的類型
  • – 這一選項(兩個破折號)用來告訴選項解析器,表明之后的參數(shù)都不是選項。如果參數(shù)前有破折號(-)比如負(fù)數(shù),那么這是必需的。
  • 如前所述,一個turtlesim/Velocity消息有兩個浮點(diǎn)型元素:linear和angular。在本例中,'[2.0, 0.0, 0.0]'表示linear的值為x=2.0, y=0.0, z=0.0,而'[0.0, 0.0, 1.8]'是說angular的值為x=0.0, y=0.0, z=1.8

這行命令發(fā)出后,turtle移動了一下就停了。這是因為turtle需要一個穩(wěn)定的頻率為1Hz的指令流才能保持移動狀態(tài)。我們可以使用rostopic pub -r命令來發(fā)布源源不斷的命令:

$ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

將以1 Hz的速度發(fā)布velocity指令到velocity話題上。

rqt_graph中。可以看到rostopic pub節(jié)點(diǎn)正在與rostopic echo節(jié)點(diǎn)進(jìn)行通信:

新終端中通過rostopic echo命令來查看turtlesim所發(fā)布的數(shù)據(jù):rostopic echo /turtle1/pose

--- linear: x: 2.0y: 0.0z: 0.0 angular: x: 0.0y: 0.0z: -1.8 --- linear: x: 2.0y: 0.0z: 0.0 angular: x: 0.0y: 0.0z: -1.8 ---

rostopic hz:報告數(shù)據(jù)發(fā)布的速率

rostopic hz報告數(shù)據(jù)發(fā)布的速率。

看一下turtlesim_node發(fā)布/turtle/pose得有多快:

$ rostopic hz /turtle1/pose jym@ubuntu:~$ rostopic hz /turtle1/pose subscribed to [/turtle1/pose] average rate: 62.521min: 0.014s max: 0.018s std dev: 0.00067s window: 63 average rate: 62.479min: 0.014s max: 0.018s std dev: 0.00056s window: 125 average rate: 62.486min: 0.014s max: 0.018s std dev: 0.00057s window: 188

可以知道,turtlesim正以大約60Hz的頻率發(fā)布有關(guān)烏龜?shù)臄?shù)據(jù)。

rqt_plot:在滾動時間圖上顯示發(fā)布到某個話題上的數(shù)據(jù)

rqt_plot命令可以在滾動時間圖上顯示發(fā)布到某個話題上的數(shù)據(jù)。這里我們將使用rqt_plot命令來繪制正被發(fā)布到/turtle1/pose話題上的數(shù)據(jù)。

新終端輸入rosrun rqt_plot rqt_plot

可以在左上角的文本框里面添加任何想要繪制的話題。在里面輸入/turtle1/pose/x后,之前不能按下的加號按鈕將會變亮。按一下該按鈕,并對/turtle1/pose/y重復(fù)相同的過程。現(xiàn)在你會在圖中看到turtle的x-y位置。

ROS服務(wù):節(jié)點(diǎn)之間通訊的另一種方式

服務(wù)(Services)是節(jié)點(diǎn)之間通訊的另一種方式。服務(wù)允許節(jié)點(diǎn)發(fā)送一個請求(request)并獲得一個響應(yīng)(response)。

rosservice:有許多可用于服務(wù)的命令

rosservice可以很容易地通過服務(wù)附加到ROS客戶端/服務(wù)器框架上。rosservice有許多可用于服務(wù)的命令,如下所示:

rosservice list 輸出活躍服務(wù)的信息 rosservice call 用給定的參數(shù)調(diào)用服務(wù) rosservice type 輸出服務(wù)的類型 rosservice find 按服務(wù)的類型查找服務(wù) rosservice uri 輸出服務(wù)的ROSRPC uri

rosservice list:顯示節(jié)點(diǎn)提供的服務(wù)

jym@ubuntu:~$ rosservice list /clear /kill /reset /rosout/get_loggers /rosout/set_logger_level /spawn /teleop_turtle/get_loggers /teleop_turtle/set_logger_level /turtle1/set_pen /turtle1/teleport_absolute /turtle1/teleport_relative /turtlesim/get_loggers /turtlesim/set_logger_level

rosservice type:查看服務(wù)的類型

使用rosservice type命令進(jìn)一步查看clear(清除)服務(wù):

jym@ubuntu:~$ rosservice type /clear std_srvs/Empty

服務(wù)的類型為empty(空),這表明調(diào)用這個服務(wù)時不需要參數(shù)(即,它在發(fā)出請求時不發(fā)送數(shù)據(jù),在接收響應(yīng)時也不接收數(shù)據(jù))。

查看有參服務(wù):

$ rosservice type /spawn | rossrv show jym@ubuntu:~$ rosservice type /spawn | rossrv show float32 x float32 y float32 theta string name --- string name

這個服務(wù)能讓我們可以在給定的位置和角度生成一只新的烏龜。name字段是可選的。

rosservice call:調(diào)用服務(wù)

調(diào)用無參服務(wù):

$ rosservice call /clear

清除了turtlesim_node背景上的軌跡。

調(diào)用有參服務(wù):

jym@ubuntu:~$ rosservice call /spawn 2 2 2 "" name: "turtle2"

該調(diào)用返回了新產(chǎn)生的烏龜?shù)拿帧H缓髏urtlesim里面出現(xiàn)了個新烏龜。

rosparam:在ROS參數(shù)服務(wù)器上存儲和操作數(shù)據(jù)

rosparam能在ROS參數(shù)服務(wù)器(Parameter Server)上存儲和操作數(shù)據(jù)。參數(shù)服務(wù)器能夠存儲整型(integer)、浮點(diǎn)(float)、布爾(boolean)、字典(dictionaries)和列表(list)等數(shù)據(jù)類型。

rosparam使用YAML標(biāo)記語言的語法。一般而言,YAML的表述很自然:1是整型,1.0是浮點(diǎn)型,one是字符串,true是布爾型,[1, 2, 3]是整型組成的列表,{a: b, c: d}是字典。

rosparam有很多命令可以用來操作參數(shù),如下所示:

rosparam set 設(shè)置參數(shù) rosparam get 獲取參數(shù) rosparam load 從文件中加載參數(shù) rosparam dump 向文件中轉(zhuǎn)儲參數(shù) rosparam delete 刪除參數(shù) rosparam list 列出參數(shù)名

rosparam list:查看參數(shù)服務(wù)器上都有哪些參數(shù)

jym@ubuntu:~$ rosparam list /rosdistro /roslaunch/uris/host_ubuntu__36577 /rosversion /run_id /turtlesim/background_b /turtlesim/background_g /turtlesim/background_r

rosparam set:改變參數(shù)服務(wù)器上參數(shù)的值

修改背景顏色的紅色通道值:

$ rosparam set /turtlesim/background_r 150

上述指令修改了參數(shù)的值,現(xiàn)在我們需要調(diào)用clear服務(wù)使得參數(shù)的修改能生效:

$ rosservice call /clear

rosparam get:查看參數(shù)服務(wù)器上參數(shù)的值

查看參數(shù)服務(wù)器上其他參數(shù)的值。獲取背景的綠色通道的值:

$ rosparam get /turtlesim/background_g

也可以用rosparam get /來顯示參數(shù)服務(wù)器上的所有內(nèi)容:

$ rosparam get / jym@ubuntu:~$ rosparam get / rosdistro: 'noetic' roslaunch:uris:host_ubuntu__36577: http://ubuntu:36577/ rosversion: '1.15.13' run_id: 7f07518e-3585-11ec-8099-99fb076f9407 turtlesim:background_b: 255background_g: 86background_r: 150

rqt_console:連接ROS的日志框架,顯示節(jié)點(diǎn)的輸出信息

rqt_console連接到了ROS的日志框架,以顯示節(jié)點(diǎn)的輸出信息。

rqt_logger_level:在節(jié)點(diǎn)運(yùn)行時改變輸出信息的詳細(xì)級別

rqt_logger_level允許我們在節(jié)點(diǎn)運(yùn)行時改變輸出信息的詳細(xì)級別,包括Debug、Info、Warn和Error`。

接下來,看一下turtlesim在rqt_console中輸出的信息,同時在使用turtlesim時切換rqt_logger_level中的日志級別。

在啟動turtlesim之前先在兩個終端中運(yùn)行rqt_console和rqt_logger_level:

$ rosrun rqt_console rqt_console $ rosrun rqt_logger_level rqt_logger_level

在另一個終端中啟動turtlesim:

$ rosrun turtlesim turtlesim_node

因為默認(rèn)的日志級別是Info,所以你會看到turtlesim啟動后發(fā)布的所有信息。

把烏龜撞到墻上,rqt_console上會顯示:

日志級別的優(yōu)先級按以下順序排列:

Fatal (致命) Error (錯誤) Warn (警告) Info (信息) Debug (調(diào)試)

Fatal是最高優(yōu)先級,Debug是最低優(yōu)先級。通過設(shè)置日志級別,你可以獲得所有優(yōu)先級級別,或只是更高級別的消息。比如,將日志級別設(shè)為Warn時,你會得到Warn、Error和Fatal這三個等級的日志消息。

roslaunch:啟動定義在launch(啟動)文件中的節(jié)點(diǎn)

roslaunch可以用來啟動定義在launch(啟動)文件中的節(jié)點(diǎn)。

首先,按照創(chuàng)建catkin工作空間后面的步驟使環(huán)境變量生效

然后,切換到之前創(chuàng)建和構(gòu)建的beginner_tutorials軟件包目錄下

然后,創(chuàng)建一個launch目錄

jym@ubuntu:~$ cd ~/catkin_ws jym@ubuntu:~/catkin_ws$ source devel/setup.bash jym@ubuntu:~/catkin_ws$ roscd beginner_tutorials jym@ubuntu:~/catkin_ws/src/beginner_tutorials$ mkdir launch jym@ubuntu:~/catkin_ws/src/beginner_tutorials$ cd launch jym@ubuntu:~/catkin_ws/src/beginner_tutorials/launch$

創(chuàng)建一個名為turtlemimic.launch的launch文件

$ gedit turtlemimic.launch

然后粘貼進(jìn)去

<launch><group ns="turtlesim1"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><group ns="turtlesim2"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><node pkg="turtlesim" name="mimic" type="mimic"><remap from="input" to="turtlesim1/turtle1"/><remap from="output" to="turtlesim2/turtle1"/></node></launch>

launch XML文件的內(nèi)容

<launch>

首先用launch標(biāo)簽開頭,以表明這是一個launch文件。

<group ns="turtlesim1"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><group ns="turtlesim2"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group>

此處我們創(chuàng)建了兩個分組,并以命名空間(namespace)標(biāo)簽來區(qū)分,其中一個名為turtulesim1,另一個名為turtlesim2,兩個分組中都有相同的名為sim的turtlesim節(jié)點(diǎn)。這樣可以讓我們同時啟動兩個turtlesim模擬器,而不會產(chǎn)生命名沖突。

<node pkg="turtlesim" name="mimic" type="mimic"><remap from="input" to="turtlesim1/turtle1"/><remap from="output" to="turtlesim2/turtle1"/></node>

在這里我們啟動模仿節(jié)點(diǎn),話題的輸入和輸出分別重命名為turtlesim1和turtlesim2,這樣就可以讓turtlesim2模仿turtlesim1了。

</launch>

這一行使得launch文件的XML標(biāo)簽閉合。

使用roslaunch:運(yùn)行l(wèi)aunch文件

通過roslaunch命令來運(yùn)行l(wèi)aunch文件:

$ roslaunch beginner_tutorials turtlemimic.launch

現(xiàn)在將會有兩個turtlesim被啟動,然后我們在一個新終端中使用rostopic命令發(fā)送:

$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

兩個turtlesims同時開始移動,雖然發(fā)布命令只發(fā)送給了turtlesim1。

實(shí)現(xiàn)過程中,有三個終端:

第一個:輸入roscore

jym@ubuntu:~$ roscore ... logging to /home/jym/.ros/log/bd42545e-3598-11ec-8099-99fb076f9407/roslaunch-ubuntu-10960.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.started roslaunch server http://ubuntu:43275/ ros_comm version 1.15.13SUMMARY ========PARAMETERS* /rosdistro: noetic* /rosversion: 1.15.13NODESauto-starting new master process[master]: started with pid [10968] ROS_MASTER_URI=http://ubuntu:11311/

第二個:運(yùn)行l(wèi)aunch文件

jym@ubuntu:~$ cd ~/catkin_ws jym@ubuntu:~/catkin_ws$ source devel/setup.bash jym@ubuntu:~/catkin_ws$ roscd beginner_tutorials jym@ubuntu:~/catkin_ws/src/beginner_tutorials$ roslaunch beginner_tutorials turtlemimic.launch ... logging to /home/jym/.ros/log/bd42545e-3598-11ec-8099-99fb076f9407/roslaunch-ubuntu-11191.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.started roslaunch server http://ubuntu:36829/SUMMARY ========PARAMETERS* /rosdistro: noetic* /rosversion: 1.15.13NODES/mimic (turtlesim/mimic)/turtlesim1/sim (turtlesim/turtlesim_node)/turtlesim2/sim (turtlesim/turtlesim_node)ROS_MASTER_URI=http://localhost:11311process[turtlesim1/sim-1]: started with pid [11205] process[turtlesim2/sim-2]: started with pid [11206] process[mimic-3]: started with pid [11208]

第三個終端:使用rostopic命令發(fā)送

jym@ubuntu:~$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

總結(jié)

以上是生活随笔為你收集整理的ROS基本概念 文件系统 创建ROS软件包 ROS中的一些命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲精品午夜视频 | 欧美日韩国产mv | 欧美色888 | 福利精品在线 | 久草在线视频在线观看 | 天天性天天草 | 免费a视频| 日韩在线观看视频一区二区三区 | 久久精品久久99精品久久 | 91香蕉亚洲精品 | 在线国产精品一区 | 精品国产一区二区三区久久久 | 欧美日本三级 | 久久激情五月激情 | wwxxxx日本 | 欧美日韩伦理在线 | 国产精品福利在线播放 | 日韩欧美视频在线播放 | 人人澡人人草 | 911久久香蕉国产线看观看 | 丁香婷婷综合激情五月色 | 91在线网址 | 狠狠狠狠狠狠干 | 国产在线观看99 | 国产成人99av超碰超爽 | 亚洲一级免费电影 | 91免费在线视频 | 91女子私密保健养生少妇 | a在线免费 | 91久久精品一区二区三区 | 手机在线中文字幕 | 九九九热精品免费视频观看 | 国产一区二区三精品久久久无广告 | 亚洲欧洲精品一区二区 | 欧美a在线看 | 亚洲精品99久久久久中文字幕 | 看毛片的网址 | 新av在线 | 国产精品日韩高清 | 亚洲免费永久精品国产 | 在线看片日韩 | 麻豆视频免费在线观看 | 亚洲九九| 91网在线观看 | 国产剧情av在线播放 | 丁香六月天 | 国产色秀视频 | 国产精品热视频 | 美女网站在线看 | 亚洲欧美色婷婷 | 91亚洲国产成人 | 亚洲黄色激情小说 | 国产精品久久久久久久久久久不卡 | 日韩精品一区二区三区免费观看 | 五月开心婷婷网 | 色综合久久天天 | 一区二区三区视频在线 | 国产精品视频免费观看 | 天天做天天爱天天爽综合网 | 久久综合视频网 | 久久亚洲日本 | 色网站免费在线看 | 91高清免费 | 日本三级在线观看中文字 | 久久99这里只有精品 | 日韩理论电影在线观看 | 一二三区视频在线 | 国产露脸91国语对白 | 亚洲 欧美日韩 国产 中文 | 精品麻豆 | 日韩精品一区二区三区外面 | va视频在线| 午夜免费福利视频 | 四虎影视精品 | 中文字幕亚洲国产 | 亚洲欧美日韩在线看 | 欧美午夜精品久久久久久孕妇 | 999久久久久久 | 超碰97在线资源 | 亚洲精品午夜国产va久久成人 | 久久精品一区二区三 | 免费亚洲精品视频 | 国产精品毛片一区二区 | 日日草天天草 | 激情网五月婷婷 | 国内精品久久久久影院优 | 精品久久中文 | 久久久精品视频成人 | 欧美一区成人 | 97在线视频网站 | 日韩在线网址 | 久草观看视频 | 午夜美女wwww | 久久精品成人热国产成 | 国产视频中文字幕在线观看 | a级国产片| 日韩美女一级片 | 一级欧美一级日韩 | 在线91播放 | 国产美女黄网站免费 | 国产a级片免费观看 | 久久字幕 | 香蕉视频免费在线播放 | 日韩欧美视频免费看 | 狠狠干狠狠操 | 97电影手机 | 国产99精品 | 国产精品高清在线观看 | 亚洲区精品视频 | 黄色www在线观看 | 国产精品美女久久久免费 | 日本免费一二三区 | 午夜精品久久久久久久爽 | 国产精品18久久久久久久网站 | 日韩免费在线观看 | 久久精品资源 | 99久久婷婷国产 | 黄av在线 | 欧美综合在线视频 | 99在线观看 | 国产精品女人久久久久久 | 国产裸体视频bbbbb | 亚洲精品乱码久久久久久久久久 | 国产视频亚洲 | 三级在线播放视频 | 超碰人人99 | 国产精品久久久久久久久毛片 | 国产精品18久久久久久vr | av亚洲产国偷v产偷v自拍小说 | 色婷婷综合视频在线观看 | 四虎在线观看精品视频 | 久久久久激情视频 | 中文字幕一区在线观看视频 | 国产啊v在线 | 激情欧美一区二区三区 | 久久欧美综合 | 不卡的av电影 | 色姑娘综合| 日韩精品一区二区三区在线视频 | 97超视频免费观看 | 国产偷v国产偷∨精品视频 在线草 | 日韩综合一区二区三区 | 99爱在线 | 黄色毛片一级片 | 不卡视频一区二区三区 | 久久久久久久久久久福利 | 国产精品 中文在线 | 亚洲精品美女久久久久网站 | 日韩va在线观看 | 干狠狠| 免费看片成人 | 在线中文字幕av观看 | 五月婷婷中文字幕 | 久免费视频 | 天堂va在线观看 | 97香蕉超级碰碰久久免费软件 | 免费日韩 精品中文字幕视频在线 | 色偷偷88888欧美精品久久 | 伊人天天色 | 久久九九免费视频 | 亚洲日本欧美 | 色婷婷av一区二 | 精品 激情| 国产综合久久 | 免费观看av | 日女人免费视频 | 国产在线一区观看 | 在线观看视频你懂的 | 免费黄色av电影 | 国产一区二区三区免费在线观看 | 99在线播放| 91香蕉国产在线观看软件 | 日韩理论| 深爱激情综合 | 天天躁日日躁狠狠躁av麻豆 | 精品亚洲视频在线观看 | 久久激情日本aⅴ | 日韩av在线看 | 国产成人在线精品 | 亚洲第二色 | 日本夜夜草视频网站 | 午夜影院先 | 国产成人在线免费观看 | 成年人在线观看网站 | 国产一区二区在线看 | 97偷拍在线视频 | 人人超碰97 | 日本不卡123区 | 99免费精品视频 | 天堂va欧美va亚洲va老司机 | 欧美午夜精品久久久久久孕妇 | 欧美日韩精品在线观看视频 | 久草视频资源 | 国产精品99爱 | 色婷婷a | 国产成人免费网站 | 在线免费观看麻豆视频 | 欧美日韩精品在线免费观看 | 亚洲影院国产 | 国产午夜精品一区二区三区 | 免费看v片 | 国产一级91| 国产午夜免费视频 | 97热视频 | 国产又粗又猛又黄 | 九色91在线| 在线一区电影 | 香蕉在线视频观看 | 国产不卡一二三区 | 免费色av| 日韩va亚洲va欧美va久久 | 91精品在线视频观看 | 日韩一二三区不卡 | 免费午夜网站 | 国产主播大尺度精品福利免费 | 国产福利91精品一区二区三区 | 黄色一级大片在线免费看国产一 | 黄色小网站免费看 | 国产中文字幕一区二区三区 | 992tv在线成人免费观看 | 99热这里只有精品1 av中文字幕日韩 | 91久久久久久久 | 国产91精品看黄网站在线观看动漫 | 欧美精品一区二区性色 | 天天干 天天摸 天天操 | 国产女v资源在线观看 | 96亚洲精品久久 | av在线官网 | 天天艹天天爽 | 天天干,天天射,天天操,天天摸 | 日韩精品一区二区久久 | 成年人网站免费观看 | 国产中文字幕91 | 在线免费观看国产精品 | 国产精品久久人 | 久久久久激情 | 成人国产电影在线观看 | 久久经典国产 | 美女在线免费观看视频 | 日日夜夜网 | 亚洲精品一区二区久 | 一区二区三区日韩在线观看 | 国产精品99久久久久久有的能看 | 最近中文字幕久久 | 天堂在线一区二区三区 | 久久午夜电影 | 91av在线视频播放 | 国产精品1区2区 | 色爱区综合激月婷婷 | 国产va饥渴难耐女保洁员在线观看 | 天海翼一区二区三区免费 | 国产一区视频免费在线观看 | 国产小视频在线看 | 五月婷网站 | 国产成年免费视频 | 最新国产精品拍自在线播放 | 99久久婷婷国产综合亚洲 | 久久人人97超碰com | 成人综合日日夜夜 | 久草视频视频在线播放 | 草久电影| 国内精品毛片 | 97人人添人澡人人爽超碰动图 | 在线观看中文字幕一区二区 | 激情小说久久 | 国产精品一区二区免费看 | 麻豆视频在线免费观看 | 999国内精品永久免费视频 | 日韩视频免费在线观看 | 国产探花在线看 | 97国产精品一区二区 | 六月丁香久久 | 成人午夜精品久久久久久久3d | 久草在线观看视频免费 | 日本精品视频免费观看 | 九九免费视频 | 中文字幕观看视频 | 日韩无在线 | 久久视频在线免费观看 | 亚洲午夜精品久久久 | 久久看片网站 | 激情视频免费在线 | 在线观看国产www | 丁香婷婷激情国产高清秒播 | 91丨九色丨国产丨porny精品 | 人人插人人做 | 男女拍拍免费视频 | 欧美精品九九99久久 | 亚洲精品成人在线 | 四虎成人av | 国产在线一线 | av网站免费看 | 91精品视频免费观看 | 国产精品黑丝在线观看 | 成人h视频| 久久免费国产电影 | 天天操天天舔天天爽 | 主播av在线 | 91亚洲网| 天天爱天天操天天爽 | 国产成人av在线 | 欧美日韩精品二区第二页 | 久久九精品| 久久综合九色综合久久久精品综合 | 九九视频网站 | 午夜精品麻豆 | 免费黄色在线网址 | 91人人澡人人爽人人精品 | 国产精品99久久久精品 | 久久精彩免费视频 | 成人avav| 99热精品视 | 97精品视频在线 | 国产第一页精品 | 久久久九九 | 国产一区二区在线观看免费 | 亚洲激情综合网 | 国产免费精彩视频 | 中文字幕免费观看 | 国产最顶级的黄色片在线免费观看 | av久久在线 | 国产美女免费观看 | 99色视频在线 | 中文字幕专区高清在线观看 | 欧美十八| 亚洲黄色一级视频 | 日韩资源在线观看 | 午夜私人影院久久久久 | av在线一二三区 | 精品国产一区二区三区久久久蜜月 | 成人av免费在线播放 | 日韩综合视频在线观看 | 国产精品久久网 | 日韩免费三级 | 在线视频你懂 | 色婷婷久久一区二区 | 欧美一级电影片 | 久久午夜色播影院免费高清 | 人人射人人爱 | 国产爽视频 | 五月天狠狠操 | 456免费视频| 亚洲欧美观看 | 成 人 黄 色视频免费播放 | 一区二区网 | 亚洲欧美国产精品18p | 91精品视频观看 | 99热最新| 狠狠干电影 | 欧美一级片在线观看视频 | 中文字幕成人在线观看 | 成年人免费电影 | 欧美日韩午夜爽爽 | 欧美va在线观看 | 欧美精品免费一区二区 | 五月天婷婷免费视频 | 精品91| 一区二区三区免费在线观看视频 | 国产精品va最新国产精品视频 | 欧美一区二区在线刺激视频 | 日韩三级视频在线看 | 日韩在线色 | 亚洲区另类春色综合小说校园片 | 日韩欧美视频免费在线观看 | 中文字幕亚洲国产 | 色999在线| 91网址在线看 | 久草视频在线资源 | 久草精品视频在线观看 | 中文字幕在线视频网站 | 免费国产在线视频 | 国产福利免费在线观看 | 天天干人人 | 久久免费看 | 国产一级片久久 | 久草在线99 | 精品久久影院 | av免费在线观看1 | 久99热| 精品久久福利 | 国产精品video | 精品国内自产拍在线观看视频 | 成人污视频在线观看 | 夜夜爽夜夜操 | 美女在线免费观看视频 | 亚洲精品中文在线 | 国精产品永久999 | 91黄视频在线 | 亚洲激情婷婷 | 中文字幕在线观看av | 日韩一级电影在线 | 五月天九九| 国产精品18久久久 | 免费成人短视频 | 国产精品一区二区在线播放 | 国产成免费视频 | 97人人网| 日韩av在线看 | 人人爽爽人人 | 日本在线观看视频一区 | 综合久久综合久久 | 一级黄色免费网站 | 超碰在线97观看 | 久久人人97超碰精品888 | 亚洲成人软件 | 超碰97久久 | 高清一区二区 | 欧美性久久久 | 欧美日韩xx | 美女视频a美女大全免费下载蜜臀 | 色综合色综合久久综合频道88 | 久久一二三四 | 午夜精品久久久久久中宇69 | 亚洲精品在线国产 | 天天综合网久久 | 99久久99| 国产91勾搭技师精品 | 久久国产香蕉视频 | 91中文字幕视频 | 午夜在线免费视频 | 色婷婷中文 | 国偷自产视频一区二区久 | 日本黄色免费电影网站 | 九九热在线视频免费观看 | 综合精品在线 | 91精品国自产拍天天拍 | 香蕉视频在线免费 | 欧美巨乳网 | 国产香蕉久久 | aaa毛片视频 | 在线国产99 | www黄色软件 | 亚洲成人av一区 | 免费视频91 | 在线观看91 | 久久久免费看视频 | 久久精品99国产精品酒店日本 | 国语精品久久 | 日韩高清毛片 | 狠狠久久婷婷 | 日韩在线播放av | 人人爽人人爽人人爽人人爽 | 人人艹视频 | 亚洲精品大片www | 国产高清视频免费最新在线 | 久久一级片 | 久久综合欧美 | 日韩国产欧美在线视频 | 国产一区网址 | 精品国产一区二区三区蜜臀 | 免费91麻豆精品国产自产在线观看 | 欧美日韩在线视频观看 | 亚洲 欧美 日韩 综合 | 日韩亚洲国产中文字幕 | 福利视频一区二区 | 午夜影视剧场 | 久久综合久久综合这里只有精品 | 99免费在线 | 黄色1级大片 | 欧美日韩久久不卡 | 日本在线观看中文字幕无线观看 | 丁香激情五月 | 日日成人网 | 久久精品www人人爽人人 | 97福利在线观看 | av电影免费看 | 九九免费精品视频 | 亚洲综合国产精品 | 午夜婷婷综合 | 91大片网站| 三上悠亚一区二区在线观看 | 精品久久久久久久久久 | 国产精品久久二区 | 国产亚洲激情视频在线 | 亚洲在线成人精品 | 青青久视频 | 国产一区二区精品久久 | 麻豆av电影 | 粉嫩aⅴ一区二区三区 | 超碰国产在线 | 日韩两性视频 | 国产视频中文字幕在线观看 | 日韩视频a | 日本久久免费电影 | 欧洲亚洲精品 | 精品99久久 | 在线观看精品 | 开心色激情网 | 视频99爱 | 久草视频手机在线 | 日日射av| 国产不卡在线视频 | 国产69精品久久久久99尤 | 黄色性av | av久久在线| 久久久久免费精品 | 日韩在线电影观看 | 免费久草视频 | 亚洲欧美日韩一级 | 国产97色在线 | 成人小视频在线播放 | 97成人精品视频在线播放 | 免费的成人av | 在线观看成人一级片 | 久久免费av电影 | 亚洲精选在线观看 | 久久久久一区二区三区 | 日韩av一区二区在线影视 | 亚洲国产精品一区二区久久hs | av免费在线观看网站 | 又黄又爽又色无遮挡免费 | 女人18毛片a级毛片一区二区 | 成人免费xxxxxx视频 | 久草在 | 香蕉在线影院 | av网站在线观看播放 | 日本在线观看中文字幕无线观看 | 亚洲欧美日韩一区二区三区在线观看 | 国产黄在线免费观看 | 色婷婷在线观看视频 | 欧美男同网站 | 久久午夜精品影院一区 | 久青草视频在线观看 | 精品久久久久_ | 亚洲久草在线视频 | 九九热精品视频在线观看 | 黄色一级在线视频 | 国产老妇av | 久草精品在线播放 | 欧美三级在线播放 | 久久久九色精品国产一区二区三区 | 亚洲欧洲在线视频 | 中文字幕在线播放日韩 | 午夜精品久久久久久久久久久久久久 | 黄色的视频网站 | 国产黄免费看 | 免费看的国产视频网站 | 成人av影院在线观看 | 色天天中文 | 亚洲国产精久久久久久久 | 成人高清av在线 | 91精品视频在线 | 日韩在线色| 国产香蕉视频 | 人九九精品 | av片一区二区| 亚洲精品九九 | 349k.cc看片app | 亚洲狠狠丁香婷婷综合久久久 | 黄色www在线观看 | 在线观看日韩精品 | 夜夜干夜夜 | 欧美日韩网站 | 精品亚洲午夜久久久久91 | 国产人成一区二区三区影院 | 欧美三级免费 | 一区二区三区国产欧美 | 亚洲综合激情 | 波多野结衣一区 | 亚洲韩国一区二区三区 | 亚州性色 | 国产美女免费 | 日韩欧美综合精品 | 在线精品视频在线观看高清 | 免费在线色 | 久久精品久久精品久久39 | 国产精品久久嫩一区二区免费 | 久久在现| 美女久久久 | 亚洲视频分类 | 欧美日韩在线播放 | 插综合网 | 久久一区二区免费视频 | 黄色的网站免费看 | 亚洲精品欧洲精品 | 欧美日韩在线播放 | 亚洲资源在线 | 国产精品黑丝在线观看 | 91av资源在线| 99久久精品日本一区二区免费 | 日韩免费电影 | 黄色一级在线视频 | 久久久亚洲网站 | 日本天天操| 国内丰满少妇猛烈精品播放 | 国产成人精品一区二区三区网站观看 | 欧美日韩一区二区三区在线观看视频 | 国产视频精选在线 | 国产高清av免费在线观看 | 国产精品久久久久久模特 | 成人午夜av电影 | 91精品国产自产在线观看永久 | 一区二区电影在线观看 | 国产精品普通话 | 九九亚洲视频 | 亚洲国产剧情 | 成人亚洲综合 | 欧美另类高潮 | 免费在线观看成人小视频 | 精品色综合 | 亚洲免费黄色 | 国产黑丝一区二区 | 久久国产精品99国产 | 国产精品第10页 | 麻豆视频一区二区 | 日韩高清精品免费观看 | 中文字幕综合在线 | 在线成人免费电影 | 中文字幕在线观看的网站 | 91亚洲精品乱码久久久久久蜜桃 | 深爱婷婷激情 | 国产在线国偷精品产拍 | 91精品国产网站 | 国产精品高清av | 最新久久久 | 国产色女人 | 久久亚洲欧美 | 国产一区二区免费在线观看 | 中文字幕中文字幕中文字幕 | 天天天干天天射天天天操 | 国产在线视频不卡 | 这里只有精品视频在线观看 | 日韩欧美国产免费播放 | 综合色站导航 | 亚洲视频免费在线观看 | 亚洲欧洲精品视频 | 成人免费大片黄在线播放 | 黄色大全免费观看 | 制服丝袜天堂 | 免费观看国产精品视频 | 日韩极品在线 | 国产免费亚洲高清 | 日韩天堂网 | 免费在线激情视频 | 91精品伦理| 国产精品区在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 日韩a级免费视频 | 在线观看视频国产一区 | 久草综合在线 | 91九色综合| 精品久久久久国产免费第一页 | 国产精品一区二区久久久久 | 久久精品久久99精品久久 | 国内毛片毛片 | 国产精品99视频 | 日韩在线观看视频中文字幕 | 国产高清视频网 | 国产专区免费 | 波多野结衣综合网 | 久久免费视频在线观看 | 国产伦理久久 | 久久精品精品电影网 | 久久不卡日韩美女 | 综合色影院 | 91香蕉视频 | 99精品在线免费观看 | 国产成人一区二区三区久久精品 | 亚洲成av人片一区二区梦乃 | 国产在线一线 | 麻豆系列在线观看 | 伊人久操 | 激情视频综合网 | 人人射人人澡 | 国产成人精品一区二区三区在线观看 | 亚洲成人精品在线观看 | 日本特黄一级 | 精品国产免费看 | 国产美女主播精品一区二区三区 | 国产精品一区二区你懂的 | 亚洲成人精品久久 | 亚洲精品国产自产拍在线观看 | 国产精品aⅴ | 97精品国产一二三产区 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 婷婷视频在线播放 | 国产精品一区二区在线观看免费 | 久久69精品 | 91人人爽久久涩噜噜噜 | 最新婷婷色 | 欧美激情视频一区二区三区 | 久久综合九色综合久久久精品综合 | 操夜夜操 | 天天操综合网站 | 欧洲不卡av| 久久精品站 | 成年人免费看av | 久久免费视频一区 | 亚洲色图av| 日本韩国精品一区二区在线观看 | 天天干天天干天天干 | 婷婷av网 | 日韩精品一区二区三区丰满 | 91精品久久久久久粉嫩 | 中文字幕91在线 | 久久99这里只有精品 | 久久久久久99精品 | 丁香婷婷综合色啪 | 天天操天天干天天摸 | 国产成人精品国内自产拍免费看 | 在线观看中文字幕dvd播放 | 99 久久久久| 久草在线精品观看 | 一区 在线观看 | 91av视频在线观看 | 国产精品一区二区中文字幕 | 久久精品美女视频网站 | 五月婷婷在线视频 | www在线免费观看 | 亚洲天堂香蕉 | 久久黄色网址 | 久久久久久久久久久影院 | 国产亚洲精品久久久久久移动网络 | 黄色的视频 | 欧美日韩亚洲第一页 | 99视频在线看| 五月婷婷久久综合 | 九九视频免费观看视频精品 | 99精品在线免费视频 | 97国产精品免费 | 国产乱码精品一区二区三区介绍 | 精品国产1区二区 | 日韩欧美视频一区二区 | 亚洲 欧美 日韩 综合 | 久久人人爽人人爽人人片 | 国产精品视频线看 | 黄色一级动作片 | 亚洲国产精品成人va在线观看 | 中文在线资源 | 亚洲国产精品资源 | 黄a在线看 | 我要色综合天天 | 高清av网站 | 韩国视频一区二区三区 | 国产视频一区二区在线观看 | 久久九九九九 | 日韩欧美在线一区 | 黄色免费观看视频 | 91福利视频免费 | 日日干网| 一区二区影院 | 日日夜夜爱 | 免费在线色电影 | 狠狠做深爱婷婷综合一区 | 91av九色 | 中文字幕av在线不卡 | 国产精品永久在线观看 | 91视频链接 | 中文字幕日韩国产 | 2024国产精品视频 | 国产成人精品一区二 | 日本精品中文字幕在线观看 | a级成人毛片 | 超碰人人草人人 | 天堂av在线网站 | 五月综合 | 欧洲亚洲国产视频 | 99色在线观看视频 | 天天激情天天干 | 国产伦精品一区二区三区无广告 | 日日干 天天干 | 三级在线国产 | 中文字幕精品一区二区三区电影 | 成人久久久电影 | 美女视频久久 | 成人黄色毛片视频 | 国产精品自产拍在线观看桃花 | 国产在线播放观看 | 成人av高清在线 | 久久一区精品 | 色综合久久五月天 | 久久国产精品一二三区 | 精品一区二区6 | 最新国产精品视频 | av超碰免费在线 | 日日夜av| 四虎在线永久免费观看 | www黄| 国产一区二区网址 | 中文字幕av专区 | 欧美韩国在线 | 一个色综合网站 | 欧美一区二区在线免费看 | 少妇视频在线播放 | 成人午夜黄色影院 | a天堂一码二码专区 | 激情欧美一区二区三区免费看 | 91传媒免费观看 | 中文字幕在线国产 | 成人av网址大全 | 国产乱码精品一区二区三区介绍 | 久久久久久久久久国产精品 | 欧美日韩精品国产 | 国产aaa免费视频 | 99在线国产 | 亚洲va在线va天堂va偷拍 | 最新日韩电影 | 国产精品高潮呻吟久久久久 | 日韩精品无码一区二区三区 | 国产日韩精品一区二区在线观看播放 | 超碰97免费观看 | 成人福利在线观看 | 在线观看中文字幕av | 伊人六月| 成人免费视频a | 欧美美女一级片 | 麻豆91在线观看 | 免费观看成年人视频 | 午夜免费久久看 | 97av在线视频免费播放 | 精品免费一区 | 国产麻豆电影在线观看 | 免费在线观看不卡av | 日韩乱码中文字幕 | 黄色一级在线观看 | 亚洲片在线 | 久久99久国产精品黄毛片入口 | 激情视频综合网 | 国产小视频福利在线 | 99热亚洲精品 | 超碰在线公开 | 久久久久高清毛片一级 | 国产伦理一区二区三区 | 亚洲自拍av在线 | 国产亚洲情侣一区二区无 | 中文av影院 | 蜜臀久久99静品久久久久久 | 91色影院 | 日韩毛片精品 | 日本精品小视频 | 久久蜜臀一区二区三区av | 中文字幕丰满人伦在线 | 男女视频91 | 一二三区高清 | 日韩免费观看一区二区三区 | 91精品国自产拍天天拍 | 天天干,天天射,天天操,天天摸 | 久久少妇免费视频 | 国产视频2 | 亚洲国产无 | 亚洲视频高清 | 国产综合小视频 | 在线观看视频亚洲 | 久久,天天综合 | 婷婷国产在线 | 最近日本mv字幕免费观看 | 免费成人av | 国产成人精品一区二区三区在线 | 夜夜狠狠| 中文字幕日本在线观看 | 色婷婷97 | 久久久99久久 | 亚洲精品999 | 精品国产自 | 天天操网 | av免费在线网站 | 成人av网页 | 欧洲性视频 | 一级黄色片网站 | 亚洲精品一区二区精华 | 亚洲97在线 | 久久97久久97精品免视看 | 久久久久北条麻妃免费看 | 在线日本v二区不卡 | 亚洲视频精品在线 | 狠狠色丁香婷婷综合最新地址 | 丝袜美女视频网站 | 国产麻豆视频在线观看 | 免费观看丰满少妇做爰 | 亚洲人人爱 | 国产精品成人av电影 | 久久久久亚洲精品中文字幕 | 日韩美女久久 | 黄色av一级片 | 999视频网站| 97视频在线观看视频免费视频 | 久久免费看视频 | 国产精品va最新国产精品视频 | 国产精品理论片在线播放 | 天天操天天爱天天爽 | 天天射天 | 91精品久 | 最新极品jizzhd欧美 | 中文字幕第一页在线视频 | 亚洲精品国产精品99久久 | 一级一片免费看 | 在线观看小视频 | 久久久久在线视频 | 亚洲国产一二三 | 亚洲成人av免费 | 99久久久国产免费 | 亚洲视频www | 久久综合免费视频 | 亚洲色综合 | 成人黄色免费在线观看 | 一 级 黄 色 片免费看的 | 日本久久综合网 | 日韩电影中文 | 午夜精品中文字幕 | 久久久免费播放 | 黄色av网站在线观看免费 | 亚洲黄色激情小说 | 欧美精品三级在线观看 | 天天射网 | 色资源在线 | 国产精品电影一区二区 | 久久99精品久久久久久清纯直播 | 色婷婷福利 | 久久男女视频 | 婷婷日日 | 婷婷四房综合激情五月 | 丁香婷婷激情 | 国产三级香港三韩国三级 | 久久久香蕉视频 | 丁香五月亚洲综合在线 | 一本一本久久a久久精品牛牛影视 | 色激情五月 | 中文字幕一二三区 | 99视频一区 | 国产一级二级三级视频 | 婷婷丁香七月 | 中文av网 | 日韩免费中文字幕 | 久久激五月天综合精品 | 欧美综合久久 | 亚洲爽爽网 | 精品专区一区二区 | 久在线 | 欧美精品久久久久久久久老牛影院 | 99热精品国产一区二区在线观看 | 欧美最新大片在线看 | 久久久久北条麻妃免费看 | 亚洲视频精品在线 | 97国产超碰在线 | 亚洲精品视频久久 | 欧美日韩国产免费视频 | 欧美日bb | 在线小视频你懂得 | av高清一区二区三区 | 亚洲高清免费在线 | 日韩性片 | 国产精品欧美一区二区三区不卡 | av黄在线播放 | 国产视频在线观看一区 | 亚洲精品小视频在线观看 | 国产精品亚洲视频 | av电影在线观看完整版一区二区 | 91视频在线免费观看 | 久久天天躁夜夜躁狠狠躁2022 | 91精品在线免费视频 | 久久久久在线 | 在线免费黄色 | 手机av永久免费 | 国产精品久久久999 国产91九色视频 | 国产97色在线 | 午夜国产一区二区 | 九九视频一区 | a久久免费视频 | 日本在线观看一区二区 | 亚洲精品影视在线观看 | 日本激情动作片免费看 | av免费在线网 | 久久精品91视频 | av电影在线观看完整版一区二区 | 欧美日韩一区二区在线观看 | 夜夜躁日日躁狠狠躁 | 亚洲精品九九 | 99精品一区二区三区 | 久久国语| 精品在线二区 | 麻豆免费在线视频 | 久久综合中文色婷婷 | a黄在线观看 | 国产香蕉97碰碰久久人人 | 国产精品av在线免费观看 | 99视频在线观看一区三区 | 日韩av手机在线看 | 日本高清中文字幕有码在线 | 一区二区三区三区在线 | 久久伊人热 | 天天天操天天天干 | 成人久久综合 | 91av在线免费播放 | 成人av片免费看 | 一区二区 不卡 | 中文字幕a∨在线乱码免费看 | 美女网站视频免费黄 | 国产色视频网站 | 中文字幕在线观看视频网站 | 9999国产精品| 日韩精品欧美一区 | 97国产精品亚洲精品 | 日韩午夜网站 | 久草在线观看资源 | 最新国产精品亚洲 | 国产精品毛片一区视频播 | 久久99久久99免费视频 | 欧美视频一区二 |