ros入门--中科院软件所ros学习笔记

视频链接:

中科院软件所-机器人操作系统入门(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相关的学习网站:

Documentation - ROS Wiki

https://github.com/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个不知就是不成功,不清楚为什么不成功。

所以就自己安装依赖了。具体见我另一篇博文链接:

controller_managerConfig move_baseConfig gmappingConfig hector_mappingConfig ros编译错误汇总 重德智能_lxj362343的博客-CSDN博客

也就是说第二步不成功没事直接跳到第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

未完待续,学习不停止脚步!由于字数太多,准备放在另外一篇文章了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值