ROS学习入门教程 | 零基础上手机器人开发

  • Post author:
  • Post category:其他


在这里插入图片描述

在和很多用户聊了之后,我们发现 ROS 是大家开发机器人的一个痛点。

尽管和几年前ROS刚在国内兴起时相比,现在ROS的使用人群有一定的增长,网上ROS的资料和教程也多了起来。

但对机器人开发感兴趣的初学者来说,仍然缺少

免费、系统、详细、全面,手把手

的ROS教程。

我们希望大家能够快速上手机器人开发,能有更多的人一同加入到机器人行业中来。


因此,我们制作了一套适合零基础学习的ROS视频教程——《ROS理论与实践》,免费分享给大家。



课程视频

【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程

目前课程仍在录制中,关注Up主

【Autolabor官方】

将会获得每天的更新提醒。



课程文档


文档地址



课程目录

注:部分章节后期会有所调整,以最终视频教程为准。

  • 第 1 章 ROS概述与环境

    • 1.1 ROS简介

      • 1.1.1ROS概念
      • 1.1.2ROS设计目标
      • 1.1.3ROS发展历程
    • 1.2 ROS安装

      • 1.2.1 安装虚拟机软件
      • 1.2.2 虚拟一台主机
      • 1.2.3 安装 ubuntu
      • 1.2.4 安装 ROS
      • 1.2.5 测试 ROS
      • 1.2.6 资料:其他ROS版本安装
    • 1.3 ROS快速体验

      • 1.3.1 HelloWorld实现简介
      • 1.3.2 HelloWorld实现A(C++)
      • 1.3.3 HelloWorld实现B(Python)
    • 1.4 ROS集成开发环境搭建

      • 1.4.1 安装终端
      • 1.4.2 安装VScode
      • 1.4.3 launch文件演示
    • 1.5 ROS架构

      • 1.5.1 ROS文件系统
      • 1.5.2 ROS文件系统相关命令
      • 1.5.3 ROS计算图
    • 1.6 本章小结
  • 第 2 章 ROS通信机制

    • 2.1 话题通信

      • 2.1.1 话题通信理论模型
      • 2.1.2 话题通信基本操作A(C++)
      • 2.1.3 话题通信基本操作B(Python)
      • 2.1.4 话题通信自定义msg
      • 2.1.5 话题通信自定义msg调用A(C++)
      • 2.1.6 话题通信自定义msg调用B(Python)
    • 2.2 服务通信

      • 2.2.1 服务通信理论模型
      • 2.2.2 服务通信自定义srv
      • 2.2.3 服务通信自定义srv调用A(C++)
      • 2.2.4 服务通信自定义srv调用B(Python)
    • 2.3 参数服务器

      • 2.3.1 参数服务器理论模型
      • 2.3.2 参数操作A(C++)
      • 2.3.3 参数操作B(Python)
    • 2.4 常用命令

      • 2.4.1 rosnode
      • 2.4.2 rostopic
      • 2.4.3 rosservice
      • 2.4.4 rosmsg
      • 2.4.5 rossrv
      • 2.4.6 rosparam
    • 2.5 通信机制实操

      • 2.5.1 实操01_话题发布
      • 2.5.2 实操02_话题订阅
      • 2.5.3 实操03_服务调用
      • 2.5.4 实操04_参数设置
    • 2.6 通信机制比较
    • 2.7 本章小结
  • 第 3 章 ROS通信机制进阶

    • 3.1 action通信

      • 3.1.1 action通信自定义action文件
      • 3.1.2 action通信自定义action文件调用A(C++)
      • 3.1.3 action通信自定义action文件调用(Python)
      • 3.1.4 action通信实操
    • 3.2 动态配置参数

      • 3.2.1 动态配置参数客户端
      • 3.2.2 动态配置参数服务端A(C++)
      • 3.2.3 动态配置参数服务端B(Python)
    • 3.3 本章小结
  • 第 4 章 ROS运行管理

    • 4.1 ROS元功能包
    • 4.2 ROS节点管理launch文件

      • 4.2.1 launch文件标签之launch
      • 4.2.2 launch文件标签之node
      • 4.2.3 launch文件标签之include
      • 4.2.4 launch文件标签之remap
      • 4.2.5 launch文件标签之param
      • 4.2.6 launch文件标签之rosparam
      • 4.2.7 launch文件标签之group
      • 4.2.8 launch文件标签之arg
    • 4.3 ROS工作空间覆盖
    • 4.4 ROS节点名称重名

      • 4.4.1 rosrun设置命名空间与重映射
      • 4.4.2 launch文件设置命名空间与重映射
      • 4.4.3 编码设置命名空间与重映射
    • 4.5 ROS话题名称设置

      • 4.5.1 rosrun设置话题重映射
      • 4.5.2 launch文件设置话题重映射
      • 4.5.3 编码设置话题名称
    • 4.6 ROS参数名称设置

      • 4.6.1 rosrun设置参数
      • 4.6.2 launch文件设置参数
      • 4.6.3 编码设置参数
    • 4.7 ROS分布式通信
    • 4.8 本章小结
  • 第 5 章 ROS常用组件

    • 5.1 TF坐标变换

      • 5.1.1 坐标msg消息
      • 5.1.2 静态坐标变换
      • 5.1.3 动态坐标变换
      • 5.1.4 多坐标变换
      • 5.1.5 坐标系关系查看
      • 5.1.6 TF坐标变换实操
      • 5.1.7 TF2与TF
      • 5.1.8 小结
    • 5.2 rosbag

      • 5.2.1 rosbag使用_命令行
      • 5.2.2 rosbag使用_编码
      • 5.2.3 rosbag实操
    • 5.3 rqt工具箱

      • 5.3.1 rqt安装启动与及基本使用
      • 5.3.2 rqt常用插件:rqt_graph
      • 5.3.3 rqt常用插件:rqt_console
      • 5.3.4 rqt常用插件:rqt_plot
      • 5.3.5 rqt常用插件:rqt_bag
    • 5.4 本章小结
  • 第 6 章 机器人系统仿真

    • 6.1 概述
    • 6.2 URDF集成Rviz基本流程
    • 6.3 URDF语法详解

      • 6.3.1 URDF语法详解01_robot
      • 6.3.2 URDF语法详解02_link
      • 6.3.3 URDF语法详解03_joint
      • 6.3.4 URDF练习
      • 6.3.5 URDF工具
    • 6.4 URDF优化_xacro

      • 6.4.1 Xacro_快速体验
      • 6.4.2 Xacro_语法详解
      • 6.4.3 Xacro_完整使用流程示例
      • 6.4.4 Xacro_实操
    • 6.5 Rviz控制机器人模型运动

      • 6.5.1 Arbotix使用流程
      • 6.5.2 Noetic下安装Arbotix
    • 6.6 URDF集成Gazebo

      • 6.6.1 URDF与Gazebo基本集成流程
      • 6.6.2 URDF集成Gazebo相关设置
      • 6.6.3 URDF集成Gazebo实操
      • 6.6.4 Gazebo仿真环境搭建
    • 6.7 URDF、Gazebo与Rviz综合应用

      • 6.7.1 机器人运动控制以及里程计信息显示
      • 6.7.2 雷达信息仿真以及显示
      • 6.7.3 摄像头信息仿真以及显示
      • 6.7.4 kinect信息仿真以及显示
    • 6.8 本章小结
  • 第 7 章 机器人导航(仿真)

    • 7.1 概述
    • 7.2 导航实现

      • 7.2.1 导航实现01_SLAM建图
      • 7.2.2 导航实现02_地图服务
      • 7.2.3 导航实现03_定位
      • 7.2.4 导航实现04_路径规划
      • 7.2.5 导航与SLAM建图
    • 7.3 深度图像转激光数据
    • 7.4 SLAM

      • 7.4.1 SLAM实现之hector_slam
      • 7.4.2 SLAM实现之cartographer
    • 7.5 本章小结
  • 第 8 章 机器人平台设计

    • 8.1 概述
    • 8.2 机器人平台设计之arduino基础

      • 8.2.1 arduino 开发环境搭建
      • 8.2.2 arduino 基本语法概述
      • 8.2.3 arduino 基本语法演示01
      • 8.2.4 arduino 基本语法演示02
      • 8.2.5 arduino 基本语法演示03
    • 8.3 机器人平台设计之arduino与电机驱动

      • 8.3.1 硬件_电机与电机驱动板简介
      • 8.3.2 电机基本控制实现
      • 8.3.3 电机测速01_理论
      • 8.3.4 电机测速02_实现
      • 8.3.5 电机调速01_PID控制理论
      • 8.3.6 电机调速02_PID控制实现
    • 8.4 机器人平台设计之Arduino与ROS通信

      • 8.4.1 Arduino与ROS通信_rosserial简介
      • 8.4.2 Arduino与ROS通信_发布
      • 8.4.3 Arduino与ROS通信_订阅
    • 8.5 机器人平台设计之底盘实现(上)

      • 8.5.1 硬件组装
      • 8.5.2 基于rosserialarduino的底盘实现概述
      • 8.5.3 基于rosserial_arduino的底盘实现_01框架搭建
      • 8.5.4 基于rosserial_arduino的底盘实现_02电机转向控制
      • 8.5.5 基于rosserial_arduino的底盘实现_03测速
      • 8.5.6 基于rosserial_arduino的底盘实现_04调速
      • 8.5.7 基于rosserial_arduino的底盘实现_05ROS端
    • 8.6 机器人平台设计之底盘实现(下)

      • 8.6.1 基于rosarduino_bridge的底盘实现概述
      • 8.6.2 基于ros_arduino_bridge的底盘实现_01Arduino端入口
      • 8.6.3 基于ros_arduino_bridge的底盘实现_02Arduino端编码器驱动
      • 8.6.4 基于ros_arduino_bridge的底盘实现_03Arduino端电机驱动
      • 8.6.5 基于ros_arduino_bridge的底盘实现_04Arduino端PID控制
      • 8.6.6 基于ros_arduino_bridge的底盘实现_05ROS端配置
    • 8.7 机器人平台设计之控制系统

      • 8.7.1 控制系统实现_树莓派概述
      • 8.7.2 控制系统实现_树莓派安装ROS
      • 8.7.3 控制系统实现_分布式框架
      • 8.7.4 控制系统实现_程序上传
      • 8.7.5控制系统实现_rosArduinoBridge上传至树莓派
    • 8.8 机器人平台设计之传感器

      • 8.8.1 传感器_激光雷达简介
      • 8.8.2 传感器_激光雷达使用

        8.8.3 传感器_深度相机简介
      • 8.8.4 传感器_深度相机使用
      • 8.8.5 传感器_集成
    • 8.9 本章小结
  • 第 9 章 机器人导航(实体)

    • 9.1 概述
    • 9.2 导航实现
    • 9.3 深度图像转激光数据
    • 9.4 SLAM

      • 9.4.1 SLAM实现之hector_slam
    • 9.5 本章小结

在这里插入图片描述



版权声明:本文为autolabor原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。