自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

古月居

怕什么真理无穷,进一寸有一寸的欢喜

  • 博客(429)
  • 资源 (11)
  • 收藏
  • 关注

原创 博客迁移通知

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

2019-12-18 15:02:10 21032 8

原创 ROS探索总结(十九)——如何配置机器人的导航功能

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

2016-01-18 22:07:23 33602 13

原创 ROS探索总结(十八)——重读tf

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

2015-12-02 23:11:10 38724 5

原创 ROS探索总结(十七)——构建完整的机器人应用系统

上一篇博客介绍了HRMRP机器人平台的设计,基于该平台,可以完成丰富的机器人应用,以较为典型的机器人导航为例,如何使用HRMRP来完成相应的功能?本篇博客将详细介绍如何将HRMRP应用到实际的应用当中。

2015-09-20 12:30:40 16625 9

原创 ROS探索总结(十六)——HRMRP机器人的设计

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

2015-09-13 15:22:10 12599 4

原创 ROS探索总结(十五)——amcl(导航与定位)

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

2013-09-27 21:10:33 71461 33

原创 ROS探索总结(十四)——move_base(路径规划)

在上一篇的博客中,我们一起学习了ROS定位于导航的总体框架,这一篇我们主要研究其中最重要的move_base包。

2013-07-25 16:26:22 92731 35

原创 ROS探索总结(十三)——导航与定位框架

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

2013-07-15 18:03:43 51913 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 60253 5

原创 ROS探索总结(十一)——机器视觉

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

2013-06-24 21:24:19 56119 19

原创 ROS探索总结(十)——语音控制

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

2013-06-15 22:03:03 27816 10

原创 ROS探索总结(九)——操作杆控制

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

2013-06-06 21:39:46 12810 15

原创 ROS探索总结(八)——键盘控制

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

2013-06-01 17:04:12 45675 8

原创 ROS探索总结(七)——smartcar源码上传

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

2013-05-31 13:30:28 13999 1

原创 ROS探索总结(六)——使用smartcar进行仿真

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

2013-05-20 19:04:19 25834 62

原创 ROS探索总结(五)——创建简单的机器人模型smartcar

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

2013-05-09 10:56:40 33800 13

原创 ROS探索总结(四)——简单的机器人仿真

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

2013-04-30 21:21:41 58183 13

原创 ROS探索总结(三)——ROS新手教程

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

2013-04-16 21:56:23 132367 33

原创 ROS探索总结(二)——ROS总体框架

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

2013-04-12 22:23:30 44418 2

原创 ROS探索总结(一)——ROS简介

一、历史       随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮。       ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机

2013-04-12 21:30:25 68455 11

原创 ROS Bridge 进行数据传输实战

在机器人系统的开发中,数据传输是一个关键环节。ROS (Robot Operating System) 提供了一个灵活的框架来实现不同组件之间的通信。ROS Bridge 是一个强大的工具,它允许通过 WebSocket 和 HTTP 协议与 ROS 系统进行交互,尤其适用于 web 应用和移动设备的集成。这里面我们之前在《》文章中介绍了ROS bridge。我们这篇文章则进一步给出实战代码。

2025-04-26 10:00:00

原创 一篇图文详解PID调参细节,实现PID入门到精通

在工程中,如果我们要用单片机做一个温控系统,其系统组成一般如下:一个采集温度的ADC,一个输出温度的加热头以及一个用于运行控制算法的单片机,如果我们要维持温度为100度,在不加任何控制算法的情况下,我们可以通过简单的阈值判断法实际曲线(黑线) 在 目标曲线(红线) 周围抖动那如何才能维持实际曲线与目标曲线贴合,达到一个稳定的控制效果呢?这里就引入了PID控制算法的概念,PID是 Proportion Integration Differentiation 的缩写,实际上他就是一个公式,由。

2025-04-25 10:00:00 427

原创 具身智能操作知识梳理与拓展

对于具身智能来说,目前算是一个集大成的工作,虽然目前仍然处于持续发展的阶段,但是有一些比较基础的知识还是需要系统整理的。目前具身智能发展的非常快,几天就能看到一个让人眼前一亮的工作。

2025-04-24 10:00:00 472

原创 用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析

在机器人领域,让机器人在现实世界中精准执行任务是大家一直追求的目标。可模拟环境和现实世界之间存在着不小的差距,特别是基于 RGB 图像的操作策略,从模拟转移到现实时总是状况百出。今天咱们就来聊聊 SplatSim 框架,看看它是怎么解决这个难题的。

2025-04-23 10:00:00 722

原创 使用MCP服务器实现AI任务完成通知:让Cursor更智能

在使用AI工具进行长时间任务时,常常需要等待结果。MCP(Model Context Protocol)服务器"mcp_server_notify"提供了一个优雅的解决方案,让AI在完成任务后通过系统通知提醒你。本文将介绍如何在Cursor中配置和使用这个实用工具。mcp_server_notify是一个基于Model Context Protocol (MCP)的服务,专为LLM(大语言模型)提供系统通知功能。当AI完成任务时,它能够发送桌面通知并播放提示音,让你不必一直盯着屏幕等待。

