自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(231)
  • 收藏
  • 关注

原创 电机通过300mm力矩驱动4kg 的重物 需要多少Nm 力矩 公式是什么

力矩本质是 “力 × 力臂”,此处的 “力” 是克服重物重力的力(\(F = m \times g\)),“力臂” 是重力作用线到电机输出轴的垂直距离(需统一为米单位),两者相乘即得驱动所需的基础力矩。(覆盖摩擦、加速、加工误差等),最终选型力矩:\(M_{\text{选型}} = M_{\text{基础计算值}} \times (1.2 \sim 1.5)\)若 “300mm” 是其他含义(如电机安装距离、传动件尺寸),需以 “重物受力点到电机轴的垂直距离” 重新计算力臂 r。

2025-11-24 18:12:14 209

原创 ubuntu 封包

特性(AppImage)手动打包 (.deb)易用性非常高,一键生成较低,需要手动配置多个文件分发便捷性极高,单个文件,无需安装高,标准格式,可通过软件中心安装系统集成度低,不写入系统目录高,完美融入系统(菜单、图标、卸载)适用场景快速发布、跨发行版测试正式发布到 Ubuntu 软件仓库、提供给终端用户对于大多数 Qt 开发者来说,linuxdeployqt是首选,因为它能节省大量时间。

2025-11-19 10:13:30 827

原创 udp 传输图像

在 Ubuntu 上用 C++ 实现 UDP 传输图像,核心依赖(处理图像编解码)和 C++ 标准 Socket 库(实现 UDP 通信)。以下是完整的实现方案,包含单包传输(适合小图像)和分片传输(适合大图像)两种场景。

2025-11-18 10:09:24 304

原创 FPGA 部署ONNX

若存在不支持的算子,需用等效支持的算子替换(例如用GELU替换Swish,或通过模型重写工具修改)。2. 资源限制:FPGA 的逻辑单元(LUT)、块 RAM(BRAM)和 DSP 数量有限,过大的模型(如 ResNet-50 以上)可能需要拆分部署或选择更大容量的 FPGA(如 Alveo U50)。FPGA 部署 ONNX 模型的整体流程可分为 5 个关键步骤:模型准备(ONNX) → 模型优化(量化/剪枝) → FPGA工具链适配 → 模型转换(ONNX→FPGA可执行格式) → 部署与验证。

2025-11-11 09:41:04 432

原创 圆的角度是如何定义

标准数学定义起点:正右方 (3点钟方向)正角度:逆时针方向负角度:顺时针方向导航和工程中有时使用起点:正北方 (12点钟方向)正角度:顺时针方向在大多数数学和编程环境中,都采用标准数学定义:从正右方开始,逆时针为正方向。

2025-11-10 09:16:14 308

原创 协作机器人的关节是通过什么工艺加工的

这是谐波减速器高精度、低回差(背隙)的关键。C1[“精密铸造/锻造<br>(毛坯成型)”] --> C2[“CNC精密加工<br>(保证安装基准)”] --> C3[“表面处理与连接<br>(完成制造)”]D1[“齿轮/柔轮加工<br>(滚齿/插齿/珩齿)”] --> D2[“热处理<br>(渗碳/氮化)”] --> D3[“精密磨削<br>(达到镜面级精度)”]· 要求:这些部位的尺寸精度(通常在±0.01mm以内)、形位公差(如平面度、同心度、垂直度)和表面光洁度要求极高,直接关系到传动精度和寿命。

2025-11-08 20:12:11 425

原创 100G相机接口

100G 工业相机接口是 “极致性能 + 工业化适配” 的结合体,其核心竞争力并非单纯的高带宽,而是在满足高速传输的同时,兼顾了长距离部署、多设备兼容、低 CPU 占用等工业化需求。如果场景涉及亿级像素、超高速帧率,或需要长距离 + 多相机同步采集,且预算充足,100GigE 是当前最优选择;若侧重短距离低延迟或成本敏感,则可考虑 CXP 或 10GigE 接口。

2025-11-08 20:06:35 577

原创 贝叶斯是什么

贝叶斯” 的核心不是复杂公式,而是 **“用新证据更新信念” 的思维方式 **—— 它允许我们带着初始认知(先验),通过不断接收新信息(数据),逐步逼近真相(后验)。从 18 世纪的牧师思考,到如今成为 AI 的基础,贝叶斯方法的本质是帮我们在 “不确定的世界里,做更靠谱的决策”。

2025-11-07 15:56:17 747

原创 数据容器与属性容器 巧妙关联示例

