- 博客(14)
- 收藏
- 关注
原创 编译的四步详解
链接的核心任务是解决代码之间的依赖关系,确保所有符号(函数、变量等)的引用都能正确关联到它们的定义。C++ 程序的编译过程分为四个主要阶段,每个阶段负责不同的任务,最终将源代码转换为可执行文件。理解链接过程有助于快速诊断编译错误(如缺失库文件)、优化代码结构(如减少重复符号),并合理选择静态/动态链接策略。的本质是将头文件的内容“逐字复制”到包含它的源文件中。它在预处理阶段处理,未被选中的代码会被直接删除,不会进入后续编译阶段。注意:代码段是存放编译后的机器指令,而不是字面意义的代码。
2025-03-16 12:37:39
1035
原创 基于MoveIt的机械臂运动规划小demo演示
上面的代码使用了两种路径规划,基础关节空间运动规划与笛卡尔空间直线路径规划,在代码中首先利用前者(关节规划),快速接近目标,进入观察点,接着利用笛卡尔规划精确调整末端位姿,实现抓取,这是一种混合规划策略,先粗调后微调,实际开发中大多是以这种策略为基础,进行优化和改进。以上只是一个简单的demo,在实际的工作或者实验中,需要基于多种通信模式,订阅相机话题,接收实时位姿信息,与执行器的交互可能需要使用action来异步执行任务并监控状态。
2025-03-02 13:40:52
245
原创 工业机器人抓取物体技术梳理(ros开发部分)
在ROS中实现机械臂抓取场景涉及多个核心技术模块,每个模块都需要开发者掌握特定的技能和工具。通过系统掌握上述技术栈,开发者能够构建鲁棒的机械臂抓取系统,解决实际场景中的动态避障、高精度抓取等挑战。
2025-03-02 09:50:27
1022
原创 ROS2之DDS调优代码实例
模块QoS 配置优化目标控制指令 (Topic)BestEffort最小化延迟,允许丢包导航目标 (Action Goal)Reliable确保目标可靠传递导航反馈 (Action Feedback)BestEffort避免反馈阻塞主任务通过此代码,读者可以实现一个完整的机器人导航系统,同时掌握 ROS 2 中多通信类型集成和 QoS 调优的核心方法。
2025-03-01 09:41:11
847
原创 ros2通信核心之DDS简介
DDS(Data Distribution Service,数据分发服务)是一种用于实时系统的通信中间件,它为分布式应用程序提供可靠、高效的数据传输。ROS 2 使用 DDS 作为其底层通信机制,因此理解 DDS 的基本概念对于 ROS 2 编程至关重要。
2025-03-01 09:15:14
828
原创 ros开发之action详解
Action 通信在 ROS 中广泛应用于需要长时间运行、实时反馈和任务管理的场景。经典的应用包括机器人导航、机械臂控制、物体抓取、路径规划等。通过 Action,ROS 提供了一种高效、灵活的通信机制,适用于复杂的机器人任务。我们结合机器人导航具体看以下action代码在机器人导航场景中,
2025-02-27 13:21:00
625
原创 ros三大通信方式总结
语义清晰性字段命名:避免歧义,直接表达意图(如而非goal而非distance单位统一:明确标注单位(如metersradiansseconds),避免混合单位导致计算错误。状态枚举:使用uint8+ 常量定义状态(如),而非纯数字。设计维度优秀实践反面案例字段命名data_array数据结构使用替代独立重复定义坐标系性能优化分片传输点云(chunked单消息传输10万个点兼容性新增并设置默认值删除旧字段文档提供字段取值范围(如无注释或仅写“速度值”
2025-02-27 08:19:41
1202
原创 位姿变换之静态变换和动态变换
在开发中使用listen订阅变换获取最新位姿信息前,需要相关节点发布变换,发布即为Broadcaster(也叫广播),是否需要持续广播,取决于变换关系的性质(静态或动态)以及应用场景的需求。,因为动态变换描述的是两个坐标系之间随时间变化的关系(例如机器人移动、机械臂运动等)。:如果两个坐标系之间的变换关系是固定的(例如传感器与机器人基座之间的安装位置),则称为静态变换。:如果两个坐标系之间的变换关系是动态变化的(例如机器人移动、机械臂运动),则称为动态变换。通过合理设计动态变换的广播机制,可以确保。
2025-02-26 11:24:29
693
原创 ros编程位姿变换,原理以及代码实例
每个节点代表一个坐标系,边代表两个坐标系之间的变换关系(包括平移和旋转)。通过这个例子,你可以掌握目标抓取的基本流程,并将其应用到实际的机器人项目中。库,开发者可以轻松处理复杂的坐标系变换问题,从而专注于机器人应用的开发。库是ROS中用于处理坐标系变换的核心工具,它的主要功能是维护一个。,并允许用户在不同的坐标系之间进行位姿变换。这些坐标系之间的变换关系构成了一个树状结构。以下是一个目标抓取的完整示例,展示如何使用ROS和。库实现机械臂的目标抓取任务。库的核心是一个树状结构,称为。块捕获并处理这些异常。
2025-02-26 11:09:50
805
原创 ros开发之opencv在ros开发中的应用(接上篇,ros接收视频信息)
在实际的机器人视觉开发中,图像处理逻辑通常会直接嵌入ROS节点的回调函数中,这样可以实现实时处理和模块化设计。以下是一个具体示例,展示如何在订阅图像后添加OpenCV处理逻辑,并将处理结果发布到新的ROS topic。
2025-02-16 13:23:55
282
原创 ros编程之获取相机视频,并通过节点发布(topic通信)
的 ROS topic 发布,同时订阅该 topic 并转换为 OpenCV 格式处理。以下是结合订阅和发布的完整代码示例,展示如何从摄像头捕获图像并通过。
2025-02-16 13:20:13
449
原创 ros编程之opencv基础知识
是一个开源的计算机视觉和机器学习库,包含超过2500种优化算法,广泛应用于图像处理、目标检测、3D重建、AR/VR等领域。核心功能(Core)基础数据结构(Mat图像矩阵、PointRect等)基本操作(图像裁剪、通道分离、数学运算)文件I/O(读写图像、视频、XML/YAML文件)图像处理(Imgproc)滤波(高斯、中值、双边滤波)几何变换(缩放、旋转、仿射变换)阈值处理(二值化、自适应阈值)边缘检测(Canny、Sobel)直方图均衡化、形态学操作(腐蚀、膨胀)
2025-02-16 11:42:44
917
1
原创 ros自定义消息体
在 ROS 中自定义消息的完整流程需要严格遵循以下步骤,否则会导致消息无法正确生成或编译失败。通过此流程,开发者可以定义任意复杂的 ROS 消息,实现灵活的数据通信。目录中创建自定义消息文件(例如。文件夹(如果不存在)
2025-02-14 18:10:27
239
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人