2025-04-22 10:00:00 1485

原创 使用 ROS2 Foxy/Galactic 进行多机通信

在复杂机器人系统中,多个机器人或计算节点需要协同工作,这对通信的实时性、稳定性和扩展性提出了更高的要求。[INFO] [1700000002.789012]: 收到消息: 机器人状态更新: 1700000002.789。[INFO] [1700000002.789012]: 已发布: 机器人状态更新: 1700000002.789。本教程将详细介绍如何使用。:ROS2 多机间的节点无需手动配置,DDS 会自动发现网络上的 ROS2 进程。:ROS2 网络通信的唯一标识,不同 ID 之间的节点无法通信。

2025-04-21 10:00:00 806

原创 FreeRTOS任务调度与优先级管理:从Tick到Delay的全面解析

FreeRTOS的调度器可以使用2种方法来快速找出优先级最高的、可以运行的任务。使用不同的方法时,configMAX_PRIORITIES 的取值有所不同。注意,基于Tick实现的延时并不精确,比如vTaskDelay(2) 的本意是延迟2个Tick周期,有可能经过1个Tick多一点就返回了。这样的代码就与configTICK_RATE_HZ无关,即使配置项configTICK_RATE_HZ改变了,我们也不用去修改代码。使用这些指令,可以快速 找出优先级最高的、可以运行的任务。你执行一会,我执行一会。

2025-04-20 10:00:00 704

原创 宇树机器狗go2—slam建图(1)点云格式

上一篇番外文章教大家如何在宇树机器狗go2的gazebo仿真环境中实现简单的导航运动,本期文章会教大家如何让宇树的机器狗go2在仿真环境中进行slam建图时经常会遇到的一些点云格式,在后续的slam建图和slam算法解析的时候会经常与这些点云信息打交道。宇树机器狗go2仿真会作为一个长期项目来进行不定期更新,仿真不只限于在gazebo上实现,后面还会在isaac sim等仿真平台上教大家如何搭建,其目的还是帮助各位都能以较低的成本加入到宇树机器狗go2的学习中。

2025-04-19 22:11:32 1150

原创 探索 HumanoidBench:类人机器人学习的新平台

在科技飞速发展的当下,类人机器人逐渐走进我们的视野,它们有着和人类相似的外形,看起来能像人类一样在各种环境里完成复杂任务,潜力巨大。但实际上,让类人机器人真正发挥出实力,还面临着重重挑战。它是一个新的模拟基准平台。

2025-04-18 10:00:30 985

原创 【SCI-Idea】从零实现知识图谱框架

知识图谱的整体框架如上,本章将一一讲解其中的步骤原理。本项目实现了一个简单的知识图谱系统,包括知识图谱的构建、图片搜索和可视化等功能。和。

2025-04-17 10:00:00 775

原创 ROS应用 | 使用 LOAM 实现高精度 SLAM

是一种高精度的 SLAM 方法,特别适用于激光雷达数据,通过对激光点云数据的精准匹配和优化,显著提高了定位与建图精度。进行同步定位与建图。LOAM 的关键在于通过激光雷达数据计算相邻帧之间的相对位移,同时优化地图的构建。是从时刻 t−1 到时刻 t 的位姿变换,Pt,i 和 Pt−1,i 分别是激光点云在当前和前一帧的点。LOAM 是一种激光雷达基于的 SLAM 方法,结合了激光雷达的精确测距和点云数据的高效处理,利用。其中,Xt是时刻 t 的位姿参数,h(Xt) 是地图的预测值,zt 是实际的观测值。

2025-04-16 10:00:00 536

原创 嵌入式C语言高级编程:OOP封装、TDD测试与防御性编程实践

尽管 C 语言并非面向对象编程语言,但借助一些编程技巧,也能实现面向对象编程(OOP)的核心特性,如封装、继承和多态。

2025-04-15 10:09:44 296

原创 ROS应用 | 高精度GNSS与SLAM实现室内外无缝定位

随着智能导航技术的发展,室内外无缝定位已成为智能驾驶、机器人定位、无人机导航等领域的重要研究方向。结合GNSS(全球导航卫星系统)与SLAM(同步定位与地图构建)技术,可以有效解决在传统定位方法下,尤其是在室内环境中定位精度不足、定位中断等问题。本文将探讨如何通过高精度GNSS与SLAM技术结合,实现在室内外环境之间无缝切换的定位系统。GNSS:GNSS是通过多个卫星为目标提供定位、导航和授时服务的系统。由于信号受到遮挡、反射等因素的影响,GNSS信号在室内环境中通常会较为弱或者丧失,导致定位精度下降。

2025-04-14 10:00:00 566

原创 Valgrind终极指南:5大工具实战内存泄漏检测与性能优化