Coordinate和ListNode是ListNode作为 “上层图形属性管理者”,通过指针持有Coordinate(“下层坐标数据载体”),两者配合实现 “图形属性 + 坐标数据” 的完整存储,专门适配激光标记等需要精准关联 “图形类型” 与 “位置信息” 的场景。

2025-10-30 18:17:59 523

原创 ros2 中实现相机标定

ROS2 中实现相机标定,主要依赖官方提供的 功能包,该包支持单目、双目相机的内参(焦距、主点、畸变系数)和外参(双目基线等)标定。以下是详细的实现步骤: 是 ROS2 官方标定工具,通过 APT 安装:bash安装完成后,可通过以下命令验证:bash3. 确认相机图像话题相机需通过 ROS2 驱动(如 、 等)发布图像话题,首先确认话题是否正常:bash 查看图像话题(通常为 或 ): bash 可视化图像(可选,需安装 ): bash 在弹出的界面中选择相机图

2025-10-30 11:12:17 720

原创 opencv 获取图像中物体的坐标值

OpenCV 获取图像中物体的坐标值,核心思路是先通过图像处理(如阈值分割、轮廓检测)定位物体,再计算其位置坐标(通常是边界框坐标或中心点坐标)。

2025-10-30 11:09:01 477

原创 mujoco test

测试 MuJoCo 是否安装成功。这里提供几种测试方法,从简单到复杂。

2025-10-22 03:14:33 395

原创 Anaconda 安装

在 Ubuntu 上安装 Conda 有几种方法,我来为你详细介绍最常用的两种:Miniconda 和 Anaconda。

2025-10-22 02:30:27 323

原创 将模型嵌入到c++代码

如TensorFlow C++ API、PyTorch C++ API(LibTorch)、OpenVINO、ONNX Runtime、TFLite等。:例如,PyTorch模型转换为TorchScript,TensorFlow模型转换为SavedModel或冻结的PB格式,或者转换为ONNX格式。:通过CMake或其他构建工具链接推理库。。

2025-10-21 22:07:30 256

原创 CasADi mpc

CasADi是一个功能强大的非线性优化框架,非常适合与ROS2结合实现MPC。

2025-10-11 19:09:55 896

原创 ros2_mpc

如果你需要完全的控制权,或者现有的包不能满足你的需求(例如,你想实现一种特定的 MPC 变体),你可以自己开发一个控制器插件。这个过程非常复杂,需要扎实的控制理论和 C++ 编程基础。核心步骤概述:创建控制器包使用创建一个新的 C++ 包。在和中添加必要的依赖,如rclcppEigen3osqp-eigen(或其他 QP 求解器)。实现 MPC 算法状态空间模型:建立你的机器人的离散时间状态空间模型。这通常需要机器人的质量、转动惯量、关节阻尼等物理参数。成本函数:定义 MPC 的优化目标,例如。

2025-10-11 18:30:39 552

原创 Moveit2 rrt-connect

根据 MoveIt 2 的配置(通常在 .launch 文件或 ompl_planning.yaml 中指定),动态创建并配置 OMPL 中的具体规划器实例,例如 RRTConnect。位置: https://github.com/ros-planning/moveit2/tree/main/moveit_planners/ompl。solve(): 这是规划器的主循环。RRT-Connect 算法的具体实现位于 OMPL 的 src/ompl/geometric/planners/rrt 目录下。

2025-10-09 09:10:34 400

原创 rviz2 显示圆形轨迹

在 RViz2 中显示(推测 “原型轨迹” 为笔误),核心是通过发布符合 ROS 2 消息规范的或,让 RViz2 订阅并渲染。以下是两种最常用的实现方案,包含完整代码、配置步骤和关键说明。

2025-10-09 09:04:29 344

原创 ROS2 机械臂更换MPC 轨迹规划算法

通过以上四个步骤,你就成功地为你的 ROS 2 机械臂更换了 MPC 轨迹规划算法。这个流程的核心是利用moveit_mpc插件,将复杂的 MPC 算法无缝集成到 MoveIt 2 框架中。最重要的部分是的调参。MPC 的性能高度依赖于这些参数,你需要根据你的具体应用场景(如对精度、平滑度、速度的要求)进行反复试验和优化,才能发挥出 MPC 的最大威力。

2025-10-08 03:10:11 711

原创 机械臂电机力矩计算

设计 6 轴机械臂时,电机力矩计算是确保机械臂负载能力、运动精度和安全性的核心环节,需围绕和两大核心展开,结合机械臂结构参数(如关节长度、质量分布)、负载需求(如末端负载重量、惯性)和运动参数(如加速度、角速度)逐步推导。

2025-09-24 08:54:02 1021

原创 moveit2 拖动可到达的目标,通过规划算法规划会失败

