LinkForge v1.3.0
The Linter & Bridge for Robotics
CI
Documentation
GPL v3
Blender 4.2+
Conventional Commits
LinkForge 是 机器人的 Linter 与桥梁,直接集成到 Blender 中。
它允许您像雕刻 3D 场景一样自然地建模机器人,同时作为一个严格的安全网,确保输出的是严谨、可立即用于仿真的代码。
- Forge Structure (构建结构):可视化定义 links、joints、质量和惯性。
- Lint & Validate (检查与验证):在导出仿真之前捕获结构和物理错误。
- Perceive & Control (感知与控制):附加传感器并配置
ros2_control接口。 - Export Production Code (导出生产级代码):生成可靠的 URDF/XACRO 文件。
💎 为什么选择 LinkForge?
| 功能特性 | 传统导出工具 | LinkForge |
|---|---|---|
| 架构 | 单体 / 绑定于单一 CAD 工具 | 六边形架构 / 多主机与多目标 |
| 验证 | 导出后失败(在仿真中失败) | 自动化 Linting(在编辑器中失败) |
| 物理 | “差不多就行” 的网格导出 | 科学的惯性与质量合理性检查 |
| 控制 | 手动编写 ros2_control XML |
集中式仪表盘与自动生成 |
| 保真度 | 单向导出 | 往返精度(导入 → 编辑 → 导出) |
🛠️ 技术规格
| 功能 | 支持 | 详情 |
|---|---|---|
| Links | ✅ 完整 | 视觉/碰撞几何体、材质、自动物理 |
| Joints | ✅ 完整 | 全部 6 种类型 (Fixed, Revolute 等) + Mimic Joints |
| Sensors | ✅ 完整 | Camera, LiDAR, IMU, GPS, Contact, Force/Torque |
| Control | ✅ 完整 | ros2_control 仪表盘与 Gazebo 插件集成 |
| Validation | ✅ Pro | 机器人 Linter 在导出前捕获结构错误 |
| Fidelity | ✅ Pro | 往返精度 无损导入/导出 |
| Formats | ✅ 完整 | URDF 1.0, XACRO (宏、属性、多文件) |
🚀 关键特性
双向工作流
导入现有 URDF/XACRO 文件进行编辑,或使用 Blender 原生工具从头构建复杂的机器人模型。
生产级导出
生成严格符合 ROS、ROS 2 和 Gazebo 要求的 URDF/XACRO 文件。包含 ROS-Agnostic 资源解析,无需 ROS 环境即可导入编辑。
机器人 Linter
内置完整性检查器,在导出前检查机器人拓扑结构、物理数据和关节限制,捕获会导致仿真崩溃的错误。
ROS2 控制支持
通过集中式仪表盘自动生成 ros2_control 硬件接口配置,兼容 Gazebo 和实体硬件。
完整传感器套件
集成支持 Camera、Depth Camera、LiDAR、IMU、GPS、Force/Torque 和 Contact 传感器,可配置噪声模型。
自动物理计算
对基本形状和复杂任意网格进行科学准确的质量属性和惯性张量计算。
高级 XACRO 支持
智能提取重复几何体为宏和共享材质,生成可维护的模块化代码。
往返保真度
导入 → 编辑 → 导出 循环以绝对精度保留所有数据,包括传感器原点、传输接口和自定义用户属性。
📦 安装
系统要求: Blender 4.2 或更高版本
方法 1: Blender Extensions (推荐)
- 打开 Blender → 编辑 > 偏好设置 > 获取扩展
- 搜索 “LinkForge”
- 点击 安装
方法 2: 手动安装
- 从 最新发布页 下载适用于您平台的
.zip包 - 打开 Blender → 编辑 > 偏好设置 > 获取扩展
- 点击下拉菜单 (⌄) → 从磁盘安装
- 选择下载的
.zip文件
🎯 快速入门
从头创建机器人
- 创建 Links: 选择网格 → Forge 面板 → 创建 Link,在物理部分配置质量、惯性和碰撞几何体。
- 用 Joints 连接: 选择子 link → Forge 面板 → 创建 Joint,选择关节类型,在 Joint 部分设置限制、轴和动力学。
- 添加传感器 (可选): 选择 link → Perceive 面板 → 添加传感器,在 Sensor 部分配置属性。
- 配置控制 (可选): 进入 Control 面板 → 启用 ROS2 Control,点击 + 将关节添加到关节接口列表,配置命令/状态接口。
- 验证与导出: 进入 Validate & Export 面板,点击验证机器人检查完整性错误,选择格式导出。
导入现有 URDF
- 打开 LinkForge 侧边栏标签 (3D 视口中的 N 面板)。
- 在 Forge 面板中,点击导入 URDF/XACRO。
- 选择文件并正常编辑机器人结构。
- 通过 Validate & Export 面板导出。
🤖 示例
examples/ 目录中的完整示例:
roundtrip_test_robot.urdf: 包含全部 6 种 URDF 关节类型的综合机器人,加上传感器,完美测试完整往返能力。mobile_robot.urdf: 简单的移动机器人底座。diff_drive_robot.urdf: 带有轮子的差速驱动机器人。quadruped_robot.urdf: 四足机器人,展示复杂运动链和多 link 装配。
📚 文档
💻 开发
设置
# 1. 安装 ‘just’ (命令运行器)
brew install just
# 2. 克隆仓库
git clone https://github.com/arounamounchili/linkforge.git
cd linkforge
# 3. 安装依赖
just install
测试
# 运行所有测试 (Core + Blender)
just test
# 仅运行核心测试
just test-core
# 运行带覆盖率测试
just coverage
代码质量
# 运行所有检查 (Lint + Types)
just check
# 修复 lint 问题
just fix
构建与分发
# 构建生产就绪的 .zip
just build
包将创建在 dist/ 目录中。
🎓 学习资源
🗺️ 路线图
- ✅ v1.0.0: 核心 URDF/XACRO 导出、传感器及
ros2_control基础 - ✅ v1.1.0: 增强文档、工作流优化与 Bug 修复
- ✅ v1.2.0: 架构稳定性 (六边形核心、数值精度)
- ✅ v1.3.0: 性能与控制 (NumPy 加速、Depsgraph 与 ROS2 控制)
- ⬜ v1.4.0: 模块化装配 (SRDF、Composer API、
linkforge_ros) - ⬜ v1.5.0: 高保真扩展 pt.1 (MJCF/MuJoCo 支持)
- ⬜ v1.6.0: 高保真扩展 pt.2 (SDF/Gazebo 支持)
- ⬜ v1.7.0: 机械调试 (实时 IK 与碰撞干扰验证)
- ⬜ v2.0.0: 智能驱动绑定 (AI 辅助几何分析与自动绑定)
🔭 愿景与未来
深入了解我们的长期战略、数字孪生理念以及 AI 和运动学的技术路线图,请阅读我们的 项目愿景。
🤝 贡献
我们欢迎贡献!LinkForge 是一个社区驱动的项目。
- 🙋 阅读我们的 贡献指南。
- 🏗️ 查看我们的 架构 了解内部原理。
- 💬 加入 GitHub Discussions 的讨论。
📄 许可证
本项目采用 GNU General Public License v3.0 许可证 – 详情请见 LICENSE 文件。
第三方组件许可证请参见 THIRD-PARTY-NOTICES.md。
✨ 我们的贡献者
感谢这些出色的人们 (emoji key):
本项目遵循 all-contributors 规范。欢迎各种形式的贡献!
Made with ❤️ for roboticists worldwide
Precision engineering meets creative modeling.
©版权声明:本站除原创作品外的资源均收集于网络,只做学习和交流使用,版权归原作者所有,若作商业用途,请购买正版。



评论0