- 博客(37)
- 收藏
- 关注
原创 pcd点云可视化
工具,把 pcd 转成 PointCloud2 话题发布出来,rviz2 订阅话题看点云。2. 安装cloudcompare可视化。3. 使用pcl_tools。
2026-08-24 14:16:05
210
原创 宇树GO2机器狗也有不足之处
激光雷达类别宇树Go2的Unitree L2激光雷达(旋转式 4D 激光,虚拟线数)万集WLR-722(T) 16线激光雷达价格1799元2600元垂直视场角90°(负角度模式下96°)-10°~30°水平视场角360°360°距离0.05-30m (30m@90%反射率)(15m@10%反射率)0.2-60m (30m@10%反射率)有效点频(点/s)64000192000Imu内置imu内置imu建图Point-lio算法防护等级IP54IP67。
2026-08-24 10:44:57
250
原创 如何标定激光雷达与base_link的TF关系
常见的定义方式是将总体旋转分解为三个连续的简单旋转,每次旋转都绕着当前坐标系的某一固定轴进行。y是雷达的偏航角这个imu测不出来,只能自己观察lidar(打开rviz查看)的朝向与base_link的朝向的关系,我们的雷达相对于base_link是旋转了90度,故yaw=1.57.Yaw 第一个旋转(航向/偏航):绕固定坐标系的 Z 轴旋转角度 ψ;Pitch 第二个旋转(俯仰):绕新坐标系的 Y 轴旋转角度 θ;Roll 第三个旋转(滚转):绕再次更新后的 X 轴旋转角度 ϕ。
2026-08-17 18:30:27
216
原创 循环中的时间延迟
会,然后休眠补足剩余时长,保证整个while循环。例:本次里面算法耗时 20ms,sleep()就休眠 80ms,总周期 = 100ms,严格 10Hz.
2026-08-13 11:33:02
189
原创 通过action调用nav2的发点导航和取消导航任务
ROS2 的 Action 看起来是一个接口,但底层其实是由。1. 发送目标点并反馈导航状态。2. 取消所有的导航任务。
2026-08-13 11:31:24
202
原创 通过无线和有线连接rk3588开发板,并开启各个功能包。
安装CycloneDDS让本机 ROS2 使用 CycloneDDS,只通过有线网卡和 192.168.123.x 网段的 Go2 开发板通信,使用 0 号域,开放跨主机通讯,规避多网卡导致的 DDS 混乱、话题发现异常。01:两套。3. 配置无线ssh连接连接热点后,在文件中,点击其他位置,连接到服务器。在终端输入指令,进入开发板的终端。下面是开启各个功能包。1.雷达2. 3转2D3. 定位在localization_3d_ws目录下,运行localization.sh脚本。
2026-07-22 10:00:01
194
原创 ubuntu20.04系统安装clude code并接入deepseek全过程
Ubuntu 20.04 缺少 Tauri 2 的依赖(libwebkit2gtk-4.1-dev、glib >= 2.70 等),无法运行官方版。本版本将前端渲染从 Tauri 替换为 WebKit2GTK 4.0 原生窗口,保留全部业务逻辑 ,20.04 开箱即用。作用:Node.js 就是让 JavaScript 脱离浏览器,可以写后端、桌面软件、命令行工具的运行环境。3.安装cc-switch(官方所有版本ubuntu20.04都不能用,需要安装其他版本。4. 配置cc-switch。
2026-07-14 16:14:24
344
原创 Fields2Cover如何接入nav2导航框架,实现通过四点划定区域,自动生成全局路径,发布导航点给nav2进行跟随。
3. 该代码并没有一键启动的launch, 因为该代码相当于一个函数库,需要自己编写代码(具体代码已上传github,我新建了一个工作空间coverage_ws,可通过一下命令一键创建工作空间,并添加基础的依赖包。2. Ubuntu22.04 + ros2_Humble系统的编译和安装。1. 创建field在github上拉取fields2cover.若编译失败则用cmake编译。
2026-07-10 16:35:17
37
原创 实习日记(nav2路径规划调参记录)
纠正了遥控避障的bug, 由于teleop_twist_keyboard输出的速度话题与避障代码输出的更新后的速度控制话题相同。会导致代码进入死循环,从而导致避障失效。进入死循环的原因:发布到:/cmd_vel但是下一次循环又订阅到了:0.3机器人彻底停住。解决:通过一下命令,将teleop_twist_keyboard输出的速度话题变更为/tele_cmd_vel。问题2:当机器人离障碍物过近,停障后,无法通过遥控器倒退,走出停障区。
2026-07-10 14:11:31
234
原创 Git如何使用以及tag的版本升级处理
仓库提交,Git 不会上传功能包源码,仅保存一个外部仓库指针(子模块标记),网页端文件夹带哈希后缀,点击无法查看内部代码,其他人克隆仓库不会自动下载功能包源码,代码缺失;7. 将要上传的文件复制进仓库根目录后,添加 git 忽略文件,过滤编译垃圾。2. 配置 Git 用户名、邮箱(必须和 GitLab 注册信息一致)核心根源:嵌套 Git 仓库,找到你的功能包文件夹(tele_obs_avoid)本身是独立 Git 仓库(文件夹内自带隐藏。1. 先安装 Git(Ubuntu 自带)文件夹),直接复制进。
2026-07-10 13:51:32
267
原创 Ubuntu22.04系统下ROS2 Humble的通信
任务:通过HDMI线连接开发板和另一台笔记本,可实现在笔记本上订阅到开发板的所有话题,主要是用来rviz2的可视化(由于开发板上没有显示器)。
2026-06-30 20:56:37
247
原创 任务四(Navigation2源码编译及GitHub拉取)
由于我需要更改源码的局部规划功能,故需要下载源码进行编译,我所用的是Ubuntu22.04, ros2-humble, 故需要在左上角的分支中选择humble版本的代码,下载zip个格式(因为直接gitclone 拉取不下来)。下载nav2可以用apt直接安装二进制文件,这样就像是下载软件一样,不能改动源代码,只能使用。1. 自动下载工作空间下的src中,所有功能包中package.xml中的所有依赖。下载完毕,解压到nav2_ws/src工作空间下,进行依赖环境的安装和代码编译。解决:你的机器如果有。
2026-06-30 20:16:46
243
原创 任务三 (三维点云转为laser scan)
(由于机器狗的激光雷达位置是倾斜的)故通过静态TF变换,变到base_link坐标下,并通过投影法,计算平面点,然后在存到laserscan中,命名为VanjeePointCloud2LaserScan。PointCloud2→PCL点云转换→逐点遍历→ Z 高度过滤(切片)→atan2(y,x) → θ, hypot(x,y) → r(投影到水平面)→θ → beam index(角度离散化)→。更改之后的效果如下,laserscan的数据点就多了。的策略,将 3D 点云压缩为 2D 单线激光扫描。
2026-06-30 10:05:52
184
原创 Day2 6月24-25日工作(ros2的学习与使用)
ROS1ROS2构建工具工作空间xxx_ws安装依赖一样,只是包名前缀变了source 环境符号链接开发无(每次改代码要重新编译)(改代码免重新编译# ROS1# ROS2。
2026-06-26 15:51:42
216
原创 windows系统下VSCode快速搭建C/C++的开发环境
MinGW-w64在哪下载:(99+ 封私信) 最新!MinGW-w64的下载与安装(超详细!!!) - 知乎读完上述帖子后,可找到下面的github链接:或更高版本选择上图文件包。解释:1.1. 32位的操作系统,选择i68664位的操作系统,选择x86_64;的缩写,它是Windows 10及更高版本中包含的一个新运行时库。它提供了与操作系统更紧密集成的API,并通常用于更现代的Windows应用程序。适合目标平台是Windows 10或更高版本。
2026-06-04 14:00:28
252
原创 个人技术栈以及面试准备内容
1)导航感知与停车精度优化,针对复杂场景工人的反光条干扰严重,导致车辆 “提前停车” 误判,影响调度逻辑,设计了反光柱检测算法,对比实现基于 RANSAC 圆柱拟合与多条件约束滤波两种点云处理方案,通过实验验证确立基于高度 / 间距 / 反射强度的均值计算法,有效消除工人反光条干扰,实现末端的精准停车。解决:采用**匀速运动模型(CV)**,状态向量为[x,y,vx,vy],以YOLO检测坐标为观测量,通过卡尔曼滤波预测+融合更新,输出平滑连续的目标点坐标,再送入PID控制器,使跟随更柔顺、安全、稳定。
2026-05-14 13:57:02
327
原创 SLAM中的回环检测与图优化
连接两帧之间的edge(边),边的长度取决于系统对里程计的信任度,信任度越强,长度越固定,否则长度可变化,每一帧的pose成为node(节点)。第一帧的点云都是正确的,左侧是实际环境图,右侧是将局部测量的点云地图和位姿关系形成pose graph(位姿图),根据点云配准(icp)得到精确的位姿关系,即可将该位姿图闭合,得到一个边的关系(在该例子中边的长度为0)。只有一个回环检测,得到的纠正还不够准确,接着机器人继续走,得到另一个闭环,就会继续纠正其他地方的点云位姿。所以回环检测是让图优化起作用的机制。
2026-05-13 22:50:16
120
原创 华测RTK配置过程
,输入甲方提供 的中央子午线135°00’00.0000’’W,如果甲方未提供可以点击中央子午线右侧 【获取中央子午线】,自动获取,然后点击下方【确定】, 最后点击【确定】保存工程。注:基站位置是直接通过卫星计算会有几米的误差,hunter上的RTK也是直接通过卫星测量存在误差,但是点测量确定的基站是真值,可通过差分的方法来降低误差。,接收机开机后,打开测地通8.1软件,点击【配 置】界面【连接】。新建工程,【项目】界面→点击【工程管理】→【新建】, 输入工程名、选择坐标系统(3. 工作模式设置(
2026-05-05 21:28:53
448
原创 Cartographer 编译失败的核心原因与对应解决方案
原因:Cartographer 核心库链接配置中未显式添加 glog 链接项,编译器无法找到 glog 库。Ceres 找不到:手动编译安装 Ceres 1.14.0 到。原因:Ceres 安装路径不在 CMake 默认查找目录,且。1.glog 库链接缺失 + 版本兼容问题。2.Ceres Solver 依赖找不到。glog 链接缺失:编译时通过。未配置导致版本检测失效;强制指定 glog 路径。
2026-03-31 22:17:17
30
原创 liosam建图的map坐标系分析,原来map的朝向是与imu上电时刻的朝向相同。
liorf_localization定位的robot_a/lidar坐标系与机器人base_link相同,即x轴为机器人的正前方。liosam 建图坐标系robot_a/map 的x轴与机器人的朝向不同。原来map的朝向是与imu上电时刻的朝向相同。
2026-03-12 16:47:14
39
原创 更改liosam建图代码文件,可在同一master上运行多个节点。
故 需要更改建图配置yaml文件中的frame_id。由于接收的雷达,imu等数据话题不带。这样可以在同一 rosmaster 下运行多个实例(如再起一个用。注意:命名空间只会给节点/话题/参数加前缀,不会自动改 TF 的。2.由于操作1添加命名空间,所有节点、参数、话题都会变成。1.修改launch文件,将所有的话题都加上命名空间。前缀,故需要加上“/”绝对话题,不受命名空间的控制。3. 语义建图的代码中设置,语义点云的坐标系。,所以组内所有节点、参数、话题都会变成。
2026-03-12 16:45:57
30
原创 Zotero安装后桌面上找不到打开的快捷方式
方法一:直接在终端运行该命令 /opt/zotero/zotero 即可打开。方法二:创建快捷方式。
2026-03-07 11:23:29
151
原创 ubuntu系统常用指令及ros学习笔记
OS协议栈为多ROS master提供了完整的解决方案。此外,带有守护进程的节点管理器提供了基于图形界面的管理环境,非常适合管理ROS启动配置和控制运行中的节点,这些都适用于单核系统。
2026-01-28 22:41:47
1002
原创 SLAM学习笔记
1. 笛卡尔坐标系:也称为建立先验地图(priori map),生成的点云地图文件格式为.pcdrosbag info 数据集名称 :查看数据集话题信息3.安装liosam过程遇到的问题解决过程:核心问题是LIO-SAM 原始代码基于 Ubuntu 16.04(ROS Kinetic + PCL 1.7/1.8)开发,若当前系统是 Ubuntu 20.04(ROS Noetic + PCL 1.10),必然存在兼容性问题,优先通过修改代码适配新版 PCL(避免降级系统库)。
2026-01-07 16:47:35
1053
原创 Docker学习
滚动查看容器的日志(follow):sudo docker logs 容器名/容器ID。进入控制台与容器交互): sudo docker run -it --rm nginx。给容器命名:sudo docker run -d --name 容器名 nginx。查看容器的日志:sudo docker logs 容器名/容器ID。查看所有的(包括停止的)容器:sudo docker ps。删除正在运行的容器:udo docker rm -f 容器名。重要概念:镜像是制作容器(环境)的工具,容器就是环境。
2025-10-24 13:12:01
1726
原创 解决两个工作空间的功能包名重名及资源引用冲突问题
同为liosam_ws与liosam_original_ws虽工作空间不同,但是其中的project名却相同导致,需要先运行liosam_ws才能运行liosam_original_ws。,在全新终端中仅加载系统 ROS 环境,重新编译并。)会优先选择先加载的路径,导致。的资源(如参数、节点、消息)。新环境,确保编译产物不依赖。,ROS 在查找包时(通过。中确保消息生成依赖正确(包含消息生成目标)。
2025-10-15 15:03:09
180
原创 耗费两周时间,终于解决了ISA Transactions投稿系统的报错问题。
耗费两周时间,用overleaf,使用期刊所给的latex模板进行投稿,因为一开始想只提交Tex文件,结果后面无法系统自动生成pdf,所以摸索了好几天,终于成功系统自动生成pdf,而且没有任何的格式错误。为了防止更多人在ISA Transactions投稿上浪费时间,特意写了该文章。
2025-10-03 18:21:49
454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1