重置状态: 将机器人移动到一个已知的、良好的初始状态,并在 RViz 中点击“Update”和将起始状态设为“Current”。这是第一步,也是最关键的一步。简化问题移除所有环境障碍物。禁用所有路径约束。暂时关闭碰撞检测(仅用于测试)。微调目标: 拖动到一个非常接近的、稍微不同的位姿,看是否成功。如果成功,说明原目标位姿可能刚好在奇异点或工作空间边界上。更换规划器: 换一个规划算法,并增加规划时间。检查关节值: 仔细观察目标位姿对应的关节值是否超限。深入诊断: 如果以上都失败,需要启用更详细的日志记录。

2025-09-21 17:30:47 1278

原创 ros2 moveit2 通过mpc 规划机械臂轨迹

在 ROS 2 MoveIt 2 中集成模型预测控制(MPC)进行机械臂轨迹规划是一个高级应用,需要结合运动规划与先进控制理论。下面我将提供一个实现思路和代码框架,帮助你将 MPC 集成到 MoveIt 2 中。MPC 在机械臂控制中的优势在于它能处理约束条件并优化未来一段时间的轨迹,特别适合动态环境或需要优化性能指标的场景。以下是一个基本的实现框架:ROS 2 MoveIt 2 与 MPC 轨迹规划集成V1创建时间:17:33。

2025-09-20 17:40:47 403

原创 ros2 moveit2 笛卡尔路径规划失败

用 RViz + 日志定位失败原因(碰撞 / IK 无解 / 参数问题);优先解决碰撞问题(删除障碍物、调整 SRDF);其次检查运动学(更换 TracIK/IKFast、验证目标点在工作空间);调整笛卡尔规划参数(max_step验证代码逻辑(规划组、状态更新、返回值判断);用官方示例排除环境依赖问题。

2025-09-20 13:26:37 1100

原创 sensor_msgs/image

基础元数据 header(消息头) 包含时间戳(timestamp,图像采集的精确时间)、帧 ID(frame_id,关联传感器坐标系)、序列号(seq,消息顺序),用于多传感器数据同步(如相机与激光雷达)。0, fy, cy;0, 0, 1],fx/fy 为焦距,cx/cy 为主点坐标。rgb8 / bgr8:8 位三通道,分别对应 R(红)/G(绿)/B(蓝)或 B/G/R 顺序,每个像素 3 字节(如 OpenCV 默认读取格式为 BGR8)。

2025-09-19 17:17:46 722

原创 CAM 代码解析

代码功能清晰,完成了 “圆弧参数解析→几何数据存储→Qt 表格展示” 的闭环,但需注意内存管理、单位一致性、代码可读性等细节优化。结构体的是否与预期参数(圆心、半径、角度)对应;等自定义函数是否正确处理了内存分配与数据存储;表格中显示的角度单位是否与实际数据(弧度 / 角度)一致。

2025-09-19 11:24:07 995

原创 ROS2 gdb debug

在 ROS 2 中使用 gdb 进行调试是排查程序问题的有效方法。多线程调试:ROS 2 节点通常是多线程的,可以使用info threads查看线程,thread <id>切换线程。通过 gdb 可以有效地定位 ROS 2 节点中的逻辑错误、内存问题和崩溃原因,是开发过程中不可或缺的调试工具。(gdb) break my_node.cpp:25 # 在空指针访问处设置断点。(gdb) backtrace # 崩溃后查看调用栈,定位问题。(gdb) step # 单步执行,会触发崩溃。

2025-09-19 09:04:59 487

原创 TF 坐标旋转的方向如何确定

TF 坐标旋转方向的核心是右手定则旋转分量(RPY 对应 X/Y/Z 轴);旋转表示(欧拉角用固定轴 RPY 顺序,四元数用旋转轴 + 角度);父子坐标系的相对关系。通过代码示例 + 可视化工具(rviz2),可快速验证旋转方向是否符合预期,避免因规则混淆导致的姿态错误。

2025-09-18 19:38:32 984

原创 ROS2实时性案例分析之倒立摆系统

平衡倒立摆是通常由实时计算解决的控制问题的经典示例之一。但是,如果控制器比控制摆锤的电动机运行的速度更快的速度可靠地更新,则摆锤将成功地对传感器数据做出反应平衡摆锤。演示中使用的主要节点是/pendulum_controller和/pendulum_driver。创建包pendulum_manager的目的是为了更轻松地控制节点的状态。只是为了好玩,可以尝试在仿真处于活动状态时停用控制器节点,以查看摆锤的下落。本篇主要针对倒立摆小车在ROS2系统中的实现为例,进行详细介绍。代码语言:javascript。

2025-09-15 08:38:38 343

原创 fanuc abb ros2

