Creo转URDF完整指南:从机械设计到机器人建模实用教程

【免费下载链接】creo2urdf Generate URDF models from CREO mechanisms 【免费下载链接】creo2urdf 项目地址: https://gitcode.com/gh_mirrors/cr/creo2urdf

本文档提供了使用creo2urdf工具将Creo Parametric机械设计转换为URDF(Unified Robot Description Format)格式的完整指南,帮助机械工程师和机器人开发者快速实现从CAD设计到机器人仿真的无缝转换。

核心价值与应用场景

creo2urdf是一个专为PTC Creo Parametric用户设计的插件工具,能够自动将Creo中的机械装配体转换为标准的URDF格式,适用于:

  • 🤖 机器人仿真开发:将机械设计快速导入ROS、Gazebo等仿真环境
  • 🔧 自动化流程:批量处理复杂机械结构的URDF生成
  • 📊 参数化配置:通过YAML和CSV文件灵活控制转换参数
  • 🎯 多领域应用:工业机器人、服务机器人、自动化设备等

环境准备与安装指南

系统要求

  • Creo Parametric版本:9.0.8.0 或 11.0.3.0
  • 操作系统:Windows(推荐)或Linux
  • 依赖工具:CMake、vcpkg、Visual Studio(Windows)

从源码安装步骤

  1. 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/cr/creo2urdf
cd creo2urdf
  1. 安装vcpkg依赖管理
git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat
  1. 设置Creo环境变量
set CREO_INSTALL_PATH=C:\Program Files\PTC\Creo 9.0.8.0\Common Files
  1. 配置和编译项目
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=[path_to_vcpkg]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static-md
cmake --build . --config Release

快速安装(二进制版本)

从最新发布版本下载creo2urdf.zip,解压后按照以下步骤配置:

  1. 将生成的creo2urdf.dll放置到合适目录
  2. 配置protk.dat文件指向dll和文本目录

基础使用教程

第一步:准备Creo装配体

确保您的Creo机械装配体符合以下要求:

  • 所有关节处于零位位置
  • 支持的关节类型:旋转(REVOLUTE)、平移(PRISMATIC)、固定(FIXED)、球(BALL)
  • 球关节将被转换为三个正交旋转关节的链式结构

第二步:配置protk.dat文件

在Creo工作目录创建或修改protk.dat文件:

name creo2urdf
Startup dll
Allow_stop True
Delay_start False
exec_file C:\path\to\creo2urdf.dll
text_dir C:\path\to\creo2urdf\src\creo2urdf\text
END

第三步:运行转换流程

  1. 打开Creo Parametric并加载目标装配体
  2. 点击Creo2URDF工具栏按钮
  3. 选择对应的YAML配置文件(如:examples/2bars/2bars.yaml)
  4. 选择CSV关节参数文件(如:examples/2bars/2bars.csv)
  5. 指定输出目录保存URDF和网格文件

YAML配置文件详解

基本结构示例

# 2bars.yaml 示例配置
rename:
    BARLONGER_1--BARLONGER_2: bar_longer_1_bar_longer_2_revolute_joint
    BAR_2--BAR: bar_2_bar_prismatic_joint

includes: [2bars_pin_2.yaml, 2bars_prismatic.yaml]

warningsAreFatal: true
robotName: "my_robot"

root: "base_link"
originXYZ: [0.0, 0.0, 0.5]
originRPY: [0.0, 0.0, 0.0]

关键配置参数说明

参数类别 重要参数 类型 默认值 描述
命名参数 rename Map {} 映射SimMechanics名称到URDF名称
robotName String 模型名称 设置URDF中robot标签的name属性
根链接参数 root String 第一个物体 指定树的根链接
originXYZ List [0,0,0] 根链接的位置偏移(米)
originRPY List [0,0,0] 根链接的姿态偏移(弧度)
网格参数 meshFormat String stl_binary 网格输出格式(stl_binary/stl_ascii/step)
meshQuality Integer 3 网格质量(1-10,10为最高)
scale String None 网格缩放比例(如"0.01 0.01 0.01")

