IKFast Online Generator 是一个基于 Web 的在线平台,允许您通过浏览器上传 URDF 机器人描述文件,自动生成 IKFast 逆运动学求解器 C++ 代码。
该系统利用 GitHub Pages 作为前端托管,GitHub Actions 作为后端计算引擎,在 Docker 容器中执行 OpenRAVE/IKFast 工具链。
在线生成 IKFast 逆运动学求解器
IKFast Online Generator 是一个基于 Web 的在线平台,允许您通过浏览器上传 URDF 机器人描述文件,自动生成 IKFast 逆运动学求解器 C++ 代码。
该系统利用 GitHub Pages 作为前端托管,GitHub Actions 作为后端计算引擎,在 Docker 容器中执行 OpenRAVE/IKFast 工具链。
验证您的 GitHub 访问权限
需要 repo 和 workflow 权限
选择您的机器人描述文件
机器人链接结构
上传 URDF 文件后,链接信息将显示在此处
设置 IKFast 求解器参数
监控生成进度
实时查看生成过程
获取生成的求解器代码
访问 GitHub Settings → Developer settings → Personal access tokens → Generate new token (classic),选择 repo 和 workflow 权限。Token 生成后请妥善保管,关闭页面后将无法再次查看。
支持标准的 URDF XML 格式文件,文件大小不超过 10MB。URDF 文件应包含完整的机器人描述,包括链接(links)和关节(joints)定义。建议在上传前使用 check_urdf 工具验证文件格式。
通常需要 5-15 分钟,具体取决于机器人的复杂度和当前队列情况。系统设置了 30 分钟的超时限制。如果生成时间过长,可能是机器人结构过于复杂或 IKFast 无法找到解析解。
Base Link 通常是机器人的固定基座(无父节点,在链接表格中高亮显示为蓝色),End Effector Link 是运动链的末端(通常无子节点,在表格中高亮显示为橙色)。您可以点击链接表格中的行来自动填充索引。确保选择的两个链接之间形成一条连续的运动链。
Transform6D(默认):适用于标准 6 自由度机械臂,求解完整的位置和姿态。
Translation3D:仅求解位置,忽略姿态,适用于移动平台或简单的定位任务。
其他类型:适用于特殊应用场景,如视觉跟踪(LookAt3D)或平面运动(TranslationXY5D)。大多数情况下使用 Transform6D 即可。
请检查执行日志中的错误信息。常见问题包括:
• URDF 格式错误或缺少必要的标签
• 选择的链接索引超出范围
• 运动链不是串联结构(IKFast 不支持并联机构)
• 机器人自由度不匹配选择的 IKType
如果问题持续,请检查 URDF 文件是否符合 ROS 标准。
您可以从以下来源获取示例 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 Actions 作为后端计算引擎,需要 Token 来:
• 上传您的 URDF 文件到仓库
• 触发 GitHub Actions 工作流
• 下载生成的结果文件
Token 仅存储在您的浏览器会话中,不会被发送到任何第三方服务器。关闭浏览器后 Token 会自动清除。