2022年杂学之机器人篇
迪丽瓦拉
2024-05-26 05:06:49
0

以下记录的是,我在学习中的一些学习笔记,这篇笔记是自己学习的学习大杂烩,主要用于记录,方便查找

一、概述

##1、机器人概念简介

##2、机器人的应用已经到渗透到方方面面了

##3、机器人的现状和开发的难度大幅度降低

主要学习开源的机器人操作系统ROS平台

二、ROS与开发环境

##1、什么是ROS

https://www.ros.org/

##2、搭建ROS开发环境

在Ubuntu上安装ROS:http://wiki.ros.org/cn/noetic/Installation/Ubuntu

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt update

sudo apt install ros-noetic-desktop-full

##3 、ROS 的那些命令

@@1、文件操作

@@2、创建工作空间,软件包

  1. 工作空间

  1. 软件包

如:catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

构建 :

@@3、查看依赖

rospack depends1 beginner_tutorials

rospack depends1 rospy

@@4、ros 计算图

  1. 节点

  1. 客户端

  1. roscore

  1. 使用rosnode看看roscore运行时干了些什么

三、学习资料

##1、ROS官网-初级资料

  1. 安装和配置 ROS 环境

本教程将引导您完成安装 ROS 并在计算机上设置 ROS 环境的过程。

  1. 导航 ROS 文件系统

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

  1. 创建 ROS 包

本教程介绍如何使用 roscreate-pkg 或 catkin 创建新软件包,以及使用 rospack 列出软件包依赖项。

  1. 构建 ROS 包

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

  1. 了解 ROS 节点

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

  1. 了解 ROS 主题

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

  1. 了解 ROS 服务和参数

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

  1. 使用rqt_console和启动

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

  1. 使用 rosed 在 ROS 中编辑文件

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

  1. 创建 ROS 消息和 srv

本教程介绍如何创建和构建 msg 和 srv 文件以及 rosmsg、rossrv 和 roscp 命令行工具。

  1. 编写简单的发布服务器和订阅服务器 (C++)

本教程介绍如何在C++中编写发布方和订阅方节点。

  1. 编写一个简单的发布者和订阅者(python)

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

  1. 检查简单发布服务器和订阅服务器

本教程介绍如何运行简单的发布服务器和订阅服务器。

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

本教程介绍如何在 C++ 中编写服务和客户端节点。

  1. 编写简单的服务和客户端 (Python)

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

  1. 检查简单服务和客户端

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

  1. 记录和回放数据

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

  1. 从包文件中读取消息

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

  1. 开始使用 roswtf

roswtf 工具的基本介绍。

  1. 浏览 ROS 维基

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

  1. 下一步在哪里?

本教程讨论了有关在真实或模拟机器人上使用 ROS 的更多信息的选项。

##2、ROS官网-中级资料

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

  1. 手动创建 ROS 包。

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

  1. 管理系统依赖关系

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

  1. 大型项目的启动提示

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

  1. 跨多台机器运行 ROS

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

  1. 定义自定义消息

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

  1. 在 Python 中使用 C++ 类

本教程说明了一种在 Python 中使用带有 ROS 消息的 C++ 类的方法。

  1. 快速打包您的 ROS 项目

本教程介绍如何快速打包和部署 ROS 项目。

  1. 如何编写教程

本教程介绍了用于编写教程的有用模板和宏,以及可用于指导 ros.org 的示例教程

##3、外部 ROS 学习资源

@@1、视频课程

  • Udemy Course (~16.5 hours): Muhammed Oğuz TAŞ - Temelden Gelişmişe Python ile Uygulamalı ROS Eğitimi (Turkish)

  • 初学者的ROS教程:机器人(免费)

  • 初学者的ROS教程:米兰亚达夫(付费/英语)

  • 关于Udemy的新课程,“ROS教程”(英语)

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

  • 机器人为机器人教程和 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 How To: Discover Next Generation ROS”,ROS2上的第一个在线课程

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

  • ROS 在线课程库

  • ROS每周直播课

  • 关于 ROS 的 Udemy 课程:关于从头开始学习机器人编程的视频教程

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

  • ROS问答视频教程

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

  • NooTriX 分步 ROS 教程

  • Clearpath Robotics的知识库

  • 二乐机器人 - 学习 ROS

  • ROS-工业培训班课程

  • 乔纳森·博伦的 ROS 教程

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

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

  • 从基础知识到SLAM使用URDF仿真模型学习ROS - Husarion提供

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

  • ROS初学者教程,YouTube播放列表(阿拉伯语)

  • 如何在 Ubuntu 中安装 ROS Melodic(英语:Ros Melodic)

  • ROS2 on IBM Cloud Kubernetes

  • https://zhangrelay.blog.csdn.net/?type=blog 【机器人领域优质创作者】

@@2、外部研讨会/讲座

  • 系统与机器人研究所2020年ROS编程短期课程 - 里斯本技术

  • ROS Meetup by The Construct(英语:The Construct)

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

@@3、外部书籍

  • 电子书: 穆罕默德·奥乌兹 TAŞ - 耶尼·巴斯拉扬拉尔 伊钦 乌古拉马拉拉 机器人 İşletim 西斯特米(ROS) (土耳其语)

##4、主要方向

四、机器人的视觉与计算机视觉

##1、图像处理与计算机视觉简介

##2、图像处理与计算机视觉的发展历史

##3、图像处理与计算机视觉的系统构成

##4、数字图像处理

五、机器人的建图和定位与导航

##1、地图构建

##2、机器人定位

##3、路径规划

##4、导航和gazebo仿真器

六、跟踪机器人Turtlebot

##1、跟踪机器人【仿真平台Stage】

https://www.jianshu.com/p/e006a897c775

http://doc.tianbot.com/ros2go/2473814#Turtlebot_Stage_65

https://space.bilibili.com/451561151/channel/series

##2、需求分析

##3、Turtlebot结构与在仿真器上的构建

##4、实际机器人结构

##4、基于ROS把TLD算法封装成package

##5、在实际环境中开发跟踪机器人

七、行为机器人【Nao】

##1、机器人如何协调内部行为

##2、多主体系统概念

##3、多主体理论为机器人行为协调提供支撑

相关内容