自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 重头开始学ROS(9)---发布图像话题数据与相机标定

本文介绍了ROS环境下摄像头图像发布与相机标定的实现方法。首先通过ROS节点读取摄像头数据并转换为ROS消息发布,使用cv_bridge进行OpenCV与ROS图像的格式转换。然后详细说明了使用camera_calibration工具包进行相机标定的步骤,包括标定板参数设置和标定过程。通过对比ROS和MATLAB的标定结果,发现当标定板占据画面适当比例时,两者结果趋于一致。最后给出了基于标定参数的去畸变实现代码,利用OpenCV的undistort函数对图像进行实时矫正。该方案为机器人视觉系统提供了准确的图

2025-07-14 13:09:28 326

原创 重头开始学ROS(8)---LVI-SAM复现与实机部署Ubuntu20.04以及如何适配6轴imu

本文详细记录了在Ubuntu20.04环境下复现LVI-SLAM系统的过程,主要包含四个部分:源码编译、问题解决、数据录制和6轴IMU适配。在编译过程中遇到GTSAM、PCL版本、OpenCV路径等典型问题并给出解决方案;详细说明了ROS bag包的录制规范;针对6轴IMU硬件限制,提供了核心代码修改方案。文章为LVI-SLAM系统在非标准环境下的部署提供了实用参考,特别适合需要适配不同硬件配置的研究者。

2025-06-30 21:10:47 1032

原创 重头开始学ROS(7)--- Cartographer安装与测试

是Google推出的一套基于图优化的激光SLAM算法,它同时支持2D和3D激光SLAM,可以跨平台使用,支持LidarIMUOdemetryGPSLandmark等多种传感器配置。是目前落地应用最广泛的激光SLAM算法之一。

2025-06-30 21:05:22 410

原创 重头开始学ROS(6)---Eigen库安装与使用

摘要:Eigen是一个高效的C++线性代数库,用于矩阵和矢量运算。本文介绍了在Ubuntu系统安装Eigen库的方法(sudo apt-get install libeigen3-dev),以及在VSCode和ROS中的配置步骤。重点展示了利用Eigen实现RBF径向基函数二维曲线拟合的完整代码示例,通过构建Gram矩阵并求解权重系数,验证了计算结果与Matlab一致。该库能显著简化C++中的矩阵运算开发工作。

2025-06-30 20:58:37 978

原创 重头开始学ROS(5)---阿克曼底盘的URDF建模与Gazebo控制(使用Xacro优化)

本文介绍了阿克曼底盘URDF建模与Gazebo控制的实现方法。采用Xacro优化建模,构建后轮驱动、前轮转向的底盘模型。通过连续关节连接后轮,针对前轮的双自由度特性,使用转向杆和旋转关节模拟转向功能。详细展示了URDF代码实现,包括底盘几何参数、关节连接方式及前轮转向结构。在Gazebo集成时,强调了必须添加碰撞属性、惯性矩阵参数并调整颜色设置,提供了标准几何体惯性矩阵的计算公式。最终实现了前轮通过GUI控制转向的仿真效果。

2025-06-30 20:53:51 1234

原创 重头开始学ROS(4)--- URDF机器人与Xacro仿真建模(Rviz下的使用)

文章摘要: 机器人仿真建模主要使用URDF、Rviz和Gazebo三种工具:URDF用于机器人本体建模,Rviz实现三维可视化,Gazebo提供物理仿真环境。URDF通过XML语言描述机器人结构,包含link(刚体部件)和joint(关节连接)两大元素。link定义部件的外观和物理属性,joint描述部件间的运动关系。实际应用中,通常将URDF与Rviz结合进行可视化,或配合Gazebo搭建完整仿真环境。文章详细介绍了URDF的基本语法、文件结构和实现流程,并提供了机器人建模的具体示例代码,包括解决常见可视

2025-05-25 16:28:32 839

原创 重头开始学ROS(3)--- 话题通讯自定义话题信息msg

摘要:ROS中自定义消息格式用于处理复杂数据传输需求,弥补std_msgs的局限性。实现步骤包括:1)创建msg文件定义字段;2)配置package.xml添加message_runtime依赖;3)修改CMakeLists.txt添加消息生成配置;4)编译生成中间文件。代码示例展示了自定义Person消息的发布和订阅实现,包含name、age、height字段,通过launch文件同时运行发布者和订阅者节点。该方法扩展了ROS消息处理能力,适用于需要传输结构化数据的场景。

2025-05-24 21:45:47 424

原创 重头开始学ROS(2)---话题通讯

本文介绍了ROS话题通信的基本原理与实现方法。主要内容包括: 话题通信的基本模型,包含Talker、Listener和ROS Master三个角色,详细说明了通信建立流程和注意事项; C++实现Talker和Listener的关键代码解析,包括节点初始化、消息发布订阅机制和回调函数处理; 实际配置要点,涉及CMakeList和launch文件的编写规范; 常见问题分析,如消息丢失原因和rqt_graph工具的使用。 文章通过理论模型与代码实践相结合的方式,系统讲解了ROS话题通信的实现过程,为开发者提供了清

