技术栈
ros2
kyle~
9 小时前
linux
·
c++
·
数码相机
·
机器人
·
ros2
·
传感器
机器人感知 --- 多相机传感时间误差分析
在机器人开发系统中,本文讨论的多相机场景限定为:第一类:真实拍摄时刻误差 它决定“多台相机是不是在同一时刻看到了场景”。这类误差主要来自:
勤自省
11 小时前
人工智能
·
opencv
·
ubuntu
·
计算机视觉
·
ros2
ROS2 + OpenCV 实战教程:人脸识别、物体跟踪、ArUco 二维码识别初级
本教程专为 ROS2 学习者设计,补充了市面上大量 ROS1 资料缺失的 ROS2 + OpenCV 实践内容。基于 ROS2 Humble 和 OpenCV 4.5.4,提供可直接运行的代码和避坑指南。
kyle~
11 小时前
linux
·
c++
·
机器人
·
ros2
机器人感知---工业相机硬触发、时间戳同步( PTP)与 ROS2 驱动时间戳设计
在机器人视觉、多相机采集、双目测量、焊缝检测、工业质检这类系统中,硬触发、PTP 时间同步、ROS2 消息时间戳,几乎是绕不开的三个关键词。 它们都和“时间”有关,但很多项目在落地时,恰恰是因为没有把这三件事彻底分开理解,才导致后续出现各种看似玄学、实则必然的问题。
liu-yonggang
11 小时前
性能优化
·
ros2
ROS2 性能优化指南
基于 ROS2 Jazzy 版本原理: 同一进程内的发布者和订阅者之间通过共享内存传递消息,避免序列化和反序列化开销。
波特率115200
1 天前
ros
·
ros2
·
dds
在ROS2当中两种rmw比较(CycloneDDS和FastDDS)
DDS(Data Distribution Service,数据分发服务)为实时分布式系统设计的数据通信标准。 是一个去中心化的、以数据为中心的发布/订阅中间件协议。
kyle~
2 天前
机器人
·
信息与通信
·
ros2
·
dds
CDR--- 数据序列化格式(DDS的底层数据支持)
CDR (Common Data Representation) 是由OMG (Object Management Group) 制定的二进制数据序列化标准,定义了如何将IDL (Interface Definition Language) 描述的数据结构转换为平台无关的字节流,以及如何从字节流恢复原始数据结构。
kyle~
2 天前
c++
·
机器人
·
ros2
RTPS(Real-Time Publish-Subscribe)---DDS的传输协议
RTPS(Real-Time Publish-Subscribe Protocol)是 DDS 标准体系的基石,也是 ROS2 能够实现高性能、高可靠、即插即用通信的核心技术。
MIXLLRED
2 天前
ros2
·
校准
·
d435
·
深度图校准
Ubuntu 22.04 + ROS2 Humble 环境下对 RealSense D435 进行深度校准
RealSense D435 深度相机在使用过程中发现深度图存在很多黑色区域或随机黑点,影响正常使用。此外,更换主板后,因为原有校准配置信息丢失也会导致以上情况。
勤自省
3 天前
分布式
·
ubuntu
·
ros2
·
gazebo
·
launch
·
rqt
·
rviz2
ROS2分布式通信与Launch文件实战:从踩坑到打通(第12-20讲总结)
一路踩坑,一路填坑。当虚拟机Ubuntu里的RViz终于看到RDK X5传来的摄像头画面,当两个海龟在重映射下翩翩起舞——那种成就感,值得记录下来。
济617
4 天前
ubuntu
·
ros2
·
ros2 humble
·
机器人开发
ROS开发专栏---ROS2humble安装详细教程---适配Ubuntu 22.04
🎬 渡水无言:个人主页渡水无言❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》
kobesdu
6 天前
java
·
前端
·
笔记
·
机器人
·
ros
·
ros2
【ROS2实战笔记-19】ROS2 生命周期节点的启动顺序、状态转换陷阱与热备方案
ROS2 的 LifecycleNode 提供了精细化的节点状态管理——未配置、非激活、激活、停用、清理、关闭等状态构成了明确的状态转换图。然而,实践中多数开发者要么从未使用生命周期节点,要么只在最表层使用“激活后开始干活”的简单模式。真正复杂的系统需要面对三个问题:节点间的启动顺序依赖、状态转换回调中的执行器陷阱,以及如何利用生命周期状态实现热备。本文将逐一拆解这些容易被忽视的细节。
波特率115200
6 天前
机器人
·
ros
·
ros2
ROS2当中的几个关键的环境变量
domain:领域 作用:设置 DDS 域号,相当于“通信房间号”。 只有同一域号的节点才会互相发现。 你设成 5,所以命令行工具(ros2 topic list)也必须在域 5 才能看到话题。
辰尘_星启
6 天前
开发语言
·
python
·
机器人
·
系统
·
控制
·
ros2
【ROS2】 Python 节点的开发流程
ROS 2 的 Python 节点不会像 C++ 一样编译成二进制程序。Python package 执行:
辰尘_星启
6 天前
机器人
·
系统
·
控制
·
ros2
【ROS2】含自定义消息的ROS2节点开发流程
ROS 2 自定义消息(.msg)开发核心原则:接口编译必须先于节点编译。工程规范要求严格分离消息包与功能包。以下为标准开发与迭代流程。
kobesdu
8 天前
笔记
·
机器人
·
ros
·
ros2
【ROS2实战笔记-20】ROS2 bag 录播与时间模拟:从基础操作到高级调试技巧
ros2 bag 是 ROS2 中最常用的数据记录工具,但多数使用者仅停留在“录制后直接播放”的层面。当需要复现实车故障、向仿真环境注入真实数据或进行长时间跨度分析时,bag 的高级能力——时间控制、多文件合并、动态重映射以及与 TF 系统的协同——才是真正的调试利器。本文将系统介绍这些技术细节。
辰尘_星启
9 天前
机器人
·
ros2
【ROS2】DDS 底层通信协议与数据流转全链路解析
ROS2 的通信体系构建于 DDS (Data Distribution Service) 标准之上。其整体架构自上而下呈现严格的层级划分,每一层仅与相邻层交互。
kyle~
9 天前
开发语言
·
c++
·
机器人
·
ros2
ROS2---消息过滤
ROS2消息过滤是机器人开发中数据预处理与融合的核心技术,通过预定义规则选择性处理消息流,实现带宽优化、时序对齐、数据质量提升等目标。
kyle~
9 天前
c++
·
机器人
·
ros2
ROS2---路径机制辨析
作为ROS2开发工程师,在长期的项目开发与问题排查中发现,路径问题是大多数ROS2 C++开发者的“入门拦路虎”——代码中看似正确的相对路径频繁报错“文件未找到”,硬编码绝对路径虽能临时解决问题却留下部署隐患。其实,所有路径问题的本质,都源于对ROS2路径机制的理解不透彻。本文将从ROS2路径机制底层设计出发,辨析核心目录的作用与资源发现规则,拆解开发中常见路径问题的根源,并给出工程化规范的解决方案,帮助开发者从根本上规避路径坑。
kobesdu
11 天前
人工智能
·
笔记
·
移动机器人
·
ros2
【ROS2实战笔记-15】ros2bag 的深度应用:从数据回放到系统级离线分析
对于 ROS 2 开发者而言,ros2bag 的价值远不止于记录和回放话题数据。它更像是一个时间旅行工具,将机器人在真实环境中的每一次传感器感知、每一次控制决策、每一次节点间的通信,都完整地凝固下来。这种能力使得它成为离线调试、性能分析和回归测试的基础设施。当这些数据与系统级的追踪工具结合,其潜力会得到更充分的释放。
MIXLLRED
20 天前
ubuntu
·
slam
·
d435i
·
ros2
·
humble
·
vins
Ubuntu22.04 + ROS2 Humble + RealSense D435i 部署VINS-Fusion视觉惯性SLAM
在开始部署VINS-Fusion之前,请确保系统已经安装了以下软件并满足相关要求:此外,请确保可以通过USB 3.0接口正常访问D435i相机。