网址:http://wiki.ros.org/ROS/Tutorials 非初学者:如果您已经足够熟悉ROS fuerte或更早的版本,并且只想探索在groovy中引入并在hydro和稍后使用的新构建系统,称为柔荑,您可以在这里通过更深入的柔荑教程。不过,我们仍然建议所有用户浏览所有初级教程,以便了解新功能。 初学者:您可能会发现,首先做一个关于linux常用命令行工具的快速教程是有帮助的。这里有一个不错的。

1、核心ROS教程

1.1 初学者水平

安装和配置您的ROS环境Installing and Configuring Your ROS Environment

本教程将指导您在计算机上安装ROS和设置ROS环境。

导航ROS文件系统Navigating the ROS Filesystem

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

创建ROS包Creating a ROS Package

本教程介绍了如何使用roscreate-pkg roscreate-pkg 或catkin catkin 创建一个新包,以及使用rospackrospack 列出包的依赖项。

构建ROS包Building a ROS Package

本教程介绍了构建包的工具链。

理解ROS节点Understanding ROS Nodes

本教程介绍了ROS图形的概念,并讨论了roscore、rosnode和rosrun命令行工具的使用。

理解ROS的话题Understanding ROS Topics

本教程介绍了ROS主题以及rostopic和rqt_plot命令行工具的使用。

了解ROS服务和参数Understanding ROS Services and Parameters

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

使用rqt_console和roslaunchUsing rqt_console and roslaunch

本教程介绍使用rqt_console和rqt_logger_level进行调试的ROS,以及使用roslaunch一次启动多个节点的ROS。如果您使用的是ROS fuerte或rqt不能完全可用的早期发行版,请参阅使用基于rx的旧工具的此页。

使用rosbash在ROS中编辑文件Using rosed to edit files in ROS

本教程展示了如何使用rosbash使编辑更容易。

创建ROS消息和srvCreating a ROS msg and srv

本教程涵盖了如何创建和构建msg和srv文件以及rosmsg, rossrv和roscp命令行工具。

编写一个简单的发布者和订阅者(c++)Writing a Simple Publisher and Subscriber (C++)

本教程介绍了如何用c++编写发布者和订阅者节点。

编写一个简单的发布者和订阅者(Python)Writing a Simple Publisher and Subscriber (Python)

本教程介绍如何用python编写发布者和订阅者节点。

检查简单发布程序和订阅程序Examining the Simple Publisher and Subscriber

本教程将介绍如何运行简单的发布者和订阅者。

编写一个简单的服务和客户端(c++)Writing a Simple Service and Client (C++)

本教程介绍了如何用c++编写服务和客户端节点。

编写一个简单的服务和客户端(Python)Writing a Simple Service and Client (Python)

本教程介绍了如何用python编写服务和客户端节点。

检查简单服务和客户端Examining the Simple Service and Client

本教程将介绍如何运行简单的服务和客户机。

记录和回放数据Recording and playing back data

本教程将教你如何将正在运行的ROS系统中的数据记录到.bag文件中,然后回放数据以在正在运行的系统中产生类似的行为

从包文件中读取消息Reading messages from a bag file

学习两种读取包文件中所需主题的消息的方法,包括使用ros_readbagfile脚本。

从roswtf开始Getting started with roswtf

roswtf工具的基本介绍。

浏览ROS wikiNavigating the ROS wiki

本教程讨论了ROS wiki (wiki.ros.org)的布局,并讨论了如何找到你想知道的东西。

下一个在哪里?Where Next?

本教程讨论了在真实或模拟机器人上更多地了解ROS的选项。

1.2 中级水平

更多的客户端API教程可以在相关包中找到(roscpp, rospy, roslisp)

手工创建ROS包。Creating a ROS package by hand.

本教程介绍如何手动创建ROS包。

管理系统依赖关系Managing System dependencies

这将解释如何使用rosdep来安装系统依赖项。

大型项目的Roslaunch技巧Roslaunch tips for large projects

本教程描述了为大型项目编写roslaunch文件的一些技巧。重点是如何构造启动文件,以便在不同的情况下尽可能多地重用它们。我们将使用2dnav_pr2包作为案例研究。

