
ROS2学习
文章平均质量分 91
芯动大师
InfoQ签约作者,阿里云专家博主,51CTO专家博主,华为云云享专家,嵌入式开发工程师,AE工程师。
座右铭:向着太阳,追逐梦想!
展开
-
打造两轮差速机器人fishbot:从零开始构建移动机器人
大家好,我是梦笔生花,我们一起来动手创建一个两轮差速的移动机器人fishbot。机器人除了雷达之外,还需要IMU加速度传感器以及可以驱动的轮子,我们曾介绍过机器人学部分,曾对两差速模型进行过介绍,所以我们还需要再创建两个差速驱动轮和一个支撑轮。所以接下来梦笔生花将带你一起给机器人添加如下部件和关节:IMU传感器部件与关节左轮子部件与关节右轮子部件与关节支撑轮子部件与关节。原创 2025-04-10 22:11:34 · 578 阅读 · 0 评论 -
ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将 Gym 环境产生的动作发布到 ROS2 中的控制话题,使得机器人能够执行相应的动作。例如,ROS2 可以处理机器人不同组件之间的消息传递,像传感器数据的采集和传输,以及控制指令的发送。一般来说,它会提供方法来将 ROS2 中的机器人数据(如传感器数据)作为 Gym 环境的状态,以及将 Gym 环境中的动作发送到 ROS2 中的机器人控制节点。如果你想在 ROS2 环境中使用自定义的机器人模型或者任务场景作为 Gym 环境,你需要定义自己的环境类。,动作空间可能是机器人的线速度。原创 2025-04-08 22:23:27 · 500 阅读 · 0 评论 -
强化学习入门指南:从基础概念到马尔科夫决策过程
我建议学习RL的第一步就是一定要扎实关于RL的一些最基本的概念、公式(不要在扎实基础的阶段图快或图囵吞枣,不然后面得花更多的时间、更大的代价去弥补),且把概念与公式的一一对应关系牢记于心,这很重要。所谓强化学习(Reinforcement Learning,简称RL),是指基于智能体在复杂、不确定的环境中最大化它能获得的奖励,从而达到自主决策的目的。Agent,一般译为智能体,就是我们要训练的模型,类似玩超级玛丽的时候操纵马里奥做出相应的动作,而这个马里奥就是Agent。原创 2025-04-07 23:21:57 · 904 阅读 · 0 评论 -
ROS2 高级组件中的webots介绍
这一篇文章主要是和大家分享一下关于ROS2 高级组件中的webots,会介绍关于webots的知识点,以及如何安装和测试环节,最后就是利用 webots 实现一个差速轮式机器人的运动仿真。本文主要通过一个差速轮式机器人仿真样例,为大家引入 webots ,但没有深入探究 webots 的建模细节。有兴趣的朋友可以自己深入研究一下内容哟。原创 2025-04-02 22:42:02 · 769 阅读 · 0 评论 -
ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将 Gym 环境产生的动作发布到 ROS2 中的控制话题,使得机器人能够执行相应的动作。例如,ROS2 可以处理机器人不同组件之间的消息传递,像传感器数据的采集和传输,以及控制指令的发送。一般来说,它会提供方法来将 ROS2 中的机器人数据(如传感器数据)作为 Gym 环境的状态,以及将 Gym 环境中的动作发送到 ROS2 中的机器人控制节点。如果你想在 ROS2 环境中使用自定义的机器人模型或者任务场景作为 Gym 环境,你需要定义自己的环境类。,动作空间可能是机器人的线速度。原创 2025-03-21 22:33:04 · 536 阅读 · 0 评论 -
Transformer图解以及相关的概念
RNN还有一个特定就是能考虑词的顺序(位置)关系,一个句子即使词完全是相同的但是语义可能完全不同,比如”北京到上海的机票”与”上海到北京的机票”,它们的语义就有很大的差别。我们上面的介绍的Self-Attention是不考虑词的顺序的,如果模型参数固定了,上面两个句子的北京都会被编码成相同的向量。为了解决这个问题,我们需要引入位置编码,也就是t时刻的输入,除了Embedding之外(这是与位置无关的),我们还引入一个向量,这个向量是与t有关的,我们把Embedding和位置编码向量加起来作为模型的输入。原创 2025-03-08 23:39:18 · 729 阅读 · 0 评论 -
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。原创 2025-03-05 22:39:02 · 617 阅读 · 0 评论 -
ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将 Gym 环境产生的动作发布到 ROS2 中的控制话题,使得机器人能够执行相应的动作。一般来说,它会提供方法来将 ROS2 中的机器人数据(如传感器数据)作为 Gym 环境的状态,以及将 Gym 环境中的动作发送到 ROS2 中的机器人控制节点。假设你有一个简单的移动机器人,状态空间可能包括机器人的二维位置[x,y]和朝向角度theta,动作空间可能是机器人的线速度v和角速度omega。例如,定义状态空间和动作空间。动作空间可以是机器人的控制指令,如电机的速度值或关节的角度变化。原创 2025-03-04 22:15:54 · 831 阅读 · 0 评论 -
ROS2 强化学习:案例与代码实战
通过上述案例,我们展示了如何在 ROS2 环境中实现强化学习,让移动机器人能够在复杂环境中自主学习导航策略。这种结合不仅提高了机器人的智能水平,还为未来更多复杂的机器人应用奠定了基础。未来,随着强化学习算法的不断发展和 ROS2 生态系统的不断完善,我们有望看到更多创新的机器人应用,如协作机器人、自动驾驶等领域的突破。原创 2025-02-25 23:04:30 · 1077 阅读 · 0 评论 -
ROS2强化学习全攻略:从基础到实战,打造智能机器人未来
ROS2 强化学习为机器人的智能化发展提供了有力的技术支持。通过系统地学习强化学习理论、ROS2 基础知识和相关数学知识,并进行大量的实践操作和案例研究,能够掌握 ROS2 强化学习的核心技术,为开发高性能的机器人应用奠定坚实的基础。在未来,随着技术的不断发展,ROS2 强化学习将在更多领域得到应用和拓展。原创 2025-02-24 22:58:59 · 1427 阅读 · 0 评论 -
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。原创 2025-02-19 23:25:49 · 1038 阅读 · 0 评论 -
Transformer图解以及相关的概念
RNN还有一个特定就是能考虑词的顺序(位置)关系,一个句子即使词完全是相同的但是语义可能完全不同,比如”北京到上海的机票”与”上海到北京的机票”,它们的语义就有很大的差别。我们上面的介绍的Self-Attention是不考虑词的顺序的,如果模型参数固定了,上面两个句子的北京都会被编码成相同的向量。为了解决这个问题,我们需要引入位置编码,也就是t时刻的输入,除了Embedding之外(这是与位置无关的),我们还引入一个向量,这个向量是与t有关的,我们把Embedding和位置编码向量加起来作为模型的输入。原创 2025-02-18 21:46:17 · 329 阅读 · 0 评论 -
深入解析PID控制算法:从理论到实践的完整指南
大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。(1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。原创 2025-02-16 21:58:27 · 655 阅读 · 0 评论 -
机器人SLAM建图与自主导航:从基础到实践
这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 ,在前面的内容中,我们介绍了差速轮式机器人的概念及应用,谈到了使用Gazebo平台搭建仿真环境的教程,主要是利用gmapping slam算法,生成一张二维的仿真环境地图。我们也会在这篇文章中继续介绍并使用这片二维的仿真环境地图,用于我们的演示。原创 2025-02-12 22:04:05 · 876 阅读 · 0 评论 -
从基础到人脸识别与目标检测
从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。本文主要系统介绍了机器视觉处理的外围知识,引入了opencv和cv_bridge,后面几篇文章,我们将用它们继续丰富 robot_vision 软件包。原创 2025-02-10 21:30:48 · 1094 阅读 · 0 评论 -
ROS机器人建模与仿真设计——模型控制理论
之前我们学习了如何使用URDF来描述一个机器人,现在就开始学习如何让这个机器人控制跑起来。首先,先把那个圆柱体补全成一个差速结构的小车。下面开始编辑URDF文件,添加其他link和joint,每次添加后,需要重新编译代码,重启RVIZ2。原创 2025-02-09 13:36:27 · 802 阅读 · 0 评论 -
机器人SLAM建图与自主导航
这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 ,在前面的内容中,我们介绍了差速轮式机器人的概念及应用,谈到了使用Gazebo平台搭建仿真环境的教程,主要是利用gmapping slam算法,生成一张二维的仿真环境地图。我们也会在这篇文章中继续介绍并使用这片二维的仿真环境地图,用于我们的演示。原创 2025-01-24 23:12:42 · 1272 阅读 · 0 评论 -
计算机视觉中的图像特征提取技术详解
计算机视觉图像特征提取是指从图像中提取出具有代表性的特征,以便计算机能够更好地理解和处理图像。常用的特征提取方法包括边缘检测、角点检测、纹理分析、颜色直方图等。在深度学习领域,卷积神经网络(CNN)也被广泛应用于图像特征提取任务。通过CNN,可以自动学习出图像中具有代表性的特征,从而提高计算机视觉领域的各项任务的准确性。原创 2025-01-23 22:52:28 · 564 阅读 · 0 评论 -
开源云原生数据仓库ByConity ELT 的测试体验
ByConity的ELT能力能够简化数据处理的复杂性,提高系统的响应速度和可靠性。通过将大部分转换操作留在分析阶段,ByConity能够更好地适应复杂的数据处理需求,特别是在实时数仓和离线数仓的场景中表现出色。从 ByConity 开源之初,我们一直将产品定位为开源云原生数据仓库。区别于传统 OLAP 产品,ByConity 采用存算分离的云原生架构,通过这种架构获得了弹性和降低资源浪费的优势,但与此同时也在一定程度上提高了产品的复杂度。原创 2025-01-22 22:21:14 · 592 阅读 · 0 评论 -
Service与Parameter Server的工作原理与应用场景
何为字典,其实就是一个个的键值对,我们小时候学习语文的时候,常常都会有一本字典,当遇到不认识的字了我们可以查部首查到这个字,获取这个字的读音、意义等等,而这里的字典可以对比理解记忆。键值kay可以理解为语文里的“部首”这个概念,每一个key都是唯一的,参照下图:每一个key不重复,且每一个key对应着一个value。也可以说字典就是一种映射关系,在实际的项目应用中,因为字典的这种静态的映射特点,我们往往将一些不常用到的参数和配置放入参数服务器里的字典里,这样对这些数据进行读写都将方便高效。原创 2025-01-20 22:54:44 · 1058 阅读 · 0 评论 -
ROS通信机制全解析
topic通信方式是异步的,发送时调用publish()方法,发送完成立即返回,不用等待反馈。subscriber通过回调函数的方式来处理消息。topic可以同时有多个subscribers,也可以同时有多个publishers。ROS中这样的例子有:/rosout、/tf等等。原创 2025-01-19 14:18:19 · 819 阅读 · 0 评论 -
ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将Gym环境产生的动作发布到ROS2中的控制话题,使得机器人能够执行相应的动作。一般来说,它会提供方法来将ROS2中的机器人数据(如传感器数据)作为Gym环境的状态,以及将Gym环境中的动作发送到ROS2中的机器人控制节点。假设你有一个简单的移动机器人,状态空间可能包括机器人的二维位置[x,y]和朝向角度theta,动作空间可能是机器人的线速度v和角速度omega。例如,定义状态空间和动作空间。动作空间可以是机器人的控制指令,如电机的速度值或关节的角度变化。原创 2025-01-18 16:19:13 · 886 阅读 · 0 评论 -
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用rivz进行可视化显示。原创 2025-01-17 23:00:36 · 1133 阅读 · 0 评论 -
打造两轮差速机器人fishbot:从零开始构建移动机器人
大家好,我是梦笔生花,我们一起来动手创建一个两轮差速的移动机器人fishbot。机器人除了雷达之外,还需要IMU加速度传感器以及可以驱动的轮子,我们曾介绍过机器人学部分,曾对两差速模型进行过介绍,所以我们还需要再创建两个差速驱动轮和一个支撑轮。所以接下来梦笔生花将带你一起给机器人添加如下部件和关节:IMU传感器部件与关节左轮子部件与关节右轮子部件与关节支撑轮子部件与关节。原创 2025-01-15 21:31:02 · 1263 阅读 · 0 评论 -
ROS核心概念解析:从Node到Master,再到roslaunch的全面指南
我们知道一个package中存放着可执行文件,可执行文件是静态的,当系统执行这些可执行文件,将这些文件加载到内存中,它就成为了动态的node。roslaunch命令首先会自动进行检测系统的roscore有没有运行,也即是确认节点管理器是否在运行状态中,如果master没有启动,那么roslaunch就会首先启动master,然后再按照launch的规则执行。是负责日志输出的一个节点,其作用是告知用户当前系统的状态,包括输出系统的error、warning等等,并且将log记录于日志文件中,原创 2025-01-14 21:25:07 · 636 阅读 · 0 评论 -
ROS通信机制详解:Service与Parameter Server的工作原理与应用场景
何为字典,其实就是一个个的键值对,我们小时候学习语文的时候,常常都会有一本字典,当遇到不认识的字了我们可以查部首查到这个字,获取这个字的读音、意义等等,而这里的字典可以对比理解记忆。键值kay可以理解为语文里的“部首”这个概念,每一个key都是唯一的,参照下图:每一个key不重复,且每一个key对应着一个value。也可以说字典就是一种映射关系,在实际的项目应用中,因为字典的这种静态的映射特点,我们往往将一些不常用到的参数和配置放入参数服务器里的字典里,这样对这些数据进行读写都将方便高效。原创 2025-01-13 18:53:15 · 1001 阅读 · 0 评论 -
ROS通信机制详解:Service与Parameter Server的工作原理与应用场景
何为字典,其实就是一个个的键值对,我们小时候学习语文的时候,常常都会有一本字典,当遇到不认识的字了我们可以查部首查到这个字,获取这个字的读音、意义等等,而这里的字典可以对比理解记忆。键值kay可以理解为语文里的“部首”这个概念,每一个key都是唯一的,参照下图:每一个key不重复,且每一个key对应着一个value。也可以说字典就是一种映射关系,在实际的项目应用中,因为字典的这种静态的映射特点,我们往往将一些不常用到的参数和配置放入参数服务器里的字典里,这样对这些数据进行读写都将方便高效。原创 2025-01-12 14:08:03 · 923 阅读 · 0 评论 -
ROS通信机制全解析:Topic、Service、Parameter Service和Actionlib的核心原理与应用
topic通信方式是异步的,发送时调用publish()方法,发送完成立即返回,不用等待反馈。subscriber通过回调函数的方式来处理消息。topic可以同时有多个subscribers,也可以同时有多个publishers。ROS中这样的例子有:/rosout、/tf等等。原创 2025-01-11 13:49:28 · 1113 阅读 · 0 评论 -
ROS核心概念解析:从Node到Master,再到roslaunch的全面指南
我们知道一个package中存放着可执行文件,可执行文件是静态的,当系统执行这些可执行文件,将这些文件加载到内存中,它就成为了动态的node。roslaunch命令首先会自动进行检测系统的roscore有没有运行,也即是确认节点管理器是否在运行状态中,如果master没有启动,那么roslaunch就会首先启动master,然后再按照launch的规则执行。是负责日志输出的一个节点,其作用是告知用户当前系统的状态,包括输出系统的error、warning等等,并且将log记录于日志文件中,原创 2025-01-10 22:52:49 · 1024 阅读 · 0 评论 -
打造两轮差速机器人fishbot:从零开始构建移动机器人
大家好,我是梦笔生花,我们一起来动手创建一个两轮差速的移动机器人fishbot。机器人除了雷达之外,还需要IMU加速度传感器以及可以驱动的轮子,我们曾介绍过机器人学部分,曾对两差速模型进行过介绍,所以我们还需要再创建两个差速驱动轮和一个支撑轮。所以接下来梦笔生花将带你一起给机器人添加如下部件和关节:IMU传感器部件与关节左轮子部件与关节右轮子部件与关节支撑轮子部件与关节。原创 2024-12-26 21:55:18 · 1182 阅读 · 0 评论 -
从初识到深入,探索机器人操作系统的进化之路
DDS其实是物联网中广泛应用的一种通信协议,类似于我们常听说的5G通信一样,DDS是一个国际标准,能够实现该标准的软件系统并不是唯一的,所以我们可以选择多个厂家提供的DDS系统,比如这里的OpenSplice、FastRTPS,还有更多厂家提供的,每一家的性能不同,适用的场景也不同。不过这就带来一个问题,每个DDS厂家的软件接口肯定是不一样的,如果我们按照某一家的接口写完了程序,想要切换其他厂家的DDS,不是要重新写代码么?这当然不符合ROS提高软件复用率的目标。原创 2024-12-17 22:22:27 · 623 阅读 · 0 评论 -
计算机视觉中的图像特征提取技术详解
计算机视觉图像特征提取是指从图像中提取出具有代表性的特征,以便计算机能够更好地理解和处理图像。常用的特征提取方法包括边缘检测、角点检测、纹理分析、颜色直方图等。在深度学习领域,卷积神经网络(CNN)也被广泛应用于图像特征提取任务。通过CNN,可以自动学习出图像中具有代表性的特征,从而提高计算机视觉领域的各项任务的准确性。原创 2024-12-15 21:30:40 · 1126 阅读 · 0 评论 -
ROS机器视觉入门:从基础到人脸识别与目标检测
从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。本文主要系统介绍了机器视觉处理的外围知识,引入了opencv和cv_bridge,后面几篇文章,我们将用它们继续丰富 robot_vision 软件包。原创 2024-12-05 23:03:41 · 1198 阅读 · 0 评论 -
ROS2:从初识到深入,探索机器人操作系统的进化之路
DDS其实是物联网中广泛应用的一种通信协议,类似于我们常听说的5G通信一样,DDS是一个国际标准,能够实现该标准的软件系统并不是唯一的,所以我们可以选择多个厂家提供的DDS系统,比如这里的OpenSplice、FastRTPS,还有更多厂家提供的,每一家的性能不同,适用的场景也不同。不过这就带来一个问题,每个DDS厂家的软件接口肯定是不一样的,如果我们按照某一家的接口写完了程序,想要切换其他厂家的DDS,不是要重新写代码么?这当然不符合ROS提高软件复用率的目标。原创 2024-11-27 21:57:49 · 831 阅读 · 0 评论 -
机器人SLAM建图与自主导航:从基础到实践
这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 ,在前面的内容中,我们介绍了差速轮式机器人的概念及应用,谈到了使用Gazebo平台搭建仿真环境的教程,主要是利用gmapping slam算法,生成一张二维的仿真环境地图。我们也会在这篇文章中继续介绍并使用这片二维的仿真环境地图,用于我们的演示。原创 2024-11-23 23:33:43 · 1662 阅读 · 1 评论 -
ROS与科大讯飞语音库集成:实现语音控制机器人小车
从这篇文章开始,我们学习机器人语音的交互,我们将在ROS上集成科大讯飞的中文语音库,实现语音控制机器人小车运动。关于语音识别和语音合成的原理 ,这里就不在赘述,有兴趣的朋友可以自己利用时间去学习和深究。这里提醒,本文的测试环境是ubuntu20.04 + ros noetic。原创 2024-11-20 22:43:37 · 1579 阅读 · 0 评论 -
ROS机器视觉入门:从基础到人脸识别与目标检测
从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。本文主要系统介绍了机器视觉处理的外围知识,引入了opencv和cv_bridge,后面几篇文章,我们将用它们继续丰富 robot_vision 软件包。原创 2024-11-18 23:34:10 · 1858 阅读 · 0 评论 -
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。原创 2024-11-15 22:49:41 · 1733 阅读 · 0 评论 -
ROS2:从初识到深入,探索机器人操作系统的进化之路
DDS其实是物联网中广泛应用的一种通信协议,类似于我们常听说的5G通信一样,DDS是一个国际标准,能够实现该标准的软件系统并不是唯一的,所以我们可以选择多个厂家提供的DDS系统,比如这里的OpenSplice、FastRTPS,还有更多厂家提供的,每一家的性能不同,适用的场景也不同。不过这就带来一个问题,每个DDS厂家的软件接口肯定是不一样的,如果我们按照某一家的接口写完了程序,想要切换其他厂家的DDS,不是要重新写代码么?这当然不符合ROS提高软件复用率的目标。原创 2024-11-10 22:23:41 · 1189 阅读 · 0 评论