自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

古月居

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

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

原创 博客迁移通知

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

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

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

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

2016-01-18 22:07:23 33342 19

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

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

2015-12-02 23:11:10 38517 8

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

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

2015-09-20 12:30:40 16487 15

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

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

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

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

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

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

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

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

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

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

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

2013-07-15 18:03:43 51559 14

原创 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 59964 17

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

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

2013-06-24 21:24:19 55838 74

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

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

2013-06-15 22:03:03 27544 30

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

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

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

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

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

2013-06-01 17:04:12 45235 16

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

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

2013-05-31 13:30:28 13881 7

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

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

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

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

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

2013-05-09 10:56:40 33428 50

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

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

2013-04-30 21:21:41 57869 57

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

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

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

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

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

2013-04-12 22:23:30 44052 8

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

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

2013-04-12 21:30:25 67922 27

原创 基于Arduino和PCB技术的机器人炫彩矩阵点屏的制作过程

另一方面,自己想做点阵屏的原因还有一些,原本购买的普通点阵屏,只能显示一些简单的颜色,而不像ws2812灯珠那样可以显示丰富的颜色,并且可以编程,可以做出很多有趣的效果。Arduino Uno是一款基于ATmega328P微控制器的开发板,具有丰富的I/O接口(14个数字I/O引脚,其中6个可以用作PWM输出,6个模拟输入)和广泛的社区支持。这些特性使其成为教育、原型开发和DIY项目的理想选择。PCB设计还可以包含去耦电容和滤波电容,以确保电源的稳定,减少噪声干扰,从而提高整体系统的性能和稳定性。

2024-09-14 09:59:21 412

原创 无人机PX4飞控ROS应用层开发:MAVROS 功能包介绍与飞控消息汇总(一)

这个软件包提供了针对各种自动驾驶仪(如PX4,Ardupilot)使用 MAVLink 通信协议的通信驱动程序。此外,它还提供了用于地面控制站(例如 QGroundControl)的 UDP MAVLink 桥接功能。通常与PX4的offboard模式联合使用 Offboard控制背后的想法是能够使用在自动驾驶仪外运行的软件来控制 PX4 飞控, 这是通过 Mavlink 协议完成的。其中硬件部分连接模式大部分如下: 在飞行器上部署一台小型将计算机,用 UART 转 USB 适配器连接飞控。

2024-09-13 10:30:34 865

原创 cartographer从入门到精通(一):cartographer介绍

Cartographer的架构图我们可以看到白色框出来的三个区域,分别是Input Sensor Data(数据输入模块)Local SLAM(局部SLAM模块)Global SLAM (background thread)(全局SLAM模块)下面我们分别介绍一下这几个模块。

2024-09-12 09:55:12 380

原创 ICETEK-DM6437-AICOM—— DMA直接存储器访问设计

二、设计原理: ##(一)Norflash数据读写设计 Norflash 是可以进行字节读取的设备,但是对它的擦写只能通过指令进行整块的操作。:学习 Norflash 存储器的地址映射和访问方式,包括如何读取和写入数据。熟悉 Norflash 的组织结构,比如块、页和字节的划分,以及如何进行擦除、编程和读取操作。:研究如何优化代码性能,包括利用处理器的并行处理能力、流水线技术、指令调度和内存访问优化等。:通过实际练习,学会如何解释和分析内存窗口显示的内容,例如数据结构、变量值和指针等。

2024-09-11 09:55:36 1133

原创 机器人入门系列:《通过蓝牙模块通讯控制机器人电机转动》

通常,这些图片会清晰地展示模块的外观、尺寸和引脚定义。本学习笔记将深入探讨如何通过蓝牙模块实现与机器人的通讯,进而控制其电机转动,从硬件选型、电路设计、软件编程、调试测试到实际应用,全方位解析这一过程。Arduino Uno是Arduino系列中最经典的型号之一,具有14个数字输入输出引脚(其中6个可作为PWM输出)、6个模拟输入引脚、一个USB接口等,能够满足大多数基础项目的需求。在选择电机时,我们需要根据机器人的应用场景和需求,选择适当的电机类型(如直流电机、步进电机、伺服电机等)和规格。

2024-09-10 09:59:34 394

原创 经典文献阅读之--DEviLOG(使用合成数据和真实世界数据的数据驱动占用网格映射基于Transformer的BEV方案量产方案)

