视频链接:

中科院软件所-机器人操作系统入门(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/ImagePublishers: * /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/ImagePublishers: * /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    oj    k    lm    ,    .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 smoothlyCTRL-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_nodeletcontacting 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/TwistPublishers: * /mobile_base_nodelet_manager (http://ubuntu:44121/)Subscribers: * /gazebo (http://ubuntu:37624/)

查看速度具体控制内容:

$ rostopic echo /cmd_vel
linear: x: 0.0y: 0.0z: 0.0
angular: x: 0.0y: 0.0z: 0.0
---
linear: x: 0.0y: 0.0z: 0.0
angular: x: 0.0y: 0.0z: 0.0
---
linear: x: 0.0y: 0.0z: 0.0

查看具体定义:

$ rosmsg show geometry_msgs/Twist
geometry_msgs/Vector3 linearfloat64 xfloat64 yfloat64 z
geometry_msgs/Vector3 angularfloat64 xfloat64 yfloat64 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

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

ros入门--中科院软件所ros学习笔记相关推荐

  1. 《ROS理论与实践》学习笔记(九)机器人自主导航

    <ROS理论与实践>学习笔记(九)机器人自主导航 课程内容 ROS中的导航框架 导航框架中的关键功能包 move_base amcl 机器人自主导航案例 导航仿真 程序接口 move_ba ...

  2. 《Angular4从入门到实战》学习笔记

    <Angular4从入门到实战>学习笔记 腾讯课堂:米斯特吴 视频讲座 二〇一九年二月十三日星期三14时14分 What Is Angular?(简介) 前端最流行的主流JavaScrip ...

  3. 《Java Web开发入门很简单》学习笔记

    <Java Web开发入门很简单>学习笔记 1123 第1章 了解Java Web开发领域 Java Web主要涉及技术包括:HTML.JavaScript.CSS.JSP.Servlet ...

  4. unity3D-游戏/AR/VR在线就业班 C#入门访问修饰符学习笔记

    unity3D-游戏/AR/VR在线就业班 C#入门访问修饰符学习笔记 点击观看视频学习:http://edu.csdn.NET/lecturer/107 访问修饰符 public --公共的,在哪里 ...

  5. 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)

    Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...

  6. 阿里云“7天实践训练营”入门班第二期学习笔记 第五天 在线编程挑战

    阿里云"7天实践训练营"入门班第二期学习笔记 第五天 在线编程挑战 吾辈,完全不会编程 以下内容全程来自阿里云社区的大佬分析讲解 原题目 知识点:搜索.字符串.位运算 有一天Jer ...

  7. 《Angular4从入门到实战》学习笔记(图文)

    <Angular4从入门到实战>学习笔记 腾讯课堂:米斯特吴 视频讲座 二〇一九年二月十三日星期三14时14分 What Is Angular?(简介) 前端最流行的主流JavaScrip ...

  8. ROS入门21讲 | ROS机器人入门教程 【简明笔记】

    古月·ROS入门21讲 | 一学就会的ROS机器人入门教程 文章目录 ROS核心概念 ROS命令行 工作空间与功能包 订阅与发布 发布者 Publisher 订阅者 Subscriber 话题消息的自 ...

  9. 深度学习者的入门福利-Keras深度学习笔记

    Keras深度学习笔记 最近本人在github上发现一个不错的资源,是利用keras来学习深度学习的笔记,笔记内容充实,数据完善,本人亲自实操了里面的所有例子,深感收获颇丰,今天特意推荐给大家,希望能 ...

最新文章

  1. Cefsharp生成的项目在自己电脑上能打开,其他电脑上不行,提示找不到指定文件cefsharp.core.dll
  2. 比特币的挑战者 BCH 带着开发者们来到湾区了!
  3. 同时给两个变量值赋值
  4. ASINetworkQueues(经典2)
  5. python判断正确错误_第16天:Python 错误和异常
  6. 证件照排版软件_证件照小程序换背景(制作免费版)
  7. 安装教程-VMware 12 安装 Windows 10 企业版
  8. 洛谷—— P2733 家的范围 Home on the Range
  9. 计算机开关电源接线标准,开关电源通用技术标准.pdf
  10. BERT meet Knowledge Graph:预训练模型与知识图谱相结合的研究进展
  11. python模块_第七讲:Python模块
  12. Windows 中不规则窗体的编程实现三种方法:CRgn,作图路径法,据图像创建region
  13. mysql5.5启动图解_MySQL5.5.19安装图解_MySQL
  14. ubuntu vscode c++生成so及调用调试so包
  15. bzoj4238 电压
  16. React Concurrent Mode 之 Suspense 实践
  17. apollo自动驾驶进阶学习之:ST与ST迭代过程
  18. 解决笔记本,如微星GS65偶尔卡顿,黑屏或者死机的优化小技巧!
  19. Android全屏显示
  20. 五分钟了解GRE是什么,四信GRE相关应用推荐

热门文章

  1. simulink【1】分段函数
  2. 实验四:py实现求导数与隐函数偏导数
  3. python获取erp数据_python自学之路-数据读取
  4. 千万同时在线直播聊天室架构演进
  5. mysql 主键约束起名_MySQL名称的主键约束
  6. 以太坊solidity智能合约-生成随机数
  7. Linux 中断 —— GIC 初始化
  8. 【DFT】可测性设计(一)扫描测试
  9. SpringBoot 之 Web开发
  10. SQL-聚合函数结果作为筛选条件时where与having用法的区别