2025-05-24 18:24:06 827

原创 重头开始学ROS(1)--- CmakeList的内容

ROS系统功能包的CmakeList如何配置

2025-05-24 18:19:38 122

原创 计算机视觉(2)图像的获取与图像参数认识

【代码】计算机视觉(2)图像的获取与图像参数认识。

2025-03-31 19:43:53 1109

原创 【路径规划】经典导航算法Bug0/Bug1详解与MATLAB实现(附完整代码)!

【代码】【路径规划】经典导航算法Bug0/Bug1详解与MATLAB实现(附完整代码)!

2025-03-24 21:25:51 316

原创 基于Transformer的多通道肌电信号序列分类

本项目基于Transformer实现对表面肌电信号的分类,数据使用excel进行保存,使用Pytorch架构建立模型并训练,利用基于Paramiko库的SSH连接来实现对NAO机器人的远程控制。表面肌电信号(sEMG)为十分重要的人体感官信号,不同的动作和状态对应不同的肌电信号,利用肌电信号的表征能力,我们可以实现对NAO机器人的控制。

2025-01-09 00:59:52 257

原创 Keil v5 ARM汇编-手动调整内存读写范围(附ARM汇编斐波那契数列)

而在程序中,我们只能通过DCD指令规定一个有限大小的读写空间,想要进行拓展,需要额外输入0数字,如上图中代码的倒数第二行,只能定义11个字大小的读写空间,想要扩展,需要在后面续写0,这十分不便,Keilv5软件内置了方便的内存管理工具,进行debug调试时,有时会显示对某一地址单元无存储权限,使STR指令失效,这是因为我们在指令中没有给该地址的内存写权限。Keil v5软件对ARM汇编程序。

2024-12-13 16:35:37 314

原创 ARM汇编指令--冒泡排序算法

简单来说就是,从左至右两两比较排序,一轮过后,舍弃排序过后的最后一个数,再经过一轮排序,再舍弃最后一个数字,如此反复直到,最后只剩下一个数字。

2024-12-11 23:23:04 224

原创 Keli μVision ARM汇编 STR指令写入内存无效(有效解决)

在使用Keil v5进行ARM汇编语言编程时,调试模式下,Memory窗口中,对应内存有值,但是STR指令不能更改。Memory窗口中,对应内存的值永远都是0。

2024-12-11 23:16:59 395

原创 关于单边z变换的移位特性

2024-11-29 10:24:32 198

原创 Ransac算法优化的PnP算法-随机抽样一致性算法

Ransac算法的核心在于对现有数据进行多次随机抽样,通过划定内点和外点来衡量算法所建立模型的好坏,最终留下内点最多的模型。具体到PnP算法中,就是对特征匹配点进行多次的抽样,利用抽样到的若干特征匹配点计算出相机位姿(R和T),利用计算出的相机位姿对每个点计算重投影误差,对误差小于某个阈值的点,我们认为其为当前抽样计算结果的内点,误差小于某个阈值的点,我们认为为外点。显然内点的个数可以体现当前抽样计算结果的好坏。通过多次迭代抽样,获得内点最多的计算结果。取消了原来按照阈值计算分数的方法,转为直接比较。

2024-11-28 21:55:10 838

原创 计算机组成原理与嵌入式系统(1)计算机系统的基本结构组成与冯·诺依曼架构

计算机系统的基本结构组成与冯·诺依曼架构及冯·诺依曼架构模型机

2024-09-16 21:30:41 1807 2

原创 SPADE:Semantic Image Synthesis with Spatially-Adaptive Normalization 论文小白精读

SPADE论文小白精读

2023-12-11 21:49:48 1840 2

原创 Pix2PixHD代码小白解读(4)——networks.py

Pix2PixHD代码小白解读(3)——Pix2PixHD_model.py。,可以说是代码的精华部分,其他几乎都所有文件都是为它服务的。模型的主要内容,(在阅读该代码之前,我们最好要了解论文的内容)包含了。

2023-12-05 16:35:52 1513 1

原创 Pix2PixHD代码小白解读(3)——Pix2PixHD_model.py

这两行代码显然是作者高度封装的类和用法,前者我们在上一期了解到是在建立一个模型类,并且使用的是。Pix2PixHD代码小白注释(2)—— BaseModel.py。Pix2PixHD代码小白注释(1)——train.py。的用法,那么本期就深入了解。

2023-12-03 11:17:29 1469 1

原创 Pix2PixHD代码小白注释(2)—— BaseModel.py

Pix2PixHD代码小白注释(1)——train.py。因此我们首先便去查看。是一个高度封装的用法或类,我们利用。,我们继续跳转,进入到。

2023-12-03 11:08:59 672 1

原创 Pix2PixHD代码小白注释(1)——train.py

【代码】Pix2PixHD代码小白注释(1)——train.py。

2023-12-02 20:31:23 1124 6

空空如也

空空如也

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

TA关注的人

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