- 博客(364)
- 资源 (11)
- 收藏
- 关注

原创 博客迁移通知
为方便博客内容的管理,今后本人的博客内容会在个人网站——古月居(http://www.guyuehome.com)进行更新,CSDN博客不作主要维护,感谢大家的支持。由于网站方面的能力有限,个人网站可能会存在一些问题,欢迎大家批评指正。 同时欢迎各位关注“古月居”微信公众号,第一时间了解ROS机器人的相关动态。...
2019-12-18 15:02:10
20949
8

原创 ROS探索总结(十九)——如何配置机器人的导航功能
ROS的二维导航功能包,简单来说,就是根据输入的里程计等传感器的信息流和机器人的全局位置,通过导航算法,计算得出安全可靠的机器人速度控制指令。但是,如何在特定的机器人上实现导航功能包的功能,却是一件较为复杂的工程。作为导航功能包使用的必要先决条件,机器人必须运行ROS,发布tf变换树,并发布使用ROS消息类型的传感器数据。同时,为了让机器人更好的完成导航任务,开发者还要根据
2016-01-18 22:07:23
33471
13

原创 ROS探索总结(十八)——重读tf
在之前的博客中,有讲解tf的相关内容,本篇博客重新整理了tf的介绍和学习内容,对tf的认识会更加系统。1 tf简介1.1 什么是tf tf是一个让用户随时间跟踪多个参考系的功能包,它使用一种树型数据结构,根据时间缓冲并维护多个参考系之间的坐标变换关系,可以帮助用户在任意时间,将点、向量等数据的坐标,在两个参考系中完成坐标变换。 tf的相关设计思想,可以参见:tf设计 1
2015-12-02 23:11:10
38667
5

原创 ROS探索总结(十七)——构建完整的机器人应用系统
上一篇博客介绍了HRMRP机器人平台的设计,基于该平台,可以完成丰富的机器人应用,以较为典型的机器人导航为例,如何使用HRMRP来完成相应的功能?本篇博客将详细介绍如何将HRMRP应用到实际的应用当中。
2015-09-20 12:30:40
16565
9

原创 ROS探索总结(十六)——HRMRP机器人的设计
HRMRP(Hybrid Real-time Mobile Robot Platform,混合实时移动机器人平台)机器人是我在校期间和实验室的其他小伙伴一起从零开始设计并开发的一款机器人平台,其中大部分扩展电路、驱动和ROS相关的底层功能都是我们自己做的。该机器人平台具有软硬件可编程、灵活性强、模块化、易扩展、实时性强等特点。HRMRP具备丰富的传感器和执行器,在该平台的基础上,我们设计并实现了机器人SLAM、自主导航、人脸识别、机械臂控制等功能。
2015-09-13 15:22:10
12551
4

原创 ROS探索总结(十五)——amcl(导航与定位)
在理解了move_base的基础上,我们开始机器人的定位与导航。gmaping包是用来生成地图的,需要使用实际的机器人获取激光或者深度数据,所以我们先在已有的地图上进行导航与定位的仿真。 amcl是移动机器人二维环境下的概率定位系统。它实现了自适应(或kld采样)的蒙特卡罗定位方法,其中针对已有的地图使用粒子滤波器跟踪一个机器人的姿态。一、测试 首先运行
2013-09-27 21:10:33
71210
33

原创 ROS探索总结(十四)——move_base(路径规划)
在上一篇的博客中,我们一起学习了ROS定位于导航的总体框架,这一篇我们主要研究其中最重要的move_base包。
2013-07-25 16:26:22
91411
35

原创 ROS探索总结(十三)——导航与定位框架
导航与定位是机器人研究中的重要部分。 一般机器人在陌生的环境下需要使用激光传感器(或者深度传感器转换成激光数据),先进行地图建模,然后在根据建立的地图进行导航、定位。在ROS中也有很多完善的包可以直接使用。 在ROS中,进行导航需要使用到的三个包是: (1) move_base:根据参照的消息进行路径规划,使移动机器人到达指定的位置;
2013-07-15 18:03:43
51775
15

原创 ROS探索总结(十二)——坐标系统
在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换。 相关链接:http://www.ros.org/wiki/tf/Tutorials#Learning_tf一、tf简介 我们通过一个小小的实例来介绍tf的作用。1、安装turtle包$ rosdep install turtle_tf rviz$ rosmake turt
2013-07-05 19:55:12
60153
5

原创 ROS探索总结(十一)——机器视觉
机器视觉在计算机时代已经越来越流行,摄像头价格越来越低廉,部分集成深度传感器的混合型传感器也逐渐在研究领域普及,例如微软推出的Kinect,而且与之配套的软件功能十分强大,为开发带来了极大的便利。ROS集成了Kinect的的驱动包OpenNI,而且使用OpenCV库可以进行多种多样的图像处理。 注:本章内容及代码均参考《ROS by Example》书中的第十章。一、图像
2013-06-24 21:24:19
55976
19

原创 ROS探索总结(十)——语音控制
如今语音识别在PC机和智能手机上炒的火热,ROS走在技术的最前沿当然也不会错过这么帅的技术。ROS中使用了CMU Sphinx和Festival开源项目中的代码,发布了独立的语音识别包,而且可以将识别出来的语音转换成文字,然后让机器人智能处理后说话。一、语音识别包1、安装 安装很简单,直接使用ubuntu命令即可,首先安装依赖库:$ sudo apt-ge
2013-06-15 22:03:03
27712
10

原创 ROS探索总结(九)——操作杆控制
对于移动机器人,键盘的控制往往满足不了我们的需求,以前看好多电影里边都是用一个摇杆来控制机器人的,简直帅爆了,正好我这里有一个操作杆,那就来尝试感受一下。 操作杆(joystick)控制会更加有操作感,ROS中的很多机器人也带有操作杆的相关代码,只需要简单的移植即可。我们使用的是赛钛客(saitek)的一款操作杆,如下图所示: 使用的移植代码是clear
2013-06-06 21:39:46
12747
15

原创 ROS探索总结(八)——键盘控制
如果尝试过前面的例子,有没有感觉每次让机器人移动还要在终端里输入指令,这也太麻烦了,有没有办法通过键盘来控制机器人的移动呢?答案室当然的了。我研究了其他几个机器人键盘控制的代码,还是有所收获的,最后移植到了smartcar上,实验成功。一、创建控制包 首先,我们为键盘控制单独建立一个包:roscreate-pkg smartcar_teleop rospy geometr
2013-06-01 17:04:12
45523
8

原创 ROS探索总结(七)——smartcar源码上传
看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸。其实我也是一名ROS的新手,ROS的相关资料少,上手难度大,我现在也在摸索着学习,还希望大家都将自己的学习成果在网上或者ROS群里分享。 我看到有些人在运行我前面写的smartcar程序,为了方便大家的学习,我这两天整理了一下代码,已经上传到csdn上,下载请见: http://download.cs
2013-05-31 13:30:28
13957
1

原创 ROS探索总结(六)——使用smartcar进行仿真
之前的博客中,我们使用rviz进行了TurtleBot的仿真,而且使用urdf文件建立了自己的机器人smartcar,本篇博客是将两者进行结合,使用smartcar机器人在rviz中进行仿真。一、模型完善 之前我们使用的都是urdf文件格式的模型,在很多情况下,ROS对urdf文件的支持并不是很好,使用宏定义的.xacro文件兼容性更好,扩展性也更好。所以我们把之前的urdf
2013-05-20 19:04:19
25757
62

原创 ROS探索总结(五)——创建简单的机器人模型smartcar
前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人smartcar,为后面建立复杂机器人打下基础。一、创建硬件描述包roscreat-pkg smartcar_description urdf二、智能车尺寸数据 因为建立的是一个非常简单的机器人,所以我们尽量使用简单的元素:使用长方体代替车模,使用圆柱代替车轮,具体尺寸
2013-05-09 10:56:40
33663
13

原创 ROS探索总结(四)——简单的机器人仿真
前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了。接下来我们涉及到的很多例程都是《ROS by Example》这本书的内容,我是和群里的几个人一起从国外的亚马逊上买到的,还是很有参考价值的,不过前提是你已经熟悉之前的新手教程了。一、ROS by Example 这本书是关于国外关于ROS出版的第一本书,主要针
2013-04-30 21:21:41
58064
13

原创 ROS探索总结(三)——ROS新手教程
前面我们介绍了ROS的特点和结构,接下来就要开始准备动手感受一下ROS的强大了。ROS官网的wiki上针对新手的教程很详细,最好把所有的新手教程都搞清楚,这是后面开发最基础的东西。尽管如此,ROS对于新手来说还是很难上手,这里,我就来总结一下我当时学习的历程,也为其他新手作为一个参考。一、ROS的安装 ROS的安装当然是我们开始动手的第一步了,这里我们使用的操作系统是
2013-04-16 21:56:23
132152
33

原创 ROS探索总结(二)——ROS总体框架
一、 总体结构 根据ROS系统代码的维护者和分布来标示,主要有两大部分: (1)main:核心部分,主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具,以及整个ROS的核心部分的程序编写。 (2)universe:全球范围的代码,有不同国家的ROS社区组织开发和维护。一种是库的代码,如OpenCV、PCL等
2013-04-12 22:23:30
44268
2

原创 ROS探索总结(一)——ROS简介
一、历史 随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮。 ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机
2013-04-12 21:30:25
68262
11
原创 Transformer图解
要知道具体的指代,我们需要在理解it的时候同时关注所有的单词,重点是animal、street和tired,然后根据知识(常识)我们知道只有animal才能tired,而street是不能tired的。对于输入的每一个向量(第一层是词的Embedding,其它层是前一层的输出),我们首先需要生成3个新的向量Q、K和V,分别代表查询(Query)向量、Key向量和Value向量。首先把模型看成一个黑盒,如下图所示,对于机器翻译来说,它的输入是源语言(法语)的句子,输出是目标语言(英语)的句子。
2025-02-12 10:00:00
488
原创 ROS多消息同步与多消息回调
多传感器数据融合的时候,由于各个传感器采集数据的频率的不同,例如odom 50Hz、Imu 100Hz、camera 25Hz,需要将传感器数据进行时间同步后才能进行融合。这时就需要我们使用数据融合。当然只有多个主题都有数据的时候才可以触发回调函数。如果其中一个主题的发布节点崩溃了,则整个回调函数永远无法触发回调。当多个主题频率一致的时候也无法保证回调函数的频率等于订阅主题的频率,一般会很低。实际测试订阅两个需要同步的主题,odom 50Hz、imu 50Hz,而回调函数的频率只有24Hz左右。
2025-02-11 10:00:00
352
原创 C/C++ 中的未定义行为(Undefined Behavior, UB)
实现定义行为是指程序的行为依赖于具体的实现,而标准要求实现必须为每种行为提供文档说明。例如,int类型在不同环境下的大小可能不同,标准要求至少为 16 位,而大多数环境下为 32 位。未定义行为则是对程序行为没有任何限制,标准不要求程序产生任何合法或有意义的结果。例如,访问非法内存就是未定义行为。当然可以,下面是对之前代码的修改和未定义行为检测方法的详细说明。C/C++ 的设计目标之一是高效,因此未定义行为的存在使得编译器能够优化程序。
2025-02-10 10:00:00
568
原创 经典文献阅读之--DriveVLM(自动驾驶与大型视觉语言模型的融合)
本文介绍了:自动驾驶与大型视觉语言模型的融合。城市环境中自动驾驶的一个主要障碍是理解复杂且长尾的场景,例如具有挑战性的路况和微妙的人类行为。为此,本文引入了DriveVLM,这是一种利用视觉语言模型(VLMs)增强场景理解和规划能力的自动驾驶系统。DriveVLM集成了用于场景描述、场景分析和分层规划的思维链(CoT)模块的独特组合。此外,意识到VLM在空间推理和繁重的计算需求方面的局限性,本文提出了DriveVLM-Dual,这是一种将DriveVLM的优势与传统自动驾驶流程相结合的混合系统。
2025-02-09 10:00:00
648
原创 什么是大语言模型和RAG
大型语言模型(LLM)相较于传统的语言模型具有更强大的能力,然而在某些情况下,它们仍可能无法提供准确的答案。为了解决大型语言模型在生成文本时面临的一系列挑战,提高模型的性能和输出质量,研究人员提出了一种新的模型架构:检索增强生成(RAG, Retrieval-Augmented Generation)。该架构巧妙地整合了从庞大知识库中检索到的相关信息,并以此为基础,指导大型语言模型生成更为精准的答案,从而显著提升了回答的准确性与深度。
2025-02-08 10:00:00
651
原创 基于zbar的二维码识别
微信登录要扫二维码,手机支付要扫二维码,共享单车也要扫二维码。除了这些在日常生活中已经非常普及的扫码场景之外,二维码在工业生产中也已经普遍应用,比如使用二维码标记物料型号,或者在二维码中保存产品的生产信息,只要通过相机扫一扫,很快就可以看到对应的内容。既然二维码可以保存很多信息,那有没有可能和机器人应用结合?当然没有问题,在很多机器人应用场景中也有广泛的二维码识别需求。二维码识别和机器人视觉巡线类似,大家同样可以使用ROS 2与OpenCV 结合的方式,让机器人识别二维码并执行预先在二维码中设定的一些动作。
2025-02-07 10:27:28
235
原创 SLAM与IoT的深度融合:如何通过多设备协同与云端优化提升机器人导航与建图效率
随着物联网(IoT)的兴起,将SLAM与IoT结合,不仅能扩展SLAM的应用边界,还能提升IoT系统的智能化水平,使其能够实时感知环境并作出反应。例如,在智慧城市中,基于IoT的SLAM技术可以部署在无人配送车、无人机和清扫机器人中,使其能够实时采集环境信息,构建共享地图,提升整体效率。本文将从基础理论、系统设计、技术实现和运行效果等方面,对SLAM与IoT的深度融合进行详细探讨。SLAM: SLAM技术的目标是在机器人未知环境中,通过传感器采集环境信息,同时完成自定位和环境地图构建。
2025-02-06 10:00:00
874
1
原创 突破封闭集限制:OvSGTR引领开放词汇场景图生成新纪元
在这篇文章中,作者提出了四个不同的场景图生成的设定,分别是OvD-SGGOvR-SGGOvD+R-SGG封闭集SGG (Closed-set SGG):这是最传统的SGG方式,所有参与训练和测试的对象类别及关系都是事先确定好的。这意味着模型只能识别那些它在训练阶段见过的东西。基于开放词汇的对象检测SGG (OvD-SGG):不同于封闭集SGG,这里允许模型去认识那些不在初始集合内的新物体。想象一下,如果你给一个孩子看了一些动物图片,并教会了他们辨认猫、狗等常见宠物;
2025-02-04 10:00:00
1504
原创 无人机 PX4 飞控 | PX4源码添加自定义模块方法
PX4的模块是构成PX4飞控系统的重要组成部分,负责实现特定的功能,如飞控算法、传感器数据处理、通信协议等。每个模块负责特定的任务,例如:navigator模块负责航线规划与任务执行。commander模块负责处理飞行模式切换和系统状态监控。sensors模块负责传感器数据的采集与处理。PX4的设计允许用户添加自定义模块,从而扩展系统的功能。模块之间通过UORB(微ORB)进行数据交换,实现高效的信息传递。
2025-02-03 10:00:00
802
原创 ROS应用之AMCL 多机器人支持
默认AMCL通常仅支持单机器人定位,在多机器人场景下,因坐标变换冲突、粒子分布混乱以及ROS话题命名空间未隔离等问题,难以直接应用。本章将深度讲解AMCL在多机器人系统中的支持及其实现,包括解决问题的方法、多机器人AMCL的实现流程及关键点,最后通过实例和代码展示完整实现,帮助读者理解和部署多机器人AMCL系统。在地图复杂区域(如狭窄走廊或障碍物较多的区域),粒子滤波器的收敛速度明显加快,机器人定位的鲁棒性增强。
2025-02-02 10:00:00
1040
原创 【token】【1】零基础token pipline快速实战
大家对transformers的原理大致都了解了,但是论文里常常说到的token到底是什么?要如何控制token?怎么自定义token?由于token机制比较复杂,作为token讲解的开篇,我们先从快速应用现有的pipline开始,后面再一一探究底层的原理以及实战。importos""""""可以看到,pipeline自动选择了预训练好的模型来完成任务。与文本生成类似,我们也可以通过max_length或min_length参数来控制返回摘要的长度。
2025-02-01 10:00:00
548
原创 ROS应用之IMU碰撞检测与接触事件识别
碰撞检测与接触事件识别是机器人与环境交互中的重要任务,尤其是在复杂的动态环境中。IMU(惯性测量单元)作为一种高频率、低延迟的传感器,因其能够检测加速度、角速度等动态变化而成为实现碰撞检测的核心手段之一。本文将围绕IMU碰撞检测与接触事件识别展开详细讲解,包括理论介绍、参数设计、部署环境、代码实现与解读、运行效果等内容。在碰撞或接触事件发生时,IMU的加速度信号会出现瞬态跃变,而角速度信号可能显示出明显的波动。IMU的高采样率(如100Hz或更高)保证了对快速变化的碰撞事件的实时响应。
2025-01-31 10:00:00
866
原创 基于强化学习的机器人自主导航与避障
自主导航与避障是机器人领域的核心研究方向之一,传统的避障算法多依赖于先验模型和规则设计。然而,面对复杂且动态的环境,这些算法常表现出一定的局限性。强化学习(ReinforcementLearning,RL)通过与环境交互,能够学习到最优策略,无需显式建模,是解决导航与避障问题的一种有效方法。我们结合经典的深度Q网络(DeepQ-Network,DQN)算法,设计并实现一个机器人自主避障系统,涵盖从理论到部署的完整流程。:从状态到动作的映射,表示机器人的决策机制。
2025-01-30 10:00:00
1214
1
原创 【大模型入门必看】LLM大语言模型导读
在规模扩展定律(ScalingLaws)被证明对语言模型有效之后,研究者构建出了许多大语言模型。尤其是2022年底面向普通消费者的ChatGPT模型的出现,正式标志着自然语言处理进入大语言模型时代。本章将简要梳理大语言模型的技术要点以及构建过程,并且列举了可用于预训练以及微调模型的常用数据集,介绍了目前开发大语言模型常用的代码库、预训练大语言模型的步骤以及涉及的关键技术,包括数据准备阶段、模型架构以及实际的预训练操作。
2025-01-29 10:00:00
1159
原创 边缘计算与ROS结合:如何实现分布式机器人智能决策?
通过将计算和存储任务分散到边缘设备,机器人能够实时处理传感器数据并快速做出决策,特别适用于动态和多变的环境。:在多机器人系统中,每个机器人基于自身感知与邻居信息独立决策,同时通过通信协作以完成全局任务。:在需要全局协调时,部分计算任务由边缘集群中的高性能节点处理,并广播优化结果。:通过ROS的消息发布/订阅机制,机器人交换信息,如位置、任务状态等。:一种开源的机器人中间件框架,支持分布式节点通信,提供丰富的工具集(如。:每台机器人作为边缘节点,部署ROS系统,连接局部传感器和执行器。
2025-01-28 10:00:00
694
原创 经典文献阅读之--Integrating End-to-End and Modular Driving....:(端到端驾驶方法在线极端情况检测)
集成端到端且模块化驾驶方法用于自动驾驶中在线极端情况检测。在线极端情况检测对于确保自动驾驶汽车的安全性是至关重要的。目前的自动驾驶方法可以分为模块化方法和端到端方法。为了利用这两者的优势,《》提出了一种在线极端情况检测方法,其将端到端方法集成到模块化系统中。模块化系统接管了主要的驾驶任务,而端到端网络作为辅助网络并行运行,然后将系统之间的差异用于极端情况检测。这篇文章没有开源,但是也许可以获取一些启发,毕竟李想说解决不了cornercase,就解决cornercase的人。
2025-01-27 10:00:00
523
原创 ROS应用之SwarmSim在ROS 中的协同路径规划
在多机器人系统(Multi-RobotSystems,MRS)中,SwarmSim是一个常用的模拟工具,可以对多机器人进行仿真以实现复杂任务的协同。协同路径规划是指多机器人在同一环境中找到彼此不发生冲突的最优路径,以完成各自的目标任务。:3台机器人,分别从不同的起点(如(1,1),(3,5),(8,8))出发,到达各自目标点(如(9,9),(1,8),(5,3))。其中,N为机器人总数,Cost(Pi)表示第i个机器人的路径代价。计算当前路径的总代价,用于比较不同路径规划结果的优劣。
2025-01-26 10:00:00
923
1
原创 语音控制与自然语言理解在 ROS 中的应用
ROS(RobotOperatingSystem)为机器人开发提供了强大的工具支持,使得语音控制和自然语言理解在机器人应用中更加高效和灵活。本文将基于ROS系统,深入讲解如何通过语音识别(ASR,AutomaticSpeechRecognition)与自然语言理解,实现对机器人动作的语音控制。在ROS中,通过语音节点接收用户输入,并将解析后的意图发送到其他功能节点,完成指令执行。对文本进行解析,提取出语义信息和意图的过程,包括意图识别和实体抽取。文件,添加机器人控制的意图和槽位。
2025-01-25 10:00:00
1029
原创 具身智能的大模型?——OpenVLA
为了促进未来的研究和发展,机器人领域需要类似开源语言模型生态系统的开源、通用的VLA,支持有效的微调和适应。基于此,作者提出了OpenVLA——一个70亿参数的开源VLA,它在通用机器人操作策略方面设立了新的最先进标准。它由一个预训练的视觉条件语言模型主干组成,该模型能够在多个粒度级别上捕捉视觉特征,并在一个包含97万个机器人操作轨迹的大规模多样化数据集上进行了微调。这个数据集涵盖了广泛的机器人形态、任务和场景。
2025-01-24 10:00:00
721
ROS中smartcar机器人的描述文件
2013-05-31
grub4dos制作多系统启动U盘所需文件打包
2013-05-28
使用grub4dos制作多系统启动U盘
2013-05-28
ROS链接openni库测试代码
2013-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人