平台介绍

IKFast Online Generator 是一个基于 Web 的在线平台,允许您通过浏览器上传 URDF 机器人描述文件,自动生成 IKFast 逆运动学求解器 C++ 代码。

该系统利用 GitHub Pages 作为前端托管,GitHub Actions 作为后端计算引擎,在 Docker 容器中执行 OpenRAVE/IKFast 工具链。

使用步骤

  1. 上传您的 URDF 机器人描述文件
  2. 查看自动解析的机器人链接信息
  3. 配置 IKFast 参数(基座链接、末端执行器链接、求解器类型)
  4. 提交生成任务并监控执行状态
  5. 下载生成的求解器代码和日志文件

GitHub 认证

验证您的 GitHub 访问权限

需要 repoworkflow 权限

步骤 1: 上传 URDF 文件

选择您的机器人描述文件

支持 .urdf 格式文件,最大 10MB

步骤 3: 配置参数

设置 IKFast 求解器参数

选择机器人运动链的起始链接(通常是根链接)
选择机器人运动链的末端链接(通常是叶子链接)
根据您的机器人类型和应用场景选择合适的求解器类型

步骤 4: 任务状态

监控生成进度

未开始

执行日志

实时查看生成过程


                        

步骤 5: 下载结果

获取生成的求解器代码

常见问题

如何获取 GitHub Personal Access Token?

访问 GitHub Settings → Developer settings → Personal access tokens → Generate new token (classic),选择 repoworkflow 权限。Token 生成后请妥善保管,关闭页面后将无法再次查看。

支持哪些 URDF 文件格式?

支持标准的 URDF XML 格式文件,文件大小不超过 10MB。URDF 文件应包含完整的机器人描述,包括链接(links)和关节(joints)定义。建议在上传前使用 check_urdf 工具验证文件格式。

生成过程需要多长时间?

通常需要 5-15 分钟,具体取决于机器人的复杂度和当前队列情况。系统设置了 30 分钟的超时限制。如果生成时间过长,可能是机器人结构过于复杂或 IKFast 无法找到解析解。

如何选择正确的 Base Link 和 End Effector Link?

Base Link 通常是机器人的固定基座(无父节点,在链接表格中高亮显示为蓝色),End Effector Link 是运动链的末端(通常无子节点,在表格中高亮显示为橙色)。您可以点击链接表格中的行来自动填充索引。确保选择的两个链接之间形成一条连续的运动链。

什么是 IKType,如何选择?

Transform6D(默认):适用于标准 6 自由度机械臂,求解完整的位置和姿态。
Translation3D:仅求解位置,忽略姿态,适用于移动平台或简单的定位任务。
其他类型:适用于特殊应用场景,如视觉跟踪(LookAt3D)或平面运动(TranslationXY5D)。大多数情况下使用 Transform6D 即可。

生成失败了怎么办?

请检查执行日志中的错误信息。常见问题包括:
• URDF 格式错误或缺少必要的标签
• 选择的链接索引超出范围
• 运动链不是串联结构(IKFast 不支持并联机构)
• 机器人自由度不匹配选择的 IKType
如果问题持续,请检查 URDF 文件是否符合 ROS 标准。

示例 URDF 文件在哪里?

您可以从以下来源获取示例 URDF 文件:
MoveIt Resources - 包含多种机器人模型
ROS-Industrial - 工业机器人 URDF
URDF Tutorial - 学习示例
建议先使用简单的机器人模型(如 Panda 或 UR5)进行测试。

生成的代码如何使用?

下载的 ikfast_solver.cpp 文件需要集成到 MoveIt 配置包中。具体步骤:
1. 将文件复制到您的 MoveIt 配置包的相应目录
2. 更新 kinematics.yaml 配置文件
3. 重新编译您的工作空间
4. 在 MoveIt 中使用 IKFast 插件
详细集成步骤请参考 MoveIt 官方文档。

为什么需要 GitHub Token?

本平台使用 GitHub Actions 作为后端计算引擎,需要 Token 来:
• 上传您的 URDF 文件到仓库
• 触发 GitHub Actions 工作流
• 下载生成的结果文件
Token 仅存储在您的浏览器会话中,不会被发送到任何第三方服务器。关闭浏览器后 Token 会自动清除。