PickNikRobotics和OptimaxSystems联合发布了用于ABB机械手的ROS2驱动程序,支持ABBIRB1200-5/0.9机械手。该驱动程序提供两种模拟模式,可与RobotStudio进行通信。相较于ROS1版本,ROS2版本具有更高的安全性、更灵活的中间件配置和完整文档。Optimax将利用此驱动程序进行精密制造,而PickNikRobotics是开源机器人社区的领导者,拥有丰富的机器人经验。PickNik Robotics 和 Optimax Systems 发布了用于。

2025-09-09 15:18:46 707

原创 ROS2 Moveit fanuc abb

(注:实际开发中需根据具体机械臂型号调整运动学参数和硬件接口)

2025-09-09 15:16:07 322

原创 scp 网间拷贝

scp 是 secure copy 的缩写,是一个基于 SSH 协议的安全文件复制工具,可以在本地与远程主机之间或两台远程主机之间传输文件。

2025-09-08 15:17:56 371

原创 ppo 如何训练机械人关节

均值网络:输入状态s,输出每个关节的动作均值μ = [μ₁, μ₂, ..., μₙ](n为关节数),通常通过全连接网络(MLP)实现,输出层用tanh激活函数限制在[-1, 1],再缩放至关节实际范围(如μ_i × 最大角度);输出分布参数:通常用高斯分布建模连续动作,策略网络输出动作的均值(μ)和标准差(σ),从该分布中采样动作(训练时)或直接取均值(测试时,减少随机性)。惩罚项:避免不良行为,如关节超限位(-50)、动作幅度过大(能耗惩罚,如-0.1×|动作|)、碰撞环境(-100);

2025-08-26 17:35:53 741

原创 pytorch 安装

PyTorch 是一个广泛使用的深度学习框架,安装过程相对简单。

2025-08-26 15:46:32 1735

原创 ros2 如何传输样条曲线

self.get_logger().info(f"第一个控制点: ({first_point.x}, {first_point.y}, {first_point.z})")self.get_logger().info(f"发布样条曲线:{len(spline_msg.control_points)}个控制点")self.get_logger().info(f"控制点数量: {len(msg.control_points)}")self.get_logger().info(f"接收到样条曲线:")

2025-08-21 08:55:12 525

原创 std::vector<std::vector<float>> 概述

std::vector<std::vector<float>> 是 C++ 标准模板库(STL)中的一个数据结构,表示一个二维向量(二维数组),其中每个元素都是一个 std::vector<float> 类型的向量,即每个内部向量都包含了一系列的浮点数(float)。在 C++ 中,std::vector 是一个动态数组,它可以在运行时添加或删除元素。在 C++ 中,std::vector<std::vector<float>> 是一个二维向量(也可以理解为矩阵),你可以通过嵌套的循环来遍历它的所有元素。

2025-08-20 10:39:05 693

原创 ROS2 解析XML 文件

在 ROS2 中解析 XML 文件可以使用 C++ 标准库或第三方库(如 TinyXML2、PugiXML)。以下是使用。

2025-08-18 13:13:17 453

原创 Fanuc机器人EtherCAT通讯配置详解

EtherCAT,这一基于以太网的现场总线系统,以其开放架构和高速性能著称。CAT代表的是控制自动化技术(Control Automation Technology)的缩写,彰显了其在工业自动化领域的核心地位。作为确定性的工业以太网技术,EtherCAT由德国Beckhoff公司(倍福)率先研发,以其无需IP地址、高速传输(每个节点接收及传送资料时间仅需1微秒以下)以及大数据处理能力受到广泛赞誉。

2025-08-15 16:55:57 1235

原创 Fanuc 机器人rmi 功能

Fanuc 机器人的是一种强大的通信功能,允许外部设备(如 PLC、PC、HMI 或 ROS 系统)通过与机器人控制器进行和。读取/写入机器人寄存器(R, I/O, 位置寄存器, 系统变量等)。监控机器人状态(运行/停止、报警、程序行号)。启动/停止程序。选择并执行指定宏程序。触发特定动作(如工具开关)。基于 TCP/IP 协议,响应速度通常在毫秒级。

2025-08-15 13:41:19 932 1

原创 ros2 节点参数保存为yaml 文件

命令行导出:简单快捷,适合手动保存运行中节点的参数。代码中保存:灵活可控,适合自动保存或复杂场景(如条件触发)。根据需求选择合适的方法即可。

2025-08-12 17:12:52 644

原创 ROS2 QT 多线程功能包设计

一个完整的 ROS2 QT 多线程功能包实现,包含可选 GUI 界面、发布者线程、接收者线程和参数服务器交互功能。

2025-08-10 18:56:21 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除