视频链接:
中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili
中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili
另外有一个不错的 学习网址:
http://www.autolabor.com.cn/book/ROSTutorials
本文是截图和文字大部分摘抄自网络,如果有侵权请联系及时删除!
看完了古月居的ros教学视频后,又来看看中科院的ros视频视频,在看博客的时候有人把古月居的21讲做成了简单的博客,感觉很赞,所以我也模仿着做。希望对初学者有帮助。大家一起共同进步!
1、机器人相关的背景介绍
这里省略
2、ros起源,版本介绍
ros起源,这里省略
ros是什么:机器人软件系统架构,框架+工具+功能+社区。
框架:分布式+进程管理+进程间通信
ros中的节点(Node)类似进程,在ros中我们一般不说进程,一般说节点这概念,如果有人告诉你我这个机器人跑起来启动7、8个节点,那就是说有七八个进程在运行。
分布式架构好处,扩展性好,软件复用率高,比如更改雷达,只有更改雷达节点就可以了。
工具:rviz,Gazebo,rqt
功能:
社区:
ros相关的学习网站:
3、机器人与ros演示
4、ros安装和配置
主要使用官方提供的网站按步骤安装就可以了:
kinetic/Installation/Ubuntu - ROS Wiki
重德智能开源库(此视频开源库):
https://github.com/DroidAITech
https://github.com/DroidAITech/ROS-Academy-for-Beginners
开发环境使用:roboware studio
5、Catkin工作空间和编译系统
catkin:ros定制的编译构建系统,对cmake的扩展。
创建工作空间教程:
catkin/Tutorials/create_a_workspace - ROS Wiki
步骤如下:
$ source /opt/ros/noetic/setup.bash
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
//$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
$ source devel/setup.bash
$ echo $ROS_PACKAGE_PATH
/home/youruser/catkin_ws/src:/opt/ros/kinetic/share
这里穿插自己的理解:
根据自己的理解,ros工作空间就是类似c++的工程项目名称。只是工作空间有一定的格式要求,实践表明catkin_ws这个文件夹的名称可以自己命名,不一定要用catkin_ws,但src这个文件夹一定要有,并且不可自己命名,也有可能可以自己命名,只是我自己没用对方法。有知道的朋友可以在评论区留言。
6、功能包
(1)cmake简单介绍
如果没有cmake基础的可以去看《cmake实践》 ,好像和《CMake Practice》是同一本书只是不同叫法或者是中英文叫法而已。
(2)package.xml简单介绍
(3)代码文件
一般代码文件可以是脚本(shell、Python)或者C++文件。
package结构示意图:
package还有有自定义通信格式的文件,包括消息(msg),服务(srv),动作(action)等
这时候package结构就像下面这样了
package还有launch文件,配置文件(yaml)。launch用于每次可以运行多个可执行文件。
这时候package结构图如下
总体框架(视频缺少config文件,我添加上去了)
(4)常用指令
7、操作演示,catkin工作空间探索
安装一个比较好用的,查看代码层次的工具:tree
sudo apt-get install tree
可以直接使用tree,这时候将列出所有的文件,这里只复制了一部分没有全部复制完。
$ tree
.
├── build
│ ├── atomic_configure
│ │ ├── env.sh
│ │ ├── local_setup.bash
│ │ ├── local_setup.sh
│ │ ├── local_setup.zsh
│ │ ├── setup.bash
│ │ ├── setup.sh
│ │ ├── _setup_util.py
│ │ └── setup.zsh
│ ├── catkin
│ │ └── catkin_generated
│ │ └── version
│ │ └── package.cmake
如果只想看展开一层的文件夹可以用 tree -L 1,这里就不详细列出来,可以用tree --help查看tree的使用方法
$ tree -L 1
.
├── build
├── devel
└── src
$ tree --help
usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-H baseHREF] [-T title ]
[-L level [-R]] [-P pattern] [-I pattern] [-o filename] [--version]
[--help] [--inodes] [--device] [--noreport] [--nolinks] [--dirsfirst]
[--charset charset] [--filelimit[=]#] [--si] [--timefmt[=]<f>]
[--sort[=]<name>] [--matchdirs] [--ignore-case] [--] [<directory list>]
------- Listing options -------
-a All files are listed.
-d List directories only.
-l Follow symbolic links like directories.
-f Print the full path prefix for each file.
-x Stay on current filesystem only.
-L level Descend only level directories deep.
-R Rerun tree when max dir level reached.
-P pattern List only those files that match the pattern given.
-I pattern Do not list files that match the given pattern.
--ignore-case Ignore case when pattern matching.
--matchdirs Include directory names in -P pattern matching.
--noreport Turn off file/directory count at end of tree listing.
--charset X Use charset X for terminal/HTML and indentation line output.
--filelimit # Do not descend dirs with more than # files in them.
--timefmt <f> Print and format time according to the format <f>.
-o filename Output to file instead of stdout.
-------- File options ---------
-q Print non-printable characters as '?'.
-N Print non-printable characters as is.
-Q Quote filenames with double quotes.
-p Print the protections for each file.
-u Displays file owner or UID number.
-g Displays file group owner or GID number.
-s Print the size in bytes of each file.
-h Print the size in a more human readable way.
--si Like -h, but use in SI units (powers of 1000).
-D Print the date of last modification or (-c) status change.
-F Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
--inodes Print inode number of each file.
--device Print device ID number to which each file belongs.
------- Sorting options -------
-v Sort files alphanumerically by version.
-t Sort files by last modification time.
-c Sort files by last status change time.
-U Leave files unsorted.
-r Reverse the order of the sort.
--dirsfirst List directories before files (-U disables).
--sort X Select sort: name,version,size,mtime,ctime.
------- Graphics options ------
-i Don't print indentation lines.
-A Print ANSI lines graphic indentation lines.
-S Print with CP437 (console) graphics indentation lines.
-n Turn colorization off always (-C overrides).
-C Turn colorization on always.
------- XML/HTML/JSON options -------
-X Prints out an XML representation of the tree.
-J Prints out an JSON representation of the tree.
-H baseHREF Prints out HTML format with baseHREF as top directory.
-T string Replace the default HTML title and H1 header with string.
--nolinks Turn off hyperlinks in HTML output.
---- Miscellaneous options ----
--version Print version and exit.
--help Print usage and this help message and exit.
-- Options processing terminator.
8 P10 master和node
master相当一个管家,用来管理各个节点
master管理node之间的通讯示意图
启动roscore
节点相当一个个程序
node启动命令
ros提供了启动多个节点的方法:roslaunch
launch文件书写规则
pr2机器人要启动的节点
9 P11 操作演示
(1)克隆或下载ROS-Academy-for-Beginners教学包到工作空间的/src
目录下,例如 ~/catkin_ws/src
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
(2)安装教学包所需的依赖(如果不成功可以直接跳到第三步)
$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
(3)编译并刷新环境
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
其中(1)(2)(3)是视频中的步骤,但我根据这个步骤,在第2个不知就是不成功,不清楚为什么不成功。
所以就自己安装依赖了。具体见我另一篇博文链接:
也就是说第二步不成功没事直接跳到第3步,遇到什么问题具体解决问题。
(4)升级Gazebo,请查看我的另一篇博文
https://blog.csdn.net/lxj362343/article/details/119415719
(5)运行仿真
$ roslaunch robot_sim_demo robot_spawn.launch
运行后可以看到仿真环境
在终端中可以看到日志中输出一些信息,其中有parameters是参数服务器,可以看到启动了很多参数服务器
另外还可以看到有一些node,这些就是节点
还可以看到一些进程(process)相关的信息,比如rosout-1,比如master,gazebo-2等等
可以使用命令查看一些信息:
#查看节点信息
$ rosnode list
/gazebo
/gazebo_gui
/mobile_base_nodelet_manager
/rosout
/xbot/robot_state_publisher
但是这个时候会有红色的报错
[ERROR] [1632062295.893197079]: Failed to load nodelet [/cmd_vel_mux] of type [yocs_cmd_vel_mux/CmdVelMuxNodelet] even after refreshing the cache: According to the loaded plugin descriptions the class yocs_cmd_vel_mux/CmdVelMuxNodelet with base class type nodelet::Nodelet does not exist. Declared types are SlamGMappingNodelet depth_image_proc/convert_metric depth_image_proc/crop_foremost depth_image_proc/disparity depth_image_proc/point_cloud_xyz depth_image_proc/point_cloud_xyz_radial depth_image_proc/point_cloud_xyzi depth_image_proc/point_cloud_xyzi_radial depth_image_proc/point_cloud_xyzrgb depth_image_proc/register image_proc/crop_decimate image_proc/crop_nonZero image_proc/crop_non_zero image_proc/debayer image_proc/rectify image_proc/resize image_publisher/image_publisher image_rotate/image_rotate image_view/disparity image_view/image nodelet_tutorial_math/Plus pcl/BAGReader pcl/BoundaryEstimation pcl/ConvexHull2D pcl/CropBox pcl/EuclideanClusterExtraction pcl/ExtractIndices pcl/ExtractPolygonalPrismData pcl/FPFHEstimation pcl/FPFHEstimationOMP pcl/MomentInvariantsEstimation pcl/MovingLeastSquares pcl/NodeletDEMUX pcl/NodeletMUX pcl/NormalEstimation pcl/NormalEstimationOMP pcl/NormalEstimationTBB pcl/PCDReader pcl/PCDWriter pcl/PFHEstimation pcl/PassThrough pcl/PointCloudConcatenateDataSynchronizer pcl/PointCloudConcatenateFieldsSynchronizer pcl/PrincipalCurvaturesEstimation pcl/ProjectInliers pcl/RadiusOutlierRemoval pcl/SACSegmentation pcl/SACSegmentationFromNormals pcl/SHOTEstimation pcl/SHOTEstimationOMP pcl/SegmentDifferences pcl/StatisticalOutlierRemoval pcl/VFHEstimation pcl/VoxelGrid stereo_image_proc/disparity stereo_image_proc/point_cloud2
[ERROR] [1632062295.893287483]: The error before refreshing the cache was: According to the loaded plugin descriptions the class yocs_cmd_vel_mux/CmdVelMuxNodelet with base class type nodelet::Nodelet does not exist. Declared types are SlamGMappingNodelet depth_image_proc/convert_metric depth_image_proc/crop_foremost depth_image_proc/disparity depth_image_proc/point_cloud_xyz depth_image_proc/point_cloud_xyz_radial depth_image_proc/point_cloud_xyzi depth_image_proc/point_cloud_xyzi_radial depth_image_proc/point_cloud_xyzrgb depth_image_proc/register image_proc/crop_decimate image_proc/crop_nonZero image_proc/crop_non_zero image_proc/debayer image_proc/rectify image_proc/resize image_publisher/image_publisher image_rotate/image_rotate image_view/disparity image_view/image nodelet_tutorial_math/Plus pcl/BAGReader pcl/BoundaryEstimation pcl/ConvexHull2D pcl/CropBox pcl/EuclideanClusterExtraction pcl/ExtractIndices pcl/ExtractPolygonalPrismData pcl/FPFHEstimation pcl/FPFHEstimationOMP pcl/MomentInvariantsEstimation pcl/MovingLeastSquares pcl/NodeletDEMUX pcl/NodeletMUX pcl/NormalEstimation pcl/NormalEstimationOMP pcl/NormalEstimationTBB pcl/PCDReader pcl/PCDWriter pcl/PFHEstimation pcl/PassThrough pcl/PointCloudConcatenateDataSynchronizer pcl/PointCloudConcatenateFieldsSynchronizer pcl/PrincipalCurvaturesEstimation pcl/ProjectInliers pcl/RadiusOutlierRemoval pcl/SACSegmentation pcl/SACSegmentationFromNormals pcl/SHOTEstimation pcl/SHOTEstimationOMP pcl/SegmentDifferences pcl/StatisticalOutlierRemoval pcl/VFHEstimation pcl/VoxelGrid stereo_image_proc/disparity stereo_image_proc/point_cloud2
[FATAL] [1632062295.922054614]: Failed to load nodelet '/cmd_vel_mux` of type `yocs_cmd_vel_mux/CmdVelMuxNodelet` to manager `mobile_base_nodelet_manager'
[cmd_vel_mux-8] process has died [pid 19393, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load yocs_cmd_vel_mux/CmdVelMuxNodelet mobile_base_nodelet_manager cmd_vel_mux/output/cmd_vel:=cmd_vel __name:=cmd_vel_mux
遇到这个 不用慌,安装一些东西,这个要感谢一个博主文章:
https://blog.csdn.net/ldk3679/article/details/105652014/
以下是安装的指令
sudo apt-get install ros-kinetic-yocs-cmd-vel-mux
查看rostopic:
$rostopic list
#可以看到有以下topic
/camera/depth/camera_info
/camera/depth/image_raw
/camera/depth/points
/camera/parameter_descriptions
/camera/parameter_updates
/camera/rgb/camera_info
/camera/rgb/image_raw
/camera/rgb/image_raw/compressed
/camera/rgb/image_raw/compressed/parameter_descriptions
/camera/rgb/image_raw/compressed/parameter_updates
/camera/rgb/image_raw/compressedDepth
/camera/rgb/image_raw/compressedDepth/parameter_descriptions
/camera/rgb/image_raw/compressedDepth/parameter_updates
/camera/rgb/image_raw/theora
/camera/rgb/image_raw/theora/parameter_descriptions
/camera/rgb/image_raw/theora/parameter_updates
/clock
/cmd_vel
/cmd_vel_mux/active
/cmd_vel_mux/input/avoid
/cmd_vel_mux/input/navi
/cmd_vel_mux/input/safety_controller
/cmd_vel_mux/input/switch
/cmd_vel_mux/input/teleop
/cmd_vel_mux/parameter_descriptions
/cmd_vel_mux/parameter_updates
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/gazebo_gui/parameter_descriptions
/gazebo_gui/parameter_updates
/imu
/joint_states
/mobile_base_nodelet_manager/bond
/odom
/rosout
/rosout_agg
/scan
/tf
/tf_static
/xbot/joint_states
$ rostopic info /camera/rgb/image_raw //查看image_raw这个话题信息
Type: sensor_msgs/Image
Publishers:
* /gazebo (http://ubuntu:37624/) //发布者
Subscribers: None //代表无人接收/camera/rgb/image_raw
运行指令
$rosrun image_view image_view image:=/camera/rgb/image_raw
弹出rgb图像信息
$ rostopic info /camera/depth/image_raw
Type: sensor_msgs/Image
Publishers:
* /gazebo (http://ubuntu:37624/)
Subscribers: None
输入以下指令可以查看深度图
$ rosrun image_view image_view image:=/camera/depth/image_raw
运行键盘控制程序:
$ rosrun robot_sim_demo robot_keyboard_teleop.py
Control The Robot!
---------------------------
Moving around:
u i o
j k l
m , .
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
space key, k : force stop
anything else : stop smoothly
CTRL-C to quit
这个和视频中说的使用键盘的上下左右键去控制机器人不太一样,因为提示有说是使用
u i o
j k l
m , .
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
这几个按键来控制的,这个需要注意下。
先使用 rosnode list查看都有哪些节点。
$ rosnode list
/cmd_vel_mux
/gazebo
/gazebo_gui
/image_view_1632069293357719777
/mobile_base_nodelet_manager
/robot_teleop
/rosout
/xbot/robot_state_publisher
接下来运行:rosnode info /mobile_base_nodelet_manager ,这个和视频有点不一样,视频运行的是:rosnode info /teleop_twist_keyboard,看弹幕说的是在mobile分支已经变了,有可能我用的分支不对,后面在来看这个问题吧。
$ rosnode info /mobile_base_nodelet_manager
--------------------------------------------------------------------------------
Node [/mobile_base_nodelet_manager]
Publications:
* /cmd_vel [geometry_msgs/Twist]
* /cmd_vel_mux/active [std_msgs/String]
* /cmd_vel_mux/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
* /cmd_vel_mux/parameter_updates [dynamic_reconfigure/Config]
* /mobile_base_nodelet_manager/bond [bond/Status]
* /rosout [rosgraph_msgs/Log]
Subscriptions:
* /clock [rosgraph_msgs/Clock]
* /cmd_vel_mux/input/avoid [unknown type]
* /cmd_vel_mux/input/navi [unknown type]
* /cmd_vel_mux/input/safety_controller [unknown type]
* /cmd_vel_mux/input/switch [unknown type]
* /cmd_vel_mux/input/teleop [geometry_msgs/Twist]
* /mobile_base_nodelet_manager/bond [bond/Status]
Services:
* /cmd_vel_mux/set_parameters
* /mobile_base_nodelet_manager/get_loggers
* /mobile_base_nodelet_manager/list
* /mobile_base_nodelet_manager/load_nodelet
* /mobile_base_nodelet_manager/set_logger_level
* /mobile_base_nodelet_manager/unload_nodelet
contacting node http://ubuntu:44121/ ...
Pid: 20777
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS
* topic: /cmd_vel
* to: /gazebo
* direction: outbound
* transport: TCPROS
* topic: /mobile_base_nodelet_manager/bond
* to: /mobile_base_nodelet_manager
* direction: outbound
* transport: INTRAPROCESS
* topic: /mobile_base_nodelet_manager/bond
* to: /cmd_vel_mux
* direction: outbound
* transport: TCPROS
* topic: /clock
* to: /gazebo (http://ubuntu:37624/)
* direction: inbound
* transport: TCPROS
* topic: /cmd_vel_mux/input/teleop
* to: /robot_teleop (http://ubuntu:40729/)
* direction: inbound
* transport: TCPROS
* topic: /mobile_base_nodelet_manager/bond
* to: /mobile_base_nodelet_manager (http://ubuntu:44121/)
* direction: inbound
* transport: INTRAPROCESS
* topic: /mobile_base_nodelet_manager/bond
* to: /cmd_vel_mux (http://ubuntu:32890/)
* direction: inbound
* transport: TCPROS
$ rostopic info /cmd_vel
Type: geometry_msgs/Twist
Publishers:
* /mobile_base_nodelet_manager (http://ubuntu:44121/)
Subscribers:
* /gazebo (http://ubuntu:37624/)
查看速度具体控制内容:
$ rostopic echo /cmd_vel
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
---
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
---
linear:
x: 0.0
y: 0.0
z: 0.0
查看具体定义:
$ rosmsg show geometry_msgs/Twist
geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
查看所有的消息
$ rosmsg list
action_demo/DoDishesAction
action_demo/DoDishesActionFeedback
action_demo/DoDishesActionGoal
action_demo/DoDishesActionResult
action_demo/DoDishesFeedback
action_demo/DoDishesGoal
action_demo/DoDishesResult
actionlib/TestAction
actionlib/TestActionFeedback
actionlib/TestActionGoal
actionlib/TestActionResult
actionlib/TestFeedback
actionlib/TestGoal
actionlib/TestRequestAction
actionlib/TestRequestActionFeedback
actionlib/TestRequestActionGoal
actionlib/TestRequestActionResult
actionlib/TestRequestFeedback
actionlib/TestRequestGoal
actionlib/TestRequestResult
actionlib/TestResult
actionlib/TwoIntsAction
actionlib/TwoIntsActionFeedback
actionlib/TwoIntsActionGoal
actionlib/TwoIntsActionResult
actionlib/TwoIntsFeedback
actionlib/TwoIntsGoal
actionlib/TwoIntsResult
actionlib_msgs/GoalID
actionlib_msgs/GoalStatus
actionlib_msgs/GoalStatusArray
actionlib_tutorials/AveragingAction
actionlib_tutorials/AveragingActionFeedback
actionlib_tutorials/AveragingActionGoal
actionlib_tutorials/AveragingActionResult
actionlib_tutorials/AveragingFeedback
actionlib_tutorials/AveragingGoal
actionlib_tutorials/AveragingResult
actionlib_tutorials/FibonacciAction
actionlib_tutorials/FibonacciActionFeedback
actionlib_tutorials/FibonacciActionGoal
actionlib_tutorials/FibonacciActionResult
actionlib_tutorials/FibonacciFeedback
actionlib_tutorials/FibonacciGoal
actionlib_tutorials/FibonacciResult
base_local_planner/Position2DInt
bond/Constants
bond/Status
control_msgs/FollowJointTrajectoryAction
control_msgs/FollowJointTrajectoryActionFeedback
control_msgs/FollowJointTrajectoryActionGoal
control_msgs/FollowJointTrajectoryActionResult
control_msgs/FollowJointTrajectoryFeedback
control_msgs/FollowJointTrajectoryGoal
control_msgs/FollowJointTrajectoryResult
control_msgs/GripperCommand
control_msgs/GripperCommandAction
control_msgs/GripperCommandActionFeedback
control_msgs/GripperCommandActionGoal
control_msgs/GripperCommandActionResult
control_msgs/GripperCommandFeedback
control_msgs/GripperCommandGoal
control_msgs/GripperCommandResult
control_msgs/JointControllerState
control_msgs/JointJog
control_msgs/JointTolerance
control_msgs/JointTrajectoryAction
control_msgs/JointTrajectoryActionFeedback
control_msgs/JointTrajectoryActionGoal
control_msgs/JointTrajectoryActionResult
control_msgs/JointTrajectoryControllerState
control_msgs/JointTrajectoryFeedback
control_msgs/JointTrajectoryGoal
control_msgs/JointTrajectoryResult
control_msgs/PidState
control_msgs/PointHeadAction
control_msgs/PointHeadActionFeedback
control_msgs/PointHeadActionGoal
control_msgs/PointHeadActionResult
control_msgs/PointHeadFeedback
control_msgs/PointHeadGoal
control_msgs/PointHeadResult
control_msgs/SingleJointPositionAction
control_msgs/SingleJointPositionActionFeedback
control_msgs/SingleJointPositionActionGoal
control_msgs/SingleJointPositionActionResult
control_msgs/SingleJointPositionFeedback
control_msgs/SingleJointPositionGoal
control_msgs/SingleJointPositionResult
controller_manager_msgs/ControllerState
controller_manager_msgs/ControllerStatistics
controller_manager_msgs/ControllersStatistics
controller_manager_msgs/HardwareInterfaceResources
costmap_2d/VoxelGrid
diagnostic_msgs/DiagnosticArray
diagnostic_msgs/DiagnosticStatus
diagnostic_msgs/KeyValue
dynamic_reconfigure/BoolParameter
dynamic_reconfigure/Config
dynamic_reconfigure/ConfigDescription
dynamic_reconfigure/DoubleParameter
dynamic_reconfigure/Group
dynamic_reconfigure/GroupState
dynamic_reconfigure/IntParameter
dynamic_reconfigure/ParamDescription
dynamic_reconfigure/SensorLevels
dynamic_reconfigure/StrParameter
gazebo_msgs/ContactState
gazebo_msgs/ContactsState
gazebo_msgs/LinkState
gazebo_msgs/LinkStates
gazebo_msgs/ModelState
gazebo_msgs/ModelStates
gazebo_msgs/ODEJointProperties
gazebo_msgs/ODEPhysics
gazebo_msgs/PerformanceMetrics
gazebo_msgs/SensorPerformanceMetric
gazebo_msgs/WorldState
geometry_msgs/Accel
geometry_msgs/AccelStamped
geometry_msgs/AccelWithCovariance
geometry_msgs/AccelWithCovarianceStamped
geometry_msgs/Inertia
geometry_msgs/InertiaStamped
geometry_msgs/Point
geometry_msgs/Point32
geometry_msgs/PointStamped
geometry_msgs/Polygon
geometry_msgs/PolygonStamped
geometry_msgs/Pose
geometry_msgs/Pose2D
geometry_msgs/PoseArray
geometry_msgs/PoseStamped
geometry_msgs/PoseWithCovariance
geometry_msgs/PoseWithCovarianceStamped
geometry_msgs/Quaternion
geometry_msgs/QuaternionStamped
geometry_msgs/Transform
geometry_msgs/TransformStamped
geometry_msgs/Twist
geometry_msgs/TwistStamped
geometry_msgs/TwistWithCovariance
geometry_msgs/TwistWithCovarianceStamped
geometry_msgs/Vector3
geometry_msgs/Vector3Stamped
geometry_msgs/Wrench
geometry_msgs/WrenchStamped
hector_mapping/HectorDebugInfo
hector_mapping/HectorIterData
map_msgs/OccupancyGridUpdate
map_msgs/PointCloud2Update
map_msgs/ProjectedMap
map_msgs/ProjectedMapInfo
move_base_msgs/MoveBaseAction
move_base_msgs/MoveBaseActionFeedback
move_base_msgs/MoveBaseActionGoal
move_base_msgs/MoveBaseActionResult
move_base_msgs/MoveBaseFeedback
move_base_msgs/MoveBaseGoal
move_base_msgs/MoveBaseResult
move_base_msgs/RecoveryStatus
moveit_msgs/AllowedCollisionEntry
moveit_msgs/AllowedCollisionMatrix
moveit_msgs/AttachedCollisionObject
moveit_msgs/BoundingVolume
moveit_msgs/CollisionObject
moveit_msgs/ConstraintEvalResult
moveit_msgs/Constraints
moveit_msgs/ContactInformation
moveit_msgs/CostSource
moveit_msgs/DisplayRobotState
moveit_msgs/DisplayTrajectory
moveit_msgs/ExecuteTrajectoryAction
moveit_msgs/ExecuteTrajectoryActionFeedback
moveit_msgs/ExecuteTrajectoryActionGoal
moveit_msgs/ExecuteTrajectoryActionResult
moveit_msgs/ExecuteTrajectoryFeedback
moveit_msgs/ExecuteTrajectoryGoal
moveit_msgs/ExecuteTrajectoryResult
moveit_msgs/Grasp
moveit_msgs/GripperTranslation
moveit_msgs/JointConstraint
moveit_msgs/JointLimits
moveit_msgs/KinematicSolverInfo
moveit_msgs/LinkPadding
moveit_msgs/LinkScale
moveit_msgs/MotionPlanDetailedResponse
moveit_msgs/MotionPlanRequest
moveit_msgs/MotionPlanResponse
moveit_msgs/MoveGroupAction
moveit_msgs/MoveGroupActionFeedback
moveit_msgs/MoveGroupActionGoal
moveit_msgs/MoveGroupActionResult
moveit_msgs/MoveGroupFeedback
moveit_msgs/MoveGroupGoal
moveit_msgs/MoveGroupResult
moveit_msgs/MoveItErrorCodes
moveit_msgs/ObjectColor
moveit_msgs/OrientationConstraint
moveit_msgs/OrientedBoundingBox
moveit_msgs/PickupAction
moveit_msgs/PickupActionFeedback
moveit_msgs/PickupActionGoal
moveit_msgs/PickupActionResult
moveit_msgs/PickupFeedback
moveit_msgs/PickupGoal
moveit_msgs/PickupResult
moveit_msgs/PlaceAction
moveit_msgs/PlaceActionFeedback
moveit_msgs/PlaceActionGoal
moveit_msgs/PlaceActionResult
moveit_msgs/PlaceFeedback
moveit_msgs/PlaceGoal
moveit_msgs/PlaceLocation
moveit_msgs/PlaceResult
moveit_msgs/PlannerInterfaceDescription
moveit_msgs/PlannerParams
moveit_msgs/PlanningOptions
moveit_msgs/PlanningScene
moveit_msgs/PlanningSceneComponents
moveit_msgs/PlanningSceneWorld
moveit_msgs/PositionConstraint
moveit_msgs/PositionIKRequest
moveit_msgs/RobotState
moveit_msgs/RobotTrajectory
moveit_msgs/TrajectoryConstraints
moveit_msgs/VisibilityConstraint
moveit_msgs/WorkspaceParameters
msgs_demo/AddTwoIntsAction
msgs_demo/AddTwoIntsActionFeedback
msgs_demo/AddTwoIntsActionGoal
msgs_demo/AddTwoIntsActionResult
msgs_demo/AddTwoIntsFeedback
msgs_demo/AddTwoIntsGoal
msgs_demo/AddTwoIntsResult
msgs_demo/AutoDockingAction
msgs_demo/AutoDockingActionFeedback
msgs_demo/AutoDockingActionGoal
msgs_demo/AutoDockingActionResult
msgs_demo/AutoDockingFeedback
msgs_demo/AutoDockingGoal
msgs_demo/AutoDockingResult
msgs_demo/GetMapAction
msgs_demo/GetMapActionFeedback
msgs_demo/GetMapActionGoal
msgs_demo/GetMapActionResult
msgs_demo/GetMapFeedback
msgs_demo/GetMapGoal
msgs_demo/GetMapResult
msgs_demo/MoveBaseAction
msgs_demo/MoveBaseActionFeedback
msgs_demo/MoveBaseActionGoal
msgs_demo/MoveBaseActionResult
msgs_demo/MoveBaseFeedback
msgs_demo/MoveBaseGoal
msgs_demo/MoveBaseResult
msgs_demo/Accel
msgs_demo/Echos
msgs_demo/Imu
msgs_demo/LaserScan
msgs_demo/Odometry
msgs_demo/Point
msgs_demo/Pose
msgs_demo/PoseStamped
msgs_demo/PoseWithCovariance
msgs_demo/Power
msgs_demo/Quaternion
msgs_demo/Twist
msgs_demo/TwistWithCovariance
msgs_demo/Vector3
nav_msgs/GetMapAction
nav_msgs/GetMapActionFeedback
nav_msgs/GetMapActionGoal
nav_msgs/GetMapActionResult
nav_msgs/GetMapFeedback
nav_msgs/GetMapGoal
nav_msgs/GetMapResult
nav_msgs/GridCells
nav_msgs/MapMetaData
nav_msgs/OccupancyGrid
nav_msgs/Odometry
nav_msgs/Path
object_recognition_msgs/ObjectInformation
object_recognition_msgs/ObjectRecognitionAction
object_recognition_msgs/ObjectRecognitionActionFeedback
object_recognition_msgs/ObjectRecognitionActionGoal
object_recognition_msgs/ObjectRecognitionActionResult
object_recognition_msgs/ObjectRecognitionFeedback
object_recognition_msgs/ObjectRecognitionGoal
object_recognition_msgs/ObjectRecognitionResult
object_recognition_msgs/ObjectType
object_recognition_msgs/RecognizedObject
object_recognition_msgs/RecognizedObjectArray
object_recognition_msgs/Table
object_recognition_msgs/TableArray
octomap_msgs/Octomap
octomap_msgs/OctomapWithPose
pcl_msgs/ModelCoefficients
pcl_msgs/PointIndices
pcl_msgs/PolygonMesh
pcl_msgs/Vertices
roscpp/Logger
rosgraph_msgs/Clock
rosgraph_msgs/Log
rosgraph_msgs/TopicStatistics
rospy_tutorials/Floats
rospy_tutorials/HeaderString
sensor_msgs/BatteryState
sensor_msgs/CameraInfo
sensor_msgs/ChannelFloat32
sensor_msgs/CompressedImage
sensor_msgs/FluidPressure
sensor_msgs/Illuminance
sensor_msgs/Image
sensor_msgs/Imu
sensor_msgs/JointState
sensor_msgs/Joy
sensor_msgs/JoyFeedback
sensor_msgs/JoyFeedbackArray
sensor_msgs/LaserEcho
sensor_msgs/LaserScan
sensor_msgs/MagneticField
sensor_msgs/MultiDOFJointState
sensor_msgs/MultiEchoLaserScan
sensor_msgs/NavSatFix
sensor_msgs/NavSatStatus
sensor_msgs/PointCloud
sensor_msgs/PointCloud2
sensor_msgs/PointField
sensor_msgs/Range
sensor_msgs/RegionOfInterest
sensor_msgs/RelativeHumidity
sensor_msgs/Temperature
sensor_msgs/TimeReference
shape_msgs/Mesh
shape_msgs/MeshTriangle
shape_msgs/Plane
shape_msgs/SolidPrimitive
smach_msgs/SmachContainerInitialStatusCmd
smach_msgs/SmachContainerStatus
smach_msgs/SmachContainerStructure
std_msgs/Bool
std_msgs/Byte
std_msgs/ByteMultiArray
std_msgs/Char
std_msgs/ColorRGBA
std_msgs/Duration
std_msgs/Empty
std_msgs/Float32
std_msgs/Float32MultiArray
std_msgs/Float64
std_msgs/Float64MultiArray
std_msgs/Header
std_msgs/Int16
std_msgs/Int16MultiArray
std_msgs/Int32
std_msgs/Int32MultiArray
std_msgs/Int64
std_msgs/Int64MultiArray
std_msgs/Int8
std_msgs/Int8MultiArray
std_msgs/MultiArrayDimension
std_msgs/MultiArrayLayout
std_msgs/String
std_msgs/Time
std_msgs/UInt16
std_msgs/UInt16MultiArray
std_msgs/UInt32
std_msgs/UInt32MultiArray
std_msgs/UInt64
std_msgs/UInt64MultiArray
std_msgs/UInt8
std_msgs/UInt8MultiArray
stereo_msgs/DisparityImage
tf/tfMessage
tf2_msgs/LookupTransformAction
tf2_msgs/LookupTransformActionFeedback
tf2_msgs/LookupTransformActionGoal
tf2_msgs/LookupTransformActionResult
tf2_msgs/LookupTransformFeedback
tf2_msgs/LookupTransformGoal
tf2_msgs/LookupTransformResult
tf2_msgs/TF2Error
tf2_msgs/TFMessage
theora_image_transport/Packet
topic_demo/gps
trajectory_msgs/JointTrajectory
trajectory_msgs/JointTrajectoryPoint
trajectory_msgs/MultiDOFJointTrajectory
trajectory_msgs/MultiDOFJointTrajectoryPoint
turtle_actionlib/ShapeAction
turtle_actionlib/ShapeActionFeedback
turtle_actionlib/ShapeActionGoal
turtle_actionlib/ShapeActionResult
turtle_actionlib/ShapeFeedback
turtle_actionlib/ShapeGoal
turtle_actionlib/ShapeResult
turtle_actionlib/Velocity
turtlesim/Color
turtlesim/Pose
visualization_msgs/ImageMarker
visualization_msgs/InteractiveMarker
visualization_msgs/InteractiveMarkerControl
visualization_msgs/InteractiveMarkerFeedback
visualization_msgs/InteractiveMarkerInit
visualization_msgs/InteractiveMarkerPose
visualization_msgs/InteractiveMarkerUpdate
visualization_msgs/Marker
visualization_msgs/MarkerArray
visualization_msgs/MenuEntry
未完待续,学习不停止脚步!由于字数太多,准备放在另外一篇文章了!