![](https://img-blog.csdnimg.cn/1fd140dbbf874a8080ae25b4c718033b.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
ROS入门知识
文章平均质量分 83
以浅析ROS书籍为媒介,从理论到实践,熟悉并且入门ROS操作系统。
终问鼎
时间诉说我的故事
以后分享放到个人网站了
CSDN随缘更
长安大学一枚机器人与自动驾驶,嵌入式,深度学习爱好者
展开
-
[github上传/更新/版本控制项目]:token上传,全流程,全状况,使用教程
发现用户名+密码上传被更改了,改为用token代替密码,其他步骤基本不变,如下0.设置本地的用户名和邮箱0.查看本地的用户名和邮箱1. 初始化空的仓库2.添加想要上传的文件查看本地提交状态3.提交文件4.添加origin5.上传文件6.登陆github创建token7上传文件后续0为必做项,1-7为主要流程,其他为辅助功能。0.设置本地的用户名和邮箱告诉远程,这个文件是谁提交的。git config --global user.name "输入你的用户名"git config --global u原创 2021-12-26 14:55:05 · 1977 阅读 · 0 评论 -
【ROS读书笔记】--- 10.最终章--总结与展望
“才刚刚开始!”概括性有待掌握的问题1. 在网络环境中运行ROS2.编写更规范的程序3. 使用rviz使数据可视化4. 自己创建消息和服务的类型5. 使用tf工具管理多个坐标系三级目录概括性至此你已经准备使用ROS了,还要注意参考在线文档。建议借助现有的功能包,避免代码的重复实现,提高效率。有待掌握的问题1. 在网络环境中运行ROS本书的历程全在一台电脑上运行,要使某网络中的多台计算机运行ROS,要在网络层和ROS层分别配置。网络层保证电脑间联通,ROS曾保证所有node和master通信2原创 2021-12-26 19:41:17 · 356 阅读 · 0 评论 -
【ROS读书笔记】--- 9.rosbag--消息的录制与回放
“不要因为掌声丢掉梦想!”I、简述II、录制与回放1、准备工作2、包的录制3、包的回放-- 包的详细信息-- 疑问?III、启动文件中的包文件IV、C++中的包操作V、展望I、简述本章将介绍一个rosbag工具,通过它能够将发布在一个或者多个话题上的消息录制到一个包文件里,然后回放可以重现相似过程。II、录制与回放1、准备工作这里用到turtle自带的让小乌龟走矩形的节点(turtlesim_node 和 draw_square 两个节点)。依次打开roscore,turtlesim_node节原创 2021-12-26 01:03:28 · 500 阅读 · 0 评论 -
【ROS读书笔记】--- 8-3.服务--编写服务器端server程序
“所踏之处尚有人往!”准备工作程序源码及分析代码配置文件Cmakelist.txtpackage.xml运行效果本节将学习如何如何编写服务器cpp以及配置相关文件。大概流程基本这样,实现功能是开启小乌龟图形节点,开启我们的服务端程序,用命令行调起服务rosservice call 来控制小乌龟的基本姿态。准备工作新建功能包client以及server/src/server_.cpp程序源码及分析代码#include<ros/ros.h>#include<turtlesim/S原创 2021-12-25 22:14:27 · 366 阅读 · 0 评论 -
【ROS读书笔记】--- 8-2.服务--编写客户端client程序
“所行之路已有人行!”准备工作程序源码及分析代码配置文件Cmakelist.txtpackage.xml运行效果本节将学习如何如何编写客户端cpp以及配置相关文件。大概流程基本这样准备工作新建功能包client以及client/src/client_demo.cpp程序源码及分析代码#include<ros/ros.h>#include<turtlesim/Spawn.h> //声明请求和响应类型int main(int argc, char **argv){原创 2021-12-25 18:35:24 · 314 阅读 · 0 评论 -
【ROS读书笔记】--- 8-1.服务service基础
“既羡慕别人,也加快脚步!”服务I 、基础概念II、服务和话题的区别从命令行操作-- 查看服务列表-- 查看某个节点上的服务类型-- 查询提供某服务的节点-- 查询服务的数据类型-- 查询服务的数据类型(文件中的定义)-- 调用服务长安初雪,希望疫情早日退去。本章我们来看看服务(service)以及用命令行来对服务进行操作。以为开启一个小乌龟界面(turtlesim_node)为切入点学习。服务I 、基础概念服务是一种一对一的通信,客户端(client)发送申请(request),服务段(serv原创 2021-12-25 13:42:59 · 741 阅读 · 0 评论 -
【ROS读书笔记】--- 7.参数(parameters)
“时间见证一切!”一、简述二、通过命令行操作参数-查看参数列表-查询参数-设置参数-删除参数-创建和加载参数文件三、在C++代码中操作参数-设置参数-读取参数四、在启动文件中操作参数-设置参数-设置私有参数-从yaml文件读取参数五、展望一、简述参数(rosparameters)机制用以获取节点信息。用参数服务器维护一个变量集的值,包括很多数据类型。由于允许节点查询,故不适用于频繁随时间变更的变量。二、通过命令行操作参数以打开一个小乌龟界面为例。以下均为已经打开小乌龟界面操作。-查看参数列表ro原创 2021-12-24 16:59:52 · 1778 阅读 · 0 评论 -
【ROS读书笔记】--- 6-2.launch文件进阶
“既喜欢 谈何坚持!”一、将节点压入给定默认命名空间二、名称重映射(remapping)I、命令行启动II、launch文件启动III、反向海龟的例子三、包含(include)其他文件四、启动参数(launch arguments)I、arg和parameterII、对arg的操作五、组(group)元素六、展望一、将节点压入给定默认命名空间第五章中提到了相对名称这个概念。假如同时运行两只小乌龟,他们都属于绝对空间下,那么一定有一个会报错。此时就可以引入node的命名空间概念:对应代码如下(对应sub原创 2021-12-23 23:50:03 · 672 阅读 · 0 评论 -
【ROS读书笔记】--- 6-1.launch文件和基本说明
“别解释,去证明!”launch结构I、代码及说明II、代码执行launch文件又叫启动文件,launch文件的功能是同时执行多个node,本节我们将会掌握launch文件的使用及编写。launch结构I、代码及说明在我们的代码中,launch文件一般存放在在功能包根目录下,存放在subpose功能包example.launch下的代码如下:<launch> <node pkg="turtlesim" type="turtlesim_node" name="原创 2021-12-23 20:26:28 · 758 阅读 · 0 评论 -
【ROS读书笔记】---5. 计算图源命名
博学之、审问之、慎思之、明辨之、笃行之介绍不同的计算图源全局名称优缺点相对名称解析相对名称设置默认命名空间相对名称的意义私有名称匿名名称示例程序结束介绍前文给节点命名(“hello_ros”和"publish_velocity")以及给话题命名(“turtle1/cmd_vel”和“turtle1/pose”)等的都是计算图源名称的例子。接下来一起看看不同的计算图源名称。不同的计算图源node、topic、service、参数等统称计算图源。而每个计算图源由一个叫计算图源名称(graph reso原创 2021-12-18 20:21:49 · 1272 阅读 · 0 评论 -
【ROS读书笔记】---4. 日志消息
“抱怨身处黑暗,不如提灯前行”介绍示例程序生成日志消息查看日志消息控制台rosout日志文件启用或停用日志消息通过命令行通过图形界面通过C++代码设置日志级别总结本章将学习如何生成和查看日志消息。接上回,这两天断更学习笔记,本人电脑以及很多资料放在实验室了,因为疫情突然封校,全体隔离,后借了电脑还原资料续更,读书是 不能停止的。突破寒冬的唯一捷径就是不断学习与其抱怨身处黑暗,不如提灯前行。介绍在之前的章节中,我们经常看到“ROS_INFO_STREAM”的字样,ROS日志的核心思想是使程序生成一些简原创 2021-12-17 23:37:21 · 740 阅读 · 0 评论 -
【ROS读书笔记】--- 3-3.编写sub订阅小海龟的位姿信息
接上一篇我们完成了一个发布者的程序,本篇将完成一个订阅者(接受其他节点消息)的程序程序代码程序解读I、编写回调函数II、创建订阅者对象III、几点不同关于ros和ros_spinonce程序执行展望我们将订阅turtlesim_node发布的/turtle1/pose话题,这一话题描述海龟的位置和朝向。通过ROS_INFO_STREAM输出到控制台上。程序代码#include <ros / ros.h> #include <turtlesim / Pose.h> #incl原创 2021-12-13 21:33:37 · 2048 阅读 · 0 评论 -
【ROS读书笔记】--- 3-2.编写publish自动控制小海龟
在本文将看到自己编写publish函数给turtle话题发我们设置的消息使小海龟自动运行生成文件I、生成结构II、编写程序修改配置声明消息类型依赖库I、cmakelist文件II、package.xml文件运行程序本节我们将看到如何发送随机生成的速度指令到一个turtlesim海龟,使它漫无目的地巡游。生成文件I、生成结构在和hello功能包的同级目录下生成pubvel功能包并自动导入依赖。catkin_create_pkg pubvel roscpp打开pubvel下的src(test_ws原创 2021-12-13 13:10:51 · 1356 阅读 · 0 评论 -
【ROS读书笔记】---3-1.简单的hello
从一个hello ROS程序开始,包括分清ROS一个简单工作区的文件架构、编写程序、修改文件到执行等创建“骨架”1、创建工作区2、创建功能包编写ROS程序1、在功能包下创建src2、程序编写及解读编译运行I、声明依赖库a. 修改CMakelist文件b.修改xml文件II、声明可执行文件修改CMakelist文件III、编译工作区IV、最后步骤执行hello程序创建“骨架”1、创建工作区可以把工作区类比成一个project类的文件夹,我们在一个任务中所创建的包都应该放入其中。用标准的mkdir命令来原创 2021-12-13 11:24:29 · 1745 阅读 · 1 评论 -
【ROS读书笔记】--- 2-1. 基础概念及示例篇
本章记录了ROS的基本概念、基本操作,以及跑起来了两个基础的小程序,对于ROS的安装比较简单,一笔带过1.ROS安装关于环境变量2.开启一个小例子3.ROS的相关基本概念I . packages(功能包)介绍II . The Master(节点管理器)III . Nodes(节点)IV . 话题和消息介绍rqt_graph工具用命令行发消息再理解消息类型4.问题检查5.展望1.ROS安装ROS的安装非常简单,再浏览器上搜索基本按照流程来都可以实现。这里给出官方的教程: 帮助文档关于环境变量ROS需要原创 2021-12-11 18:25:59 · 200 阅读 · 0 评论 -
【ROS读书笔记】--- 1.理论及资料篇
理论与特点介绍笔者闲谈ROS可以做什么ROS是什么ROS帮助ROS其他笔者闲谈本人是一名对自动化,计算机,智能车等实用知识很感兴趣的一名爱好者。大学期间有幸接触且自己做一些竞赛,都是自己咔咔咔地画板子,写程序,画结构,用ROS,没有系统性的了解,最近偶有时间,可以好好学习一下ROS操作系统,书籍是《浅析ROS》,这里是我自己做的一些笔记,一天一更,望读者一起共勉。ROS可以做什么下边列举出一些应用ROS可以为机器人开发做的事情:分布式计算:多个计算机,多个进程,一台个机器人搭载多个计算机分别控原创 2021-12-10 21:38:53 · 784 阅读 · 0 评论 -
【ROS读书笔记】---2-2. 实用指令
对ROS相关基础概念的一些代码的记录、消息的补充知识指令篇I、基础的命令1. 安装功能包:2. 运行节点:II、关于packages的命令1. 查看软件包列表:2. 定位软件包:3. 查看某package里的文件4. 打开某个packageIII、关于node指令1. 启动node2. 查看node列表4. 为节点命名5. 查看节点信息6. 终止节点IV、话题和消息的命令1. 查看计算图2. 查看活跃的所有话题:3. 实时打印某话题上发布的消息内容4. 查看话题5. 查看消息类型6. 查看消息发布的频率7.原创 2021-12-12 13:21:44 · 319 阅读 · 0 评论