实例介绍
本项目主要是实现移动机器人多站点循环导航和自主探索建图功能,并拓展加入UI可视化界面增加导航目标和寻墙检测建图。在多站点循环导航任务中,首先要完成多点导航函数的撰写,实现单次导航任务,然后在函数中加入里程计清零环节和循环次数设定环节,最后使用UI界面实现循环次数和导航点的设定。在自主探索建图任务中,首先配置好自主避障参数,然后实现自主建图探索功能,接下来根据建图效果确立停止条件,最后完成停止条件函数的撰写。
【实例截图】
【核心代码】
移动机器人项目功能包--ROS功能包
└── 移动机器人项目功能包--ROS功能包
├── 1移动机器人项目需求.docx
├── 仿真机器人原功能包
│ └── fake_robot_pkg
│ ├── CBH_cycle_nav
│ │ ├── cycle_nav
│ │ │ ├── CMakeLists.txt
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ └── cycle_nav.cpp
│ │ ├── nav_panel
│ │ │ ├── CMakeLists.txt
│ │ │ ├── nav_panel.xml
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ ├── nav_panel.cpp
│ │ │ └── nav_panel.h
│ │ ├── nav_tool
│ │ │ ├── CMakeLists.txt
│ │ │ ├── nav_tool.xml
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ ├── nav_tool.cpp
│ │ │ └── nav_tool.h
│ │ └── README.md
│ ├── pictures
│ │ ├── cycle_goal.png
│ │ ├── nav_demo.png
│ │ ├── NavPanel.png
│ │ ├── rrt完成建图4.png
│ │ ├── rrt自主建图1.png
│ │ ├── rrt自主建图2.png
│ │ └── rrt自主建图3.png
│ ├── readme.txt
│ ├── robot_mrobot
│ │ ├── mrobot_bringup
│ │ │ ├── CMakeLists.txt
│ │ │ ├── config
│ │ │ │ └── fake_mrobot_arbotix.yaml
│ │ │ ├── include
│ │ │ │ └── mrobot_bringup
│ │ │ │ └── mrobot.h
│ │ │ ├── launch
│ │ │ │ ├── fake_laser_freenect.launch
│ │ │ │ ├── fake_mrobot_with_kinect.launch
│ │ │ │ ├── fake_mrobot_with_laser.launch
│ │ │ │ ├── freenect.launch
│ │ │ │ ├── mrobot.launch
│ │ │ │ ├── mrobot_with_camera.launch
│ │ │ │ ├── mrobot_with_kinect.launch
│ │ │ │ ├── mrobot_with_laser.launch
│ │ │ │ ├── rplidar.launch
│ │ │ │ └── usb_cam.launch
│ │ │ ├── package.xml
│ │ │ ├── scripts
│ │ │ │ ├── calibrate_angular.py
│ │ │ │ ├── calibrate_linear.py
│ │ │ │ ├── move_base_square.py
│ │ │ │ ├── nav_square.py
│ │ │ │ ├── odom_ekf.py
│ │ │ │ ├── odom_out_and_back.py
│ │ │ │ └── timed_out_and_back.py
│ │ │ └── src
│ │ │ ├── mrobot_bringup.cpp
│ │ │ └── mrobot.cpp
│ │ ├── mrobot_description
│ │ │ ├── CMakeLists.txt
│ │ │ ├── config
│ │ │ │ ├── fake_mrobot_arbotix.yaml
│ │ │ │ ├── mrobot_arbotix.rviz
│ │ │ │ ├── mrobot.rviz
│ │ │ │ └── mrobot_urdf.rviz
│ │ │ ├── launch
│ │ │ │ ├── arbotix_mrobot_with_camera.launch
│ │ │ │ ├── arbotix_mrobot_with_kinect.launch
│ │ │ │ ├── arbotix_mrobot_with_laser.launch
│ │ │ │ ├── display_mrobot_chassis_urdf.launch
│ │ │ │ ├── display_mrobot.launch
│ │ │ │ ├── display_mrobot_with_camera.launch
│ │ │ │ ├── display_mrobot_with_kinect.launch
│ │ │ │ └── display_mrobot_with_laser.launch
│ │ │ ├── meshes
│ │ │ │ ├── kinect.dae
│ │ │ │ ├── kinect.jpg
│ │ │ │ └── kinect.tga
│ │ │ ├── package.xml
│ │ │ └── urdf
│ │ │ ├── camera.xacro
│ │ │ ├── kinect.xacro
│ │ │ ├── mrobot_body.urdf.xacro
│ │ │ ├── mrobot_chassis.pdf
│ │ │ ├── mrobot_chassis.urdf
│ │ │ ├── mrobot.urdf.xacro
│ │ │ ├── mrobot_with_camera.urdf.xacro
│ │ │ ├── mrobot_with_kinect.urdf.xacro
│ │ │ ├── mrobot_with_rplidar.urdf.xacro
│ │ │ └── rplidar.xacro
│ │ ├── mrobot_gazebo
│ │ │ ├── CMakeLists.txt
│ │ │ ├── launch
│ │ │ │ ├── mrobot_kinect_nav_gazebo.launch
│ │ │ │ ├── mrobot_laser_nav_gazebo.launch
│ │ │ │ ├── view_mrobot_gazebo.launch
│ │ │ │ ├── view_mrobot_with_camera_gazebo.launch
│ │ │ │ ├── view_mrobot_with_kinect_gazebo.launch
│ │ │ │ └── view_mrobot_with_laser_gazebo.launch
│ │ │ ├── package.xml
│ │ │ ├── urdf
│ │ │ │ ├── camera.xacro
│ │ │ │ ├── kinect.xacro
│ │ │ │ ├── mrobot_body.urdf.xacro
│ │ │ │ ├── mrobot.urdf.xacro
│ │ │ │ ├── mrobot_with_camera.urdf.xacro
│ │ │ │ ├── mrobot_with_kinect.urdf.xacro
│ │ │ │ ├── mrobot_with_rplidar.urdf.xacro
│ │ │ │ └── rplidar.xacro
│ │ │ └── worlds
│ │ │ ├── cloister.world
│ │ │ ├── playground.world
│ │ │ ├── playpen.world
│ │ │ └── room.world
│ │ ├── mrobot_navigation
│ │ │ ├── CMakeLists.txt
│ │ │ ├── config
│ │ │ │ ├── fake
│ │ │ │ │ ├── base_local_planner_params.yaml
│ │ │ │ │ ├── costmap_common_params.yaml
│ │ │ │ │ ├── global_costmap_params.yaml
│ │ │ │ │ └── local_costmap_params.yaml
│ │ │ │ ├── mrobot
│ │ │ │ │ ├── base_local_planner_params.yaml
│ │ │ │ │ ├── costmap_common_params.yaml
│ │ │ │ │ ├── global_costmap_params.yaml
│ │ │ │ │ └── local_costmap_params.yaml
│ │ │ │ └── rplidar.lua
│ │ │ ├── launch
│ │ │ │ ├── amcl.launch
│ │ │ │ ├── cartographer_demo_rplidar.launch
│ │ │ │ ├── exploring_slam_demo.launch
│ │ │ │ ├── fake_move_base.launch
│ │ │ │ ├── fake_nav_cloister_demo.launch
│ │ │ │ ├── fake_nav_demo.launch
│ │ │ │ ├── gmapping_demo.launch
│ │ │ │ ├── gmapping.launch
│ │ │ │ ├── hector_demo.launch
│ │ │ │ ├── hector.launch
│ │ │ │ ├── move_base.launch
│ │ │ │ └── nav_demo.launch
│ │ │ ├── maps
│ │ │ │ ├── blank_map.pgm
│ │ │ │ ├── blank_map_with_obstacle.pgm
│ │ │ │ ├── blank_map_with_obstacle.yaml
│ │ │ │ ├── blank_map.yaml
│ │ │ │ ├── cloister_gmapping.pgm
│ │ │ │ ├── cloister_gmapping.yaml
│ │ │ │ ├── cloister_hector.pgm
│ │ │ │ ├── cloister_hector.yaml
│ │ │ │ ├── gmapping_map.pgm
│ │ │ │ ├── gmapping_map.yaml
│ │ │ │ ├── hector_map.pgm
│ │ │ │ ├── hector_map.yaml
│ │ │ │ ├── room.pgm
│ │ │ │ ├── room.yaml
│ │ │ │ ├── test_map.pgm
│ │ │ │ └── test_map.yaml
│ │ │ ├── package.xml
│ │ │ ├── rviz
│ │ │ │ ├── amcl.rviz
│ │ │ │ ├── demo_2d.rviz
│ │ │ │ ├── gmapping.rviz
│ │ │ │ └── nav.rviz
│ │ │ ├── scripts
│ │ │ │ ├── exploring_slam.py
│ │ │ │ └── random_navigation.py
│ │ │ └── src
│ │ │ └── marker_pose.cpp
│ │ └── mrobot_teleop
│ │ ├── CMakeLists.txt
│ │ ├── launch
│ │ │ ├── logitech.launch
│ │ │ └── mrobot_teleop.launch
│ │ ├── package.xml
│ │ └── scripts
│ │ └── mrobot_teleop.py
│ ├── turtlebot
│ │ ├── line_follower_turtlebot
│ │ │ ├── CMakeLists.txt
│ │ │ ├── docs
│ │ │ │ ├── config
│ │ │ │ ├── html
│ │ │ │ │ ├── annotated.html
│ │ │ │ │ ├── arrowdown.png
│ │ │ │ │ ├── arrowright.png
│ │ │ │ │ ├── bc_s.png
│ │ │ │ │ ├── bdwn.png
│ │ │ │ │ ├── classes.html
│ │ │ │ │ ├── classLineDetect.html
│ │ │ │ │ ├── classLineDetect-members.html
│ │ │ │ │ ├── classturtlebot.html
│ │ │ │ │ ├── classturtlebot-members.html
│ │ │ │ │ ├── closed.png
│ │ │ │ │ ├── detect_8cpp.html
│ │ │ │ │ ├── detect_8cpp__incl.map
│ │ │ │ │ ├── detect_8cpp__incl.md5
│ │ │ │ │ ├── detect_8cpp__incl.png
│ │ │ │ │ ├── dir_000001_000000.html
│ │ │ │ │ ├── dir_000002_000000.html
│ │ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.map
│ │ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.md5
│ │ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.png
│ │ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a.html
│ │ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map
│ │ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5
│ │ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png
│ │ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html
│ │ │ │ │ ├── dir_d44c64559bbebec7f509842c48db8b23.html
│ │ │ │ │ ├── doc.png
│ │ │ │ │ ├── doxygen.css
│ │ │ │ │ ├── doxygen.png
│ │ │ │ │ ├── dynsections.js
│ │ │ │ │ ├── files.html
│ │ │ │ │ ├── folderclosed.png
│ │ │ │ │ ├── folderopen.png
│ │ │ │ │ ├── functions_func.html
│ │ │ │ │ ├── functions.html
│ │ │ │ │ ├── functions_vars.html
│ │ │ │ │ ├── globals_func.html
│ │ │ │ │ ├── globals.html
│ │ │ │ │ ├── graph_legend.html
│ │ │ │ │ ├── graph_legend.md5
│ │ │ │ │ ├── graph_legend.png
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── linedetect_8cpp.html
│ │ │ │ │ ├── linedetect_8cpp__incl.map
│ │ │ │ │ ├── linedetect_8cpp__incl.md5
│ │ │ │ │ ├── linedetect_8cpp__incl.png
│ │ │ │ │ ├── linedetect_8hpp__dep__incl.map
│ │ │ │ │ ├── linedetect_8hpp__dep__incl.md5
│ │ │ │ │ ├── linedetect_8hpp__dep__incl.png
│ │ │ │ │ ├── linedetect_8hpp.html
│ │ │ │ │ ├── linedetect_8hpp__incl.map
│ │ │ │ │ ├── linedetect_8hpp__incl.md5
│ │ │ │ │ ├── linedetect_8hpp__incl.png
│ │ │ │ │ ├── linedetect_8hpp_source.html
│ │ │ │ │ ├── motion__node_8cpp.html
│ │ │ │ │ ├── motion__node_8cpp__incl.map
│ │ │ │ │ ├── motion__node_8cpp__incl.md5
│ │ │ │ │ ├── motion__node_8cpp__incl.png
│ │ │ │ │ ├── nav_f.png
│ │ │ │ │ ├── nav_g.png
│ │ │ │ │ ├── nav_h.png
│ │ │ │ │ ├── open.png
│ │ │ │ │ ├── search
│ │ │ │ │ │ ├── all_0.html
│ │ │ │ │ │ ├── all_0.js
│ │ │ │ │ │ ├── all_1.html
│ │ │ │ │ │ ├── all_1.js
│ │ │ │ │ │ ├── all_2.html
│ │ │ │ │ │ ├── all_2.js
│ │ │ │ │ │ ├── all_3.html
│ │ │ │ │ │ ├── all_3.js
│ │ │ │ │ │ ├── all_4.html
│ │ │ │ │ │ ├── all_4.js
│ │ │ │ │ │ ├── all_5.html
│ │ │ │ │ │ ├── all_5.js
│ │ │ │ │ │ ├── all_6.html
│ │ │ │ │ │ ├── all_6.js
│ │ │ │ │ │ ├── all_7.html
│ │ │ │ │ │ ├── all_7.js
│ │ │ │ │ │ ├── all_8.html
│ │ │ │ │ │ ├── all_8.js
│ │ │ │ │ │ ├── all_9.html
│ │ │ │ │ │ ├── all_9.js
│ │ │ │ │ │ ├── all_a.html
│ │ │ │ │ │ ├── all_a.js
│ │ │ │ │ │ ├── classes_0.html
│ │ │ │ │ │ ├── classes_0.js
│ │ │ │ │ │ ├── classes_1.html
│ │ │ │ │ │ ├── classes_1.js
│ │ │ │ │ │ ├── close.png
│ │ │ │ │ │ ├── files_0.html
│ │ │ │ │ │ ├── files_0.js
│ │ │ │ │ │ ├── files_1.html
│ │ │ │ │ │ ├── files_1.js
│ │ │ │ │ │ ├── files_2.html
│ │ │ │ │ │ ├── files_2.js
│ │ │ │ │ │ ├── files_3.html
│ │ │ │ │ │ ├── files_3.js
│ │ │ │ │ │ ├── functions_0.html
│ │ │ │ │ │ ├── functions_0.js
│ │ │ │ │ │ ├── functions_1.html
│ │ │ │ │ │ ├── functions_1.js
│ │ │ │ │ │ ├── functions_2.html
│ │ │ │ │ │ ├── functions_2.js
│ │ │ │ │ │ ├── functions_3.html
│ │ │ │ │ │ ├── functions_3.js
│ │ │ │ │ │ ├── functions_4.html
│ │ │ │ │ │ ├── functions_4.js
│ │ │ │ │ │ ├── functions_5.html
│ │ │ │ │ │ ├── functions_5.js
│ │ │ │ │ │ ├── functions_6.html
│ │ │ │ │ │ ├── functions_6.js
│ │ │ │ │ │ ├── functions_7.html
│ │ │ │ │ │ ├── functions_7.js
│ │ │ │ │ │ ├── functions_8.html
│ │ │ │ │ │ ├── functions_8.js
│ │ │ │ │ │ ├── functions_9.html
│ │ │ │ │ │ ├── functions_9.js
│ │ │ │ │ │ ├── functions_a.html
│ │ │ │ │ │ ├── functions_a.js
│ │ │ │ │ │ ├── mag_sel.png
│ │ │ │ │ │ ├── nomatches.html
│ │ │ │ │ │ ├── search.css
│ │ │ │ │ │ ├── searchdata.js
│ │ │ │ │ │ ├── search.js
│ │ │ │ │ │ ├── search_l.png
│ │ │ │ │ │ ├── search_m.png
│ │ │ │ │ │ ├── search_r.png
│ │ │ │ │ │ ├── variables_0.html
│ │ │ │ │ │ ├── variables_0.js
│ │ │ │ │ │ ├── variables_1.html
│ │ │ │ │ │ └── variables_1.js
│ │ │ │ │ ├── splitbar.png
│ │ │ │ │ ├── sync_off.png
│ │ │ │ │ ├── sync_on.png
│ │ │ │ │ ├── tab_a.png
│ │ │ │ │ ├── tab_b.png
│ │ │ │ │ ├── tab_h.png
│ │ │ │ │ ├── tabs.css
│ │ │ │ │ ├── tab_s.png
│ │ │ │ │ ├── test__detect_8cpp.html
│ │ │ │ │ ├── test__detect_8cpp__incl.map
│ │ │ │ │ ├── test__detect_8cpp__incl.md5
│ │ │ │ │ ├── test__detect_8cpp__incl.png
│ │ │ │ │ ├── test__navig_8cpp.html
│ │ │ │ │ ├── test__navig_8cpp__incl.map
│ │ │ │ │ ├── test__navig_8cpp__incl.md5
│ │ │ │ │ ├── test__navig_8cpp__incl.png
│ │ │ │ │ ├── turtlebot_8cpp.html
│ │ │ │ │ ├── turtlebot_8cpp__incl.map
│ │ │ │ │ ├── turtlebot_8cpp__incl.md5
│ │ │ │ │ ├── turtlebot_8cpp__incl.png
│ │ │ │ │ ├── turtlebot_8hpp__dep__incl.map
│ │ │ │ │ ├── turtlebot_8hpp__dep__incl.md5
│ │ │ │ │ ├── turtlebot_8hpp__dep__incl.png
│ │ │ │ │ ├── turtlebot_8hpp.html
│ │ │ │ │ ├── turtlebot_8hpp__incl.map
│ │ │ │ │ ├── turtlebot_8hpp__incl.md5
│ │ │ │ │ ├── turtlebot_8hpp__incl.png
│ │ │ │ │ └── turtlebot_8hpp_source.html
│ │ │ │ └── latex
│ │ │ │ ├── annotated.tex
│ │ │ │ ├── classLineDetect.tex
│ │ │ │ ├── classturtlebot.tex
│ │ │ │ ├── detect_8cpp__incl.md5
│ │ │ │ ├── detect_8cpp__incl.pdf
│ │ │ │ ├── detect_8cpp.tex
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.md5
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.pdf
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a.tex
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.tex
│ │ │ │ ├── dir_d44c64559bbebec7f509842c48db8b23.tex
│ │ │ │ ├── doxygen.sty
│ │ │ │ ├── files.tex
│ │ │ │ ├── linedetect_8cpp__incl.md5
│ │ │ │ ├── linedetect_8cpp__incl.pdf
│ │ │ │ ├── linedetect_8cpp.tex
│ │ │ │ ├── linedetect_8hpp__dep__incl.md5
│ │ │ │ ├── linedetect_8hpp__dep__incl.pdf
│ │ │ │ ├── linedetect_8hpp__incl.md5
│ │ │ │ ├── linedetect_8hpp__incl.pdf
│ │ │ │ ├── linedetect_8hpp.tex
│ │ │ │ ├── Makefile
│ │ │ │ ├── motion__node_8cpp__incl.md5
│ │ │ │ ├── motion__node_8cpp__incl.pdf
│ │ │ │ ├── motion__node_8cpp.tex
│ │ │ │ ├── refman.tex
│ │ │ │ ├── test__detect_8cpp__incl.md5
│ │ │ │ ├── test__detect_8cpp__incl.pdf
│ │ │ │ ├── test__detect_8cpp.tex
│ │ │ │ ├── test__navig_8cpp__incl.md5
│ │ │ │ ├── test__navig_8cpp__incl.pdf
│ │ │ │ ├── test__navig_8cpp.tex
│ │ │ │ ├── turtlebot_8cpp__incl.md5
│ │ │ │ ├── turtlebot_8cpp__incl.pdf
│ │ │ │ ├── turtlebot_8cpp.tex
│ │ │ │ ├── turtlebot_8hpp__dep__incl.md5
│ │ │ │ ├── turtlebot_8hpp__dep__incl.pdf
│ │ │ │ ├── turtlebot_8hpp__incl.md5
│ │ │ │ ├── turtlebot_8hpp__incl.pdf
│ │ │ │ └── turtlebot_8hpp.tex
│ │ │ ├── include
│ │ │ │ ├── linedetect.hpp
│ │ │ │ └── turtlebot.hpp
│ │ │ ├── launch
│ │ │ │ ├── lfred.launch
│ │ │ │ ├── lftest.launch
│ │ │ │ └── lfyellow.launch
│ │ │ ├── LICENSE.md
│ │ │ ├── Maps
│ │ │ │ ├── blue line
│ │ │ │ │ ├── model.config
│ │ │ │ │ └── model.sdf
│ │ │ │ ├── lfm1.world
│ │ │ │ ├── lfm.world
│ │ │ │ ├── red line
│ │ │ │ │ ├── model.config
│ │ │ │ │ └── model.sdf
│ │ │ │ ├── relay1.world
│ │ │ │ ├── relaybackup.world
│ │ │ │ ├── rooms
│ │ │ │ │ ├── model.config
│ │ │ │ │ └── model.sdf
│ │ │ │ ├── test1.world
│ │ │ │ └── yellow line
│ │ │ │ ├── model.config
│ │ │ │ └── model.sdf
│ │ │ ├── msg
│ │ │ │ └── pos.msg
│ │ │ ├── package.xml
│ │ │ ├── README.md
│ │ │ ├── Results
│ │ │ │ ├── BagFile.bag
│ │ │ │ ├── cppcheck_output.txt
│ │ │ │ ├── cpplint_output.txt
│ │ │ │ └── readme_images
│ │ │ │ ├── bag.png
│ │ │ │ ├── launch.png
│ │ │ │ ├── script.png
│ │ │ │ ├── view.png
│ │ │ │ └── world.png
│ │ │ ├── src
│ │ │ │ ├── detect.cpp
│ │ │ │ ├── linedetect.cpp
│ │ │ │ ├── motion_node.cpp
│ │ │ │ └── turtlebot.cpp
│ │ │ ├── test
│ │ │ │ ├── test_detect.cpp
│ │ │ │ ├── test_detect.launch
│ │ │ │ ├── test_navig.cpp
│ │ │ │ └── test_navig.launch
│ │ │ ├── test_images
│ │ │ │ ├── left_turn.png
│ │ │ │ ├── right_turn.png
│ │ │ │ ├── stop.png
│ │ │ │ └── straight.png
│ │ │ └── UML
│ │ │ ├── initial
│ │ │ │ ├── ActivityDiagram.png
│ │ │ │ └── ClassUML.png
│ │ │ └── revised
│ │ │ ├── ActivityDiagram_revised.png
│ │ │ └── ClassUML_revised.png
│ │ ├── rrt_exploration
│ │ │ ├── CMakeLists.txt
│ │ │ ├── include
│ │ │ │ ├── functions.h
│ │ │ │ └── mtrand.h
│ │ │ ├── launch
│ │ │ │ ├── simple.launch
│ │ │ │ ├── single.launch
│ │ │ │ └── three_robots.launch
│ │ │ ├── LICENSE.md
│ │ │ ├── msg
│ │ │ │ └── PointArray.msg
│ │ │ ├── package.xml
│ │ │ ├── README.md
│ │ │ ├── readme.txt
│ │ │ ├── scripts
│ │ │ │ ├── assigner.py
│ │ │ │ ├── filter.py
│ │ │ │ ├── frontier_opencv_detector.py
│ │ │ │ ├── functions.py
│ │ │ │ ├── functions.pyc
│ │ │ │ └── getfrontier.py
│ │ │ └── src
│ │ │ ├── functions.cpp
│ │ │ ├── global_rrt_detector.cpp
│ │ │ ├── local_rrt_detector.cpp
│ │ │ └── mtrand.cpp
│ │ ├── rrt_exploration_tutorials
│ │ │ ├── CMakeLists.txt
│ │ │ ├── launch
│ │ │ │ ├── includes
│ │ │ │ │ ├── initposes.launch
│ │ │ │ │ ├── map_merge.launch
│ │ │ │ │ ├── meshes
│ │ │ │ │ │ ├── hokuyo.dae
│ │ │ │ │ │ ├── images
│ │ │ │ │ │ │ ├── main_body.jpg
│ │ │ │ │ │ │ └── wheel.jpg
│ │ │ │ │ │ ├── largeMap.dae
│ │ │ │ │ │ ├── main_body.dae
│ │ │ │ │ │ ├── MTR_map.dae
│ │ │ │ │ │ └── wheel.dae
│ │ │ │ │ ├── move_baseSafe.launch
│ │ │ │ │ ├── robot.launch.xml
│ │ │ │ │ ├── rviz_config
│ │ │ │ │ │ ├── single2.rviz
│ │ │ │ │ │ ├── single.rviz
│ │ │ │ │ │ ├── testing.rviz
│ │ │ │ │ │ ├── three.rviz
│ │ │ │ │ │ └── two.rviz
│ │ │ │ │ ├── urdf
│ │ │ │ │ │ ├── common_properties.urdf.xacro
│ │ │ │ │ │ ├── kobuki_gazebo.urdf.xacro
│ │ │ │ │ │ ├── kobuki_standalone.urdf.xacro
│ │ │ │ │ │ └── kobuki.urdf.xacro
│ │ │ │ │ └── worlds
│ │ │ │ │ ├── house.world
│ │ │ │ │ ├── largeMap.world
│ │ │ │ │ └── MTR.world
│ │ │ │ ├── mutliple_simulated_house.launch
│ │ │ │ ├── mutliple_simulated_largeMap.launch
│ │ │ │ ├── mutliple_simulated_MTR.launch
│ │ │ │ ├── single_simulated_house.launch
│ │ │ │ ├── single_simulated_largeMap.launch
│ │ │ │ └── single_simulated_MTR.launch
│ │ │ ├── package.xml
│ │ │ ├── param
│ │ │ │ ├── base_local_planner_params.yaml
│ │ │ │ ├── costmap_common_params.yaml
│ │ │ │ ├── global_costmap_params.yaml
│ │ │ │ └── local_costmap_params.yaml
│ │ │ └── README.md
│ │ └── turtlebot_rrt
│ │ ├── CMakeLists.txt
│ │ ├── config
│ │ │ ├── move_base_params.yaml
│ │ │ └── rrt_global_planner_params.yaml
│ │ ├── docs
│ │ │ ├── html
│ │ │ │ ├── annotated_dup.js
│ │ │ │ ├── annotated.html
│ │ │ │ ├── arrowdown.png
│ │ │ │ ├── arrowright.png
│ │ │ │ ├── bc_s.png
│ │ │ │ ├── bdwn.png
│ │ │ │ ├── classes.html
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner__coll__graph.map
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner__coll__graph.md5
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner__coll__graph.png
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner.html
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner__inherit__graph.map
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner__inherit__graph.md5
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner__inherit__graph.png
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner.js
│ │ │ │ ├── classturtlebot__rrt_1_1_r_r_t_planner-members.html
│ │ │ │ ├── classturtlebot__rrt_1_1_vertex.html
│ │ │ │ ├── classturtlebot__rrt_1_1_vertex.js
│ │ │ │ ├── classturtlebot__rrt_1_1_vertex-members.html
│ │ │ │ ├── closed.png
│ │ │ │ ├── _c_make_c_compiler_id_8c.html
│ │ │ │ ├── _c_make_c_compiler_id_8c.js
│ │ │ │ ├── _c_make_c_x_x_compiler_id_8cpp.html
│ │ │ │ ├── _c_make_c_x_x_compiler_id_8cpp.js
│ │ │ │ ├── cpp__standard__headers__indexer_8cpp.html
│ │ │ │ ├── c__standard__headers__indexer_8c.html
│ │ │ │ ├── c__standard__headers__indexer_8c__incl.map
│ │ │ │ ├── c__standard__headers__indexer_8c__incl.md5
│ │ │ │ ├── c__standard__headers__indexer_8c__incl.png
│ │ │ │ ├── dir_000008_000004.html
│ │ │ │ ├── dir_000009_000004.html
│ │ │ │ ├── dir_017ad5e908c41501f6a06b5119b37293.html
│ │ │ │ ├── dir_017ad5e908c41501f6a06b5119b37293.js
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.map
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.md5
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a_dep.png
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a.html
│ │ │ │ ├── dir_13e138d54eb8818da29c3992edef070a.js
│ │ │ │ ├── dir_2c333aeabd346f33518e235a93545ab3.html
│ │ │ │ ├── dir_2c333aeabd346f33518e235a93545ab3.js
│ │ │ │ ├── dir_34e32b2767b9a66498b8d81e5df7818f.html
│ │ │ │ ├── dir_34e32b2767b9a66498b8d81e5df7818f.js
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html
│ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.js
│ │ │ │ ├── dir_cd3db5597f2261188045d3f032b6e500.html
│ │ │ │ ├── dir_cd3db5597f2261188045d3f032b6e500.js
│ │ │ │ ├── dir_d44c64559bbebec7f509842c48db8b23.html
│ │ │ │ ├── dir_d44c64559bbebec7f509842c48db8b23.js
│ │ │ │ ├── dir_d7cd8a5d445ac91d049efea6ee2e7c69.html
│ │ │ │ ├── dir_d7cd8a5d445ac91d049efea6ee2e7c69.js
│ │ │ │ ├── dir_dec13c9416df15bd5a92c365c23769ba.html
│ │ │ │ ├── dir_dec13c9416df15bd5a92c365c23769ba.js
│ │ │ │ ├── dir_f23a14af306a253ec22f027bb70b8c4d.html
│ │ │ │ ├── dir_f23a14af306a253ec22f027bb70b8c4d.js
│ │ │ │ ├── doc.png
│ │ │ │ ├── doxygen.css
│ │ │ │ ├── doxygen.png
│ │ │ │ ├── dynsections.js
│ │ │ │ ├── feature__tests_8c.html
│ │ │ │ ├── feature__tests_8c.js
│ │ │ │ ├── feature__tests_8cxx.html
│ │ │ │ ├── feature__tests_8cxx.js
│ │ │ │ ├── files.html
│ │ │ │ ├── files.js
│ │ │ │ ├── folderclosed.png
│ │ │ │ ├── folderopen.png
│ │ │ │ ├── functions_func.html
│ │ │ │ ├── functions.html
│ │ │ │ ├── globals_defs.html
│ │ │ │ ├── globals_func.html
│ │ │ │ ├── globals.html
│ │ │ │ ├── globals_vars.html
│ │ │ │ ├── graph_legend.html
│ │ │ │ ├── graph_legend.md5
│ │ │ │ ├── graph_legend.png
│ │ │ │ ├── hierarchy.html
│ │ │ │ ├── hierarchy.js
│ │ │ │ ├── index.html
│ │ │ │ ├── inherit_graph_0.map
│ │ │ │ ├── inherit_graph_0.md5
│ │ │ │ ├── inherit_graph_0.png
│ │ │ │ ├── inherit_graph_1.map
│ │ │ │ ├── inherit_graph_1.md5
│ │ │ │ ├── inherit_graph_1.png
│ │ │ │ ├── inherits.html
│ │ │ │ ├── jquery.js
│ │ │ │ ├── _m_a_p___c_o_n_v_e_r_s_i_o_n_8md.html
│ │ │ │ ├── md_docs_MAP_CONVERSION.html
│ │ │ │ ├── md_docs_README_DEPENDENCIES.html
│ │ │ │ ├── md_README.html
│ │ │ │ ├── namespaces.html
│ │ │ │ ├── namespaces.js
│ │ │ │ ├── namespaceturtlebot__rrt.html
│ │ │ │ ├── namespaceturtlebot__rrt.js
│ │ │ │ ├── nav_f.png
│ │ │ │ ├── nav_g.png
│ │ │ │ ├── nav_h.png
│ │ │ │ ├── navtree.css
│ │ │ │ ├── navtreedata.js
│ │ │ │ ├── navtreeindex0.js
│ │ │ │ ├── navtree.js
│ │ │ │ ├── open.png
│ │ │ │ ├── pages.html
│ │ │ │ ├── _r_e_a_d_m_e_8md.html
│ │ │ │ ├── _r_e_a_d_m_e___d_e_p_e_n_d_e_n_c_i_e_s_8md.html
│ │ │ │ ├── resize.js
│ │ │ │ ├── search
│ │ │ │ │ ├── all_0.html
│ │ │ │ │ ├── all_0.js
│ │ │ │ │ ├── all_1.html
│ │ │ │ │ ├── all_1.js
│ │ │ │ │ ├── all_2.html
│ │ │ │ │ ├── all_2.js
│ │ │ │ │ ├── all_3.html
│ │ │ │ │ ├── all_3.js
│ │ │ │ │ ├── all_4.html
│ │ │ │ │ ├── all_4.js
│ │ │ │ │ ├── all_5.html
│ │ │ │ │ ├── all_5.js
│ │ │ │ │ ├── all_6.html
│ │ │ │ │ ├── all_6.js
│ │ │ │ │ ├── all_7.html
│ │ │ │ │ ├── all_7.js
│ │ │ │ │ ├── all_8.html
│ │ │ │ │ ├── all_8.js
│ │ │ │ │ ├── all_9.html
│ │ │ │ │ ├── all_9.js
│ │ │ │ │ ├── all_a.html
│ │ │ │ │ ├── all_a.js
│ │ │ │ │ ├── all_b.html
│ │ │ │ │ ├── all_b.js
│ │ │ │ │ ├── all_c.html
│ │ │ │ │ ├── all_c.js
│ │ │ │ │ ├── all_d.html
│ │ │ │ │ ├── all_d.js
│ │ │ │ │ ├── classes_0.html
│ │ │ │ │ ├── classes_0.js
│ │ │ │ │ ├── classes_1.html
│ │ │ │ │ ├── classes_1.js
│ │ │ │ │ ├── close.png
│ │ │ │ │ ├── defines_0.html
│ │ │ │ │ ├── defines_0.js
│ │ │ │ │ ├── defines_1.html
│ │ │ │ │ ├── defines_1.js
│ │ │ │ │ ├── defines_2.html
│ │ │ │ │ ├── defines_2.js
│ │ │ │ │ ├── defines_3.html
│ │ │ │ │ ├── defines_3.js
│ │ │ │ │ ├── defines_4.html
│ │ │ │ │ ├── defines_4.js
│ │ │ │ │ ├── defines_5.html
│ │ │ │ │ ├── defines_5.js
│ │ │ │ │ ├── files_0.html
│ │ │ │ │ ├── files_0.js
│ │ │ │ │ ├── files_1.html
│ │ │ │ │ ├── files_1.js
│ │ │ │ │ ├── files_2.html
│ │ │ │ │ ├── files_2.js
│ │ │ │ │ ├── files_3.html
│ │ │ │ │ ├── files_3.js
│ │ │ │ │ ├── files_4.html
│ │ │ │ │ ├── files_4.js
│ │ │ │ │ ├── files_5.html
│ │ │ │ │ ├── files_5.js
│ │ │ │ │ ├── functions_0.html
│ │ │ │ │ ├── functions_0.js
│ │ │ │ │ ├── functions_1.html
│ │ │ │ │ ├── functions_1.js
│ │ │ │ │ ├── functions_2.html
│ │ │ │ │ ├── functions_2.js
│ │ │ │ │ ├── functions_3.html
│ │ │ │ │ ├── functions_3.js
│ │ │ │ │ ├── functions_4.html
│ │ │ │ │ ├── functions_4.js
│ │ │ │ │ ├── functions_5.html
│ │ │ │ │ ├── functions_5.js
│ │ │ │ │ ├── functions_6.html
│ │ │ │ │ ├── functions_6.js
│ │ │ │ │ ├── mag_sel.png
│ │ │ │ │ ├── namespaces_0.html
│ │ │ │ │ ├── namespaces_0.js
│ │ │ │ │ ├── nomatches.html
│ │ │ │ │ ├── pages_0.html
│ │ │ │ │ ├── pages_0.js
│ │ │ │ │ ├── pages_1.html
│ │ │ │ │ ├── pages_1.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ ├── searchdata.js
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── search_l.png
│ │ │ │ │ ├── search_m.png
│ │ │ │ │ ├── search_r.png
│ │ │ │ │ ├── variables_0.html
│ │ │ │ │ ├── variables_0.js
│ │ │ │ │ ├── variables_1.html
│ │ │ │ │ └── variables_1.js
│ │ │ │ ├── splitbar.png
│ │ │ │ ├── sync_off.png
│ │ │ │ ├── sync_on.png
│ │ │ │ ├── tab_a.png
│ │ │ │ ├── tab_b.png
│ │ │ │ ├── tab_h.png
│ │ │ │ ├── tabs.css
│ │ │ │ ├── tab_s.png
│ │ │ │ ├── turtlebot__rrt_8cc.html
│ │ │ │ ├── turtlebot__rrt_8cc__incl.map
│ │ │ │ ├── turtlebot__rrt_8cc__incl.md5
│ │ │ │ ├── turtlebot__rrt_8cc__incl.png
│ │ │ │ ├── turtlebot__rrt_8h__dep__incl.map
│ │ │ │ ├── turtlebot__rrt_8h__dep__incl.md5
│ │ │ │ ├── turtlebot__rrt_8h__dep__incl.png
│ │ │ │ ├── turtlebot__rrt_8h.html
│ │ │ │ ├── turtlebot__rrt_8h__incl.map
│ │ │ │ ├── turtlebot__rrt_8h__incl.md5
│ │ │ │ ├── turtlebot__rrt_8h__incl.png
│ │ │ │ ├── turtlebot__rrt_8h_source.html
│ │ │ │ ├── turtlebotrrt__test_8cc.html
│ │ │ │ ├── turtlebotrrt__test_8cc__incl.map
│ │ │ │ ├── turtlebotrrt__test_8cc__incl.md5
│ │ │ │ ├── turtlebotrrt__test_8cc__incl.png
│ │ │ │ ├── turtlebotrrt__test_8cc.js
│ │ │ │ ├── vertex_8cc.html
│ │ │ │ ├── vertex_8cc__incl.map
│ │ │ │ ├── vertex_8cc__incl.md5
│ │ │ │ ├── vertex_8cc__incl.png
│ │ │ │ ├── vertex_8h__dep__incl.map
│ │ │ │ ├── vertex_8h__dep__incl.md5
│ │ │ │ ├── vertex_8h__dep__incl.png
│ │ │ │ ├── vertex_8h.html
│ │ │ │ ├── vertex_8h__incl.map
│ │ │ │ ├── vertex_8h__incl.md5
│ │ │ │ ├── vertex_8h__incl.png
│ │ │ │ └── vertex_8h_source.html
│ │ │ ├── images
│ │ │ │ ├── simple_maze_2d.png
│ │ │ │ ├── simple_maze_gazebo.png
│ │ │ │ └── turtlebot_rrt_demo.png
│ │ │ ├── MAP_CONVERSION.md
│ │ │ └── README_DEPENDENCIES.md
│ │ ├── include
│ │ │ └── turtlebot_rrt
│ │ │ ├── turtlebot_rrt.h
│ │ │ └── vertex.h
│ │ ├── launch
│ │ │ ├── includes
│ │ │ │ ├── amcl.launch.xml
│ │ │ │ └── move_base.launch.xml
│ │ │ └── rrt_planner.launch
│ │ ├── LICENSE
│ │ ├── maps
│ │ │ ├── simple_maze.pgm
│ │ │ ├── simple_maze.rviz
│ │ │ ├── simple_maze.world
│ │ │ └── simple_maze.yaml
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── results
│ │ │ ├── cppcheck_results.txt
│ │ │ └── cpplint_output.txt
│ │ ├── rrt_planner_plugin.xml
│ │ ├── src
│ │ │ ├── turtlebot_rrt.cc
│ │ │ └── vertex.cc
│ │ ├── test
│ │ │ ├── rrtpath_test.cc
│ │ │ └── vertex_test.cc
│ │ └── UML
│ │ ├── Initial
│ │ │ ├── activity_diagram_obstacle_avoidance.jpg
│ │ │ ├── activity_diagram_RRT.jpg
│ │ │ ├── class_diagram_RRTPlanner.jpeg
│ │ │ └── class_diagram_vertex.jpeg
│ │ └── Revised
│ │ ├── class_diagram_RRTPlanner.jpeg
│ │ ├── class_diagram_Vertex.jpeg
│ │ └── turtlebot_rrt_activity_diagram_revised.png
│ └── 插件加载说明
│ ├── 加载panel.png
│ ├── 加载tool.png
│ ├── 加载完成界面.png
│ └── 插件加载说明.txt
├── 真实机器人原功能包
│ └── CBH
│ ├── cbh
│ │ ├── CMakeLists.txt
│ │ ├── configs
│ │ │ ├── base_local_planner_params.yaml
│ │ │ ├── costmap_common_params.yaml
│ │ │ ├── global_costmap_params.yaml
│ │ │ ├── local_costmap_params.yaml
│ │ │ ├── nav
│ │ │ │ ├── base_local_planner_params.yaml
│ │ │ │ ├── costmap_common_params.yaml
│ │ │ │ ├── global_costmap_params.yaml
│ │ │ │ └── local_costmap_params.yaml
│ │ │ └── nav.rviz
│ │ ├── launch
│ │ │ ├── CBH_amcl.launch
│ │ │ ├── CBH_gmapping_all.launch
│ │ │ ├── CBH_gmapping.launch
│ │ │ ├── CBH_move_base.launch
│ │ │ ├── CBH_movebase.launch
│ │ │ ├── CBH_navigation.launch
│ │ │ ├── CBH_selfexplore.launch
│ │ │ └── filter.launch
│ │ ├── maps
│ │ │ ├── CBH_gmapping_map1.map.pgm
│ │ │ ├── CBH_gmapping_map1.map.yaml
│ │ │ ├── last_map.png
│ │ │ └── last_map.yaml
│ │ ├── package.xml
│ │ └── src
│ │ ├── CBH_marker.cpp
│ │ ├── CBH_move_base.cpp
│ │ └── Pose_init_lichao.cpp
│ ├── CBH_cycle_nav
│ │ ├── cycle_nav
│ │ │ ├── CMakeLists.txt
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ └── cycle_nav.cpp
│ │ ├── nav_panel
│ │ │ ├── CMakeLists.txt
│ │ │ ├── nav_panel.xml
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ ├── nav_panel.cpp
│ │ │ └── nav_panel.h
│ │ ├── nav_tool
│ │ │ ├── CMakeLists.txt
│ │ │ ├── nav_tool.xml
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ ├── nav_tool.cpp
│ │ │ └── nav_tool.h
│ │ └── README.md
│ ├── depthimage_to_laserscan
│ │ ├── cfg
│ │ │ └── Depth.cfg
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── depthimage_to_laserscan
│ │ │ ├── DepthImageToLaserScan.h
│ │ │ ├── DepthImageToLaserScanROS.h
│ │ │ └── depth_traits.h
│ │ ├── mainpage.dox
│ │ ├── nodelets.xml
│ │ ├── package.xml
│ │ ├── README.md
│ │ ├── src
│ │ │ ├── depthimage_to_laserscan.cpp
│ │ │ ├── DepthImageToLaserScan.cpp
│ │ │ ├── DepthImageToLaserScanNodelet.cpp
│ │ │ └── DepthImageToLaserScanROS.cpp
│ │ └── test
│ │ ├── depthimage_to_laserscan_rostest.cpp
│ │ ├── DepthImageToLaserScanTest.cpp
│ │ └── rostest
│ │ └── depthimage_to_laserscan.test
│ ├── pictures
│ │ ├── cycle_goal.png
│ │ ├── nav_demo.png
│ │ ├── NavPanel.png
│ │ └── rrt.png
│ ├── pointcloud_to_laserscan
│ │ ├── CHANGELOG.rst
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ └── pointcloud_to_laserscan
│ │ │ └── pointcloud_to_laserscan_nodelet.h
│ │ ├── launch
│ │ │ ├── sample_node.launch
│ │ │ └── sample_nodelet.launch
│ │ ├── nodelets.xml
│ │ ├── package.xml
│ │ └── src
│ │ ├── pointcloud_to_laserscan_node.cpp
│ │ └── pointcloud_to_laserscan_nodelet.cpp
│ ├── readme.txt
│ └── rrt_exploration
│ ├── CMakeLists.txt
│ ├── include
│ │ ├── functions.h
│ │ └── mtrand.h
│ ├── launch
│ │ ├── simple.launch
│ │ ├── single.launch
│ │ └── three_robots.launch
│ ├── LICENSE.md
│ ├── msg
│ │ └── PointArray.msg
│ ├── package.xml
│ ├── README.md
│ ├── scripts
│ │ ├── assigner.py
│ │ ├── filter.py
│ │ ├── frontier_opencv_detector.py
│ │ ├── functions.py
│ │ ├── functions.pyc
│ │ └── getfrontier.py
│ └── src
│ ├── functions.cpp
│ ├── global_rrt_detector.cpp
│ ├── local_rrt_detector.cpp
│ ├── mtrand.cpp
│ └── my_rrt.cpp
└── 移动机器人项目组项目总结.docx
129 directories, 817 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论