- 博客(493)
- 收藏
- 关注
原创 ROS机器视觉入门:从基础到人脸识别与目标检测
从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。本文主要系统介绍了机器视觉处理的外围知识,引入了opencv和cv_bridge,后面几篇文章,我们将用它们继续丰富 robot_vision 软件包。
2025-04-04 21:25:27
473
原创 如何用URDF文件构建机械手模型并与MoveIt集成
通过前面的操作,我们拥有了一个描述机械手的文件 six_arm.urdf,接下来我们利用该文件创建一个可以利用MoveIt进行路径规划的“工程”。urdf里面的link必须要有旋转惯量矩阵‘intertial’的,否则在gazebo里面导入模型urdf时,会报下面的错。同时,ros2_control这个节点下的内容也是要和ros2_controllers.yaml对应的,也可以先不管。上面的ros2_controllers.yaml文件是在下一步创建出来的,先不用管。文件six_arm.urdf。
2025-04-03 23:28:40
548
原创 ROS2 高级组件中的webots介绍
这一篇文章主要是和大家分享一下关于ROS2 高级组件中的webots,会介绍关于webots的知识点,以及如何安装和测试环节,最后就是利用 webots 实现一个差速轮式机器人的运动仿真。本文主要通过一个差速轮式机器人仿真样例,为大家引入 webots ,但没有深入探究 webots 的建模细节。有兴趣的朋友可以自己深入研究一下内容哟。
2025-04-02 22:42:02
673
原创 ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。
2025-04-01 22:22:36
750
原创 差速轮式机器人仿真升级:Gazebo与Rviz集成及传感器仿真详解
本篇文章我们介绍的内容是差速轮式机器人进行升级 ,我们添加相关的物理属性,使用gazebo+rviz进行仿真。通过编写机器人控制的程序,遥控机器人在gazeob仿真环境中移动,并通过rviz实时察看 camera,kinect和lidar三种传感器的仿真效果。本文的差速轮式机器人都是基于gazebo现成的包和插件,没有任何cpp代码,除了xacore建模的部分,更深入的原理和实现细节暂时不用深究。
2025-03-24 19:51:32
596
原创 打造两轮差速机器人fishbot:从零开始构建移动机器人
大家好,我是梦笔生花,我们一起来动手创建一个两轮差速的移动机器人fishbot。机器人除了雷达之外,还需要IMU加速度传感器以及可以驱动的轮子,我们曾介绍过机器人学部分,曾对两差速模型进行过介绍,所以我们还需要再创建两个差速驱动轮和一个支撑轮。所以接下来梦笔生花将带你一起给机器人添加如下部件和关节:IMU传感器部件与关节左轮子部件与关节右轮子部件与关节支撑轮子部件与关节。
2025-03-22 23:16:35
750
原创 ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将 Gym 环境产生的动作发布到 ROS2 中的控制话题,使得机器人能够执行相应的动作。例如,ROS2 可以处理机器人不同组件之间的消息传递,像传感器数据的采集和传输,以及控制指令的发送。一般来说,它会提供方法来将 ROS2 中的机器人数据(如传感器数据)作为 Gym 环境的状态,以及将 Gym 环境中的动作发送到 ROS2 中的机器人控制节点。如果你想在 ROS2 环境中使用自定义的机器人模型或者任务场景作为 Gym 环境,你需要定义自己的环境类。,动作空间可能是机器人的线速度。
2025-03-21 22:33:04
532
原创 ROS机器人建模与仿真设计——模型控制理论
之前我们学习了如何使用URDF来描述一个机器人,现在就开始学习如何让这个机器人控制跑起来。首先,先把那个圆柱体补全成一个差速结构的小车。下面开始编辑URDF文件,添加其他link和joint,每次添加后,需要重新编译代码,重启RVIZ2。
2025-03-20 19:43:57
1019
原创 ROS中的TF坐标变换:从传感器数据到机器人系统的精准定位
场景2:现有一带机械臂的机器人(比如:PR2)需要夹取目标物,当前机器人头部摄像头可以探测到目标物的坐标(x,y,z),不过该坐标是以摄像头为参考系的,而实际操作目标物的是机械臂的夹具,当前我们需要将该坐标转换成相对于机械臂夹具的坐标,这个过程如何实现?场景1:雷达与小车现有一移动式机器人底盘,在底盘上安装了一雷达,雷达相对于底盘的偏移量已知,现雷达检测到一障碍物信息,获取到坐标分别为(x,y,z),该坐标是以雷达为参考系的,如何将这个坐标转换成以小车为参考系的坐标呢?在坐标变幻中常用的msg是。
2025-03-18 19:14:31
594
原创 打造两轮差速机器人fishbot:从零开始构建移动机器人
大家好,我是梦笔生花,我们一起来动手创建一个两轮差速的移动机器人fishbot。机器人除了雷达之外,还需要IMU加速度传感器以及可以驱动的轮子,我们曾介绍过机器人学部分,曾对两差速模型进行过介绍,所以我们还需要再创建两个差速驱动轮和一个支撑轮。所以接下来梦笔生花将带你一起给机器人添加如下部件和关节:IMU传感器部件与关节左轮子部件与关节右轮子部件与关节支撑轮子部件与关节。
2025-03-16 21:25:18
580
原创 如何用URDF文件构建机械手模型并与MoveIt集成
通过前面的操作,我们拥有了一个描述机械手的文件 six_arm.urdf,接下来我们利用该文件创建一个可以利用MoveIt进行路径规划的“工程”。urdf里面的link必须要有旋转惯量矩阵‘intertial’的,否则在gazebo里面导入模型urdf时,会报下面的错。同时,ros2_control这个节点下的内容也是要和ros2_controllers.yaml对应的,也可以先不管。上面的ros2_controllers.yaml文件是在下一步创建出来的,先不用管。文件six_arm.urdf。
2025-03-15 21:12:10
483
原创 深入解析PID控制算法:从理论到实践的完整指南
大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。(1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。
2025-03-09 21:33:21
724
原创 Transformer图解以及相关的概念
RNN还有一个特定就是能考虑词的顺序(位置)关系,一个句子即使词完全是相同的但是语义可能完全不同,比如”北京到上海的机票”与”上海到北京的机票”,它们的语义就有很大的差别。我们上面的介绍的Self-Attention是不考虑词的顺序的,如果模型参数固定了,上面两个句子的北京都会被编码成相同的向量。为了解决这个问题,我们需要引入位置编码,也就是t时刻的输入,除了Embedding之外(这是与位置无关的),我们还引入一个向量,这个向量是与t有关的,我们把Embedding和位置编码向量加起来作为模型的输入。
2025-03-08 23:39:18
727
原创 开源云原生数据仓库ByConity ELT 的测试体验
ByConity的ELT能力能够简化数据处理的复杂性,提高系统的响应速度和可靠性。通过将大部分转换操作留在分析阶段,ByConity能够更好地适应复杂的数据处理需求,特别是在实时数仓和离线数仓的场景中表现出色。从 ByConity 开源之初,我们一直将产品定位为开源云原生数据仓库。区别于传统 OLAP 产品,ByConity 采用存算分离的云原生架构,通过这种架构获得了弹性和降低资源浪费的优势,但与此同时也在一定程度上提高了产品的复杂度。
2025-03-06 22:48:27
948
原创 ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。
2025-03-05 22:39:02
614
原创 ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将 Gym 环境产生的动作发布到 ROS2 中的控制话题,使得机器人能够执行相应的动作。一般来说,它会提供方法来将 ROS2 中的机器人数据(如传感器数据)作为 Gym 环境的状态,以及将 Gym 环境中的动作发送到 ROS2 中的机器人控制节点。假设你有一个简单的移动机器人,状态空间可能包括机器人的二维位置[x,y]和朝向角度theta,动作空间可能是机器人的线速度v和角速度omega。例如,定义状态空间和动作空间。动作空间可以是机器人的控制指令,如电机的速度值或关节的角度变化。
2025-03-04 22:15:54
829
原创 ROS2强化学习全攻略:从基础到实战,打造智能机器人未来
ROS2 强化学习为机器人的智能化发展提供了有力的技术支持。通过系统地学习强化学习理论、ROS2 基础知识和相关数学知识,并进行大量的实践操作和案例研究,能够掌握 ROS2 强化学习的核心技术,为开发高性能的机器人应用奠定坚实的基础。在未来,随着技术的不断发展,ROS2 强化学习将在更多领域得到应用和拓展。
2025-03-02 20:52:07
767
原创 ROS2 强化学习:案例与代码实战
通过上述案例,我们展示了如何在 ROS2 环境中实现强化学习,让移动机器人能够在复杂环境中自主学习导航策略。这种结合不仅提高了机器人的智能水平,还为未来更多复杂的机器人应用奠定了基础。未来,随着强化学习算法的不断发展和 ROS2 生态系统的不断完善,我们有望看到更多创新的机器人应用,如协作机器人、自动驾驶等领域的突破。
2025-02-25 23:04:30
1059
原创 ROS2强化学习全攻略:从基础到实战,打造智能机器人未来
ROS2 强化学习为机器人的智能化发展提供了有力的技术支持。通过系统地学习强化学习理论、ROS2 基础知识和相关数学知识,并进行大量的实践操作和案例研究,能够掌握 ROS2 强化学习的核心技术,为开发高性能的机器人应用奠定坚实的基础。在未来,随着技术的不断发展,ROS2 强化学习将在更多领域得到应用和拓展。
2025-02-24 22:58:59
1361
原创 关于雷龙CS SD NAND(贴片式TF卡)的测评体验
使用pSLC技术,拥有高容量的同时兼具SLC的特性,不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI,兼容拔插式TF卡/SD卡,可替代普通TF卡/SD卡,尺寸6.2x8mm,内置平均读写算法,通过1万次随机掉电测试,耐高低温,机贴手贴都非常方便,速度级别Class10,标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。
2025-02-23 23:03:27
681
1
原创 开源云原生数据仓库ByConity ELT 的测试体验
ByConity的ELT能力能够简化数据处理的复杂性,提高系统的响应速度和可靠性。通过将大部分转换操作留在分析阶段,ByConity能够更好地适应复杂的数据处理需求,特别是在实时数仓和离线数仓的场景中表现出色。从 ByConity 开源之初,我们一直将产品定位为开源云原生数据仓库。区别于传统 OLAP 产品,ByConity 采用存算分离的云原生架构,通过这种架构获得了弹性和降低资源浪费的优势,但与此同时也在一定程度上提高了产品的复杂度。
2025-02-21 23:25:54
562
原创 ROS2:从初识到深入,探索机器人操作系统的进化之路
DDS其实是物联网中广泛应用的一种通信协议,类似于我们常听说的5G通信一样,DDS是一个国际标准,能够实现该标准的软件系统并不是唯一的,所以我们可以选择多个厂家提供的DDS系统,比如这里的OpenSplice、FastRTPS,还有更多厂家提供的,每一家的性能不同,适用的场景也不同。不过这就带来一个问题,每个DDS厂家的软件接口肯定是不一样的,如果我们按照某一家的接口写完了程序,想要切换其他厂家的DDS,不是要重新写代码么?这当然不符合ROS提高软件复用率的目标。
2025-02-20 23:16:49
860
原创 ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。
2025-02-19 23:25:49
1033
原创 Transformer图解以及相关的概念
RNN还有一个特定就是能考虑词的顺序(位置)关系,一个句子即使词完全是相同的但是语义可能完全不同,比如”北京到上海的机票”与”上海到北京的机票”,它们的语义就有很大的差别。我们上面的介绍的Self-Attention是不考虑词的顺序的,如果模型参数固定了,上面两个句子的北京都会被编码成相同的向量。为了解决这个问题,我们需要引入位置编码,也就是t时刻的输入,除了Embedding之外(这是与位置无关的),我们还引入一个向量,这个向量是与t有关的,我们把Embedding和位置编码向量加起来作为模型的输入。
2025-02-18 21:46:17
326
原创 深入解析PID控制算法:从理论到实践的完整指南
大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。(1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。
2025-02-16 21:58:27
650
原创 ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用 rivz 进行可视化显示。
2025-02-15 23:02:53
1197
原创 机器人SLAM建图与自主导航:从基础到实践
这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 ,在前面的内容中,我们介绍了差速轮式机器人的概念及应用,谈到了使用Gazebo平台搭建仿真环境的教程,主要是利用gmapping slam算法,生成一张二维的仿真环境地图。我们也会在这篇文章中继续介绍并使用这片二维的仿真环境地图,用于我们的演示。
2025-02-12 22:04:05
850
原创 Transformer图解以及相关的概念
RNN还有一个特定就是能考虑词的顺序(位置)关系,一个句子即使词完全是相同的但是语义可能完全不同,比如”北京到上海的机票”与”上海到北京的机票”,它们的语义就有很大的差别。我们上面的介绍的Self-Attention是不考虑词的顺序的,如果模型参数固定了,上面两个句子的北京都会被编码成相同的向量。为了解决这个问题,我们需要引入位置编码,也就是t时刻的输入,除了Embedding之外(这是与位置无关的),我们还引入一个向量,这个向量是与t有关的,我们把Embedding和位置编码向量加起来作为模型的输入。
2025-02-11 22:35:39
1039
原创 从基础到人脸识别与目标检测
从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。本文主要系统介绍了机器视觉处理的外围知识,引入了opencv和cv_bridge,后面几篇文章,我们将用它们继续丰富 robot_vision 软件包。
2025-02-10 21:30:48
1093
原创 ROS机器人建模与仿真设计——模型控制理论
之前我们学习了如何使用URDF来描述一个机器人,现在就开始学习如何让这个机器人控制跑起来。首先,先把那个圆柱体补全成一个差速结构的小车。下面开始编辑URDF文件,添加其他link和joint,每次添加后,需要重新编译代码,重启RVIZ2。
2025-02-09 13:36:27
792
原创 开源云原生数据仓库ByConity ELT 的测试体验
ByConity的ELT能力能够简化数据处理的复杂性,提高系统的响应速度和可靠性。通过将大部分转换操作留在分析阶段,ByConity能够更好地适应复杂的数据处理需求,特别是在实时数仓和离线数仓的场景中表现出色。从 ByConity 开源之初,我们一直将产品定位为开源云原生数据仓库。区别于传统 OLAP 产品,ByConity 采用存算分离的云原生架构,通过这种架构获得了弹性和降低资源浪费的优势,但与此同时也在一定程度上提高了产品的复杂度。
2025-02-07 22:21:30
931
原创 ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将 Gym 环境产生的动作发布到 ROS2 中的控制话题,使得机器人能够执行相应的动作。一般来说,它会提供方法来将 ROS2 中的机器人数据(如传感器数据)作为 Gym 环境的状态,以及将 Gym 环境中的动作发送到 ROS2 中的机器人控制节点。假设你有一个简单的移动机器人,状态空间可能包括机器人的二维位置[x,y]和朝向角度theta,动作空间可能是机器人的线速度v和角速度omega。例如,定义状态空间和动作空间。动作空间可以是机器人的控制指令,如电机的速度值或关节的角度变化。
2025-02-06 22:43:05
582
原创 机器人SLAM建图与自主导航
这篇文章我开始和大家一起探讨机器人SLAM建图与自主导航 ,在前面的内容中,我们介绍了差速轮式机器人的概念及应用,谈到了使用Gazebo平台搭建仿真环境的教程,主要是利用gmapping slam算法,生成一张二维的仿真环境地图。我们也会在这篇文章中继续介绍并使用这片二维的仿真环境地图,用于我们的演示。
2025-01-24 23:12:42
1268
原创 计算机视觉中的图像特征提取技术详解
计算机视觉图像特征提取是指从图像中提取出具有代表性的特征,以便计算机能够更好地理解和处理图像。常用的特征提取方法包括边缘检测、角点检测、纹理分析、颜色直方图等。在深度学习领域,卷积神经网络(CNN)也被广泛应用于图像特征提取任务。通过CNN,可以自动学习出图像中具有代表性的特征,从而提高计算机视觉领域的各项任务的准确性。
2025-01-23 22:52:28
562
原创 开源云原生数据仓库ByConity ELT 的测试体验
ByConity的ELT能力能够简化数据处理的复杂性,提高系统的响应速度和可靠性。通过将大部分转换操作留在分析阶段,ByConity能够更好地适应复杂的数据处理需求,特别是在实时数仓和离线数仓的场景中表现出色。从 ByConity 开源之初,我们一直将产品定位为开源云原生数据仓库。区别于传统 OLAP 产品,ByConity 采用存算分离的云原生架构,通过这种架构获得了弹性和降低资源浪费的优势,但与此同时也在一定程度上提高了产品的复杂度。
2025-01-22 22:21:14
589
原创 Service与Parameter Server的工作原理与应用场景
何为字典,其实就是一个个的键值对,我们小时候学习语文的时候,常常都会有一本字典,当遇到不认识的字了我们可以查部首查到这个字,获取这个字的读音、意义等等,而这里的字典可以对比理解记忆。键值kay可以理解为语文里的“部首”这个概念,每一个key都是唯一的,参照下图:每一个key不重复,且每一个key对应着一个value。也可以说字典就是一种映射关系,在实际的项目应用中,因为字典的这种静态的映射特点,我们往往将一些不常用到的参数和配置放入参数服务器里的字典里,这样对这些数据进行读写都将方便高效。
2025-01-20 22:54:44
1052
原创 ROS通信机制全解析
topic通信方式是异步的,发送时调用publish()方法,发送完成立即返回,不用等待反馈。subscriber通过回调函数的方式来处理消息。topic可以同时有多个subscribers,也可以同时有多个publishers。ROS中这样的例子有:/rosout、/tf等等。
2025-01-19 14:18:19
799
原创 ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练
同时,也会有一个函数来将Gym环境产生的动作发布到ROS2中的控制话题,使得机器人能够执行相应的动作。一般来说,它会提供方法来将ROS2中的机器人数据(如传感器数据)作为Gym环境的状态,以及将Gym环境中的动作发送到ROS2中的机器人控制节点。假设你有一个简单的移动机器人,状态空间可能包括机器人的二维位置[x,y]和朝向角度theta,动作空间可能是机器人的线速度v和角速度omega。例如,定义状态空间和动作空间。动作空间可以是机器人的控制指令,如电机的速度值或关节的角度变化。
2025-01-18 16:19:13
876
原创 ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
本篇文章介绍的是ROS高效进阶内容,使用URDF语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。差速轮式机器人:两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。此次建模,不引入算法,只是把机器人模型的样子做出来,所以只使用rivz进行可视化显示。
2025-01-17 23:00:36
1130
原创 深入解析PID控制算法:从理论到实践的完整指南
大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。(1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。
2025-01-16 22:21:33
115
圣诞树桌面美丽特效动画
2022-12-16
世界杯-拉伊卜的3D打印模型
2022-12-16
元旦倒计时代码+HTML5
2022-12-14
3D跨年烟花代码+3D烟花特效
2022-12-14
Python+圣诞树+前端
2022-12-10
HTML+CSS+爱心代码
2022-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人