ROS学习相关链接【转】

来源:互联网 发布:mysql.sock 编辑:程序博客网 时间:2024/05/21 07:03

来自:http://wiki.ros.org/cn/ROS/Tutorials/#A.2BaDhfww_ROS_.2BZVl6Cw-

非初学者:如果你已经很熟悉 ROS fuerte(要塞龟) 或更早期版本的使用,而只是想使用在 groovy(加岛象龟) 和 hydro(渔龟) 中开始采用的最新编译构建系统 catkin,那你可以深入学习 catkin教程。 但是我们仍然建议所有人学完整个『初级』教程以方便理解新增的功能特性。

如果你是 Linux 初学者:也许先学习一些有关 Linux 命令行工具的快速使用教程会对你很有帮助,这里有篇好教程(英文)。

目录

  1. 核心 ROS 教程
    1. 初级
    2. 中级
  2. ROS 标准
  3. 外部 ROS 资源
    1. 外部教程
    2. 外部研讨会或课件
  4. 在机器人上运行 ROS
  5. 其它 ROS 函数库教程
  6. 提供 ROS 接口的函数库教程

核心 ROS 教程

初级

  1. 安装并配置ROS环境

    本教程详细描述了ROS的安装与环境配置。

  2. ROS文件系统介绍

    本教程介绍ROS文件系统概念,包括命令行工具roscd、rosls和rospack的使用。

  3. 创建ROS程序包

    本教程介绍如何使用roscreate-pkg或catkin创建一个新程序包,并使用rospack查看程序包的依赖关系。

  4. 编译ROS程序包

    本教程介绍ROS程序包的编译方法

  5. 理解 ROS节点

    本教程主要介绍 ROS 图(graph)概念 并讨论roscore、rosnode和 rosrun 命令行工具的使用。

  6. 理解ROS话题

    本教程介绍ROS话题(topics)以及如何使用rostopic 和 rxplot 命令行工具。

  7. 理解ROS服务和参数

    本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservice 和 rosparam的使用方法。

  8. 使用 rqt_console 和 roslaunch

    本教程介绍如何使用rqt_console和rqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。早期版本中的rqt工具并不完善,因此,如果你使用的是“ROS fuerte”或更早期的版本,请同时参考这个页面学习使用老版本的“rx”工具。

  9. 使用rosed编辑ROS中的文件

    本教程将展示如何使用rosed来简化编辑过程。

  10. 创建ROS消息和ROS服务

    本教程详细介绍如何创建并编译ROS消息和服务,以及rosmsg, rossrv和roscp命令行工具的使用。

  11. 编写简单的消息发布器和订阅器 (C++)

    本教程将介绍如何用 C++ 编写发布器节点和订阅器节点。

  12. 写一个简单的消息发布器和订阅器 (Python)

    本教程将通过Python编写一个发布器节点和订阅器节点。

  13. 测试消息发布器和订阅器

    本教程将测试上一教程所写的消息发布器和订阅器。

  14. 编写简单的服务器和客户端 (C++)

    本教程介绍如何用 C++ 编写服务器 Service 和客户端 Client 节点。

  15. 编写简单的Service和Client (Python)

    本教程介绍如何用Python编写Service和Client节点。

  16. 测试简单的Service和Client

    本教程将测试之前所写的Service和Client。

  17. 录制与回放数据

    本教程将教你如何将ROS系统运行过程中的数据录制到一个.bag文件中,然后通过回放数据来重现相似的运行过程。

  18. roswtf入门

    本教程介绍了roswtf工具的基本使用方法。

  19. 探索ROS维基

    本教程介绍了ROS维基(wiki.ros.org)的组织结构以及使用方法。同时讲解了如何才能从ROS维基中找到你需要的信息。

  20. 接下来做什么?

    本教程将讨论获取更多知识的途径,以帮助你更好地使用ROS搭建真实或虚拟机器人。

现在你已经完成了初级教程的学习,请回答这个 问卷来检验一下自己的学习效果。

中级

大多数客户端 API 的使用教程可以在相关程序包 (roscpp,rospy,roslisp) 中找到。

  1. 手动创建ROS package

    本教程将展示如何手动创建ROS package

  2. 管理系统依赖项

    本教程将展示如何使用rosdep安装系统依赖项.

  3. Roslaunch在大型项目中的使用技巧

    本教程主要介绍roslaunch在大型项目中的使用技巧。重点关注如何构建launch文件使得它能够在不同的情况下重复利用。我们将使用 2dnav_pr2 package作为学习案例。

  4. ROS在多机器人上的使用

    本教程将展示如何在两台机器上使用ROS系统,详述了使用ROS_MASTER_URI来配置多台机器使用同一个master。

  5. 自定义消息

    本教程将展示如何使用ROS Message Description Language来定义你自己的消息类型.

  6. 在python中使用C++类

    本教程阐述一种在python中使用C++类的方法。

  7. 如何编写教程

    (概述:)本教程介绍在编辑ros.org维基时可以用到的模板和宏定义,并附有示例以供参考。

ROS 标准

  • ROS开发者指南 有关代码风格和软件包布局等相关指南。

  • 标准测量单位和坐标约定。

外部 ROS 资源

外部教程

  • ANU的ROS视频教程

  • NooTriX的手把手ROS教程

  • Jonathan Bohren的ROS教程

  • Clearpath Robotics 的知识库

  • 创客智造的ROS入门教程

外部研讨会或课件

  • 由位于东京的 TORK 提供的 面向企业基础培训的研讨会

在机器人上运行 ROS

  • 创建你自己的URDF文件创建一个定制的通用机器人格式化描述文件。

  • ros_control 使用 ROS 的标准控制器框架来与硬件连接。

  • 在Gazebo中使用URDF 在 Gazebo 机器人模拟器中添加必要的标记。

  • 搭建 MoveIt! 建立配置程序包(configuration package)来使用 MoveIt! 运动规划框架。

其它 ROS 函数库教程

  • Robot Model

  • Visualization

  • 行为库(actionlib)

  • pluginlib

  • nodelets

  • 导航

  • ROS-Industrial Tutorials

提供 ROS 接口的函数库教程

  • Stage

  • TF

  • PCL with ROS