在多台机器上运行ROSRunning ROS across multiple machines

本教程解释如何使用两台机器启动ROS系统。它解释了如何使用ROS_MASTER_URI配置多台机器以使用单个主机。

定义自定义消息 Defining Custom Messages

本教程将向您展示如何使用ROS消息描述语言定义您自己的自定义消息数据类型。

在Python中使用c++类 Using a C++ class in Python

本教程演示了如何在Python中使用带有ROS消息的c++类。

打包你的ROS项目 Packaging your ROS project as a snap

本教程介绍了如何打包和部署您的ROS项目。

如何编写教程 How to Write a Tutorial

本教程涵盖了用于编写教程的有用模板和宏,以及ros.org上提供的示例教程

2、ROS的标准

ROS Developers GuideROS开发者指南关于编码风格,包布局等等的指南

标准度量单位和坐标约定

3、其他ROS库教程

Robot Model

Visualization

actionlib

Pluginlib

Nodelets

Navigation

ROS-Industrial Tutorials

Dynamixel Tutorials

4、带有ROS接口的库教程

Stage

TF

PCL with ROS

5、外部ROS资源

5.1 外部教程

Udemy Course(~16.5小时):Muhammed Oğuz TAŞ - Temelden Gelişmişe Python ile Uygulamalı ROS Eğitimi(土耳其语)

ROS新手教程:Robomechtrix(免费)

ROS新手教程:Milan Yadav(付费/英语)

Udemy新课程“ROS教程”(英文)

Sıfırdan Uygulamalı ROS Eğitimi, Ali ÖZCAN, Udemy(土耳其语)

RobotsForRobots教程和ROS解释视频

Temel ROS Eğitimi(土耳其语)

ROS - Urdf ve Xacro ile Robot Modelleme(土耳其语)

Uygulamalar ile ROS Eğitimi(土耳其语)

Udemy课程:Anis Koubaa,“面向初学者的ROS:本地化、导航和SLAM”(新)

Udemy课程:Anis Koubaa,“ROS2如何:发现下一代ROS”,ROS2的第一个在线课程

Udemy课程:Anis Koubaa,“ROS for Beginners: Basics, Motion, and OpenCV”评分最高

ROS网上课程图书馆

ROS每周活动的类

Udemy Course on ROS:学习编程机器人从头开始的视频教程

在线ROS教程:通过编程在线模拟机器人学习ROS

ROS问答视频教程

澳大利亚国立大学的ROS教程视频演示

NooTriX一步一步的ROS教程

Clearpath Robotics的知识库

Erle Robotics - Learning ROS

ros -行业培训课程

Jonathan Bohren的ROS教程

机器人操作系统(ROS)简介

使用ROS编程机器人:简介(阿拉伯语)

通过Husarion的SLAM从基础的URDF模拟模型学习ROS

使用ROS学习和开发机器人(波斯语)

ROS新手教程,YouTube播放列表(阿拉伯语)

如何在Ubuntu中安装ROS Melodic

IBM Cloud Kubernetes上的ROS2

5.2 外部研讨会/讲座

系统和机器人研究所-里斯本Técnico的2020年ROS编程短期课程

The Construct的ROS Meetup

TORK在东京为企业举办的免费入门研讨会

5.3 外部的书

电子书:Muhammed Oğuz TAŞ - Yeni Başlayanlar İçin Uygulamalarla Robot İşletim Sistemi(ROS)(土耳其)

6.在自定义机器人上使用ROS

创建您自己的URDF文件创建自定义通用机器人描述格式文件

使用ROS的标准控制器框架与硬件接口。

添加必要的标签,让你的机器人进入Gazebo机器人模拟器

设置MoveIt !创建配置包以使用MoveIt!运动规划框架

在多个远程机器上运行ROS用于户外移动机器人应用

将ROS带入现实生活:Barista世界上第一个为餐桌端咖啡的机器人

Pilz机器人机械手PRBT模型您的应用和控制一个Pilz轻重量机械手模块PRBT6