3.生命周期节点 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 以前在ROS1中,节点的启动顺序无法被控制,这对整个机器人系统来说是一件非常危险和不可控的事,比如说机器人传感器还未启动就开始进行数据的读取了。 在ROS2中提出了生命周期节点的概念,通过生命周期来控制和检测节点状态。 本节小鱼就带你一起学习使用下ROS2的生命周期节点。 1.生命周期节点介绍 ROS2生命周期节点是利用状态机构成...

8.3动手创建一个移动机器人 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼,本节课我们来一起动手创建一个两轮差速的移动机器人fishbot,在上一节的时候我们已经给我们的机器人安装上了雷达,本节课我们接着上节课的来继续完善我们的机器人模型。 机器人除了雷达之外,还需要IMU加速度传感器以及可以驱动的轮子,在第七章中我们曾介绍过机器人学部分,曾对两差速模型进行过介绍,所以我...

8.2RVIZ2可视化移动机器人模型 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼,上一节讲完joint和link,我们来把我们上面定义的简单的URDF(包含身体和雷达)用RVIZ2显示出来,直观的感受下,我们的机器人模型。 URDF可视化的步骤如下: 建立机器人描述功能包 建立urdf文件夹编写urdf文件 建立launch文件夹,编写launch文件 修改setup...

2.可视化坐标变换 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 运行上节课的示例,打开终端输入rviz2,打开rviz2,我们尝试在rviz2中直观的看到坐标之间的关系 1.设置默认坐标系 刚打开RVIZ2,你看到的应该是这样一个界面 我们可以看到窗口左边的配置选项,全局选项默认选择的FixedFrame为map,这个map就是rviz2默认的坐标系的名字,动动脚趾头想一下我们并没有发布m...

