以下记录的是,我在学习中的一些学习笔记,这篇笔记是自己学习的学习大杂烩,主要用于记录,方便查找
一、概述
##1、机器人概念简介
##2、机器人的应用已经到渗透到方方面面了
##3、机器人的现状和开发的难度大幅度降低
主要学习开源的机器人操作系统ROS平台
二、ROS与开发环境
##1、什么是ROS
##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、创建工作空间,软件包
工作空间
软件包
如:catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
构建 :
@@3、查看依赖
rospack depends1 beginner_tutorials
rospack depends1 rospy
@@4、ros 计算图
节点
客户端
roscore
使用rosnode看看roscore运行时干了些什么
三、学习资料
##1、ROS官网-初级资料
本教程将引导您完成安装 ROS 并在计算机上设置 ROS 环境的过程。
本教程介绍了 ROS 文件系统的概念,并介绍了如何使用 roscd、rosls 和 rospack 命令行工具。
本教程介绍如何使用 roscreate-pkg 或 catkin 创建新软件包,以及使用 rospack 列出软件包依赖项。
本教程介绍了构建包的工具链。
本教程介绍了 ROS 图概念,并讨论了 roscore、rosnode 和 rosrun 命令行工具的使用。
本教程介绍了 ROS 主题以及 rostopic 和 rqt_plot 命令行工具的使用。
本教程介绍了 ROS 服务和参数,以及使用 rosservice 和 rosparam 命令行工具。
本教程介绍使用 rqt_console 和 rqt_logger_level 进行调试的 ROS,以及一次启动多个节点的 roslaunch。如果您使用 ROS fuerte 或 rqt 不完全可用的发行版,请参阅此页面以及使用此基于 rx 的旧工具的页面。
本教程展示了如何使用 roseed 使编辑更容易。
本教程介绍如何创建和构建 msg 和 srv 文件以及 rosmsg、rossrv 和 roscp 命令行工具。
本教程介绍如何在C++中编写发布方和订阅方节点。
本教程介绍如何在 python 中编写发布者和订阅者节点。
本教程介绍如何运行简单的发布服务器和订阅服务器。
本教程介绍如何在 C++ 中编写服务和客户端节点。
本教程介绍如何在 python 中编写服务和客户端节点。
本教程介绍如何运行简单服务和客户端。
本教程将教您如何将正在运行的ROS系统中的数据记录到.bag文件中,然后回放数据以在正在运行的系统中产生类似的行为
了解在 bag 文件中读取所需主题消息的两种方法,包括使用 ros_readbagfile 脚本。
roswtf 工具的基本介绍。
本教程讨论了 ROS wiki (wiki.ros.org) 的布局,并讨论了如何找到您想知道的内容。
本教程讨论了有关在真实或模拟机器人上使用 ROS 的更多信息的选项。
##2、ROS官网-中级资料
更多客户端 API 教程可以在相关包中找到(roscpp、rospy、roslisp)
本教程介绍如何手动创建 ROS 包。
这解释了如何使用 rosdep 来安装系统依赖项。
本教程介绍了为大型项目编写 roslaunch 文件的一些技巧。重点是如何构建启动文件,以便在不同情况下尽可能多地重用它们。我们将使用 2dnav_pr2 包作为案例研究。
本教程介绍如何使用两台机器启动 ROS 系统。它解释了如何使用ROS_MASTER_URI将多台计算机配置为使用单个主计算机。
本教程将向您展示如何使用 ROS 消息描述语言定义您自己的自定义消息数据类型。
本教程说明了一种在 Python 中使用带有 ROS 消息的 C++ 类的方法。
本教程介绍如何快速打包和部署 ROS 项目。
本教程介绍了用于编写教程的有用模板和宏,以及可用于指导 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教程:米兰亚达夫(付费/英语)
使用 ROS 对机器人进行编程:简介(阿拉伯语)
使用 ROS(波斯语)为机器人学习和开发
ROS初学者教程,YouTube播放列表(阿拉伯语)
https://zhangrelay.blog.csdn.net/?type=blog 【机器人领域优质创作者】
@@2、外部研讨会/讲座
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、实际机器人结构