质量属性配置

assignedMasses:
  link1: 1.5
  link2: 3.2

assignedInertias:
  - linkName: link1
    xx: 0.0001
    yy: 0.0002
    zz: 0.0003

CSV关节参数文件格式

CSV文件用于配置关节限制和动力学参数,便于使用电子表格工具编辑:

示例格式

joint_name,lower_limit,upper_limit,velocity_limit,effort_limit
torso_yaw,-20.0,20.0,1.0,10.0
torso_roll,-15.0,15.0,1.0,8.0

参数说明表

参数名 必需 单位 描述
joint_name - 关节名称
lower_limit 关节下限(自动转换为弧度)
upper_limit 关节上限(自动转换为弧度)
velocity_limit 弧度/秒 速度限制
effort_limit 牛·米 力矩限制
damping 牛·米·秒/弧度 阻尼系数
friction 牛·米 摩擦系数

高级功能配置

传感器配置

forceTorqueSensors:
  - jointName: "wrist_joint"
    directionChildToParent: true
    sensorName: "wrist_ft_sensor"
    exportFrameInURDF: true

sensors:
  - linkName: "head_link"
    sensorType: "camera"
    updateRate: "30"
    frameName: "camera_frame"

碰撞几何体配置

assignedCollisionGeometry:
  - linkName: r_foot
    geometricShape:
      shape: cylinder
      radius: 0.16
      length: 0.06
      origin: "0.0 0.03 0.0 1.57079632679 0.0 0.0"

自定义帧导出

exportedFrames:
  - frameName: "tool_frame"
    exportedFrameName: "end_effector"
    additionalTransformation: [0.1, 0, 0, 0, 0, 0]

实用技巧与最佳实践

性能优化建议

  1. 网格优化:设置meshQuality: 5平衡质量和性能
  2. 二进制格式:使用meshFormat: stl_binary减小文件大小
  3. 批量处理:通过脚本自动化多个装配体的转换

调试技巧

  • 设置warningsAreFatal: false在开发阶段避免因警告中断
  • 使用exportMeshes: false快速测试不导出网格
  • 检查生成的URDF文件在RViz中预览

常见问题解决

问题现象 可能原因 解决方案
插件未加载 protk.dat配置错误 检查dll路径和文本目录路径
关节位置错误 装配体未在零位 将所有关节复位到零位
质量属性不正确 单位不一致 检查Creo中的单位设置
网格导出失败 权限问题 确保输出目录有写入权限

项目结构说明

creo2urdf/
├── examples/          # 示例文件
│   └── 2bars/        # 两杆机构示例
├── src/creo2urdf/    # 核心源码
│   ├── include/      # 头文件
│   ├── src/          # 实现文件
│   └── text/         # 界面文本
├── doc/              # 文档
└── scripts/          # 辅助脚本

扩展开发指南

自定义插件开发

creo2urdf基于PTC Creo Toolkit开发,支持以下扩展:

  • 自定义关节类型支持
  • 特定格式的网格导出
  • 额外的传感器类型集成

API接口说明

主要类Creo2Urdf提供完整的转换接口,可通过修改源码实现定制化需求。

总结

creo2urdf为机械工程师和机器人开发者提供了强大的Creo到URDF转换能力,通过灵活的配置文件和直观的操作界面,大大简化了从机械设计到机器人仿真的工作流程。掌握本文介绍的各项功能,您将能够高效地完成复杂机械结构的URDF转换工作。

💡 提示:建议在使用前详细阅读示例文件,特别是examples/2bars/目录下的配置文件,这些文件提供了最实用的配置参考。

【免费下载链接】creo2urdf Generate URDF models from CREO mechanisms 【免费下载链接】creo2urdf 项目地址: https://gitcode.com/gh_mirrors/cr/creo2urdf

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