在自动驾驶汽车(AV)的感知任务中,数据驱动的方法往往优于传统方法。这促使我们开发了一种基于数据的方法来从激光雷达测量中计算占用网格地图(OGM)。我们的方法扩展了之前的工作,使得估计的环境表示现在包含一个额外的层,用于标记被动态物体占据的单元格。早期的解决方案只能区分自由和占用的单元格。障碍物是否可以移动的信息对于规划AV的行为非常重要。》提出了两种生成训练数据的方法。一种方法扩展了我们以前关于使用合成训练数据的工作,以便生成具有上述三种单元状态的OGM。

2024-09-09 09:50:06 991

原创 经典文献阅读之--iDet3D(交互式3D目标检测器)

在本文中,我们基于IA-SSD主干(张等人,2022年)描述了我们提出的iDet3D,这是一个最近提出的3D物体检测器。值得注意的是,我们的原则可以轻松地适用于其他单阶段基于点的检测器。特定类别的正点击和与类别无关的负点击,分别用来指示前景物体的位置和背景区域。图2展示了iDet3D的整体架构。> 图2:iDet3D的训练工作流程。给定用户在目标物体上的点击,这些点击被转换为点击编码。> (a) 密集点击引导(DCG)不仅在输入端而且在中间层将编码融合到主干网络架构中。

2024-09-08 11:30:00 765

原创 经典文献阅读之--WidthFormer(基于Transformer的BEV方案量产方案)

提出了WidthFormer,,专为实时自动驾驶应用而设计。WidthFormer在计算上高效、稳健,且无需特殊的工程努力即可部署。我们提出了一种新颖的,使得我们的模型仅通过。这种机制对现有的(作为注意力键和值)来提高模型的效率。我们还引入了两个模块,以补偿由于特征压缩而可能导致的信息损失。在广泛使用的nuScenes三维对象检测基准上的实验评估表明,我们的方法在不同的三维检测架构上均优于以往的方法。更重要的是,我们的模型高度高效。

2024-09-07 11:45:00 790

原创 激光SLAM如何动态管理关键帧和地图

个人在想在长期执行的SLAM程序时,当场景发生替换时,激光SLAM如何有效的更新或者替换地图是非常关键的。在看了很多Life-Long的文章后,个人觉得可以按照以下思路去做。这里可以给大家分享一下

2024-09-06 10:41:39 965

原创 6、LVGL控件-线条、图片、按钮矩阵

LVGL控件-线条、图片、按钮矩阵 ##一、LVGL 线条部件 >线条部件能够在一组坐标点之间依次绘制直线。##二、LVGL 图片部件 >图片部件可用于图片显示、功能界面优化、背景优化等。###1.3 实验小演示 设计一个正三角形、y轴映像三角形和W形。###1.1 线条部件组成部分。###2.1 图片部件组成部分。

2024-09-05 10:44:15 490

原创 ROS 编程入门

ROS(Robot Operating System)是一种开源的机器人软件框架,广泛用于机器人开发中。在本节中,我们将介绍如何创建一个 ROS 功能包并实现一些基本功能。ROS 主题(Topic)是一种发布/订阅机制,允许节点之间进行通信。每个节点可以发布主题消息或订阅主题消息来获取数据。ROS 节点是 ROS 系统中的基本执行单元。首先,我们需要创建一个新的 ROS 功能包。接下来,我们在功能包中创建一个发布者节点。在我们运行节点之前,需要编译功能包。此代码定义了一个订阅者节点。的功能包,并声明了对。

2024-09-04 10:13:37 507

原创 5、LVGL控件-滑轮、滑动条、圆弧

##2.1 滑动条部件组成部分 主体(LV_PART_MAIN) 指示器(LV_PART_INDICATOR) 旋钮(LV_PART_KNOB)#LVGL控件-滑轮、滑动条、圆弧 ##一、LVGL 滑轮部件 >滚轮部件常用于多选一的场景,它以滚轮的形式来展现多个选项。##二、LVGL 滑动条部件 >滑块部件常用于调节某个参数的值,它以直线滑动的形式来修改数值。###1.3 实验小演示 设计两个滑轮,一个正常模式,一个无限循环模式。###1.1 滑轮部件组成部分。

2024-09-03 11:38:03 405

原创 4、LVGL控件-环形加载器、LED、列表、下拉列表

