- 博客(192)
- 收藏
- 关注
原创 ROS2 QT 多线程功能包设计
一个完整的 ROS2 QT 多线程功能包实现,包含可选 GUI 界面、发布者线程、接收者线程和参数服务器交互功能。
2025-08-10 18:56:21
186
原创 ROS2 多线程 与组件机制
ROS 2 中,和是提升节点灵活性和性能的重要技术。两者结合可以实现动态加载节点组件,并通过多线程并行处理回调,非常适合复杂机器人系统的模块化设计。
2025-08-09 16:40:06
657
原创 ros2 单线程与多线程
在 ROS 2(Robot Operating System 2)中,是一个常用的执行器类,用于处理节点的回调函数和事件。你提到的executor_看起来是一个类型的成员变量。这种执行器使用单个线程来处理所有注册到它的节点的回调函数,按照它们被触发的顺序依次执行。spin()适用于不需要并行处理回调的简单场景,它可以避免多线程带来的同步问题,但在处理大量计算密集型回调时可能会导致延迟。添加多线程如果你想在 ROS 2 中使用多线程处理回调,可以将替换为,它支持配置线程池大小来实现多线程处理回调。
2025-08-09 16:31:18
193
原创 参数服务器 server and client
RCLCPP_ERROR(get_logger(), "更新参数失败: %s", params[i].get_name().c_str());RCLCPP_INFO(get_logger(), "成功设置参数: %s", params[i].get_name().c_str());RCLCPP_INFO(get_logger(), "成功更新参数: %s", params[i].get_name().c_str());RCLCPP_INFO(get_logger(), "\n当前参数列表:");
2025-08-08 11:31:42
500
原创 ROS 参数服务器
在 ROS 2 中,参数服务器的实现与节点紧密结合,每个节点都可以维护自己的参数,同时也可以访问其他节点的参数。以下是一个完整的 ROS 2 节点实现,展示如何创建参数、设置参数、获取参数以及响应参数变化:ROS 2参数服务器节点实现V1创建时间:18:20。
2025-08-04 18:49:28
154
原创 ROS2中传输样条曲线
此方案平衡了通用性和效率:通过**自定义Spline消息**规范数据结构,利用**QoS策略**保障实时性,结合**序列化优化**处理大规模曲线。在ROS2中传输样条曲线需要解决两个核心问题:**如何结构化表示曲线数据**和**如何高效传输**。| **场景** | **可靠性** | **持久性** | **深度** | **截止时间(Deadline)** |- **分片传输**:超长曲线拆分为多条消息,通过`sequence_id`字段重组。
2025-08-01 16:41:44
448
原创 ROS 传输自定义消息
4.消息的传输是通过话题来实现的,发布器将消息发布到话题上去,订阅器通过订阅该话题来接收消息,在本文中消息是通过trajectory_control这个话题进行传输的。基于mavros_controllers-master这个包,实现终端输入来实时控制无人机的运动形状(定点,圆,8字型等),位置,圆的半径。本文的目的是ROS利用话题传输自定义消息类型,因此并未对轨迹发布的具体操作进行说明,刚刚入了无人机的坑,第一次写博客,如有错误请多指教。float32 x # 目标坐标/圆心。
2025-08-01 08:24:52
426
原创 qt 6.8.3 配置环境变量
保存后,在“开始菜单”里会出现 “Qt Creator (ROS)” 图标,点它即可。启动 Qt Creator,ROS 环境就已经在进程里,无需任何额外设置。无需在 CMakeLists.txt 里再写绝对路径。工程里的 CMakeLists.txt 无需再管路径。下面给出最省事的“一次配置,永久生效”做法。能找到 ROS 的包路径。(可选)给桌面图标也用上。就带 ROS 环境。写一个启动脚本(推荐)
2025-07-30 08:27:22
156
原创 相机ROI 参数
如需进一步操作,建议查阅相机厂商的技术手册(如Basler、FLIR、海康机器人等),或使用其配套软件(如MVS、NI MAX)实时调整ROI参数验证效果。:输出图像的分辨率等于ROI的宽高(如原传感器为2048×1536,ROI设为1024×768后,输出图像即为1024×768)。:减少处理的像素数量,降低数据带宽,使相机能以更高速度采集图像(例如:从30fps提升到100fps)。:部分相机允许非对称ROI(如仅截取右侧1/4区域),而有些需对称设置(如中心区域)。
2025-07-25 18:47:21
519
原创 fanuc 机器人末端z坐标如何跟测距传感器做闭环控制
通过以上方案,Fanuc 机器人可以根据测距传感器的实时数据动态调整末端 Z 坐标,实现高精度的闭环控制。最大单次调整量(mm)当前误差和上一次误差。
2025-07-24 11:06:40
416
原创 weldpro 仿真程序如何控制 fanuc M-20id
要控制 Fanuc M-20iD 机器人,通常需要通过 Fanuc 的 R-J3iC/R-30iB 控制器和相应的通信接口实现。WeldPro 通过生成符合 Fanuc 语法的 TP 程序,并借助通信协议将程序传输到机器人控制器,实现对 M-20iD 的控制。在 WeldPro 中添加 Fanuc M-20iD 机器人模型(通常需要导入机器人的 D-H 参数或官方模型文件)。选择 Fanuc 机器人的程序格式(如 TP 程序),并设置合适的后置处理器。
2025-07-24 11:05:31
311
原创 代码补全工具
在代码编辑器中开始编写代码,TabNine 会根据上下文提供代码建议,如下图1所示,第一张图提示我们方法有两个参数,第二张图是使用 Tab 键接受建议后,Tabnine 给我们的反馈!在代码编辑器中开始编写代码,IntelliCode 会根据上下文提供代码建议,如下图所示,当你在另一个地方调用已经定义好的 fun1( 时,IntelliCode 会自动建议 fun1 函数的参数 radius 的类型。假设你要定义一个计算斐波那契数列的函数,当你开始输入函数体时,Codeium 会根据上下文提供补全建议。
2025-07-20 17:48:38
209
原创 gym 安装
环境类型所需额外安装备注已包含Box2D需要 SWIGAtari需要 ROM 文件MuJoCo需要许可证 ($)Robotics需要 MuJoCoToy Text已包含FrozenLake 等简单环境建议根据实际需要的环境选择安装,避免不必要的依赖冲突。对于机器学习研究,通常需要至少安装 Box2D 和 Atari 组件。
2025-07-20 17:47:42
653
原创 安装pytorch
print(f"设备名称: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}")建议根据您的硬件配置和项目需求选择合适的安装方式,GPU版本能显著加速深度学习训练过程,但需要兼容的NVIDIA显卡支持。print(f"CUDA可用: {torch.cuda.is_available()}")print(f"CUDA版本: {torch.version.cuda}")选择您的配置后,网站会生成对应的安装命令。
2025-07-20 17:26:34
806
原创 将SAC强化学习算法部署到ROS2的完整指南
将Soft Actor-Critic (SAC)强化学习算法部署到ROS2环境中,可以实现智能机器人的自主决策和运动控制。下面详细介绍从算法集成到实际部署的全过程。
2025-07-20 13:30:40
603
原创 SAC强化学习进行机器人轨迹规划的完整指南
轨迹规划是机器人控制中的核心问题,SAC(Soft Actor-Critic)因其出色的探索能力和稳定性,特别适合解决复杂的连续控制类轨迹规划问题。下面我将详细介绍如何用SAC实现高效的轨迹规划。
2025-07-20 13:24:58
693
原创 TD3与SAC强化学习算法深度对比
text开始│├── 是否需要精确控制?→ 是 → 选择TD3│ ├── 动作空间维度>10?→ 是 → 首选TD3│ └── 否 → 根据其他因素决定│├── 环境是否动态变化?→ 是 → 选择SAC│├── 奖励信号是否稀疏?→ 是 → 首选SAC│└── 其他情况 → 两者均可,建议:├── 初步测试用SAC(更稳定)└── 精细调优用TD3(更高上限)维度TD3优势SAC优势训练速度简单环境中收敛更快复杂环境中收敛更稳最终性能在部分任务中峰值更高。
2025-07-20 13:18:14
713
原创 软演员-评论家(SAC)强化学习算法详解与实现
软演员-评论家(Soft Actor-Critic, SAC)是一种基于最大熵框架的深度强化学习算法,在连续动作空间任务中表现出色。下面我将全面介绍SAC的原理、实现细节以及在机器人控制中的应用。
2025-07-20 13:12:24
556
原创 TD3 (Twin Delayed Deep Deterministic Policy Gradient) 强化学习算法详解与实现
TD3 (Twin Delayed Deep Deterministic Policy Gradient) 是一种先进的深度强化学习算法,专门针对连续动作空间问题设计。它是DDPG算法的改进版本,通过多项技术创新解决了DDPG存在的高估偏差问题。
2025-07-20 13:05:04
678
原创 深度学习方法生成抓取位姿与6D姿态估计的完整实现
如何将GraspNet等深度学习模型与6D姿态估计集成到ROS2和MoveIt中,实现高精度的机器人抓取系统。
2025-07-20 12:55:48
1093
原创 MoveIt创建抓取位姿的完整指南
text# 抓取位姿# 抓取方向 (可选)string approach_direction # 如"top", "side", "front"# 抓取宽度 (单位:米)# 抓取质量评分 (0-1)
2025-07-20 12:20:59
806
原创 奥比中光双目摄像头实现物品抓取的机器人系统
text[奥比中光摄像头] → [点云数据处理] → [物品识别定位] → [运动规划] → [机械臂控制]
2025-07-20 12:07:12
651
原创 ros2 通过yaml 文件加载参数
1. **命名匹配规则**:YAML 中的顶级键(如 `my_node`)必须与节点名**完全匹配**在 ROS 2 中,可以通过 YAML 文件为节点加载参数。2. 参数优先级:命令行参数 > YAML 文件 > 代码中默认值。#### 方式2:通过启动文件加载(Python 启动示例)### 6. 安装参数文件(CMakeLists.txt)### 3. Python 节点加载参数示例。### 4. 运行节点时加载 YAML 文件。### 1. 创建 YAML 参数文件。### 多节点共享参数文件。
2025-07-20 10:12:28
332
原创 通过YAML文件加载参数的C++ ROS2节点
一个完整的ROS2节点示例,它从YAML文件中加载参数并使用这些参数。这个示例包括节点创建、参数声明和YAML文件解析。
2025-07-20 09:45:49
827
原创 双目摄像头品牌
• 开发/机器人:RealSense 与 ZED 生态成熟,奥比中光性价比高,OAK 带 AI 加速。• 乔安、普联 TP-LINK、霸天安、联想(线上销量大,但近期有安全漏洞投诉,需谨慎)• 东风“天元智驾”惯导双目摄像头(已用于东风纳米 06,支持 L2+ 自动驾驶)• 家用:优先考虑小米、萤石、海康威视,固件更新和售后更可靠。(按“家用安防级→工业/机器人级→汽车级”由低到高排列)• 小米(米家 CW500、C700 等双摄版)• 萤石 EZVIZ(H6、C6c 星光增强版)工业/机器人/开发者级。
2025-07-19 18:38:50
204
原创 双目摄像头定位原理
双目摄像头定位的核心是“视差三角测量”——用两台平行固定的小孔相机,从不同视角看同一目标,根据目标在左右图像上的像素位移(视差 d)反推三维坐标。用棋盘格同时拍摄多张图片,计算左右相机的内参(焦距 fx、fy,主点 cx、cy)和外参(基线 Tx、姿态 R|t),并估计径向/切向畸变系数。常用算法:SGBM(半全局匹配)或 BM(Block Matching),输出视差图 d。Z 由上式得出,最终得到目标在世界坐标系下的 (X, Y, Z)其中 fx 为像素焦距,Tx 为左右相机中心距离(基线)
2025-07-19 18:13:13
212
原创 ROS2 通过相机确定物品坐标位置
要实现通过相机确定物品坐标位置,通常需要相机标定、物体检测和坐标转换几个步骤。下面我将提供一个完整的解决方案,包括相机标定、物体检测和3D坐标估计。
2025-07-19 18:09:04
1010
原创 gitee 分支切换
git branch # 看看前面有没有 * feature/login。git add . # 或 git add <具体文件>git checkout feature/login # 如果已经切过可跳过。git push -u origin laserwelding:想要的远程分支名。git commit -m "feat: 用户登录功能初步实现"# 2. 基于远程 master 创建本地分支并立即切换。
2025-07-19 16:11:43
184
原创 ubuntu 如何连接gitlab
替换为你的 GitLab 用户名和仓库名。登录你的 GitLab 账号,进入。栏粘贴你复制的内容,然后点击。安装完成后,打开浏览器访问。按照提示操作,完成后会在。,使用默认管理员账号。
2025-07-18 08:27:14
310
原创 万兆光纤接口
SFP+插槽通常向下兼容1G SFP模块,但10G SFP+模块无法在1G SFP插槽中使用。:SFP+模块的插槽外形是统一的,但内部可插不同波长或距离的光纤模块(如SR/LR/ER等)。:通常是SFP+插槽,可插10G SR(多模光纤)或LR(单模光纤)模块。(如10G SFP+ DAC),无需光模块,成本低但距离短(1-7米)。(主流,支持10Gbps,兼容1Gbps SFP但速率固定)(千兆接口转换器)无法支持万兆,但万兆时代已过渡至SFP+。(早期万兆模块,体积较大,已逐渐被SFP+取代)
2025-07-18 07:25:38
168
原创 ROS2 安装
官方提供两种ros2_control安装方式,分别为指令安装方式和源码编译安装方式,由于指令安装方式可能会导致功能包安装不全,故推荐使用源码编译安装方式。2.创建ros2_control工作空间,下载资源。1.首先source ROS2的资源。4.编译ros2_control。1.打开shell窗口。4.最后安装dev工具。
2025-07-18 07:22:44
847
原创 机械臂强化学习算法
• 先在 Isaac Gym 并行仿真训练,再使用“sim-to-real”域随机化(摩擦、质量随机扰动 10%)迁移到真实 Panda 机械臂,成功率维持 90% 以上。• HER(Hindsight Experience Replay)→ 与 DDPG/TD3/SAC 组合,解决“reach/pick-place”稀疏奖励问题。• DQN 系列:DQN、Double-DQN、Dueling-DQN → 适合离散关节档位控制。• 基础:关节角 + 末端位姿 + 目标位姿(7+7+3=17 维)。
2025-07-18 06:17:07
416
原创 深度学习算法与强化学习算法区别
深度学习(Deep Learning, DL)与强化学习(Reinforcement Learning, RL)经常被并列提及,但二者。
2025-07-18 06:11:11
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人