- 博客(232)
- 资源 (22)
- 收藏
- 关注
原创 ros2bag录包中断修复yaml配置
本文记录了修复ROS2 Bag文件中metadata.yaml损坏问题的过程。由于板子内存限制导致录制中断,metadata.yaml为空文件,作者通过复制修改其他包的yaml文件进行修复。文章详细介绍了通过SQLite查询db3文件获取录制信息的方法,包括:1) 使用SQL查询获取总录制时长(约1307秒);2) 统计各话题消息数量、时间戳范围和频率(如点云话题10Hz,图像话题24.76Hz);3) 提供了完整的SQL查询命令和终端输出示例。这些方法为处理损坏的ROS2 Bag文件提供了实用解决方案。
2026-06-19 01:27:58
226
原创 移动硬盘安全弹出注意事项
本人使用的是东芝2T机械移动硬盘,京东售价¥695,拷贝的内容是保存在 nvidia jestson orin nx 板子中。
2026-06-18 23:06:01
266
原创 slam_toolbox 本地重命名编译(ros2-humble)并 ros2bag 建图
本文介绍了如何本地编译并重命名slam_toolbox项目。主要内容包括:1) 确定ROS2版本要求;2) 修改项目名称为slam_toolbox_xu2以避免与二进制安装包冲突;3) 关键修改点涉及CMakeLists.txt文件中的7处名称替换,包括项目定义、依赖项设置和插件配置;4) 详细列出了所需的依赖包和编译参数配置。通过这种方式可以实现自定义版本的slam_toolbox编译,同时保持与系统原有版本的兼容性。
2026-04-12 15:32:07
487
原创 A-loam-ros2 迁移(ros2-humble)
本文展示了A-LOAM算法在ROS2环境中的复现结果,包括rviz2可视化效果、节点列表和系统架构图。
2026-04-08 00:22:19
496
原创 ros2工程 debug(vscode)
本文介绍了在VSCode中调试ROS2 LIO-SAM项目的完整流程。首先需要安装C/C++、CMake Tools、ROS等必要插件;其次强调必须使用Debug或RelWithDebInfo模式编译才能调试,并对比了三种编译模式的差异;然后详细说明了如何配置.vscode/launch.json调试文件;最后提供了两种调试方式:直接启动节点调试和附加到已运行进程调试,并配有操作示意图。文中特别提醒Debug模式会导致轨迹偏移,建议根据实际需求选择合适的编译模式。
2026-04-01 21:01:54
519
原创 ros2 阶段问题总结
本文总结了ROS2使用中的三个常见问题及解决方法:1) ROS2 Humble版本因升级CMake导致系统崩溃,需完全卸载并重装ROS2;2) 安装nav2-bringup时依赖冲突,需手动安装libunwind-dev;3) ORB-SLAM3编译时缺少Ceres/Eigen依赖,需检查并升级Eigen至3.4.0+版本,设置Eigen3_DIR环境变量。这些问题多由版本冲突或依赖缺失引起,通过清理重装或手动安装依赖项可有效解决。建议用户保持ROS2环境稳定,避免随意升级系统组件。
2026-03-19 16:00:08
129
原创 LIO-SAM 学习总结
featureExtraction.cpp 特征提取角点和面点(易)imageProjection.cpp 点云畸变矫正(易)imuPreintegration.cpp imu预积分和位姿优化(较难)mapOptmization.cpp 地图匹配、位姿优化和回环检测(难)代码阅读顺序:IMU数据流(高频) → imuHandler() → 实时预积分 → 发布高频IMU里程计↓存储队列↓里程计数据流(低频) → odometryHandler() → 图优化 → 更新状态。
2026-03-10 00:51:58
661
原创 Nav2导航过程中出现位姿错误
本文针对Nav2导航系统在转角、门口和目标点处出现位姿估计错误的问题,提出了两个关键解决方案:1) 修改行为树结构,在路径规划后增加路径平滑节点,通过Sequence节点将ComputePathToPose和SmoothPath操作封装在一起;2) 调整控制服务器参数,包括放宽最终对准阈值、降低角度误差惩罚强度、优化控制器输出限制等。实验表明,这些改进有效减少了机器人因大角度转弯导致的位姿估计偏差,提高了导航稳定性。
2026-03-03 00:38:43
767
原创 rdk x5 module 镜像备份
摘要:本文记录了地平线RDK X5 Module开发板emmc板载内存镜像备份的正确方法。通过长按KEY按钮进入emmc模式,使用gparted软件查看总扇区数(121610240),采用特定dd命令进行备份(sudo dd bs=512 count=121610240 if=/dev/sda2 of=xxx.img)。与普通RDK X5不同,官方备份命令生成的镜像无法使用,必须通过此方法才能获得有效备份镜像。备份过程中可通过df -h命令监控进度,最终生成约60GB的镜像文件。
2026-01-03 16:08:28
474
原创 git 上传代码(首次差异)
核心原则:Git 配置是持久的,.git文件夹包含了项目的所有 Git 信息。只要这个文件夹存在,就不需要重新初始化。用户信息存储在电脑的 Git 配置中,除非换电脑或重装系统,否则也不需要重新设置。是否提交了敏感信息(密码、API密钥)代码是否可以编译/运行。是否提交了不必要的文件。
2025-12-20 14:37:34
774
原创 Modbus CRC16 算法(举例)
Modbus CRC-16校验算法采用0xA001多项式,初始值为0xFFFF。计算过程为逐字节异或并右移,若移出位为1则与多项式异或。示例数据01 03 00 00 00 01经计算得到CRC值0x0A84,传输时低字节在前(84 0A)。最终帧为01 03 00 00 00 01 84 0A。该算法通过位运算实现高效校验,确保Modbus通信数据的完整性。在线CRC计算工具可验证结果正确性。
2025-12-10 14:29:00
3068
原创 建图Nav2导航中遇到信息(the timestamp on the message is earlier than all the data in the transform cache)
时间戳不同步:激光数据的时间戳(1764699052.365)比 TF 变换缓存中的最早数据还要早,导致 costmap 丢弃这些激光数据。实际观察到的现象:(实验中机器人一会停止,一会旋转偶尔乱走,但路径显示没变化)❌ 当前情况:激光数据被丢弃 → costmap不更新 → 障碍物检测失效。✅ 正常情况:激光数据 → 更新costmap → 障碍物检测。地图空洞:丢失的扫描数据导致地图不完整。雷达数据比其他传感器数据的时间戳提前。:新的障碍物不被检测,机器人可能撞墙。问题:激光数据使用了未来的时间戳。
2025-12-04 12:52:50
782
原创 修改nav2导航速度发布名称
controller_server和 behavior_server都向 cmd_vel_nav发布速度。velocity_smoother 订阅 cmd_vel_nav话题。平滑过渡:velocity_smoother确保切换时的速度连续性。最后一个发布的消息会覆盖之前的消息,这是ROS2话题的标准行为。行为执行:behavior_server临时接管速度发布。平滑后的速度发布到 /remote_cmd_vel。两者都发布到同一话题:cmd_vel_nav。可以下载文件直接编译。
2025-11-30 17:13:15
1094
原创 ROS2 Cartographer纯定位导航遇到的问题
连接,nav2也失败,膨胀地图和激光点云数据都无法显示,原因是.lua配置文件缺少。这里提供的 pure_locate.lua 已经测试过可根据要求使用。实验中发现:如果需要快速获取准确初始定位,需要对机器人进行移动;我遇到的问题是地图虽然在rviz2上显示了地图,但是。启动文件是 bringup.launch.py。同时注意修改nav2配置文件。激光雷达 直接链接 地图。的参数配置,这是必备的。
2025-11-30 15:08:55
1402
原创 田块处方图可视化(PyQt5)
本文介绍了一个基于PyQt5的多边形数据可视化工具。该程序能够加载并解析包含经纬度坐标和施肥量百分比的标准文本文件(.txt)。
2025-10-22 21:52:25
577
原创 安卓APP页面之间传参(Android studio 开发)
本文介绍了Android应用中实现页面间参数传递的解决方案。系统采用ActivityResultLauncher统一处理种子和肥料两种校准结果,通过Intent传递数据并检查结果有效性。关键点包括:1) 使用单个Launcher复用处理逻辑;2) 通过键值约定(seed_name/fert_name)区分数据类型;3) 包含健壮性检查(结果码、空值、默认值);4) 模块化设计分离业务逻辑。实现方案包含主界面监听参数、两个校准界面发送参数,以及清单文件配置,形成完整的参数传递流程。
2025-10-22 00:37:04
515
原创 安卓APP调用百度地图API 遇到的问题(Android studio 开发)
本文介绍了在Android Studio中集成百度地图SDK的常见问题及解决方案。内容涵盖:1)获取SHA1密钥时环境变量配置和路径问题处理;2)Android Studio配置中SDK集成方式选择、JAR格式注意事项及sourceSets正确写法;3)地图显示时Application和Activity的初始化流程。关键点包括密钥库路径处理、项目结构配置修正以及地图初始化流程,提供了完整的实现指引。
2025-10-14 00:37:10
513
原创 RDK X5 镜像备份(详细)
本文介绍了在Ubuntu系统下备份RDK X5镜像的完整流程。首先需要准备读卡器和SD卡(默认ext4格式),并将设备接入系统。关键步骤包括:1)创建挂载点并使用mount命令挂载SD卡;2)执行rdk-backup命令指定备份路径;3)系统自动生成以"rdk-年月日-时分.img"命名的镜像文件。操作过程中需注意SD卡的挂载位置,并确保相关依赖包已安装。备份完成后,镜像文件将保存在指定目录下,可用于后续的系统恢复或部署。该教程参考了官方文档提供的命令说明,适用于RDK X5系统镜像备份
2025-10-10 00:06:56
770
原创 Smac Planner与 NavFn Planner 的对比分析
摘要: 本文对比分析了NavFn Planner与Smac Planner系列算法。NavFn基于Dijkstra算法,仅支持2D网格搜索;Smac Planner包含三个变体:优化2D A*的SmacPlanner2D、支持阿克曼模型的SmacPlannerHybrid和灵活支持任意机器人模型的SmacPlannerLattice。相比NavFn,Smac系列在路径质量(运动学可行性、平滑度)、性能表现(计算速度提升13-67%)和适用场景(支持差速、阿克曼及特殊机器人)方面均有优势。
2025-10-07 15:44:56
1133
原创 Vscode上传代码库到 github
本文总结了Git推送代码到GitHub时常见问题的完整解决方案。主要内容包括:1)SSH密钥认证失败的解决方法(生成密钥、配置代理、添加公钥);2)远程仓库冲突的处理(删除错误配置、添加正确SSH地址);3)分支同步问题的解决(使用rebase方式合并远程更改)。文章通过失败与成功案例对比,提供了从初始化仓库到成功推送的完整流程,特别强调了SSH认证和分支同步的关键步骤。最终解决方案可确保代码顺利推送到GitHub远程仓库。
2025-09-30 15:54:47
771
原创 U盘作为系统启动盘之后格式化恢复
地瓜机器人RDK X5开发板使用SD卡作为系统启动盘后,Windows系统仅能识别255MB容量且无法格式化。通过Rufus工具选择FreeDOS引导类型进行格式化,成功恢复128GB SD卡完整容量。该问题源于Linux系统分区导致Windows识别异常,建议直接使用原装64GB启动盘,避免额外存储卡的系统安装问题。 关键词:RDK X5、SD卡格式化、Rufus、容量恢复、Linux系统分区
2025-08-30 12:11:18
634
原创 nav2 单独编译遇到的问题
本文总结了在编译nav2导航包时遇到的问题,主要包括下列参数:nav2_constrained_smoother包中prelast_dirnav_2d_utils库中valuebehavior_server中transform_toleranceinput_at_waypoint插件中timeoutnav2_smoother中transform_toleranceplanner_server中expected_planner_frequency
2025-08-25 22:04:55
1277
原创 stanley 路径跟踪控制算法
轨迹跟踪 Trajectory Tracking和路径跟踪 Path Following是机器人控制和自动驾驶领域中的两个核心概念,尽管它们都涉及让系统沿预定路径运动,但目标和方法存在显著差异。以下是它们的区别及实际应用场景的分析:本文介绍的 stenley 控制算法是一个路径跟踪算法,是根据前轮的转向来控制车子按指定路径行驶,下图来自国防科技大学的论文《Ribbon model based path tracking method for autonomous ground vehicles》。
2025-03-25 22:06:58
1644
原创 给 gazebo 发布动态物体(ros2)
在 gazebo 上进行仿真建模的时候,有时候需要发布动态的障碍或者动态的指示箭头,这样可以直接在 gazebo 上很直观的显示,相关的函数接口肯定是有的,但是网上相关的内容的信息很少,尤其中文网站,想着还是要写一篇分享一下。
2025-03-21 00:23:48
1744
1
原创 ROS2 跨机话题通信问题(同一个校园网账号)
我在实验的过程中发现,连接校园网的时候VM虚拟机如果设置为桥接模式会没有网络,设置NAT模式才可以上网。我根据资料(Nat模拟虚拟机无法ping通桥接模式虚拟机文章意思我的理解(有不对希望指出)Nat模式的虚拟机处于主机管辖下的一个子网XNAT模式是我的笔记本连接校园网后给虚拟机开热点,虚拟机进行的连接,虚拟机的IP是我笔记本分配的桥接模式的虚拟机和主机处于同一个子网Y桥接模式是我的笔记本和虚拟机都要连接校园网,IP是校园网给的,但是给虚拟机连接校园网需要安装无线网卡,我没安装,所以没网。
2025-01-06 23:36:21
1659
2
原创 ros2 py文件间函数调用
在 ros2 新建依赖 python 的工程包(package)的命令如下,生成的文件结构如下图。在setup.py文件里面已经默认指定了运行的函数是 keyboard_control.py 的 main 函数,这篇文章解决的是需要调用另一个python文件的函数,遇到的报错问题限于我个人,可以参考…
2025-01-03 22:04:40
920
原创 navigation2 仿真(mppi controller)
我仿真实验用的车子底盘是阿克曼四轮驱动(前轮转向),试验过程中发现使用DWB 控制器无法进行转弯(按下图),而且很容易提前停止,然后想尝试TEB 控制器,发现 navigation2 已经不支持(teb_controller 不适用 ros2 的问题),说是已经整合到MPPI 控制器了,所以有了这篇文章的尝试。项目Value系统ros2版本humble建图方案底盘驱动Navigation2 导航插件。
2024-12-25 18:10:19
2849
5
原创 四轮阿克曼(前轮转向、后轮驱动)车子仿真控制
这里增加一个四轮阿克曼(前轮转向、后轮驱动)车子仿真控制的版本,使用的事gazebo的插件gazebo plugins文档
2024-12-04 23:24:01
2275
6
原创 四轮转向轮式里程计设计(python)
键盘控制车子四轮转向这篇文章通过订阅车轮的速度和转向计算得到整车的速度和转向,同时发布轮式里程计信息,需要和四轮转向键盘控制改进版 ros2(python)进行配套使用大部分的车子的底盘控制器其实不需要自己写轮式里程计,因为ros2有很多官方的底盘控制器,比如两轮差速等常见底盘控制器,这些官方底盘控制器会自带轮式里程计。本文用的不是官方的四轮转向底盘,所以需要再写一个轮式里程计。(耗时1-2个星期)
2024-11-30 23:05:03
1338
1
原创 四轮转向键盘控制改进版 ros2(python)
键盘控制车子四轮转向,原代码把键盘控制和车轮速度发布绑定到一起了,不适合后续的分布式独立开发,所以打算将键盘控制进行独立出来。
2024-11-30 22:23:00
1383
1
原创 键盘控制车子四轮转向
之前的一篇的文章(底盘四轮转向运动学解析(含代码))设置了四轮转向控制器,通过线速度和角速度计算四个轮子的转速和方向。那下一步需要考虑使用键盘去控制车子运动,参考代码(
2024-10-26 23:32:28
1410
原创 ros2问题:xacro文件读取、地图显示、vscode快捷键
报错 process has died (按我个人经验,这个报错大多是进程冲突造成)可以看出原因大致是解析不成功,xacro的语法无法识别和转换,需要引入特定的器。就是注意要用 xacro 包来解析和处理 .xacro 文件。【文件】>>【首选项】>>【键盘快捷键方式。全选快捷键为例,发现与vim扩展冲突。直接禁用,不用的话直接卸载也行。kill + PID 失败。
2024-10-11 17:28:50
936
原创 复现 BEVfusion bug集合(4090d)
主要的问题还是mmcv库的问题,这个版本维护太差了,新版本跟旧版本之间经常会有大改动,要跑通前几年的代码都要搞半天。BEVFusion Github链接。
2024-09-27 15:25:48
1959
1
原创 底盘四轮转向运动学解析(含代码)
网上找了很多资料,对于四轮转向运动学描述的很少,有部分涉及到的又将的很晦涩难懂。在论文研究大多是四轮转向动力学研究。很多文章中都会把四轮运动简化成二轮运行(自行车),但是都只讨论了前驱或者后驱的情况,把前驱或后驱中轴点的速度的速度当做整车的速度,跟我到的代码不对应。本文是基于代码进行解析,一些前提条件本文忽略(什么刚体,侧滑之类的),把车子的中心作为运动中心,已知车速和角速度计算四轮的线速度和转向,希望大家可以看懂,主要难点是在反相运动的部分,需要着重注意。
2024-09-23 15:46:05
8846
2
原创 gazebo 仿真阶段性问题汇总二
以下问题是我在实验中遇到的,可能不是对谁都适用,具体问题具体分析,学会自己发现和解决问题。本文仅作参考,有问题欢迎加我微信一起探讨。
2024-09-19 17:07:16
1414
navigation2 支持humble直接编译
2025-08-25
524MB中文维基百科语料pleisto-json.zip
2024-04-11
resnet系列的训练心得(炼丹调参)
2023-06-20
centernet-keypoints.zip
2022-11-25
OSMesa.Linux.x86-64.zip
2022-10-26
JQ8400+stm32.zip
2020-03-20
FPN的代码理解(可视化)
2022-03-13
torch-1.7.0-cp36-cp36m-linux_aarch64.zip
2021-03-25
model.ckpt_and_images.zip
2020-07-30
一个简单的HTML+PHP+MySQL的交互页面(输入框内容查询,HTML页面显示).zip
2020-03-07
torchvision v0.8.1.zip
2021-03-25
YOLOV5-20210319T030212Z-001.zip
2021-03-25
设计一个简单的购物页面(html+css+php).zip
2020-03-15
resnet18_pytorch.py
2021-03-22
通过js获取PHP设置的cookie(html代码和php代码).zip
2020-03-09
JQ8400语音模块使用说明书V1.2.docx
2020-03-20
confusion_matrix_and_coco_evaluation.zip
2021-10-01
tutorials等1个文件.zip
2020-07-27
xml.zip(人脸检测)
2020-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