3.坐标变换发布监听Python实现 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 运行前面安装的jupyter,我们尝试使用代码来操作tf 在开始之前,我们总结下TF相关的操作有哪些? 广播(TransformBroadcaster):将坐标系鱼坐标系之间的位姿态关系发布出去 监听(TransformListener):获取坐标系和坐标系之间的位姿关系 TF(坐标变换TransformSt...

2.MiniConda与Jupyter介绍安装 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼,上一节我们介绍了机器人学的基础——矩阵相关知识,秉持着学以至用的原则,小鱼准备带大家先用代码来实现下矩阵的创建以及矩阵的运算。 工欲善其事,必先利其器,如果是编写机器人相关算法,小鱼最为推荐的就是使用jupyter来和ros进行通信了。 所以本节课小鱼就带你一起安装好MiniCond...

3.矩阵运算实战 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 上一节我们安装好了MiniConda和Jupyter,本节课我们继续回到学习机器人学的路上来。首先我们来学习使用一个矩阵库Numpy,并且通过Numpy将我们第一节学习到的矩阵相关计算一一实现。 1.NumPy是什么 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-Numeri...

5.齐次坐标变换 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 前面几节中,小鱼带你一起学习了使用TF进行坐标的变换,也带你通过旋转和平移求解了坐标的变换关系,但计算的过程中旋转和平移是分开计算的,那有没有一种方法,可以让旋转矩阵和平移向量合并到同一个矩阵里呢? 答案是有的,我们可以将的旋转矩阵和的平移矩阵进行组合,并添加一行(0,0,0,1)使其变成一个的方阵,其组合方式如下: 有旋转矩阵平...

4.坐标变换发布监听C实现 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 因为C无法在jupyter中直接运行,所以小鱼将CTF相关的代码放到这里,有需要的同学自取。 include<tf2/utils.h> include<tf2_ros/transform_broadcaster.h> //声明&初始化发布者 std::unique_ptr<tf...

7.机器人运动学介绍 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 机器人学是一个非常庞大的学科,凡是和机器人设计应用相关的都可以划分到机器人学中,主要有运动学和动力学、系统结构、感知传感技术、运动规划技术、决策技术等。 为了方便后面的机器人建模和仿真,本节我们对机器人的运动学进行简单的介绍和学习。 1.机器人运动学 机器人运动学研究机器人的位姿关系,主要包含正向运动学和逆向运动学两类。 正向...

2.空间坐标描述实战 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼,上一节我们学习了坐标描述和坐标变换的理论知识,本节课我们把重点放到动手实现上,通过numpy实现坐标的描述和变换,同时结合ROS2鱼RVIZ进行坐标关系可视化与求解。 通过本节你将掌握: 使用numpy表示位置矢量和旋转矩阵 使用numpy进行平移与旋转坐标变换 了解ROS2中TF2的概念 使用tf2相关C...

1.矩阵与矩阵运算 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼。本节我们来学习一下线性代数的基础中的矩阵部分,矩阵作为我们学习机器人学中最常用的基础知识,后面学习过程中我们会经常遇到,比如:表示旋转的旋转矩阵、坐标变换中的齐次矩阵、关节速度映射雅可比矩阵、仿真中的惯性矩阵等等。所以很有必要在正式学习之前,了解一下矩阵的概念及常用的矩阵定义。 1.矩阵介绍 1.1矩阵定义 由...

3.RQT工具 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼,今天来说说ROS2的RQT工具。 前面小鱼介绍过rqt_graph这个工具,我们在平时编写ROS2程序中经常使用,除了rqt_graph,ROS2中还有很多非常易用的RQT工具,一起来体验下 1.RQT是什么 RQT是一个GUI框架,通过插件的方式实现了各种各样的界面工具。 强行解读下:RQT就像插座,任何电器只要...

1.ROS参数通信原理介绍 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn ROS2的参数其实是用服务实现的,小鱼是怎么知道的呢? 随意运行一个节点,你使用下面的指令,就可以看到多出来很多的参数相关的服务。 ros2servicelist 比如启动乌龟模拟器 ros2runturtlesimturtlesim_node 多出来的这些服务就是用于操作这个节点的参数的 /turtlesi...

4.姿态转换实战 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 上一节小鱼带你一起学习了四种姿态表示方式,这节课我们就利用相关的开源库,来完成姿态的不同表示方式之间的转换。 包含12中转换形式,其中一些转换的计算方式,前面几节课中小鱼有给出相应的公式。 四元数模块:quaternions 四元数转旋转矩阵 旋转矩阵转四元数 四元数转轴角 轴角转四元数 欧拉模块:euler 欧拉角转四元数...

1.URDF统一机器人建模语言 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼,本节课我们来介绍机器人的URDF建模。 URDF(UnifiedRobotDescriptionFormat)统一机器人描述格式,URDF使用XML格式描述机器人文件。 XML是被设计用来传输和存储数据的可扩展标记语言,注意语言本身是没有含义的,只是规定了其数据格式 比如说下面这段信息: <...

5.时光记录仪之rosbag2 本节我们来介绍ROS2中常用的一个CLI工具——rosbag2,这个工具用于记录话题的数据(就像小鱼录视频一样)。 我们就可以使用这个指令将话题数据存储为文件,后续我们无需启动节点,直接可以将bag文件里的话题数据发布出来。 这个工具在我们做一个真实机器人的时候非常有用,比如我们可以录制一段机器人发生问题的话题数据,录制完成后可以多次发布出来进行测试和实验,也可以将话题数据分享给别人用于验证算法等。 我们尝试使用bag工具来记录话题数据,并二次重放。 一、安装 当我们安装ROS2的时候,这个命令行工具已经为我们自动安装了,这里我们就不需要再次安装。 二、记...

6.兼容仿真工具-Gazebo 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 今天说说Gazebo,有些同学没有学习RVIZ和Gazebo之前,分不清Gazebo和Rviz之间的区别,只道是Gazebo和RVIZ都能显示机器人模型。 1.GazeboVSRviz2 昨天小鱼有说RVIZ2是什么: 文章中讲道RVIZ2是用来可视化数据的软件,核心要义是将数据展示出来(我们不生产数据只做数据的搬运...

4.RVIZ2 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn本节我们来说一说,机器人开发中常用的数据可视化工具RVIZ2。 1.RVIZ2是什么 RVIZ2是ROS2中的一个非常重要且常用的数据可视化工具。 那数据指的是什么数据?可视化又是怎么可视化的?RVIZ2又是如何实现不同数据的可视化的呢? 答案如下: 数据:各种调试机器人时常用的数据,比如:图像数据、三维点云数据、地图数据、TF数据...

1.启动管理工具-Launch 写在前面 当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取 教程配套机器人开发平台:两驱版|四驱版 为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn 大家好,我是小鱼。今天我们来讲一讲机器人启动系统之Launch。 1.Launch启动工具介绍 1.1问题描述 对于一个机器人系统来说,往往由很多个不同功能的节点组成,启动一个机器人系统时往往需要启动多个节点,同时根据应用场景和机器人的不同,每个节点还会有不同的配置项。 如果每个节点我们都开一个新终端,敲ros2ru...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~