##1.1 环形加载器部件组成部分 主体(LV_PART_MAIN) 手柄(LV_PART_KNOB) 指示器(LV_PART_INDICATOR)#LVGL控件-环形加载器、LED、列表、下拉列表 ##一、LVGL 环形加载器部件 >加载器部件常用于提示当前任务正在加载。##二、LVGL LED部件 >LED部件常用于指示控制对象的状态。###2.1 LED部件组成部分 主体(LV_PART_MAIN)###1.3 实验小演示(提示当前任务正在加载)

2024-09-02 11:38:44 549

原创 RFID-RC522食用指南(1)前置任务

雷达技术的发展和进步衍生出了RFID技术。

2024-09-01 09:45:00 1001

原创 【初学人工智能原理】【14】机器学习:最后一节课也是第一节课(完结)

本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。

2024-08-31 10:30:00 858

原创 【初学人工智能原理】【13】LSTM网络:自然语言处理实践

这样一个句子,每个词对最后预测输出的影响就在每一次的保存并和下一步数据的共同作用中持续到了最后,这样序列中的数据就产生了循环的特点,所以我们把这样改造的神经网络称之为。

2024-08-30 09:47:50 1193

原创 3、LVGL控件-开关、复选框、进度条

♦♦♦♦♦♦♦♦ 3.3 实验小演示(固件更新进度条)♦♦♦♦♦♦♦♦ 2.2 复选框部件基本API。♦♦♦♦♦♦♦♦ 3.2 进度条部件基本API。♦♦♦♦♦♦♦♦ 3.4 实验小演示(温度计)♦♦♦♦♦♦♦♦ 1.2 开关部件基本API。♦♦♦♦♦♦♦♦ 2.1 复选框部件组成部分。♦♦♦♦♦♦♦♦ 3.1 进度条部件组成部分。♦♦♦♦♦♦♦♦ 1.1 开关部件组成部分。♦♦♦♦♦♦♦♦ 1.3 实验小演示。♦♦♦♦♦♦♦♦ 2.3 实验小演示。♣♣♣♣ 一、LVGL开关部件。

2024-08-29 09:59:31 338

原创 2、LVGL控件-标签、按钮

♦♦♦♦♦♦♦♦ 1.6 如何让标签文本变得艺术化(字体阴影效果,样式Style)?在LVGL中,标签部件主要用于文本显示,例如标题、提示信息等。♦♦♦♦♦♦♦♦ 1.4 当文本长度超过部件大小时怎么显示?♦♦♦♦♦♦♦♦ 1.2 如何创建标签部件以及设置文本?2、文本不存储在动态内存,而是在指定的缓冲区中(♦♦♦♦♦♦♦♦ 1.3 如何改变文本的样式?♦♦♦♦♦♦♦♦ 1.5 文本如何对齐标签?♦♦♦♦♦♦♦♦ 1.1 标签部件组成部分。:当文本大于组件的大小时显示的滑动条。

2024-08-28 11:15:26 374

原创 1、LVGL基础对象(lv_obj)

例如,可以根据当前连接的传感器创建仪表、图表、条形图和滑块所需的UI再进行创建(比如之前需要图标,突然传感器去掉了,那么可以选择不创建该ui控件)。每个对象都必须会有且仅有一个父对象(屏幕除外),但一个父对象可以有任意数量的子对象。所有控件的API在它们各自的文档中有描述,但也可以查看相应的头文件(例如, widgets/lv_slider.h)。小实验演示二:子对象的位置超出父对象的范围,则超出的部分不显示。2、子对象的位置超出父对象的范围,则超出的部分不显示。♦♦♦♦♦♦♦♦ 2.2 创建和删除对象。

2024-08-27 10:33:30 746

原创 0、LVGL PC模拟器CodeBlocks

为什么需要使用LVGL模拟器呢?LVGL模拟器是用于开发和调试LVGL图形用户界面(GUI)的工具。它提供了一个虚拟的运行环境,可以在计算机上模拟目标设备上的GUI效果,并且没有实际硬件的限制和依赖。使用LVGL模拟器有以下几个好处:1、加速开发过程:LVGL模拟器允许开发人员在计算机上直接预览和调试GUI效果,而无需将代码加载到实际设备上。这样可以节省开发时间,加快开发迭代速度。2、跨平台调试:LVGL模拟器可以在各种操作系统上运行,包括Windows、Linux和MacOS等。

2024-08-26 09:59:11 661

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

LWIP中文手册

很详细的lwip中文说明

2012-10-14

K60英文芯片资料

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

2012-02-09

空空如也

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

TA关注的人

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