Valgrind是一套开放源代码(GPL V2)的仿真调试工具集合,由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件(plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind 是一个强大的内存调试和性能分析工具,广泛用于 Linux 系统上的程序开发和测试。它可以帮助开发者检测内存泄漏、数组越界、未初始化变量等问题,并提供详细的报告。

2025-04-13 10:00:00 401

原创 NVIDIA Isaac GR00T N1 - 世界首个通用人形机器人基础模型实战

NVIDIA Isaac GR00T N1是全球首个用于通用人形机器人推理和技能的开源基础模型。这种跨实体模型可以接收多模态输入,包括语言和图像,以在各种环境中执行操作任务。GR00T的名称源自"Generalized Robot Operations and Telemetry",代表着其通用化的操作能力和遥测数据处理能力。

2025-04-12 10:00:00 713

原创 小车算法验证仿真平台(1)八叉树地图构建和重定位

该系列是宇树机器狗go2的gazebo仿真系列的分支系列,在使用宇树机器狗go2进行仿真的时候经常会遇到因为go2平衡控制器导致的算法部署和验证的失败,这极大的影响了我们的算法验证和部署工作,而使用小车进行算法的部署和验证可以极大的避免因为平衡控制器问题导致的掉头发和情绪影响(算是拿我的无人驾驶课设过来进行的二次利用了)。

2025-04-11 10:00:00 1326

原创 深入解析栈回溯技术:如何通过异常处理精准定位程序崩溃点

但是,光知道发生错误的位置还不够!分析函数A的栈:确定返回地址LR=0x08001d99,bit0清零后就是0x08001d98。在打印的信息中,LR=0x08000383,去掉bit0,就是:0x08000382。发现函数C太简单,它根本没有使用栈,函数C执行完,直接返回到LR。在异常处理函数中,可以打印出”发生错误瞬间”的所有寄存器。我们调试时,可以根据这些寄存器,知道发生错误的位置。发生错误时,异常函数如何处理?这是TestDebug函数。

2025-04-10 19:27:21 364

原创 【MoE】探究能否指定路由以训练某些专家

我们之前讲了很多面试常考的MoE架构和分布式,但是实际上让你动手改一个MoE架构或者实现一个指定多个专家来输出某一个领域的MoE仍然束手无措,因为MoE最重要的是如何让路由选择我们需要的专家,由于训练和微调时涉及的稀疏激活机制,MoE 模型在微调时往往不如 dense 模型那样直接有效,而怎么指定路由进行期望的选择结果需要更复杂的调参和策略。

2025-04-09 10:00:00 1499

原创 每日代码解读:Mujoco(3)——制动器

以实现完整的物理仿真。那么我们下面就来一一介绍这些函数,看看它们具体都说了哪些内容吧。

2025-04-08 10:00:00 736

原创 具身智能:宇树机器人开源整理以及技术解析猜测

近年来,具身智能正悄然成为科技领域的新风口。从最初试探性的机器人走路跌跌撞撞,到如今能在春晚舞台上翩翩起舞、在高速奔跑中展现灵敏反应,机器人运动控制技术正以前所未有的速度进步。构建一个具备类人认知与运动能力的AGI机器人,不仅是许多科研工作者的梦想,更是工业界迈向智能制造的重要突破。随着量产流程不断成熟以及硬件成本的持续降低(价格已降至万元级别左右),机器人从实验室逐渐走向实际应用的舞台。本文基于《

2025-04-07 10:00:00 966

ROS学习tf的初级代码

ROS学习tf的初级代码 详细教程见: http://blog.csdn.net/column/details/ros-explore.html

2013-07-05

ROS使用键盘控制机器人移动

ROS使用键盘控制机器人移动 详细教程见 http://blog.csdn.net/column/details/ros-explore.html

2013-06-01

ROS中smartcar机器人的描述文件

ROS中smartcar机器人的描述文件 具体教程见: http://blog.csdn.net/hcx25909/article/details/8951833

2013-05-31

grub4dos制作多系统启动U盘所需文件打包

使用grub4dos制作多系统启动U盘(win7、ubuntu12.04) 所需要的文件打包 具体教程见: http://blog.csdn.net/hcx25909/article/details/8982208

2013-05-28

使用grub4dos制作多系统启动U盘

使用grub4dos制作多系统启动U盘(win7、ubuntu12.04) 所需要的软件和文件打包 具体教程见:http://blog.csdn.net/hcx25909/article/details/8982208

2013-05-28

Qt_画图软件设计教程

Qt_画图软件设计教程 内容很详细,适合新手学习

2013-03-26

ROS链接openni库测试代码

ROS链接openni库获取kinect数据(PC端) 具体使用说明见:http://blog.csdn.net/hcx25909/article/details/8619126

2013-02-27

华为+程序规范教材

华为公司的代码规范,很详细 华为公司的代码规范,很详细

2012-10-14

LWIP中文手册

很详细的lwip中文说明

2012-10-14

K60英文芯片资料

K60的官方芯片资料,内容比较多,都是英文的,看起来比较麻烦

2012-02-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除